@foblex/flow 17.6.1 → 17.7.1

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 (515) hide show
  1. package/domain/css-cls.d.ts +4 -0
  2. package/domain/f-canvas/providers.d.ts +1 -1
  3. package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.d.ts +1 -1
  4. package/domain/f-connectors/add-output-to-store/add-output-to-store.execution.d.ts +1 -1
  5. 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
  6. 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
  7. package/domain/f-connectors/providers.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 +1 -1
  17. package/domain/f-flow/get-flow-state/i-f-flow-state-node.d.ts +2 -1
  18. package/domain/f-flow/get-flow-state/providers.d.ts +1 -1
  19. package/domain/f-flow/providers.d.ts +1 -1
  20. package/domain/f-node/add-node-to-store/{add-node-to-store.execution.d.ts → add-node-to-store.d.ts} +3 -3
  21. package/domain/f-node/add-node-to-store/index.d.ts +1 -1
  22. package/domain/f-node/calculate-input-connections/{calculate-input-connections.execution.d.ts → calculate-input-connections.d.ts} +3 -3
  23. package/domain/f-node/calculate-input-connections/index.d.ts +1 -1
  24. package/domain/f-node/calculate-nodes-bounding-box/{calculate-nodes-bounding-box.execution.d.ts → calculate-nodes-bounding-box.d.ts} +3 -3
  25. package/domain/f-node/calculate-nodes-bounding-box/index.d.ts +1 -1
  26. 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
  27. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.d.ts +1 -1
  28. package/domain/f-node/calculate-output-connections/{calculate-output-connections.execution.d.ts → calculate-output-connections.d.ts} +3 -3
  29. package/domain/f-node/calculate-output-connections/index.d.ts +1 -1
  30. package/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.d.ts +6 -0
  31. package/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups.d.ts +16 -0
  32. package/domain/f-node/fit-to-child-nodes-and-groups/index.d.ts +2 -0
  33. package/domain/f-node/get-child-node-ids/get-child-node-ids.d.ts +14 -0
  34. package/domain/f-node/get-child-node-ids/get-child-node-ids.request.d.ts +5 -0
  35. package/domain/f-node/get-child-node-ids/index.d.ts +2 -0
  36. package/domain/f-node/get-node-padding/{get-node-padding.execution.d.ts → get-node-padding.d.ts} +3 -3
  37. package/domain/f-node/get-node-padding/index.d.ts +1 -1
  38. package/domain/f-node/get-nodes/{get-nodes.execution.d.ts → get-nodes.d.ts} +3 -3
  39. package/domain/f-node/get-nodes/index.d.ts +1 -1
  40. package/domain/f-node/get-parent-nodes/{get-parent-nodes.execution.d.ts → get-parent-nodes.d.ts} +3 -3
  41. package/domain/f-node/get-parent-nodes/index.d.ts +1 -1
  42. package/domain/f-node/index.d.ts +2 -0
  43. package/domain/f-node/providers.d.ts +13 -11
  44. package/domain/f-node/remove-node-from-store/index.d.ts +1 -1
  45. package/domain/f-node/remove-node-from-store/{remove-node-from-store.execution.d.ts → remove-node-from-store.d.ts} +3 -3
  46. package/domain/f-node/update-node-when-state-or-size-changed/index.d.ts +1 -1
  47. package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.d.ts +2 -2
  48. 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
  49. package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -1
  50. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +1 -1
  51. package/domain/f-selection/get-current-selection/get-current-selection.execution.d.ts +1 -1
  52. package/domain/f-selection/select/select.execution.d.ts +1 -1
  53. package/domain/f-selection/select-all/select-all.execution.d.ts +1 -1
  54. package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +1 -1
  55. package/domain/providers.d.ts +1 -1
  56. package/esm2022/domain/css-cls.mjs +5 -1
  57. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
  58. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +2 -2
  59. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +2 -2
  60. package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.mjs +3 -3
  61. package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store.execution.mjs +3 -3
  62. package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.mjs +2 -2
  63. 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
  64. 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 +3 -3
  65. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +4 -4
  66. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +3 -3
  67. package/esm2022/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.mjs +3 -3
  68. package/esm2022/domain/f-draggable/is-drag-started/index.mjs +2 -2
  69. package/esm2022/domain/f-draggable/is-drag-started/is-drag-started-request.mjs +1 -1
  70. package/esm2022/domain/f-draggable/is-drag-started/is-drag-started.mjs +25 -0
  71. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +5 -5
  72. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +3 -3
  73. package/esm2022/domain/f-draggable/providers.mjs +3 -3
  74. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +5 -5
  75. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +5 -4
  76. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-node.mjs +1 -1
  77. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.mjs +25 -0
  78. package/esm2022/domain/f-node/add-node-to-store/index.mjs +2 -2
  79. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +34 -0
  80. package/esm2022/domain/f-node/calculate-input-connections/index.mjs +2 -2
  81. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.mjs +33 -0
  82. package/esm2022/domain/f-node/calculate-nodes-bounding-box/index.mjs +2 -2
  83. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.mjs +36 -0
  84. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.mjs +2 -2
  85. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +34 -0
  86. package/esm2022/domain/f-node/calculate-output-connections/index.mjs +2 -2
  87. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.mjs +8 -0
  88. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups.mjs +64 -0
  89. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/index.mjs +3 -0
  90. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.mjs +45 -0
  91. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.request.mjs +8 -0
  92. package/esm2022/domain/f-node/get-child-node-ids/index.mjs +3 -0
  93. package/esm2022/domain/f-node/get-node-padding/get-node-padding.mjs +35 -0
  94. package/esm2022/domain/f-node/get-node-padding/index.mjs +2 -2
  95. package/esm2022/domain/f-node/get-nodes/get-nodes.mjs +25 -0
  96. package/esm2022/domain/f-node/get-nodes/index.mjs +2 -2
  97. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +37 -0
  98. package/esm2022/domain/f-node/get-parent-nodes/index.mjs +2 -2
  99. package/esm2022/domain/f-node/index.mjs +3 -1
  100. package/esm2022/domain/f-node/providers.mjs +25 -21
  101. package/esm2022/domain/f-node/remove-node-from-store/index.mjs +2 -2
  102. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.mjs +25 -0
  103. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/index.mjs +2 -2
  104. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.mjs +4 -4
  105. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +104 -0
  106. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +5 -5
  107. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +5 -5
  108. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +5 -5
  109. package/esm2022/domain/f-selection/select/select.execution.mjs +7 -7
  110. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +7 -7
  111. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +5 -5
  112. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +2 -2
  113. package/esm2022/f-canvas/f-canvas.component.mjs +7 -7
  114. package/esm2022/f-connection/common/f-connection-base.mjs +22 -3
  115. package/esm2022/f-connection/common/i-has-connection-color.mjs +1 -1
  116. package/esm2022/f-connection/f-connection/f-connection.component.mjs +16 -31
  117. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +7 -22
  118. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +7 -22
  119. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +13 -13
  120. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs +4 -4
  121. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +8 -8
  122. package/esm2022/f-draggable/f-canvas/f-canvas.drag-handler.mjs +7 -7
  123. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.mjs +4 -4
  124. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +11 -11
  125. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +8 -8
  126. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.mjs +8 -8
  127. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +5 -5
  128. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.mjs +4 -4
  129. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +4 -4
  130. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +5 -5
  131. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +11 -11
  132. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +3 -3
  133. package/esm2022/f-draggable/f-draggable-base.mjs +2 -2
  134. package/esm2022/f-draggable/f-draggable-data-context.mjs +2 -1
  135. package/esm2022/f-draggable/f-draggable.directive.mjs +53 -47
  136. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.mjs +8 -0
  137. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize.mjs +69 -0
  138. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/index.mjs +3 -3
  139. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.mjs +8 -0
  140. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +101 -0
  141. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/index.mjs +3 -3
  142. package/esm2022/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.mjs +20 -13
  143. package/esm2022/f-draggable/f-drop-to-group/index.mjs +2 -1
  144. package/esm2022/f-draggable/f-drop-to-group/providers.mjs +7 -5
  145. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/index.mjs +3 -0
  146. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer-request.mjs +8 -0
  147. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer.mjs +48 -0
  148. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +10 -10
  149. package/esm2022/f-draggable/f-node-move/constraint/drag-constraint-pipeline.mjs +29 -0
  150. package/esm2022/f-draggable/f-node-move/constraint/expand-rect-from-baseline.mjs +18 -0
  151. package/esm2022/f-draggable/f-node-move/constraint/index.mjs +5 -0
  152. package/esm2022/f-draggable/f-node-move/constraint/rect-constraint.mjs +36 -0
  153. package/esm2022/f-draggable/f-node-move/constraint/snap-to-grid.mjs +36 -0
  154. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-request.mjs +8 -0
  155. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-response.mjs +9 -0
  156. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy.mjs +47 -0
  157. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/index.mjs +4 -0
  158. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits-request.mjs +8 -0
  159. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits.mjs +72 -0
  160. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-drag-limits.mjs +2 -0
  161. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-soft-limit.mjs +2 -0
  162. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/index.mjs +5 -0
  163. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection-request.mjs +8 -0
  164. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.mjs +88 -0
  165. 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
  166. 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
  167. 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
  168. 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
  169. 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
  170. 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
  171. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler-request.mjs +10 -0
  172. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler.mjs +33 -0
  173. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/index.mjs +3 -0
  174. 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
  175. 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
  176. 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
  177. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/index.mjs +4 -0
  178. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
  179. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits.mjs +2 -0
  180. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/index.mjs +12 -0
  181. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/providers.mjs +17 -0
  182. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.mjs +8 -0
  183. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines.mjs +52 -0
  184. package/esm2022/f-draggable/f-node-move/create-snap-lines/index.mjs +3 -0
  185. package/esm2022/f-draggable/f-node-move/create-snap-lines/snap-lines.drag-handler.mjs +51 -0
  186. package/esm2022/f-draggable/f-node-move/f-move-nodes.event.mjs +8 -2
  187. package/esm2022/f-draggable/f-node-move/index.mjs +8 -7
  188. package/esm2022/f-draggable/f-node-move/move-drag-handler.mjs +95 -0
  189. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +38 -49
  190. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +26 -26
  191. package/esm2022/f-draggable/f-node-move/move-summary-drag-handler.mjs +44 -0
  192. package/esm2022/f-draggable/f-node-move/providers.mjs +4 -4
  193. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints-request.mjs +10 -0
  194. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints.mjs +56 -0
  195. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/index.mjs +3 -0
  196. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints-request.mjs +10 -0
  197. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.mjs +145 -0
  198. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/index.mjs +3 -0
  199. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.mjs +14 -0
  200. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.mjs +55 -0
  201. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/index.mjs +3 -0
  202. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.mjs +10 -0
  203. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect.mjs +39 -0
  204. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/index.mjs +3 -0
  205. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits-request.mjs +10 -0
  206. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits.mjs +69 -0
  207. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/index.mjs +3 -0
  208. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-constraint.mjs +2 -0
  209. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limit.mjs +2 -0
  210. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limits.mjs +2 -0
  211. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-overflow.mjs +2 -0
  212. package/esm2022/f-draggable/f-node-resize/constraint/index.mjs +5 -0
  213. package/esm2022/f-draggable/f-node-resize/index.mjs +8 -8
  214. package/esm2022/f-draggable/f-node-resize/node-resize.drag-handler.mjs +64 -0
  215. package/esm2022/f-draggable/f-node-resize/providers.mjs +15 -17
  216. package/esm2022/f-draggable/f-node-resize/resize-finalize/index.mjs +3 -3
  217. package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize-request.mjs +8 -0
  218. package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.mjs +29 -0
  219. package/esm2022/f-draggable/f-node-resize/resize-preparation/index.mjs +3 -3
  220. package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation-request.mjs +10 -0
  221. package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.mjs +71 -0
  222. package/esm2022/f-draggable/f-node-rotate/f-node-rotate.drag-handler.mjs +9 -9
  223. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.mjs +4 -4
  224. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +13 -13
  225. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +18 -18
  226. package/esm2022/f-external-item/domain/constraint/external-rect-constraint.mjs +44 -0
  227. package/esm2022/f-external-item/domain/constraint/index.mjs +2 -0
  228. package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +27 -22
  229. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +9 -9
  230. package/esm2022/f-external-item/domain/index.mjs +2 -1
  231. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +8 -8
  232. package/esm2022/f-line-alignment/domain/i-snap-coordinate.mjs +2 -0
  233. package/esm2022/f-line-alignment/domain/i-snap-result.mjs +2 -0
  234. package/esm2022/f-line-alignment/domain/index.mjs +5 -5
  235. package/esm2022/f-line-alignment/domain/snap-line-element.mjs +24 -0
  236. package/esm2022/f-line-alignment/domain/snap-line-service.mjs +38 -0
  237. package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.mjs +11 -10
  238. package/esm2022/f-node/f-group.directive.mjs +56 -94
  239. package/esm2022/f-node/f-node-base.mjs +61 -7
  240. package/esm2022/f-node/f-node.directive.mjs +56 -95
  241. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +1 -1
  242. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +4 -4
  243. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +9 -9
  244. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +13 -13
  245. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.execution.mjs +3 -3
  246. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.execution.mjs +3 -3
  247. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.execution.mjs +3 -3
  248. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.execution.mjs +3 -3
  249. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.execution.mjs +3 -3
  250. package/esm2022/mixins/change-selection/change-selection.mjs +2 -2
  251. package/esm2022/mixins/change-selection/i-selectable.mjs +1 -1
  252. package/esm2022/reactivity/f-resize-channel.mjs +1 -1
  253. package/f-canvas/f-canvas.component.d.ts +4 -4
  254. package/f-connection/common/f-connection-base.d.ts +17 -15
  255. package/f-connection/common/i-has-connection-color.d.ts +3 -3
  256. package/f-connection/f-connection/f-connection.component.d.ts +6 -20
  257. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -17
  258. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +2 -17
  259. package/f-connection/providers.d.ts +1 -1
  260. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +3 -3
  261. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.d.ts +2 -2
  262. package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +1 -1
  263. package/f-draggable/domain/providers.d.ts +1 -1
  264. package/f-draggable/f-canvas/f-canvas.drag-handler.d.ts +1 -1
  265. package/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.d.ts +1 -1
  266. package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.d.ts +2 -2
  267. package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.d.ts +2 -2
  268. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.d.ts +2 -2
  269. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +2 -2
  270. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.d.ts +1 -1
  271. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.d.ts +1 -1
  272. package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +1 -1
  273. package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.d.ts +2 -2
  274. package/f-draggable/f-connection/providers.d.ts +1 -1
  275. package/f-draggable/f-draggable-base.d.ts +4 -4
  276. package/f-draggable/f-draggable-data-context.d.ts +1 -0
  277. package/f-draggable/f-draggable.directive.d.ts +23 -11
  278. 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
  279. package/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize.d.ts +16 -0
  280. package/f-draggable/f-drop-to-group/drop-to-group-finalize/index.d.ts +2 -2
  281. 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
  282. package/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.d.ts +29 -0
  283. package/f-draggable/f-drop-to-group/drop-to-group-preparation/index.d.ts +2 -2
  284. package/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.d.ts +4 -4
  285. package/f-draggable/f-drop-to-group/index.d.ts +1 -0
  286. package/f-draggable/f-drop-to-group/providers.d.ts +4 -3
  287. package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/index.d.ts +2 -0
  288. package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer-request.d.ts +6 -0
  289. package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer.d.ts +10 -0
  290. package/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.d.ts +2 -2
  291. package/f-draggable/f-node-move/constraint/drag-constraint-pipeline.d.ts +17 -0
  292. package/f-draggable/f-node-move/constraint/expand-rect-from-baseline.d.ts +3 -0
  293. package/f-draggable/f-node-move/constraint/index.d.ts +4 -0
  294. package/f-draggable/f-node-move/constraint/rect-constraint.d.ts +19 -0
  295. package/f-draggable/f-node-move/constraint/snap-to-grid.d.ts +15 -0
  296. package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-request.d.ts +6 -0
  297. package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-response.d.ts +6 -0
  298. package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy.d.ts +13 -0
  299. package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/index.d.ts +3 -0
  300. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits-request.d.ts +6 -0
  301. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits.d.ts +19 -0
  302. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-drag-limits.d.ts +6 -0
  303. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-soft-limit.d.ts +8 -0
  304. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/index.d.ts +4 -0
  305. 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
  306. package/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.d.ts +24 -0
  307. 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
  308. 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
  309. 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
  310. 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
  311. 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
  312. 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
  313. package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler-request.d.ts +7 -0
  314. package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler.d.ts +13 -0
  315. package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/index.d.ts +2 -0
  316. 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
  317. 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
  318. 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
  319. package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/index.d.ts +3 -0
  320. package/f-draggable/f-node-move/create-drag-model-from-selection/index.d.ts +11 -0
  321. package/f-draggable/f-node-move/create-drag-model-from-selection/providers.d.ts +8 -0
  322. package/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.d.ts +6 -0
  323. package/f-draggable/f-node-move/create-snap-lines/create-snap-lines.d.ts +19 -0
  324. package/f-draggable/f-node-move/create-snap-lines/index.d.ts +2 -0
  325. package/f-draggable/f-node-move/create-snap-lines/snap-lines.drag-handler.d.ts +16 -0
  326. package/f-draggable/f-node-move/f-move-nodes.event.d.ts +4 -0
  327. package/f-draggable/f-node-move/index.d.ts +7 -6
  328. package/f-draggable/f-node-move/move-drag-handler.d.ts +33 -0
  329. package/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.d.ts +10 -10
  330. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +4 -4
  331. package/f-draggable/f-node-move/move-summary-drag-handler.d.ts +22 -0
  332. package/f-draggable/f-node-move/providers.d.ts +2 -2
  333. package/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints-request.d.ts +7 -0
  334. package/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints.d.ts +13 -0
  335. package/f-draggable/f-node-resize/apply-child-resize-constraints/index.d.ts +2 -0
  336. package/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints-request.d.ts +8 -0
  337. package/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.d.ts +36 -0
  338. package/f-draggable/f-node-resize/apply-parent-resize-constraints/index.d.ts +2 -0
  339. package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.d.ts +10 -0
  340. package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.d.ts +11 -0
  341. package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/index.d.ts +2 -0
  342. package/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.d.ts +7 -0
  343. package/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect.d.ts +15 -0
  344. package/f-draggable/f-node-resize/calculate-direct-children-union-rect/index.d.ts +2 -0
  345. 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
  346. package/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits.d.ts +17 -0
  347. package/f-draggable/f-node-resize/calculate-resize-limits/index.d.ts +2 -0
  348. package/f-draggable/f-node-resize/constraint/i-resize-constraint.d.ts +7 -0
  349. package/f-draggable/f-node-resize/constraint/i-resize-limit.d.ts +7 -0
  350. package/f-draggable/f-node-resize/constraint/i-resize-limits.d.ts +5 -0
  351. package/f-draggable/f-node-resize/constraint/i-resize-overflow.d.ts +6 -0
  352. package/f-draggable/f-node-resize/constraint/index.d.ts +4 -0
  353. package/f-draggable/f-node-resize/index.d.ts +7 -7
  354. package/f-draggable/f-node-resize/node-resize.drag-handler.d.ts +25 -0
  355. package/f-draggable/f-node-resize/providers.d.ts +8 -9
  356. package/f-draggable/f-node-resize/resize-finalize/index.d.ts +2 -2
  357. 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
  358. package/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.d.ts +10 -0
  359. package/f-draggable/f-node-resize/resize-preparation/index.d.ts +2 -2
  360. package/f-draggable/f-node-resize/resize-preparation/{f-node-resize-preparation.request.d.ts → node-resize-preparation-request.d.ts} +1 -1
  361. package/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.d.ts +22 -0
  362. package/f-draggable/f-node-rotate/f-node-rotate.drag-handler.d.ts +2 -2
  363. package/f-draggable/f-node-rotate/providers.d.ts +1 -1
  364. package/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.d.ts +1 -1
  365. package/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.d.ts +2 -2
  366. package/f-draggable/f-single-select/f-single-select.execution.d.ts +2 -2
  367. package/f-draggable/providers.d.ts +1 -1
  368. package/{f-draggable/f-node-move/point-bounds-limiter.d.ts → f-external-item/domain/constraint/external-rect-constraint.d.ts} +4 -4
  369. package/f-external-item/domain/constraint/index.d.ts +1 -0
  370. package/f-external-item/domain/f-external-item.drag-handler.d.ts +6 -5
  371. package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +2 -2
  372. package/f-external-item/domain/index.d.ts +1 -0
  373. package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +2 -2
  374. package/f-line-alignment/domain/{i-nearest-coordinate-result.d.ts → i-snap-coordinate.d.ts} +1 -1
  375. package/f-line-alignment/domain/i-snap-result.d.ts +5 -0
  376. package/f-line-alignment/domain/index.d.ts +4 -4
  377. package/f-line-alignment/domain/{line-element.d.ts → snap-line-element.d.ts} +1 -1
  378. package/f-line-alignment/domain/{line-service.d.ts → snap-line-service.d.ts} +1 -1
  379. package/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.d.ts +2 -2
  380. package/f-minimap/domain/providers.d.ts +1 -1
  381. package/f-node/f-group.directive.d.ts +19 -28
  382. package/f-node/f-node-base.d.ts +26 -17
  383. package/f-node/f-node.directive.d.ts +19 -28
  384. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -1
  385. package/f-node/providers.d.ts +2 -2
  386. package/f-selection-area/domain/providers.d.ts +1 -1
  387. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +1 -1
  388. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +2 -2
  389. package/f-selection-area/domain/selection-area.drag-handle.d.ts +3 -3
  390. package/f-storage/features/listen-components-data-changed/listen-data-changes.execution.d.ts +1 -1
  391. package/f-storage/features/listen-count-changes/listen-count-changes.execution.d.ts +1 -1
  392. package/f-storage/features/listen-transform-changes/listen-transform-changes.execution.d.ts +1 -1
  393. package/f-storage/features/notify-data-changed/notify-data-changed.execution.d.ts +1 -1
  394. package/f-storage/features/notify-transform-changed/notify-transform-changed.execution.d.ts +1 -1
  395. package/f-storage/providers.d.ts +1 -1
  396. package/fesm2022/foblex-flow.mjs +2010 -1481
  397. package/fesm2022/foblex-flow.mjs.map +1 -1
  398. package/mixins/change-selection/i-selectable.d.ts +1 -1
  399. package/package.json +1 -1
  400. package/reactivity/f-resize-channel.d.ts +2 -2
  401. package/esm2022/domain/f-draggable/is-drag-started/is-drag-started.execution.mjs +0 -25
  402. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.execution.mjs +0 -25
  403. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.execution.mjs +0 -34
  404. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.mjs +0 -35
  405. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +0 -36
  406. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.execution.mjs +0 -34
  407. package/esm2022/domain/f-node/get-node-padding/get-node-padding.execution.mjs +0 -35
  408. package/esm2022/domain/f-node/get-nodes/get-nodes.execution.mjs +0 -25
  409. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.execution.mjs +0 -37
  410. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.execution.mjs +0 -25
  411. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +0 -95
  412. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.mjs +0 -57
  413. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.request.mjs +0 -8
  414. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.mjs +0 -83
  415. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.request.mjs +0 -8
  416. 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
  417. 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
  418. 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
  419. 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
  420. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +0 -3
  421. 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
  422. 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
  423. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +0 -3
  424. 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
  425. 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
  426. 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
  427. 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
  428. 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
  429. 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
  430. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +0 -2
  431. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +0 -2
  432. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/index.mjs +0 -10
  433. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.mjs +0 -13
  434. package/esm2022/f-draggable/f-node-move/f-line-alignment.drag-handler.mjs +0 -63
  435. package/esm2022/f-draggable/f-node-move/f-node-move.drag-handler.mjs +0 -30
  436. package/esm2022/f-draggable/f-node-move/f-summary-node-move.drag-handler.mjs +0 -33
  437. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/index.mjs +0 -3
  438. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.execution.mjs +0 -57
  439. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.request.mjs +0 -10
  440. package/esm2022/f-draggable/f-node-move/point-bounds-limiter.mjs +0 -43
  441. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +0 -53
  442. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +0 -10
  443. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/index.mjs +0 -3
  444. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +0 -49
  445. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +0 -10
  446. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/index.mjs +0 -3
  447. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +0 -25
  448. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.request.mjs +0 -14
  449. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/index.mjs +0 -3
  450. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +0 -34
  451. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.request.mjs +0 -12
  452. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/index.mjs +0 -3
  453. package/esm2022/f-draggable/f-node-resize/f-node-resize.drag-handler.mjs +0 -73
  454. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +0 -39
  455. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +0 -10
  456. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +0 -2
  457. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/index.mjs +0 -4
  458. package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +0 -38
  459. package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +0 -10
  460. package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/index.mjs +0 -3
  461. package/esm2022/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.execution.mjs +0 -31
  462. package/esm2022/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.request.mjs +0 -8
  463. package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.mjs +0 -73
  464. package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.request.mjs +0 -10
  465. package/esm2022/f-line-alignment/domain/i-line-alignment-result.mjs +0 -2
  466. package/esm2022/f-line-alignment/domain/i-nearest-coordinate-result.mjs +0 -2
  467. package/esm2022/f-line-alignment/domain/line-element.mjs +0 -24
  468. package/esm2022/f-line-alignment/domain/line-service.mjs +0 -38
  469. package/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.d.ts +0 -15
  470. package/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.d.ts +0 -22
  471. 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
  472. 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
  473. 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
  474. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +0 -2
  475. 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
  476. 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
  477. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +0 -2
  478. 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
  479. 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
  480. 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
  481. 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
  482. 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
  483. 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
  484. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/index.d.ts +0 -9
  485. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.d.ts +0 -6
  486. package/f-draggable/f-node-move/f-line-alignment.drag-handler.d.ts +0 -21
  487. package/f-draggable/f-node-move/f-node-move.drag-handler.d.ts +0 -16
  488. package/f-draggable/f-node-move/f-summary-node-move.drag-handler.d.ts +0 -17
  489. package/f-draggable/f-node-move/line-alignment-preparation/index.d.ts +0 -2
  490. package/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -20
  491. package/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.request.d.ts +0 -8
  492. package/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +0 -13
  493. package/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.d.ts +0 -8
  494. package/f-draggable/f-node-resize/apply-child-resize-restrictions/index.d.ts +0 -2
  495. package/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.d.ts +0 -13
  496. package/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.d.ts +0 -7
  497. package/f-draggable/f-node-resize/apply-parent-resize-restrictions/index.d.ts +0 -2
  498. package/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.execution.d.ts +0 -10
  499. package/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.request.d.ts +0 -10
  500. package/f-draggable/f-node-resize/calculate-changed-position/index.d.ts +0 -2
  501. package/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.execution.d.ts +0 -10
  502. package/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.request.d.ts +0 -9
  503. package/f-draggable/f-node-resize/calculate-changed-size/index.d.ts +0 -2
  504. package/f-draggable/f-node-resize/f-node-resize.drag-handler.d.ts +0 -27
  505. package/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +0 -13
  506. package/f-draggable/f-node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +0 -6
  507. package/f-draggable/f-node-resize/get-node-resize-restrictions/index.d.ts +0 -3
  508. package/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +0 -14
  509. package/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +0 -7
  510. package/f-draggable/f-node-resize/get-normalized-children-nodes-rect/index.d.ts +0 -2
  511. package/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.execution.d.ts +0 -10
  512. package/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.d.ts +0 -22
  513. package/f-line-alignment/domain/i-line-alignment-result.d.ts +0 -5
  514. /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
  515. /package/f-draggable/f-node-move/{create-move-nodes-drag-model-from-selection → create-drag-model-from-selection}/i-node-move-limits.d.ts +0 -0
