@foblex/flow 17.7.0 → 17.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (725) hide show
  1. package/domain/css-cls.d.ts +4 -0
  2. package/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.d.ts +2 -2
  3. package/domain/f-background/remove-background-from-store/remove-background-from-store.execution.d.ts +1 -1
  4. package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.d.ts +1 -1
  5. package/domain/f-connectors/add-output-to-store/add-output-to-store.execution.d.ts +1 -1
  6. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +1 -1
  7. 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 +1 -1
  8. package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +1 -1
  9. package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +1 -1
  10. package/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.d.ts +1 -1
  11. package/domain/f-draggable/is-drag-started/index.d.ts +1 -1
  12. package/domain/f-draggable/is-drag-started/{is-drag-started.execution.d.ts → is-drag-started.d.ts} +3 -3
  13. package/domain/f-draggable/on-pointer-move/on-pointer-move.execution.d.ts +1 -1
  14. package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.d.ts +1 -1
  15. package/domain/f-draggable/providers.d.ts +2 -2
  16. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +2 -2
  17. package/domain/f-flow/get-flow-state/i-f-flow-state-node.d.ts +2 -1
  18. package/domain/f-node/add-node-to-store/{add-node-to-store.execution.d.ts → add-node-to-store.d.ts} +3 -3
  19. package/domain/f-node/add-node-to-store/index.d.ts +1 -1
  20. package/domain/f-node/calculate-input-connections/{calculate-input-connections.execution.d.ts → calculate-input-connections.d.ts} +3 -3
  21. package/domain/f-node/calculate-input-connections/index.d.ts +1 -1
  22. package/domain/f-node/calculate-nodes-bounding-box/{calculate-nodes-bounding-box.execution.d.ts → calculate-nodes-bounding-box.d.ts} +3 -3
  23. package/domain/f-node/calculate-nodes-bounding-box/index.d.ts +1 -1
  24. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/{calculate-nodes-bounding-box-normalized-position.execution.d.ts → calculate-nodes-bounding-box-normalized-position.d.ts} +3 -3
  25. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.d.ts +1 -1
  26. package/domain/f-node/calculate-output-connections/{calculate-output-connections.execution.d.ts → calculate-output-connections.d.ts} +3 -3
  27. package/domain/f-node/calculate-output-connections/index.d.ts +1 -1
  28. package/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.d.ts +6 -0
  29. package/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups.d.ts +16 -0
  30. package/domain/f-node/fit-to-child-nodes-and-groups/index.d.ts +2 -0
  31. package/domain/f-node/get-child-node-ids/get-child-node-ids.d.ts +14 -0
  32. package/domain/f-node/get-child-node-ids/get-child-node-ids.request.d.ts +5 -0
  33. package/domain/f-node/get-child-node-ids/index.d.ts +2 -0
  34. package/domain/f-node/get-node-padding/{get-node-padding.execution.d.ts → get-node-padding.d.ts} +3 -3
  35. package/domain/f-node/get-node-padding/index.d.ts +1 -1
  36. package/domain/f-node/get-nodes/{get-nodes.execution.d.ts → get-nodes.d.ts} +3 -3
  37. package/domain/f-node/get-nodes/index.d.ts +1 -1
  38. package/domain/f-node/get-parent-nodes/{get-parent-nodes.execution.d.ts → get-parent-nodes.d.ts} +3 -3
  39. package/domain/f-node/get-parent-nodes/index.d.ts +1 -1
  40. package/domain/f-node/index.d.ts +2 -0
  41. package/domain/f-node/providers.d.ts +13 -11
  42. package/domain/f-node/remove-node-from-store/index.d.ts +1 -1
  43. package/domain/f-node/remove-node-from-store/{remove-node-from-store.execution.d.ts → remove-node-from-store.d.ts} +3 -3
  44. package/domain/f-node/update-node-when-state-or-size-changed/index.d.ts +1 -1
  45. package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.d.ts +2 -2
  46. package/domain/f-node/update-node-when-state-or-size-changed/{update-node-when-state-or-size-changed.execution.d.ts → update-node-when-state-or-size-changed.d.ts} +6 -4
  47. package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -1
  48. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +1 -1
  49. package/domain/f-selection/get-current-selection/get-current-selection.execution.d.ts +1 -1
  50. package/domain/f-selection/select/select.execution.d.ts +1 -1
  51. package/domain/f-selection/select-all/select-all.execution.d.ts +1 -1
  52. package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +1 -1
  53. package/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.d.ts +1 -1
  54. package/domain/i-map.d.ts +1 -3
  55. package/domain/providers.d.ts +1 -1
  56. package/esm2022/domain/css-cls.mjs +6 -2
  57. package/esm2022/domain/f-background/add-background-to-store/add-background-to-store-request.mjs +1 -1
  58. package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.mjs +8 -8
  59. package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.request.mjs +1 -1
  60. package/esm2022/domain/f-background/providers.mjs +2 -2
  61. package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store-request.mjs +1 -1
  62. package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store.execution.mjs +2 -2
  63. package/esm2022/domain/f-background/set-background-transform/set-background-transform-request.mjs +1 -1
  64. package/esm2022/domain/f-canvas/add-canvas-to-store/add-canvas-to-store-request.mjs +1 -1
  65. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node-request.mjs +1 -1
  66. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
  67. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow-request.mjs +1 -1
  68. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +2 -2
  69. package/esm2022/domain/f-canvas/get-canvas/get-canvas.execution.mjs +1 -1
  70. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position-request.mjs +1 -1
  71. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position.execution.mjs +1 -1
  72. package/esm2022/domain/f-canvas/input-canvas-scale/input-canvas-scale-request.mjs +1 -1
  73. package/esm2022/domain/f-canvas/providers.mjs +2 -2
  74. package/esm2022/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation-request.mjs +1 -1
  75. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center-request.mjs +1 -1
  76. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +2 -2
  77. package/esm2022/domain/f-canvas/update-scale/update-scale-request.mjs +1 -1
  78. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.mjs +1 -1
  79. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.mjs +1 -1
  80. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store-request.mjs +1 -1
  81. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.mjs +1 -1
  82. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +2 -2
  83. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +2 -2
  84. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +2 -2
  85. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.execution.mjs +1 -1
  86. package/esm2022/domain/f-connection/providers.mjs +2 -2
  87. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +1 -1
  88. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.mjs +1 -1
  89. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.mjs +1 -1
  90. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.mjs +1 -1
  91. package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store-request.mjs +1 -1
  92. package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store-request.mjs +1 -1
  93. package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.mjs +3 -3
  94. package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store-request.mjs +1 -1
  95. package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store.execution.mjs +3 -3
  96. package/esm2022/domain/f-connectors/find-closest-connector/find-closest-connector.request.mjs +1 -1
  97. package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.mjs +2 -2
  98. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +3 -3
  99. 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 +4 -4
  100. 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 +1 -1
  101. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.mjs +1 -1
  102. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +2 -2
  103. package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.request.mjs +1 -1
  104. package/esm2022/domain/f-connectors/providers.mjs +4 -4
  105. package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store-request.mjs +1 -1
  106. package/esm2022/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store-request.mjs +1 -1
  107. package/esm2022/domain/f-connectors/remove-output-from-store/remove-output-from-store-request.mjs +1 -1
  108. package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.request.mjs +1 -1
  109. package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store-request.mjs +1 -1
  110. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +4 -4
  111. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +3 -3
  112. package/esm2022/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.mjs +3 -3
  113. package/esm2022/domain/f-draggable/is-drag-started/index.mjs +2 -2
  114. package/esm2022/domain/f-draggable/is-drag-started/is-drag-started-request.mjs +1 -1
  115. package/esm2022/domain/f-draggable/is-drag-started/is-drag-started.mjs +25 -0
  116. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move-request.mjs +1 -1
  117. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +5 -5
  118. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +3 -3
  119. package/esm2022/domain/f-draggable/providers.mjs +4 -4
  120. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +6 -6
  121. package/esm2022/domain/f-flow/add-flow-to-store/add-flow-to-store-request.mjs +1 -1
  122. package/esm2022/domain/f-flow/get-flow/get-flow.execution.mjs +1 -1
  123. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +2 -2
  124. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +1 -1
  125. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +8 -7
  126. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +2 -2
  127. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-node.mjs +1 -1
  128. package/esm2022/domain/f-flow/get-flow-state/providers.mjs +2 -2
  129. package/esm2022/domain/f-flow/providers.mjs +2 -2
  130. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.mjs +1 -1
  131. package/esm2022/domain/f-line-alignment/providers.mjs +2 -2
  132. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store-request.mjs +1 -1
  133. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.mjs +25 -0
  134. package/esm2022/domain/f-node/add-node-to-store/index.mjs +2 -2
  135. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections-request.mjs +1 -1
  136. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +34 -0
  137. package/esm2022/domain/f-node/calculate-input-connections/index.mjs +2 -2
  138. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.mjs +33 -0
  139. package/esm2022/domain/f-node/calculate-nodes-bounding-box/index.mjs +2 -2
  140. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.mjs +36 -0
  141. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.mjs +2 -2
  142. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections-request.mjs +1 -1
  143. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +34 -0
  144. package/esm2022/domain/f-node/calculate-output-connections/index.mjs +2 -2
  145. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.mjs +8 -0
  146. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups.mjs +64 -0
  147. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/index.mjs +3 -0
  148. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.mjs +45 -0
  149. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.request.mjs +8 -0
  150. package/esm2022/domain/f-node/get-child-node-ids/index.mjs +3 -0
  151. package/esm2022/domain/f-node/get-node-padding/get-node-padding.mjs +35 -0
  152. package/esm2022/domain/f-node/get-node-padding/get-node-padding.request.mjs +1 -1
  153. package/esm2022/domain/f-node/get-node-padding/index.mjs +2 -2
  154. package/esm2022/domain/f-node/get-nodes/get-nodes.mjs +25 -0
  155. package/esm2022/domain/f-node/get-nodes/index.mjs +2 -2
  156. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +37 -0
  157. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +1 -1
  158. package/esm2022/domain/f-node/get-parent-nodes/index.mjs +2 -2
  159. package/esm2022/domain/f-node/index.mjs +3 -1
  160. package/esm2022/domain/f-node/providers.mjs +25 -21
  161. package/esm2022/domain/f-node/remove-node-from-store/index.mjs +2 -2
  162. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store-request.mjs +1 -1
  163. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.mjs +25 -0
  164. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/index.mjs +2 -2
  165. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.mjs +4 -4
  166. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +104 -0
  167. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +5 -5
  168. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +7 -7
  169. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +6 -6
  170. package/esm2022/domain/f-selection/providers.mjs +2 -2
  171. package/esm2022/domain/f-selection/select/select.execution.mjs +7 -7
  172. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +7 -7
  173. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +5 -5
  174. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.mjs +1 -1
  175. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.mjs +1 -1
  176. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.mjs +2 -2
  177. package/esm2022/domain/f-zoom/providers.mjs +2 -2
  178. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.mjs +3 -3
  179. package/esm2022/domain/f-zoom/set-zoom/set-zoom-request.mjs +1 -1
  180. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +1 -1
  181. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +2 -2
  182. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.mjs +1 -1
  183. package/esm2022/domain/get-element-rounded-rect/get-element-rounded-rect.execution.mjs +1 -1
  184. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect.execution.mjs +1 -1
  185. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect-request.mjs +1 -1
  186. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -2
  187. package/esm2022/domain/get-normalized-point/get-normalized-point-request.mjs +1 -1
  188. package/esm2022/domain/get-normalized-point/get-normalized-point.execution.mjs +1 -1
  189. package/esm2022/domain/i-map.mjs +1 -1
  190. package/esm2022/domain/log-deprecated.mjs +1 -1
  191. package/esm2022/domain/log-execution-time.mjs +1 -1
  192. package/esm2022/domain/providers.mjs +2 -2
  193. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +2 -2
  194. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.mjs +2 -3
  195. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +1 -1
  196. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +1 -1
  197. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +1 -1
  198. package/esm2022/drag-toolkit/drag-and-drop-base.mjs +3 -3
  199. package/esm2022/drag-toolkit/event.extensions.mjs +1 -1
  200. package/esm2022/drag-toolkit/pointer-events/i-pointer-up-event.mjs +1 -1
  201. package/esm2022/drag-toolkit/pointer-events/i-touch-down-event.mjs +1 -1
  202. package/esm2022/drag-toolkit/pointer-events/i-touch-move-event.mjs +1 -1
  203. package/esm2022/f-backgroud/f-background.component.mjs +4 -4
  204. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +7 -7
  205. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +7 -7
  206. package/esm2022/f-backgroud/index.mjs +1 -1
  207. package/esm2022/f-backgroud/providers.mjs +2 -2
  208. package/esm2022/f-canvas/f-canvas-base.mjs +1 -1
  209. package/esm2022/f-canvas/f-canvas.component.mjs +3 -3
  210. package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +1 -1
  211. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +1 -1
  212. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +2 -2
  213. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +2 -2
  214. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +3 -3
  215. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +1 -1
  216. package/esm2022/f-connection/common/f-connection-base.mjs +24 -5
  217. package/esm2022/f-connection/common/f-connection-identifiers.mjs +2 -2
  218. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -4
  219. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -2
  220. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.mjs +4 -4
  221. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.mjs +4 -4
  222. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +2 -2
  223. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +1 -1
  224. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +2 -2
  225. package/esm2022/f-connection/common/i-has-connection-color.mjs +1 -1
  226. package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
  227. package/esm2022/f-connection/f-connection/f-connection.component.mjs +16 -31
  228. package/esm2022/f-connection/f-connection-builder/f-connection-builders.mjs +1 -1
  229. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +1 -1
  230. package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +3 -3
  231. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +8 -23
  232. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
  233. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +8 -23
  234. package/esm2022/f-connection/index.mjs +1 -1
  235. package/esm2022/f-connection/providers.mjs +3 -3
  236. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +4 -4
  237. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +2 -2
  238. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  239. package/esm2022/f-connectors/providers.mjs +2 -2
  240. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +13 -13
  241. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs +4 -4
  242. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +1 -1
  243. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +8 -8
  244. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +1 -1
  245. package/esm2022/f-draggable/f-canvas/f-canvas.drag-handler.mjs +7 -7
  246. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.mjs +4 -4
  247. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.request.mjs +1 -1
  248. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +11 -11
  249. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.mjs +1 -1
  250. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +8 -8
  251. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.mjs +1 -1
  252. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.mjs +9 -9
  253. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.request.mjs +1 -1
  254. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +5 -5
  255. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.mjs +1 -1
  256. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.mjs +4 -4
  257. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.request.mjs +1 -1
  258. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +4 -4
  259. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.mjs +1 -1
  260. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +6 -6
  261. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.mjs +1 -1
  262. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.request.mjs +1 -1
  263. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +3 -3
  264. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.mjs +1 -1
  265. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +2 -2
  266. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +2 -2
  267. package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-handler.mjs +1 -1
  268. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.execution.mjs +1 -1
  269. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.request.mjs +1 -1
  270. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +13 -13
  271. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.request.mjs +1 -1
  272. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +3 -3
  273. package/esm2022/f-draggable/f-drag-blocker.directive.mjs +2 -2
  274. package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +1 -1
  275. package/esm2022/f-draggable/f-draggable-base.mjs +2 -9
  276. package/esm2022/f-draggable/f-draggable-data-context.mjs +2 -1
  277. package/esm2022/f-draggable/f-draggable.directive.mjs +73 -61
  278. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.mjs +8 -0
  279. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize.mjs +69 -0
  280. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/index.mjs +3 -3
  281. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.mjs +8 -0
  282. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +101 -0
  283. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/index.mjs +3 -3
  284. package/esm2022/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.mjs +22 -22
  285. package/esm2022/f-draggable/f-drop-to-group/index.mjs +2 -1
  286. package/esm2022/f-draggable/f-drop-to-group/providers.mjs +7 -5
  287. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/index.mjs +3 -0
  288. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer-request.mjs +8 -0
  289. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer.mjs +54 -0
  290. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +11 -11
  291. package/esm2022/f-draggable/f-node-move/constraint/drag-constraint-pipeline.mjs +29 -0
  292. package/esm2022/f-draggable/f-node-move/constraint/expand-rect-from-baseline.mjs +20 -0
  293. package/esm2022/f-draggable/f-node-move/constraint/index.mjs +5 -0
  294. package/esm2022/f-draggable/f-node-move/constraint/rect-constraint.mjs +37 -0
  295. package/esm2022/f-draggable/f-node-move/constraint/snap-to-grid.mjs +36 -0
  296. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-request.mjs +8 -0
  297. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-response.mjs +9 -0
  298. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy.mjs +47 -0
  299. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/index.mjs +4 -0
  300. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits-request.mjs +8 -0
  301. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits.mjs +72 -0
  302. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-drag-limits.mjs +2 -0
  303. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-soft-limit.mjs +2 -0
  304. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/index.mjs +5 -0
  305. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection-request.mjs +8 -0
  306. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.mjs +88 -0
  307. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler-request.mjs +12 -0
  308. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.mjs +59 -0
  309. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/index.mjs +3 -0
  310. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler-request.mjs +12 -0
  311. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.mjs +59 -0
  312. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/index.mjs +3 -0
  313. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler-request.mjs +10 -0
  314. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler.mjs +33 -0
  315. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/index.mjs +3 -0
  316. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-request.mjs +10 -0
  317. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-response.mjs +13 -0
  318. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings.mjs +39 -0
  319. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/index.mjs +4 -0
  320. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
  321. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits.mjs +2 -0
  322. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/index.mjs +12 -0
  323. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/providers.mjs +17 -0
  324. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.mjs +8 -0
  325. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines.mjs +52 -0
  326. package/esm2022/f-draggable/f-node-move/create-snap-lines/index.mjs +3 -0
  327. package/esm2022/f-draggable/f-node-move/create-snap-lines/snap-lines.drag-handler.mjs +51 -0
  328. package/esm2022/f-draggable/f-node-move/f-move-nodes.event.mjs +8 -2
  329. package/esm2022/f-draggable/f-node-move/index.mjs +8 -7
  330. package/esm2022/f-draggable/f-node-move/move-drag-handler.mjs +95 -0
  331. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +39 -50
  332. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.request.mjs +1 -1
  333. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +26 -26
  334. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +1 -1
  335. package/esm2022/f-draggable/f-node-move/move-summary-drag-handler.mjs +44 -0
  336. package/esm2022/f-draggable/f-node-move/providers.mjs +4 -4
  337. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints-request.mjs +10 -0
  338. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints.mjs +57 -0
  339. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/index.mjs +3 -0
  340. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints-request.mjs +10 -0
  341. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.mjs +147 -0
  342. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/index.mjs +3 -0
  343. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.mjs +14 -0
  344. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.mjs +55 -0
  345. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/index.mjs +3 -0
  346. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.mjs +10 -0
  347. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect.mjs +39 -0
  348. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/index.mjs +3 -0
  349. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits-request.mjs +10 -0
  350. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits.mjs +69 -0
  351. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/index.mjs +3 -0
  352. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-constraint.mjs +2 -0
  353. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limit.mjs +2 -0
  354. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limits.mjs +2 -0
  355. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-overflow.mjs +2 -0
  356. package/esm2022/f-draggable/f-node-resize/constraint/index.mjs +5 -0
  357. package/esm2022/f-draggable/f-node-resize/index.mjs +8 -8
  358. package/esm2022/f-draggable/f-node-resize/node-resize.drag-handler.mjs +64 -0
  359. package/esm2022/f-draggable/f-node-resize/providers.mjs +15 -17
  360. package/esm2022/f-draggable/f-node-resize/resize-finalize/index.mjs +3 -3
  361. package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize-request.mjs +8 -0
  362. package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.mjs +29 -0
  363. package/esm2022/f-draggable/f-node-resize/resize-preparation/index.mjs +3 -3
  364. package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation-request.mjs +10 -0
  365. package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.mjs +71 -0
  366. package/esm2022/f-draggable/f-node-rotate/calculate-difference-after-rotation.mjs +1 -1
  367. package/esm2022/f-draggable/f-node-rotate/f-node-rotate.drag-handler.mjs +12 -12
  368. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.mjs +5 -4
  369. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.request.mjs +1 -1
  370. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +16 -16
  371. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.request.mjs +1 -1
  372. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +18 -18
  373. package/esm2022/f-draggable/f-single-select/f-single-select.request.mjs +1 -1
  374. package/esm2022/f-draggable/i-f-drag-and-drop-plugin.mjs +1 -1
  375. package/esm2022/f-draggable/index.mjs +1 -1
  376. package/esm2022/f-draggable/providers.mjs +2 -2
  377. package/esm2022/f-external-item/domain/constraint/external-rect-constraint.mjs +44 -0
  378. package/esm2022/f-external-item/domain/constraint/index.mjs +2 -0
  379. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.mjs +1 -1
  380. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.execution.mjs +2 -2
  381. package/esm2022/f-external-item/domain/f-create-node.event.mjs +1 -1
  382. package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +27 -22
  383. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +16 -17
  384. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.request.mjs +1 -1
  385. package/esm2022/f-external-item/domain/index.mjs +2 -1
  386. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +9 -9
  387. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.request.mjs +1 -1
  388. package/esm2022/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.execution.mjs +5 -5
  389. package/esm2022/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.request.mjs +1 -1
  390. package/esm2022/f-external-item/f-external-item-base.mjs +1 -1
  391. package/esm2022/f-external-item/f-external-item-placeholder.directive.mjs +5 -5
  392. package/esm2022/f-external-item/f-external-item-preview.directive.mjs +4 -4
  393. package/esm2022/f-external-item/f-external-item.directive.mjs +13 -20
  394. package/esm2022/f-external-item/f-external-item.service.mjs +3 -3
  395. package/esm2022/f-external-item/providers.mjs +2 -2
  396. package/esm2022/f-flow/f-flow.component.mjs +5 -5
  397. package/esm2022/f-flow/providers.mjs +2 -2
  398. package/esm2022/f-flow.module.mjs +3 -3
  399. package/esm2022/f-line-alignment/domain/i-snap-coordinate.mjs +2 -0
  400. package/esm2022/f-line-alignment/domain/i-snap-result.mjs +2 -0
  401. package/esm2022/f-line-alignment/domain/index.mjs +5 -5
  402. package/esm2022/f-line-alignment/domain/snap-line-element.mjs +28 -0
  403. package/esm2022/f-line-alignment/domain/snap-line-service.mjs +36 -0
  404. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +4 -4
  405. package/esm2022/f-line-alignment/providers.mjs +2 -2
  406. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +14 -18
  407. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.mjs +1 -1
  408. package/esm2022/f-minimap/domain/f-minimap-data.mjs +1 -1
  409. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +25 -25
  410. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +2 -2
  411. package/esm2022/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.mjs +9 -8
  412. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +9 -11
  413. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.mjs +1 -1
  414. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +26 -32
  415. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.mjs +1 -1
  416. package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.mjs +12 -10
  417. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +2 -2
  418. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +3 -3
  419. package/esm2022/f-minimap/f-minimap-view.directive.mjs +2 -2
  420. package/esm2022/f-minimap/f-minimap.component.mjs +1 -1
  421. package/esm2022/f-node/f-drag-handle.directive.mjs +3 -3
  422. package/esm2022/f-node/f-group.directive.mjs +60 -96
  423. package/esm2022/f-node/f-node-base.mjs +61 -7
  424. package/esm2022/f-node/f-node.directive.mjs +63 -104
  425. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +5 -5
  426. package/esm2022/f-selection-area/domain/providers.mjs +2 -2
  427. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +5 -5
  428. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.mjs +1 -1
  429. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +9 -9
  430. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +1 -1
  431. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +13 -13
  432. package/esm2022/f-selection-area/f-selection-area.component.mjs +2 -2
  433. package/esm2022/f-selection-area/providers.mjs +2 -2
  434. package/esm2022/f-storage/f-components-store.mjs +1 -1
  435. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.execution.mjs +4 -5
  436. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.execution.mjs +4 -5
  437. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.execution.mjs +4 -4
  438. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.execution.mjs +4 -4
  439. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.execution.mjs +4 -4
  440. package/esm2022/f-zoom/f-zoom.directive.mjs +4 -4
  441. package/esm2022/f-zoom/providers.mjs +2 -2
  442. package/esm2022/mixins/change-selection/change-selection.mjs +2 -2
  443. package/esm2022/mixins/change-selection/i-selectable.mjs +1 -1
  444. package/esm2022/reactivity/debounce-time.mjs +2 -2
  445. package/esm2022/reactivity/f-channel-hub.mjs +1 -1
  446. package/esm2022/reactivity/f-channel.mjs +1 -1
  447. package/esm2022/reactivity/f-resize-channel.mjs +1 -1
  448. package/esm2022/reactivity/index.mjs +1 -2
  449. package/esm2022/reactivity/notify-on-start.mjs +1 -1
  450. package/esm2022/utils/infinity-min-max.mjs +2 -2
  451. package/f-connection/common/f-connection-base.d.ts +17 -15
  452. package/f-connection/common/i-has-connection-color.d.ts +3 -3
  453. package/f-connection/f-connection/f-connection.component.d.ts +6 -20
  454. package/f-connection/f-connection-builder/f-connection-builders.d.ts +1 -3
  455. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -17
  456. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +2 -17
  457. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +3 -3
  458. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.d.ts +2 -2
  459. package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +1 -1
  460. package/f-draggable/f-canvas/f-canvas.drag-handler.d.ts +1 -1
  461. package/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.d.ts +1 -1
  462. package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.d.ts +2 -2
  463. package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.d.ts +2 -2
  464. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.d.ts +2 -2
  465. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +2 -2
  466. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.d.ts +1 -1
  467. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.d.ts +1 -1
  468. package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +1 -1
  469. package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.d.ts +2 -2
  470. package/f-draggable/f-draggable-base.d.ts +6 -9
  471. package/f-draggable/f-draggable-data-context.d.ts +1 -0
  472. package/f-draggable/f-draggable.directive.d.ts +28 -17
  473. package/f-draggable/{f-node-resize/resize-finalize/f-node-resize-finalize.request.d.ts → f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.d.ts} +1 -1
  474. package/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize.d.ts +16 -0
  475. package/f-draggable/f-drop-to-group/drop-to-group-finalize/index.d.ts +2 -2
  476. package/f-draggable/f-drop-to-group/{drop-to-group-finalize/f-node-drop-to-group-finalize.request.d.ts → drop-to-group-preparation/drop-to-group-preparation-request.d.ts} +1 -1
  477. package/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.d.ts +29 -0
  478. package/f-draggable/f-drop-to-group/drop-to-group-preparation/index.d.ts +2 -2
  479. package/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.d.ts +4 -8
  480. package/f-draggable/f-drop-to-group/index.d.ts +1 -0
  481. package/f-draggable/f-drop-to-group/providers.d.ts +4 -3
  482. package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/index.d.ts +2 -0
  483. package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer-request.d.ts +6 -0
  484. package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer.d.ts +10 -0
  485. package/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.d.ts +2 -2
  486. package/f-draggable/f-node-move/constraint/drag-constraint-pipeline.d.ts +17 -0
  487. package/f-draggable/f-node-move/constraint/expand-rect-from-baseline.d.ts +3 -0
  488. package/f-draggable/f-node-move/constraint/index.d.ts +4 -0
  489. package/f-draggable/f-node-move/constraint/rect-constraint.d.ts +19 -0
  490. package/f-draggable/f-node-move/constraint/snap-to-grid.d.ts +15 -0
  491. package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-request.d.ts +6 -0
  492. package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-response.d.ts +6 -0
  493. package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy.d.ts +13 -0
  494. package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/index.d.ts +3 -0
  495. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits-request.d.ts +6 -0
  496. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits.d.ts +19 -0
  497. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-drag-limits.d.ts +6 -0
  498. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-soft-limit.d.ts +8 -0
  499. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/index.d.ts +4 -0
  500. package/f-draggable/f-node-move/{create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.d.ts → create-drag-model-from-selection/create-drag-model-from-selection-request.d.ts} +1 -1
  501. package/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.d.ts +24 -0
  502. package/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler-request.d.ts +9 -0
  503. package/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.d.ts +16 -0
  504. package/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/index.d.ts +2 -0
  505. package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler-request.d.ts +9 -0
  506. package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.d.ts +18 -0
  507. package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/index.d.ts +2 -0
  508. package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler-request.d.ts +7 -0
  509. package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler.d.ts +13 -0
  510. package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/index.d.ts +2 -0
  511. package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-request.d.ts +7 -0
  512. package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-response.d.ts +9 -0
  513. package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings.d.ts +13 -0
  514. package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/index.d.ts +3 -0
  515. package/f-draggable/f-node-move/create-drag-model-from-selection/index.d.ts +11 -0
  516. package/f-draggable/f-node-move/create-drag-model-from-selection/providers.d.ts +8 -0
  517. package/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.d.ts +6 -0
  518. package/f-draggable/f-node-move/create-snap-lines/create-snap-lines.d.ts +19 -0
  519. package/f-draggable/f-node-move/create-snap-lines/index.d.ts +2 -0
  520. package/f-draggable/f-node-move/create-snap-lines/snap-lines.drag-handler.d.ts +16 -0
  521. package/f-draggable/f-node-move/f-move-nodes.event.d.ts +4 -0
  522. package/f-draggable/f-node-move/index.d.ts +7 -6
  523. package/f-draggable/f-node-move/move-drag-handler.d.ts +33 -0
  524. package/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.d.ts +10 -10
  525. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +4 -4
  526. package/f-draggable/f-node-move/move-summary-drag-handler.d.ts +22 -0
  527. package/f-draggable/f-node-move/providers.d.ts +2 -2
  528. package/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints-request.d.ts +7 -0
  529. package/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints.d.ts +13 -0
  530. package/f-draggable/f-node-resize/apply-child-resize-constraints/index.d.ts +2 -0
  531. package/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints-request.d.ts +8 -0
  532. package/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.d.ts +36 -0
  533. package/f-draggable/f-node-resize/apply-parent-resize-constraints/index.d.ts +2 -0
  534. package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.d.ts +10 -0
  535. package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.d.ts +11 -0
  536. package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/index.d.ts +2 -0
  537. package/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.d.ts +7 -0
  538. package/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect.d.ts +15 -0
  539. package/f-draggable/f-node-resize/calculate-direct-children-union-rect/index.d.ts +2 -0
  540. package/f-draggable/f-node-resize/{get-node-resize-restrictions/get-node-resize-restrictions.request.d.ts → calculate-resize-limits/calculate-resize-limits-request.d.ts} +3 -3
  541. package/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits.d.ts +17 -0
  542. package/f-draggable/f-node-resize/calculate-resize-limits/index.d.ts +2 -0
  543. package/f-draggable/f-node-resize/constraint/i-resize-constraint.d.ts +7 -0
  544. package/f-draggable/f-node-resize/constraint/i-resize-limit.d.ts +7 -0
  545. package/f-draggable/f-node-resize/constraint/i-resize-limits.d.ts +5 -0
  546. package/f-draggable/f-node-resize/constraint/i-resize-overflow.d.ts +6 -0
  547. package/f-draggable/f-node-resize/constraint/index.d.ts +4 -0
  548. package/f-draggable/f-node-resize/index.d.ts +7 -7
  549. package/f-draggable/f-node-resize/node-resize.drag-handler.d.ts +25 -0
  550. package/f-draggable/f-node-resize/providers.d.ts +8 -9
  551. package/f-draggable/f-node-resize/resize-finalize/index.d.ts +2 -2
  552. package/f-draggable/{f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.request.d.ts → f-node-resize/resize-finalize/node-resize-finalize-request.d.ts} +2 -2
  553. package/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.d.ts +10 -0
  554. package/f-draggable/f-node-resize/resize-preparation/index.d.ts +2 -2
  555. package/f-draggable/f-node-resize/resize-preparation/{f-node-resize-preparation.request.d.ts → node-resize-preparation-request.d.ts} +1 -1
  556. package/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.d.ts +22 -0
  557. package/f-draggable/f-node-rotate/f-node-rotate.drag-handler.d.ts +3 -3
  558. package/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.d.ts +1 -1
  559. package/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.d.ts +2 -2
  560. package/f-draggable/f-single-select/f-single-select.execution.d.ts +2 -2
  561. package/f-draggable/providers.d.ts +1 -1
  562. package/{f-draggable/f-node-move/point-bounds-limiter.d.ts → f-external-item/domain/constraint/external-rect-constraint.d.ts} +4 -4
  563. package/f-external-item/domain/constraint/index.d.ts +1 -0
  564. package/f-external-item/domain/f-external-item.drag-handler.d.ts +6 -5
  565. package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +3 -3
  566. package/f-external-item/domain/index.d.ts +1 -0
  567. package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +2 -2
  568. package/f-external-item/f-external-item-base.d.ts +3 -3
  569. package/f-external-item/f-external-item-placeholder.directive.d.ts +1 -1
  570. package/f-external-item/f-external-item-preview.directive.d.ts +1 -1
  571. package/f-external-item/f-external-item-token.d.ts +1 -1
  572. package/f-external-item/f-external-item.directive.d.ts +5 -6
  573. package/f-external-item/f-external-item.service.d.ts +1 -1
  574. package/f-line-alignment/domain/{i-nearest-coordinate-result.d.ts → i-snap-coordinate.d.ts} +1 -1
  575. package/f-line-alignment/domain/i-snap-result.d.ts +5 -0
  576. package/f-line-alignment/domain/index.d.ts +4 -4
  577. package/f-line-alignment/domain/{line-element.d.ts → snap-line-element.d.ts} +3 -4
  578. package/f-line-alignment/domain/{line-service.d.ts → snap-line-service.d.ts} +4 -5
  579. package/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.d.ts +5 -7
  580. package/f-minimap/domain/f-minimap.drag-handler.d.ts +10 -10
  581. package/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.d.ts +3 -3
  582. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -3
  583. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +7 -10
  584. package/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.d.ts +2 -2
  585. package/f-node/f-group.directive.d.ts +19 -28
  586. package/f-node/f-node-base.d.ts +26 -17
  587. package/f-node/f-node.directive.d.ts +19 -28
  588. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +2 -2
  589. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +2 -2
  590. package/f-selection-area/domain/selection-area.drag-handle.d.ts +3 -3
  591. package/f-storage/f-components-store.d.ts +1 -1
  592. package/f-storage/features/listen-components-data-changed/listen-data-changes.execution.d.ts +2 -2
  593. package/f-storage/features/listen-count-changes/listen-count-changes.execution.d.ts +2 -2
  594. package/f-storage/features/listen-transform-changes/listen-transform-changes.execution.d.ts +2 -2
  595. package/f-storage/features/notify-data-changed/notify-data-changed.execution.d.ts +2 -2
  596. package/f-storage/features/notify-transform-changed/notify-transform-changed.execution.d.ts +2 -2
  597. package/fesm2022/foblex-flow.mjs +2276 -1768
  598. package/fesm2022/foblex-flow.mjs.map +1 -1
  599. package/mixins/change-selection/i-selectable.d.ts +1 -1
  600. package/package.json +1 -1
  601. package/reactivity/f-resize-channel.d.ts +2 -2
  602. package/reactivity/index.d.ts +0 -1
  603. package/schematics/ng-add/index.js +1 -1
  604. package/schematics/ng-add/index.js.map +1 -1
  605. package/schematics/ng-update/index.js +1 -1
  606. package/schematics/ng-update/index.js.map +1 -1
  607. package/schematics/shared/foblex-dependencies.js +1 -1
  608. package/utils/infinity-min-max.d.ts +1 -1
  609. package/esm2022/domain/f-draggable/is-drag-started/is-drag-started.execution.mjs +0 -25
  610. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.execution.mjs +0 -25
  611. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.execution.mjs +0 -34
  612. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.mjs +0 -35
  613. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +0 -36
  614. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.execution.mjs +0 -34
  615. package/esm2022/domain/f-node/get-node-padding/get-node-padding.execution.mjs +0 -35
  616. package/esm2022/domain/f-node/get-nodes/get-nodes.execution.mjs +0 -25
  617. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.execution.mjs +0 -37
  618. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.execution.mjs +0 -25
  619. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +0 -95
  620. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.mjs +0 -57
  621. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.request.mjs +0 -8
  622. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.mjs +0 -83
  623. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.request.mjs +0 -8
  624. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +0 -110
  625. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs +0 -8
  626. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.mjs +0 -69
  627. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.mjs +0 -8
  628. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +0 -3
  629. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.mjs +0 -46
  630. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.mjs +0 -10
  631. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +0 -3
  632. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs +0 -3
  633. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +0 -60
  634. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs +0 -12
  635. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs +0 -3
  636. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +0 -60
  637. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs +0 -12
  638. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +0 -2
  639. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +0 -2
  640. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/index.mjs +0 -10
  641. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.mjs +0 -13
  642. package/esm2022/f-draggable/f-node-move/f-line-alignment.drag-handler.mjs +0 -63
  643. package/esm2022/f-draggable/f-node-move/f-node-move.drag-handler.mjs +0 -30
  644. package/esm2022/f-draggable/f-node-move/f-summary-node-move.drag-handler.mjs +0 -33
  645. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/index.mjs +0 -3
  646. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.execution.mjs +0 -57
  647. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.request.mjs +0 -10
  648. package/esm2022/f-draggable/f-node-move/point-bounds-limiter.mjs +0 -43
  649. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +0 -53
  650. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +0 -10
  651. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/index.mjs +0 -3
  652. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +0 -49
  653. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +0 -10
  654. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/index.mjs +0 -3
  655. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +0 -25
  656. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.request.mjs +0 -14
  657. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/index.mjs +0 -3
  658. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +0 -34
  659. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.request.mjs +0 -12
  660. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/index.mjs +0 -3
  661. package/esm2022/f-draggable/f-node-resize/f-node-resize.drag-handler.mjs +0 -73
  662. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +0 -39
  663. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +0 -10
  664. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +0 -2
  665. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/index.mjs +0 -4
  666. package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +0 -38
  667. package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +0 -10
  668. package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/index.mjs +0 -3
  669. package/esm2022/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.execution.mjs +0 -31
  670. package/esm2022/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.request.mjs +0 -8
  671. package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.mjs +0 -73
  672. package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.request.mjs +0 -10
  673. package/esm2022/f-line-alignment/domain/i-line-alignment-result.mjs +0 -2
  674. package/esm2022/f-line-alignment/domain/i-nearest-coordinate-result.mjs +0 -2
  675. package/esm2022/f-line-alignment/domain/line-element.mjs +0 -24
  676. package/esm2022/f-line-alignment/domain/line-service.mjs +0 -38
  677. package/esm2022/reactivity/mediator-effect.mjs +0 -14
  678. package/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.d.ts +0 -15
  679. package/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.d.ts +0 -22
  680. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +0 -29
  681. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.d.ts +0 -19
  682. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.d.ts +0 -6
  683. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +0 -2
  684. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.d.ts +0 -15
  685. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.d.ts +0 -7
  686. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +0 -2
  687. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.d.ts +0 -2
  688. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +0 -16
  689. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.d.ts +0 -9
  690. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.d.ts +0 -2
  691. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.d.ts +0 -18
  692. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.d.ts +0 -9
  693. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/index.d.ts +0 -9
  694. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.d.ts +0 -6
  695. package/f-draggable/f-node-move/f-line-alignment.drag-handler.d.ts +0 -21
  696. package/f-draggable/f-node-move/f-node-move.drag-handler.d.ts +0 -16
  697. package/f-draggable/f-node-move/f-summary-node-move.drag-handler.d.ts +0 -17
  698. package/f-draggable/f-node-move/line-alignment-preparation/index.d.ts +0 -2
  699. package/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -20
  700. package/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.request.d.ts +0 -8
  701. package/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +0 -13
  702. package/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.d.ts +0 -8
  703. package/f-draggable/f-node-resize/apply-child-resize-restrictions/index.d.ts +0 -2
  704. package/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.d.ts +0 -13
  705. package/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.d.ts +0 -7
  706. package/f-draggable/f-node-resize/apply-parent-resize-restrictions/index.d.ts +0 -2
  707. package/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.execution.d.ts +0 -10
  708. package/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.request.d.ts +0 -10
  709. package/f-draggable/f-node-resize/calculate-changed-position/index.d.ts +0 -2
  710. package/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.execution.d.ts +0 -10
  711. package/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.request.d.ts +0 -9
  712. package/f-draggable/f-node-resize/calculate-changed-size/index.d.ts +0 -2
  713. package/f-draggable/f-node-resize/f-node-resize.drag-handler.d.ts +0 -27
  714. package/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +0 -13
  715. package/f-draggable/f-node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +0 -6
  716. package/f-draggable/f-node-resize/get-node-resize-restrictions/index.d.ts +0 -3
  717. package/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +0 -14
  718. package/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +0 -7
  719. package/f-draggable/f-node-resize/get-normalized-children-nodes-rect/index.d.ts +0 -2
  720. package/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.execution.d.ts +0 -10
  721. package/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.d.ts +0 -22
  722. package/f-line-alignment/domain/i-line-alignment-result.d.ts +0 -5
  723. package/reactivity/mediator-effect.d.ts +0 -2
  724. /package/f-draggable/f-node-move/{create-move-nodes-drag-model-from-selection → create-drag-model-from-selection}/i-node-move-limits-and-position.d.ts +0 -0
  725. /package/f-draggable/f-node-move/{create-move-nodes-drag-model-from-selection → create-drag-model-from-selection}/i-node-move-limits.d.ts +0 -0
