@foblex/flow 17.1.0 → 17.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (506) hide show
  1. package/domain/css-cls.d.ts +13 -0
  2. package/domain/f-background/providers.d.ts +1 -1
  3. package/domain/f-canvas/providers.d.ts +1 -1
  4. package/domain/f-connection/index.d.ts +0 -3
  5. package/domain/f-connection/providers.d.ts +1 -4
  6. package/domain/f-connection/redraw-connections/redraw-connections.execution.d.ts +2 -2
  7. package/domain/f-connectors/calculate-closest-input/calculate-closest-input.execution.d.ts +11 -0
  8. package/domain/f-connectors/calculate-closest-input/calculate-closest-input.request.d.ts +7 -0
  9. package/domain/f-connectors/calculate-closest-input/index.d.ts +2 -0
  10. package/domain/f-connectors/find-input-at-position/find-input-at-position.execution.d.ts +24 -0
  11. package/domain/f-connectors/find-input-at-position/find-input-at-position.request.d.ts +8 -0
  12. package/domain/f-connectors/find-input-at-position/index.d.ts +2 -0
  13. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +14 -0
  14. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +5 -0
  15. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.d.ts +2 -0
  16. package/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.d.ts +5 -0
  17. package/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.d.ts +11 -0
  18. package/domain/f-connectors/get-connector-and-rect/index.d.ts +2 -0
  19. package/domain/{f-connection/find-closest-input → f-connectors}/i-closest-input.d.ts +1 -1
  20. package/domain/{f-connection/get-connector-with-rect/i-connector-with-rect.d.ts → f-connectors/i-connector-and-rect.d.ts} +2 -2
  21. package/domain/f-connectors/index.d.ts +8 -0
  22. package/domain/f-connectors/mark-all-can-be-connected-inputs/index.d.ts +2 -0
  23. package/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.execution.d.ts +10 -0
  24. package/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.request.d.ts +5 -0
  25. package/domain/f-connectors/providers.d.ts +7 -1
  26. package/domain/f-connectors/unmark-all-can-be-connected-inputs/index.d.ts +2 -0
  27. package/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.execution.d.ts +10 -0
  28. package/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.request.d.ts +5 -0
  29. package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +1 -0
  30. package/domain/f-draggable/providers.d.ts +1 -1
  31. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +1 -0
  32. package/domain/f-event-trigger.d.ts +4 -0
  33. package/domain/f-flow/get-flow-state/providers.d.ts +1 -1
  34. package/domain/f-flow/providers.d.ts +1 -1
  35. package/domain/f-node/providers.d.ts +1 -1
  36. package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.d.ts +2 -0
  37. package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -3
  38. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +4 -6
  39. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.d.ts +6 -0
  40. package/domain/f-selection/get-can-be-selected-items/index.d.ts +1 -1
  41. package/domain/f-selection/providers.d.ts +1 -1
  42. package/domain/f-selection/select/select.execution.d.ts +2 -5
  43. package/domain/f-selection/select-all/select-all.execution.d.ts +2 -5
  44. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.d.ts +5 -0
  45. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.d.ts +9 -0
  46. package/domain/f-zoom/add-zoom-to-store/index.d.ts +2 -0
  47. package/domain/f-zoom/f-zoom-tag.d.ts +1 -0
  48. package/domain/f-zoom/index.d.ts +6 -0
  49. package/domain/f-zoom/providers.d.ts +5 -0
  50. package/domain/f-zoom/remove-zoom-from-store/index.d.ts +2 -0
  51. package/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store-request.d.ts +2 -0
  52. package/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.d.ts +9 -0
  53. package/domain/f-zoom/reset-zoom/index.d.ts +2 -0
  54. package/domain/f-zoom/reset-zoom/reset-zoom-request.d.ts +2 -0
  55. package/domain/f-zoom/reset-zoom/reset-zoom.execution.d.ts +10 -0
  56. package/domain/f-zoom/set-zoom/index.d.ts +2 -0
  57. package/domain/f-zoom/set-zoom/set-zoom-request.d.ts +8 -0
  58. package/domain/f-zoom/set-zoom/set-zoom.execution.d.ts +16 -0
  59. package/domain/i-f-action-trigger.d.ts +14 -0
  60. package/domain/index.d.ts +5 -0
  61. package/domain/log-deprecated.d.ts +1 -0
  62. package/domain/providers.d.ts +1 -1
  63. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +4 -4
  64. package/domain/update-item-and-children-layers/update-item-and-children-layers.request.d.ts +3 -3
  65. package/esm2022/domain/css-cls.mjs +14 -0
  66. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
  67. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +3 -3
  68. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +3 -3
  69. package/esm2022/domain/f-connection/index.mjs +1 -4
  70. package/esm2022/domain/f-connection/providers.mjs +1 -7
  71. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +11 -11
  72. package/esm2022/domain/f-connectors/calculate-closest-input/calculate-closest-input.execution.mjs +42 -0
  73. package/esm2022/domain/f-connectors/calculate-closest-input/calculate-closest-input.request.mjs +9 -0
  74. package/esm2022/domain/f-connectors/calculate-closest-input/index.mjs +3 -0
  75. package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +89 -0
  76. package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.request.mjs +11 -0
  77. package/esm2022/domain/f-connectors/find-input-at-position/index.mjs +3 -0
  78. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +45 -0
  79. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +7 -0
  80. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.mjs +3 -0
  81. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.mjs +7 -0
  82. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +28 -0
  83. package/esm2022/domain/f-connectors/get-connector-and-rect/index.mjs +3 -0
  84. package/esm2022/domain/f-connectors/i-closest-input.mjs +2 -0
  85. package/esm2022/domain/f-connectors/i-connector-and-rect.mjs +2 -0
  86. package/esm2022/domain/f-connectors/index.mjs +9 -1
  87. package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/index.mjs +3 -0
  88. package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.execution.mjs +27 -0
  89. package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.request.mjs +7 -0
  90. package/esm2022/domain/f-connectors/providers.mjs +14 -2
  91. package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/index.mjs +3 -0
  92. package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.execution.mjs +27 -0
  93. package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.request.mjs +7 -0
  94. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +3 -3
  95. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +7 -2
  96. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +2 -2
  97. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +8 -3
  98. package/esm2022/domain/f-event-trigger.mjs +7 -0
  99. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +4 -4
  100. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +40 -6
  101. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +9 -12
  102. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +8 -11
  103. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +2 -0
  104. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +2 -2
  105. package/esm2022/domain/f-selection/select/select.execution.mjs +18 -22
  106. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +18 -22
  107. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +3 -3
  108. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.mjs +7 -0
  109. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.mjs +25 -0
  110. package/esm2022/domain/f-zoom/add-zoom-to-store/index.mjs +3 -0
  111. package/esm2022/domain/f-zoom/f-zoom-tag.mjs +2 -0
  112. package/esm2022/domain/f-zoom/index.mjs +7 -0
  113. package/esm2022/domain/f-zoom/providers.mjs +11 -0
  114. package/esm2022/domain/f-zoom/remove-zoom-from-store/index.mjs +3 -0
  115. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store-request.mjs +3 -0
  116. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.mjs +25 -0
  117. package/esm2022/domain/f-zoom/reset-zoom/index.mjs +3 -0
  118. package/esm2022/domain/f-zoom/reset-zoom/reset-zoom-request.mjs +3 -0
  119. package/esm2022/domain/f-zoom/reset-zoom/reset-zoom.execution.mjs +27 -0
  120. package/esm2022/domain/f-zoom/set-zoom/index.mjs +3 -0
  121. package/esm2022/domain/f-zoom/set-zoom/set-zoom-request.mjs +13 -0
  122. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +50 -0
  123. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -2
  124. package/esm2022/domain/i-f-action-trigger.mjs +11 -0
  125. package/esm2022/domain/index.mjs +6 -1
  126. package/esm2022/domain/log-deprecated.mjs +11 -0
  127. package/esm2022/domain/providers.mjs +3 -1
  128. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +4 -4
  129. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +14 -14
  130. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +2 -2
  131. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +3 -3
  132. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +1 -1
  133. package/esm2022/f-backgroud/f-background.component.mjs +4 -4
  134. package/esm2022/f-canvas/domain/f-canvas-change.event.mjs +1 -1
  135. package/esm2022/f-canvas/f-canvas-base.mjs +1 -1
  136. package/esm2022/f-canvas/f-canvas.component.mjs +37 -14
  137. package/esm2022/f-connection/common/f-connection-base.mjs +3 -3
  138. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -2
  139. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -1
  140. package/esm2022/f-connection/f-connection/f-connection.component.mjs +10 -8
  141. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +10 -8
  142. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
  143. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +12 -9
  144. package/esm2022/f-connectors/f-connector-base.mjs +9 -5
  145. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +25 -25
  146. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +1 -1
  147. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +18 -19
  148. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +1 -1
  149. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +30 -26
  150. package/esm2022/f-connectors/index.mjs +1 -2
  151. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +8 -11
  152. package/esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs +1 -2
  153. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +36 -19
  154. package/esm2022/f-draggable/canvas/canvas-move-preparation/index.mjs +1 -3
  155. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +8 -8
  156. package/esm2022/f-draggable/canvas/providers.mjs +5 -5
  157. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +14 -11
  158. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.mjs +40 -0
  159. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.mjs +9 -0
  160. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.mjs +3 -0
  161. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +36 -38
  162. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +4 -2
  163. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +32 -24
  164. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +4 -2
  165. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +1 -2
  166. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +8 -12
  167. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +4 -2
  168. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +2 -2
  169. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +56 -51
  170. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +27 -24
  171. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +4 -4
  172. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +1 -2
  173. package/esm2022/f-draggable/connections/i-create-reassign-connection-drag-data.mjs +2 -0
  174. package/esm2022/f-draggable/connections/index.mjs +2 -2
  175. package/esm2022/f-draggable/connections/providers.mjs +3 -8
  176. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +9 -5
  177. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +2 -2
  178. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +4 -2
  179. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +71 -53
  180. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +3 -3
  181. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
  182. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  183. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
  184. package/esm2022/f-draggable/f-draggable.directive.mjs +55 -24
  185. package/esm2022/f-draggable/f-injector.mjs +19 -0
  186. package/esm2022/f-draggable/i-draggable-item.mjs +1 -1
  187. package/esm2022/f-draggable/index.mjs +2 -1
  188. package/esm2022/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.mjs +56 -0
  189. package/esm2022/f-draggable/node/connection-drag-handlers/index.mjs +5 -0
  190. package/esm2022/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.mjs +11 -0
  191. package/esm2022/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.mjs +22 -0
  192. package/esm2022/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.mjs +11 -0
  193. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +47 -45
  194. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.mjs +69 -0
  195. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.mjs +7 -0
  196. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +3 -0
  197. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.mjs +49 -0
  198. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.mjs +9 -0
  199. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +3 -0
  200. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +27 -35
  201. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs +4 -4
  202. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +33 -46
  203. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs +4 -4
  204. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
  205. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +2 -0
  206. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +5 -4
  207. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -5
  208. package/esm2022/f-draggable/node/index.mjs +4 -6
  209. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +7 -18
  210. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +7 -1
  211. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +5 -4
  212. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +3 -3
  213. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/index.mjs +1 -3
  214. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +13 -6
  215. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +13 -9
  216. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +5 -4
  217. package/esm2022/f-draggable/node/node.drag-handler.mjs +12 -29
  218. package/esm2022/f-draggable/node/point-bounds-limiter.mjs +41 -0
  219. package/esm2022/f-draggable/node/providers.mjs +3 -3
  220. package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +36 -0
  221. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +26 -22
  222. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +1 -1
  223. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +18 -18
  224. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +1 -1
  225. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +3 -3
  226. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +8 -11
  227. package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +1 -3
  228. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +46 -34
  229. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +47 -34
  230. package/esm2022/f-draggable/node-resize/providers.mjs +3 -3
  231. package/esm2022/f-draggable/node-resize/resize-direction.mjs +5 -1
  232. package/esm2022/f-draggable/single-select/single-select.execution.mjs +101 -70
  233. package/esm2022/f-draggable/single-select/single-select.request.mjs +4 -2
  234. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
  235. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +27 -27
  236. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +1 -2
  237. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +1 -3
  238. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +9 -8
  239. package/esm2022/f-flow/f-flow.component.mjs +15 -15
  240. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +2 -2
  241. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +2 -2
  242. package/esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs +1 -2
  243. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +8 -1
  244. package/esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs +1 -3
  245. package/esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs +1 -2
  246. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +10 -2
  247. package/esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs +1 -3
  248. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +2 -2
  249. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +2 -2
  250. package/esm2022/f-minimap/f-minimap-view.directive.mjs +2 -2
  251. package/esm2022/f-minimap/f-minimap.component.mjs +4 -4
  252. package/esm2022/f-node/f-group.directive.mjs +24 -16
  253. package/esm2022/f-node/f-node-base.mjs +1 -1
  254. package/esm2022/f-node/f-node.directive.mjs +25 -17
  255. package/esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs +6 -2
  256. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +3 -3
  257. package/esm2022/f-selection-area/domain/providers.mjs +5 -5
  258. package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +1 -3
  259. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +14 -10
  260. package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +1 -3
  261. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +25 -23
  262. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +4 -2
  263. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +32 -29
  264. package/esm2022/f-selection-area/f-selection-area.component.mjs +11 -6
  265. package/esm2022/f-storage/f-components-store.mjs +2 -1
  266. package/esm2022/f-zoom/e-f-zoom-action.mjs +6 -0
  267. package/esm2022/f-zoom/e-f-zoom-direction.mjs +6 -0
  268. package/esm2022/f-zoom/f-zoom-base.mjs +2 -98
  269. package/esm2022/f-zoom/f-zoom.directive.mjs +139 -21
  270. package/esm2022/f-zoom/index.mjs +3 -1
  271. package/esm2022/mixins/change-selection/change-selection.mjs +7 -7
  272. package/esm2022/mixins/change-selection/i-selectable.mjs +2 -0
  273. package/esm2022/mixins/change-selection/index.mjs +2 -2
  274. package/f-backgroud/providers.d.ts +1 -1
  275. package/f-canvas/f-canvas-base.d.ts +2 -2
  276. package/f-canvas/f-canvas.component.d.ts +9 -0
  277. package/f-connection/common/f-connection-base.d.ts +5 -5
  278. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +1 -0
  279. package/f-connection/f-connection/f-connection.component.d.ts +2 -0
  280. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -0
  281. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +3 -0
  282. package/f-connection/providers.d.ts +1 -1
  283. package/f-connectors/f-connector-base.d.ts +4 -2
  284. package/f-connectors/f-node-input/f-node-input.directive.d.ts +6 -6
  285. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -0
  286. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +6 -6
  287. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -0
  288. package/f-connectors/f-node-output/f-node-output.directive.d.ts +8 -7
  289. package/f-connectors/index.d.ts +0 -1
  290. package/f-connectors/providers.d.ts +1 -1
  291. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.d.ts +1 -3
  292. package/f-draggable/canvas/canvas-move-finalize/index.d.ts +0 -1
  293. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.d.ts +7 -6
  294. package/f-draggable/canvas/canvas-move-preparation/index.d.ts +0 -2
  295. package/f-draggable/canvas/canvas.drag-handler.d.ts +2 -2
  296. package/f-draggable/canvas/providers.d.ts +3 -1
  297. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.d.ts +3 -2
  298. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.d.ts +12 -0
  299. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.d.ts +7 -0
  300. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.d.ts +2 -0
  301. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +6 -6
  302. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts +3 -1
  303. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +6 -6
  304. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts +3 -1
  305. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +0 -1
  306. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +1 -2
  307. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts +3 -1
  308. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +1 -1
  309. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +14 -17
  310. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.d.ts +7 -7
  311. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.d.ts +2 -2
  312. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +0 -1
  313. package/f-draggable/connections/i-create-reassign-connection-drag-data.d.ts +7 -0
  314. package/f-draggable/connections/index.d.ts +1 -1
  315. package/f-draggable/connections/providers.d.ts +2 -3
  316. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +1 -0
  317. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts +3 -1
  318. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +17 -17
  319. package/f-draggable/f-draggable-base.d.ts +4 -1
  320. package/f-draggable/f-draggable-data-context.d.ts +2 -2
  321. package/f-draggable/f-draggable.directive.d.ts +16 -3
  322. package/f-draggable/f-injector.d.ts +8 -0
  323. package/f-draggable/i-draggable-item.d.ts +2 -1
  324. package/f-draggable/index.d.ts +1 -0
  325. package/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.d.ts +21 -0
  326. package/f-draggable/node/connection-drag-handlers/index.d.ts +4 -0
  327. package/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.d.ts +7 -0
  328. package/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.d.ts +10 -0
  329. package/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.d.ts +7 -0
  330. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +14 -13
  331. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.d.ts +19 -0
  332. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.d.ts +5 -0
  333. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +2 -0
  334. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.d.ts +15 -0
  335. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/{calculate-node-move-restrictions/calculate-node-move-restrictions.request.d.ts → calculate-node-move-limits/calculate-node-move-limits.request.d.ts} +1 -1
  336. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +2 -0
  337. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +5 -10
  338. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.d.ts +4 -4
  339. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.d.ts +8 -13
  340. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.d.ts +4 -4
  341. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.d.ts +5 -0
  342. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.d.ts +3 -0
  343. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +4 -3
  344. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -3
  345. package/f-draggable/node/index.d.ts +3 -5
  346. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -2
  347. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +5 -0
  348. package/f-draggable/node/line-alignment.drag-handler.d.ts +2 -3
  349. package/f-draggable/node/node-drag-to-parent-preparation/index.d.ts +0 -2
  350. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +1 -0
  351. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +2 -0
  352. package/f-draggable/node/node.drag-handler.d.ts +6 -9
  353. package/f-draggable/node/point-bounds-limiter.d.ts +15 -0
  354. package/f-draggable/node/providers.d.ts +2 -1
  355. package/f-draggable/node/summary-node.drag-handler.d.ts +14 -0
  356. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +5 -5
  357. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +5 -4
  358. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +3 -3
  359. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +1 -3
  360. package/f-draggable/node-resize/node-resize-preparation/index.d.ts +0 -2
  361. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +13 -11
  362. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +16 -12
  363. package/f-draggable/node-resize/providers.d.ts +2 -1
  364. package/f-draggable/node-resize/resize-direction.d.ts +16 -0
  365. package/f-draggable/providers.d.ts +1 -1
  366. package/f-draggable/single-select/single-select.execution.d.ts +54 -20
  367. package/f-draggable/single-select/single-select.request.d.ts +3 -1
  368. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +7 -11
  369. package/f-external-item/domain/external-item-preparation/index.d.ts +0 -1
  370. package/f-external-item/domain/external-item-preparation/providers.d.ts +1 -2
  371. package/f-external-item/domain/external-item.drag-handler.d.ts +2 -3
  372. package/f-external-item/domain/providers.d.ts +1 -1
  373. package/f-minimap/domain/minimap-drag-finalize/index.d.ts +0 -1
  374. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -0
  375. package/f-minimap/domain/minimap-drag-finalize/providers.d.ts +1 -2
  376. package/f-minimap/domain/minimap-drag-preparation/index.d.ts +0 -1
  377. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +1 -0
  378. package/f-minimap/domain/minimap-drag-preparation/providers.d.ts +1 -2
  379. package/f-minimap/domain/providers.d.ts +1 -1
  380. package/f-minimap/providers.d.ts +1 -1
  381. package/f-node/f-group.directive.d.ts +4 -0
  382. package/f-node/f-node-base.d.ts +3 -3
  383. package/f-node/f-node.directive.d.ts +4 -0
  384. package/f-node/f-resize-handle/e-f-resize-handle-type.d.ts +6 -2
  385. package/f-node/providers.d.ts +1 -1
  386. package/f-selection-area/domain/providers.d.ts +3 -1
  387. package/f-selection-area/domain/selection-area-finalize/index.d.ts +0 -2
  388. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +2 -3
  389. package/f-selection-area/domain/selection-area-preparation/index.d.ts +0 -2
  390. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +6 -8
  391. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +3 -1
  392. package/f-selection-area/domain/selection-area.drag-handle.d.ts +7 -6
  393. package/f-selection-area/f-selection-area.component.d.ts +3 -1
  394. package/f-storage/f-components-store.d.ts +2 -0
  395. package/f-zoom/e-f-zoom-action.d.ts +4 -0
  396. package/f-zoom/e-f-zoom-direction.d.ts +4 -0
  397. package/f-zoom/f-zoom-base.d.ts +0 -17
  398. package/f-zoom/f-zoom.directive.d.ts +40 -5
  399. package/f-zoom/index.d.ts +2 -0
  400. package/fesm2022/foblex-flow.mjs +2232 -1991
  401. package/fesm2022/foblex-flow.mjs.map +1 -1
  402. package/mixins/change-selection/change-selection.d.ts +2 -2
  403. package/mixins/change-selection/i-selectable.d.ts +10 -0
  404. package/mixins/change-selection/index.d.ts +1 -1
  405. package/package.json +2 -2
  406. package/domain/f-connection/find-closest-input/find-closest-input.execution.d.ts +0 -11
  407. package/domain/f-connection/find-closest-input/find-closest-input.request.d.ts +0 -7
  408. package/domain/f-connection/find-closest-input/index.d.ts +0 -3
  409. package/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.d.ts +0 -21
  410. package/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.request.d.ts +0 -4
  411. package/domain/f-connection/get-all-can-be-connected-input-positions/index.d.ts +0 -2
  412. package/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.d.ts +0 -5
  413. package/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.d.ts +0 -10
  414. package/domain/f-connection/get-connector-with-rect/index.d.ts +0 -3
  415. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected.d.ts +0 -6
  416. package/esm2022/domain/f-connection/find-closest-input/find-closest-input.execution.mjs +0 -42
  417. package/esm2022/domain/f-connection/find-closest-input/find-closest-input.request.mjs +0 -9
  418. package/esm2022/domain/f-connection/find-closest-input/i-closest-input.mjs +0 -2
  419. package/esm2022/domain/f-connection/find-closest-input/index.mjs +0 -4
  420. package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.mjs +0 -57
  421. package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.request.mjs +0 -7
  422. package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/index.mjs +0 -3
  423. package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.mjs +0 -7
  424. package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +0 -25
  425. package/esm2022/domain/f-connection/get-connector-with-rect/i-connector-with-rect.mjs +0 -2
  426. package/esm2022/domain/f-connection/get-connector-with-rect/index.mjs +0 -4
  427. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected.mjs +0 -2
  428. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.mjs +0 -9
  429. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +0 -38
  430. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/index.mjs +0 -3
  431. package/esm2022/f-connectors/domain/index.mjs +0 -2
  432. package/esm2022/f-draggable/canvas/canvas-move-finalize/providers.mjs +0 -5
  433. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +0 -46
  434. package/esm2022/f-draggable/canvas/canvas-move-preparation/providers.mjs +0 -7
  435. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -47
  436. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +0 -9
  437. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +0 -3
  438. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -36
  439. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +0 -28
  440. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +0 -88
  441. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.mjs +0 -9
  442. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +0 -36
  443. package/esm2022/f-draggable/connections/get-input-under-pointer/index.mjs +0 -4
  444. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +0 -55
  445. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +0 -17
  446. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +0 -17
  447. package/esm2022/f-draggable/node/connection.drag-handler.mjs +0 -23
  448. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.mjs +0 -40
  449. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.mjs +0 -7
  450. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +0 -3
  451. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.mjs +0 -42
  452. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.request.mjs +0 -9
  453. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +0 -3
  454. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +0 -2
  455. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.mjs +0 -26
  456. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/providers.mjs +0 -7
  457. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -16
  458. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -44
  459. package/esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs +0 -7
  460. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  461. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -26
  462. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -30
  463. package/esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs +0 -7
  464. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  465. package/esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs +0 -7
  466. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -32
  467. package/esm2022/mixins/change-selection/i-can-change-selection.mjs +0 -2
  468. package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.d.ts +0 -6
  469. package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.d.ts +0 -7
  470. package/f-connectors/domain/calculate-connector-connectable-side/index.d.ts +0 -2
  471. package/f-connectors/domain/index.d.ts +0 -1
  472. package/f-draggable/canvas/canvas-move-finalize/providers.d.ts +0 -2
  473. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.d.ts +0 -17
  474. package/f-draggable/canvas/canvas-move-preparation/providers.d.ts +0 -3
  475. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +0 -17
  476. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +0 -7
  477. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.d.ts +0 -2
  478. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.d.ts +0 -14
  479. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.d.ts +0 -12
  480. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.d.ts +0 -27
  481. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.d.ts +0 -8
  482. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.d.ts +0 -13
  483. package/f-draggable/connections/get-input-under-pointer/index.d.ts +0 -3
  484. package/f-draggable/node/connection-base-drag-handler.d.ts +0 -24
  485. package/f-draggable/node/connection-source.drag-handler.d.ts +0 -11
  486. package/f-draggable/node/connection-target.drag-handler.d.ts +0 -11
  487. package/f-draggable/node/connection.drag-handler.d.ts +0 -14
  488. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.d.ts +0 -13
  489. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.d.ts +0 -5
  490. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +0 -2
  491. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.d.ts +0 -12
  492. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +0 -2
  493. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +0 -6
  494. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.d.ts +0 -11
  495. package/f-draggable/node/node-drag-to-parent-preparation/providers.d.ts +0 -3
  496. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +0 -11
  497. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.d.ts +0 -17
  498. package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +0 -3
  499. package/f-external-item/domain/external-item-preparation/external-item-preparation.validator.d.ts +0 -12
  500. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.d.ts +0 -11
  501. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.d.ts +0 -13
  502. package/f-selection-area/domain/selection-area-finalize/providers.d.ts +0 -3
  503. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.d.ts +0 -11
  504. package/f-selection-area/domain/selection-area-preparation/providers.d.ts +0 -3
  505. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +0 -13
  506. package/mixins/change-selection/i-can-change-selection.d.ts +0 -10