@@ -0,0 +1,39 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { CalculateDirectChildrenUnionRectRequest } from './calculate-direct-children-union-rect-request';
4
+ import { RectExtensions } from '@foblex/2d';
5
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
+ import { GetNormalizedElementRectRequest } from '../../../domain';
7
+ import { FComponentsStore } from "../../../f-storage";
8
+ import * as i0 from "@angular/core";
9
+ let CalculateDirectChildrenUnionRect = class CalculateDirectChildrenUnionRect {
10
+ _mediator = inject(FMediator);
11
+ _store = inject(FComponentsStore);
12
+ get _allNodesAndGroups() {
13
+ return this._store.fNodes;
14
+ }
15
+ handle({ nodeOrGroup, paddings }) {
16
+ const childNodeRect = RectExtensions.union(this._calculateDirectChildren(nodeOrGroup.fId()).map((x) => this._normalizeRect(x)));
17
+ return childNodeRect ?
18
+ this._concatRectWithParentPadding(childNodeRect, paddings) : null;
19
+ }
20
+ _calculateDirectChildren(nodeOrGroupId) {
21
+ return this._allNodesAndGroups.filter((x) => x.fParentId() === nodeOrGroupId);
22
+ }
23
+ _normalizeRect(nodeOrGroup) {
24
+ return this._mediator.execute(new GetNormalizedElementRectRequest(nodeOrGroup.hostElement));
25
+ }
26
+ _concatRectWithParentPadding(rect, padding) {
27
+ return RectExtensions.initialize(rect.x - padding[0], rect.y - padding[1], rect.width + padding[0] + padding[2], rect.height + +padding[1] + padding[3]);
28
+ }
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateDirectChildrenUnionRect, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateDirectChildrenUnionRect });
31
+ };
32
+ CalculateDirectChildrenUnionRect = __decorate([
33
+ FExecutionRegister(CalculateDirectChildrenUnionRectRequest)
34
+ ], CalculateDirectChildrenUnionRect);
35
+ export { CalculateDirectChildrenUnionRect };
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateDirectChildrenUnionRect, decorators: [{
37
+ type: Injectable
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWRpcmVjdC1jaGlsZHJlbi11bmlvbi1yZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtcmVzaXplL2NhbGN1bGF0ZS1kaXJlY3QtY2hpbGRyZW4tdW5pb24tcmVjdC9jYWxjdWxhdGUtZGlyZWN0LWNoaWxkcmVuLXVuaW9uLXJlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyx1Q0FBdUMsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBUSxjQUFjLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDakQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBRTNFLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQUk3QyxJQUFNLGdDQUFnQyxHQUF0QyxNQUFNLGdDQUFnQztJQUcxQixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVuRCxJQUFZLGtCQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFFTSxNQUFNLENBQUMsRUFBQyxXQUFXLEVBQUUsUUFBUSxFQUEwQztRQUM1RSxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUN4QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3BGLENBQUM7UUFDRixPQUFPLGFBQWEsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN0RSxDQUFDO0lBRU8sd0JBQXdCLENBQUMsYUFBcUI7UUFDcEQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEtBQUssYUFBYSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVPLGNBQWMsQ0FBQyxXQUFzQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFRLElBQUksK0JBQStCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVPLDRCQUE0QixDQUFDLElBQVcsRUFBRSxPQUF5QztRQUN6RixPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQzlCLElBQUksQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNuQixJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDdkMsQ0FBQztJQUNKLENBQUM7d0dBakNVLGdDQUFnQzs0R0FBaEMsZ0NBQWdDOztBQUFoQyxnQ0FBZ0M7SUFENUMsa0JBQWtCLENBQUMsdUNBQXVDLENBQUM7R0FDL0MsZ0NBQWdDLENBa0M1Qzs7NEZBbENZLGdDQUFnQztrQkFGNUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2FsY3VsYXRlRGlyZWN0Q2hpbGRyZW5VbmlvblJlY3RSZXF1ZXN0fSBmcm9tICcuL2NhbGN1bGF0ZS1kaXJlY3QtY2hpbGRyZW4tdW5pb24tcmVjdC1yZXF1ZXN0JztcbmltcG9ydCB7SVJlY3QsIFJlY3RFeHRlbnNpb25zfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7RkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb259IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtGTm9kZUJhc2V9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQge0dldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3R9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge0ZDb21wb25lbnRzU3RvcmV9IGZyb20gXCIuLi8uLi8uLi9mLXN0b3JhZ2VcIjtcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDYWxjdWxhdGVEaXJlY3RDaGlsZHJlblVuaW9uUmVjdFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlRGlyZWN0Q2hpbGRyZW5VbmlvblJlY3RcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENhbGN1bGF0ZURpcmVjdENoaWxkcmVuVW5pb25SZWN0UmVxdWVzdCwgSVJlY3QgfCBudWxsPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgcHJpdmF0ZSBnZXQgX2FsbE5vZGVzQW5kR3JvdXBzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZSh7bm9kZU9yR3JvdXAsIHBhZGRpbmdzfTogQ2FsY3VsYXRlRGlyZWN0Q2hpbGRyZW5VbmlvblJlY3RSZXF1ZXN0KTogSVJlY3QgfCBudWxsIHtcbiAgICBjb25zdCBjaGlsZE5vZGVSZWN0ID0gUmVjdEV4dGVuc2lvbnMudW5pb24oXG4gICAgICB0aGlzLl9jYWxjdWxhdGVEaXJlY3RDaGlsZHJlbihub2RlT3JHcm91cC5mSWQoKSkubWFwKCh4KSA9PiB0aGlzLl9ub3JtYWxpemVSZWN0KHgpKVxuICAgICk7XG4gICAgcmV0dXJuIGNoaWxkTm9kZVJlY3QgP1xuICAgICAgdGhpcy5fY29uY2F0UmVjdFdpdGhQYXJlbnRQYWRkaW5nKGNoaWxkTm9kZVJlY3QsIHBhZGRpbmdzKSA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVEaXJlY3RDaGlsZHJlbihub2RlT3JHcm91cElkOiBzdHJpbmcpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2FsbE5vZGVzQW5kR3JvdXBzLmZpbHRlcigoeCkgPT4geC5mUGFyZW50SWQoKSA9PT0gbm9kZU9yR3JvdXBJZCk7XG4gIH1cblxuICBwcml2YXRlIF9ub3JtYWxpemVSZWN0KG5vZGVPckdyb3VwOiBGTm9kZUJhc2UpOiBJUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KG5vZGVPckdyb3VwLmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF9jb25jYXRSZWN0V2l0aFBhcmVudFBhZGRpbmcocmVjdDogSVJlY3QsIHBhZGRpbmc6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdKTogSVJlY3Qge1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgcmVjdC54IC0gcGFkZGluZ1swXSxcbiAgICAgIHJlY3QueSAtIHBhZGRpbmdbMV0sXG4gICAgICByZWN0LndpZHRoICsgcGFkZGluZ1swXSArIHBhZGRpbmdbMl0sXG4gICAgICByZWN0LmhlaWdodCArICtwYWRkaW5nWzFdICsgcGFkZGluZ1szXVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './calculate-direct-children-union-rect';
2
+ export * from './calculate-direct-children-union-rect-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvY2FsY3VsYXRlLWRpcmVjdC1jaGlsZHJlbi11bmlvbi1yZWN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsY0FBYyxnREFBZ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWRpcmVjdC1jaGlsZHJlbi11bmlvbi1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtZGlyZWN0LWNoaWxkcmVuLXVuaW9uLXJlY3QtcmVxdWVzdCc7XG4iXX0=
@@ -0,0 +1,10 @@
1
+ export class CalculateResizeLimitsRequest {
2
+ nodeOrGroup;
3
+ rect;
4
+ static fToken = Symbol('CalculateResizeLimitsRequest');
5
+ constructor(nodeOrGroup, rect) {
6
+ this.nodeOrGroup = nodeOrGroup;
7
+ this.rect = rect;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLXJlc2l6ZS1saW1pdHMtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLXJlc2l6ZS9jYWxjdWxhdGUtcmVzaXplLWxpbWl0cy9jYWxjdWxhdGUtcmVzaXplLWxpbWl0cy1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyw0QkFBNEI7SUFJOUI7SUFDQTtJQUpULE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFFaEUsWUFDUyxXQUFzQixFQUN0QixJQUFXO1FBRFgsZ0JBQVcsR0FBWCxXQUFXLENBQVc7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBTztJQUVwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVSZXNpemVMaW1pdHNSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnQ2FsY3VsYXRlUmVzaXplTGltaXRzUmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBub2RlT3JHcm91cDogRk5vZGVCYXNlLFxuICAgIHB1YmxpYyByZWN0OiBJUmVjdFxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,69 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { CalculateResizeLimitsRequest } from './calculate-resize-limits-request';
4
+ import { SizeExtensions } from '@foblex/2d';
5
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
+ import { CalculateDirectChildrenUnionRectRequest } from '../calculate-direct-children-union-rect';
7
+ import { GetNodePaddingRequest, GetParentNodesRequest } from '../../../domain';
8
+ import { GetNodeBoundingIncludePaddingsRequest, } from "../../f-node-move";
9
+ import * as i0 from "@angular/core";
10
+ let CalculateResizeLimits = class CalculateResizeLimits {
11
+ _mediator = inject(FMediator);
12
+ handle({ nodeOrGroup, rect }) {
13
+ const parents = this._getParentsChain(nodeOrGroup);
14
+ const paddings = this._calculateNodePaddings(nodeOrGroup, rect);
15
+ return {
16
+ limits: this._buildSoftHardLimits(parents),
17
+ childrenBounds: this._getNormalizedChildrenBounds(nodeOrGroup, paddings),
18
+ minimumSize: SizeExtensions.initialize(paddings[0] + paddings[2], paddings[1] + paddings[3])
19
+ };
20
+ }
21
+ _calculateNodePaddings(nodeOrGroup, rect) {
22
+ return this._mediator.execute(new GetNodePaddingRequest(nodeOrGroup, rect));
23
+ }
24
+ _getNormalizedChildrenBounds(nodeOrGroup, paddings) {
25
+ return this._mediator.execute(new CalculateDirectChildrenUnionRectRequest(nodeOrGroup, paddings));
26
+ }
27
+ _getParentsChain(nodeOrGroup) {
28
+ return this._mediator.execute(new GetParentNodesRequest(nodeOrGroup)) ?? [];
29
+ }
30
+ _buildSoftHardLimits(parents) {
31
+ const soft = [];
32
+ let hard;
33
+ let childrenPaddings = [0, 0, 0, 0];
34
+ for (const parent of parents) {
35
+ const parentInfo = this._getParentInfo(parent, childrenPaddings);
36
+ childrenPaddings = parentInfo.paddings;
37
+ if (this._isAutoExpand(parent)) {
38
+ soft.push(this._makeLimit(parent, parentInfo));
39
+ }
40
+ else {
41
+ hard = this._makeLimit(parent, parentInfo);
42
+ break;
43
+ }
44
+ }
45
+ return {
46
+ softLimits: soft,
47
+ hardLimit: hard,
48
+ };
49
+ }
50
+ _getParentInfo(parent, childrenPaddings) {
51
+ return this._mediator.execute(new GetNodeBoundingIncludePaddingsRequest(parent, childrenPaddings));
52
+ }
53
+ _isAutoExpand(nodeOrGroup) {
54
+ return nodeOrGroup.fAutoExpandOnChildHit();
55
+ }
56
+ _makeLimit(nodeOrGroup, { boundingRect, innerRect }) {
57
+ return { nodeOrGroup, boundingRect, innerRect };
58
+ }
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateResizeLimits, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
60
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateResizeLimits });
61
+ };
62
+ CalculateResizeLimits = __decorate([
63
+ FExecutionRegister(CalculateResizeLimitsRequest)
64
+ ], CalculateResizeLimits);
65
+ export { CalculateResizeLimits };
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateResizeLimits, decorators: [{
67
+ type: Injectable
68
+ }] });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLXJlc2l6ZS1saW1pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvY2FsY3VsYXRlLXJlc2l6ZS1saW1pdHMvY2FsY3VsYXRlLXJlc2l6ZS1saW1pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9FLE9BQU8sRUFBUSxjQUFjLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFFakQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQzNFLE9BQU8sRUFBQyx1Q0FBdUMsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRWhHLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdFLE9BQU8sRUFDTCxxQ0FBcUMsR0FFdEMsTUFBTSxtQkFBbUIsQ0FBQzs7QUFJcEIsSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBcUI7SUFHZixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sQ0FBQyxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQStCO1FBQzdELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVuRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWhFLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztZQUMxQyxjQUFjLEVBQUUsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUM7WUFDeEUsV0FBVyxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdGLENBQUE7SUFDSCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsV0FBc0IsRUFBRSxJQUFXO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQW1DLElBQUkscUJBQXFCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVPLDRCQUE0QixDQUFDLFdBQXNCLEVBQUUsUUFBMEM7UUFDckcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBZSxJQUFJLHVDQUF1QyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2xILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxXQUFzQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFjLElBQUkscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE9BQW9CO1FBQy9DLE1BQU0sSUFBSSxHQUFtQixFQUFFLENBQUM7UUFDaEMsSUFBSSxJQUE4QixDQUFDO1FBRW5DLElBQUksZ0JBQWdCLEdBQXFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFdEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2pFLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFFdkMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUNqRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUMzQyxNQUFNO1lBQ1IsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUk7WUFDaEIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQTtJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsTUFBaUIsRUFBRSxnQkFBa0Q7UUFDMUYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0IsSUFBSSxxQ0FBcUMsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FDcEUsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhLENBQUMsV0FBc0I7UUFDMUMsT0FBTyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU8sVUFBVSxDQUNoQixXQUFzQixFQUN0QixFQUFDLFlBQVksRUFBRSxTQUFTLEVBQXlDO1FBRWpFLE9BQU8sRUFBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBQyxDQUFDO0lBQ2hELENBQUM7d0dBcEVVLHFCQUFxQjs0R0FBckIscUJBQXFCOztBQUFyQixxQkFBcUI7SUFEakMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUM7R0FDcEMscUJBQXFCLENBcUVqQzs7NEZBckVZLHFCQUFxQjtrQkFGakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2FsY3VsYXRlUmVzaXplTGltaXRzUmVxdWVzdH0gZnJvbSAnLi9jYWxjdWxhdGUtcmVzaXplLWxpbWl0cy1yZXF1ZXN0JztcbmltcG9ydCB7SVJlY3QsIFNpemVFeHRlbnNpb25zfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7SVJlc2l6ZUNvbnN0cmFpbnQsIElSZXNpemVMaW1pdCwgSVJlc2l6ZUxpbWl0c30gZnJvbSAnLi4vY29uc3RyYWludCc7XG5pbXBvcnQge0ZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9ufSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7Q2FsY3VsYXRlRGlyZWN0Q2hpbGRyZW5VbmlvblJlY3RSZXF1ZXN0fSBmcm9tICcuLi9jYWxjdWxhdGUtZGlyZWN0LWNoaWxkcmVuLXVuaW9uLXJlY3QnO1xuaW1wb3J0IHtGTm9kZUJhc2V9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQge0dldE5vZGVQYWRkaW5nUmVxdWVzdCwgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0fSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgR2V0Tm9kZUJvdW5kaW5nSW5jbHVkZVBhZGRpbmdzUmVxdWVzdCxcbiAgR2V0Tm9kZUJvdW5kaW5nSW5jbHVkZVBhZGRpbmdzUmVzcG9uc2UsXG59IGZyb20gXCIuLi8uLi9mLW5vZGUtbW92ZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENhbGN1bGF0ZVJlc2l6ZUxpbWl0c1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlUmVzaXplTGltaXRzXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDYWxjdWxhdGVSZXNpemVMaW1pdHNSZXF1ZXN0LCBJUmVzaXplQ29uc3RyYWludD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHVibGljIGhhbmRsZSh7bm9kZU9yR3JvdXAsIHJlY3R9OiBDYWxjdWxhdGVSZXNpemVMaW1pdHNSZXF1ZXN0KTogSVJlc2l6ZUNvbnN0cmFpbnQge1xuICAgIGNvbnN0IHBhcmVudHMgPSB0aGlzLl9nZXRQYXJlbnRzQ2hhaW4obm9kZU9yR3JvdXApO1xuXG4gICAgY29uc3QgcGFkZGluZ3MgPSB0aGlzLl9jYWxjdWxhdGVOb2RlUGFkZGluZ3Mobm9kZU9yR3JvdXAsIHJlY3QpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbWl0czogdGhpcy5fYnVpbGRTb2Z0SGFyZExpbWl0cyhwYXJlbnRzKSxcbiAgICAgIGNoaWxkcmVuQm91bmRzOiB0aGlzLl9nZXROb3JtYWxpemVkQ2hpbGRyZW5Cb3VuZHMobm9kZU9yR3JvdXAsIHBhZGRpbmdzKSxcbiAgICAgIG1pbmltdW1TaXplOiBTaXplRXh0ZW5zaW9ucy5pbml0aWFsaXplKHBhZGRpbmdzWzBdICsgcGFkZGluZ3NbMl0sIHBhZGRpbmdzWzFdICsgcGFkZGluZ3NbM10pXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlTm9kZVBhZGRpbmdzKG5vZGVPckdyb3VwOiBGTm9kZUJhc2UsIHJlY3Q6IElSZWN0KTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdPihuZXcgR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0KG5vZGVPckdyb3VwLCByZWN0KSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb3JtYWxpemVkQ2hpbGRyZW5Cb3VuZHMobm9kZU9yR3JvdXA6IEZOb2RlQmFzZSwgcGFkZGluZ3M6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdKTogSVJlY3QgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJUmVjdCB8IG51bGw+KG5ldyBDYWxjdWxhdGVEaXJlY3RDaGlsZHJlblVuaW9uUmVjdFJlcXVlc3Qobm9kZU9yR3JvdXAsIHBhZGRpbmdzKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRQYXJlbnRzQ2hhaW4obm9kZU9yR3JvdXA6IEZOb2RlQmFzZSk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxGTm9kZUJhc2VbXT4obmV3IEdldFBhcmVudE5vZGVzUmVxdWVzdChub2RlT3JHcm91cCkpID8/IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVpbGRTb2Z0SGFyZExpbWl0cyhwYXJlbnRzOiBGTm9kZUJhc2VbXSk6IElSZXNpemVMaW1pdHMge1xuICAgIGNvbnN0IHNvZnQ6IElSZXNpemVMaW1pdFtdID0gW107XG4gICAgbGV0IGhhcmQ6IElSZXNpemVMaW1pdCB8IHVuZGVmaW5lZDtcblxuICAgIGxldCBjaGlsZHJlblBhZGRpbmdzOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSA9IFswLCAwLCAwLCAwXTtcblxuICAgIGZvciAoY29uc3QgcGFyZW50IG9mIHBhcmVudHMpIHtcbiAgICAgIGNvbnN0IHBhcmVudEluZm8gPSB0aGlzLl9nZXRQYXJlbnRJbmZvKHBhcmVudCwgY2hpbGRyZW5QYWRkaW5ncyk7XG4gICAgICBjaGlsZHJlblBhZGRpbmdzID0gcGFyZW50SW5mby5wYWRkaW5ncztcblxuICAgICAgaWYgKHRoaXMuX2lzQXV0b0V4cGFuZChwYXJlbnQpKSB7XG4gICAgICAgIHNvZnQucHVzaCh0aGlzLl9tYWtlTGltaXQocGFyZW50LCBwYXJlbnRJbmZvKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoYXJkID0gdGhpcy5fbWFrZUxpbWl0KHBhcmVudCwgcGFyZW50SW5mbyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzb2Z0TGltaXRzOiBzb2Z0LFxuICAgICAgaGFyZExpbWl0OiBoYXJkLFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldFBhcmVudEluZm8ocGFyZW50OiBGTm9kZUJhc2UsIGNoaWxkcmVuUGFkZGluZ3M6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdKTogR2V0Tm9kZUJvdW5kaW5nSW5jbHVkZVBhZGRpbmdzUmVzcG9uc2Uge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPEdldE5vZGVCb3VuZGluZ0luY2x1ZGVQYWRkaW5nc1Jlc3BvbnNlPihcbiAgICAgIG5ldyBHZXROb2RlQm91bmRpbmdJbmNsdWRlUGFkZGluZ3NSZXF1ZXN0KHBhcmVudCwgY2hpbGRyZW5QYWRkaW5ncylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNBdXRvRXhwYW5kKG5vZGVPckdyb3VwOiBGTm9kZUJhc2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbm9kZU9yR3JvdXAuZkF1dG9FeHBhbmRPbkNoaWxkSGl0KCk7XG4gIH1cblxuICBwcml2YXRlIF9tYWtlTGltaXQoXG4gICAgbm9kZU9yR3JvdXA6IEZOb2RlQmFzZSxcbiAgICB7Ym91bmRpbmdSZWN0LCBpbm5lclJlY3R9OiBHZXROb2RlQm91bmRpbmdJbmNsdWRlUGFkZGluZ3NSZXNwb25zZVxuICApOiBJUmVzaXplTGltaXQge1xuICAgIHJldHVybiB7bm9kZU9yR3JvdXAsIGJvdW5kaW5nUmVjdCwgaW5uZXJSZWN0fTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './calculate-resize-limits';
2
+ export * from './calculate-resize-limits-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvY2FsY3VsYXRlLXJlc2l6ZS1saW1pdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtcmVzaXplLWxpbWl0cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLXJlc2l6ZS1saW1pdHMtcmVxdWVzdCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1yZXNpemUtY29uc3RyYWludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLXJlc2l6ZS9jb25zdHJhaW50L2ktcmVzaXplLWNvbnN0cmFpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SVJlY3QsIElTaXplfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7SVJlc2l6ZUxpbWl0c30gZnJvbSBcIi4vaS1yZXNpemUtbGltaXRzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlc2l6ZUNvbnN0cmFpbnQge1xuXG4gIGxpbWl0czogSVJlc2l6ZUxpbWl0cztcblxuICBjaGlsZHJlbkJvdW5kczogSVJlY3QgfCBudWxsO1xuXG4gIG1pbmltdW1TaXplOiBJU2l6ZTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1yZXNpemUtbGltaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvY29uc3RyYWludC9pLXJlc2l6ZS1saW1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJUmVjdH0gZnJvbSBcIkBmb2JsZXgvMmRcIjtcbmltcG9ydCB7Rk5vZGVCYXNlfSBmcm9tIFwiLi4vLi4vLi4vZi1ub2RlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlc2l6ZUxpbWl0IHtcbiAgYm91bmRpbmdSZWN0OiBJUmVjdDtcbiAgaW5uZXJSZWN0OiBJUmVjdDtcbiAgbm9kZU9yR3JvdXA6IEZOb2RlQmFzZTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1yZXNpemUtbGltaXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtcmVzaXplL2NvbnN0cmFpbnQvaS1yZXNpemUtbGltaXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lSZXNpemVMaW1pdH0gZnJvbSBcIi4vaS1yZXNpemUtbGltaXRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJUmVzaXplTGltaXRzIHtcbiAgc29mdExpbWl0czogSVJlc2l6ZUxpbWl0W107XG4gIGhhcmRMaW1pdDogSVJlc2l6ZUxpbWl0IHwgdW5kZWZpbmVkO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1yZXNpemUtb3ZlcmZsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvY29uc3RyYWludC9pLXJlc2l6ZS1vdmVyZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJUmVzaXplT3ZlcmZsb3cge1xuICBsZWZ0OiBudW1iZXI7XG4gIHJpZ2h0OiBudW1iZXI7XG4gIHRvcDogbnVtYmVyO1xuICBib3R0b206IG51bWJlcjtcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './i-resize-constraint';
2
+ export * from './i-resize-limit';
3
+ export * from './i-resize-limits';
4
+ export * from './i-resize-overflow';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvY29uc3RyYWludC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pLXJlc2l6ZS1jb25zdHJhaW50JztcbmV4cG9ydCAqIGZyb20gJy4vaS1yZXNpemUtbGltaXQnO1xuZXhwb3J0ICogZnJvbSAnLi9pLXJlc2l6ZS1saW1pdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pLXJlc2l6ZS1vdmVyZmxvdyc7XG4iXX0=
@@ -1,12 +1,12 @@
1
- export * from './apply-child-resize-restrictions';
2
- export * from './apply-parent-resize-restrictions';
3
- export * from './calculate-changed-position';
4
- export * from './calculate-changed-size';
5
- export * from './get-normalized-children-nodes-rect';
6
- export * from './get-node-resize-restrictions';
1
+ export * from './apply-child-resize-constraints';
2
+ export * from './apply-parent-resize-constraints';
3
+ export * from './calculate-changed-rect-from-difference';
4
+ export * from './calculate-direct-children-union-rect';
5
+ export * from './calculate-resize-limits';
6
+ export * from './constraint';
7
7
  export * from './resize-finalize';