@@ -0,0 +1,72 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
4
+ import { PointExtensions } from "@foblex/2d";
5
+ import { CalculateDragLimitsRequest } from "./calculate-drag-limits-request";
6
+ import { infinityMinMax } from "../../../../utils";
7
+ import { GetNormalizedElementRectRequest, GetParentNodesRequest } from "../../../../domain";
8
+ import { GetNodeBoundingIncludePaddingsRequest, } from "../get-node-bounding-include-paddings";
9
+ import * as i0 from "@angular/core";
10
+ let CalculateDragLimits = class CalculateDragLimits {
11
+ _mediator = inject(FMediator);
12
+ handle({ nodeOrGroup }) {
13
+ const currentRect = this._getCurrentRect(nodeOrGroup);
14
+ const parents = this._getParentsChain(nodeOrGroup);
15
+ return this._buildSoftHardLimits(parents, currentRect);
16
+ }
17
+ _getCurrentRect(nodeOrGroup) {
18
+ return this._mediator.execute(new GetNormalizedElementRectRequest(nodeOrGroup.hostElement));
19
+ }
20
+ _getParentsChain(nodeOrGroup) {
21
+ return this._mediator.execute(new GetParentNodesRequest(nodeOrGroup)) ?? [];
22
+ }
23
+ _buildSoftHardLimits(parents, childRect) {
24
+ const soft = [];
25
+ let hard = infinityMinMax();
26
+ let childrenPaddings = [0, 0, 0, 0];
27
+ for (const parent of parents) {
28
+ const parentInfo = this._getParentInfo(parent, childrenPaddings);
29
+ childrenPaddings = parentInfo.paddings;
30
+ const limits = this._calculateDifference(parentInfo.innerRect, childRect);
31
+ if (this._isAutoExpand(parent)) {
32
+ soft.push(this._makeSoftLimit(parent, parentInfo.boundingRect, limits));
33
+ }
34
+ else {
35
+ hard = limits;
36
+ break;
37
+ }
38
+ }
39
+ return { soft, hard };
40
+ }
41
+ _getParentInfo(parent, childrenPaddings) {
42
+ return this._mediator.execute(new GetNodeBoundingIncludePaddingsRequest(parent, childrenPaddings));
43
+ }
44
+ _calculateDifference(parentRect, currentRect) {
45
+ return {
46
+ min: this._calculateMinimumDifference(parentRect, currentRect),
47
+ max: this._calculateMaximumDifference(parentRect, currentRect),
48
+ };
49
+ }
50
+ _calculateMinimumDifference(parentRect, currentRect) {
51
+ return PointExtensions.initialize(parentRect.x - currentRect.x, parentRect.y - currentRect.y);
52
+ }
53
+ _calculateMaximumDifference(parentRect, currentRect) {
54
+ return PointExtensions.initialize((parentRect.x + parentRect.width) - (currentRect.x + currentRect.width), (parentRect.y + parentRect.height) - (currentRect.y + currentRect.height));
55
+ }
56
+ _isAutoExpand(nodeOrGroup) {
57
+ return nodeOrGroup.fAutoExpandOnChildHit();
58
+ }
59
+ _makeSoftLimit(nodeOrGroup, boundingRect, limits) {
60
+ return { nodeOrGroup, boundingRect, initialSize: nodeOrGroup._size, limits };
61
+ }
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateDragLimits, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
63
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateDragLimits });
64
+ };
65
+ CalculateDragLimits = __decorate([
66
+ FExecutionRegister(CalculateDragLimitsRequest)
67
+ ], CalculateDragLimits);
68
+ export { CalculateDragLimits };
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateDragLimits, decorators: [{
70
+ type: Injectable
71
+ }] });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWRyYWctbGltaXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jYWxjdWxhdGUtZHJhZy1saW1pdHMvY2FsY3VsYXRlLWRyYWctbGltaXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVGLE9BQU8sRUFDTCxxQ0FBcUMsR0FFdEMsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFNeEMsSUFBTSxtQkFBbUIsR0FBekIsTUFBTSxtQkFBbUI7SUFHYixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sQ0FBQyxFQUFFLFdBQVcsRUFBOEI7UUFDdkQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbkQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxlQUFlLENBQUMsV0FBc0I7UUFDNUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBUSxJQUFJLCtCQUErQixDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxXQUFzQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFjLElBQUkscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE9BQW9CLEVBQUUsU0FBZ0I7UUFDakUsTUFBTSxJQUFJLEdBQWlCLEVBQUUsQ0FBQztRQUM5QixJQUFJLElBQUksR0FBaUIsY0FBYyxFQUFFLENBQUM7UUFFMUMsSUFBSSxnQkFBZ0IsR0FBcUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV0RSxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDakUsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUUxRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDMUUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8sY0FBYyxDQUFDLE1BQWlCLEVBQUUsZ0JBQWtEO1FBQzFGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzNCLElBQUkscUNBQXFDLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQ3BFLENBQUM7SUFDSixDQUFDO0lBRU8sb0JBQW9CLENBQUMsVUFBaUIsRUFBRSxXQUFrQjtRQUNoRSxPQUFPO1lBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDO1lBQzlELEdBQUcsRUFBRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztTQUMvRCxDQUFDO0lBQ0osQ0FBQztJQUVPLDJCQUEyQixDQUFDLFVBQWlCLEVBQUUsV0FBa0I7UUFDdkUsT0FBTyxlQUFlLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRU8sMkJBQTJCLENBQUMsVUFBaUIsRUFBRSxXQUFrQjtRQUN2RSxPQUFPLGVBQWUsQ0FBQyxVQUFVLENBQy9CLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFDdkUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUMxRSxDQUFDO0lBQ0osQ0FBQztJQUVPLGFBQWEsQ0FBQyxXQUFzQjtRQUMxQyxPQUFPLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFTyxjQUFjLENBQ3BCLFdBQXNCLEVBQ3RCLFlBQW1CLEVBQ25CLE1BQW9CO1FBRXBCLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQy9FLENBQUM7d0dBNUVVLG1CQUFtQjs0R0FBbkIsbUJBQW1COztBQUFuQixtQkFBbUI7SUFEL0Isa0JBQWtCLENBQUMsMEJBQTBCLENBQUM7R0FDbEMsbUJBQW1CLENBNkUvQjs7NEZBN0VZLG1CQUFtQjtrQkFGL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IElNaW5NYXhQb2ludCwgSVBvaW50LCBJUmVjdCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSBcIkBmb2JsZXgvMmRcIjtcbmltcG9ydCB7IENhbGN1bGF0ZURyYWdMaW1pdHNSZXF1ZXN0IH0gZnJvbSBcIi4vY2FsY3VsYXRlLWRyYWctbGltaXRzLXJlcXVlc3RcIjtcbmltcG9ydCB7IGluZmluaXR5TWluTWF4IH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxzXCI7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZi1ub2RlXCI7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0LCBHZXRQYXJlbnROb2Rlc1JlcXVlc3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZG9tYWluXCI7XG5pbXBvcnQge1xuICBHZXROb2RlQm91bmRpbmdJbmNsdWRlUGFkZGluZ3NSZXF1ZXN0LFxuICBHZXROb2RlQm91bmRpbmdJbmNsdWRlUGFkZGluZ3NSZXNwb25zZSxcbn0gZnJvbSBcIi4uL2dldC1ub2RlLWJvdW5kaW5nLWluY2x1ZGUtcGFkZGluZ3NcIjtcbmltcG9ydCB7IElTb2Z0TGltaXQgfSBmcm9tIFwiLi9pLXNvZnQtbGltaXRcIjtcbmltcG9ydCB7IElEcmFnTGltaXRzIH0gZnJvbSBcIi4vaS1kcmFnLWxpbWl0c1wiO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENhbGN1bGF0ZURyYWdMaW1pdHNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZURyYWdMaW1pdHNcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENhbGN1bGF0ZURyYWdMaW1pdHNSZXF1ZXN0LCBJRHJhZ0xpbWl0cz4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHVibGljIGhhbmRsZSh7IG5vZGVPckdyb3VwIH06IENhbGN1bGF0ZURyYWdMaW1pdHNSZXF1ZXN0KTogSURyYWdMaW1pdHMge1xuICAgIGNvbnN0IGN1cnJlbnRSZWN0ID0gdGhpcy5fZ2V0Q3VycmVudFJlY3Qobm9kZU9yR3JvdXApO1xuICAgIGNvbnN0IHBhcmVudHMgPSB0aGlzLl9nZXRQYXJlbnRzQ2hhaW4obm9kZU9yR3JvdXApO1xuXG4gICAgcmV0dXJuIHRoaXMuX2J1aWxkU29mdEhhcmRMaW1pdHMocGFyZW50cywgY3VycmVudFJlY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q3VycmVudFJlY3Qobm9kZU9yR3JvdXA6IEZOb2RlQmFzZSk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJUmVjdD4obmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3Qobm9kZU9yR3JvdXAuaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBhcmVudHNDaGFpbihub2RlT3JHcm91cDogRk5vZGVCYXNlKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0KG5vZGVPckdyb3VwKSkgPz8gW107XG4gIH1cblxuICBwcml2YXRlIF9idWlsZFNvZnRIYXJkTGltaXRzKHBhcmVudHM6IEZOb2RlQmFzZVtdLCBjaGlsZFJlY3Q6IElSZWN0KTogSURyYWdMaW1pdHMge1xuICAgIGNvbnN0IHNvZnQ6IElTb2Z0TGltaXRbXSA9IFtdO1xuICAgIGxldCBoYXJkOiBJTWluTWF4UG9pbnQgPSBpbmZpbml0eU1pbk1heCgpO1xuXG4gICAgbGV0IGNoaWxkcmVuUGFkZGluZ3M6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzAsIDAsIDAsIDBdO1xuXG4gICAgZm9yIChjb25zdCBwYXJlbnQgb2YgcGFyZW50cykge1xuICAgICAgY29uc3QgcGFyZW50SW5mbyA9IHRoaXMuX2dldFBhcmVudEluZm8ocGFyZW50LCBjaGlsZHJlblBhZGRpbmdzKTtcbiAgICAgIGNoaWxkcmVuUGFkZGluZ3MgPSBwYXJlbnRJbmZvLnBhZGRpbmdzO1xuICAgICAgY29uc3QgbGltaXRzID0gdGhpcy5fY2FsY3VsYXRlRGlmZmVyZW5jZShwYXJlbnRJbmZvLmlubmVyUmVjdCwgY2hpbGRSZWN0KTtcblxuICAgICAgaWYgKHRoaXMuX2lzQXV0b0V4cGFuZChwYXJlbnQpKSB7XG4gICAgICAgIHNvZnQucHVzaCh0aGlzLl9tYWtlU29mdExpbWl0KHBhcmVudCwgcGFyZW50SW5mby5ib3VuZGluZ1JlY3QsIGxpbWl0cykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaGFyZCA9IGxpbWl0cztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgc29mdCwgaGFyZCB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UGFyZW50SW5mbyhwYXJlbnQ6IEZOb2RlQmFzZSwgY2hpbGRyZW5QYWRkaW5nczogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0pOiBHZXROb2RlQm91bmRpbmdJbmNsdWRlUGFkZGluZ3NSZXNwb25zZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8R2V0Tm9kZUJvdW5kaW5nSW5jbHVkZVBhZGRpbmdzUmVzcG9uc2U+KFxuICAgICAgbmV3IEdldE5vZGVCb3VuZGluZ0luY2x1ZGVQYWRkaW5nc1JlcXVlc3QocGFyZW50LCBjaGlsZHJlblBhZGRpbmdzKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlRGlmZmVyZW5jZShwYXJlbnRSZWN0OiBJUmVjdCwgY3VycmVudFJlY3Q6IElSZWN0KTogSU1pbk1heFBvaW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgbWluOiB0aGlzLl9jYWxjdWxhdGVNaW5pbXVtRGlmZmVyZW5jZShwYXJlbnRSZWN0LCBjdXJyZW50UmVjdCksXG4gICAgICBtYXg6IHRoaXMuX2NhbGN1bGF0ZU1heGltdW1EaWZmZXJlbmNlKHBhcmVudFJlY3QsIGN1cnJlbnRSZWN0KSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlTWluaW11bURpZmZlcmVuY2UocGFyZW50UmVjdDogSVJlY3QsIGN1cnJlbnRSZWN0OiBJUmVjdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKHBhcmVudFJlY3QueCAtIGN1cnJlbnRSZWN0LngsIHBhcmVudFJlY3QueSAtIGN1cnJlbnRSZWN0LnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlTWF4aW11bURpZmZlcmVuY2UocGFyZW50UmVjdDogSVJlY3QsIGN1cnJlbnRSZWN0OiBJUmVjdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgKHBhcmVudFJlY3QueCArIHBhcmVudFJlY3Qud2lkdGgpIC0gKGN1cnJlbnRSZWN0LnggKyBjdXJyZW50UmVjdC53aWR0aCksXG4gICAgICAocGFyZW50UmVjdC55ICsgcGFyZW50UmVjdC5oZWlnaHQpIC0gKGN1cnJlbnRSZWN0LnkgKyBjdXJyZW50UmVjdC5oZWlnaHQpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pc0F1dG9FeHBhbmQobm9kZU9yR3JvdXA6IEZOb2RlQmFzZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBub2RlT3JHcm91cC5mQXV0b0V4cGFuZE9uQ2hpbGRIaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX21ha2VTb2Z0TGltaXQoXG4gICAgbm9kZU9yR3JvdXA6IEZOb2RlQmFzZSxcbiAgICBib3VuZGluZ1JlY3Q6IElSZWN0LFxuICAgIGxpbWl0czogSU1pbk1heFBvaW50LFxuICApOiBJU29mdExpbWl0IHtcbiAgICByZXR1cm4geyBub2RlT3JHcm91cCwgYm91bmRpbmdSZWN0LCBpbml0aWFsU2l6ZTogbm9kZU9yR3JvdXAuX3NpemUsIGxpbWl0cyB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1kcmFnLWxpbWl0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vY2FsY3VsYXRlLWRyYWctbGltaXRzL2ktZHJhZy1saW1pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNaW5NYXhQb2ludCB9IGZyb20gXCJAZm9ibGV4LzJkXCI7XG5pbXBvcnQgeyBJU29mdExpbWl0IH0gZnJvbSBcIi4vaS1zb2Z0LWxpbWl0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURyYWdMaW1pdHMge1xuICBoYXJkOiBJTWluTWF4UG9pbnQ7XG4gIHNvZnQ6IElTb2Z0TGltaXRbXTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1zb2Z0LWxpbWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jYWxjdWxhdGUtZHJhZy1saW1pdHMvaS1zb2Z0LWxpbWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWluTWF4UG9pbnQsIElSZWN0LCBJU2l6ZSB9IGZyb20gXCJAZm9ibGV4LzJkXCI7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZi1ub2RlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNvZnRMaW1pdCB7XG4gIG5vZGVPckdyb3VwOiBGTm9kZUJhc2U7XG4gIGJvdW5kaW5nUmVjdDogSVJlY3Q7XG4gIGluaXRpYWxTaXplOiBJU2l6ZSB8IHVuZGVmaW5lZDtcbiAgbGltaXRzOiBJTWluTWF4UG9pbnQ7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './calculate-drag-limits';
2
+ export * from './calculate-drag-limits-request';
3
+ export * from './i-drag-limits';
4
+ export * from './i-soft-limit';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2NhbGN1bGF0ZS1kcmFnLWxpbWl0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtZHJhZy1saW1pdHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1kcmFnLWxpbWl0cy1yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWRyYWctbGltaXRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9pLXNvZnQtbGltaXQnO1xuIl19
@@ -0,0 +1,8 @@
1
+ export class CreateDragModelFromSelectionRequest {
2
+ nodeWithDisabledSelection;
3
+ static fToken = Symbol('CreateDragModelFromSelectionRequest');
4
+ constructor(nodeWithDisabledSelection) {
5
+ this.nodeWithDisabledSelection = nodeWithDisabledSelection;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24tcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24tcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sbUNBQW1DO0lBSXJDO0lBSFQsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUV2RSxZQUNTLHlCQUFxQztRQUFyQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQVk7SUFFOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NyZWF0ZURyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0Jyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UsXG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,88 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { CreateDragModelFromSelectionRequest } from './create-drag-model-from-selection-request';
4
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
5
+ import { FComponentsStore } from '../../../f-storage';
6
+ import { FDraggableDataContext } from '../../f-draggable-data-context';
7
+ import { CreateOutputConnectionHandlerAndSetToNodeHandlerRequest } from './create-output-connection-handler-and-set-to-node-handler';
8
+ import { CreateInputConnectionHandlerAndSetToNodeHandlerRequest, } from './create-input-connection-handler-and-set-to-node-handler';
9
+ import { GetDeepChildrenNodesAndGroupsRequest, } from '../../../domain';
10
+ import { flatMap } from '@foblex/utils';
11
+ import { BuildDragHierarchyRequest } from "./build-drag-hierarchy";
12
+ import { CreateSummaryDragHandlerRequest } from "./create-summary-drag-handler";
13
+ import * as i0 from "@angular/core";
14
+ // This execution is responsible for creating a drag model for moving nodes based on the current selection.
15
+ let CreateDragModelFromSelection = class CreateDragModelFromSelection {
16
+ _mediator = inject(FMediator);
17
+ _store = inject(FComponentsStore);
18
+ _dragContext = inject(FDraggableDataContext);
19
+ handle(request) {
20
+ const selectedNodesAndGroups = this._collectSelectedNodesAndGroups(request.nodeWithDisabledSelection);
21
+ const selectedNodesAndGroupsWithChildren = this._collectSelectedAndAllChildren(selectedNodesAndGroups);
22
+ const dragHierarchy = this._buildDragHierarchy(selectedNodesAndGroupsWithChildren);
23
+ this._setConnectionsHandlersToNodes(dragHierarchy.list, this._getAllOutputIds(selectedNodesAndGroupsWithChildren), this._getAllInputIds(selectedNodesAndGroupsWithChildren));
24
+ return this._createSummaryDragHandler(dragHierarchy);
25
+ }
26
+ _collectSelectedNodesAndGroups(nodeWithDisabledSelection) {
27
+ const result = this._getNodesFromSelection();
28
+ if (nodeWithDisabledSelection) {
29
+ result.push(nodeWithDisabledSelection);
30
+ }
31
+ return result;
32
+ }
33
+ _getNodesFromSelection() {
34
+ return this._dragContext.selectedItems
35
+ .map((x) => this._findNode(x.hostElement))
36
+ .filter((x) => !!x);
37
+ }
38
+ _findNode(hostElement) {
39
+ return this._store.fNodes
40
+ .find(n => n.isContains(hostElement));
41
+ }
42
+ _collectSelectedAndAllChildren(selectedNodesAndGroups) {
43
+ return selectedNodesAndGroups.reduce((result, x) => {
44
+ result.push(x);
45
+ return result.concat(this._getChildrenNodes(x.fId()));
46
+ }, []);
47
+ }
48
+ _buildDragHierarchy(selectedNodesAndGroupsWithChildren) {
49
+ return this._mediator.execute(new BuildDragHierarchyRequest(selectedNodesAndGroupsWithChildren));
50
+ }
51
+ _getChildrenNodes(fId) {
52
+ return this._mediator.execute(new GetDeepChildrenNodesAndGroupsRequest(fId));
53
+ }
54
+ _getAllOutputIds(fNodes) {
55
+ return flatMap(fNodes, (fNode) => this._getNodeOutputIds(fNode));
56
+ }
57
+ _getNodeOutputIds(fNode) {
58
+ return this._store.fOutputs.filter((x) => fNode.fId() === x.fNodeId)
59
+ .map((x) => x.fId);
60
+ }
61
+ _getAllInputIds(fNodes) {
62
+ return flatMap(fNodes, (fNode) => this._getNodeInputIds(fNode));
63
+ }
64
+ _getNodeInputIds(fNode) {
65
+ return this._store.fInputs.filter((x) => fNode.fId() === x.fNodeId)
66
+ .map((x) => x.fId);
67
+ }
68
+ _setConnectionsHandlersToNodes(dragHandlers, outputIds, inputIds) {
69
+ const existingConnectionHandlers = [];
70
+ dragHandlers.forEach((x) => {
71
+ this._mediator.execute(new CreateOutputConnectionHandlerAndSetToNodeHandlerRequest(x, inputIds, existingConnectionHandlers));
72
+ this._mediator.execute(new CreateInputConnectionHandlerAndSetToNodeHandlerRequest(x, outputIds, existingConnectionHandlers));
73
+ });
74
+ }
75
+ _createSummaryDragHandler({ roots, list }) {
76
+ return this._mediator.execute(new CreateSummaryDragHandlerRequest(roots, list));
77
+ }
78
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateDragModelFromSelection, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
79
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateDragModelFromSelection });
80
+ };
81
+ CreateDragModelFromSelection = __decorate([
82
+ FExecutionRegister(CreateDragModelFromSelectionRequest)
83
+ ], CreateDragModelFromSelection);
84
+ export { CreateDragModelFromSelection };
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateDragModelFromSelection, decorators: [{
86
+ type: Injectable
87
+ }] });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHdkUsT0FBTyxFQUFFLHVEQUF1RCxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDckksT0FBTyxFQUNMLHNEQUFzRCxHQUN2RCxNQUFNLDJEQUEyRCxDQUFDO0FBQ25FLE9BQU8sRUFDTCxvQ0FBb0MsR0FDckMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3hDLE9BQU8sRUFBRSx5QkFBeUIsRUFBOEIsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFaEYsMkdBQTJHO0FBR3BHLElBQU0sNEJBQTRCLEdBQWxDLE1BQU0sNEJBQTRCO0lBR3RCLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFlBQVksR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUV2RCxNQUFNLENBQUMsT0FBNEM7UUFDeEQsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDdEcsTUFBTSxrQ0FBa0MsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUV2RyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUVuRixJQUFJLENBQUMsOEJBQThCLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0NBQWtDLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLGtDQUFrQyxDQUFDLENBQUMsQ0FBQztRQUU3SyxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sOEJBQThCLENBQUMseUJBQXFDO1FBQzFFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzdDLElBQUkseUJBQXlCLEVBQUUsQ0FBQztZQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWE7YUFDbkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN6QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLFNBQVMsQ0FBQyxXQUFxQztRQUNyRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVPLDhCQUE4QixDQUFDLHNCQUFtQztRQUN4RSxPQUFPLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQW1CLEVBQUUsQ0FBWSxFQUFFLEVBQUU7WUFDekUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVmLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsa0NBQStDO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEdBQVc7UUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBYyxJQUFJLG9DQUFvQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE1BQW1CO1FBQzFDLE9BQU8sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQWdCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQzthQUNqRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQW1CO1FBQ3pDLE9BQU8sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQzthQUNoRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU8sOEJBQThCLENBQ2xDLFlBQStCLEVBQUUsU0FBbUIsRUFBRSxRQUFrQjtRQUUxRSxNQUFNLDBCQUEwQixHQUFnQyxFQUFFLENBQUM7UUFDbkUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksdURBQXVELENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLENBQUM7WUFDN0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxzREFBc0QsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQztRQUMvSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQThCO1FBQzNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDO3dHQXBGVSw0QkFBNEI7NEdBQTVCLDRCQUE0Qjs7QUFBNUIsNEJBQTRCO0lBRHhDLGtCQUFrQixDQUFDLG1DQUFtQyxDQUFDO0dBQzNDLDRCQUE0QixDQXFGeEM7OzRGQXJGWSw0QkFBNEI7a0JBRnhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENyZWF0ZURyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi9jcmVhdGUtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi1yZXF1ZXN0JztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9tb3ZlLWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgQ3JlYXRlT3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCB9IGZyb20gJy4vY3JlYXRlLW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXInO1xuaW1wb3J0IHtcbiAgQ3JlYXRlSW5wdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJSZXF1ZXN0LFxufSBmcm9tICcuL2NyZWF0ZS1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXInO1xuaW1wb3J0IHtcbiAgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0LFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgZmxhdE1hcCB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycyc7XG5pbXBvcnQgeyBNb3ZlU3VtbWFyeURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbW92ZS1zdW1tYXJ5LWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBCdWlsZERyYWdIaWVyYXJjaHlSZXF1ZXN0LCBCdWlsZERyYWdIaWVyYXJjaHlSZXNwb25zZSB9IGZyb20gXCIuL2J1aWxkLWRyYWctaGllcmFyY2h5XCI7XG5pbXBvcnQgeyBDcmVhdGVTdW1tYXJ5RHJhZ0hhbmRsZXJSZXF1ZXN0IH0gZnJvbSBcIi4vY3JlYXRlLXN1bW1hcnktZHJhZy1oYW5kbGVyXCI7XG5cbi8vIFRoaXMgZXhlY3V0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyBhIGRyYWcgbW9kZWwgZm9yIG1vdmluZyBub2RlcyBiYXNlZCBvbiB0aGUgY3VycmVudCBzZWxlY3Rpb24uXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENyZWF0ZURyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZURyYWdNb2RlbEZyb21TZWxlY3Rpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENyZWF0ZURyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0LCBNb3ZlU3VtbWFyeURyYWdIYW5kbGVyPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RyYWdDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDcmVhdGVEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCk6IE1vdmVTdW1tYXJ5RHJhZ0hhbmRsZXIge1xuICAgIGNvbnN0IHNlbGVjdGVkTm9kZXNBbmRHcm91cHMgPSB0aGlzLl9jb2xsZWN0U2VsZWN0ZWROb2Rlc0FuZEdyb3VwcyhyZXF1ZXN0Lm5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pO1xuICAgIGNvbnN0IHNlbGVjdGVkTm9kZXNBbmRHcm91cHNXaXRoQ2hpbGRyZW4gPSB0aGlzLl9jb2xsZWN0U2VsZWN0ZWRBbmRBbGxDaGlsZHJlbihzZWxlY3RlZE5vZGVzQW5kR3JvdXBzKTtcblxuICAgIGNvbnN0IGRyYWdIaWVyYXJjaHkgPSB0aGlzLl9idWlsZERyYWdIaWVyYXJjaHkoc2VsZWN0ZWROb2Rlc0FuZEdyb3Vwc1dpdGhDaGlsZHJlbik7XG5cbiAgICB0aGlzLl9zZXRDb25uZWN0aW9uc0hhbmRsZXJzVG9Ob2RlcyhkcmFnSGllcmFyY2h5Lmxpc3QsIHRoaXMuX2dldEFsbE91dHB1dElkcyhzZWxlY3RlZE5vZGVzQW5kR3JvdXBzV2l0aENoaWxkcmVuKSwgdGhpcy5fZ2V0QWxsSW5wdXRJZHMoc2VsZWN0ZWROb2Rlc0FuZEdyb3Vwc1dpdGhDaGlsZHJlbikpO1xuXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZVN1bW1hcnlEcmFnSGFuZGxlcihkcmFnSGllcmFyY2h5KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbGxlY3RTZWxlY3RlZE5vZGVzQW5kR3JvdXBzKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBGTm9kZUJhc2VbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZ2V0Tm9kZXNGcm9tU2VsZWN0aW9uKCk7XG4gICAgaWYgKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pIHtcbiAgICAgIHJlc3VsdC5wdXNoKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc0Zyb21TZWxlY3Rpb24oKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9kcmFnQ29udGV4dC5zZWxlY3RlZEl0ZW1zXG4gICAgICAubWFwKCh4KSA9PiB0aGlzLl9maW5kTm9kZSh4Lmhvc3RFbGVtZW50KSlcbiAgICAgIC5maWx0ZXIoKHgpOiB4IGlzIEZOb2RlQmFzZSA9PiAhIXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmluZE5vZGUoaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZOb2Rlc1xuICAgICAgLmZpbmQobiA9PiBuLmlzQ29udGFpbnMoaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbGxlY3RTZWxlY3RlZEFuZEFsbENoaWxkcmVuKHNlbGVjdGVkTm9kZXNBbmRHcm91cHM6IEZOb2RlQmFzZVtdKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiBzZWxlY3RlZE5vZGVzQW5kR3JvdXBzLnJlZHVjZSgocmVzdWx0OiBGTm9kZUJhc2VbXSwgeDogRk5vZGVCYXNlKSA9PiB7XG4gICAgICByZXN1bHQucHVzaCh4KTtcblxuICAgICAgcmV0dXJuIHJlc3VsdC5jb25jYXQodGhpcy5fZ2V0Q2hpbGRyZW5Ob2Rlcyh4LmZJZCgpKSk7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVpbGREcmFnSGllcmFyY2h5KHNlbGVjdGVkTm9kZXNBbmRHcm91cHNXaXRoQ2hpbGRyZW46IEZOb2RlQmFzZVtdKTogQnVpbGREcmFnSGllcmFyY2h5UmVzcG9uc2Uge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBCdWlsZERyYWdIaWVyYXJjaHlSZXF1ZXN0KHNlbGVjdGVkTm9kZXNBbmRHcm91cHNXaXRoQ2hpbGRyZW4pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuTm9kZXMoZklkOiBzdHJpbmcpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QoZklkKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRBbGxPdXRwdXRJZHMoZk5vZGVzOiBGTm9kZUJhc2VbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZmxhdE1hcChmTm9kZXMsIChmTm9kZSkgPT4gdGhpcy5fZ2V0Tm9kZU91dHB1dElkcyhmTm9kZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZU91dHB1dElkcyhmTm9kZTogRk5vZGVCYXNlKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mT3V0cHV0cy5maWx0ZXIoKHgpID0+IGZOb2RlLmZJZCgpID09PSB4LmZOb2RlSWQpXG4gICAgICAubWFwKCh4KSA9PiB4LmZJZCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRBbGxJbnB1dElkcyhmTm9kZXM6IEZOb2RlQmFzZVtdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmbGF0TWFwKGZOb2RlcywgKGZOb2RlKSA9PiB0aGlzLl9nZXROb2RlSW5wdXRJZHMoZk5vZGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVJbnB1dElkcyhmTm9kZTogRk5vZGVCYXNlKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mSW5wdXRzLmZpbHRlcigoeCkgPT4gZk5vZGUuZklkKCkgPT09IHguZk5vZGVJZClcbiAgICAgIC5tYXAoKHgpID0+IHguZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldENvbm5lY3Rpb25zSGFuZGxlcnNUb05vZGVzKFxuICAgICAgZHJhZ0hhbmRsZXJzOiBNb3ZlRHJhZ0hhbmRsZXJbXSwgb3V0cHV0SWRzOiBzdHJpbmdbXSwgaW5wdXRJZHM6IHN0cmluZ1tdLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBleGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVyczogQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlcltdID0gW107XG4gICAgZHJhZ0hhbmRsZXJzLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IENyZWF0ZU91dHB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3QoeCwgaW5wdXRJZHMsIGV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXJzKSk7XG4gICAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBDcmVhdGVJbnB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3QoeCwgb3V0cHV0SWRzLCBleGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVycykpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlU3VtbWFyeURyYWdIYW5kbGVyKHsgcm9vdHMsIGxpc3QgfTogQnVpbGREcmFnSGllcmFyY2h5UmVzcG9uc2UpOiBNb3ZlU3VtbWFyeURyYWdIYW5kbGVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgQ3JlYXRlU3VtbWFyeURyYWdIYW5kbGVyUmVxdWVzdChyb290cywgbGlzdCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ export class CreateInputConnectionHandlerAndSetToNodeHandlerRequest {
2
+ dragHandler;
3
+ outputIds;
4
+ existingConnectionHandlers;
5
+ static fToken = Symbol('CreateInputConnectionHandlerAndSetToNodeHandlerRequest');
6
+ constructor(dragHandler, outputIds, existingConnectionHandlers) {
7
+ this.dragHandler = dragHandler;
8
+ this.outputIds = outputIds;
9
+ this.existingConnectionHandlers = existingConnectionHandlers;
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWlucHV0LWNvbm5lY3Rpb24taGFuZGxlci1hbmQtc2V0LXRvLW5vZGUtaGFuZGxlci1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jcmVhdGUtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyL2NyZWF0ZS1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXItcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sc0RBQXNEO0lBSXhEO0lBQ0E7SUFDQTtJQUxULE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLHdEQUF3RCxDQUFDLENBQUM7SUFFMUYsWUFDUyxXQUE0QixFQUM1QixTQUFtQixFQUNuQiwwQkFBdUQ7UUFGdkQsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE2QjtJQUVoRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW92ZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vbW92ZS1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycyc7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVJbnB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdDcmVhdGVJbnB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZHJhZ0hhbmRsZXI6IE1vdmVEcmFnSGFuZGxlcixcbiAgICBwdWJsaWMgb3V0cHV0SWRzOiBzdHJpbmdbXSxcbiAgICBwdWJsaWMgZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnM6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXJbXSxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable, Injector } from '@angular/core';
3
+ import { CreateInputConnectionHandlerAndSetToNodeHandlerRequest } from './create-input-connection-handler-and-set-to-node-handler-request';
4
+ import { FComponentsStore } from '../../../../f-storage';
5
+ import { FExecutionRegister } from '@foblex/mediator';
6
+ import { SourceTargetConnectionDragHandler, TargetConnectionDragHandler, } from "../../connection-drag-handlers";
7
+ import * as i0 from "@angular/core";
8
+ let CreateInputConnectionHandlerAndSetToNodeHandler = class CreateInputConnectionHandlerAndSetToNodeHandler {
9
+ _store = inject(FComponentsStore);
10
+ _injector = inject(Injector);
11
+ get _connections() {
12
+ return this._store.fConnections;
13
+ }
14
+ handle(request) {
15
+ this._getInputConnections(request.dragHandler.nodeOrGroup).forEach((connection) => {
16
+ this._createAndSetConnectionToNodeHandler(connection, request);
17
+ });
18
+ }
19
+ _getInputConnections(nodeOrGroup) {
20
+ const ids = new Set(this._getNodeInputIds(nodeOrGroup));
21
+ return this._connections.filter((x) => ids.has(x.fInputId));
22
+ }
23
+ _getNodeInputIds(nodeOrGroup) {
24
+ return this._store.fInputs
25
+ .filter((x) => nodeOrGroup.isContains(x.hostElement))
26
+ .map((x) => x.fId);
27
+ }
28
+ _createAndSetConnectionToNodeHandler(connection, request) {
29
+ let connectionHandler = this._getExistingConnectionHandler(request.existingConnectionHandlers, connection);
30
+ if (!connectionHandler) {
31
+ connectionHandler = this._createConnectionHandler(request.outputIds, connection);
32
+ request.existingConnectionHandlers.push(connectionHandler);
33
+ }
34
+ request.dragHandler.fTargetHandlers.push(connectionHandler);
35
+ }
36
+ _getExistingConnectionHandler(existingConnectionHandlers, connection) {
37
+ return existingConnectionHandlers.find((x) => x.fConnection.fId() === connection.fId());
38
+ }
39
+ _createConnectionHandler(outputIds, connection) {
40
+ let result;
41
+ if (outputIds.includes(connection.fOutputId)) {
42
+ result = new SourceTargetConnectionDragHandler(this._injector, connection);
43
+ }
44
+ else {
45
+ result = new TargetConnectionDragHandler(this._injector, connection);
46
+ }
47
+ return result;
48
+ }
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateInputConnectionHandlerAndSetToNodeHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
50
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateInputConnectionHandlerAndSetToNodeHandler });
51
+ };
52
+ CreateInputConnectionHandlerAndSetToNodeHandler = __decorate([
53
+ FExecutionRegister(CreateInputConnectionHandlerAndSetToNodeHandlerRequest)
54
+ ], CreateInputConnectionHandlerAndSetToNodeHandler);
55
+ export { CreateInputConnectionHandlerAndSetToNodeHandler };
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateInputConnectionHandlerAndSetToNodeHandler, decorators: [{
57
+ type: Injectable
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWlucHV0LWNvbm5lY3Rpb24taGFuZGxlci1hbmQtc2V0LXRvLW5vZGUtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vY3JlYXRlLWlucHV0LWNvbm5lY3Rpb24taGFuZGxlci1hbmQtc2V0LXRvLW5vZGUtaGFuZGxlci9jcmVhdGUtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNEQUFzRCxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDM0ksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFHbEUsT0FBTyxFQUVMLGlDQUFpQyxFQUNqQywyQkFBMkIsR0FDNUIsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFJakMsSUFBTSwrQ0FBK0MsR0FBckQsTUFBTSwrQ0FBK0M7SUFHekMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFOUMsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUErRDtRQUMzRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsb0NBQW9DLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFdBQXNCO1FBQ2pELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXhELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFdBQXNCO1FBQzdDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO2FBQ3ZCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDcEQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVPLG9DQUFvQyxDQUFDLFVBQTJCLEVBQUUsT0FBK0Q7UUFDdkksSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZCLGlCQUFpQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2pGLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsT0FBTyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLDZCQUE2QixDQUFDLDBCQUF1RCxFQUFFLFVBQTJCO1FBQ3hILE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxTQUFtQixFQUFFLFVBQTJCO1FBQy9FLElBQUksTUFBNkMsQ0FBQztRQUNsRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0MsTUFBTSxHQUFHLElBQUksaUNBQWlDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RSxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7d0dBbERVLCtDQUErQzs0R0FBL0MsK0NBQStDOztBQUEvQywrQ0FBK0M7SUFEM0Qsa0JBQWtCLENBQUMsc0RBQXNELENBQUM7R0FDOUQsK0NBQStDLENBbUQzRDs7NEZBbkRZLCtDQUErQztrQkFGM0QsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENyZWF0ZUlucHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCB9IGZyb20gJy4vY3JlYXRlLWlucHV0LWNvbm5lY3Rpb24taGFuZGxlci1hbmQtc2V0LXRvLW5vZGUtaGFuZGxlci1yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7XG4gIEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIsXG4gIFNvdXJjZVRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlcixcbiAgVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyLFxufSBmcm9tIFwiLi4vLi4vY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzXCI7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ3JlYXRlSW5wdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZUlucHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDcmVhdGVJbnB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByaXZhdGUgZ2V0IF9jb25uZWN0aW9ucygpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZDb25uZWN0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ3JlYXRlSW5wdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5fZ2V0SW5wdXRDb25uZWN0aW9ucyhyZXF1ZXN0LmRyYWdIYW5kbGVyLm5vZGVPckdyb3VwKS5mb3JFYWNoKChjb25uZWN0aW9uKSA9PiB7XG4gICAgICB0aGlzLl9jcmVhdGVBbmRTZXRDb25uZWN0aW9uVG9Ob2RlSGFuZGxlcihjb25uZWN0aW9uLCByZXF1ZXN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldElucHV0Q29ubmVjdGlvbnMobm9kZU9yR3JvdXA6IEZOb2RlQmFzZSk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICBjb25zdCBpZHMgPSBuZXcgU2V0KHRoaXMuX2dldE5vZGVJbnB1dElkcyhub2RlT3JHcm91cCkpO1xuXG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25zLmZpbHRlcigoeCkgPT4gaWRzLmhhcyh4LmZJbnB1dElkKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlSW5wdXRJZHMobm9kZU9yR3JvdXA6IEZOb2RlQmFzZSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZklucHV0c1xuICAgICAgLmZpbHRlcigoeCkgPT4gbm9kZU9yR3JvdXAuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSlcbiAgICAgIC5tYXAoKHgpID0+IHguZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUFuZFNldENvbm5lY3Rpb25Ub05vZGVIYW5kbGVyKGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSwgcmVxdWVzdDogQ3JlYXRlSW5wdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJSZXF1ZXN0KTogdm9pZCB7XG4gICAgbGV0IGNvbm5lY3Rpb25IYW5kbGVyID0gdGhpcy5fZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcihyZXF1ZXN0LmV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXJzLCBjb25uZWN0aW9uKTtcbiAgICBpZiAoIWNvbm5lY3Rpb25IYW5kbGVyKSB7XG4gICAgICBjb25uZWN0aW9uSGFuZGxlciA9IHRoaXMuX2NyZWF0ZUNvbm5lY3Rpb25IYW5kbGVyKHJlcXVlc3Qub3V0cHV0SWRzLCBjb25uZWN0aW9uKTtcbiAgICAgIHJlcXVlc3QuZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnMucHVzaChjb25uZWN0aW9uSGFuZGxlcik7XG4gICAgfVxuICAgIHJlcXVlc3QuZHJhZ0hhbmRsZXIuZlRhcmdldEhhbmRsZXJzLnB1c2goY29ubmVjdGlvbkhhbmRsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcihleGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVyczogQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlcltdLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnMuZmluZCgoeCkgPT4geC5mQ29ubmVjdGlvbi5mSWQoKSA9PT0gY29ubmVjdGlvbi5mSWQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVDb25uZWN0aW9uSGFuZGxlcihvdXRwdXRJZHM6IHN0cmluZ1tdLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcbiAgICBsZXQgcmVzdWx0OiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHwgdW5kZWZpbmVkO1xuICAgIGlmIChvdXRwdXRJZHMuaW5jbHVkZXMoY29ubmVjdGlvbi5mT3V0cHV0SWQpKSB7XG4gICAgICByZXN1bHQgPSBuZXcgU291cmNlVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyKHRoaXMuX2luamVjdG9yLCBjb25uZWN0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gbmV3IFRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlcih0aGlzLl9pbmplY3RvciwgY29ubmVjdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuXG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './create-input-connection-handler-and-set-to-node-handler';
2
+ export * from './create-input-connection-handler-and-set-to-node-handler-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2NyZWF0ZS1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyREFBMkQsQ0FBQztBQUUxRSxjQUFjLG1FQUFtRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyLXJlcXVlc3QnO1xuIl19
@@ -0,0 +1,12 @@
1
+ export class CreateOutputConnectionHandlerAndSetToNodeHandlerRequest {
2
+ fDragHandler;
3
+ inputIds;
4
+ existingConnectionHandlers;
5
+ static fToken = Symbol('CreateOutputConnectionHandlerAndSetToNodeHandlerRequest');
6
+ constructor(fDragHandler, inputIds, existingConnectionHandlers) {
7
+ this.fDragHandler = fDragHandler;
8
+ this.inputIds = inputIds;
9
+ this.existingConnectionHandlers = existingConnectionHandlers;
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXItcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vY3JlYXRlLW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXIvY3JlYXRlLW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXItcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sdURBQXVEO0lBSXpEO0lBQ0E7SUFDQTtJQUxULE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFFM0YsWUFDUyxZQUE2QixFQUM3QixRQUFrQixFQUNsQiwwQkFBdUQ7UUFGdkQsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE2QjtJQUVoRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW92ZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vbW92ZS1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gXCIuLi8uLi9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnNcIjtcblxuZXhwb3J0IGNsYXNzIENyZWF0ZU91dHB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdDcmVhdGVPdXRwdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJSZXF1ZXN0Jyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZEcmFnSGFuZGxlcjogTW92ZURyYWdIYW5kbGVyLFxuICAgIHB1YmxpYyBpbnB1dElkczogc3RyaW5nW10sXG4gICAgcHVibGljIGV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10sXG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable, Injector } from '@angular/core';
3
+ import { CreateOutputConnectionHandlerAndSetToNodeHandlerRequest } from './create-output-connection-handler-and-set-to-node-handler-request';
4
+ import { FComponentsStore } from '../../../../f-storage';
5
+ import { FExecutionRegister } from '@foblex/mediator';
6
+ import { SourceTargetConnectionDragHandler, SourceConnectionDragHandler, } from "../../connection-drag-handlers";
7
+ import * as i0 from "@angular/core";
8
+ let CreateOutputConnectionHandlerAndSetToNodeHandler = class CreateOutputConnectionHandlerAndSetToNodeHandler {
9
+ _store = inject(FComponentsStore);
10
+ _injector = inject(Injector);
11
+ get _connections() {
12
+ return this._store.fConnections;
13
+ }
14
+ handle(request) {
15
+ this._getOutputConnections(request.fDragHandler.nodeOrGroup).forEach((fConnection) => {
16
+ this._createAndSetConnectionToNodeHandler(fConnection, request);
17
+ });
18
+ }
19
+ _getOutputConnections(nodeOrGroup) {
20
+ const ids = new Set(this._getNodeOutputIds(nodeOrGroup));
21
+ return this._connections.filter((x) => ids.has(x.fOutputId));
22
+ }
23
+ _getNodeOutputIds(nodeOrGroup) {
24
+ return this._store.fOutputs
25
+ .filter((x) => nodeOrGroup.isContains(x.hostElement))
26
+ .map((x) => x.fId);
27
+ }
28
+ _createAndSetConnectionToNodeHandler(connection, request) {
29
+ let connectionHandler = this._getExistingConnectionHandler(request.existingConnectionHandlers, connection);
30
+ if (!connectionHandler) {
31
+ connectionHandler = this._createConnectionHandler(request.inputIds, connection);
32
+ request.existingConnectionHandlers.push(connectionHandler);
33
+ }
34
+ request.fDragHandler.fSourceHandlers.push(connectionHandler);
35
+ }
36
+ _getExistingConnectionHandler(existingConnectionHandlers, connection) {
37
+ return existingConnectionHandlers.find((x) => x.fConnection.fId() === connection.fId());
38
+ }
39
+ _createConnectionHandler(inputIds, connection) {
40
+ let result;
41
+ if (inputIds.includes(connection.fInputId)) {
42
+ result = new SourceTargetConnectionDragHandler(this._injector, connection);
43
+ }
44
+ else {
45
+ result = new SourceConnectionDragHandler(this._injector, connection);
46
+ }
47
+ return result;
48
+ }
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateOutputConnectionHandlerAndSetToNodeHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
50
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateOutputConnectionHandlerAndSetToNodeHandler });
51
+ };
52
+ CreateOutputConnectionHandlerAndSetToNodeHandler = __decorate([
53
+ FExecutionRegister(CreateOutputConnectionHandlerAndSetToNodeHandlerRequest)
54
+ ], CreateOutputConnectionHandlerAndSetToNodeHandler);
55
+ export { CreateOutputConnectionHandlerAndSetToNodeHandler };
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateOutputConnectionHandlerAndSetToNodeHandler, decorators: [{
57
+ type: Injectable
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2NyZWF0ZS1vdXRwdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyL2NyZWF0ZS1vdXRwdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVEQUF1RCxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDN0ksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFHbEUsT0FBTyxFQUVMLGlDQUFpQyxFQUNqQywyQkFBMkIsR0FDNUIsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFJakMsSUFBTSxnREFBZ0QsR0FBdEQsTUFBTSxnREFBZ0Q7SUFHMUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFOUMsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFnRTtRQUM1RSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNuRixJQUFJLENBQUMsb0NBQW9DLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFdBQXNCO1FBQ2pELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXpELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFdBQXNCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO2FBQ3hCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDcEQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVPLG9DQUFvQyxDQUFDLFVBQTJCLEVBQUUsT0FBZ0U7UUFDeEksSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZCLGlCQUFpQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2hGLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsT0FBTyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLDZCQUE2QixDQUFDLDBCQUF1RCxFQUFFLFVBQTJCO1FBQ3hILE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxRQUFrQixFQUFFLFVBQTJCO1FBQzlFLElBQUksTUFBaUMsQ0FBQztRQUN0QyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxHQUFHLElBQUksaUNBQWlDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RSxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDdEUsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7d0dBbERVLGdEQUFnRDs0R0FBaEQsZ0RBQWdEOztBQUFoRCxnREFBZ0Q7SUFENUQsa0JBQWtCLENBQUMsdURBQXVELENBQUM7R0FDL0QsZ0RBQWdELENBbUQ1RDs7NEZBbkRZLGdEQUFnRDtrQkFGNUQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENyZWF0ZU91dHB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3QgfSBmcm9tICcuL2NyZWF0ZS1vdXRwdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHtcbiAgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlcixcbiAgU291cmNlVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyLFxuICBTb3VyY2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIsXG59IGZyb20gXCIuLi8uLi9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnNcIjtcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDcmVhdGVPdXRwdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZU91dHB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Q3JlYXRlT3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHJpdmF0ZSBnZXQgX2Nvbm5lY3Rpb25zKCk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZkNvbm5lY3Rpb25zO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDcmVhdGVPdXRwdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5fZ2V0T3V0cHV0Q29ubmVjdGlvbnMocmVxdWVzdC5mRHJhZ0hhbmRsZXIubm9kZU9yR3JvdXApLmZvckVhY2goKGZDb25uZWN0aW9uKSA9PiB7XG4gICAgICB0aGlzLl9jcmVhdGVBbmRTZXRDb25uZWN0aW9uVG9Ob2RlSGFuZGxlcihmQ29ubmVjdGlvbiwgcmVxdWVzdCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgX2dldE91dHB1dENvbm5lY3Rpb25zKG5vZGVPckdyb3VwOiBGTm9kZUJhc2UpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgY29uc3QgaWRzID0gbmV3IFNldCh0aGlzLl9nZXROb2RlT3V0cHV0SWRzKG5vZGVPckdyb3VwKSk7XG5cbiAgICByZXR1cm4gdGhpcy5fY29ubmVjdGlvbnMuZmlsdGVyKCh4KSA9PiBpZHMuaGFzKHguZk91dHB1dElkKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlT3V0cHV0SWRzKG5vZGVPckdyb3VwOiBGTm9kZUJhc2UpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZPdXRwdXRzXG4gICAgICAuZmlsdGVyKCh4KSA9PiBub2RlT3JHcm91cC5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQW5kU2V0Q29ubmVjdGlvblRvTm9kZUhhbmRsZXIoY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLCByZXF1ZXN0OiBDcmVhdGVPdXRwdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJSZXF1ZXN0KTogdm9pZCB7XG4gICAgbGV0IGNvbm5lY3Rpb25IYW5kbGVyID0gdGhpcy5fZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcihyZXF1ZXN0LmV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXJzLCBjb25uZWN0aW9uKTtcbiAgICBpZiAoIWNvbm5lY3Rpb25IYW5kbGVyKSB7XG4gICAgICBjb25uZWN0aW9uSGFuZGxlciA9IHRoaXMuX2NyZWF0ZUNvbm5lY3Rpb25IYW5kbGVyKHJlcXVlc3QuaW5wdXRJZHMsIGNvbm5lY3Rpb24pO1xuICAgICAgcmVxdWVzdC5leGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVycy5wdXNoKGNvbm5lY3Rpb25IYW5kbGVyKTtcbiAgICB9XG4gICAgcmVxdWVzdC5mRHJhZ0hhbmRsZXIuZlNvdXJjZUhhbmRsZXJzLnB1c2goY29ubmVjdGlvbkhhbmRsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcihleGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVyczogQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlcltdLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnMuZmluZCgoeCkgPT4geC5mQ29ubmVjdGlvbi5mSWQoKSA9PT0gY29ubmVjdGlvbi5mSWQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVDb25uZWN0aW9uSGFuZGxlcihpbnB1dElkczogc3RyaW5nW10sIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuICAgIGxldCByZXN1bHQ6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXI7XG4gICAgaWYgKGlucHV0SWRzLmluY2x1ZGVzKGNvbm5lY3Rpb24uZklucHV0SWQpKSB7XG4gICAgICByZXN1bHQgPSBuZXcgU291cmNlVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyKHRoaXMuX2luamVjdG9yLCBjb25uZWN0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gbmV3IFNvdXJjZUNvbm5lY3Rpb25EcmFnSGFuZGxlcih0aGlzLl9pbmplY3RvciwgY29ubmVjdGlvbilcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG5cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './create-output-connection-handler-and-set-to-node-handler';
2
+ export * from './create-output-connection-handler-and-set-to-node-handler-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2NyZWF0ZS1vdXRwdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNERBQTRELENBQUM7QUFFM0UsY0FBYyxvRUFBb0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1vdXRwdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyLXJlcXVlc3QnO1xuIl19
@@ -0,0 +1,10 @@
1
+ export class CreateSummaryDragHandlerRequest {
2
+ roots;
3
+ list;
4
+ static fToken = Symbol('CreateSummaryDragHandlerRequest');
5
+ constructor(roots, list) {
6
+ this.roots = roots;
7
+ this.list = list;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN1bW1hcnktZHJhZy1oYW5kbGVyLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2NyZWF0ZS1zdW1tYXJ5LWRyYWctaGFuZGxlci9jcmVhdGUtc3VtbWFyeS1kcmFnLWhhbmRsZXItcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sK0JBQStCO0lBSXhCO0lBQ0E7SUFKbEIsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUVuRSxZQUNrQixLQUF3QixFQUN4QixJQUF1QjtRQUR2QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixTQUFJLEdBQUosSUFBSSxDQUFtQjtJQUV6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW92ZURyYWdIYW5kbGVyIH0gZnJvbSBcIi4uLy4uL21vdmUtZHJhZy1oYW5kbGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVTdW1tYXJ5RHJhZ0hhbmRsZXJSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnQ3JlYXRlU3VtbWFyeURyYWdIYW5kbGVyUmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByb290czogTW92ZURyYWdIYW5kbGVyW10sXG4gICAgcHVibGljIHJlYWRvbmx5IGxpc3Q6IE1vdmVEcmFnSGFuZGxlcltdLFxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,33 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable, Injector } from '@angular/core';
3
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
4
+ import { CreateSummaryDragHandlerRequest } from "./create-summary-drag-handler-request";
5
+ import { MoveSummaryDragHandler } from "../../move-summary-drag-handler";
6
+ import { CalculateDragLimitsRequest } from "../calculate-drag-limits";
7
+ import * as i0 from "@angular/core";
8
+ let CreateSummaryDragHandler = class CreateSummaryDragHandler {
9
+ _injector = inject(Injector);
10
+ _mediator = inject(FMediator);
11
+ handle({ roots, list }) {
12
+ this._setLimitsToTheRootHandlers(roots);
13
+ return new MoveSummaryDragHandler(this._injector, list, roots);
14
+ }
15
+ _setLimitsToTheRootHandlers(roots) {
16
+ roots.forEach((dragHandler) => {
17
+ dragHandler.setLimits(this._calculateDragLimits(dragHandler.nodeOrGroup));
18
+ });
19
+ }
20
+ _calculateDragLimits(nodeOrGroup) {
21
+ return this._mediator.execute(new CalculateDragLimitsRequest(nodeOrGroup));
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateSummaryDragHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateSummaryDragHandler });
25
+ };
26
+ CreateSummaryDragHandler = __decorate([
27
+ FExecutionRegister(CreateSummaryDragHandlerRequest)
28
+ ], CreateSummaryDragHandler);
29
+ export { CreateSummaryDragHandler };
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateSummaryDragHandler, decorators: [{
31
+ type: Injectable
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN1bW1hcnktZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jcmVhdGUtc3VtbWFyeS1kcmFnLWhhbmRsZXIvY3JlYXRlLXN1bW1hcnktZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBZSxNQUFNLDBCQUEwQixDQUFDOztBQUk1RSxJQUFNLHdCQUF3QixHQUE5QixNQUFNLHdCQUF3QjtJQUdsQixTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBbUM7UUFDNUQsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sMkJBQTJCLENBQUMsS0FBd0I7UUFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQzVCLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFdBQXNCO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQWMsSUFBSSwwQkFBMEIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7d0dBcEJVLHdCQUF3Qjs0R0FBeEIsd0JBQXdCOztBQUF4Qix3QkFBd0I7SUFEcEMsa0JBQWtCLENBQUMsK0JBQStCLENBQUM7R0FDdkMsd0JBQXdCLENBcUJwQzs7NEZBckJZLHdCQUF3QjtrQkFGcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBDcmVhdGVTdW1tYXJ5RHJhZ0hhbmRsZXJSZXF1ZXN0IH0gZnJvbSBcIi4vY3JlYXRlLXN1bW1hcnktZHJhZy1oYW5kbGVyLXJlcXVlc3RcIjtcbmltcG9ydCB7IE1vdmVTdW1tYXJ5RHJhZ0hhbmRsZXIgfSBmcm9tIFwiLi4vLi4vbW92ZS1zdW1tYXJ5LWRyYWctaGFuZGxlclwiO1xuaW1wb3J0IHsgTW92ZURyYWdIYW5kbGVyIH0gZnJvbSBcIi4uLy4uL21vdmUtZHJhZy1oYW5kbGVyXCI7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZi1ub2RlXCI7XG5pbXBvcnQgeyBDYWxjdWxhdGVEcmFnTGltaXRzUmVxdWVzdCwgSURyYWdMaW1pdHMgfSBmcm9tIFwiLi4vY2FsY3VsYXRlLWRyYWctbGltaXRzXCI7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ3JlYXRlU3VtbWFyeURyYWdIYW5kbGVyUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBDcmVhdGVTdW1tYXJ5RHJhZ0hhbmRsZXJcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENyZWF0ZVN1bW1hcnlEcmFnSGFuZGxlclJlcXVlc3QsIE1vdmVTdW1tYXJ5RHJhZ0hhbmRsZXI+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHVibGljIGhhbmRsZSh7IHJvb3RzLCBsaXN0IH06IENyZWF0ZVN1bW1hcnlEcmFnSGFuZGxlclJlcXVlc3QpOiBNb3ZlU3VtbWFyeURyYWdIYW5kbGVyIHtcbiAgICB0aGlzLl9zZXRMaW1pdHNUb1RoZVJvb3RIYW5kbGVycyhyb290cyk7XG5cbiAgICByZXR1cm4gbmV3IE1vdmVTdW1tYXJ5RHJhZ0hhbmRsZXIodGhpcy5faW5qZWN0b3IsIGxpc3QsIHJvb3RzKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldExpbWl0c1RvVGhlUm9vdEhhbmRsZXJzKHJvb3RzOiBNb3ZlRHJhZ0hhbmRsZXJbXSk6IHZvaWQge1xuICAgIHJvb3RzLmZvckVhY2goKGRyYWdIYW5kbGVyKSA9PiB7XG4gICAgICBkcmFnSGFuZGxlci5zZXRMaW1pdHModGhpcy5fY2FsY3VsYXRlRHJhZ0xpbWl0cyhkcmFnSGFuZGxlci5ub2RlT3JHcm91cCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlRHJhZ0xpbWl0cyhub2RlT3JHcm91cDogRk5vZGVCYXNlKTogSURyYWdMaW1pdHMge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElEcmFnTGltaXRzPihuZXcgQ2FsY3VsYXRlRHJhZ0xpbWl0c1JlcXVlc3Qobm9kZU9yR3JvdXApKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './create-summary-drag-handler';
2
+ export * from './create-summary-drag-handler-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2NyZWF0ZS1zdW1tYXJ5LWRyYWctaGFuZGxlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1zdW1tYXJ5LWRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLXN1bW1hcnktZHJhZy1oYW5kbGVyLXJlcXVlc3QnO1xuIl19
@@ -0,0 +1,10 @@
1
+ export class GetNodeBoundingIncludePaddingsRequest {
2
+ nodeOrGroup;
3
+ childrenPaddings;
4
+ static fToken = Symbol('GetNodeBoundingIncludePaddingsRequest');
5
+ constructor(nodeOrGroup, childrenPaddings) {
6
+ this.nodeOrGroup = nodeOrGroup;
7
+ this.childrenPaddings = childrenPaddings;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtYm91bmRpbmctaW5jbHVkZS1wYWRkaW5ncy1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9nZXQtbm9kZS1ib3VuZGluZy1pbmNsdWRlLXBhZGRpbmdzL2dldC1ub2RlLWJvdW5kaW5nLWluY2x1ZGUtcGFkZGluZ3MtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8scUNBQXFDO0lBSTlCO0lBQ0E7SUFKbEIsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUV6RSxZQUNrQixXQUFzQixFQUN0QixnQkFBa0Q7UUFEbEQsZ0JBQVcsR0FBWCxXQUFXLENBQVc7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQztJQUVwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2Ytbm9kZVwiO1xuXG5leHBvcnQgY2xhc3MgR2V0Tm9kZUJvdW5kaW5nSW5jbHVkZVBhZGRpbmdzUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0dldE5vZGVCb3VuZGluZ0luY2x1ZGVQYWRkaW5nc1JlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgbm9kZU9yR3JvdXA6IEZOb2RlQmFzZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hpbGRyZW5QYWRkaW5nczogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,13 @@
1
+ export class GetNodeBoundingIncludePaddingsResponse {
2
+ nodeOrGroup;
3
+ boundingRect;
4
+ innerRect;
5
+ paddings;
6
+ constructor(nodeOrGroup, boundingRect, innerRect, paddings) {
7
+ this.nodeOrGroup = nodeOrGroup;
8
+ this.boundingRect = boundingRect;
9
+ this.innerRect = innerRect;
10
+ this.paddings = paddings;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtYm91bmRpbmctaW5jbHVkZS1wYWRkaW5ncy1yZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZ2V0LW5vZGUtYm91bmRpbmctaW5jbHVkZS1wYWRkaW5ncy9nZXQtbm9kZS1ib3VuZGluZy1pbmNsdWRlLXBhZGRpbmdzLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxzQ0FBc0M7SUFHeEM7SUFDQTtJQUNBO0lBQ0E7SUFKVCxZQUNTLFdBQXNCLEVBQ3RCLFlBQW1CLEVBQ25CLFNBQWdCLEVBQ2hCLFFBQTBDO1FBSDFDLGdCQUFXLEdBQVgsV0FBVyxDQUFXO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFPO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQU87UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBa0M7SUFFbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2Ytbm9kZVwiO1xuaW1wb3J0IHsgSVJlY3QgfSBmcm9tIFwiQGZvYmxleC8yZFwiO1xuXG5leHBvcnQgY2xhc3MgR2V0Tm9kZUJvdW5kaW5nSW5jbHVkZVBhZGRpbmdzUmVzcG9uc2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBub2RlT3JHcm91cDogRk5vZGVCYXNlLFxuICAgIHB1YmxpYyBib3VuZGluZ1JlY3Q6IElSZWN0LFxuICAgIHB1YmxpYyBpbm5lclJlY3Q6IElSZWN0LFxuICAgIHB1YmxpYyBwYWRkaW5nczogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,39 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { GetNodeBoundingIncludePaddingsRequest } from './get-node-bounding-include-paddings-request';
4
+ import { RectExtensions } from '@foblex/2d';
5
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
+ import { GetNodePaddingRequest, GetNormalizedElementRectRequest } from "../../../../domain";
7
+ import { GetNodeBoundingIncludePaddingsResponse } from "./get-node-bounding-include-paddings-response";
8
+ import * as i0 from "@angular/core";
9
+ let GetNodeBoundingIncludePaddings = class GetNodeBoundingIncludePaddings {
10
+ _mediator = inject(FMediator);
11
+ handle({ nodeOrGroup, childrenPaddings }) {
12
+ return this._rect(nodeOrGroup, childrenPaddings);
13
+ }
14
+ _rect(nodeOrGroup, childrenPaddings) {
15
+ const boundingRect = this._boundingRect(nodeOrGroup);
16
+ const paddings = this._paddings(nodeOrGroup, boundingRect);
17
+ paddings[0] += childrenPaddings[0];
18
+ paddings[1] += childrenPaddings[1];
19
+ paddings[2] += childrenPaddings[2];
20
+ paddings[3] += childrenPaddings[3];
21
+ return new GetNodeBoundingIncludePaddingsResponse(nodeOrGroup, boundingRect, RectExtensions.initialize(boundingRect.x + paddings[0], boundingRect.y + paddings[1], boundingRect.width - paddings[0] - paddings[2], boundingRect.height - paddings[1] - paddings[3]), paddings);
22
+ }
23
+ _boundingRect(nodeOrGroup) {
24
+ return this._mediator.execute(new GetNormalizedElementRectRequest(nodeOrGroup.hostElement));
25
+ }
26
+ _paddings(nodeOrGroup, rect) {
27
+ return this._mediator.execute(new GetNodePaddingRequest(nodeOrGroup, rect));
28
+ }
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNodeBoundingIncludePaddings, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNodeBoundingIncludePaddings });
31
+ };
32
+ GetNodeBoundingIncludePaddings = __decorate([
33
+ FExecutionRegister(GetNodeBoundingIncludePaddingsRequest)
34
+ ], GetNodeBoundingIncludePaddings);
35
+ export { GetNodeBoundingIncludePaddings };
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNodeBoundingIncludePaddings, decorators: [{
37
+ type: Injectable
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtYm91bmRpbmctaW5jbHVkZS1wYWRkaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZ2V0LW5vZGUtYm91bmRpbmctaW5jbHVkZS1wYWRkaW5ncy9nZXQtbm9kZS1ib3VuZGluZy1pbmNsdWRlLXBhZGRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRyxPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1RixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7QUFJaEcsSUFBTSw4QkFBOEIsR0FBcEMsTUFBTSw4QkFBOEI7SUFHeEIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV4QyxNQUFNLENBQUMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQXlDO1FBQ3BGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sS0FBSyxDQUFDLFdBQXNCLEVBQUUsZ0JBQWtEO1FBQ3RGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDM0QsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5DLE9BQU8sSUFBSSxzQ0FBc0MsQ0FDL0MsV0FBVyxFQUNYLFlBQVksRUFDWixjQUFjLENBQUMsVUFBVSxDQUN2QixZQUFZLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFDNUIsWUFBWSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQzVCLFlBQVksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFDOUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUNoRCxFQUNELFFBQVEsQ0FDVCxDQUFBO0lBQ0gsQ0FBQztJQUVPLGFBQWEsQ0FBQyxXQUFzQjtRQUMxQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFRLElBQUksK0JBQStCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVPLFNBQVMsQ0FBQyxXQUFzQixFQUFFLElBQVc7UUFDbkQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBbUMsSUFBSSxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO3dHQXBDVSw4QkFBOEI7NEdBQTlCLDhCQUE4Qjs7QUFBOUIsOEJBQThCO0lBRDFDLGtCQUFrQixDQUFDLHFDQUFxQyxDQUFDO0dBQzdDLDhCQUE4QixDQXFDMUM7OzRGQXJDWSw4QkFBOEI7a0JBRjFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldE5vZGVCb3VuZGluZ0luY2x1ZGVQYWRkaW5nc1JlcXVlc3QgfSBmcm9tICcuL2dldC1ub2RlLWJvdW5kaW5nLWluY2x1ZGUtcGFkZGluZ3MtcmVxdWVzdCc7XG5pbXBvcnQgeyBJUmVjdCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZi1ub2RlXCI7XG5pbXBvcnQgeyBHZXROb2RlUGFkZGluZ1JlcXVlc3QsIEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZG9tYWluXCI7XG5pbXBvcnQgeyBHZXROb2RlQm91bmRpbmdJbmNsdWRlUGFkZGluZ3NSZXNwb25zZSB9IGZyb20gXCIuL2dldC1ub2RlLWJvdW5kaW5nLWluY2x1ZGUtcGFkZGluZ3MtcmVzcG9uc2VcIjtcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXROb2RlQm91bmRpbmdJbmNsdWRlUGFkZGluZ3NSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE5vZGVCb3VuZGluZ0luY2x1ZGVQYWRkaW5nc1xuICBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0Tm9kZUJvdW5kaW5nSW5jbHVkZVBhZGRpbmdzUmVxdWVzdCwgR2V0Tm9kZUJvdW5kaW5nSW5jbHVkZVBhZGRpbmdzUmVzcG9uc2U+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHB1YmxpYyBoYW5kbGUoeyBub2RlT3JHcm91cCwgY2hpbGRyZW5QYWRkaW5ncyB9OiBHZXROb2RlQm91bmRpbmdJbmNsdWRlUGFkZGluZ3NSZXF1ZXN0KTogR2V0Tm9kZUJvdW5kaW5nSW5jbHVkZVBhZGRpbmdzUmVzcG9uc2Uge1xuICAgIHJldHVybiB0aGlzLl9yZWN0KG5vZGVPckdyb3VwLCBjaGlsZHJlblBhZGRpbmdzKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlY3Qobm9kZU9yR3JvdXA6IEZOb2RlQmFzZSwgY2hpbGRyZW5QYWRkaW5nczogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0pOiBHZXROb2RlQm91bmRpbmdJbmNsdWRlUGFkZGluZ3NSZXNwb25zZSB7XG4gICAgY29uc3QgYm91bmRpbmdSZWN0ID0gdGhpcy5fYm91bmRpbmdSZWN0KG5vZGVPckdyb3VwKTtcbiAgICBjb25zdCBwYWRkaW5ncyA9IHRoaXMuX3BhZGRpbmdzKG5vZGVPckdyb3VwLCBib3VuZGluZ1JlY3QpO1xuICAgIHBhZGRpbmdzWzBdICs9IGNoaWxkcmVuUGFkZGluZ3NbMF07XG4gICAgcGFkZGluZ3NbMV0gKz0gY2hpbGRyZW5QYWRkaW5nc1sxXTtcbiAgICBwYWRkaW5nc1syXSArPSBjaGlsZHJlblBhZGRpbmdzWzJdO1xuICAgIHBhZGRpbmdzWzNdICs9IGNoaWxkcmVuUGFkZGluZ3NbM107XG5cbiAgICByZXR1cm4gbmV3IEdldE5vZGVCb3VuZGluZ0luY2x1ZGVQYWRkaW5nc1Jlc3BvbnNlKFxuICAgICAgbm9kZU9yR3JvdXAsXG4gICAgICBib3VuZGluZ1JlY3QsXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgICBib3VuZGluZ1JlY3QueCArIHBhZGRpbmdzWzBdLFxuICAgICAgICBib3VuZGluZ1JlY3QueSArIHBhZGRpbmdzWzFdLFxuICAgICAgICBib3VuZGluZ1JlY3Qud2lkdGggLSBwYWRkaW5nc1swXSAtIHBhZGRpbmdzWzJdLFxuICAgICAgICBib3VuZGluZ1JlY3QuaGVpZ2h0IC0gcGFkZGluZ3NbMV0gLSBwYWRkaW5nc1szXSxcbiAgICAgICksXG4gICAgICBwYWRkaW5ncyxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIF9ib3VuZGluZ1JlY3Qobm9kZU9yR3JvdXA6IEZOb2RlQmFzZSk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJUmVjdD4obmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3Qobm9kZU9yR3JvdXAuaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3BhZGRpbmdzKG5vZGVPckdyb3VwOiBGTm9kZUJhc2UsIHJlY3Q6IElSZWN0KTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdPihuZXcgR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0KG5vZGVPckdyb3VwLCByZWN0KSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './get-node-bounding-include-paddings';
2
+ export * from './get-node-bounding-include-paddings-request';
3
+ export * from './get-node-bounding-include-paddings-response';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2dldC1ub2RlLWJvdW5kaW5nLWluY2x1ZGUtcGFkZGluZ3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLDhDQUE4QyxDQUFBO0FBRTVELGNBQWMsK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1ub2RlLWJvdW5kaW5nLWluY2x1ZGUtcGFkZGluZ3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub2RlLWJvdW5kaW5nLWluY2x1ZGUtcGFkZGluZ3MtcmVxdWVzdCdcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9kZS1ib3VuZGluZy1pbmNsdWRlLXBhZGRpbmdzLXJlc3BvbnNlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1ub2RlLW1vdmUtbGltaXRzLWFuZC1wb3NpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vaS1ub2RlLW1vdmUtbGltaXRzLWFuZC1wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJTm9kZU1vdmVMaW1pdHMgfSBmcm9tICcuL2ktbm9kZS1tb3ZlLWxpbWl0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5vZGVNb3ZlTGltaXRzQW5kUG9zaXRpb24gZXh0ZW5kcyBJTm9kZU1vdmVMaW1pdHMge1xuXG4gIHBvc2l0aW9uOiBJUG9pbnQ7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1ub2RlLW1vdmUtbGltaXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9pLW5vZGUtbW92ZS1saW1pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNaW5NYXhQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElOb2RlTW92ZUxpbWl0cyBleHRlbmRzIElNaW5NYXhQb2ludCB7XG5cbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ export * from './build-drag-hierarchy';
2
+ export * from './calculate-drag-limits';
3
+ export * from './create-summary-drag-handler';
4
+ export * from './get-node-bounding-include-paddings';
5
+ export * from './create-input-connection-handler-and-set-to-node-handler';
6
+ export * from './create-output-connection-handler-and-set-to-node-handler';
7
+ export * from './providers';
8
+ export * from './create-drag-model-from-selection';
9
+ export * from './create-drag-model-from-selection-request';
10
+ export * from './i-node-move-limits';
11
+ export * from './i-node-move-limits-and-position';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsY0FBYywyREFBMkQsQ0FBQztBQUUxRSxjQUFjLDREQUE0RCxDQUFDO0FBRTNFLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUUzRCxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J1aWxkLWRyYWctaGllcmFyY2h5JztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtZHJhZy1saW1pdHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1zdW1tYXJ5LWRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vZGUtYm91bmRpbmctaW5jbHVkZS1wYWRkaW5ncyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWlucHV0LWNvbm5lY3Rpb24taGFuZGxlci1hbmQtc2V0LXRvLW5vZGUtaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLXJlcXVlc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktbm9kZS1tb3ZlLWxpbWl0cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1ub2RlLW1vdmUtbGltaXRzLWFuZC1wb3NpdGlvbic7XG5cbiJdfQ==