@@ -1,53 +1,56 @@
1
- import { Point, RectExtensions } from '@foblex/2d';
1
+ import { Point, PointExtensions, RectExtensions } from '@foblex/2d';
2
2
  import { NotifyTransformChangedRequest } from '../../f-storage';
3
3
  import { GetCanBeSelectedItemsRequest } from '../../domain';
4
4
  export class SelectionAreaDragHandle {
5
- fComponentsStore;
6
- fSelectionArea;
7
- fDraggableDataContext;
8
- fMediator;
5
+ _fComponentsStore;
6
+ _fSelectionArea;
7
+ _fDraggableDataContext;
8
+ _fMediator;
9
9
  _canBeSelected = [];
10
10
  _selectedByMove = [];
11
- get canvasPosition() {
12
- return Point.fromPoint(this.fComponentsStore.fCanvas.transform.position)
13
- .add(this.fComponentsStore.fCanvas.transform.scaledPosition);
11
+ get _fCanvasPosition() {
12
+ return Point.fromPoint(this._fComponentsStore.fCanvas.transform.position)
13
+ .add(this._fComponentsStore.fCanvas.transform.scaledPosition);
14
14
  }
15
- constructor(fComponentsStore, fSelectionArea, fDraggableDataContext, fMediator) {
16
- this.fComponentsStore = fComponentsStore;
17
- this.fSelectionArea = fSelectionArea;
18
- this.fDraggableDataContext = fDraggableDataContext;
19
- this.fMediator = fMediator;
15
+ constructor(_fComponentsStore, _fSelectionArea, _fDraggableDataContext, _fMediator) {
16
+ this._fComponentsStore = _fComponentsStore;
17
+ this._fSelectionArea = _fSelectionArea;
18
+ this._fDraggableDataContext = _fDraggableDataContext;
19
+ this._fMediator = _fMediator;
20
20
  }
21
21
  prepareDragSequence() {
22
- this._canBeSelected = this.fMediator.send(new GetCanBeSelectedItemsRequest());
23
- this.fSelectionArea.show();
24
- this.fSelectionArea.draw(RectExtensions.initialize(this.fDraggableDataContext.onPointerDownPosition.x, this.fDraggableDataContext.onPointerDownPosition.y));
22
+ this._canBeSelected = this._fMediator.execute(new GetCanBeSelectedItemsRequest());
23
+ this._fSelectionArea.show();
24
+ this._fSelectionArea.draw(RectExtensions.initialize(this._fDraggableDataContext.onPointerDownPosition.x, this._fDraggableDataContext.onPointerDownPosition.y));
25
25
  }
26
26
  onPointerMove(difference) {
27
- const currentPoint = Point.fromPoint(difference).add(this.fDraggableDataContext.onPointerDownPosition);
28
- const x = Math.min(this.fDraggableDataContext.onPointerDownPosition.x, currentPoint.x);
29
- const y = Math.min(this.fDraggableDataContext.onPointerDownPosition.y, currentPoint.y);
27
+ const currentPoint = Point.fromPoint(difference).add(this._fDraggableDataContext.onPointerDownPosition);
28
+ const point = this._getMinimumPoint(this._fDraggableDataContext.onPointerDownPosition, currentPoint);
30
29
  const width = Math.abs(difference.x);
31
30
  const height = Math.abs(difference.y);
32
- this.fSelectionArea.draw(RectExtensions.initialize(x, y, width, height));
31
+ const fSelectionAreaRect = RectExtensions.initialize(point.x, point.y, width, height);
32
+ this._fSelectionArea.draw(fSelectionAreaRect);
33
33
  this._selectedByMove = [];
34
34
  this._canBeSelected.forEach((item) => {
35
- item.element.deselect();
36
- const itemRect = RectExtensions.addPoint(item.rect, this.canvasPosition);
37
- const isIntersect = RectExtensions.intersectionWithRect(itemRect, RectExtensions.initialize(x, y, width, height));
35
+ item.element.unmarkAsSelected();
36
+ const fItemRect = RectExtensions.addPoint(item.fRect, this._fCanvasPosition);
37
+ const isIntersect = RectExtensions.intersectionWithRect(fItemRect, fSelectionAreaRect);
38
38
  if (isIntersect) {
39
- item.element.select();
39
+ item.element.markAsSelected();
40
40
  this._selectedByMove.push(item.element);
41
41
  }
42
42
  });
43
- this.fMediator.send(new NotifyTransformChangedRequest());
43
+ this._fMediator.execute(new NotifyTransformChangedRequest());
44
+ }
45
+ _getMinimumPoint(point1, point2) {
46
+ return PointExtensions.initialize(Math.min(point1.x, point2.x), Math.min(point1.y, point2.y));
44
47
  }
45
48
  onPointerUp() {
46
- this.fSelectionArea.hide();
47
- this.fDraggableDataContext.selectedItems.push(...this._selectedByMove);
49
+ this._fSelectionArea.hide();
50
+ this._fDraggableDataContext.selectedItems.push(...this._selectedByMove);
48
51
  if (this._selectedByMove.length > 0) {
49
- this.fDraggableDataContext.isSelectedChanged = true;
52
+ this._fDraggableDataContext.isSelectedChanged = true;
50
53
  }
51
54
  }
52
55
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEuZHJhZy1oYW5kbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL3NlbGVjdGlvbi1hcmVhLmRyYWctaGFuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNELE9BQU8sRUFBb0IsNkJBQTZCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsNEJBQTRCLEVBQWtCLE1BQU0sY0FBYyxDQUFDO0FBTTVFLE1BQU0sT0FBTyx1QkFBdUI7SUFXeEI7SUFDQTtJQUNBO0lBQ0E7SUFaRixjQUFjLEdBQXFCLEVBQUUsQ0FBQztJQUN0QyxlQUFlLEdBQTBCLEVBQUUsQ0FBQztJQUVwRCxJQUFZLGNBQWM7UUFDeEIsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUN0RSxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFlBQ1UsZ0JBQWtDLEVBQ2xDLGNBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1QyxTQUFvQjtRQUhwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBRTlFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3RCLGNBQWMsQ0FBQyxVQUFVLENBQ3ZCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQ2xELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQ25ELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdkcsTUFBTSxDQUFDLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRixNQUFNLENBQUMsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9GLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN0QixjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUMvQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRXhCLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFekUsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEgsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFFaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFPLElBQUksNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIFBvaW50LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSwgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdCwgSUNhbkJlU2VsZWN0ZWQgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsIElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkFyZWFCYXNlIH0gZnJvbSAnLi4vZi1zZWxlY3Rpb24tYXJlYS1iYXNlJztcbmltcG9ydCB7IElDYW5DaGFuZ2VTZWxlY3Rpb24gfSBmcm9tICcuLi8uLi9taXhpbnMnO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uQXJlYURyYWdIYW5kbGUgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHJpdmF0ZSBfY2FuQmVTZWxlY3RlZDogSUNhbkJlU2VsZWN0ZWRbXSA9IFtdO1xuICBwcml2YXRlIF9zZWxlY3RlZEJ5TW92ZTogSUNhbkNoYW5nZVNlbGVjdGlvbltdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgY2FudmFzUG9zaXRpb24oKTogUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybS5wb3NpdGlvbilcbiAgICAgIC5hZGQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbik7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmU2VsZWN0aW9uQXJlYTogRlNlbGVjdGlvbkFyZWFCYXNlLFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jYW5CZVNlbGVjdGVkID0gdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdCgpKTtcblxuICAgIHRoaXMuZlNlbGVjdGlvbkFyZWEuc2hvdygpO1xuICAgIHRoaXMuZlNlbGVjdGlvbkFyZWEuZHJhdyhcbiAgICAgIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbi54LFxuICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24ueVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50UG9pbnQgPSBQb2ludC5mcm9tUG9pbnQoZGlmZmVyZW5jZSkuYWRkKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG4gICAgY29uc3QgeDogbnVtYmVyID0gTWF0aC5taW4odGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uLngsIGN1cnJlbnRQb2ludC54KTtcbiAgICBjb25zdCB5OiBudW1iZXIgPSBNYXRoLm1pbih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24ueSwgY3VycmVudFBvaW50LnkpO1xuXG4gICAgY29uc3Qgd2lkdGggPSBNYXRoLmFicyhkaWZmZXJlbmNlLngpO1xuICAgIGNvbnN0IGhlaWdodCA9IE1hdGguYWJzKGRpZmZlcmVuY2UueSk7XG5cbiAgICB0aGlzLmZTZWxlY3Rpb25BcmVhLmRyYXcoXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKHgsIHksIHdpZHRoLCBoZWlnaHQpXG4gICAgKTtcbiAgICB0aGlzLl9zZWxlY3RlZEJ5TW92ZSA9IFtdO1xuICAgIHRoaXMuX2NhbkJlU2VsZWN0ZWQuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5lbGVtZW50LmRlc2VsZWN0KCk7XG5cbiAgICAgIGNvbnN0IGl0ZW1SZWN0ID0gUmVjdEV4dGVuc2lvbnMuYWRkUG9pbnQoaXRlbS5yZWN0LCB0aGlzLmNhbnZhc1Bvc2l0aW9uKTtcblxuICAgICAgY29uc3QgaXNJbnRlcnNlY3QgPSBSZWN0RXh0ZW5zaW9ucy5pbnRlcnNlY3Rpb25XaXRoUmVjdChpdGVtUmVjdCwgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7XG4gICAgICBpZiAoaXNJbnRlcnNlY3QpIHtcblxuICAgICAgICBpdGVtLmVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkQnlNb3ZlLnB1c2goaXRlbS5lbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmZTZWxlY3Rpb25BcmVhLmhpZGUoKTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goLi4udGhpcy5fc2VsZWN0ZWRCeU1vdmUpO1xuICAgIGlmICh0aGlzLl9zZWxlY3RlZEJ5TW92ZS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5pc1NlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEuZHJhZy1oYW5kbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL3NlbGVjdGlvbi1hcmVhLmRyYWctaGFuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxLQUFLLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RSxPQUFPLEVBQW9CLDZCQUE2QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEYsT0FBTyxFQUFFLDRCQUE0QixFQUFnQyxNQUFNLGNBQWMsQ0FBQztBQU0xRixNQUFNLE9BQU8sdUJBQXVCO0lBV3hCO0lBQ0E7SUFDQTtJQUNBO0lBWkYsY0FBYyxHQUFtQyxFQUFFLENBQUM7SUFDcEQsZUFBZSxHQUFrQixFQUFFLENBQUM7SUFFNUMsSUFBWSxnQkFBZ0I7UUFDMUIsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUN2RSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFlBQ1UsaUJBQW1DLEVBQ25DLGVBQW1DLEVBQ25DLHNCQUE2QyxFQUM3QyxVQUFxQjtRQUhyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUNuQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBQzdDLGVBQVUsR0FBVixVQUFVLENBQVc7SUFFL0IsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBRWxGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQ3ZCLGNBQWMsQ0FBQyxVQUFVLENBQ3ZCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQ25ELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQ3BELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFeEcsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxxQkFBcUIsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVyRyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0QyxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV0RixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBRWhDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUU3RSxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFDdkYsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFFaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFPLElBQUksNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsTUFBYztRQUNyRCxPQUFPLGVBQWUsQ0FBQyxVQUFVLENBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQzdCLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSwgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdCwgSUNhbkJlU2VsZWN0ZWRFbGVtZW50QW5kUmVjdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCwgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQXJlYUJhc2UgfSBmcm9tICcuLi9mLXNlbGVjdGlvbi1hcmVhLWJhc2UnO1xuaW1wb3J0IHsgSVNlbGVjdGFibGUgfSBmcm9tICcuLi8uLi9taXhpbnMnO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uQXJlYURyYWdIYW5kbGUgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHJpdmF0ZSBfY2FuQmVTZWxlY3RlZDogSUNhbkJlU2VsZWN0ZWRFbGVtZW50QW5kUmVjdFtdID0gW107XG4gIHByaXZhdGUgX3NlbGVjdGVkQnlNb3ZlOiBJU2VsZWN0YWJsZVtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgX2ZDYW52YXNQb3NpdGlvbigpOiBJUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQodGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm0ucG9zaXRpb24pXG4gICAgICAuYWRkKHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBfZlNlbGVjdGlvbkFyZWE6IEZTZWxlY3Rpb25BcmVhQmFzZSxcbiAgICBwcml2YXRlIF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICBwcml2YXRlIF9mTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jYW5CZVNlbGVjdGVkID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IEdldENhbkJlU2VsZWN0ZWRJdGVtc1JlcXVlc3QoKSk7XG5cbiAgICB0aGlzLl9mU2VsZWN0aW9uQXJlYS5zaG93KCk7XG4gICAgdGhpcy5fZlNlbGVjdGlvbkFyZWEuZHJhdyhcbiAgICAgIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24ueCxcbiAgICAgICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbi55XG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRQb2ludCA9IFBvaW50LmZyb21Qb2ludChkaWZmZXJlbmNlKS5hZGQodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG5cbiAgICBjb25zdCBwb2ludCA9IHRoaXMuX2dldE1pbmltdW1Qb2ludCh0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uLCBjdXJyZW50UG9pbnQpO1xuXG4gICAgY29uc3Qgd2lkdGggPSBNYXRoLmFicyhkaWZmZXJlbmNlLngpO1xuICAgIGNvbnN0IGhlaWdodCA9IE1hdGguYWJzKGRpZmZlcmVuY2UueSk7XG5cbiAgICBjb25zdCBmU2VsZWN0aW9uQXJlYVJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKHBvaW50LngsIHBvaW50LnksIHdpZHRoLCBoZWlnaHQpO1xuXG4gICAgdGhpcy5fZlNlbGVjdGlvbkFyZWEuZHJhdyhmU2VsZWN0aW9uQXJlYVJlY3QpO1xuICAgIHRoaXMuX3NlbGVjdGVkQnlNb3ZlID0gW107XG4gICAgdGhpcy5fY2FuQmVTZWxlY3RlZC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmVsZW1lbnQudW5tYXJrQXNTZWxlY3RlZCgpO1xuXG4gICAgICBjb25zdCBmSXRlbVJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5hZGRQb2ludChpdGVtLmZSZWN0LCB0aGlzLl9mQ2FudmFzUG9zaXRpb24pO1xuXG4gICAgICBjb25zdCBpc0ludGVyc2VjdCA9IFJlY3RFeHRlbnNpb25zLmludGVyc2VjdGlvbldpdGhSZWN0KGZJdGVtUmVjdCwgZlNlbGVjdGlvbkFyZWFSZWN0KTtcbiAgICAgIGlmIChpc0ludGVyc2VjdCkge1xuXG4gICAgICAgIGl0ZW0uZWxlbWVudC5tYXJrQXNTZWxlY3RlZCgpO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEJ5TW92ZS5wdXNoKGl0ZW0uZWxlbWVudCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vdGlmeVRyYW5zZm9ybUNoYW5nZWRSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TWluaW11bVBvaW50KHBvaW50MTogSVBvaW50LCBwb2ludDI6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgTWF0aC5taW4ocG9pbnQxLngsIHBvaW50Mi54KSxcbiAgICAgIE1hdGgubWluKHBvaW50MS55LCBwb2ludDIueSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZTZWxlY3Rpb25BcmVhLmhpZGUoKTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5wdXNoKC4uLnRoaXMuX3NlbGVjdGVkQnlNb3ZlKTtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRCeU1vdmUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, ElementRef, inject } from '@angular/core';
1
+ import { Component, ElementRef, inject, Input } from '@angular/core';
2
2
  import { FSelectionAreaBase } from './f-selection-area-base';
3
3
  import { F_DRAG_AND_DROP_PLUGIN } from '../f-draggable';
4
4
  import { FMediator } from '@foblex/mediator';
@@ -7,6 +7,9 @@ import * as i0 from "@angular/core";
7
7
  export class FSelectionAreaComponent extends FSelectionAreaBase {
8
8
  _fMediator = inject(FMediator);
9
9
  _elementReference = inject(ElementRef);
10
+ fTrigger = (event) => {
11
+ return event.shiftKey;
12
+ };
10
13
  get hostElement() {
11
14
  return this._elementReference.nativeElement;
12
15
  }
@@ -27,13 +30,13 @@ export class FSelectionAreaComponent extends FSelectionAreaBase {
27
30
  style.height = object.height + 'px';
28
31
  }
29
32
  onPointerDown(event) {
30
- this._fMediator.send(new SelectionAreaPreparationRequest(event, this));
33
+ this._fMediator.execute(new SelectionAreaPreparationRequest(event, this, this.fTrigger));
31
34
  }
32
35
  onPointerUp(event) {
33
- this._fMediator.send(new SelectionAreaFinalizeRequest(event));
36
+ this._fMediator.execute(new SelectionAreaFinalizeRequest(event));
34
37
  }
35
38
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FSelectionAreaComponent, selector: "f-selection-area", host: { classAttribute: "f-selection-area f-component" }, providers: [
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FSelectionAreaComponent, selector: "f-selection-area", inputs: { fTrigger: "fTrigger" }, host: { classAttribute: "f-selection-area f-component" }, providers: [
37
40
  { provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FSelectionAreaComponent },
38
41
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [":host{position:absolute}\n"] });
39
42
  }
@@ -44,5 +47,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
44
47
  }, providers: [
45
48
  { provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FSelectionAreaComponent },
46
49
  ], styles: [":host{position:absolute}\n"] }]
