@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
@@ -5,57 +5,57 @@ import { Point } from '@foblex/2d';
5
5
  import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
6
  import { FComponentsStore } from '../../../f-storage';
7
7
  import { FDraggableDataContext } from '../../f-draggable-data-context';
8
- import { CreateMoveNodesDragModelFromSelectionRequest } from '../create-move-nodes-drag-model-from-selection';
8
+ import { CreateDragModelFromSelectionRequest } from '../create-drag-model-from-selection';
9
9
  import { isValidEventTrigger, SelectAndUpdateNodeLayerRequest } from '../../../domain';
10
10
  import { isClosestElementHasClass } from '@foblex/utils';
11
- import { LineAlignmentPreparationRequest } from '../line-alignment-preparation';
11
+ import { CreateSnapLinesRequest } from '../create-snap-lines';
12
12
  import * as i0 from "@angular/core";
13
13
  let FNodeMovePreparationExecution = class FNodeMovePreparationExecution {
14
- _fMediator = inject(FMediator);
15
- _fComponentsStore = inject(FComponentsStore);
16
- _fDraggableDataContext = inject(FDraggableDataContext);
14
+ _mediator = inject(FMediator);
15
+ _store = inject(FComponentsStore);
16
+ _dragContext = inject(FDraggableDataContext);
17
17
  get _transform() {
18
- return this._fComponentsStore.fCanvas.transform;
18
+ return this._store.fCanvas.transform;
19
19
  }
20
20
  get _fHost() {
21
- return this._fComponentsStore.fFlow.hostElement;
21
+ return this._store.fFlow.hostElement;
22
22
  }
23
23
  _fNode;
24
- handle(request) {
25
- if (!this._isValid(request) || !this._isValidTrigger(request)) {
24
+ handle({ event, fTrigger }) {
25
+ if (!this._isValid(event) || !this._isValidTrigger(event, fTrigger)) {
26
26
  return;
27
27
  }
28
28
  const summaryDragHandler = this._calculateDraggedItems(this._fNode);
29
- this._fDraggableDataContext.onPointerDownScale = this._transform.scale;
30
- this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
29
+ this._dragContext.onPointerDownScale = this._transform.scale;
30
+ this._dragContext.onPointerDownPosition = Point.fromPoint(event.getPosition())
31
31
  .elementTransform(this._fHost).div(this._transform.scale);
32
- this._fDraggableDataContext.draggableItems = [summaryDragHandler];
33
- if (this._fComponentsStore.fLineAlignment) {
34
- this._fMediator.execute(new LineAlignmentPreparationRequest(summaryDragHandler.fHandlers.map((x) => x.fNode), summaryDragHandler.commonRect));
32
+ this._dragContext.draggableItems = [summaryDragHandler];
33
+ if (this._store.fLineAlignment) {
34
+ this._mediator.execute(new CreateSnapLinesRequest(summaryDragHandler));
35
35
  }
36
36
  }
37
- _isValid(request) {
38
- return this._fDraggableDataContext.isEmpty()
39
- && this._isDragHandleElement(request.event.targetElement)
40
- && !!this._getNode(request.event.targetElement);
37
+ _isValid(event) {
38
+ return this._dragContext.isEmpty()
39
+ && this._isDragHandleElement(event.targetElement)
40
+ && !!this._getNode(event.targetElement);
41
41
  }
42
42
  _isDragHandleElement(element) {
43
43
  return isClosestElementHasClass(element, '.f-drag-handle');
44
44
  }
45
45
  _getNode(element) {
46
- this._fNode = this._fComponentsStore.fNodes
47
- .find(x => x.isContains(element) && !x.fDraggingDisabled);
46
+ this._fNode = this._store.fNodes
47
+ .find(x => x.isContains(element) && !x.fDraggingDisabled());
48
48
  return this._fNode;
49
49
  }
50
- _isValidTrigger(request) {
51
- return isValidEventTrigger(request.event.originalEvent, request.fTrigger);
50
+ _isValidTrigger(event, fTrigger) {
51
+ return isValidEventTrigger(event.originalEvent, fTrigger);
52
52
  }
53
53
  //We drag nodes from selection model
54
54
  _calculateDraggedItems(fNode) {
55
55
  let result;
56
- if (!fNode.fSelectionDisabled) {
56
+ if (!fNode.fSelectionDisabled()) {
57
57
  // Need to select node before drag
58
- this._fMediator.execute(new SelectAndUpdateNodeLayerRequest(fNode));
58
+ this._mediator.execute(new SelectAndUpdateNodeLayerRequest(fNode));
59
59
  result = this._dragModelFromSelection();
60
60
  }
61
61
  else {
@@ -65,7 +65,7 @@ let FNodeMovePreparationExecution = class FNodeMovePreparationExecution {
65
65
  return result;
66
66
  }
67
67
  _dragModelFromSelection(nodeWithDisabledSelection) {
68
- return this._fMediator.execute(new CreateMoveNodesDragModelFromSelectionRequest(nodeWithDisabledSelection));
68
+ return this._mediator.execute(new CreateDragModelFromSelectionRequest(nodeWithDisabledSelection));
69
69
  }
70
70
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNodeMovePreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
71
71
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNodeMovePreparationExecution });
@@ -77,4 +77,4 @@ export { FNodeMovePreparationExecution };
77
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNodeMovePreparationExecution, decorators: [{
78
78
  type: Injectable
79
79
  }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtcHJlcGFyYXRpb24uZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9tb3ZlLXByZXBhcmF0aW9uL2Ytbm9kZS1tb3ZlLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFtQixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFLekUsSUFBTSw2QkFBNkIsR0FBbkMsTUFBTSw2QkFBNkI7SUFFdkIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUV4RSxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJ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QUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyx5QkFBcUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FDNUIsSUFBSSw0Q0FBNEMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUM1RSxDQUFDO0lBQ0osQ0FBQzt3R0E1RVUsNkJBQTZCOzRHQUE3Qiw2QkFBNkI7O0FBQTdCLDZCQUE2QjtJQUR6QyxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQztHQUNuQyw2QkFBNkIsQ0E2RXpDOzs0RkE3RVksNkJBQTZCO2tCQUZ6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2Ytbm9kZS1tb3ZlLXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVRyYW5zZm9ybU1vZGVsLCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgaXNWYWxpZEV2ZW50VHJpZ2dlciwgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBpc0Nsb3Nlc3RFbGVtZW50SGFzQ2xhc3MgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuLi9saW5lLWFsaWdubWVudC1wcmVwYXJhdGlvbic7XG5pbXBvcnQgeyBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLXN1bW1hcnktbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRk5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEZOb2RlTW92ZVByZXBhcmF0aW9uRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mSG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfZk5vZGU6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLl9pc1ZhbGlkKHJlcXVlc3QpIHx8ICF0aGlzLl9pc1ZhbGlkVHJpZ2dlcihyZXF1ZXN0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN1bW1hcnlEcmFnSGFuZGxlciA9IHRoaXMuX2NhbGN1bGF0ZURyYWdnZWRJdGVtcyh0aGlzLl9mTm9kZSEpO1xuXG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSA9IHRoaXMuX3RyYW5zZm9ybS5zY2FsZTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uID0gUG9pbnQuZnJvbVBvaW50KHJlcXVlc3QuZXZlbnQuZ2V0UG9zaXRpb24oKSlcbiAgICAgIC5lbGVtZW50VHJhbnNmb3JtKHRoaXMuX2ZIb3N0KS5kaXYodGhpcy5fdHJhbnNmb3JtLnNjYWxlKTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMgPSBbc3VtbWFyeURyYWdIYW5kbGVyXTtcblxuICAgIGlmKHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkxpbmVBbGlnbm1lbnQpIHtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgICBuZXcgTGluZUFsaWdubWVudFByZXBhcmF0aW9uUmVxdWVzdChcbiAgICAgICAgICBzdW1tYXJ5RHJhZ0hhbmRsZXIuZkhhbmRsZXJzLm1hcCgoeCkgPT4geC5mTm9kZSksIHN1bW1hcnlEcmFnSGFuZGxlci5jb21tb25SZWN0XG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZChyZXF1ZXN0OiBGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzRW1wdHkoKVxuICAgICAgJiYgdGhpcy5faXNEcmFnSGFuZGxlRWxlbWVudChyZXF1ZXN0LmV2ZW50LnRhcmdldEVsZW1lbnQpXG4gICAgICAmJiAhIXRoaXMuX2dldE5vZGUocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ0hhbmRsZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNDbG9zZXN0RWxlbWVudEhhc0NsYXNzKGVsZW1lbnQsICcuZi1kcmFnLWhhbmRsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5fZk5vZGUgPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlc1xuICAgICAgLmZpbmQoeCA9PiB4LmlzQ29udGFpbnMoZWxlbWVudCkgJiYgIXguZkRyYWdnaW5nRGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzLl9mTm9kZTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWRUcmlnZ2VyKHJlcXVlc3Q6IEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRXZlbnRUcmlnZ2VyKHJlcXVlc3QuZXZlbnQub3JpZ2luYWxFdmVudCwgcmVxdWVzdC5mVHJpZ2dlcik7XG4gIH1cblxuICAvL1dlIGRyYWcgbm9kZXMgZnJvbSBzZWxlY3Rpb24gbW9kZWxcbiAgcHJpdmF0ZSBfY2FsY3VsYXRlRHJhZ2dlZEl0ZW1zKGZOb2RlOiBGTm9kZUJhc2UpOiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIge1xuICAgIGxldCByZXN1bHQ6IEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcjtcbiAgICBpZiAoIWZOb2RlLmZTZWxlY3Rpb25EaXNhYmxlZCkge1xuICAgICAgLy8gTmVlZCB0byBzZWxlY3Qgbm9kZSBiZWZvcmUgZHJhZ1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QoZk5vZGUpKTtcblxuICAgICAgcmVzdWx0ID0gdGhpcy5fZHJhZ01vZGVsRnJvbVNlbGVjdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVc2VyIGNhbiBkcmFnIG5vZGUgdGhhdCBjYW4ndCBiZSBzZWxlY3RlZFxuICAgICAgcmVzdWx0ID0gdGhpcy5fZHJhZ01vZGVsRnJvbVNlbGVjdGlvbihmTm9kZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9kcmFnTW9kZWxGcm9tU2VsZWN0aW9uKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdChub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtcHJlcGFyYXRpb24uZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9tb3ZlLXByZXBhcmF0aW9uL2Ytbm9kZS1tb3ZlLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFtQixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFGLE9BQU8sRUFBaUIsbUJBQW1CLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBTXZELElBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQTZCO0lBRXZCLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFlBQVksR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUU5RCxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENB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LElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUMzQixJQUFJLG1DQUFtQyxDQUFDLHlCQUF5QixDQUFDLENBQ25FLENBQUM7SUFDSixDQUFDO3dHQTFFVSw2QkFBNkI7NEdBQTdCLDZCQUE2Qjs7QUFBN0IsNkJBQTZCO0lBRHpDLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDO0dBQ25DLDZCQUE2QixDQTJFekM7OzRGQTNFWSw2QkFBNkI7a0JBRnpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZi1ub2RlLW1vdmUtcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBJVHJhbnNmb3JtTW9kZWwsIFBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IENyZWF0ZURyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi4vY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgRkV2ZW50VHJpZ2dlciwgaXNWYWxpZEV2ZW50VHJpZ2dlciwgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBpc0Nsb3Nlc3RFbGVtZW50SGFzQ2xhc3MgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IENyZWF0ZVNuYXBMaW5lc1JlcXVlc3QgfSBmcm9tICcuLi9jcmVhdGUtc25hcC1saW5lcyc7XG5pbXBvcnQgeyBNb3ZlU3VtbWFyeURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbW92ZS1zdW1tYXJ5LWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJUG9pbnRlckV2ZW50IH0gZnJvbSBcIi4uLy4uLy4uL2RyYWctdG9vbGtpdFwiO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBGTm9kZU1vdmVQcmVwYXJhdGlvbkV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Rk5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RyYWdDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIF9mTm9kZTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBoYW5kbGUoeyBldmVudCwgZlRyaWdnZXIgfTogRk5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkKGV2ZW50KSB8fCAhdGhpcy5faXNWYWxpZFRyaWdnZXIoZXZlbnQsIGZUcmlnZ2VyKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN1bW1hcnlEcmFnSGFuZGxlciA9IHRoaXMuX2NhbGN1bGF0ZURyYWdnZWRJdGVtcyh0aGlzLl9mTm9kZSEpO1xuXG4gICAgdGhpcy5fZHJhZ0NvbnRleHQub25Qb2ludGVyRG93blNjYWxlID0gdGhpcy5fdHJhbnNmb3JtLnNjYWxlO1xuICAgIHRoaXMuX2RyYWdDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbiA9IFBvaW50LmZyb21Qb2ludChldmVudC5nZXRQb3NpdGlvbigpKVxuICAgICAgLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkhvc3QpLmRpdih0aGlzLl90cmFuc2Zvcm0uc2NhbGUpO1xuICAgIHRoaXMuX2RyYWdDb250ZXh0LmRyYWdnYWJsZUl0ZW1zID0gW3N1bW1hcnlEcmFnSGFuZGxlcl07XG5cbiAgICBpZiAodGhpcy5fc3RvcmUuZkxpbmVBbGlnbm1lbnQpIHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IENyZWF0ZVNuYXBMaW5lc1JlcXVlc3Qoc3VtbWFyeURyYWdIYW5kbGVyKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZChldmVudDogSVBvaW50ZXJFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kcmFnQ29udGV4dC5pc0VtcHR5KClcbiAgICAgICYmIHRoaXMuX2lzRHJhZ0hhbmRsZUVsZW1lbnQoZXZlbnQudGFyZ2V0RWxlbWVudClcbiAgICAgICYmICEhdGhpcy5fZ2V0Tm9kZShldmVudC50YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ0hhbmRsZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNDbG9zZXN0RWxlbWVudEhhc0NsYXNzKGVsZW1lbnQsICcuZi1kcmFnLWhhbmRsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5fZk5vZGUgPSB0aGlzLl9zdG9yZS5mTm9kZXNcbiAgICAgIC5maW5kKHggPT4geC5pc0NvbnRhaW5zKGVsZW1lbnQpICYmICF4LmZEcmFnZ2luZ0Rpc2FibGVkKCkpO1xuXG4gICAgcmV0dXJuIHRoaXMuX2ZOb2RlO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZFRyaWdnZXIoZXZlbnQ6IElQb2ludGVyRXZlbnQsIGZUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVmFsaWRFdmVudFRyaWdnZXIoZXZlbnQub3JpZ2luYWxFdmVudCwgZlRyaWdnZXIpO1xuICB9XG5cbiAgLy9XZSBkcmFnIG5vZGVzIGZyb20gc2VsZWN0aW9uIG1vZGVsXG4gIHByaXZhdGUgX2NhbGN1bGF0ZURyYWdnZWRJdGVtcyhmTm9kZTogRk5vZGVCYXNlKTogTW92ZVN1bW1hcnlEcmFnSGFuZGxlciB7XG4gICAgbGV0IHJlc3VsdDogTW92ZVN1bW1hcnlEcmFnSGFuZGxlcjtcbiAgICBpZiAoIWZOb2RlLmZTZWxlY3Rpb25EaXNhYmxlZCgpKSB7XG4gICAgICAvLyBOZWVkIHRvIHNlbGVjdCBub2RlIGJlZm9yZSBkcmFnXG4gICAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJSZXF1ZXN0KGZOb2RlKSk7XG5cbiAgICAgIHJlc3VsdCA9IHRoaXMuX2RyYWdNb2RlbEZyb21TZWxlY3Rpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXNlciBjYW4gZHJhZyBub2RlIHRoYXQgY2FuJ3QgYmUgc2VsZWN0ZWRcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2RyYWdNb2RlbEZyb21TZWxlY3Rpb24oZk5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9kcmFnTW9kZWxGcm9tU2VsZWN0aW9uKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBNb3ZlU3VtbWFyeURyYWdIYW5kbGVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBDcmVhdGVEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdChub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -7,4 +7,4 @@ export class FNodeMovePreparationRequest {
7
7
  this.fTrigger = fTrigger;
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtcHJlcGFyYXRpb24ucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvbW92ZS1wcmVwYXJhdGlvbi9mLW5vZGUtbW92ZS1wcmVwYXJhdGlvbi5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTywyQkFBMkI7SUFJN0I7SUFDQTtJQUpULE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFL0QsWUFDUyxLQUFvQixFQUNwQixRQUF1QjtRQUR2QixVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWU7SUFFaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZFdmVudFRyaWdnZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHtJUG9pbnRlckV2ZW50fSBmcm9tIFwiLi4vLi4vLi4vZHJhZy10b29sa2l0XCI7XG5cbmV4cG9ydCBjbGFzcyBGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZXZlbnQ6IElQb2ludGVyRXZlbnQsXG4gICAgcHVibGljIGZUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyXG4gICkge1xuICB9XG59XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtcHJlcGFyYXRpb24ucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvbW92ZS1wcmVwYXJhdGlvbi9mLW5vZGUtbW92ZS1wcmVwYXJhdGlvbi5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTywyQkFBMkI7SUFJN0I7SUFDQTtJQUpULE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFL0QsWUFDUyxLQUFvQixFQUNwQixRQUF1QjtRQUR2QixVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWU7SUFFaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZFdmVudFRyaWdnZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gXCIuLi8uLi8uLi9kcmFnLXRvb2xraXRcIjtcblxuZXhwb3J0IGNsYXNzIEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0ZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBldmVudDogSVBvaW50ZXJFdmVudCxcbiAgICBwdWJsaWMgZlRyaWdnZXI6IEZFdmVudFRyaWdnZXIsXG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { RectExtensions } from '@foblex/2d';
2
+ export class MoveSummaryDragHandler {
3
+ allDraggedNodeHandlers;
4
+ rootHandlers;
5
+ fEventType = 'move-node';
6
+ fData;
7
+ _lineAlignment = null;
8
+ constructor(_injector, allDraggedNodeHandlers, rootHandlers) {
9
+ this.allDraggedNodeHandlers = allDraggedNodeHandlers;
10
+ this.rootHandlers = rootHandlers;
11
+ this.fData = {
12
+ fNodeIds: allDraggedNodeHandlers.map((x) => x.nodeOrGroup.fId()),
13
+ };
14
+ }
15
+ setLineAlignment(handler) {
16
+ this._lineAlignment = handler;
17
+ }
18
+ findClosestAlignment(difference) {
19
+ this.rootHandlers.forEach((x) => x.onPointerMove(difference));
20
+ return this._lineAlignment?.findClosestAlignment(this._unionRect());
21
+ }
22
+ prepareDragSequence() {
23
+ this.rootHandlers.forEach((x) => x.prepareDragSequence());
24
+ }
25
+ onPointerMove(difference) {
26
+ this.rootHandlers.forEach((x) => x.onPointerMove(difference));
27
+ this._lineAlignment?.drawGuidesFor(this._unionRect());
28
+ }
29
+ onPointerUp() {
30
+ this.rootHandlers.forEach((x) => x.onPointerUp());
31
+ this._lineAlignment?.clearGuides();
32
+ requestAnimationFrame(() => this._refreshDraggedNodes());
33
+ }
34
+ _unionRect() {
35
+ return RectExtensions.union(this._getRootRects()) || RectExtensions.initialize();
36
+ }
37
+ _getRootRects() {
38
+ return this.rootHandlers.map((x) => x.getLastRect());
39
+ }
40
+ _refreshDraggedNodes() {
41
+ this.rootHandlers.forEach(({ nodeOrGroup }) => nodeOrGroup.refresh());
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1zdW1tYXJ5LWRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvbW92ZS1zdW1tYXJ5LWRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQU8zRCxNQUFNLE9BQU8sc0JBQXNCO0lBU3hCO0lBQ0E7SUFSTyxVQUFVLEdBQUcsV0FBVyxDQUFDO0lBQ3pCLEtBQUssQ0FBTTtJQUVuQixjQUFjLEdBQWdDLElBQUksQ0FBQztJQUUzRCxZQUNFLFNBQW1CLEVBQ1osc0JBQXlDLEVBQ3pDLFlBQStCO1FBRC9CLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBbUI7UUFDekMsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBRXRDLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ2pFLENBQUM7SUFDSixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsT0FBNkI7UUFDbkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUVNLG9CQUFvQixDQUFDLFVBQWtCO1FBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFOUQsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ25DLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNuRixDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElGRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuL21vdmUtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFNuYXBMaW5lc0RyYWdIYW5kbGVyIH0gZnJvbSBcIi4vY3JlYXRlLXNuYXAtbGluZXMvc25hcC1saW5lcy5kcmFnLWhhbmRsZXJcIjtcbmltcG9ydCB7IElTbmFwUmVzdWx0IH0gZnJvbSBcIi4uLy4uL2YtbGluZS1hbGlnbm1lbnRcIjtcblxuZXhwb3J0IGNsYXNzIE1vdmVTdW1tYXJ5RHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRkRyYWdIYW5kbGVyIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkV2ZW50VHlwZSA9ICdtb3ZlLW5vZGUnO1xuICBwdWJsaWMgcmVhZG9ubHkgZkRhdGE6IGFueTtcblxuICBwcml2YXRlIF9saW5lQWxpZ25tZW50OiBTbmFwTGluZXNEcmFnSGFuZGxlciB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHVibGljIGFsbERyYWdnZWROb2RlSGFuZGxlcnM6IE1vdmVEcmFnSGFuZGxlcltdLFxuICAgIHB1YmxpYyByb290SGFuZGxlcnM6IE1vdmVEcmFnSGFuZGxlcltdLFxuICApIHtcbiAgICB0aGlzLmZEYXRhID0ge1xuICAgICAgZk5vZGVJZHM6IGFsbERyYWdnZWROb2RlSGFuZGxlcnMubWFwKCh4KSA9PiB4Lm5vZGVPckdyb3VwLmZJZCgpKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHNldExpbmVBbGlnbm1lbnQoaGFuZGxlcjogU25hcExpbmVzRHJhZ0hhbmRsZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9saW5lQWxpZ25tZW50ID0gaGFuZGxlcjtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQ2xvc2VzdEFsaWdubWVudChkaWZmZXJlbmNlOiBJUG9pbnQpOiBJU25hcFJlc3VsdCB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5yb290SGFuZGxlcnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2UpKTtcblxuICAgIHJldHVybiB0aGlzLl9saW5lQWxpZ25tZW50Py5maW5kQ2xvc2VzdEFsaWdubWVudCh0aGlzLl91bmlvblJlY3QoKSk7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJvb3RIYW5kbGVycy5mb3JFYWNoKCh4KSA9PiB4LnByZXBhcmVEcmFnU2VxdWVuY2UoKSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJvb3RIYW5kbGVycy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZSkpO1xuICAgIHRoaXMuX2xpbmVBbGlnbm1lbnQ/LmRyYXdHdWlkZXNGb3IodGhpcy5fdW5pb25SZWN0KCkpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMucm9vdEhhbmRsZXJzLmZvckVhY2goKHgpID0+IHgub25Qb2ludGVyVXAoKSk7XG4gICAgdGhpcy5fbGluZUFsaWdubWVudD8uY2xlYXJHdWlkZXMoKTtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5fcmVmcmVzaERyYWdnZWROb2RlcygpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VuaW9uUmVjdCgpOiBJUmVjdCB7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLnVuaW9uKHRoaXMuX2dldFJvb3RSZWN0cygpKSB8fCBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRSb290UmVjdHMoKTogSVJlY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMucm9vdEhhbmRsZXJzLm1hcCgoeCkgPT4geC5nZXRMYXN0UmVjdCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZnJlc2hEcmFnZ2VkTm9kZXMoKTogdm9pZCB7XG4gICAgdGhpcy5yb290SGFuZGxlcnMuZm9yRWFjaCgoeyBub2RlT3JHcm91cCB9KSA9PiBub2RlT3JHcm91cC5yZWZyZXNoKCkpO1xuICB9XG59XG4iXX0=
@@ -1,11 +1,11 @@
1
- import { CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS } from './create-move-nodes-drag-model-from-selection';
1
+ import { CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS } from './create-drag-model-from-selection';
2
2
  import { FNodeMoveFinalizeExecution } from './move-finalize';
3
3
  import { FNodeMovePreparationExecution } from './move-preparation';
4
- import { LineAlignmentPreparationExecution } from './line-alignment-preparation';
4
+ import { CreateSnapLines } from './create-snap-lines';
5
5
  export const NODE_PROVIDERS = [
6
6
  ...CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS,
7
- LineAlignmentPreparationExecution,
7
+ CreateSnapLines,
8
8
  FNodeMoveFinalizeExecution,
9
9
  FNodeMovePreparationExecution,
10
10
  ];
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDckgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFakYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBRTVCLEdBQUcsb0RBQW9EO0lBRXZELGlDQUFpQztJQUVqQywwQkFBMEI7SUFFMUIsNkJBQTZCO0NBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDUkVBVEVfTU9WRV9OT0RFX0RSQUdfTU9ERUxfRlJPTV9TRUxFQ1RJT05fUFJPVklERVJTIH0gZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uJztcbmltcG9ydCB7IEZOb2RlTW92ZUZpbmFsaXplRXhlY3V0aW9uIH0gZnJvbSAnLi9tb3ZlLWZpbmFsaXplJztcbmltcG9ydCB7IEZOb2RlTW92ZVByZXBhcmF0aW9uRXhlY3V0aW9uIH0gZnJvbSAnLi9tb3ZlLXByZXBhcmF0aW9uJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24nO1xuXG5leHBvcnQgY29uc3QgTk9ERV9QUk9WSURFUlMgPSBbXG5cbiAgLi4uQ1JFQVRFX01PVkVfTk9ERV9EUkFHX01PREVMX0ZST01fU0VMRUNUSU9OX1BST1ZJREVSUyxcblxuICBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25FeGVjdXRpb24sXG5cbiAgRk5vZGVNb3ZlRmluYWxpemVFeGVjdXRpb24sXG5cbiAgRk5vZGVNb3ZlUHJlcGFyYXRpb25FeGVjdXRpb24sXG5dO1xuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUU1QixHQUFHLG9EQUFvRDtJQUV2RCxlQUFlO0lBRWYsMEJBQTBCO0lBRTFCLDZCQUE2QjtDQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1JFQVRFX01PVkVfTk9ERV9EUkFHX01PREVMX0ZST01fU0VMRUNUSU9OX1BST1ZJREVSUyB9IGZyb20gJy4vY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgRk5vZGVNb3ZlRmluYWxpemVFeGVjdXRpb24gfSBmcm9tICcuL21vdmUtZmluYWxpemUnO1xuaW1wb3J0IHsgRk5vZGVNb3ZlUHJlcGFyYXRpb25FeGVjdXRpb24gfSBmcm9tICcuL21vdmUtcHJlcGFyYXRpb24nO1xuaW1wb3J0IHsgQ3JlYXRlU25hcExpbmVzIH0gZnJvbSAnLi9jcmVhdGUtc25hcC1saW5lcyc7XG5cbmV4cG9ydCBjb25zdCBOT0RFX1BST1ZJREVSUyA9IFtcblxuICAuLi5DUkVBVEVfTU9WRV9OT0RFX0RSQUdfTU9ERUxfRlJPTV9TRUxFQ1RJT05fUFJPVklERVJTLFxuXG4gIENyZWF0ZVNuYXBMaW5lcyxcblxuICBGTm9kZU1vdmVGaW5hbGl6ZUV4ZWN1dGlvbixcblxuICBGTm9kZU1vdmVQcmVwYXJhdGlvbkV4ZWN1dGlvbixcbl07XG4iXX0=
@@ -0,0 +1,10 @@
1
+ export class ApplyChildResizeConstraintsRequest {
2
+ rect;
3
+ childrenBounds;
4
+ static fToken = Symbol('ApplyChildResizeConstraintsRequest');
5
+ constructor(rect, childrenBounds) {
6
+ this.rect = rect;
7
+ this.childrenBounds = childrenBounds;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktY2hpbGQtcmVzaXplLWNvbnN0cmFpbnRzLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvYXBwbHktY2hpbGQtcmVzaXplLWNvbnN0cmFpbnRzL2FwcGx5LWNoaWxkLXJlc2l6ZS1jb25zdHJhaW50cy1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxrQ0FBa0M7SUFJM0I7SUFDQTtJQUpsQixNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBRXRFLFlBQ2tCLElBQVcsRUFDWCxjQUE0QjtRQUQ1QixTQUFJLEdBQUosSUFBSSxDQUFPO1FBQ1gsbUJBQWMsR0FBZCxjQUFjLENBQWM7SUFFOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBjbGFzcyBBcHBseUNoaWxkUmVzaXplQ29uc3RyYWludHNSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnQXBwbHlDaGlsZFJlc2l6ZUNvbnN0cmFpbnRzUmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByZWN0OiBJUmVjdCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hpbGRyZW5Cb3VuZHM6IElSZWN0IHwgbnVsbCxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,57 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { ApplyChildResizeConstraintsRequest } from './apply-child-resize-constraints-request';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import * as i0 from "@angular/core";
6
+ let ApplyChildResizeConstraints = class ApplyChildResizeConstraints {
7
+ handle({ rect, childrenBounds }) {
8
+ if (!childrenBounds) {
9
+ return;
10
+ }
11
+ this._apply(rect, childrenBounds);
12
+ }
13
+ _apply(rect, restrictionsRect) {
14
+ this._restrictLeft(rect, restrictionsRect);
15
+ this._restrictTop(rect, restrictionsRect);
16
+ this._restrictRight(rect, restrictionsRect);
17
+ this._restrictBottom(rect, restrictionsRect);
18
+ rect.width = Math.max(0, rect.width);
19
+ rect.height = Math.max(0, rect.height);
20
+ }
21
+ _restrictLeft(rect, restrictions) {
22
+ const delta = rect.x - restrictions.x;
23
+ if (delta > 0) {
24
+ rect.x -= delta;
25
+ rect.width += delta;
26
+ }
27
+ }
28
+ _restrictTop(rect, restrictions) {
29
+ const delta = rect.y - restrictions.y;
30
+ if (delta > 0) {
31
+ rect.y -= delta;
32
+ rect.height += delta;
33
+ }
34
+ }
35
+ _restrictRight(rect, restrictions) {
36
+ const maxRight = restrictions.x + restrictions.width;
37
+ if (rect.x + rect.width <= maxRight) {
38
+ rect.width = maxRight - rect.x;
39
+ }
40
+ }
41
+ _restrictBottom(rect, restrictions) {
42
+ const maxBottom = restrictions.y + restrictions.height;
43
+ if (rect.y + rect.height <= maxBottom) {
44
+ rect.height = maxBottom - rect.y;
45
+ }
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplyChildResizeConstraints, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
48
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplyChildResizeConstraints });
49
+ };
50
+ ApplyChildResizeConstraints = __decorate([
51
+ FExecutionRegister(ApplyChildResizeConstraintsRequest)
52
+ ], ApplyChildResizeConstraints);
53
+ export { ApplyChildResizeConstraints };
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplyChildResizeConstraints, decorators: [{
55
+ type: Injectable
56
+ }] });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktY2hpbGQtcmVzaXplLWNvbnN0cmFpbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtcmVzaXplL2FwcGx5LWNoaWxkLXJlc2l6ZS1jb25zdHJhaW50cy9hcHBseS1jaGlsZC1yZXNpemUtY29uc3RyYWludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7O0FBSTNELElBQU0sMkJBQTJCLEdBQWpDLE1BQU0sMkJBQTJCO0lBRy9CLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQXNDO1FBQ3hFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQixPQUFPO1FBQ1AsQ0FBQztRQUNHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxNQUFNLENBQUMsSUFBVyxFQUFFLGdCQUF1QjtRQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBVyxFQUFFLFlBQW1CO1FBQ3BELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUN0QyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLElBQVcsRUFBRSxZQUFtQjtRQUNuRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFXLEVBQUUsWUFBbUI7UUFDckQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsSUFBVyxFQUFFLFlBQW1CO1FBQ3RELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO3dHQWhEVSwyQkFBMkI7NEdBQTNCLDJCQUEyQjs7QUFBM0IsMkJBQTJCO0lBRHZDLGtCQUFrQixDQUFDLGtDQUFrQyxDQUFDO0dBQzFDLDJCQUEyQixDQWlEdkM7OzRGQWpEWSwyQkFBMkI7a0JBRnZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBseUNoaWxkUmVzaXplQ29uc3RyYWludHNSZXF1ZXN0IH0gZnJvbSAnLi9hcHBseS1jaGlsZC1yZXNpemUtY29uc3RyYWludHMtcmVxdWVzdCc7XG5pbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQXBwbHlDaGlsZFJlc2l6ZUNvbnN0cmFpbnRzUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBBcHBseUNoaWxkUmVzaXplQ29uc3RyYWludHNcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEFwcGx5Q2hpbGRSZXNpemVDb25zdHJhaW50c1JlcXVlc3QsIHZvaWQ+IHtcblxuICBwdWJsaWMgaGFuZGxlKHsgcmVjdCwgY2hpbGRyZW5Cb3VuZHMgfTogQXBwbHlDaGlsZFJlc2l6ZUNvbnN0cmFpbnRzUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmICghY2hpbGRyZW5Cb3VuZHMpIHtcbnJldHVybjtcbn1cbiAgICB0aGlzLl9hcHBseShyZWN0LCBjaGlsZHJlbkJvdW5kcyk7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseShyZWN0OiBJUmVjdCwgcmVzdHJpY3Rpb25zUmVjdDogSVJlY3QpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXN0cmljdExlZnQocmVjdCwgcmVzdHJpY3Rpb25zUmVjdCk7XG4gICAgdGhpcy5fcmVzdHJpY3RUb3AocmVjdCwgcmVzdHJpY3Rpb25zUmVjdCk7XG4gICAgdGhpcy5fcmVzdHJpY3RSaWdodChyZWN0LCByZXN0cmljdGlvbnNSZWN0KTtcbiAgICB0aGlzLl9yZXN0cmljdEJvdHRvbShyZWN0LCByZXN0cmljdGlvbnNSZWN0KTtcblxuICAgIHJlY3Qud2lkdGggPSBNYXRoLm1heCgwLCByZWN0LndpZHRoKTtcbiAgICByZWN0LmhlaWdodCA9IE1hdGgubWF4KDAsIHJlY3QuaGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc3RyaWN0TGVmdChyZWN0OiBJUmVjdCwgcmVzdHJpY3Rpb25zOiBJUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IGRlbHRhID0gcmVjdC54IC0gcmVzdHJpY3Rpb25zLng7XG4gICAgaWYgKGRlbHRhID4gMCkge1xuICAgICAgcmVjdC54IC09IGRlbHRhO1xuICAgICAgcmVjdC53aWR0aCArPSBkZWx0YTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXN0cmljdFRvcChyZWN0OiBJUmVjdCwgcmVzdHJpY3Rpb25zOiBJUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IGRlbHRhID0gcmVjdC55IC0gcmVzdHJpY3Rpb25zLnk7XG4gICAgaWYgKGRlbHRhID4gMCkge1xuICAgICAgcmVjdC55IC09IGRlbHRhO1xuICAgICAgcmVjdC5oZWlnaHQgKz0gZGVsdGE7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzdHJpY3RSaWdodChyZWN0OiBJUmVjdCwgcmVzdHJpY3Rpb25zOiBJUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IG1heFJpZ2h0ID0gcmVzdHJpY3Rpb25zLnggKyByZXN0cmljdGlvbnMud2lkdGg7XG4gICAgaWYgKHJlY3QueCArIHJlY3Qud2lkdGggPD0gbWF4UmlnaHQpIHtcbiAgICAgIHJlY3Qud2lkdGggPSBtYXhSaWdodCAtIHJlY3QueDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXN0cmljdEJvdHRvbShyZWN0OiBJUmVjdCwgcmVzdHJpY3Rpb25zOiBJUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IG1heEJvdHRvbSA9IHJlc3RyaWN0aW9ucy55ICsgcmVzdHJpY3Rpb25zLmhlaWdodDtcbiAgICBpZiAocmVjdC55ICsgcmVjdC5oZWlnaHQgPD0gbWF4Qm90dG9tKSB7XG4gICAgICByZWN0LmhlaWdodCA9IG1heEJvdHRvbSAtIHJlY3QueTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './apply-child-resize-constraints';
2
+ export * from './apply-child-resize-constraints-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvYXBwbHktY2hpbGQtcmVzaXplLWNvbnN0cmFpbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYywwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBwbHktY2hpbGQtcmVzaXplLWNvbnN0cmFpbnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9hcHBseS1jaGlsZC1yZXNpemUtY29uc3RyYWludHMtcmVxdWVzdCc7XG4iXX0=
@@ -0,0 +1,10 @@
1
+ export class ApplyParentResizeConstraintsRequest {
2
+ rect;
3
+ limits;
4
+ static fToken = Symbol('ApplyParentResizeConstraintsRequest');
5
+ constructor(rect, limits) {
6
+ this.rect = rect;
7
+ this.limits = limits;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktcGFyZW50LXJlc2l6ZS1jb25zdHJhaW50cy1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtcmVzaXplL2FwcGx5LXBhcmVudC1yZXNpemUtY29uc3RyYWludHMvYXBwbHktcGFyZW50LXJlc2l6ZS1jb25zdHJhaW50cy1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxtQ0FBbUM7SUFJckM7SUFDQTtJQUpULE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFFdkUsWUFDUyxJQUFXLEVBQ1gsTUFBcUI7UUFEckIsU0FBSSxHQUFKLElBQUksQ0FBTztRQUNYLFdBQU0sR0FBTixNQUFNLENBQWU7SUFFOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJUmVzaXplTGltaXRzIH0gZnJvbSBcIi4uL2NvbnN0cmFpbnRcIjtcblxuZXhwb3J0IGNsYXNzIEFwcGx5UGFyZW50UmVzaXplQ29uc3RyYWludHNSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnQXBwbHlQYXJlbnRSZXNpemVDb25zdHJhaW50c1JlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVjdDogSVJlY3QsXG4gICAgcHVibGljIGxpbWl0czogSVJlc2l6ZUxpbWl0cyxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,147 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { ApplyParentResizeConstraintsRequest } from './apply-parent-resize-constraints-request';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Resize constraints behavior:
8
+ * - SOFT (parents): if the child hits the innerRect, a NEW parent rect is calculated
9
+ * from the original boundingRect and applied via updatePosition/Size/redraw.
10
+ * The original boundingRect/innerRect are never mutated.
11
+ * - HARD (child): the child rect is clamped to stay within the hard.innerRect.
12
+ */
13
+ let ApplyParentResizeConstraints = class ApplyParentResizeConstraints {
14
+ /** Entry point: applies soft and hard resize constraints. */
15
+ handle({ rect, limits }) {
16
+ this._applyResizeConstraints(rect, limits);
17
+ }
18
+ // ──────────────────────────────────────────────────────────────────────────────
19
+ // Top–level orchestration
20
+ // ──────────────────────────────────────────────────────────────────────────────
21
+ _applyResizeConstraints(childRect, limits) {
22
+ if (!limits) {
23
+ return;
24
+ }
25
+ // 1) Clone child rect and pre-clamp it by hard limit (calculation only).
26
+ const childForCalc = this._clampedCopyForCalculation(childRect, limits);
27
+ // 2) Apply SOFT expansions for all parent limits based on the clamped child.
28
+ this._applySoftParentExpansions(childForCalc, limits.softLimits);
29
+ // 3) Final HARD clamp on the real child rect.
30
+ if (limits.hardLimit) {
31
+ this._clampRectToInner(childRect, limits.hardLimit.innerRect);
32
+ }
33
+ }
34
+ // ──────────────────────────────────────────────────────────────────────────────
35
+ // Hard-limit stage
36
+ // ──────────────────────────────────────────────────────────────────────────────
37
+ /** Returns a copy of the child rect pre-clamped to the hard innerRect if it exists. */
38
+ _clampedCopyForCalculation(rect, limits) {
39
+ const copy = { ...rect };
40
+ if (limits.hardLimit) {
41
+ this._clampRectToInner(copy, limits.hardLimit.innerRect);
42
+ }
43
+ return copy;
44
+ }
45
+ /** Clamps the rect inside the given innerRect. Mutates the rect directly. */
46
+ _clampRectToInner(rect, inner) {
47
+ // Left
48
+ if (rect.x < inner.x) {
49
+ const diff = inner.x - rect.x;
50
+ rect.x += diff;
51
+ rect.width -= diff;
52
+ }
53
+ // Top
54
+ if (rect.y < inner.y) {
55
+ const diff = inner.y - rect.y;
56
+ rect.y += diff;
57
+ rect.height -= diff;
58
+ }
59
+ // Right
60
+ const rightMax = inner.x + inner.width;
61
+ if (rect.x + rect.width > rightMax) {
62
+ rect.width = rightMax - rect.x;
63
+ }
64
+ // Bottom
65
+ const bottomMax = inner.y + inner.height;
66
+ if (rect.y + rect.height > bottomMax) {
67
+ rect.height = bottomMax - rect.y;
68
+ }
69
+ // Ensure non-negative sizes
70
+ rect.width = Math.max(0, rect.width);
71
+ rect.height = Math.max(0, rect.height);
72
+ }
73
+ // ──────────────────────────────────────────────────────────────────────────────
74
+ // Soft-limit stage
75
+ // ──────────────────────────────────────────────────────────────────────────────
76
+ /** Iterates over all soft limits and applies expansion if overflow is detected. */
77
+ _applySoftParentExpansions(childForCalc, softLimits) {
78
+ if (!softLimits?.length) {
79
+ return;
80
+ }
81
+ for (const limit of softLimits) {
82
+ this._expandParentFromOriginalIfOverflow(childForCalc, limit);
83
+ }
84
+ }
85
+ /**
86
+ * If the child overflows the parent's innerRect, calculate a new parent rect
87
+ * based on the original boundingRect and apply it. Otherwise, reset to original.
88
+ */
89
+ _expandParentFromOriginalIfOverflow(child, limit) {
90
+ const inner = limit.innerRect; // detector only
91
+ const original = limit.boundingRect; // parent's original rect
92
+ const overflow = this._computeOverflow(inner, child);
93
+ if (!this._hasOverflow(overflow)) {
94
+ this._applyParentRect(limit, original);
95
+ return;
96
+ }
97
+ const nextParent = this._buildExpandedParentRect(original, overflow);
98
+ this._applyParentRect(limit, nextParent);
99
+ }
100
+ /** Returns true if any overflow exists. */
101
+ _hasOverflow(o) {
102
+ return !!(o.left || o.top || o.right || o.bottom);
103
+ }
104
+ /** Computes overflow values for each side relative to innerRect. */
105
+ _computeOverflow(inner, child) {
106
+ const left = Math.max(0, inner.x - child.x);
107
+ const top = Math.max(0, inner.y - child.y);
108
+ const right = Math.max(0, child.x + child.width - (inner.x + inner.width));
109
+ const bottom = Math.max(0, child.y + child.height - (inner.y + inner.height));
110
+ return { left, top, right, bottom };
111
+ }
112
+ /** Builds new parent rect from original rect and overflow values. */
113
+ _buildExpandedParentRect(original, o) {
114
+ const parent = { ...original };
115
+ if (o.left) {
116
+ parent.x = original.x - o.left;
117
+ parent.width = original.width + o.left;
118
+ }
119
+ if (o.top) {
120
+ parent.y = original.y - o.top;
121
+ parent.height = original.height + o.top;
122
+ }
123
+ if (o.right) {
124
+ parent.width = (parent.width ?? original.width) + o.right;
125
+ }
126
+ if (o.bottom) {
127
+ parent.height = (parent.height ?? original.height) + o.bottom;
128
+ }
129
+ return parent;
130
+ }
131
+ /** Applies the calculated parent rect to the node/group. */
132
+ _applyParentRect(limit, rect) {
133
+ limit.nodeOrGroup.updatePosition(rect);
134
+ limit.nodeOrGroup.updateSize(rect);
135
+ limit.nodeOrGroup.redraw();
136
+ }
137
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplyParentResizeConstraints, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
138
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplyParentResizeConstraints });
139
+ };
140
+ ApplyParentResizeConstraints = __decorate([
141
+ FExecutionRegister(ApplyParentResizeConstraintsRequest)
142
+ ], ApplyParentResizeConstraints);
143
+ export { ApplyParentResizeConstraints };
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplyParentResizeConstraints, decorators: [{
145
+ type: Injectable
146
+ }] });
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktcGFyZW50LXJlc2l6ZS1jb25zdHJhaW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLXJlc2l6ZS9hcHBseS1wYXJlbnQtcmVzaXplLWNvbnN0cmFpbnRzL2FwcGx5LXBhcmVudC1yZXNpemUtY29uc3RyYWludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFaEcsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7O0FBR2xFOzs7Ozs7R0FNRztBQUdJLElBQU0sNEJBQTRCLEdBQWxDLE1BQU0sNEJBQTRCO0lBR3ZDLDZEQUE2RDtJQUN0RCxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUF1QztRQUNqRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxpRkFBaUY7SUFDakYsMEJBQTBCO0lBQzFCLGlGQUFpRjtJQUV6RSx1QkFBdUIsQ0FBQyxTQUFnQixFQUFFLE1BQXFCO1FBQ3JFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU87UUFDVCxDQUFDO1FBRUQseUVBQXlFO1FBQ3pFLE1BQU0sWUFBWSxHQUFVLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFL0UsNkVBQTZFO1FBQzdFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpFLDhDQUE4QztRQUM5QyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMs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QyxDQUFDLE1BQU0sQ0FBQztRQUNoRSxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELDREQUE0RDtJQUNwRCxnQkFBZ0IsQ0FBQyxLQUFtQixFQUFFLElBQVc7UUFDdkQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO3dHQXhKVSw0QkFBNEI7NEdBQTVCLDRCQUE0Qjs7QUFBNUIsNEJBQTRCO0lBRHhDLGtCQUFrQixDQUFDLG1DQUFtQyxDQUFDO0dBQzNDLDRCQUE0QixDQXlKeEM7OzRGQXpKWSw0QkFBNEI7a0JBRnhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBseVBhcmVudFJlc2l6ZUNvbnN0cmFpbnRzUmVxdWVzdCB9IGZyb20gJy4vYXBwbHktcGFyZW50LXJlc2l6ZS1jb25zdHJhaW50cy1yZXF1ZXN0JztcbmltcG9ydCB7IElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IElSZXNpemVMaW1pdCwgSVJlc2l6ZUxpbWl0cywgSVJlc2l6ZU92ZXJmbG93IH0gZnJvbSAnLi4vY29uc3RyYWludCc7XG5cbi8qKlxuICogUmVzaXplIGNvbnN0cmFpbnRzIGJlaGF2aW9yOlxuICogLSBTT0ZUIChwYXJlbnRzKTogaWYgdGhlIGNoaWxkIGhpdHMgdGhlIGlubmVyUmVjdCwgYSBORVcgcGFyZW50IHJlY3QgaXMgY2FsY3VsYXRlZFxuICogICBmcm9tIHRoZSBvcmlnaW5hbCBib3VuZGluZ1JlY3QgYW5kIGFwcGxpZWQgdmlhIHVwZGF0ZVBvc2l0aW9uL1NpemUvcmVkcmF3LlxuICogICBUaGUgb3JpZ2luYWwgYm91bmRpbmdSZWN0L2lubmVyUmVjdCBhcmUgbmV2ZXIgbXV0YXRlZC5cbiAqIC0gSEFSRCAoY2hpbGQpOiB0aGUgY2hpbGQgcmVjdCBpcyBjbGFtcGVkIHRvIHN0YXkgd2l0aGluIHRoZSBoYXJkLmlubmVyUmVjdC5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihBcHBseVBhcmVudFJlc2l6ZUNvbnN0cmFpbnRzUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBBcHBseVBhcmVudFJlc2l6ZUNvbnN0cmFpbnRzXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxBcHBseVBhcmVudFJlc2l6ZUNvbnN0cmFpbnRzUmVxdWVzdCwgdm9pZD5cbntcbiAgLyoqIEVudHJ5IHBvaW50OiBhcHBsaWVzIHNvZnQgYW5kIGhhcmQgcmVzaXplIGNvbnN0cmFpbnRzLiAqL1xuICBwdWJsaWMgaGFuZGxlKHsgcmVjdCwgbGltaXRzIH06IEFwcGx5UGFyZW50UmVzaXplQ29uc3RyYWludHNSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5fYXBwbHlSZXNpemVDb25zdHJhaW50cyhyZWN0LCBsaW1pdHMpO1xuICB9XG5cbiAgLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIFRvcOKAk2xldmVsIG9yY2hlc3RyYXRpb25cbiAgLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgcHJpdmF0ZSBfYXBwbHlSZXNpemVDb25zdHJhaW50cyhjaGlsZFJlY3Q6IElSZWN0LCBsaW1pdHM6IElSZXNpemVMaW1pdHMpOiB2b2lkIHtcbiAgICBpZiAoIWxpbWl0cykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIDEpIENsb25lIGNoaWxkIHJlY3QgYW5kIHByZS1jbGFtcCBpdCBieSBoYXJkIGxpbWl0IChjYWxjdWxhdGlvbiBvbmx5KS5cbiAgICBjb25zdCBjaGlsZEZvckNhbGM6IElSZWN0ID0gdGhpcy5fY2xhbXBlZENvcHlGb3JDYWxjdWxhdGlvbihjaGlsZFJlY3QsIGxpbWl0cyk7XG5cbiAgICAvLyAyKSBBcHBseSBTT0ZUIGV4cGFuc2lvbnMgZm9yIGFsbCBwYXJlbnQgbGltaXRzIGJhc2VkIG9uIHRoZSBjbGFtcGVkIGNoaWxkLlxuICAgIHRoaXMuX2FwcGx5U29mdFBhcmVudEV4cGFuc2lvbnMoY2hpbGRGb3JDYWxjLCBsaW1pdHMuc29mdExpbWl0cyk7XG5cbiAgICAvLyAzKSBGaW5hbCBIQVJEIGNsYW1wIG9uIHRoZSByZWFsIGNoaWxkIHJlY3QuXG4gICAgaWYgKGxpbWl0cy5oYXJkTGltaXQpIHtcbiAgICAgIHRoaXMuX2NsYW1wUmVjdFRvSW5uZXIoY2hpbGRSZWN0LCBsaW1pdHMuaGFyZExpbWl0LmlubmVyUmVjdCk7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIEhhcmQtbGltaXQgc3RhZ2VcbiAgLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSBjaGlsZCByZWN0IHByZS1jbGFtcGVkIHRvIHRoZSBoYXJkIGlubmVyUmVjdCBpZiBpdCBleGlzdHMuICovXG4gIHByaXZhdGUgX2NsYW1wZWRDb3B5Rm9yQ2FsY3VsYXRpb24ocmVjdDogSVJlY3QsIGxpbWl0czogSVJlc2l6ZUxpbWl0cyk6IElSZWN0IHtcbiAgICBjb25zdCBjb3B5OiBJUmVjdCA9IHsgLi4ucmVjdCB9O1xuICAgIGlmIChsaW1pdHMuaGFyZExpbWl0KSB7XG4gICAgICB0aGlzLl9jbGFtcFJlY3RUb0lubmVyKGNvcHksIGxpbWl0cy5oYXJkTGltaXQuaW5uZXJSZWN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29weTtcbiAgfVxuXG4gIC8qKiBDbGFtcHMgdGhlIHJlY3QgaW5zaWRlIHRoZSBnaXZlbiBpbm5lclJlY3QuIE11dGF0ZXMgdGhlIHJlY3QgZGlyZWN0bHkuICovXG4gIHByaXZhdGUgX2NsYW1wUmVjdFRvSW5uZXIocmVjdDogSVJlY3QsIGlubmVyOiBJUmVjdCk6IHZvaWQge1xuICAgIC8vIExlZnRcbiAgICBpZiAocmVjdC54IDwgaW5uZXIueCkge1xuICAgICAgY29uc3QgZGlmZiA9IGlubmVyLnggLSByZWN0Lng7XG4gICAgICByZWN0LnggKz0gZGlmZjtcbiAgICAgIHJlY3Qud2lkdGggLT0gZGlmZjtcbiAgICB9XG5cbiAgICAvLyBUb3BcbiAgICBpZiAocmVjdC55IDwgaW5uZXIueSkge1xuICAgICAgY29uc3QgZGlmZiA9IGlubmVyLnkgLSByZWN0Lnk7XG4gICAgICByZWN0LnkgKz0gZGlmZjtcbiAgICAgIHJlY3QuaGVpZ2h0IC09IGRpZmY7XG4gICAgfVxuXG4gICAgLy8gUmlnaHRcbiAgICBjb25zdCByaWdodE1heCA9IGlubmVyLnggKyBpbm5lci53aWR0aDtcbiAgICBpZiAocmVjdC54ICsgcmVjdC53aWR0aCA+IHJpZ2h0TWF4KSB7XG4gICAgICByZWN0LndpZHRoID0gcmlnaHRNYXggLSByZWN0Lng7XG4gICAgfVxuXG4gICAgLy8gQm90dG9tXG4gICAgY29uc3QgYm90dG9tTWF4ID0gaW5uZXIueSArIGlubmVyLmhlaWdodDtcbiAgICBpZiAocmVjdC55ICsgcmVjdC5oZWlnaHQgPiBib3R0b21NYXgpIHtcbiAgICAgIHJlY3QuaGVpZ2h0ID0gYm90dG9tTWF4IC0gcmVjdC55O1xuICAgIH1cblxuICAgIC8vIEVuc3VyZSBub24tbmVnYXRpdmUgc2l6ZXNcbiAgICByZWN0LndpZHRoID0gTWF0aC5tYXgoMCwgcmVjdC53aWR0aCk7XG4gICAgcmVjdC5oZWlnaHQgPSBNYXRoLm1heCgwLCByZWN0LmhlaWdodCk7XG4gIH1cblxuICAvLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gU29mdC1saW1pdCBzdGFnZVxuICAvLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICAvKiogSXRlcmF0ZXMgb3ZlciBhbGwgc29mdCBsaW1pdHMgYW5kIGFwcGxpZXMgZXhwYW5zaW9uIGlmIG92ZXJmbG93IGlzIGRldGVjdGVkLiAqL1xuICBwcml2YXRlIF9hcHBseVNvZnRQYXJlbnRFeHBhbnNpb25zKGNoaWxkRm9yQ2FsYzogSVJlY3QsIHNvZnRMaW1pdHM6IElSZXNpemVMaW1pdFtdKTogdm9pZCB7XG4gICAgaWYgKCFzb2Z0TGltaXRzPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChjb25zdCBsaW1pdCBvZiBzb2Z0TGltaXRzKSB7XG4gICAgICB0aGlzLl9leHBhbmRQYXJlbnRGcm9tT3JpZ2luYWxJZk92ZXJmbG93KGNoaWxkRm9yQ2FsYywgbGltaXQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgY2hpbGQgb3ZlcmZsb3dzIHRoZSBwYXJlbnQncyBpbm5lclJlY3QsIGNhbGN1bGF0ZSBhIG5ldyBwYXJlbnQgcmVjdFxuICAgKiBiYXNlZCBvbiB0aGUgb3JpZ2luYWwgYm91bmRpbmdSZWN0IGFuZCBhcHBseSBpdC4gT3RoZXJ3aXNlLCByZXNldCB0byBvcmlnaW5hbC5cbiAgICovXG4gIHByaXZhdGUgX2V4cGFuZFBhcmVudEZyb21PcmlnaW5hbElmT3ZlcmZsb3coY2hpbGQ6IElSZWN0LCBsaW1pdDogSVJlc2l6ZUxpbWl0KTogdm9pZCB7XG4gICAgY29uc3QgaW5uZXIgPSBsaW1pdC5pbm5lclJlY3Q7IC8vIGRldGVjdG9yIG9ubHlcbiAgICBjb25zdCBvcmlnaW5hbCA9IGxpbWl0LmJvdW5kaW5nUmVjdDsgLy8gcGFyZW50J3Mgb3JpZ2luYWwgcmVjdFxuXG4gICAgY29uc3Qgb3ZlcmZsb3cgPSB0aGlzLl9jb21wdXRlT3ZlcmZsb3coaW5uZXIsIGNoaWxkKTtcblxuICAgIGlmICghdGhpcy5faGFzT3ZlcmZsb3cob3ZlcmZsb3cpKSB7XG4gICAgICB0aGlzLl9hcHBseVBhcmVudFJlY3QobGltaXQsIG9yaWdpbmFsKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHRQYXJlbnQgPSB0aGlzLl9idWlsZEV4cGFuZGVkUGFyZW50UmVjdChvcmlnaW5hbCwgb3ZlcmZsb3cpO1xuICAgIHRoaXMuX2FwcGx5UGFyZW50UmVjdChsaW1pdCwgbmV4dFBhcmVudCk7XG4gIH1cblxuICAvKiogUmV0dXJucyB0cnVlIGlmIGFueSBvdmVyZmxvdyBleGlzdHMuICovXG4gIHByaXZhdGUgX2hhc092ZXJmbG93KG86IElSZXNpemVPdmVyZmxvdyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShvLmxlZnQgfHwgby50b3AgfHwgby5yaWdodCB8fCBvLmJvdHRvbSk7XG4gIH1cblxuICAvKiogQ29tcHV0ZXMgb3ZlcmZsb3cgdmFsdWVzIGZvciBlYWNoIHNpZGUgcmVsYXRpdmUgdG8gaW5uZXJSZWN0LiAqL1xuICBwcml2YXRlIF9jb21wdXRlT3ZlcmZsb3coaW5uZXI6IElSZWN0LCBjaGlsZDogSVJlY3QpOiBJUmVzaXplT3ZlcmZsb3cge1xuICAgIGNvbnN0IGxlZnQgPSBNYXRoLm1heCgwLCBpbm5lci54IC0gY2hpbGQueCk7XG4gICAgY29uc3QgdG9wID0gTWF0aC5tYXgoMCwgaW5uZXIueSAtIGNoaWxkLnkpO1xuICAgIGNvbnN0IHJpZ2h0ID0gTWF0aC5tYXgoMCwgY2hpbGQueCArIGNoaWxkLndpZHRoIC0gKGlubmVyLnggKyBpbm5lci53aWR0aCkpO1xuICAgIGNvbnN0IGJvdHRvbSA9IE1hdGgubWF4KDAsIGNoaWxkLnkgKyBjaGlsZC5oZWlnaHQgLSAoaW5uZXIueSArIGlubmVyLmhlaWdodCkpO1xuXG4gICAgcmV0dXJuIHsgbGVmdCwgdG9wLCByaWdodCwgYm90dG9tIH07XG4gIH1cblxuICAvKiogQnVpbGRzIG5ldyBwYXJlbnQgcmVjdCBmcm9tIG9yaWdpbmFsIHJlY3QgYW5kIG92ZXJmbG93IHZhbHVlcy4gKi9cbiAgcHJpdmF0ZSBfYnVpbGRFeHBhbmRlZFBhcmVudFJlY3Qob3JpZ2luYWw6IElSZWN0LCBvOiBJUmVzaXplT3ZlcmZsb3cpOiBJUmVjdCB7XG4gICAgY29uc3QgcGFyZW50OiBJUmVjdCA9IHsgLi4ub3JpZ2luYWwgfTtcblxuICAgIGlmIChvLmxlZnQpIHtcbiAgICAgIHBhcmVudC54ID0gb3JpZ2luYWwueCAtIG8ubGVmdDtcbiAgICAgIHBhcmVudC53aWR0aCA9IG9yaWdpbmFsLndpZHRoICsgby5sZWZ0O1xuICAgIH1cbiAgICBpZiAoby50b3ApIHtcbiAgICAgIHBhcmVudC55ID0gb3JpZ2luYWwueSAtIG8udG9wO1xuICAgICAgcGFyZW50LmhlaWdodCA9IG9yaWdpbmFsLmhlaWdodCArIG8udG9wO1xuICAgIH1cbiAgICBpZiAoby5yaWdodCkge1xuICAgICAgcGFyZW50LndpZHRoID0gKHBhcmVudC53aWR0aCA/PyBvcmlnaW5hbC53aWR0aCkgKyBvLnJpZ2h0O1xuICAgIH1cbiAgICBpZiAoby5ib3R0b20pIHtcbiAgICAgIHBhcmVudC5oZWlnaHQgPSAocGFyZW50LmhlaWdodCA/PyBvcmlnaW5hbC5oZWlnaHQpICsgby5ib3R0b207XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmVudDtcbiAgfVxuXG4gIC8qKiBBcHBsaWVzIHRoZSBjYWxjdWxhdGVkIHBhcmVudCByZWN0IHRvIHRoZSBub2RlL2dyb3VwLiAqL1xuICBwcml2YXRlIF9hcHBseVBhcmVudFJlY3QobGltaXQ6IElSZXNpemVMaW1pdCwgcmVjdDogSVJlY3QpOiB2b2lkIHtcbiAgICBsaW1pdC5ub2RlT3JHcm91cC51cGRhdGVQb3NpdGlvbihyZWN0KTtcbiAgICBsaW1pdC5ub2RlT3JHcm91cC51cGRhdGVTaXplKHJlY3QpO1xuICAgIGxpbWl0Lm5vZGVPckdyb3VwLnJlZHJhdygpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './apply-parent-resize-constraints';
2
+ export * from './apply-parent-resize-constraints-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvYXBwbHktcGFyZW50LXJlc2l6ZS1jb25zdHJhaW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcGx5LXBhcmVudC1yZXNpemUtY29uc3RyYWludHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2FwcGx5LXBhcmVudC1yZXNpemUtY29uc3RyYWludHMtcmVxdWVzdCc7XG4iXX0=
@@ -0,0 +1,14 @@
1
+ export class CalculateChangedRectFromDifferenceRequest {
2
+ originalRect;
3
+ difference;
4
+ handleType;
5
+ minimumSize;
6
+ static fToken = Symbol('CalculateChangedRectFromDifferenceRequest');
7
+ constructor(originalRect, difference, handleType, minimumSize) {
8
+ this.originalRect = originalRect;
9
+ this.difference = difference;
10
+ this.handleType = handleType;
11
+ this.minimumSize = minimumSize;
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNoYW5nZWQtcmVjdC1mcm9tLWRpZmZlcmVuY2UtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLXJlc2l6ZS9jYWxjdWxhdGUtY2hhbmdlZC1yZWN0LWZyb20tZGlmZmVyZW5jZS9jYWxjdWxhdGUtY2hhbmdlZC1yZWN0LWZyb20tZGlmZmVyZW5jZS1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyx5Q0FBeUM7SUFJbEM7SUFDQTtJQUNBO0lBQ0E7SUFObEIsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUU3RSxZQUNrQixZQUFtQixFQUNuQixVQUFrQixFQUNsQixVQUE4QixFQUM5QixXQUFrQjtRQUhsQixpQkFBWSxHQUFaLFlBQVksQ0FBTztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFPO0lBRXBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBJU2l6ZSB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRUZSZXNpemVIYW5kbGVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNoYW5nZWRSZWN0RnJvbURpZmZlcmVuY2VSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnQ2FsY3VsYXRlQ2hhbmdlZFJlY3RGcm9tRGlmZmVyZW5jZVJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3JpZ2luYWxSZWN0OiBJUmVjdCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGlmZmVyZW5jZTogSVBvaW50LFxuICAgIHB1YmxpYyByZWFkb25seSBoYW5kbGVUeXBlOiBFRlJlc2l6ZUhhbmRsZVR5cGUsXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbmltdW1TaXplOiBJU2l6ZSxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,55 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { CalculateChangedRectFromDifferenceRequest } from './calculate-changed-rect-from-difference-request';
4
+ import { RectExtensions } from '@foblex/2d';
5
+ import { FExecutionRegister } from '@foblex/mediator';
6
+ import { RESIZE_DIRECTIONS } from '../resize-direction';
7
+ import * as i0 from "@angular/core";
8
+ let CalculateChangedRectFromDifference = class CalculateChangedRectFromDifference {
9
+ handle({ originalRect, difference, handleType, minimumSize }) {
10
+ const changedRect = this._changeSizeInRect(originalRect, difference, RESIZE_DIRECTIONS[handleType], minimumSize);
11
+ return this._changePosition(originalRect, difference, RESIZE_DIRECTIONS[handleType], changedRect);
12
+ }
13
+ _changeSizeInRect(originalRect, difference, direction, minimumSize) {
14
+ let w = originalRect.width + direction.x * difference.x;
15
+ let h = originalRect.height + direction.y * difference.y;
16
+ let rx = 0;
17
+ let ry = 0;
18
+ if (w < 0) {
19
+ rx = w;
20
+ w = Math.abs(w);
21
+ }
22
+ if (w < minimumSize.width) {
23
+ if (direction.x === -1) {
24
+ rx += (w - minimumSize.width);
25
+ }
26
+ w = minimumSize.width;
27
+ }
28
+ if (h < 0) {
29
+ ry = h;
30
+ h = Math.abs(h);
31
+ }
32
+ if (h < minimumSize.height) {
33
+ if (direction.y === -1) {
34
+ ry += (h - minimumSize.height);
35
+ }
36
+ h = minimumSize.height;
37
+ }
38
+ return RectExtensions.initialize(rx, ry, w, h);
39
+ }
40
+ _changePosition(originalRect, difference, direction, changedRect) {
41
+ const x = originalRect.x + (direction.x === -1 ? difference.x : 0) + changedRect.x;
42
+ const y = originalRect.y + (direction.y === -1 ? difference.y : 0) + changedRect.y;
43
+ return RectExtensions.initialize(x, y, changedRect.width, changedRect.height);
44
+ }
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateChangedRectFromDifference, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
46
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateChangedRectFromDifference });
47
+ };
48
+ CalculateChangedRectFromDifference = __decorate([
49
+ FExecutionRegister(CalculateChangedRectFromDifferenceRequest)
50
+ ], CalculateChangedRectFromDifference);
51
+ export { CalculateChangedRectFromDifference };
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateChangedRectFromDifference, decorators: [{
53
+ type: Injectable
54
+ }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNoYW5nZWQtcmVjdC1mcm9tLWRpZmZlcmVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvY2FsY3VsYXRlLWNoYW5nZWQtcmVjdC1mcm9tLWRpZmZlcmVuY2UvY2FsY3VsYXRlLWNoYW5nZWQtcmVjdC1mcm9tLWRpZmZlcmVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0csT0FBTyxFQUF3QixjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBSWpELElBQU0sa0NBQWtDLEdBQXhDLE1BQU0sa0NBQWtDO0lBR3RDLE1BQU0sQ0FBQyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBNkM7UUFDNUcsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFakgsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVPLGlCQUFpQixDQUN2QixZQUFtQixFQUFFLFVBQWtCLEVBQUUsU0FBaUIsRUFBRSxXQUFrQjtRQUU5RSxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUV6RCxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFWCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNWLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDUCxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBRUQsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFCLElBQUksU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN2QixFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFDRCxDQUFDLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDVixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsQ0FBQztRQUVELElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQixJQUFJLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqQyxDQUFDO1lBQ0QsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDekIsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sZUFBZSxDQUFDLFlBQW1CLEVBQUUsVUFBa0IsRUFBRSxTQUFpQixFQUFFLFdBQWtCO1FBQ3BHLE1BQU0sQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRW5GLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FDOUIsQ0FBQyxFQUFFLENBQUMsRUFDSixXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQ3RDLENBQUM7SUFDSixDQUFDO3dHQXJEVSxrQ0FBa0M7NEdBQWxDLGtDQUFrQzs7QUFBbEMsa0NBQWtDO0lBRDlDLGtCQUFrQixDQUFDLHlDQUF5QyxDQUFDO0dBQ2pELGtDQUFrQyxDQXNEOUM7OzRGQXREWSxrQ0FBa0M7a0JBRjlDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYWxjdWxhdGVDaGFuZ2VkUmVjdEZyb21EaWZmZXJlbmNlUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNoYW5nZWQtcmVjdC1mcm9tLWRpZmZlcmVuY2UtcmVxdWVzdCc7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBJU2l6ZSwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgUkVTSVpFX0RJUkVDVElPTlMgfSBmcm9tICcuLi9yZXNpemUtZGlyZWN0aW9uJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDYWxjdWxhdGVDaGFuZ2VkUmVjdEZyb21EaWZmZXJlbmNlUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDaGFuZ2VkUmVjdEZyb21EaWZmZXJlbmNlXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDYWxjdWxhdGVDaGFuZ2VkUmVjdEZyb21EaWZmZXJlbmNlUmVxdWVzdCwgSVJlY3Q+IHtcblxuICBwdWJsaWMgaGFuZGxlKHsgb3JpZ2luYWxSZWN0LCBkaWZmZXJlbmNlLCBoYW5kbGVUeXBlLCBtaW5pbXVtU2l6ZSB9OiBDYWxjdWxhdGVDaGFuZ2VkUmVjdEZyb21EaWZmZXJlbmNlUmVxdWVzdCk6IElSZWN0IHtcbiAgICBjb25zdCBjaGFuZ2VkUmVjdCA9IHRoaXMuX2NoYW5nZVNpemVJblJlY3Qob3JpZ2luYWxSZWN0LCBkaWZmZXJlbmNlLCBSRVNJWkVfRElSRUNUSU9OU1toYW5kbGVUeXBlXSwgbWluaW11bVNpemUpO1xuXG4gICAgcmV0dXJuIHRoaXMuX2NoYW5nZVBvc2l0aW9uKG9yaWdpbmFsUmVjdCwgZGlmZmVyZW5jZSwgUkVTSVpFX0RJUkVDVElPTlNbaGFuZGxlVHlwZV0sIGNoYW5nZWRSZWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoYW5nZVNpemVJblJlY3QoXG4gICAgb3JpZ2luYWxSZWN0OiBJUmVjdCwgZGlmZmVyZW5jZTogSVBvaW50LCBkaXJlY3Rpb246IElQb2ludCwgbWluaW11bVNpemU6IElTaXplLFxuICApOiBJUmVjdCB7XG4gICAgbGV0IHcgPSBvcmlnaW5hbFJlY3Qud2lkdGggKyBkaXJlY3Rpb24ueCAqIGRpZmZlcmVuY2UueDtcbiAgICBsZXQgaCA9IG9yaWdpbmFsUmVjdC5oZWlnaHQgKyBkaXJlY3Rpb24ueSAqIGRpZmZlcmVuY2UueTtcblxuICAgIGxldCByeCA9IDA7XG4gICAgbGV0IHJ5ID0gMDtcblxuICAgIGlmICh3IDwgMCkge1xuICAgICAgcnggPSB3O1xuICAgICAgdyA9IE1hdGguYWJzKHcpO1xuICAgIH1cblxuICAgIGlmICh3IDwgbWluaW11bVNpemUud2lkdGgpIHtcbiAgICAgIGlmIChkaXJlY3Rpb24ueCA9PT0gLTEpIHtcbiAgICAgICAgcnggKz0gKHcgLSBtaW5pbXVtU2l6ZS53aWR0aCk7XG4gICAgICB9XG4gICAgICB3ID0gbWluaW11bVNpemUud2lkdGg7XG4gICAgfVxuXG4gICAgaWYgKGggPCAwKSB7XG4gICAgICByeSA9IGg7XG4gICAgICBoID0gTWF0aC5hYnMoaCk7XG4gICAgfVxuXG4gICAgaWYgKGggPCBtaW5pbXVtU2l6ZS5oZWlnaHQpIHtcbiAgICAgIGlmIChkaXJlY3Rpb24ueSA9PT0gLTEpIHtcbiAgICAgICAgcnkgKz0gKGggLSBtaW5pbXVtU2l6ZS5oZWlnaHQpO1xuICAgICAgfVxuICAgICAgaCA9IG1pbmltdW1TaXplLmhlaWdodDtcbiAgICB9XG5cbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShyeCwgcnksIHcsIGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hhbmdlUG9zaXRpb24ob3JpZ2luYWxSZWN0OiBJUmVjdCwgZGlmZmVyZW5jZTogSVBvaW50LCBkaXJlY3Rpb246IElQb2ludCwgY2hhbmdlZFJlY3Q6IElSZWN0KTogSVJlY3Qge1xuICAgIGNvbnN0IHggPSBvcmlnaW5hbFJlY3QueCArIChkaXJlY3Rpb24ueCA9PT0gLTEgPyBkaWZmZXJlbmNlLnggOiAwKSArIGNoYW5nZWRSZWN0Lng7XG4gICAgY29uc3QgeSA9IG9yaWdpbmFsUmVjdC55ICsgKGRpcmVjdGlvbi55ID09PSAtMSA/IGRpZmZlcmVuY2UueSA6IDApICsgY2hhbmdlZFJlY3QueTtcblxuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgeCwgeSxcbiAgICAgIGNoYW5nZWRSZWN0LndpZHRoLCBjaGFuZ2VkUmVjdC5oZWlnaHQsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './calculate-changed-rect-from-difference';
2
+ export * from './calculate-changed-rect-from-difference-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvY2FsY3VsYXRlLWNoYW5nZWQtcmVjdC1mcm9tLWRpZmZlcmVuY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCxjQUFjLGtEQUFrRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY2hhbmdlZC1yZWN0LWZyb20tZGlmZmVyZW5jZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNoYW5nZWQtcmVjdC1mcm9tLWRpZmZlcmVuY2UtcmVxdWVzdCc7XG4iXX0=
@@ -0,0 +1,10 @@
1
+ export class CalculateDirectChildrenUnionRectRequest {
2
+ nodeOrGroup;
3
+ paddings;
4
+ static fToken = Symbol('CalculateDirectChildrenUnionRectRequest');
5
+ constructor(nodeOrGroup, paddings) {
6
+ this.nodeOrGroup = nodeOrGroup;
7
+ this.paddings = paddings;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWRpcmVjdC1jaGlsZHJlbi11bmlvbi1yZWN0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvY2FsY3VsYXRlLWRpcmVjdC1jaGlsZHJlbi11bmlvbi1yZWN0L2NhbGN1bGF0ZS1kaXJlY3QtY2hpbGRyZW4tdW5pb24tcmVjdC1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx1Q0FBdUM7SUFJekM7SUFDQTtJQUpULE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFFM0UsWUFDUyxXQUFzQixFQUN0QixRQUE0QztRQUQ1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBVztRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFvQztJQUVyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZURpcmVjdENoaWxkcmVuVW5pb25SZWN0UmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NhbGN1bGF0ZURpcmVjdENoaWxkcmVuVW5pb25SZWN0UmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBub2RlT3JHcm91cDogRk5vZGVCYXNlLFxuICAgIHB1YmxpYyBwYWRkaW5nczogWyBudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXIgXSxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==