8
8
  export * from './resize-preparation';
9
- export * from './f-node-resize.drag-handler';
9
+ export * from './node-resize.drag-handler';
10
10
  export * from './providers';
11
11
  export * from './resize-direction';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYyxhQUFhLENBQUM7QUFFNUIsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBwbHktY2hpbGQtcmVzaXplLXJlc3RyaWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYXBwbHktcGFyZW50LXJlc2l6ZS1yZXN0cmljdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1jaGFuZ2VkLXBvc2l0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY2hhbmdlZC1zaXplJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1jaGlsZHJlbi1ub2Rlcy1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9kZS1yZXNpemUtcmVzdHJpY3Rpb25zJztcblxuZXhwb3J0ICogZnJvbSAnLi9yZXNpemUtZmluYWxpemUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6ZS1wcmVwYXJhdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1ub2RlLXJlc2l6ZS5kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVzaXplLWRpcmVjdGlvbic7XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsMENBQTBDLENBQUM7QUFFekQsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsY0FBYyxDQUFDO0FBRTdCLGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcGx5LWNoaWxkLXJlc2l6ZS1jb25zdHJhaW50cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYXBwbHktcGFyZW50LXJlc2l6ZS1jb25zdHJhaW50cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNoYW5nZWQtcmVjdC1mcm9tLWRpZmZlcmVuY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1kaXJlY3QtY2hpbGRyZW4tdW5pb24tcmVjdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLXJlc2l6ZS1saW1pdHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnN0cmFpbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6ZS1maW5hbGl6ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVzaXplLXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLXJlc2l6ZS5kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVzaXplLWRpcmVjdGlvbic7XG4iXX0=
@@ -0,0 +1,64 @@
1
+ import { RectExtensions } from '@foblex/2d';
2
+ import { FMediator } from '@foblex/mediator';
3
+ import { CalculateResizeLimitsRequest } from './calculate-resize-limits';
4
+ import { ApplyChildResizeConstraintsRequest } from './apply-child-resize-constraints';
5
+ import { CalculateChangedRectFromDifferenceRequest } from './calculate-changed-rect-from-difference';
6
+ import { ApplyParentResizeConstraintsRequest } from './apply-parent-resize-constraints';
7
+ import { GetNormalizedElementRectRequest } from '../../domain';
8
+ export class NodeResizeDragHandler {
9
+ _nodeOrGroup;
10
+ _handleType;
11
+ fEventType = 'node-resize';
12
+ fData;
13
+ _mediator;
14
+ _originalRect;
15
+ _constraints;
16
+ constructor(injector, _nodeOrGroup, _handleType) {
17
+ this._nodeOrGroup = _nodeOrGroup;
18
+ this._handleType = _handleType;
19
+ this.fData = {
20
+ fNodeId: _nodeOrGroup.fId(),
21
+ };
22
+ this._mediator = injector.get(FMediator);
23
+ }
24
+ prepareDragSequence() {
25
+ this._originalRect = this._getOriginalNodeRect();
26
+ this._constraints = this._calculateResizeLimits();
27
+ }
28
+ _getOriginalNodeRect() {
29
+ return this._mediator.execute(new GetNormalizedElementRectRequest(this._nodeOrGroup.hostElement));
30
+ }
31
+ _calculateResizeLimits() {
32
+ return this._mediator.execute(new CalculateResizeLimitsRequest(this._nodeOrGroup, this._originalRect));
33
+ }
34
+ onPointerMove(difference) {
35
+ this._applyResizeChanges(this._newRect(difference));
36
+ }
37
+ _newRect(difference) {
38
+ return this._mediator.execute(new CalculateChangedRectFromDifferenceRequest(this._originalRect, difference, this._handleType, this._constraints.minimumSize));
39
+ }
40
+ _applyResizeChanges(changedRect) {
41
+ this._applyChildConstraints(changedRect);
42
+ this._applyParentConstraints(changedRect);
43
+ this._redraw(changedRect);
44
+ }
45
+ _redraw(changedRect) {
46
+ this._nodeOrGroup.updatePosition(changedRect);
47
+ this._nodeOrGroup.updateSize(changedRect);
48
+ this._nodeOrGroup.redraw();
49
+ }
50
+ _applyChildConstraints(changedRect) {
51
+ this._mediator.execute(new ApplyChildResizeConstraintsRequest(changedRect, this._constraints.childrenBounds));
52
+ }
53
+ _applyParentConstraints(changedRect) {
54
+ this._mediator.execute(new ApplyParentResizeConstraintsRequest(changedRect, this._constraints.limits));
55
+ }
56
+ onPointerUp() {
57
+ this._nodeOrGroup.sizeChange.emit(this._getNewRect());
58
+ requestAnimationFrame(() => this._nodeOrGroup.refresh());
59
+ }
60
+ _getNewRect() {
61
+ return RectExtensions.initialize(this._nodeOrGroup._position.x, this._nodeOrGroup._position.y, this._nodeOrGroup._size?.width, this._nodeOrGroup._size?.height);
62
+ }
63
+ }
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZXNpemUuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtcmVzaXplL25vZGUtcmVzaXplLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGNBQWMsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUd6RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDcEYsT0FBTyxFQUFDLHlDQUF5QyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbkcsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDdEYsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBSTdELE1BQU0sT0FBTyxxQkFBcUI7SUFZdEI7SUFDQTtJQVhNLFVBQVUsR0FBRyxhQUFhLENBQUM7SUFDM0IsS0FBSyxDQUFNO0lBRVYsU0FBUyxDQUFZO0lBRTlCLGFBQWEsQ0FBUztJQUN0QixZQUFZLENBQXFCO0lBRXpDLFlBQ0UsUUFBa0IsRUFDVixZQUF1QixFQUN2QixXQUErQjtRQUQvQixpQkFBWSxHQUFaLFlBQVksQ0FBVztRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFFdkMsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLE9BQU8sRUFBRSxZQUFZLENBQUMsR0FBRyxFQUFFO1NBQzVCLENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFRLElBQUksK0JBQStCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0IsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FDeEUsQ0FBQztJQUNKLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sUUFBUSxDQUFDLFVBQWtCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzNCLElBQUkseUNBQXlDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUMvSCxDQUFDO0lBQ0osQ0FBQztJQUVPLG1CQUFtQixDQUFDLFdBQWtCO1FBQzVDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU8sT0FBTyxDQUFDLFdBQWtCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFdBQWtCO1FBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUNwQixJQUFJLGtDQUFrQyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUN0RixDQUFDO0lBQ0osQ0FBQztJQUVPLHVCQUF1QixDQUFDLFdBQWtCO1FBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUNwQixJQUFJLG1DQUFtQyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUMvRSxDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8sV0FBVztRQUNqQixPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQzVELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQ2hFLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lQb2ludCwgSVJlY3QsIFJlY3RFeHRlbnNpb25zfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7SUZEcmFnSGFuZGxlcn0gZnJvbSAnLi4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHtFRlJlc2l6ZUhhbmRsZVR5cGUsIEZOb2RlQmFzZX0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7Rk1lZGlhdG9yfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7Q2FsY3VsYXRlUmVzaXplTGltaXRzUmVxdWVzdH0gZnJvbSAnLi9jYWxjdWxhdGUtcmVzaXplLWxpbWl0cyc7XG5pbXBvcnQge0FwcGx5Q2hpbGRSZXNpemVDb25zdHJhaW50c1JlcXVlc3R9IGZyb20gJy4vYXBwbHktY2hpbGQtcmVzaXplLWNvbnN0cmFpbnRzJztcbmltcG9ydCB7Q2FsY3VsYXRlQ2hhbmdlZFJlY3RGcm9tRGlmZmVyZW5jZVJlcXVlc3R9IGZyb20gJy4vY2FsY3VsYXRlLWNoYW5nZWQtcmVjdC1mcm9tLWRpZmZlcmVuY2UnO1xuaW1wb3J0IHtBcHBseVBhcmVudFJlc2l6ZUNvbnN0cmFpbnRzUmVxdWVzdH0gZnJvbSAnLi9hcHBseS1wYXJlbnQtcmVzaXplLWNvbnN0cmFpbnRzJztcbmltcG9ydCB7R2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7SW5qZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJUmVzaXplQ29uc3RyYWludH0gZnJvbSBcIi4vY29uc3RyYWludFwiO1xuXG5leHBvcnQgY2xhc3MgTm9kZVJlc2l6ZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSUZEcmFnSGFuZGxlciB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZFdmVudFR5cGUgPSAnbm9kZS1yZXNpemUnO1xuICBwdWJsaWMgcmVhZG9ubHkgZkRhdGE6IGFueTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvcjogRk1lZGlhdG9yO1xuXG4gIHByaXZhdGUgX29yaWdpbmFsUmVjdCE6IElSZWN0O1xuICBwcml2YXRlIF9jb25zdHJhaW50cyE6IElSZXNpemVDb25zdHJhaW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIF9ub2RlT3JHcm91cDogRk5vZGVCYXNlLFxuICAgIHByaXZhdGUgX2hhbmRsZVR5cGU6IEVGUmVzaXplSGFuZGxlVHlwZSxcbiAgKSB7XG4gICAgdGhpcy5mRGF0YSA9IHtcbiAgICAgIGZOb2RlSWQ6IF9ub2RlT3JHcm91cC5mSWQoKSxcbiAgICB9O1xuICAgIHRoaXMuX21lZGlhdG9yID0gaW5qZWN0b3IuZ2V0KEZNZWRpYXRvcik7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9vcmlnaW5hbFJlY3QgPSB0aGlzLl9nZXRPcmlnaW5hbE5vZGVSZWN0KCk7XG4gICAgdGhpcy5fY29uc3RyYWludHMgPSB0aGlzLl9jYWxjdWxhdGVSZXNpemVMaW1pdHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE9yaWdpbmFsTm9kZVJlY3QoKTogSVJlY3Qge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCh0aGlzLl9ub2RlT3JHcm91cC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlUmVzaXplTGltaXRzKCk6IElSZXNpemVDb25zdHJhaW50IHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJUmVzaXplQ29uc3RyYWludD4oXG4gICAgICBuZXcgQ2FsY3VsYXRlUmVzaXplTGltaXRzUmVxdWVzdCh0aGlzLl9ub2RlT3JHcm91cCwgdGhpcy5fb3JpZ2luYWxSZWN0KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9hcHBseVJlc2l6ZUNoYW5nZXModGhpcy5fbmV3UmVjdChkaWZmZXJlbmNlKSk7XG4gIH1cblxuICBwcml2YXRlIF9uZXdSZWN0KGRpZmZlcmVuY2U6IElQb2ludCk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJUmVjdD4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ2hhbmdlZFJlY3RGcm9tRGlmZmVyZW5jZVJlcXVlc3QodGhpcy5fb3JpZ2luYWxSZWN0LCBkaWZmZXJlbmNlLCB0aGlzLl9oYW5kbGVUeXBlLCB0aGlzLl9jb25zdHJhaW50cy5taW5pbXVtU2l6ZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlSZXNpemVDaGFuZ2VzKGNoYW5nZWRSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIHRoaXMuX2FwcGx5Q2hpbGRDb25zdHJhaW50cyhjaGFuZ2VkUmVjdCk7XG4gICAgdGhpcy5fYXBwbHlQYXJlbnRDb25zdHJhaW50cyhjaGFuZ2VkUmVjdCk7XG4gICAgdGhpcy5fcmVkcmF3KGNoYW5nZWRSZWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdyhjaGFuZ2VkUmVjdDogSVJlY3QpOiB2b2lkIHtcbiAgICB0aGlzLl9ub2RlT3JHcm91cC51cGRhdGVQb3NpdGlvbihjaGFuZ2VkUmVjdCk7XG4gICAgdGhpcy5fbm9kZU9yR3JvdXAudXBkYXRlU2l6ZShjaGFuZ2VkUmVjdCk7XG4gICAgdGhpcy5fbm9kZU9yR3JvdXAucmVkcmF3KCk7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUNoaWxkQ29uc3RyYWludHMoY2hhbmdlZFJlY3Q6IElSZWN0KTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBBcHBseUNoaWxkUmVzaXplQ29uc3RyYWludHNSZXF1ZXN0KGNoYW5nZWRSZWN0LCB0aGlzLl9jb25zdHJhaW50cy5jaGlsZHJlbkJvdW5kcylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlQYXJlbnRDb25zdHJhaW50cyhjaGFuZ2VkUmVjdDogSVJlY3QpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKFxuICAgICAgbmV3IEFwcGx5UGFyZW50UmVzaXplQ29uc3RyYWludHNSZXF1ZXN0KGNoYW5nZWRSZWN0LCB0aGlzLl9jb25zdHJhaW50cy5saW1pdHMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ub2RlT3JHcm91cC5zaXplQ2hhbmdlLmVtaXQodGhpcy5fZ2V0TmV3UmVjdCgpKTtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5fbm9kZU9yR3JvdXAucmVmcmVzaCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5ld1JlY3QoKTogSVJlY3Qge1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgdGhpcy5fbm9kZU9yR3JvdXAuX3Bvc2l0aW9uLngsIHRoaXMuX25vZGVPckdyb3VwLl9wb3NpdGlvbi55LFxuICAgICAgdGhpcy5fbm9kZU9yR3JvdXAuX3NpemU/LndpZHRoLCB0aGlzLl9ub2RlT3JHcm91cC5fc2l6ZT8uaGVpZ2h0XG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,19 +1,17 @@
1
- import { FNodeResizeFinalizeExecution } from './resize-finalize';
2
- import { FNodeResizePreparationExecution } from './resize-preparation';
3
- import { GetNodeResizeRestrictionsExecution } from './get-node-resize-restrictions';
4
- import { ApplyChildResizeRestrictionsExecution } from './apply-child-resize-restrictions';
5
- import { ApplyParentResizeRestrictionsExecution } from './apply-parent-resize-restrictions';
6
- import { CalculateChangedSizeExecution } from './calculate-changed-size';
7
- import { CalculateChangedPositionExecution } from './calculate-changed-position';
8
- import { GetNormalizedChildrenNodesRectExecution } from './get-normalized-children-nodes-rect';
1
+ import { NodeResizeFinalize } from './resize-finalize';
2
+ import { NodeResizePreparation } from './resize-preparation';
3
+ import { CalculateResizeLimits } from './calculate-resize-limits';
4
+ import { ApplyChildResizeConstraints } from './apply-child-resize-constraints';
5
+ import { ApplyParentResizeConstraints } from './apply-parent-resize-constraints';
6
+ import { CalculateChangedRectFromDifference } from './calculate-changed-rect-from-difference';
7
+ import { CalculateDirectChildrenUnionRect } from './calculate-direct-children-union-rect';
9
8
  export const NODE_RESIZE_PROVIDERS = [
10
- ApplyChildResizeRestrictionsExecution,
11
- ApplyParentResizeRestrictionsExecution,
12
- CalculateChangedPositionExecution,
13
- CalculateChangedSizeExecution,
14
- GetNormalizedChildrenNodesRectExecution,
15
- GetNodeResizeRestrictionsExecution,
16
- FNodeResizeFinalizeExecution,
17
- FNodeResizePreparationExecution,
9
+ ApplyChildResizeConstraints,
10
+ ApplyParentResizeConstraints,
11
+ CalculateChangedRectFromDifference,
12
+ CalculateDirectChildrenUnionRect,
13
+ CalculateResizeLimits,
14
+ NodeResizeFinalize,
15
+ NodeResizePreparation,
18
16
  ];
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtcmVzaXplL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRixPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUvRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUVuQyxxQ0FBcUM7SUFFckMsc0NBQXNDO0lBRXRDLGlDQUFpQztJQUVqQyw2QkFBNkI7SUFFN0IsdUNBQXVDO0lBRXZDLGtDQUFrQztJQUVsQyw0QkFBNEI7SUFFNUIsK0JBQStCO0NBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTm9kZVJlc2l6ZUZpbmFsaXplRXhlY3V0aW9uIH0gZnJvbSAnLi9yZXNpemUtZmluYWxpemUnO1xuaW1wb3J0IHsgRk5vZGVSZXNpemVQcmVwYXJhdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vcmVzaXplLXByZXBhcmF0aW9uJztcbmltcG9ydCB7IEdldE5vZGVSZXNpemVSZXN0cmljdGlvbnNFeGVjdXRpb24gfSBmcm9tICcuL2dldC1ub2RlLXJlc2l6ZS1yZXN0cmljdGlvbnMnO1xuaW1wb3J0IHsgQXBwbHlDaGlsZFJlc2l6ZVJlc3RyaWN0aW9uc0V4ZWN1dGlvbiB9IGZyb20gJy4vYXBwbHktY2hpbGQtcmVzaXplLXJlc3RyaWN0aW9ucyc7XG5pbXBvcnQgeyBBcHBseVBhcmVudFJlc2l6ZVJlc3RyaWN0aW9uc0V4ZWN1dGlvbiB9IGZyb20gJy4vYXBwbHktcGFyZW50LXJlc2l6ZS1yZXN0cmljdGlvbnMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ2hhbmdlZFNpemVFeGVjdXRpb24gfSBmcm9tICcuL2NhbGN1bGF0ZS1jaGFuZ2VkLXNpemUnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ2hhbmdlZFBvc2l0aW9uRXhlY3V0aW9uIH0gZnJvbSAnLi9jYWxjdWxhdGUtY2hhbmdlZC1wb3NpdGlvbic7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkQ2hpbGRyZW5Ob2Rlc1JlY3RFeGVjdXRpb24gfSBmcm9tICcuL2dldC1ub3JtYWxpemVkLWNoaWxkcmVuLW5vZGVzLXJlY3QnO1xuXG5leHBvcnQgY29uc3QgTk9ERV9SRVNJWkVfUFJPVklERVJTID0gW1xuXG4gIEFwcGx5Q2hpbGRSZXNpemVSZXN0cmljdGlvbnNFeGVjdXRpb24sXG5cbiAgQXBwbHlQYXJlbnRSZXNpemVSZXN0cmljdGlvbnNFeGVjdXRpb24sXG5cbiAgQ2FsY3VsYXRlQ2hhbmdlZFBvc2l0aW9uRXhlY3V0aW9uLFxuXG4gIENhbGN1bGF0ZUNoYW5nZWRTaXplRXhlY3V0aW9uLFxuXG4gIEdldE5vcm1hbGl6ZWRDaGlsZHJlbk5vZGVzUmVjdEV4ZWN1dGlvbixcblxuICBHZXROb2RlUmVzaXplUmVzdHJpY3Rpb25zRXhlY3V0aW9uLFxuXG4gIEZOb2RlUmVzaXplRmluYWxpemVFeGVjdXRpb24sXG5cbiAgRk5vZGVSZXNpemVQcmVwYXJhdGlvbkV4ZWN1dGlvbixcbl07XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtcmVzaXplL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUxRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUVuQywyQkFBMkI7SUFFM0IsNEJBQTRCO0lBRTVCLGtDQUFrQztJQUVsQyxnQ0FBZ0M7SUFFaEMscUJBQXFCO0lBRXJCLGtCQUFrQjtJQUVsQixxQkFBcUI7Q0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVSZXNpemVGaW5hbGl6ZSB9IGZyb20gJy4vcmVzaXplLWZpbmFsaXplJztcbmltcG9ydCB7IE5vZGVSZXNpemVQcmVwYXJhdGlvbiB9IGZyb20gJy4vcmVzaXplLXByZXBhcmF0aW9uJztcbmltcG9ydCB7IENhbGN1bGF0ZVJlc2l6ZUxpbWl0cyB9IGZyb20gJy4vY2FsY3VsYXRlLXJlc2l6ZS1saW1pdHMnO1xuaW1wb3J0IHsgQXBwbHlDaGlsZFJlc2l6ZUNvbnN0cmFpbnRzIH0gZnJvbSAnLi9hcHBseS1jaGlsZC1yZXNpemUtY29uc3RyYWludHMnO1xuaW1wb3J0IHsgQXBwbHlQYXJlbnRSZXNpemVDb25zdHJhaW50cyB9IGZyb20gJy4vYXBwbHktcGFyZW50LXJlc2l6ZS1jb25zdHJhaW50cyc7XG5pbXBvcnQgeyBDYWxjdWxhdGVDaGFuZ2VkUmVjdEZyb21EaWZmZXJlbmNlIH0gZnJvbSAnLi9jYWxjdWxhdGUtY2hhbmdlZC1yZWN0LWZyb20tZGlmZmVyZW5jZSc7XG5pbXBvcnQgeyBDYWxjdWxhdGVEaXJlY3RDaGlsZHJlblVuaW9uUmVjdCB9IGZyb20gJy4vY2FsY3VsYXRlLWRpcmVjdC1jaGlsZHJlbi11bmlvbi1yZWN0JztcblxuZXhwb3J0IGNvbnN0IE5PREVfUkVTSVpFX1BST1ZJREVSUyA9IFtcblxuICBBcHBseUNoaWxkUmVzaXplQ29uc3RyYWludHMsXG5cbiAgQXBwbHlQYXJlbnRSZXNpemVDb25zdHJhaW50cyxcblxuICBDYWxjdWxhdGVDaGFuZ2VkUmVjdEZyb21EaWZmZXJlbmNlLFxuXG4gIENhbGN1bGF0ZURpcmVjdENoaWxkcmVuVW5pb25SZWN0LFxuXG4gIENhbGN1bGF0ZVJlc2l6ZUxpbWl0cyxcblxuICBOb2RlUmVzaXplRmluYWxpemUsXG5cbiAgTm9kZVJlc2l6ZVByZXBhcmF0aW9uLFxuXTtcbiJdfQ==
@@ -1,3 +1,3 @@
1
- export * from './f-node-resize-finalize.execution';
2
- export * from './f-node-resize-finalize.request';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvcmVzaXplLWZpbmFsaXplL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1ub2RlLXJlc2l6ZS1maW5hbGl6ZS5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZS1yZXNpemUtZmluYWxpemUucmVxdWVzdCc7XG4iXX0=
1
+ export * from './node-resize-finalize';
2
+ export * from './node-resize-finalize-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvcmVzaXplLWZpbmFsaXplL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbm9kZS1yZXNpemUtZmluYWxpemUnO1xuXG5leHBvcnQgKiBmcm9tICcuL25vZGUtcmVzaXplLWZpbmFsaXplLXJlcXVlc3QnO1xuIl19
@@ -0,0 +1,8 @@
1
+ export class NodeResizeFinalizeRequest {
2
+ event;
3
+ static fToken = Symbol('NodeResizeFinalizeRequest');
4
+ constructor(event) {
5
+ this.event = event;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZXNpemUtZmluYWxpemUtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLXJlc2l6ZS9yZXNpemUtZmluYWxpemUvbm9kZS1yZXNpemUtZmluYWxpemUtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8seUJBQXlCO0lBSWxCO0lBSGxCLE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFFN0QsWUFDa0IsS0FBb0I7UUFBcEIsVUFBSyxHQUFMLEtBQUssQ0FBZTtJQUV0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJUG9pbnRlckV2ZW50fSBmcm9tIFwiLi4vLi4vLi4vZHJhZy10b29sa2l0XCI7XG5cbmV4cG9ydCBjbGFzcyBOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBldmVudDogSVBvaW50ZXJFdmVudFxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,29 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { NodeResizeFinalizeRequest } from './node-resize-finalize-request';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import { FDraggableDataContext } from '../../f-draggable-data-context';
6
+ import { NodeResizeDragHandler } from '../node-resize.drag-handler';
7
+ import * as i0 from "@angular/core";
8
+ let NodeResizeFinalize = class NodeResizeFinalize {
9
+ _dragContext = inject(FDraggableDataContext);
10
+ handle(request) {
11
+ if (!this._isNodeResizeHandler()) {
12
+ return;
13
+ }
14
+ this._dragContext.draggableItems.forEach((x) => x.onPointerUp?.());
15
+ }
16
+ _isNodeResizeHandler() {
17
+ return this._dragContext.draggableItems.some((x) => x instanceof NodeResizeDragHandler);
18
+ }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeResizeFinalize, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
20
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeResizeFinalize });
21
+ };
22
+ NodeResizeFinalize = __decorate([
23
+ FExecutionRegister(NodeResizeFinalizeRequest)
24
+ ], NodeResizeFinalize);
25
+ export { NodeResizeFinalize };
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeResizeFinalize, decorators: [{
27
+ type: Injectable
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZXNpemUtZmluYWxpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvcmVzaXplLWZpbmFsaXplL25vZGUtcmVzaXplLWZpbmFsaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFJN0QsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFFWixZQUFZLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFdkQsTUFBTSxDQUFDLE9BQWtDO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1lBQ2pDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNqRCxDQUFDLFlBQVkscUJBQXFCLENBQ25DLENBQUM7SUFDSixDQUFDO3dHQWZVLGtCQUFrQjs0R0FBbEIsa0JBQWtCOztBQUFsQixrQkFBa0I7SUFEOUIsa0JBQWtCLENBQUMseUJBQXlCLENBQUM7R0FDakMsa0JBQWtCLENBZ0I5Qjs7NEZBaEJZLGtCQUFrQjtrQkFGOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1yZXNpemUtZmluYWxpemUtcmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBOb2RlUmVzaXplRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9ub2RlLXJlc2l6ZS5kcmFnLWhhbmRsZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTm9kZVJlc2l6ZUZpbmFsaXplIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZHJhZ0NvbnRleHQgPSBpbmplY3QoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzTm9kZVJlc2l6ZUhhbmRsZXIoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9kcmFnQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlclVwPy4oKSk7XG4gIH1cblxuICBwcml2YXRlIF9pc05vZGVSZXNpemVIYW5kbGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kcmFnQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5zb21lKCh4KSA9PlxuICAgICAgeCBpbnN0YW5jZW9mIE5vZGVSZXNpemVEcmFnSGFuZGxlclxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
- export * from './f-node-resize-preparation.execution';
2
- export * from './f-node-resize-preparation.request';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvcmVzaXplLXByZXBhcmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1ub2RlLXJlc2l6ZS1wcmVwYXJhdGlvbi5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZS1yZXNpemUtcHJlcGFyYXRpb24ucmVxdWVzdCc7XG4iXX0=
1
+ export * from './node-resize-preparation';
2
+ export * from './node-resize-preparation-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvcmVzaXplLXByZXBhcmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbm9kZS1yZXNpemUtcHJlcGFyYXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL25vZGUtcmVzaXplLXByZXBhcmF0aW9uLXJlcXVlc3QnO1xuIl19
@@ -0,0 +1,10 @@
1
+ export class NodeResizePreparationRequest {
2
+ event;
3
+ fTrigger;
4
+ static fToken = Symbol('NodeResizePreparationRequest');
5
+ constructor(event, fTrigger) {
6
+ this.event = event;
7
+ this.fTrigger = fTrigger;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZXNpemUtcHJlcGFyYXRpb24tcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLXJlc2l6ZS9yZXNpemUtcHJlcGFyYXRpb24vbm9kZS1yZXNpemUtcHJlcGFyYXRpb24tcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sNEJBQTRCO0lBSTlCO0lBQ0E7SUFKVCxNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBRWhFLFlBQ1MsS0FBb0IsRUFDcEIsUUFBdUI7UUFEdkIsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFlO0lBRWhDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGRXZlbnRUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7SVBvaW50ZXJFdmVudH0gZnJvbSBcIi4uLy4uLy4uL2RyYWctdG9vbGtpdFwiO1xuXG5leHBvcnQgY2xhc3MgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ05vZGVSZXNpemVQcmVwYXJhdGlvblJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZXZlbnQ6IElQb2ludGVyRXZlbnQsXG4gICAgcHVibGljIGZUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyXG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,71 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable, Injector } from '@angular/core';
3
+ import { NodeResizePreparationRequest } from './node-resize-preparation-request';
4
+ import { Point } from '@foblex/2d';
5
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
+ import { FComponentsStore } from '../../../f-storage';
7
+ import { FDraggableDataContext } from '../../f-draggable-data-context';
8
+ import { isValidEventTrigger, SelectAndUpdateNodeLayerRequest, } from '../../../domain';
9
+ import { EFResizeHandleType } from '../../../f-node';
10
+ import { NodeResizeDragHandler } from '../node-resize.drag-handler';
11
+ import { getDataAttrValueFromClosestElementWithClass, isClosestElementHasClass } from '@foblex/utils';
12
+ import * as i0 from "@angular/core";
13
+ let NodeResizePreparation = class NodeResizePreparation {
14
+ _mediator = inject(FMediator);
15
+ _store = inject(FComponentsStore);
16
+ _dragContext = inject(FDraggableDataContext);
17
+ _injector = inject(Injector);
18
+ get _transform() {
19
+ return this._store.fCanvas.transform;
20
+ }
21
+ get _fHost() {
22
+ return this._store.fFlow.hostElement;
23
+ }
24
+ _nodeOrGroup;
25
+ handle(request) {
26
+ if (!this._isValid(request) || !this._isValidTrigger(request)) {
27
+ return;
28
+ }
29
+ this._selectAndUpdateNodeLayer();
30
+ this._dragContext.onPointerDownScale = this._transform.scale;
31
+ this._dragContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
32
+ .elementTransform(this._fHost).div(this._transform.scale);
33
+ this._dragContext.draggableItems = [
34
+ new NodeResizeDragHandler(this._injector, this._nodeOrGroup, EFResizeHandleType[this._getHandleType(request.event.targetElement)])
35
+ ];
36
+ }
37
+ _isValid(request) {
38
+ return this._dragContext.isEmpty()
39
+ && this._isResizeHandleElement(request.event.targetElement)
40
+ && this._isNodeCanBeDragged(this._getNode(request.event.targetElement));
41
+ }
42
+ _isResizeHandleElement(element) {
43
+ return isClosestElementHasClass(element, '.f-resize-handle');
44
+ }
45
+ _isNodeCanBeDragged(nodeOrGroup) {
46
+ return !!nodeOrGroup && !nodeOrGroup.fDraggingDisabled();
47
+ }
48
+ _getNode(element) {
49
+ this._nodeOrGroup = this._store.fNodes.find(x => x.isContains(element));
50
+ return this._nodeOrGroup;
51
+ }
52
+ _isValidTrigger(request) {
53
+ return isValidEventTrigger(request.event.originalEvent, request.fTrigger);
54
+ }
55
+ _selectAndUpdateNodeLayer() {
56
+ this._mediator.execute(new SelectAndUpdateNodeLayerRequest(this._nodeOrGroup));
57
+ }
58
+ _getHandleType(element) {
59
+ return getDataAttrValueFromClosestElementWithClass(element, 'fResizeHandleType', '.f-resize-handle');
60
+ }
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeResizePreparation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
62
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeResizePreparation });
63
+ };
64
+ NodeResizePreparation = __decorate([
65
+ FExecutionRegister(NodeResizePreparationRequest)
66
+ ], NodeResizePreparation);
67
+ export { NodeResizePreparation };
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeResizePreparation, decorators: [{
69
+ type: Injectable
70
+ }] });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZXNpemUtcHJlcGFyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yZXNpemUvcmVzaXplLXByZXBhcmF0aW9uL25vZGUtcmVzaXplLXByZXBhcmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFtQixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsK0JBQStCLEdBQ2hDLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGtCQUFrQixFQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkvRixJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUVmLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFlBQVksR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM3QyxTQUFTLEdBQUcsTUFBTSxDQUFDLFFB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QXFCO2tCQUZqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1yZXNpemUtcHJlcGFyYXRpb24tcmVxdWVzdCc7XG5pbXBvcnQgeyBJVHJhbnNmb3JtTW9kZWwsIFBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtcbiAgaXNWYWxpZEV2ZW50VHJpZ2dlcixcbiAgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyUmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEVGUmVzaXplSGFuZGxlVHlwZSwgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IE5vZGVSZXNpemVEcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUtcmVzaXplLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBnZXREYXRhQXR0clZhbHVlRnJvbUNsb3Nlc3RFbGVtZW50V2l0aENsYXNzLCBpc0Nsb3Nlc3RFbGVtZW50SGFzQ2xhc3MgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIE5vZGVSZXNpemVQcmVwYXJhdGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Tm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kcmFnQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIF9ub2RlT3JHcm91cDogRk5vZGVCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLl9pc1ZhbGlkKHJlcXVlc3QpIHx8ICF0aGlzLl9pc1ZhbGlkVHJpZ2dlcihyZXF1ZXN0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3NlbGVjdEFuZFVwZGF0ZU5vZGVMYXllcigpO1xuXG4gICAgdGhpcy5fZHJhZ0NvbnRleHQub25Qb2ludGVyRG93blNjYWxlID0gdGhpcy5fdHJhbnNmb3JtLnNjYWxlO1xuICAgIHRoaXMuX2RyYWdDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbiA9IFBvaW50LmZyb21Qb2ludChyZXF1ZXN0LmV2ZW50LmdldFBvc2l0aW9uKCkpXG4gICAgICAuZWxlbWVudFRyYW5zZm9ybSh0aGlzLl9mSG9zdCkuZGl2KHRoaXMuX3RyYW5zZm9ybS5zY2FsZSk7XG5cbiAgICB0aGlzLl9kcmFnQ29udGV4dC5kcmFnZ2FibGVJdGVtcyA9IFtcbiAgICAgIG5ldyBOb2RlUmVzaXplRHJhZ0hhbmRsZXIoXG4gICAgICAgIHRoaXMuX2luamVjdG9yLCB0aGlzLl9ub2RlT3JHcm91cCEsIEVGUmVzaXplSGFuZGxlVHlwZVsgdGhpcy5fZ2V0SGFuZGxlVHlwZShyZXF1ZXN0LmV2ZW50LnRhcmdldEVsZW1lbnQpIF1cbiAgICAgIClcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZChyZXF1ZXN0OiBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RyYWdDb250ZXh0LmlzRW1wdHkoKVxuICAgICAgJiYgdGhpcy5faXNSZXNpemVIYW5kbGVFbGVtZW50KHJlcXVlc3QuZXZlbnQudGFyZ2V0RWxlbWVudClcbiAgICAgICYmIHRoaXMuX2lzTm9kZUNhbkJlRHJhZ2dlZCh0aGlzLl9nZXROb2RlKHJlcXVlc3QuZXZlbnQudGFyZ2V0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNSZXNpemVIYW5kbGVFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzQ2xvc2VzdEVsZW1lbnRIYXNDbGFzcyhlbGVtZW50LCAnLmYtcmVzaXplLWhhbmRsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNOb2RlQ2FuQmVEcmFnZ2VkKG5vZGVPckdyb3VwPzogRk5vZGVCYXNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhbm9kZU9yR3JvdXAgJiYgIW5vZGVPckdyb3VwLmZEcmFnZ2luZ0Rpc2FibGVkKCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICB0aGlzLl9ub2RlT3JHcm91cCA9IHRoaXMuX3N0b3JlLmZOb2Rlcy5maW5kKHggPT4geC5pc0NvbnRhaW5zKGVsZW1lbnQpKTtcbiAgICByZXR1cm4gdGhpcy5fbm9kZU9yR3JvdXA7XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkVHJpZ2dlcihyZXF1ZXN0OiBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVmFsaWRFdmVudFRyaWdnZXIocmVxdWVzdC5ldmVudC5vcmlnaW5hbEV2ZW50LCByZXF1ZXN0LmZUcmlnZ2VyKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdEFuZFVwZGF0ZU5vZGVMYXllcigpIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKFxuICAgICAgbmV3IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QodGhpcy5fbm9kZU9yR3JvdXAhKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRIYW5kbGVUeXBlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KToga2V5b2YgdHlwZW9mIEVGUmVzaXplSGFuZGxlVHlwZSB7XG4gICAgcmV0dXJuIGdldERhdGFBdHRyVmFsdWVGcm9tQ2xvc2VzdEVsZW1lbnRXaXRoQ2xhc3MoZWxlbWVudCwgJ2ZSZXNpemVIYW5kbGVUeXBlJywgJy5mLXJlc2l6ZS1oYW5kbGUnKTtcbiAgfVxufVxuIl19
@@ -8,9 +8,9 @@ export class FNodeRotateDragHandler {
8
8
  _fNode;
9
9
  _fSourceHandlers;
10
10
  _fTargetHandlers;
11
- _fComponentsStore;
11
+ _store;
12
12
  _fMediator;
13
- _fDraggableDataContext;
13
+ _dragContext;
14
14
  fEventType = 'node-rotate';
15
15
  fData;
16
16
  _initialRotationToX = 0;
@@ -18,19 +18,19 @@ export class FNodeRotateDragHandler {
18
18
  _onDownPoint;
19
19
  _fNodeRect;
20
20
  get _transform() {
21
- return this._fComponentsStore.fCanvas.transform;
21
+ return this._store.fCanvas.transform;
22
22
  }
23
23
  constructor(_injector, _fNode, _fSourceHandlers, _fTargetHandlers) {
24
24
  this._fNode = _fNode;
25
25
  this._fSourceHandlers = _fSourceHandlers;
26
26
  this._fTargetHandlers = _fTargetHandlers;
27
- this._startRotation = this._fNode.rotate;
27
+ this._startRotation = this._fNode._rotate;
28
28
  this.fData = {
29
29
  fNodeId: _fNode.fId(),
30
30
  };
31
- this._fComponentsStore = _injector.get(FComponentsStore);
31
+ this._store = _injector.get(FComponentsStore);
32
32
  this._fMediator = _injector.get(FMediator);
33
- this._fDraggableDataContext = _injector.get(FDraggableDataContext);
33
+ this._dragContext = _injector.get(FDraggableDataContext);
34
34
  }
35
35
  prepareDragSequence() {
36
36
  this._fNodeRect = this._getOriginalNodeRect();
@@ -41,7 +41,7 @@ export class FNodeRotateDragHandler {
41
41
  return this._fMediator.execute(new GetNormalizedElementRectRequest(this._fNode.hostElement));
42
42
  }
43
43
  _calculateDownPoint() {
44
- return PointExtensions.sub(this._fDraggableDataContext.onPointerDownPosition, PointExtensions.sum(this._transform.position, this._transform.scaledPosition));
44
+ return PointExtensions.sub(this._dragContext.onPointerDownPosition, PointExtensions.sum(this._transform.position, this._transform.scaledPosition));
45
45
  }
46
46
  _calculateAngleBetweenVectors(position) {
47
47
  return Math.atan2(position.y - this._fNodeRect.gravityCenter.y, position.x - this._fNodeRect.gravityCenter.x) * (180 / Math.PI);
@@ -65,7 +65,7 @@ export class FNodeRotateDragHandler {
65
65
  return calculateDifferenceAfterRotation(position, rotation - this._startRotation, this._fNodeRect.gravityCenter);
66
66
  }
67
67
  onPointerUp() {
68
- this._fNode.rotateChange.emit(this._fNode.rotate);
68
+ this._fNode.rotate.set(this._fNode._rotate);
69
69
  }
70
70
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLXJvdGF0ZS5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yb3RhdGUvZi1ub2RlLXJvdGF0ZS5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQyxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUNMLGdDQUFnQyxHQUNqQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHN0MsTUFBTSxPQUFPLHNCQUFzQjtJQXFCdkI7SUFDQTtJQUlBO0lBeEJPLGlCQUFpQixDQUFtQjtJQUNwQyxVQUFVLENBQVk7SUFDdEIsc0JBQXNCLENBQXdCO0lBRXhELFVBQVUsR0FBRyxhQUFhLENBQUM7SUFDM0IsS0FBSyxDQUFNO0lBRVYsbUJBQW1CLEdBQVcsQ0FBQyxDQUFDO0lBQ3ZCLGNBQWMsR0FBVyxDQUFDLENBQUM7SUFFcEMsWUFBWSxDQUFVO0lBQ3RCLFVBQVUsQ0FBUztJQUUzQixJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsWUFDRSxTQUFtQixFQUNYLE1BQWlCLEVBQ2pCLGdCQUdMLEVBQ0ssZ0JBR0w7UUFSSyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FHckI7UUFDSyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBR3JCO1FB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RU8saUNBQWlDLENBQUMsUUFBZ0IsRUFBRSxRQUFnQjtRQUMxRSxPQUFPLGdDQUFnQyxDQUNyQyxRQUFRLEVBQ1IsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUM5QixDQUFBO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgSVRyYW5zZm9ybU1vZGVsLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElGRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uL2Ytbm9kZS1tb3ZlJztcbmltcG9ydCB7XG4gIGNhbGN1bGF0ZURpZmZlcmVuY2VBZnRlclJvdGF0aW9uLFxufSBmcm9tICcuL2NhbGN1bGF0ZS1kaWZmZXJlbmNlLWFmdGVyLXJvdGF0aW9uJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgRk5vZGVSb3RhdGVEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGRHJhZ0hhbmRsZXIge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmU7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZNZWRpYXRvcjogRk1lZGlhdG9yO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dDtcblxuICBwdWJsaWMgZkV2ZW50VHlwZSA9ICdub2RlLXJvdGF0ZSc7XG4gIHB1YmxpYyBmRGF0YTogYW55O1xuXG4gIHByaXZhdGUgX2luaXRpYWxSb3RhdGlvblRvWDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhcnRSb3RhdGlvbjogbnVtYmVyID0gMDtcblxuICBwcml2YXRlIF9vbkRvd25Qb2ludCE6IElQb2ludDtcbiAgcHJpdmF0ZSBfZk5vZGVSZWN0ITogSVJlY3Q7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBfZk5vZGU6IEZOb2RlQmFzZSxcbiAgICBwcml2YXRlIF9mU291cmNlSGFuZGxlcnM6IHtcbiAgICAgIGNvbm5lY3Rpb246IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIsXG4gICAgICBjb25uZWN0b3I6IElQb2ludCxcbiAgICB9W10sXG4gICAgcHJpdmF0ZSBfZlRhcmdldEhhbmRsZXJzOiB7XG4gICAgICBjb25uZWN0aW9uOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyLFxuICAgICAgY29ubmVjdG9yOiBJUG9pbnQsXG4gICAgfVtdLFxuICApIHtcbiAgICB0aGlzLl9zdGFydFJvdGF0aW9uID0gdGhpcy5fZk5vZGUucm90YXRlO1xuICAgIHRoaXMuZkRhdGEgPSB7XG4gICAgICBmTm9kZUlkOiBfZk5vZGUuZklkKCksXG4gICAgfTtcblxuICAgIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUgPSBfaW5qZWN0b3IuZ2V0KEZDb21wb25lbnRzU3RvcmUpO1xuICAgIHRoaXMuX2ZNZWRpYXRvciA9IF9pbmplY3Rvci5nZXQoRk1lZGlhdG9yKTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQgPSBfaW5qZWN0b3IuZ2V0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTm9kZVJlY3QgPSB0aGlzLl9nZXRPcmlnaW5hbE5vZGVSZWN0KCk7XG4gICAgdGhpcy5fb25Eb3duUG9pbnQgPSB0aGlzLl9jYWxjdWxhdGVEb3duUG9pbnQoKTtcbiAgICB0aGlzLl9pbml0aWFsUm90YXRpb25Ub1ggPSB0aGlzLl9jYWxjdWxhdGVBbmdsZUJldHdlZW5WZWN0b3JzKHRoaXMuX29uRG93blBvaW50KSAtIHRoaXMuX3N0YXJ0Um90YXRpb247XG4gIH1cblxuICBwcml2YXRlIF9nZXRPcmlnaW5hbE5vZGVSZWN0KCk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHRoaXMuX2ZOb2RlIS5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlRG93blBvaW50KCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5zdWIoXG4gICAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uLFxuICAgICAgUG9pbnRFeHRlbnNpb25zLnN1bSh0aGlzLl90cmFuc2Zvcm0ucG9zaXRpb24sIHRoaXMuX3RyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbilcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlQW5nbGVCZXR3ZWVuVmVjdG9ycyhwb3NpdGlvbjogSVBvaW50KTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5hdGFuMihcbiAgICAgIHBvc2l0aW9uLnkgLSB0aGlzLl9mTm9kZVJlY3QuZ3Jhdml0eUNlbnRlci55LFxuICAgICAgcG9zaXRpb24ueCAtIHRoaXMuX2ZOb2RlUmVjdC5ncmF2aXR5Q2VudGVyLnhcbiAgICApICogKDE4MCAvIE1hdGguUEkpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgcG9zaXRpb24gPSBQb2ludEV4dGVuc2lvbnMuc3VtKHRoaXMuX29uRG93blBvaW50LCBkaWZmZXJlbmNlKTtcbiAgICBjb25zdCByb3RhdGlvbiA9IHRoaXMuX2NhbGN1bGF0ZUFuZ2xlQmV0d2VlblZlY3RvcnMocG9zaXRpb24pIC0gdGhpcy5faW5pdGlhbFJvdGF0aW9uVG9YO1xuICAgIHRoaXMuX3VwZGF0ZU5vZGVSZW5kZXJpbmcocm90YXRpb24pO1xuXG4gICAgdGhpcy5fZlNvdXJjZUhhbmRsZXJzLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHguY29ubmVjdGlvbi5zZXRTb3VyY2VEaWZmZXJlbmNlKFxuICAgICAgICB0aGlzLl9jYWxjdWxhdGVEaWZmZXJlbmNlQWZ0ZXJSb3RhdGlvbih4LmNvbm5lY3Rvciwgcm90YXRpb24pXG4gICAgICApXG4gICAgfSk7XG4gICAgdGhpcy5fZlRhcmdldEhhbmRsZXJzLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHguY29ubmVjdGlvbi5zZXRUYXJnZXREaWZmZXJlbmNlKFxuICAgICAgICB0aGlzLl9jYWxjdWxhdGVEaWZmZXJlbmNlQWZ0ZXJSb3RhdGlvbih4LmNvbm5lY3Rvciwgcm90YXRpb24pXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTm9kZVJlbmRlcmluZyhyb3RhdGlvbjogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fZk5vZGUudXBkYXRlUm90YXRlKHJvdGF0aW9uKTtcbiAgICB0aGlzLl9mTm9kZS5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZURpZmZlcmVuY2VBZnRlclJvdGF0aW9uKHBvc2l0aW9uOiBJUG9pbnQsIHJvdGF0aW9uOiBudW1iZXIpOiBJUG9pbnQge1xuICAgIHJldHVybiBjYWxjdWxhdGVEaWZmZXJlbmNlQWZ0ZXJSb3RhdGlvbihcbiAgICAgIHBvc2l0aW9uLFxuICAgICAgcm90YXRpb24gLSB0aGlzLl9zdGFydFJvdGF0aW9uLFxuICAgICAgdGhpcy5fZk5vZGVSZWN0LmdyYXZpdHlDZW50ZXJcbiAgICApXG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fZk5vZGUucm90YXRlQ2hhbmdlLmVtaXQodGhpcy5fZk5vZGUucm90YXRlKTtcbiAgfVxufVxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLXJvdGF0ZS5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1yb3RhdGUvZi1ub2RlLXJvdGF0ZS5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQyxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUNMLGdDQUFnQyxHQUNqQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHN0MsTUFBTSxPQUFPLHNCQUFzQjtJQXFCdkI7SUFDQTtJQUlBO0lBeEJPLE1BQU0sQ0FBbUI7SUFDekIsVUFBVSxDQUFZO0lBQ3RCLFlBQVksQ0FBd0I7SUFFOUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztJQUMzQixLQUFLLENBQU07SUFFVixtQkFBbUIsR0FBVyxDQUFDLENBQUM7SUFDdkIsY0FBYyxHQUFXLENBQUMsQ0FBQztJQUVwQyxZQUFZLENBQVU7SUFDdEIsVUFBVSxDQUFTO0lBRTNCLElBQVksVUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFDRSxTQUFtQixFQUNYLE1BQWlCLEVBQ2pCLGdCQUdMLEVBQ0ssZ0JBR0w7UUFSSyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FHckI7UUFDSyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBR3JCO1FBRUgsSUFB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QUMsUUFBZ0IsRUFBRSxRQUFnQjtRQUMxRSxPQUFPLGdDQUFnQyxDQUNyQyxRQUFRLEVBQ1IsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUM5QixDQUFBO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgSVRyYW5zZm9ybU1vZGVsLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElGRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uL2Ytbm9kZS1tb3ZlJztcbmltcG9ydCB7XG4gIGNhbGN1bGF0ZURpZmZlcmVuY2VBZnRlclJvdGF0aW9uLFxufSBmcm9tICcuL2NhbGN1bGF0ZS1kaWZmZXJlbmNlLWFmdGVyLXJvdGF0aW9uJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgRk5vZGVSb3RhdGVEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGRHJhZ0hhbmRsZXIge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlOiBGQ29tcG9uZW50c1N0b3JlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mTWVkaWF0b3I6IEZNZWRpYXRvcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfZHJhZ0NvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dDtcblxuICBwdWJsaWMgZkV2ZW50VHlwZSA9ICdub2RlLXJvdGF0ZSc7XG4gIHB1YmxpYyBmRGF0YTogYW55O1xuXG4gIHByaXZhdGUgX2luaXRpYWxSb3RhdGlvblRvWDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhcnRSb3RhdGlvbjogbnVtYmVyID0gMDtcblxuICBwcml2YXRlIF9vbkRvd25Qb2ludCE6IElQb2ludDtcbiAgcHJpdmF0ZSBfZk5vZGVSZWN0ITogSVJlY3Q7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgX2ZOb2RlOiBGTm9kZUJhc2UsXG4gICAgcHJpdmF0ZSBfZlNvdXJjZUhhbmRsZXJzOiB7XG4gICAgICBjb25uZWN0aW9uOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyLFxuICAgICAgY29ubmVjdG9yOiBJUG9pbnQsXG4gICAgfVtdLFxuICAgIHByaXZhdGUgX2ZUYXJnZXRIYW5kbGVyczoge1xuICAgICAgY29ubmVjdGlvbjogQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlcixcbiAgICAgIGNvbm5lY3RvcjogSVBvaW50LFxuICAgIH1bXSxcbiAgKSB7XG4gICAgdGhpcy5fc3RhcnRSb3RhdGlvbiA9IHRoaXMuX2ZOb2RlLl9yb3RhdGU7XG4gICAgdGhpcy5mRGF0YSA9IHtcbiAgICAgIGZOb2RlSWQ6IF9mTm9kZS5mSWQoKSxcbiAgICB9O1xuXG4gICAgdGhpcy5fc3RvcmUgPSBfaW5qZWN0b3IuZ2V0KEZDb21wb25lbnRzU3RvcmUpO1xuICAgIHRoaXMuX2ZNZWRpYXRvciA9IF9pbmplY3Rvci5nZXQoRk1lZGlhdG9yKTtcbiAgICB0aGlzLl9kcmFnQ29udGV4dCA9IF9pbmplY3Rvci5nZXQoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZOb2RlUmVjdCA9IHRoaXMuX2dldE9yaWdpbmFsTm9kZVJlY3QoKTtcbiAgICB0aGlzLl9vbkRvd25Qb2ludCA9IHRoaXMuX2NhbGN1bGF0ZURvd25Qb2ludCgpO1xuICAgIHRoaXMuX2luaXRpYWxSb3RhdGlvblRvWCA9IHRoaXMuX2NhbGN1bGF0ZUFuZ2xlQmV0d2VlblZlY3RvcnModGhpcy5fb25Eb3duUG9pbnQpIC0gdGhpcy5fc3RhcnRSb3RhdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE9yaWdpbmFsTm9kZVJlY3QoKTogSVJlY3Qge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJUmVjdD4obmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QodGhpcy5fZk5vZGUhLmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVEb3duUG9pbnQoKTogSVBvaW50IHtcbiAgICByZXR1cm4gUG9pbnRFeHRlbnNpb25zLnN1YihcbiAgICAgIHRoaXMuX2RyYWdDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbixcbiAgICAgIFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLCB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUFuZ2xlQmV0d2VlblZlY3RvcnMocG9zaXRpb246IElQb2ludCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguYXRhbjIoXG4gICAgICBwb3NpdGlvbi55IC0gdGhpcy5fZk5vZGVSZWN0LmdyYXZpdHlDZW50ZXIueSxcbiAgICAgIHBvc2l0aW9uLnggLSB0aGlzLl9mTm9kZVJlY3QuZ3Jhdml0eUNlbnRlci54XG4gICAgKSAqICgxODAgLyBNYXRoLlBJKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLnN1bSh0aGlzLl9vbkRvd25Qb2ludCwgZGlmZmVyZW5jZSk7XG4gICAgY29uc3Qgcm90YXRpb24gPSB0aGlzLl9jYWxjdWxhdGVBbmdsZUJldHdlZW5WZWN0b3JzKHBvc2l0aW9uKSAtIHRoaXMuX2luaXRpYWxSb3RhdGlvblRvWDtcbiAgICB0aGlzLl91cGRhdGVOb2RlUmVuZGVyaW5nKHJvdGF0aW9uKTtcblxuICAgIHRoaXMuX2ZTb3VyY2VIYW5kbGVycy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICB4LmNvbm5lY3Rpb24uc2V0U291cmNlRGlmZmVyZW5jZShcbiAgICAgICAgdGhpcy5fY2FsY3VsYXRlRGlmZmVyZW5jZUFmdGVyUm90YXRpb24oeC5jb25uZWN0b3IsIHJvdGF0aW9uKVxuICAgICAgKVxuICAgIH0pO1xuICAgIHRoaXMuX2ZUYXJnZXRIYW5kbGVycy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICB4LmNvbm5lY3Rpb24uc2V0VGFyZ2V0RGlmZmVyZW5jZShcbiAgICAgICAgdGhpcy5fY2FsY3VsYXRlRGlmZmVyZW5jZUFmdGVyUm90YXRpb24oeC5jb25uZWN0b3IsIHJvdGF0aW9uKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU5vZGVSZW5kZXJpbmcocm90YXRpb246IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX2ZOb2RlLnVwZGF0ZVJvdGF0ZShyb3RhdGlvbik7XG4gICAgdGhpcy5fZk5vZGUucmVkcmF3KCk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVEaWZmZXJlbmNlQWZ0ZXJSb3RhdGlvbihwb3NpdGlvbjogSVBvaW50LCByb3RhdGlvbjogbnVtYmVyKTogSVBvaW50IHtcbiAgICByZXR1cm4gY2FsY3VsYXRlRGlmZmVyZW5jZUFmdGVyUm90YXRpb24oXG4gICAgICBwb3NpdGlvbixcbiAgICAgIHJvdGF0aW9uIC0gdGhpcy5fc3RhcnRSb3RhdGlvbixcbiAgICAgIHRoaXMuX2ZOb2RlUmVjdC5ncmF2aXR5Q2VudGVyXG4gICAgKVxuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZOb2RlLnJvdGF0ZS5zZXQodGhpcy5fZk5vZGUuX3JvdGF0ZSk7XG4gIH1cbn1cbiJdfQ==