47
- }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBdUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLCtCQUErQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQWF6RixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBRXJELFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRS9DLElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBRWUsSUFBSTtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFZSxJQUFJO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0MsQ0FBQztJQUVlLElBQUksQ0FBQyxNQUFhO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDN0IsS0FBSyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUM1QixLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDdEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLCtCQUErQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBb0I7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7dUdBbkNVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLHFHQUp2QjtZQUNULEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtTQUMxRSxpREFQUyxFQUFFOzsyRkFTRCx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCLEVBQUUsUUFFTjt3QkFDSixPQUFPLEVBQUUsOEJBQThCO3FCQUN4QyxhQUNVO3dCQUNULEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7cUJBQzFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkFyZWFCYXNlIH0gZnJvbSAnLi9mLXNlbGVjdGlvbi1hcmVhLWJhc2UnO1xuaW1wb3J0IHsgRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgSUZEcmFnQW5kRHJvcFBsdWdpbiB9IGZyb20gJy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICdAZm9ibGV4L2RyYWctdG9vbGtpdCc7XG5pbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBTZWxlY3Rpb25BcmVhRmluYWxpemVSZXF1ZXN0LCBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1zZWxlY3Rpb24tYXJlYVwiLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlVXJsczogWyAnLi9mLXNlbGVjdGlvbi1hcmVhLmNvbXBvbmVudC5zY3NzJyBdLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2Ytc2VsZWN0aW9uLWFyZWEgZi1jb21wb25lbnQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgdXNlRXhpc3Rpbmc6IEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50IH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50IGV4dGVuZHMgRlNlbGVjdGlvbkFyZWFCYXNlIGltcGxlbWVudHMgT25Jbml0LCBJRkRyYWdBbmREcm9wUGx1Z2luICB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRyYXcob2JqZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5ob3N0RWxlbWVudC5zdHlsZTtcbiAgICBzdHlsZS5sZWZ0ID0gb2JqZWN0LnggKyAncHgnO1xuICAgIHN0eWxlLnRvcCA9IG9iamVjdC55ICsgJ3B4JztcbiAgICBzdHlsZS53aWR0aCA9IG9iamVjdC53aWR0aCArICdweCc7XG4gICAgc3R5bGUuaGVpZ2h0ID0gb2JqZWN0LmhlaWdodCArICdweCc7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyRG93bihldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kKG5ldyBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZChuZXcgU2VsZWN0aW9uQXJlYUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuICB9XG59XG4iXX0=
50
+ }], propDecorators: { fTrigger: [{
51
+ type: Input
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFjekYsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGtCQUFrQjtJQUVyRCxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUd4QyxRQUFRLEdBQWtCLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQ3ZELE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUN4QixDQUFDLENBQUM7SUFFRixJQUFvQixXQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUMsQ0FBQztJQUVlLElBQUk7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBRWUsSUFBSTtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNDLENBQUM7SUFFZSxJQUFJLENBQUMsTUFBYTtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNyQyxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzdCLEtBQUssQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDNUIsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBb0I7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7dUdBeENVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLHVJQUp2QjtZQUNULEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtTQUMxRSxpREFQUyxFQUFFOzsyRkFTRCx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCLEVBQUUsUUFFTjt3QkFDSixPQUFPLEVBQUUsOEJBQThCO3FCQUN4QyxhQUNVO3dCQUNULEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7cUJBQzFFOzhCQVFNLFFBQVE7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQXJlYUJhc2UgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWFyZWEtYmFzZSc7XG5pbXBvcnQgeyBGX0RSQUdfQU5EX0RST1BfUExVR0lOLCBJRkRyYWdBbmREcm9wUGx1Z2luIH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcbmltcG9ydCB7IElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IFNlbGVjdGlvbkFyZWFGaW5hbGl6ZVJlcXVlc3QsIFNlbGVjdGlvbkFyZWFQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGRXZlbnRUcmlnZ2VyLCBUcmlnZ2VyRXZlbnQgfSBmcm9tICcuLi9kb21haW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1zZWxlY3Rpb24tYXJlYVwiLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlVXJsczogWyAnLi9mLXNlbGVjdGlvbi1hcmVhLmNvbXBvbmVudC5zY3NzJyBdLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2Ytc2VsZWN0aW9uLWFyZWEgZi1jb21wb25lbnQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgdXNlRXhpc3Rpbmc6IEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50IH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50IGV4dGVuZHMgRlNlbGVjdGlvbkFyZWFCYXNlIGltcGxlbWVudHMgT25Jbml0LCBJRkRyYWdBbmREcm9wUGx1Z2luICB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gKGV2ZW50OiBUcmlnZ2VyRXZlbnQpID0+IHtcbiAgICByZXR1cm4gZXZlbnQuc2hpZnRLZXk7XG4gIH07XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRyYXcob2JqZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5ob3N0RWxlbWVudC5zdHlsZTtcbiAgICBzdHlsZS5sZWZ0ID0gb2JqZWN0LnggKyAncHgnO1xuICAgIHN0eWxlLnRvcCA9IG9iamVjdC55ICsgJ3B4JztcbiAgICBzdHlsZS53aWR0aCA9IG9iamVjdC53aWR0aCArICdweCc7XG4gICAgc3R5bGUuaGVpZ2h0ID0gb2JqZWN0LmhlaWdodCArICdweCc7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyRG93bihldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLCB0aGlzLmZUcmlnZ2VyKSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgU2VsZWN0aW9uQXJlYUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuICB9XG59XG4iXX0=
@@ -8,6 +8,7 @@ export class FComponentsStore {
8
8
  get flowHost() {
9
9
  return this.fFlow?.hostElement;
10
10
  }
11
+ fComponents = {};
11
12
  fFlow;
12
13
  fCanvas;
13
14
  fBackground;
@@ -47,4 +48,4 @@ export class FComponentsStore {
47
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FComponentsStore, decorators: [{
48
49
  type: Injectable
49
50
  }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb21wb25lbnRzLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXN0b3JhZ2UvZi1jb21wb25lbnRzLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJekMsTUFBTSxPQUFPLGdCQUFnQjtJQUVYLGlCQUFpQixHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFbkMsWUFBWSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFOUIsYUFBYSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFL0MsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBd0I7SUFFN0IsT0FBTyxDQUEwQjtJQUVqQyxXQUFXLENBQThCO0lBRXpDLE1BQU0sR0FBZ0IsRUFBRSxDQUFDO0lBRXpCLFlBQVksR0FBc0IsRUFBRSxDQUFDO0lBRXJDLGVBQWUsQ0FBOEI7SUFFN0MsZUFBZSxDQUE4QjtJQUU3QyxRQUFRLEdBQWtCLEVBQUUsQ0FBQztJQUU3QixRQUFRLEdBQXFCLEVBQUUsQ0FBQztJQUVoQyxPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUUvQixRQUFRLEdBQXFCLEVBQUUsQ0FBQztJQUVoQyxVQUFVLENBQTZCO0lBRXZDLGNBQWMsQ0FBaUM7SUFFL0MsWUFBWSxDQUFJLFVBQWUsRUFBRSxTQUFZO1FBQ2xELFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxlQUFlLENBQUksVUFBZSxFQUFFLFNBQVk7UUFDckQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2YsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEMsQ0FBQzt1R0E3RFUsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVHJhbnNmb3JtTW9kZWwgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSwgRk1hcmtlckJhc2UgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkZsb3dCYXNlIH0gZnJvbSAnLi4vZi1mbG93JztcbmltcG9ydCB7IEZDYW52YXNCYXNlIH0gZnJvbSAnLi4vZi1jYW52YXMnO1xuaW1wb3J0IHsgRkJhY2tncm91bmRCYXNlIH0gZnJvbSAnLi4vZi1iYWNrZ3JvdWQnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZEcmFnZ2FibGVCYXNlIH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRkNoYW5uZWwgfSBmcm9tICcuLi9yZWFjdGl2aXR5JztcbmltcG9ydCB7IEZMaW5lQWxpZ25tZW50QmFzZSB9IGZyb20gJy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRkNvbXBvbmVudHNTdG9yZSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZm9ybUNoYW5nZXMkID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFDaGFuZ2VzJCA9IG5ldyBGQ2hhbm5lbCgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb3VudENoYW5nZXMkID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHVibGljIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkZsb3c/Lmhvc3RFbGVtZW50ITtcbiAgfVxuXG4gIHB1YmxpYyBmRmxvdzogRkZsb3dCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBmQ2FudmFzOiBGQ2FudmFzQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZkJhY2tncm91bmQ6IEZCYWNrZ3JvdW5kQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZk5vZGVzOiBGTm9kZUJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBmQ29ubmVjdGlvbnM6IEZDb25uZWN0aW9uQmFzZVtdID0gW107XG5cbiAgcHVibGljIGZUZW1wQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBmU25hcENvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZk1hcmtlcnM6IEZNYXJrZXJCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZk91dHB1dHM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZklucHV0czogRkNvbm5lY3RvckJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBmT3V0bGV0czogRkNvbm5lY3RvckJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBmRHJhZ2dhYmxlOiBGRHJhZ2dhYmxlQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZkxpbmVBbGlnbm1lbnQ6IEZMaW5lQWxpZ25tZW50QmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYWRkQ29tcG9uZW50PFQ+KGNvbGxlY3Rpb246IFRbXSwgY29tcG9uZW50OiBUKTogdm9pZCB7XG4gICAgY29sbGVjdGlvbi5wdXNoKGNvbXBvbmVudCk7XG4gICAgdGhpcy5jb3VudENoYW5nZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVDb21wb25lbnQ8VD4oY29sbGVjdGlvbjogVFtdLCBjb21wb25lbnQ6IFQpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IGNvbGxlY3Rpb24uaW5kZXhPZihjb21wb25lbnQpO1xuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb2xsZWN0aW9uLnNwbGljZShpbmRleCwgMSk7XG4gICAgICB0aGlzLmNvdW50Q2hhbmdlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb3VudENoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jb3VudENoYW5nZXMkLm5vdGlmeSgpO1xuICB9XG5cbiAgcHVibGljIGRhdGFDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YUNoYW5nZXMkLm5vdGlmeSgpO1xuICB9XG5cbiAgcHVibGljIHRyYW5zZm9ybUNoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2Zvcm1DaGFuZ2VzJC5ub3RpZnkoKTtcbiAgfVxufVxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb21wb25lbnRzLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXN0b3JhZ2UvZi1jb21wb25lbnRzLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLekMsTUFBTSxPQUFPLGdCQUFnQjtJQUVYLGlCQUFpQixHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFbkMsWUFBWSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFOUIsYUFBYSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFL0MsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVNLFdBQVcsR0FBYyxFQUFFLENBQUM7SUFFNUIsS0FBSyxDQUF3QjtJQUU3QixPQUFPLENBQTBCO0lBRWpDLFdBQVcsQ0FBOEI7SUFFekMsTUFBTSxHQUFnQixFQUFFLENBQUM7SUFFekIsWUFBWSxHQUFzQixFQUFFLENBQUM7SUFFckMsZUFBZSxDQUE4QjtJQUU3QyxlQUFlLENBQThCO0lBRTdDLFFBQVEsR0FBa0IsRUFBRSxDQUFDO0lBRTdCLFFBQVEsR0FBcUIsRUFBRSxDQUFDO0lBRWhDLE9BQU8sR0FBcUIsRUFBRSxDQUFDO0lBRS9CLFFBQVEsR0FBcUIsRUFBRSxDQUFDO0lBRWhDLFVBQVUsQ0FBNkI7SUFFdkMsY0FBYyxDQUFpQztJQUUvQyxZQUFZLENBQUksVUFBZSxFQUFFLFNBQVk7UUFDbEQsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLGVBQWUsQ0FBSSxVQUFlLEVBQUUsU0FBWTtRQUNyRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDZixVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQyxDQUFDO3VHQS9EVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSwgRk1hcmtlckJhc2UgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkZsb3dCYXNlIH0gZnJvbSAnLi4vZi1mbG93JztcbmltcG9ydCB7IEZDYW52YXNCYXNlIH0gZnJvbSAnLi4vZi1jYW52YXMnO1xuaW1wb3J0IHsgRkJhY2tncm91bmRCYXNlIH0gZnJvbSAnLi4vZi1iYWNrZ3JvdWQnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZEcmFnZ2FibGVCYXNlIH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRkNoYW5uZWwgfSBmcm9tICcuLi9yZWFjdGl2aXR5JztcbmltcG9ydCB7IEZMaW5lQWxpZ25tZW50QmFzZSB9IGZyb20gJy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgSU1hcCB9IGZyb20gJy4uL2RvbWFpbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGQ29tcG9uZW50c1N0b3JlIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNmb3JtQ2hhbmdlcyQgPSBuZXcgRkNoYW5uZWwoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YUNoYW5nZXMkID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvdW50Q2hhbmdlcyQgPSBuZXcgRkNoYW5uZWwoKTtcblxuICBwdWJsaWMgZ2V0IGZsb3dIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mRmxvdz8uaG9zdEVsZW1lbnQhO1xuICB9XG5cbiAgcHVibGljIGZDb21wb25lbnRzOiBJTWFwPGFueT4gPSB7fTtcblxuICBwdWJsaWMgZkZsb3c6IEZGbG93QmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZkNhbnZhczogRkNhbnZhc0Jhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZCYWNrZ3JvdW5kOiBGQmFja2dyb3VuZEJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZOb2RlczogRk5vZGVCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZkNvbm5lY3Rpb25zOiBGQ29ubmVjdGlvbkJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBmVGVtcENvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZlNuYXBDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZNYXJrZXJzOiBGTWFya2VyQmFzZVtdID0gW107XG5cbiAgcHVibGljIGZPdXRwdXRzOiBGQ29ubmVjdG9yQmFzZVtdID0gW107XG5cbiAgcHVibGljIGZJbnB1dHM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZk91dGxldHM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZkRyYWdnYWJsZTogRkRyYWdnYWJsZUJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZMaW5lQWxpZ25tZW50OiBGTGluZUFsaWdubWVudEJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFkZENvbXBvbmVudDxUPihjb2xsZWN0aW9uOiBUW10sIGNvbXBvbmVudDogVCk6IHZvaWQge1xuICAgIGNvbGxlY3Rpb24ucHVzaChjb21wb25lbnQpO1xuICAgIHRoaXMuY291bnRDaGFuZ2VkKCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQ29tcG9uZW50PFQ+KGNvbGxlY3Rpb246IFRbXSwgY29tcG9uZW50OiBUKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSBjb2xsZWN0aW9uLmluZGV4T2YoY29tcG9uZW50KTtcbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgY29sbGVjdGlvbi5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgdGhpcy5jb3VudENoYW5nZWQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY291bnRDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY291bnRDaGFuZ2VzJC5ub3RpZnkoKTtcbiAgfVxuXG4gIHB1YmxpYyBkYXRhQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFDaGFuZ2VzJC5ub3RpZnkoKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFuc2Zvcm1DaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNmb3JtQ2hhbmdlcyQubm90aWZ5KCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export var EFZoomAction;
2
+ (function (EFZoomAction) {
3
+ EFZoomAction["WHEEL"] = "wheel";
4
+ EFZoomAction["DOUBLE_CLICK"] = "dbl-click";
5
+ })(EFZoomAction || (EFZoomAction = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLXpvb20tYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXpvb20vZS1mLXpvb20tYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFlBS1g7QUFMRCxXQUFZLFlBQVk7SUFFdEIsK0JBQWUsQ0FBQTtJQUVmLDBDQUEwQixDQUFBO0FBQzVCLENBQUMsRUFMVyxZQUFZLEtBQVosWUFBWSxRQUt2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVGWm9vbUFjdGlvbiB7XG5cbiAgV0hFRUwgPSAnd2hlZWwnLFxuXG4gIERPVUJMRV9DTElDSyA9ICdkYmwtY2xpY2snLFxufVxuIl19
@@ -0,0 +1,6 @@
1
+ export var EFZoomDirection;
2
+ (function (EFZoomDirection) {
3
+ EFZoomDirection[EFZoomDirection["ZOOM_IN"] = 1] = "ZOOM_IN";
4
+ EFZoomDirection[EFZoomDirection["ZOOM_OUT"] = -1] = "ZOOM_OUT";
5
+ })(EFZoomDirection || (EFZoomDirection = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLXpvb20tZGlyZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXpvb20vZS1mLXpvb20tZGlyZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGVBS1g7QUFMRCxXQUFZLGVBQWU7SUFFekIsMkRBQVcsQ0FBQTtJQUVYLDhEQUFhLENBQUE7QUFDZixDQUFDLEVBTFcsZUFBZSxLQUFmLGVBQWUsUUFLMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFRlpvb21EaXJlY3Rpb24ge1xuXG4gIFpPT01fSU4gPSAxLFxuXG4gIFpPT01fT1VUID0gLTEsXG59XG4iXX0=
@@ -1,101 +1,5 @@
1
- import { EventExtensions } from '@foblex/drag-toolkit';
2
- import { Point, RectExtensions } from '@foblex/2d';
3
- import { inject, InjectionToken } from '@angular/core';
4
- import { isNode } from '../f-node';
5
- import { FMediator } from '@foblex/mediator';
6
- import { GetCanvasRequest, GetFlowHostElementRequest } from '../domain';
7
- import { IsDragStartedRequest } from '../domain';
1
+ import { InjectionToken } from '@angular/core';
8
2
  export const F_ZOOM = new InjectionToken('F_ZOOM');
9
3
  export class FZoomBase {
10
- isEnabled = false;
11
- _listeners = EventExtensions.emptyListener();
12
- _fMediator = inject(FMediator);
13
- get _fFlowHostElement() {
14
- return this._fMediator.send(new GetFlowHostElementRequest());
15
- }
16
- get _fCanvas() {
17
- return this._fMediator.send(new GetCanvasRequest());
18
- }
19
- get _isDragStarted() {
20
- return this._fMediator.send(new IsDragStartedRequest());
21
- }
22
- toggleZoom() {
23
- if (this.isEnabled) {
24
- this._subscribe();
25
- }
26
- else {
27
- this.dispose();
28
- }
29
- }
30
- _subscribe() {
31
- this._listeners();
32
- if (!this._fFlowHostElement) {
33
- return;
34
- }
35
- this._fFlowHostElement.addEventListener('wheel', this._onWheel);
36
- this._fFlowHostElement.addEventListener('dblclick', this._onDoubleClick);
37
- this._listeners = () => {
38
- this._fFlowHostElement.removeEventListener('wheel', this._onWheel);
39
- this._fFlowHostElement.removeEventListener('dblclick', this._onDoubleClick);
40
- };
41
- }
42
- getScale() {
43
- return this._fCanvas.transform.scale || 1;
44
- }
45
- _onWheel = (event) => {
46
- event.preventDefault();
47
- const targetElement = event.target;
48
- if (this._isDragStarted || targetElement?.closest('[fLockedContext]')) {
49
- return;
50
- }
51
- let result = this.getScale();
52
- const direction = event.deltaY > 0 ? -1 : 1;
53
- const step = this.step;
54
- result = result + step * direction;
55
- result = Math.max(this.minimum, Math.min(result, this.maximum));
56
- const pointerPositionInFlow = new Point(event.clientX, event.clientY).elementTransform(this._fFlowHostElement);
57
- this._fCanvas.setZoom(result, pointerPositionInFlow);
58
- this._fCanvas.redraw();
59
- this._fCanvas.emitCanvasChangeEvent();
60
- };
61
- _onDoubleClick = (event) => {
62
- event.preventDefault();
63
- const targetElement = event.target;
64
- if (this._isDragStarted || isNode(targetElement) || targetElement?.closest('[fLockedContext]')) {
65
- return;
66
- }
67
- let result = this.getScale();
68
- const direction = 1;
69
- const step = this.dblClickStep;
70
- result = result + step * direction;
71
- result = Math.max(this.minimum, Math.min(result, this.maximum));
72
- const pointerPositionInFlow = new Point(event.clientX, event.clientY).elementTransform(this._fFlowHostElement);
73
- this._fCanvas.setZoom(result, pointerPositionInFlow);
74
- this._fCanvas.redrawWithAnimation();
75
- this._fCanvas.emitCanvasChangeEvent();
76
- };
77
- _onZoomToCenter(deltaY, position) {
78
- const preventDefault = () => {
79
- };
80
- const rect = RectExtensions.fromElement(this._fFlowHostElement);
81
- this._onWheel({
82
- deltaY, preventDefault, clientX: position?.x || rect.gravityCenter.x, clientY: position?.y || rect.gravityCenter.y
83
- });
84
- }
85
- zoomIn(position) {
86
- this._onZoomToCenter(-1, position);
87
- }
88
- zoomOut(position) {
89
- this._onZoomToCenter(1, position);
90
- }
91
- reset() {
92
- this._fCanvas.resetZoom();
93
- this._fCanvas.redraw();
94
- this._fCanvas.emitCanvasChangeEvent();
95
- }
96
- dispose() {
97
- this._listeners();
98
- this._listeners = EventExtensions.emptyListener();
99
- }
100
4
  }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi16b29tLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytem9vbS9mLXpvb20tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFVLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVksUUFBUSxDQUFDLENBQUM7QUFFOUQsTUFBTSxPQUFnQixTQUFTO0lBRW5CLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFRN0IsVUFBVSxHQUFhLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUV2RCxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXZDLElBQVksaUJBQWlCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFZLGNBQWM7UUFDeEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElB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LENBQUM7SUFFTSxNQUFNLENBQUMsUUFBaUI7UUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQWlCO1FBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRVMsT0FBTztRQUNmLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2RyYWctdG9vbGtpdCc7XG5pbXBvcnQgeyBJUG9pbnQsIFBvaW50LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNhbnZhc0Jhc2UgfSBmcm9tICcuLi9mLWNhbnZhcyc7XG5pbXBvcnQgeyBpc05vZGUgfSBmcm9tICcuLi9mLW5vZGUnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBHZXRDYW52YXNSZXF1ZXN0LCBHZXRGbG93SG9zdEVsZW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IElzRHJhZ1N0YXJ0ZWRSZXF1ZXN0IH0gZnJvbSAnLi4vZG9tYWluJztcblxuZXhwb3J0IGNvbnN0IEZfWk9PTSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGWm9vbUJhc2U+KCdGX1pPT00nKTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZab29tQmFzZSB7XG5cbiAgcHJvdGVjdGVkIGlzRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBtaW5pbXVtOiBudW1iZXI7XG4gIHB1YmxpYyBhYnN0cmFjdCBtYXhpbXVtOiBudW1iZXI7XG5cbiAgcHVibGljIGFic3RyYWN0IHN0ZXA6IG51bWJlcjtcbiAgcHVibGljIGFic3RyYWN0IGRibENsaWNrU3RlcDogbnVtYmVyO1xuXG4gIHByaXZhdGUgX2xpc3RlbmVyczogRnVuY3Rpb24gPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuXG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHByaXZhdGUgZ2V0IF9mRmxvd0hvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLnNlbmQobmV3IEdldEZsb3dIb3N0RWxlbWVudFJlcXVlc3QoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkNhbnZhcygpOiBGQ2FudmFzQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5zZW5kKG5ldyBHZXRDYW52YXNSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2lzRHJhZ1N0YXJ0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5zZW5kPGJvb2xlYW4+KG5ldyBJc0RyYWdTdGFydGVkUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVab29tKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5fc3Vic2NyaWJlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGlzcG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9saXN0ZW5lcnMoKTtcbiAgICBpZiAoIXRoaXMuX2ZGbG93SG9zdEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9mRmxvd0hvc3RFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3doZWVsJywgdGhpcy5fb25XaGVlbCk7XG4gICAgdGhpcy5fZkZsb3dIb3N0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdkYmxjbGljaycsIHRoaXMuX29uRG91YmxlQ2xpY2spO1xuICAgIHRoaXMuX2xpc3RlbmVycyA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2ZGbG93SG9zdEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2hlZWwnLCB0aGlzLl9vbldoZWVsKTtcbiAgICAgIHRoaXMuX2ZGbG93SG9zdEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZGJsY2xpY2snLCB0aGlzLl9vbkRvdWJsZUNsaWNrKTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldFNjYWxlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDYW52YXMudHJhbnNmb3JtLnNjYWxlIHx8IDE7XG4gIH1cblxuICBwcml2YXRlIF9vbldoZWVsID0gKGV2ZW50OiBXaGVlbEV2ZW50KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMuX2lzRHJhZ1N0YXJ0ZWQgfHwgdGFyZ2V0RWxlbWVudD8uY2xvc2VzdCgnW2ZMb2NrZWRDb250ZXh0XScpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHJlc3VsdDogbnVtYmVyID0gdGhpcy5nZXRTY2FsZSgpO1xuXG4gICAgY29uc3QgZGlyZWN0aW9uID0gZXZlbnQuZGVsdGFZID4gMCA/IC0xIDogMTtcbiAgICBjb25zdCBzdGVwID0gdGhpcy5zdGVwO1xuICAgIHJlc3VsdCA9IHJlc3VsdCArIHN0ZXAgKiBkaXJlY3Rpb247XG5cbiAgICByZXN1bHQgPSBNYXRoLm1heCh0aGlzLm1pbmltdW0sIE1hdGgubWluKHJlc3VsdCwgdGhpcy5tYXhpbXVtKSk7XG5cbiAgICBjb25zdCBwb2ludGVyUG9zaXRpb25JbkZsb3cgPSBuZXcgUG9pbnQoZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSkuZWxlbWVudFRyYW5zZm9ybSh0aGlzLl9mRmxvd0hvc3RFbGVtZW50KTtcblxuICAgIHRoaXMuX2ZDYW52YXMuc2V0Wm9vbShyZXN1bHQsIHBvaW50ZXJQb3NpdGlvbkluRmxvdyk7XG4gICAgdGhpcy5fZkNhbnZhcy5yZWRyYXcoKTtcbiAgICB0aGlzLl9mQ2FudmFzLmVtaXRDYW52YXNDaGFuZ2VFdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Eb3VibGVDbGljayA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICh0aGlzLl9pc0RyYWdTdGFydGVkIHx8IGlzTm9kZSh0YXJnZXRFbGVtZW50KSB8fCB0YXJnZXRFbGVtZW50Py5jbG9zZXN0KCdbZkxvY2tlZENvbnRleHRdJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0OiBudW1iZXIgPSB0aGlzLmdldFNjYWxlKCk7XG5cbiAgICBjb25zdCBkaXJlY3Rpb24gPSAxO1xuICAgIGNvbnN0IHN0ZXAgPSB0aGlzLmRibENsaWNrU3RlcDtcbiAgICByZXN1bHQgPSByZXN1bHQgKyBzdGVwICogZGlyZWN0aW9uO1xuXG4gICAgcmVzdWx0ID0gTWF0aC5tYXgodGhpcy5taW5pbXVtLCBNYXRoLm1pbihyZXN1bHQsIHRoaXMubWF4aW11bSkpO1xuXG4gICAgY29uc3QgcG9pbnRlclBvc2l0aW9uSW5GbG93ID0gbmV3IFBvaW50KGV2ZW50LmNsaWVudFgsIGV2ZW50LmNsaWVudFkpLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkZsb3dIb3N0RWxlbWVudCk7XG4gICAgdGhpcy5fZkNhbnZhcy5zZXRab29tKHJlc3VsdCwgcG9pbnRlclBvc2l0aW9uSW5GbG93KTtcbiAgICB0aGlzLl9mQ2FudmFzLnJlZHJhd1dpdGhBbmltYXRpb24oKTtcbiAgICB0aGlzLl9mQ2FudmFzLmVtaXRDYW52YXNDaGFuZ2VFdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25ab29tVG9DZW50ZXIoZGVsdGFZOiBudW1iZXIsIHBvc2l0aW9uPzogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgcHJldmVudERlZmF1bHQgPSAoKSA9PiB7XG4gICAgfTtcbiAgICBjb25zdCByZWN0ID0gUmVjdEV4dGVuc2lvbnMuZnJvbUVsZW1lbnQodGhpcy5fZkZsb3dIb3N0RWxlbWVudCk7XG5cbiAgICB0aGlzLl9vbldoZWVsKHtcbiAgICAgIGRlbHRhWSwgcHJldmVudERlZmF1bHQsIGNsaWVudFg6IHBvc2l0aW9uPy54IHx8IHJlY3QuZ3Jhdml0eUNlbnRlci54LCBjbGllbnRZOiBwb3NpdGlvbj8ueSB8fCByZWN0LmdyYXZpdHlDZW50ZXIueVxuICAgIH0gYXMgV2hlZWxFdmVudCk7XG4gIH1cblxuICBwdWJsaWMgem9vbUluKHBvc2l0aW9uPzogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fb25ab29tVG9DZW50ZXIoLTEsIHBvc2l0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyB6b29tT3V0KHBvc2l0aW9uPzogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fb25ab29tVG9DZW50ZXIoMSwgcG9zaXRpb24pO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZDYW52YXMucmVzZXRab29tKCk7XG4gICAgdGhpcy5fZkNhbnZhcy5yZWRyYXcoKTtcbiAgICB0aGlzLl9mQ2FudmFzLmVtaXRDYW52YXNDaGFuZ2VFdmVudCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fbGlzdGVuZXJzKCk7XG4gICAgdGhpcy5fbGlzdGVuZXJzID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgfVxufVxuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi16b29tLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytem9vbS9mLXpvb20tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBWSxRQUFRLENBQUMsQ0FBQztBQUU5RCxNQUFNLE9BQWdCLFNBQVM7Q0FTOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgRl9aT09NID0gbmV3IEluamVjdGlvblRva2VuPEZab29tQmFzZT4oJ0ZfWk9PTScpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRlpvb21CYXNlIHtcblxuICBwdWJsaWMgYWJzdHJhY3QgbWluaW11bTogbnVtYmVyO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBtYXhpbXVtOiBudW1iZXI7XG5cbiAgcHVibGljIGFic3RyYWN0IHN0ZXA6IG51bWJlcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZGJsQ2xpY2tTdGVwOiBudW1iZXI7XG59XG4iXX0=
@@ -1,31 +1,147 @@
1
- import { Directive, Input } from "@angular/core";
1
+ import { __decorate } from "tslib";
2
+ import { booleanAttribute, Directive, inject, Input, numberAttribute, Renderer2 } from "@angular/core";
2
3
  import { F_ZOOM, FZoomBase } from './f-zoom-base';
3
- import { castToBoolean } from '@foblex/utils';
4
+ import { FMediator } from '@foblex/mediator';
5
+ import { AddZoomToStoreRequest, Deprecated, EFTriggerEvent, GetCanvasRequest, GetFlowHostElementRequest, RemoveZoomFromStoreRequest, ResetZoomRequest, SetZoomRequest } from '../domain';
6
+ import { PointExtensions, RectExtensions } from '@foblex/2d';
7
+ import { isNode } from '../f-node';
8
+ import { EFZoomDirection } from './e-f-zoom-direction';
9
+ import { EFZoomAction } from './e-f-zoom-action';
4
10
  import * as i0 from "@angular/core";
5
11
  export class FZoomDirective extends FZoomBase {
6
- get fFlowZoom() {
7
- return this.isEnabled;
8
- }
9
- set fFlowZoom(isEnabled) {
10
- const value = castToBoolean(isEnabled);
11
- if (value !== this.isEnabled) {
12
- this.isEnabled = value;
13
- this.toggleZoom();
12
+ _fMediator = inject(FMediator);
13
+ _rendered = inject(Renderer2);
14
+ _triggersListener = [];
15
+ _isEnabled = false;
16
+ set fZoom(isEnabled) {
17
+ if (isEnabled !== this._isEnabled) {
18
+ this._isEnabled = isEnabled;
19
+ this._listenTriggers();
14
20
  }
15
21
  }
22
+ fZoomTriggers = [
23
+ { event: EFTriggerEvent.WHEEL, action: EFZoomAction.WHEEL },
24
+ { event: EFTriggerEvent.DOUBLE_CLICK, action: EFZoomAction.DOUBLE_CLICK }
25
+ ];
16
26
  minimum = 0.1;
17
27
  maximum = 4;
18
28
  step = 0.1;
19
29
  dblClickStep = 0.5;
30
+ get _fHost() {
31
+ return this._fMediator.execute(new GetFlowHostElementRequest());
32
+ }
33
+ get _fCanvas() {
34
+ return this._fMediator.execute(new GetCanvasRequest());
35
+ }
36
+ ngOnInit() {
37
+ this._fMediator.execute(new AddZoomToStoreRequest(this));
38
+ }
20
39
  ngAfterViewInit() {
21
- super.toggleZoom();
40
+ this._listenTriggers();
41
+ }
42
+ ngOnChanges(changes) {
43
+ if (changes['fZoomTriggers']) {
44
+ this._listenTriggers();
45
+ }
46
+ }
47
+ _listenTriggers() {
48
+ if (!this._fHost) {
49
+ return;
50
+ }
51
+ this._disposeListeners();
52
+ this._validateTriggers();
53
+ this.fZoomTriggers.forEach((x) => {
54
+ this._triggersListener.push(this._rendered.listen(this._fHost, x.event, this._getAction(x)));
55
+ });
56
+ }
57
+ _validateTriggers() {
58
+ const SUPPORTED_EVENTS = Object.values(EFTriggerEvent);
59
+ const SUPPORTED_ACTIONS = Object.values(EFZoomAction);
60
+ this.fZoomTriggers.forEach((trigger) => {
61
+ if (!SUPPORTED_EVENTS.includes(trigger.event)) {
62
+ throw new Error(`Unsupported event: ${trigger.event}`);
63
+ }
64
+ if (!SUPPORTED_ACTIONS.includes(trigger.action)) {
65
+ throw new Error(`Unsupported action: ${trigger.action}`);
66
+ }
67
+ });
68
+ }
69
+ _getAction(trigger) {
70
+ switch (trigger.action) {
71
+ case EFZoomAction.WHEEL:
72
+ return (event) => this._onWheel(event, trigger);
73
+ case EFZoomAction.DOUBLE_CLICK:
74
+ return (event) => this._onDoubleClick(event, trigger);
75
+ default:
76
+ throw new Error(`Unknown action: ${trigger.action}`);
77
+ }
78
+ }
79
+ _onWheel = (event, trigger) => {
80
+ if (trigger.validator && !trigger.validator(event)) {
81
+ return;
82
+ }
83
+ event.preventDefault();
84
+ const targetElement = event.target;
85
+ if (targetElement?.closest('[fLockedContext]')) {
86
+ return;
87
+ }
88
+ this.setZoom(PointExtensions.initialize(event.clientX, event.clientY), this.step, this._calculateDirection(event.deltaY), false);
89
+ };
90
+ _calculateDirection(deltaY) {
91
+ return deltaY > 0 ? EFZoomDirection.ZOOM_OUT : EFZoomDirection.ZOOM_IN;
92
+ }
93
+ _onDoubleClick = (event, trigger) => {
94
+ if (trigger.validator && !trigger.validator(event)) {
95
+ return;
96
+ }
97
+ event.preventDefault();
98
+ const targetElement = event.target;
99
+ if (isNode(targetElement) || targetElement?.closest('[fLockedContext]')) {
100
+ return;
101
+ }
102
+ this.setZoom(PointExtensions.initialize(event.clientX, event.clientY), this.dblClickStep, EFZoomDirection.ZOOM_IN, true);
103
+ };
104
+ _getToCenterPosition(position, rect) {
105
+ return PointExtensions.initialize(position?.x || rect.gravityCenter.x, position?.y || rect.gravityCenter.y);
106
+ }
107
+ zoomIn(position) {
108
+ this._onZoomToCenter(EFZoomDirection.ZOOM_IN, position);
109
+ }
110
+ zoomOut(position) {
111
+ this._onZoomToCenter(EFZoomDirection.ZOOM_OUT, position);
112
+ }
113
+ _onZoomToCenter(direction, position) {
114
+ this.setZoom(this._getToCenterPosition(position, RectExtensions.fromElement(this._fHost)), this.step, direction, false);
115
+ }
116
+ setZoom(position, step, direction, animated) {
117
+ this._fMediator.execute(new SetZoomRequest(position, step, direction, animated));
118
+ }
119
+ /**
120
+ * @deprecated Method "getScale" is deprecated. Use "getZoomValue" instead. This method will be removed in version 18.0.0.`,
121
+ */
122
+ getScale() {
123
+ return this.getZoomValue();
124
+ }
125
+ getZoomValue() {
126
+ return this._fCanvas.transform.scale || 1;
127
+ }
128
+ reset() {
129
+ this._fMediator.execute(new ResetZoomRequest());
130
+ }
131
+ _disposeListeners() {
132
+ this._triggersListener.forEach((listener) => listener());
133
+ this._triggersListener = [];
22
134
  }
23
135
  ngOnDestroy() {
24
- super.dispose();
136
+ this._disposeListeners();
137
+ this._fMediator.execute(new RemoveZoomFromStoreRequest());
25
138
  }
26
139
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FZoomDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
27
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FZoomDirective, selector: "f-canvas[fZoom]", inputs: { fFlowZoom: ["fZoom", "fFlowZoom"], minimum: ["fZoomMinimum", "minimum"], maximum: ["fZoomMaximum", "maximum"], step: ["fZoomStep", "step"], dblClickStep: ["fZoomDblClickStep", "dblClickStep"] }, host: { classAttribute: "f-zoom f-component" }, providers: [{ provide: F_ZOOM, useExisting: FZoomDirective }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 });
140
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.4", type: FZoomDirective, selector: "f-canvas[fZoom]", inputs: { fZoom: ["fZoom", "fZoom", booleanAttribute], fZoomTriggers: "fZoomTriggers", minimum: ["fZoomMinimum", "minimum", numberAttribute], maximum: ["fZoomMaximum", "maximum", numberAttribute], step: ["fZoomStep", "step", numberAttribute], dblClickStep: ["fZoomDblClickStep", "dblClickStep", numberAttribute] }, host: { classAttribute: "f-zoom f-component" }, providers: [{ provide: F_ZOOM, useExisting: FZoomDirective }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
28
141
  }
142
+ __decorate([
143
+ Deprecated('getZoomValue')
144
+ ], FZoomDirective.prototype, "getScale", null);
29
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FZoomDirective, decorators: [{
30
146
  type: Directive,
31
147
  args: [{
@@ -36,20 +152,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
36
152
  },
37
153
  providers: [{ provide: F_ZOOM, useExisting: FZoomDirective }],
38
154
  }]
39
- }], propDecorators: { fFlowZoom: [{
155
+ }], propDecorators: { fZoom: [{
40
156
  type: Input,
41
- args: ['fZoom']
157
+ args: [{ alias: 'fZoom', transform: booleanAttribute }]
158
+ }], fZoomTriggers: [{
159
+ type: Input
42
160
  }], minimum: [{
43
161
  type: Input,
44
- args: ['fZoomMinimum']
162
+ args: [{ alias: 'fZoomMinimum', transform: numberAttribute }]
45
163
  }], maximum: [{
46
164
  type: Input,
47
- args: ['fZoomMaximum']
165
+ args: [{ alias: 'fZoomMaximum', transform: numberAttribute }]
48
166
  }], step: [{
49
167
  type: Input,
50
- args: ['fZoomStep']
168
+ args: [{ alias: 'fZoomStep', transform: numberAttribute }]
51
169
  }], dblClickStep: [{
52
170
  type: Input,
53
- args: ['fZoomDblClickStep']
54
- }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi16b29tLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi16b29tL2Ytem9vbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFBRSxLQUFLLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVTlDLE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBUztJQUUzQyxJQUNXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLFNBQVMsQ0FBQyxTQUF1QztRQUMxRCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUdlLE9BQU8sR0FBVyxHQUFHLENBQUM7SUFHdEIsT0FBTyxHQUFXLENBQUMsQ0FBQztJQUdwQixJQUFJLEdBQVcsR0FBRyxDQUFDO0lBR25CLFlBQVksR0FBVyxHQUFHLENBQUM7SUFFcEMsZUFBZTtRQUNwQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xCLENBQUM7dUdBakNVLGNBQWM7MkZBQWQsY0FBYyx1U0FGZCxDQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUU7OzJGQUVwRCxjQUFjO2tCQVIxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxZQUFZO29CQUN0QixJQUFJLEVBQUU7d0JBQ0osT0FBTyxFQUFFLG9CQUFvQjtxQkFDOUI7b0JBQ0QsU0FBUyxFQUFFLENBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsZ0JBQWdCLEVBQUUsQ0FBRTtpQkFDaEU7OEJBSVksU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxPQUFPO2dCQWNFLE9BQU87c0JBRHRCLEtBQUs7dUJBQUMsY0FBYztnQkFJTCxPQUFPO3NCQUR0QixLQUFLO3VCQUFDLGNBQWM7Z0JBSUwsSUFBSTtzQkFEbkIsS0FBSzt1QkFBQyxXQUFXO2dCQUlGLFlBQVk7c0JBRDNCLEtBQUs7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGX1pPT00sIEZab29tQmFzZSB9IGZyb20gJy4vZi16b29tLWJhc2UnO1xuaW1wb3J0IHsgY2FzdFRvQm9vbGVhbiB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiZi1jYW52YXNbZlpvb21dXCIsXG4gIGV4cG9ydEFzOiAnZkNvbXBvbmVudCcsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi16b29tIGYtY29tcG9uZW50J1xuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX1pPT00sIHVzZUV4aXN0aW5nOiBGWm9vbURpcmVjdGl2ZSB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZab29tRGlyZWN0aXZlIGV4dGVuZHMgRlpvb21CYXNlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoJ2Zab29tJylcbiAgcHVibGljIGdldCBmRmxvd1pvb20oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNFbmFibGVkO1xuICB9XG5cbiAgcHVibGljIHNldCBmRmxvd1pvb20oaXNFbmFibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkIHwgc3RyaW5nKSB7XG4gICAgY29uc3QgdmFsdWUgPSBjYXN0VG9Cb29sZWFuKGlzRW5hYmxlZCk7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5pc0VuYWJsZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMudG9nZ2xlWm9vbSgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnZlpvb21NaW5pbXVtJylcbiAgcHVibGljIG92ZXJyaWRlIG1pbmltdW06IG51bWJlciA9IDAuMTtcblxuICBASW5wdXQoJ2Zab29tTWF4aW11bScpXG4gIHB1YmxpYyBvdmVycmlkZSBtYXhpbXVtOiBudW1iZXIgPSA0O1xuXG4gIEBJbnB1dCgnZlpvb21TdGVwJylcbiAgcHVibGljIG92ZXJyaWRlIHN0ZXA6IG51bWJlciA9IDAuMTtcblxuICBASW5wdXQoJ2Zab29tRGJsQ2xpY2tTdGVwJylcbiAgcHVibGljIG92ZXJyaWRlIGRibENsaWNrU3RlcDogbnVtYmVyID0gMC41O1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIudG9nZ2xlWm9vbSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc3Bvc2UoKTtcbiAgfVxufVxuIl19
171
+ args: [{ alias: 'fZoomDblClickStep', transform: numberAttribute }]
172
+ }], getScale: [] } });
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi16b29tLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi16b29tL2Ytem9vbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsZUFBZSxFQUlmLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixVQUFVLEVBQ1YsY0FBYyxFQUNkLGdCQUFnQixFQUNoQix5QkFBeUIsRUFFekIsMEJBQTBCLEVBQzFCLGdCQUFnQixFQUNoQixjQUFjLEVBQ2YsTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxFQUFpQixlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFVakQsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBRW5DLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUU5QixpQkFBaUIsR0FBZSxFQUFFLENBQUM7SUFFbkMsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUVwQyxJQUNjLEtBQUssQ0FBQyxTQUFrQjtRQUNwQyxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEMsSUFBSSxD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VSxDQUFDLGNBQWMsQ0FBQzs4Q0FHMUI7MkZBeEtVLGNBQWM7a0JBUjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLElBQUksRUFBRTt3QkFDSixPQUFPLEVBQUUsb0JBQW9CO3FCQUM5QjtvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRSxDQUFFO2lCQUNoRTs4QkFXZSxLQUFLO3NCQURsQixLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUy9DLGFBQWE7c0JBRG5CLEtBQUs7Z0JBT1UsT0FBTztzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFJNUMsT0FBTztzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFJNUMsSUFBSTtzQkFEbkIsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFJekMsWUFBWTtzQkFEM0IsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQXNJMUQsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIERpcmVjdGl2ZSxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZfWk9PTSwgRlpvb21CYXNlIH0gZnJvbSAnLi9mLXpvb20tYmFzZSc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIEFkZFpvb21Ub1N0b3JlUmVxdWVzdCxcbiAgRGVwcmVjYXRlZCxcbiAgRUZUcmlnZ2VyRXZlbnQsXG4gIEdldENhbnZhc1JlcXVlc3QsXG4gIEdldEZsb3dIb3N0RWxlbWVudFJlcXVlc3QsXG4gIElGQWN0aW9uVHJpZ2dlcixcbiAgUmVtb3ZlWm9vbUZyb21TdG9yZVJlcXVlc3QsXG4gIFJlc2V0Wm9vbVJlcXVlc3QsXG4gIFNldFpvb21SZXF1ZXN0XG59IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ2FudmFzQmFzZSB9IGZyb20gJy4uL2YtY2FudmFzJztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIFBvaW50RXh0ZW5zaW9ucywgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IGlzTm9kZSB9IGZyb20gJy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBFRlpvb21EaXJlY3Rpb24gfSBmcm9tICcuL2UtZi16b29tLWRpcmVjdGlvbic7XG5pbXBvcnQgeyBFRlpvb21BY3Rpb24gfSBmcm9tICcuL2UtZi16b29tLWFjdGlvbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJmLWNhbnZhc1tmWm9vbV1cIixcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLXpvb20gZi1jb21wb25lbnQnXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfWk9PTSwgdXNlRXhpc3Rpbmc6IEZab29tRGlyZWN0aXZlIH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRlpvb21EaXJlY3RpdmUgZXh0ZW5kcyBGWm9vbUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfcmVuZGVyZWQgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICBwcml2YXRlIF90cmlnZ2Vyc0xpc3RlbmVyOiBGdW5jdGlvbltdID0gW107XG5cbiAgcHJpdmF0ZSBfaXNFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KHsgYWxpYXM6ICdmWm9vbScsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwcm90ZWN0ZWQgc2V0IGZab29tKGlzRW5hYmxlZDogYm9vbGVhbikge1xuICAgIGlmIChpc0VuYWJsZWQgIT09IHRoaXMuX2lzRW5hYmxlZCkge1xuICAgICAgdGhpcy5faXNFbmFibGVkID0gaXNFbmFibGVkO1xuICAgICAgdGhpcy5fbGlzdGVuVHJpZ2dlcnMoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZlpvb21UcmlnZ2VyczogSUZBY3Rpb25UcmlnZ2VyPEVGWm9vbUFjdGlvbj5bXSA9IFtcbiAgICB7IGV2ZW50OiBFRlRyaWdnZXJFdmVudC5XSEVFTCwgYWN0aW9uOiBFRlpvb21BY3Rpb24uV0hFRUwgfSxcbiAgICB7IGV2ZW50OiBFRlRyaWdnZXJFdmVudC5ET1VCTEVfQ0xJQ0ssIGFjdGlvbjogRUZab29tQWN0aW9uLkRPVUJMRV9DTElDSyB9XG4gIF07XG5cbiAgQElucHV0KHsgYWxpYXM6ICdmWm9vbU1pbmltdW0nLCB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgbWluaW11bTogbnVtYmVyID0gMC4xO1xuXG4gIEBJbnB1dCh7IGFsaWFzOiAnZlpvb21NYXhpbXVtJywgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIG1heGltdW06IG51bWJlciA9IDQ7XG5cbiAgQElucHV0KHsgYWxpYXM6ICdmWm9vbVN0ZXAnLCB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgc3RlcDogbnVtYmVyID0gMC4xO1xuXG4gIEBJbnB1dCh7IGFsaWFzOiAnZlpvb21EYmxDbGlja1N0ZXAnLCB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZGJsQ2xpY2tTdGVwOiBudW1iZXIgPSAwLjU7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IEdldEZsb3dIb3N0RWxlbWVudFJlcXVlc3QoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkNhbnZhcygpOiBGQ2FudmFzQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBHZXRDYW52YXNSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBBZGRab29tVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9saXN0ZW5UcmlnZ2VycygpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sgJ2Zab29tVHJpZ2dlcnMnIF0pIHtcbiAgICAgIHRoaXMuX2xpc3RlblRyaWdnZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuVHJpZ2dlcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9mSG9zdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2Rpc3Bvc2VMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLl92YWxpZGF0ZVRyaWdnZXJzKCk7XG5cbiAgICB0aGlzLmZab29tVHJpZ2dlcnMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgdGhpcy5fdHJpZ2dlcnNMaXN0ZW5lci5wdXNoKFxuICAgICAgICB0aGlzLl9yZW5kZXJlZC5saXN0ZW4odGhpcy5fZkhvc3QsIHguZXZlbnQsIHRoaXMuX2dldEFjdGlvbih4KSlcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF92YWxpZGF0ZVRyaWdnZXJzKCk6IHZvaWQge1xuXG4gICAgY29uc3QgU1VQUE9SVEVEX0VWRU5UUyA9IE9iamVjdC52YWx1ZXMoRUZUcmlnZ2VyRXZlbnQpO1xuICAgIGNvbnN0IFNVUFBPUlRFRF9BQ1RJT05TID0gT2JqZWN0LnZhbHVlcyhFRlpvb21BY3Rpb24pO1xuXG4gICAgdGhpcy5mWm9vbVRyaWdnZXJzLmZvckVhY2goKHRyaWdnZXIpID0+IHtcbiAgICAgIGlmICghU1VQUE9SVEVEX0VWRU5UUy5pbmNsdWRlcyh0cmlnZ2VyLmV2ZW50KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGV2ZW50OiAkeyB0cmlnZ2VyLmV2ZW50IH1gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFTVVBQT1JURURfQUNUSU9OUy5pbmNsdWRlcyh0cmlnZ2VyLmFjdGlvbikpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBhY3Rpb246ICR7IHRyaWdnZXIuYWN0aW9uIH1gKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEFjdGlvbih0cmlnZ2VyOiBJRkFjdGlvblRyaWdnZXIpOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkIHtcbiAgICBzd2l0Y2ggKHRyaWdnZXIuYWN0aW9uKSB7XG4gICAgICBjYXNlIEVGWm9vbUFjdGlvbi5XSEVFTDpcbiAgICAgICAgcmV0dXJuIChldmVudDogRXZlbnQpID0+IHRoaXMuX29uV2hlZWwoZXZlbnQgYXMgV2hlZWxFdmVudCwgdHJpZ2dlcik7XG4gICAgICBjYXNlIEVGWm9vbUFjdGlvbi5ET1VCTEVfQ0xJQ0s6XG4gICAgICAgIHJldHVybiAoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLl9vbkRvdWJsZUNsaWNrKGV2ZW50IGFzIE1vdXNlRXZlbnQsIHRyaWdnZXIpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGFjdGlvbjogJHsgdHJpZ2dlci5hY3Rpb24gfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uV2hlZWwgPSAoZXZlbnQ6IFdoZWVsRXZlbnQsIHRyaWdnZXI6IElGQWN0aW9uVHJpZ2dlcikgPT4ge1xuICAgIGlmICh0cmlnZ2VyLnZhbGlkYXRvciAmJiAhdHJpZ2dlci52YWxpZGF0b3IoZXZlbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICh0YXJnZXRFbGVtZW50Py5jbG9zZXN0KCdbZkxvY2tlZENvbnRleHRdJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldFpvb20oXG4gICAgICBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShldmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKSxcbiAgICAgIHRoaXMuc3RlcCwgdGhpcy5fY2FsY3VsYXRlRGlyZWN0aW9uKGV2ZW50LmRlbHRhWSksIGZhbHNlXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZURpcmVjdGlvbihkZWx0YVk6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGRlbHRhWSA+IDAgPyBFRlpvb21EaXJlY3Rpb24uWk9PTV9PVVQgOiBFRlpvb21EaXJlY3Rpb24uWk9PTV9JTjtcbiAgfVxuXG4gIHByaXZhdGUgX29uRG91YmxlQ2xpY2sgPSAoZXZlbnQ6IE1vdXNlRXZlbnQsIHRyaWdnZXI6IElGQWN0aW9uVHJpZ2dlcikgPT4ge1xuICAgIGlmICh0cmlnZ2VyLnZhbGlkYXRvciAmJiAhdHJpZ2dlci52YWxpZGF0b3IoZXZlbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmIChpc05vZGUodGFyZ2V0RWxlbWVudCkgfHwgdGFyZ2V0RWxlbWVudD8uY2xvc2VzdCgnW2ZMb2NrZWRDb250ZXh0XScpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRab29tKFxuICAgICAgUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSksXG4gICAgICB0aGlzLmRibENsaWNrU3RlcCwgRUZab29tRGlyZWN0aW9uLlpPT01fSU4sIHRydWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VG9DZW50ZXJQb3NpdGlvbihwb3NpdGlvbjogSVBvaW50IHwgdW5kZWZpbmVkLCByZWN0OiBJUmVjdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKHBvc2l0aW9uPy54IHx8IHJlY3QuZ3Jhdml0eUNlbnRlci54LCBwb3NpdGlvbj8ueSB8fCByZWN0LmdyYXZpdHlDZW50ZXIueSk7XG4gIH1cblxuICBwdWJsaWMgem9vbUluKHBvc2l0aW9uPzogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fb25ab29tVG9DZW50ZXIoRUZab29tRGlyZWN0aW9uLlpPT01fSU4sIHBvc2l0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyB6b29tT3V0KHBvc2l0aW9uPzogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fb25ab29tVG9DZW50ZXIoRUZab29tRGlyZWN0aW9uLlpPT01fT1VULCBwb3NpdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF9vblpvb21Ub0NlbnRlcihkaXJlY3Rpb246IEVGWm9vbURpcmVjdGlvbiwgcG9zaXRpb24/OiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNldFpvb20oXG4gICAgICB0aGlzLl9nZXRUb0NlbnRlclBvc2l0aW9uKHBvc2l0aW9uLCBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudCh0aGlzLl9mSG9zdCkpLFxuICAgICAgdGhpcy5zdGVwLCBkaXJlY3Rpb24sIGZhbHNlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRab29tKHBvc2l0aW9uOiBJUG9pbnQsIHN0ZXA6IG51bWJlciwgZGlyZWN0aW9uOiBFRlpvb21EaXJlY3Rpb24sIGFuaW1hdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgU2V0Wm9vbVJlcXVlc3QocG9zaXRpb24sIHN0ZXAsIGRpcmVjdGlvbiwgYW5pbWF0ZWQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGRlcHJlY2F0ZWQgTWV0aG9kIFwiZ2V0U2NhbGVcIiBpcyBkZXByZWNhdGVkLiBVc2UgXCJnZXRab29tVmFsdWVcIiBpbnN0ZWFkLiBUaGlzIG1ldGhvZCB3aWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiAxOC4wLjAuYCxcbiAgICovXG4gIEBEZXByZWNhdGVkKCdnZXRab29tVmFsdWUnKVxuICBwdWJsaWMgZ2V0U2NhbGUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRab29tVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRab29tVmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy50cmFuc2Zvcm0uc2NhbGUgfHwgMTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRab29tUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3Bvc2VMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlcnNMaXN0ZW5lci5mb3JFYWNoKChsaXN0ZW5lcikgPT4gbGlzdGVuZXIoKSk7XG4gICAgdGhpcy5fdHJpZ2dlcnNMaXN0ZW5lciA9IFtdO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3Bvc2VMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlWm9vbUZyb21TdG9yZVJlcXVlc3QoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,6 @@
1
+ export * from './e-f-zoom-action';
2
+ export * from './e-f-zoom-direction';
1
3
  export * from './f-zoom-base';
2
4
  export * from './f-zoom.directive';
3
5
  export * from './providers';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytem9vbS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUU5QixjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLXpvb20tYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi16b29tLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytem9vbS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZS1mLXpvb20tYWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9lLWYtem9vbS1kaXJlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytem9vbS1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXpvb20uZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuIl19