@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,85 +1,103 @@
1
- import { FindClosestInputRequest, GetAllCanBeConnectedInputPositionsRequest, CalculateConnectionLineByBehaviorRequest, GetConnectorWithRectRequest } from '../../../domain';
2
- import { Point, RectExtensions, RoundedRect } from '@foblex/2d';
1
+ import { CalculateClosestInputRequest, GetAllCanBeConnectedInputsAndRectsRequest, CalculateConnectionLineByBehaviorRequest, GetConnectorAndRectRequest, MarkAllCanBeConnectedInputsRequest, UnmarkAllCanBeConnectedInputsRequest } from '../../../domain';
2
+ import { RectExtensions, RoundedRect } from '@foblex/2d';
3
+ import { fInject } from '../../f-injector';
4
+ import { FMediator } from '@foblex/mediator';
5
+ import { FComponentsStore } from '../../../f-storage';
3
6
  export class ReassignConnectionDragHandler {
4
- fMediator;
5
- fComponentsStore;
6
- fConnection;
7
- toConnectorRect = new RoundedRect();
8
- get fSnapConnection() {
9
- return this.fComponentsStore.fSnapConnection;
10
- }
11
- fOutputWithRect;
12
- fInputWithRect;
13
- canBeConnectedInputs = [];
14
- constructor(fMediator, fComponentsStore, fConnection) {
15
- this.fMediator = fMediator;
16
- this.fComponentsStore = fComponentsStore;
17
- this.fConnection = fConnection;
7
+ _fConnection;
8
+ _fMediator = fInject(FMediator);
9
+ _fComponentsStore = fInject(FComponentsStore);
10
+ _toConnectorRect = new RoundedRect();
11
+ get _fSnapConnection() {
12
+ return this._fComponentsStore.fSnapConnection;
13
+ }
14
+ _fOutputWithRect;
15
+ _fInputWithRect;
16
+ _canBeConnectedInputs = [];
17
+ get _fOutput() {
18
+ const result = this._fComponentsStore.fOutputs.find((x) => x.fId === this._fConnection.fOutputId);
19
+ if (!result) {
20
+ throw new Error('Connection output not found');
21
+ }
22
+ return result;
23
+ }
24
+ get _fInput() {
25
+ const result = this._fComponentsStore.fInputs.find((x) => x.fId === this._fConnection.fInputId);
26
+ if (!result) {
27
+ throw new Error('Connection input not found');
28
+ }
29
+ return result;
30
+ }
31
+ constructor(_fConnection) {
32
+ this._fConnection = _fConnection;
33
+ this._toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this._fConnection.line.point2.x, this._fConnection.line.point2.y));
18
34
  }
19
35
  prepareDragSequence() {
36
+ this._getAndMarkCanBeConnectedInputs();
20
37
  this._initializeSnapConnection();
21
- this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fConnection.fOutputId));
22
- this.fOutputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.getOutput()));
23
- this.fInputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.getInput()));
24
- this.toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this.fConnection.line.point2.x, this.fConnection.line.point2.y));
38
+ this._fOutputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fOutput));
39
+ this._fInputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fInput));
40
+ }
41
+ _getAndMarkCanBeConnectedInputs() {
42
+ this._canBeConnectedInputs = this._fMediator.execute(new GetAllCanBeConnectedInputsAndRectsRequest(this._fOutput));
43
+ this._fMediator.execute(new MarkAllCanBeConnectedInputsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
25
44
  }
26
45
  _initializeSnapConnection() {
27
- if (!this.fSnapConnection) {
46
+ if (!this._fSnapConnection) {
28
47
  return;
29
48
  }
30
- this.fSnapConnection.fOutputId = this.fConnection.fOutputId;
31
- this.fSnapConnection.initialize();
32
- }
33
- getOutput() {
34
- return this.fComponentsStore.fOutputs.find((x) => x.fId === this.fConnection.fOutputId);
35
- }
36
- getInput() {
37
- return this.fComponentsStore.fInputs.find((x) => x.fId === this.fConnection.fInputId);
49
+ this._fSnapConnection.fOutputId = this._fConnection.fOutputId;
50
+ this._fSnapConnection.initialize();
38
51
  }
39
52
  onPointerMove(difference) {
40
53
  const fClosestInput = this._findClosestInput(difference);
41
- this._drawConnection(this.toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || this.fInputWithRect.fConnector.fConnectableSide);
42
- if (this.fSnapConnection) {
54
+ this._drawConnection(this._toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || this._fInputWithRect.fConnector.fConnectableSide);
55
+ if (this._fSnapConnection) {
43
56
  this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
44
57
  }
45
58
  }
46
- _drawConnection(fInputRect, fSide) {
47
- const line = this._getLineToPointer(fInputRect, fSide);
48
- this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
49
- this.fConnection.redraw();
59
+ _drawConnection(difference, fSide) {
60
+ const line = this._getLineToPointer(difference, fSide);
61
+ this._fConnection.setLine(line.point1, this._fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
62
+ this._fConnection.redraw();
50
63
  }
51
- _getLineToPointer(fInputRect, fSide) {
52
- return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fSide));
64
+ _getLineToPointer(difference, fSide) {
65
+ return this._fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, RoundedRect.fromRect(RectExtensions.initialize(difference.x, difference.y)), this._fConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, fSide));
53
66
  }
54
67
  _drawSnapConnection(fClosestInput) {
55
68
  if (fClosestInput) {
56
69
  const line = this._getLineToClosestInput(fClosestInput);
57
- this.fSnapConnection.show();
58
- this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fClosestInput.fConnector.fConnectableSide);
59
- this.fSnapConnection.redraw();
70
+ this._fSnapConnection.show();
71
+ this._fSnapConnection.setLine(line.point1, this._fOutputWithRect.fConnector.fConnectableSide, line.point2, fClosestInput.fConnector.fConnectableSide);
72
+ this._fSnapConnection.redraw();
60
73
  }
61
74
  else {
62
- this.fSnapConnection?.hide();
75
+ this._fSnapConnection?.hide();
63
76
  }
64
77
  }
65
78
  _getLineToClosestInput(fClosestInput) {
66
- return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fClosestInput.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
67
- }
68
- getClosetInput(difference) {
69
- if (!this.fSnapConnection) {
70
- return undefined;
71
- }
72
- return this._getClosestInputForSnapConnection(this._findClosestInput(difference));
79
+ return this._fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, fClosestInput.fRect, this._fSnapConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
73
80
  }
74
81
  _findClosestInput(difference) {
75
- return this.fMediator.send(new FindClosestInputRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs));
82
+ return this._fMediator.execute(new CalculateClosestInputRequest(this._toConnectorRect.addPoint(difference), this._canBeConnectedInputs));
76
83
  }
77
84
  _getClosestInputForSnapConnection(fClosestInput) {
78
- return fClosestInput && fClosestInput.distance < this.fSnapConnection.fSnapThreshold ? fClosestInput : undefined;
85
+ return fClosestInput && fClosestInput.distance < this._fSnapConnection.fSnapThreshold ? fClosestInput : undefined;
79
86
  }
80
87
  onPointerUp() {
81
- this._drawConnection(this.fInputWithRect.fRect, this.fInputWithRect.fConnector.fConnectableSide);
82
- this.fSnapConnection?.hide();
88
+ this._drawConnection(this._toConnectorRect, this._fInputWithRect.fConnector.fConnectableSide);
89
+ this._fSnapConnection?.hide();
90
+ this._fMediator.execute(new UnmarkAllCanBeConnectedInputsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
91
+ }
92
+ getData() {
93
+ return {
94
+ toConnectorRect: this._toConnectorRect,
95
+ fOutputId: this._fConnection.fOutputId,
96
+ canBeConnectedInputs: this._canBeConnectedInputs
97
+ };
98
+ }
99
+ getConnection() {
100
+ return this._fConnection;
83
101
  }
84
102
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL3JlYXNzaWduLWNvbm5lY3Rpb24vcmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qix5Q0FBeUMsRUFDekMsd0NBQXdDLEVBQUUsMkJBQTJCLEVBRXRFLE1BQU0saUJBQWlCLENBQUM7QUFJekIsT0FBTyxFQUErQixLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUc3RixNQUFNLE9BQU8sNkJBQTZCO0lBYzlCO0lBQ0E7SUFDRDtJQWRGLGVBQWUsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUV4RCxJQUFZLGVBQWU7UUFDekIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBMkMsQ0FBQztJQUMzRSxDQUFDO0lBRU8sZUFBZSxDQUFzQjtJQUNyQyxjQUFjLENBQXNCO0lBRXBDLG9CQUFvQixHQUF5QixFQUFFLENBQUM7SUFFeEQsWUFDVSxTQUFvQixFQUNwQixnQkFBa0MsRUFDbkMsV0FBNEI7UUFGM0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtJQUVyQyxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBRWpDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDN0MsSUFBSSx5Q0FBeUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUMxRSxDQUFDO1FBRUYsSUFBSSxDQUFDLGVB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LElBQUksdUJBQXVCLENBQ3pCLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFDckQsSUFBSSxDQUFDLG9CQUFvQixDQUMxQixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8saUNBQWlDLENBQUMsYUFBd0M7UUFDaEYsT0FBTyxhQUFhLElBQUksYUFBYSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3BILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQge1xuICBGaW5kQ2xvc2VzdElucHV0UmVxdWVzdCxcbiAgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dFBvc2l0aW9uc1JlcXVlc3QsXG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsIEdldENvbm5lY3RvcldpdGhSZWN0UmVxdWVzdCxcbiAgSUNvbm5lY3RvcldpdGhSZWN0LCBJQ2xvc2VzdElucHV0XG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UsIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSwgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBJTGluZSwgSVBvaW50LCBJUm91bmRlZFJlY3QsIFBvaW50LCBSZWN0RXh0ZW5zaW9ucywgUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuXG5leHBvcnQgY2xhc3MgUmVhc3NpZ25Db25uZWN0aW9uRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHVibGljIHRvQ29ubmVjdG9yUmVjdDogUm91bmRlZFJlY3QgPSBuZXcgUm91bmRlZFJlY3QoKTtcblxuICBwcml2YXRlIGdldCBmU25hcENvbm5lY3Rpb24oKTogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZTbmFwQ29ubmVjdGlvbiBhcyBGU25hcENvbm5lY3Rpb25Db21wb25lbnQ7XG4gIH1cblxuICBwcml2YXRlIGZPdXRwdXRXaXRoUmVjdCE6IElDb25uZWN0b3JXaXRoUmVjdDtcbiAgcHJpdmF0ZSBmSW5wdXRXaXRoUmVjdCE6IElDb25uZWN0b3JXaXRoUmVjdDtcblxuICBwcml2YXRlIGNhbkJlQ29ubmVjdGVkSW5wdXRzOiBJQ29ubmVjdG9yV2l0aFJlY3RbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHB1YmxpYyBmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuX2luaXRpYWxpemVTbmFwQ29ubmVjdGlvbigpO1xuXG4gICAgdGhpcy5jYW5CZUNvbm5lY3RlZElucHV0cyA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUNvbm5lY3RvcldpdGhSZWN0W10+KFxuICAgICAgbmV3IEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRQb3NpdGlvbnNSZXF1ZXN0KHRoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkKVxuICAgICk7XG5cbiAgICB0aGlzLmZPdXRwdXRXaXRoUmVjdCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUNvbm5lY3RvcldpdGhSZWN0PihuZXcgR2V0Q29ubmVjdG9yV2l0aFJlY3RSZXF1ZXN0KHRoaXMuZ2V0T3V0cHV0KCkpKTtcbiAgICB0aGlzLmZJbnB1dFdpdGhSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJQ29ubmVjdG9yV2l0aFJlY3Q+KG5ldyBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QodGhpcy5nZXRJbnB1dCgpKSk7XG4gICAgdGhpcy50b0Nvbm5lY3RvclJlY3QgPSBSb3VuZGVkUmVjdC5mcm9tUmVjdChcbiAgICAgIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUodGhpcy5mQ29ubmVjdGlvbi5saW5lLnBvaW50Mi54LCB0aGlzLmZDb25uZWN0aW9uLmxpbmUucG9pbnQyLnkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRpYWxpemVTbmFwQ29ubmVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZlNuYXBDb25uZWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uLmZPdXRwdXRJZCA9IHRoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkO1xuICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uLmluaXRpYWxpemUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0KCk6IEZDb25uZWN0b3JCYXNlIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguZklkID09PSB0aGlzLmZDb25uZWN0aW9uLmZPdXRwdXRJZCkhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbmQoKHgpID0+IHguZklkID09PSB0aGlzLmZDb25uZWN0aW9uLmZJbnB1dElkKSFcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGZDbG9zZXN0SW5wdXQgPSB0aGlzLl9maW5kQ2xvc2VzdElucHV0KGRpZmZlcmVuY2UpO1xuXG4gICAgdGhpcy5fZHJhd0Nvbm5lY3Rpb24oXG4gICAgICB0aGlzLnRvQ29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKSxcbiAgICAgIGZDbG9zZXN0SW5wdXQ/LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSB8fCB0aGlzLmZJbnB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZVxuICAgICk7XG4gICAgaWYgKHRoaXMuZlNuYXBDb25uZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kcmF3U25hcENvbm5lY3Rpb24odGhpcy5fZ2V0Q2xvc2VzdElucHV0Rm9yU25hcENvbm5lY3Rpb24oZkNsb3Nlc3RJbnB1dCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdDb25uZWN0aW9uKGZJbnB1dFJlY3Q6IElSb3VuZGVkUmVjdCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogdm9pZCB7XG4gICAgY29uc3QgbGluZSA9IHRoaXMuX2dldExpbmVUb1BvaW50ZXIoZklucHV0UmVjdCwgZlNpZGUpO1xuICAgIHRoaXMuZkNvbm5lY3Rpb24uc2V0TGluZShsaW5lLnBvaW50MSwgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBsaW5lLnBvaW50MiwgZlNpZGUpO1xuICAgIHRoaXMuZkNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRMaW5lVG9Qb2ludGVyKGZJbnB1dFJlY3Q6IElSb3VuZGVkUmVjdCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5leGVjdXRlPElMaW5lPihuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICAgIGZJbnB1dFJlY3QsXG4gICAgICAgIHRoaXMuZkNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgICB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIGZTaWRlXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdElucHV0IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKGZDbG9zZXN0SW5wdXQpIHtcbiAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9nZXRMaW5lVG9DbG9zZXN0SW5wdXQoZkNsb3Nlc3RJbnB1dCk7XG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbiEuc2hvdygpO1xuICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24hLnNldExpbmUobGluZS5wb2ludDEsIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSwgbGluZS5wb2ludDIsIGZDbG9zZXN0SW5wdXQuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uIS5yZWRyYXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24/LmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRMaW5lVG9DbG9zZXN0SW5wdXQoZkNsb3Nlc3RJbnB1dDogSUNsb3Nlc3RJbnB1dCk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4obmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mUmVjdCxcbiAgICAgIGZDbG9zZXN0SW5wdXQuZlJlY3QsXG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbiEuZkJlaGF2aW9yLFxuICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgZkNsb3Nlc3RJbnB1dC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGVcbiAgICApKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDbG9zZXRJbnB1dChkaWZmZXJlbmNlOiBJUG9pbnQpOiBJQ2xvc2VzdElucHV0IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuZlNuYXBDb25uZWN0aW9uKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZ2V0Q2xvc2VzdElucHV0Rm9yU25hcENvbm5lY3Rpb24odGhpcy5fZmluZENsb3Nlc3RJbnB1dChkaWZmZXJlbmNlKSk7XG4gIH1cblxuICBwcml2YXRlIF9maW5kQ2xvc2VzdElucHV0KGRpZmZlcmVuY2U6IElQb2ludCk6IElDbG9zZXN0SW5wdXQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElDbG9zZXN0SW5wdXQgfCB1bmRlZmluZWQ+KFxuICAgICAgbmV3IEZpbmRDbG9zZXN0SW5wdXRSZXF1ZXN0KFxuICAgICAgICBQb2ludC5mcm9tUG9pbnQodGhpcy50b0Nvbm5lY3RvclJlY3QpLmFkZChkaWZmZXJlbmNlKSxcbiAgICAgICAgdGhpcy5jYW5CZUNvbm5lY3RlZElucHV0cyxcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2xvc2VzdElucHV0Rm9yU25hcENvbm5lY3Rpb24oZkNsb3Nlc3RJbnB1dDogSUNsb3Nlc3RJbnB1dCB8IHVuZGVmaW5lZCk6IElDbG9zZXN0SW5wdXQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBmQ2xvc2VzdElucHV0ICYmIGZDbG9zZXN0SW5wdXQuZGlzdGFuY2UgPCB0aGlzLmZTbmFwQ29ubmVjdGlvbiEuZlNuYXBUaHJlc2hvbGQgPyBmQ2xvc2VzdElucHV0IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKHRoaXMuZklucHV0V2l0aFJlY3QuZlJlY3QsIHRoaXMuZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuICB9XG59XG4iXX0=
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL3JlYXNzaWduLWNvbm5lY3Rpb24vcmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qix5Q0FBeUMsRUFDekMsd0NBQXdDLEVBQUUsMEJBQTBCLEVBQ2xDLGtDQUFrQyxFQUFFLG9DQUFvQyxFQUMzRyxNQUFNLGlCQUFpQixDQUFDO0FBR3pCLE9BQU8sRUFBaUIsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRELE1BQU0sT0FBTyw2QkFBNkI7SUFpQzlCO0lBL0JGLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFckMsZ0JBQWdCLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUV0RCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUEyQyxDQUFDO0lBQzVFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBcUI7SUFDckMsZUFBZSxDQUFxQjtJQUVwQyxxQkFBcUIsR0FBd0IsRUFBRSxDQUFDO0lBRXhELElBQVksUUFBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMs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QUUsQ0FBQztRQUU5QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FDckIsSUFBSSxvQ0FBb0MsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDOUYsQ0FBQztJQUNKLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTztZQUNMLGVBQWUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3RDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVM7WUFDdEMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtTQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDbG9zZXN0SW5wdXRSZXF1ZXN0LFxuICBHZXRBbGxDYW5CZUNvbm5lY3RlZElucHV0c0FuZFJlY3RzUmVxdWVzdCxcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCwgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QsXG4gIElDb25uZWN0b3JBbmRSZWN0LCBJQ2xvc2VzdElucHV0LCBNYXJrQWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNSZXF1ZXN0LCBVbm1hcmtBbGxDYW5CZUNvbm5lY3RlZElucHV0c1JlcXVlc3Rcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSwgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlLCBGQ29ubmVjdG9yQmFzZSwgRk5vZGVPdXRwdXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgSUxpbmUsIElQb2ludCwgUmVjdEV4dGVuc2lvbnMsIFJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJQ3JlYXRlUmVhc3NpZ25Db25uZWN0aW9uRHJhZ0RhdGEgfSBmcm9tICcuLi9pLWNyZWF0ZS1yZWFzc2lnbi1jb25uZWN0aW9uLWRyYWctZGF0YSc7XG5pbXBvcnQgeyBmSW5qZWN0IH0gZnJvbSAnLi4vLi4vZi1pbmplY3Rvcic7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuXG5leHBvcnQgY2xhc3MgUmVhc3NpZ25Db25uZWN0aW9uRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbTxJQ3JlYXRlUmVhc3NpZ25Db25uZWN0aW9uRHJhZ0RhdGE+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBmSW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBmSW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RvQ29ubmVjdG9yUmVjdCA9IG5ldyBSb3VuZGVkUmVjdCgpO1xuXG4gIHByaXZhdGUgZ2V0IF9mU25hcENvbm5lY3Rpb24oKTogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mU25hcENvbm5lY3Rpb24gYXMgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfZk91dHB1dFdpdGhSZWN0ITogSUNvbm5lY3RvckFuZFJlY3Q7XG4gIHByaXZhdGUgX2ZJbnB1dFdpdGhSZWN0ITogSUNvbm5lY3RvckFuZFJlY3Q7XG5cbiAgcHJpdmF0ZSBfY2FuQmVDb25uZWN0ZWRJbnB1dHM6IElDb25uZWN0b3JBbmRSZWN0W10gPSBbXTtcblxuICBwcml2YXRlIGdldCBfZk91dHB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gdGhpcy5fZkNvbm5lY3Rpb24uZk91dHB1dElkKTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb25uZWN0aW9uIG91dHB1dCBub3QgZm91bmQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mSW5wdXQoKTogRkNvbm5lY3RvckJhc2Uge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gdGhpcy5fZkNvbm5lY3Rpb24uZklucHV0SWQpO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nvbm5lY3Rpb24gaW5wdXQgbm90IGZvdW5kJyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9mQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgICB0aGlzLl90b0Nvbm5lY3RvclJlY3QgPSBSb3VuZGVkUmVjdC5mcm9tUmVjdChcbiAgICAgIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUodGhpcy5fZkNvbm5lY3Rpb24ubGluZS5wb2ludDIueCwgdGhpcy5fZkNvbm5lY3Rpb24ubGluZS5wb2ludDIueSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHByZXBhcmVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5fZ2V0QW5kTWFya0NhbkJlQ29ubmVjdGVkSW5wdXRzKCk7XG4gICAgdGhpcy5faW5pdGlhbGl6ZVNuYXBDb25uZWN0aW9uKCk7XG5cbiAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QgPSB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJQ29ubmVjdG9yQW5kUmVjdD4obmV3IEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0KHRoaXMuX2ZPdXRwdXQpKTtcbiAgICB0aGlzLl9mSW5wdXRXaXRoUmVjdCA9IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fZklucHV0KSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRBbmRNYXJrQ2FuQmVDb25uZWN0ZWRJbnB1dHMoKTogdm9pZCB7XG4gICAgdGhpcy5fY2FuQmVDb25uZWN0ZWRJbnB1dHMgPSB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJQ29ubmVjdG9yQW5kUmVjdFtdPihcbiAgICAgIG5ldyBHZXRBbGxDYW5CZUNvbm5lY3RlZElucHV0c0FuZFJlY3RzUmVxdWVzdCh0aGlzLl9mT3V0cHV0IGFzIEZOb2RlT3V0cHV0RGlyZWN0aXZlKVxuICAgICk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBNYXJrQWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNSZXF1ZXN0KHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZVNuYXBDb25uZWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZlNuYXBDb25uZWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbi5mT3V0cHV0SWQgPSB0aGlzLl9mQ29ubmVjdGlvbi5mT3V0cHV0SWQ7XG4gICAgdGhpcy5fZlNuYXBDb25uZWN0aW9uLmluaXRpYWxpemUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGZDbG9zZXN0SW5wdXQgPSB0aGlzLl9maW5kQ2xvc2VzdElucHV0KGRpZmZlcmVuY2UpO1xuXG4gICAgdGhpcy5fZHJhd0Nvbm5lY3Rpb24oXG4gICAgICB0aGlzLl90b0Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSksXG4gICAgICBmQ2xvc2VzdElucHV0Py5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUgfHwgdGhpcy5fZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKTtcbiAgICBpZiAodGhpcy5fZlNuYXBDb25uZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kcmF3U25hcENvbm5lY3Rpb24odGhpcy5fZ2V0Q2xvc2VzdElucHV0Rm9yU25hcENvbm5lY3Rpb24oZkNsb3Nlc3RJbnB1dCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdDb25uZWN0aW9uKGRpZmZlcmVuY2U6IElQb2ludCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogdm9pZCB7XG4gICAgY29uc3QgbGluZSA9IHRoaXMuX2dldExpbmVUb1BvaW50ZXIoZGlmZmVyZW5jZSwgZlNpZGUpO1xuICAgIHRoaXMuX2ZDb25uZWN0aW9uLnNldExpbmUobGluZS5wb2ludDEsIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsIGxpbmUucG9pbnQyLCBmU2lkZSk7XG4gICAgdGhpcy5fZkNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRMaW5lVG9Qb2ludGVyKGRpZmZlcmVuY2U6IElQb2ludCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4obmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdCxcbiAgICAgICAgUm91bmRlZFJlY3QuZnJvbVJlY3QoUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShkaWZmZXJlbmNlLngsIGRpZmZlcmVuY2UueSkpLFxuICAgICAgICB0aGlzLl9mQ29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIGZTaWRlXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdElucHV0IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKGZDbG9zZXN0SW5wdXQpIHtcbiAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9nZXRMaW5lVG9DbG9zZXN0SW5wdXQoZkNsb3Nlc3RJbnB1dCk7XG4gICAgICB0aGlzLl9mU25hcENvbm5lY3Rpb24hLnNob3coKTtcbiAgICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbiEuc2V0TGluZShsaW5lLnBvaW50MSwgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSwgbGluZS5wb2ludDIsIGZDbG9zZXN0SW5wdXQuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbiEucmVkcmF3KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldExpbmVUb0Nsb3Nlc3RJbnB1dChmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdElucHV0KTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4obmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICBmQ2xvc2VzdElucHV0LmZSZWN0LFxuICAgICAgdGhpcy5fZlNuYXBDb25uZWN0aW9uIS5mQmVoYXZpb3IsXG4gICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgZkNsb3Nlc3RJbnB1dC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGVcbiAgICApKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRDbG9zZXN0SW5wdXQoZGlmZmVyZW5jZTogSVBvaW50KTogSUNsb3Nlc3RJbnB1dCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElDbG9zZXN0SW5wdXQgfCB1bmRlZmluZWQ+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNsb3Nlc3RJbnB1dFJlcXVlc3QoXG4gICAgICAgIHRoaXMuX3RvQ29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKSxcbiAgICAgICAgdGhpcy5fY2FuQmVDb25uZWN0ZWRJbnB1dHMsXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENsb3Nlc3RJbnB1dEZvclNuYXBDb25uZWN0aW9uKGZDbG9zZXN0SW5wdXQ6IElDbG9zZXN0SW5wdXQgfCB1bmRlZmluZWQpOiBJQ2xvc2VzdElucHV0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZkNsb3Nlc3RJbnB1dCAmJiBmQ2xvc2VzdElucHV0LmRpc3RhbmNlIDwgdGhpcy5fZlNuYXBDb25uZWN0aW9uIS5mU25hcFRocmVzaG9sZCA/IGZDbG9zZXN0SW5wdXQgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fZHJhd0Nvbm5lY3Rpb24odGhpcy5fdG9Db25uZWN0b3JSZWN0LCB0aGlzLl9mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUpO1xuICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgVW5tYXJrQWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNSZXF1ZXN0KHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldERhdGEoKTogSUNyZWF0ZVJlYXNzaWduQ29ubmVjdGlvbkRyYWdEYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgdG9Db25uZWN0b3JSZWN0OiB0aGlzLl90b0Nvbm5lY3RvclJlY3QsXG4gICAgICBmT3V0cHV0SWQ6IHRoaXMuX2ZDb25uZWN0aW9uLmZPdXRwdXRJZCxcbiAgICAgIGNhbkJlQ29ubmVjdGVkSW5wdXRzOiB0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0c1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29ubmVjdGlvbigpOiBGQ29ubmVjdGlvbkJhc2Uge1xuICAgIHJldHVybiB0aGlzLl9mQ29ubmVjdGlvbjtcbiAgfVxufVxuIl19
@@ -32,10 +32,10 @@ let GetNormalizedParentNodeRectExecution = class GetNormalizedParentNodeRectExec
32
32
  return RectExtensions.initialize(rect.x + padding[0], rect.y + padding[1], rect.width - padding[0] - padding[2], rect.height - padding[1] - padding[3]);
33
33
  }
34
34
  _getNodeRect(fNode) {
35
- return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
35
+ return this.fMediator.execute(new GetNormalizedElementRectRequest(fNode.hostElement, false));
36
36
  }
37
37
  getNodePadding(node, rect) {
38
- return this.fMediator.send(new GetNodePaddingRequest(node, rect));
38
+ return this.fMediator.execute(new GetNodePaddingRequest(node, rect));
39
39
  }
40
40
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedParentNodeRectExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
41
41
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedParentNodeRectExecution });
@@ -47,4 +47,4 @@ export { GetNormalizedParentNodeRectExecution };
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedParentNodeRectExecution, decorators: [{
48
48
  type: Injectable
49
49
  }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FMediator }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtcGFyZW50LW5vZGUtcmVjdC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9nZXQtbm9ybWFsaXplZC1wYXJlbnQtbm9kZS1yZWN0L2dldC1ub3JtYWxpemVkLXBhcmVudC1ub2RlLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9GLE9BQU8sRUFBUyxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUF5QixNQUFNLGtCQUFrQixDQUFDO0FBRzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBSTNELElBQU0sb0NBQW9DLEdBQTFDLE1BQU0sb0NBQW9DO0lBSXJDO0lBQ0E7SUFGVixZQUNVLGdCQUFrQyxFQUNsQyxTQUFvQjtRQURwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUEyQztRQUN2RCxJQUFJLE1BQU0sR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sT0FBTyxDQUFDLEdBQW1CO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFlO1FBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUM5QixJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBRSxDQUFDLENBQUUsRUFDckIsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUUsQ0FBQyxDQUFFLEVBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFFLENBQUMsQ0FBRSxHQUFHLE9BQU8sQ0FBRSxDQUFDLENBQUUsRUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUUsQ0FBQyxDQUFFLEdBQUcsT0FBTyxDQUFFLENBQUMsQ0FBRSxDQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFnQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksK0JBQStCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBZSxFQUFFLElBQVc7UUFDakQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBcUMsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO3VHQXZDVSxvQ0FBb0M7MkdBQXBDLG9DQUFvQzs7QUFBcEMsb0NBQW9DO0lBRGhELGtCQUFrQixDQUFDLGtDQUFrQyxDQUFDO0dBQzFDLG9DQUFvQyxDQXdDaEQ7OzJGQXhDWSxvQ0FBb0M7a0JBRmhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1wYXJlbnQtbm9kZS1yZWN0LnJlcXVlc3QnO1xuaW1wb3J0IHsgSVJlY3QsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldE5vcm1hbGl6ZWRQYXJlbnROb2RlUmVjdFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RSZXF1ZXN0LCBJUmVjdD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RSZXF1ZXN0KTogSVJlY3Qge1xuICAgIGxldCByZXN1bHQgPSBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKC1JbmZpbml0eSwgLUluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpO1xuICAgIGNvbnN0IHBhcmVudE5vZGUgPSB0aGlzLmdldE5vZGUocmVxdWVzdC5mTm9kZS5mUGFyZW50SWQpO1xuICAgIGlmIChwYXJlbnROb2RlKSB7XG4gICAgICByZXN1bHQgPSB0aGlzLmdldFBhcmVudFJlY3QocGFyZW50Tm9kZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGUoZklkPzogc3RyaW5nIHwgbnVsbCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXMuZmluZCgoeCkgPT4geC5mSWQgPT09IGZJZCk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmVudFJlY3Qobm9kZTogRk5vZGVCYXNlKTogSVJlY3Qge1xuICAgIGNvbnN0IHJlY3QgPSB0aGlzLl9nZXROb2RlUmVjdChub2RlKTtcbiAgICBjb25zdCBwYWRkaW5nID0gdGhpcy5nZXROb2RlUGFkZGluZyhub2RlLCByZWN0KTtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShcbiAgICAgIHJlY3QueCArIHBhZGRpbmdbIDAgXSxcbiAgICAgIHJlY3QueSArIHBhZGRpbmdbIDEgXSxcbiAgICAgIHJlY3Qud2lkdGggLSBwYWRkaW5nWyAwIF0gLSBwYWRkaW5nWyAyIF0sXG4gICAgICByZWN0LmhlaWdodCAtIHBhZGRpbmdbIDEgXSAtIHBhZGRpbmdbIDMgXVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlUmVjdChmTm9kZTogRk5vZGVCYXNlKTogSVJlY3Qge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdChmTm9kZS5ob3N0RWxlbWVudCwgZmFsc2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZVBhZGRpbmcobm9kZTogRk5vZGVCYXNlLCByZWN0OiBJUmVjdCk6IFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF0ge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF0+KG5ldyBHZXROb2RlUGFkZGluZ1JlcXVlc3Qobm9kZSwgcmVjdCkpO1xuICB9XG59XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtcGFyZW50LW5vZGUtcmVjdC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9nZXQtbm9ybWFsaXplZC1wYXJlbnQtbm9kZS1yZWN0L2dldC1ub3JtYWxpemVkLXBhcmVudC1ub2RlLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9GLE9BQU8sRUFBUyxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUF5QixNQUFNLGtCQUFrQixDQUFDO0FBRzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBSTNELElBQU0sb0NBQW9DLEdBQTFDLE1BQU0sb0NBQW9DO0lBSXJDO0lBQ0E7SUFGVixZQUNVLGdCQUFrQyxFQUNsQyxTQUFvQjtRQURwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUEyQztRQUN2RCxJQUFJLE1BQU0sR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sT0FBTyxDQUFDLEdBQW1CO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFlO1FBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUM5QixJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBRSxDQUFDLENBQUUsRUFDckIsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUUsQ0FBQyxDQUFFLEVBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFFLENBQUMsQ0FBRSxHQUFHLE9BQU8sQ0FBRSxDQUFDLENBQUUsRUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUUsQ0FBQyxDQUFFLEdBQUcsT0FBTyxDQUFFLENBQUMsQ0FBRSxDQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFnQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFRLElBQUksK0JBQStCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBZSxFQUFFLElBQVc7UUFDakQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBcUMsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRyxDQUFDO3VHQXZDVSxvQ0FBb0M7MkdBQXBDLG9DQUFvQzs7QUFBcEMsb0NBQW9DO0lBRGhELGtCQUFrQixDQUFDLGtDQUFrQyxDQUFDO0dBQzFDLG9DQUFvQyxDQXdDaEQ7OzJGQXhDWSxvQ0FBb0M7a0JBRmhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1wYXJlbnQtbm9kZS1yZWN0LnJlcXVlc3QnO1xuaW1wb3J0IHsgSVJlY3QsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldE5vcm1hbGl6ZWRQYXJlbnROb2RlUmVjdFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RSZXF1ZXN0LCBJUmVjdD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RSZXF1ZXN0KTogSVJlY3Qge1xuICAgIGxldCByZXN1bHQgPSBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKC1JbmZpbml0eSwgLUluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpO1xuICAgIGNvbnN0IHBhcmVudE5vZGUgPSB0aGlzLmdldE5vZGUocmVxdWVzdC5mTm9kZS5mUGFyZW50SWQpO1xuICAgIGlmIChwYXJlbnROb2RlKSB7XG4gICAgICByZXN1bHQgPSB0aGlzLmdldFBhcmVudFJlY3QocGFyZW50Tm9kZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGUoZklkPzogc3RyaW5nIHwgbnVsbCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXMuZmluZCgoeCkgPT4geC5mSWQgPT09IGZJZCk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmVudFJlY3Qobm9kZTogRk5vZGVCYXNlKTogSVJlY3Qge1xuICAgIGNvbnN0IHJlY3QgPSB0aGlzLl9nZXROb2RlUmVjdChub2RlKTtcbiAgICBjb25zdCBwYWRkaW5nID0gdGhpcy5nZXROb2RlUGFkZGluZyhub2RlLCByZWN0KTtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShcbiAgICAgIHJlY3QueCArIHBhZGRpbmdbIDAgXSxcbiAgICAgIHJlY3QueSArIHBhZGRpbmdbIDEgXSxcbiAgICAgIHJlY3Qud2lkdGggLSBwYWRkaW5nWyAwIF0gLSBwYWRkaW5nWyAyIF0sXG4gICAgICByZWN0LmhlaWdodCAtIHBhZGRpbmdbIDEgXSAtIHBhZGRpbmdbIDMgXVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlUmVjdChmTm9kZTogRk5vZGVCYXNlKTogSVJlY3Qge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5leGVjdXRlPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdChmTm9kZS5ob3N0RWxlbWVudCwgZmFsc2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZVBhZGRpbmcobm9kZTogRk5vZGVCYXNlLCByZWN0OiBJUmVjdCk6IFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF0ge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5leGVjdXRlPFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF0+KG5ldyBHZXROb2RlUGFkZGluZ1JlcXVlc3Qobm9kZSwgcmVjdCkpO1xuICB9XG59XG4iXX0=
@@ -52,7 +52,7 @@ let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
52
52
  return connectors.map((x) => x.fId);
53
53
  }
54
54
  _calculateConnectionsUnderNode(fNode) {
55
- const fNodeRect = this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, true));
55
+ const fNodeRect = this._fMediator.execute(new GetNormalizedElementRectRequest(fNode.hostElement, true));
56
56
  return this._fComponentsStore.fConnections.filter((x) => this._isConnectionHasIntersectionsWithNode(x, fNodeRect));
57
57
  }
58
58
  _isConnectionHasIntersectionsWithNode(fConnection, fNodeRect) {
@@ -71,4 +71,4 @@ export { IsConnectionUnderNodeExecution };
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsConnectionUnderNodeExecution, decorators: [{
72
72
  type: Injectable
73
73
  }] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29ubmVjdGlvbi11bmRlci1ub2RlLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZG9tYWluL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZS9pcy1jb25uZWN0aW9uLXVuZGVyLW5vZGUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sWUFBWSxDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJOUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSTNELElBQU0sOEJBQThCLEdBQXBDLE1BQU0sOEJBQThCO0lBRWpDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFOUMsTUFBTSxDQUFDLE9BQXFDO1FBRWpELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFD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QUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRU8scUNBQXFDLENBQUMsV0FBNEIsRUFBRSxTQUF1QjtRQUNqRyxPQUFPLGdCQUFnQixDQUFDLHNDQUFzQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVPLG1DQUFtQyxDQUFDLEtBQWdCLEVBQUUsWUFBK0I7UUFDM0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSwrQkFBK0IsQ0FBQyxJQUFJLENBQ3JFLElBQUksK0JBQStCLENBQ2pDLEtBQUssQ0FBQyxHQUFHLEVBQ1QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUMvQixDQUNGLENBQUM7SUFDSixDQUFDO3VHQTFFVSw4QkFBOEI7MkdBQTlCLDhCQUE4Qjs7QUFBOUIsOEJBQThCO0lBRDFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDO0dBQ3BDLDhCQUE4QixDQTJFMUM7OzJGQTNFWSw4QkFBOEI7a0JBRjFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRJbnRlcnNlY3Rpb25zLCBJUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3QgfSBmcm9tICcuL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZS5yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyB9IGZyb20gJy4uLy4uL2luZGV4JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoSXNDb25uZWN0aW9uVW5kZXJOb2RlUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3QpOiB2b2lkIHtcblxuICAgIGNvbnN0IGZPdXRwdXRDb25uZWN0b3JzID0gdGhpcy5fZ2V0T3V0cHV0Q29ubmVjdG9ycyhyZXF1ZXN0LmZOb2RlKTtcbiAgICBjb25zdCBmSW5wdXRDb25uZWN0b3JzID0gdGhpcy5fZ2V0SW5wdXRDb25uZWN0b3JzKHJlcXVlc3QuZk5vZGUpO1xuXG4gICAgaWYgKCFmT3V0cHV0Q29ubmVjdG9ycy5sZW5ndGggfHwgIWZJbnB1dENvbm5lY3RvcnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZk91dHB1dENvbm5lY3Rpb25zID0gdGhpcy5fZ2V0T3V0cHV0Q29ubmVjdGlvbnNJZChmT3V0cHV0Q29ubmVjdG9ycyk7XG4gICAgY29uc3QgZklucHV0Q29ubmVjdGlvbnMgPSB0aGlzLl9nZXRJbnB1dENvbm5lY3Rpb25zSWQoZklucHV0Q29ubmVjdG9ycyk7XG5cbiAgICBjb25zdCBmQ29ubmVjdGlvbnNVbmRlck5vZGUgPSB0aGlzLl9jYWxjdWxhdGVDb25uZWN0aW9uc1VuZGVyTm9kZShyZXF1ZXN0LmZOb2RlKS5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiAhZk91dHB1dENvbm5lY3Rpb25zLmluY2x1ZGVzKHguZklkKSAmJiAhZklucHV0Q29ubmVjdGlvbnMuaW5jbHVkZXMoeC5mSWQpO1xuICAgIH0pO1xuXG4gICAgaWYgKCFmQ29ubmVjdGlvbnNVbmRlck5vZGUubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZW1pdE5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyhyZXF1ZXN0LmZOb2RlLCBmQ29ubmVjdGlvbnNVbmRlck5vZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0T3V0cHV0Q29ubmVjdG9ycyhmTm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMuZmlsdGVyKCh4KSA9PiB7XG4gICAgICByZXR1cm4gZk5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSAmJiB4LmNhbkJlQ29ubmVjdGVkO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SW5wdXRDb25uZWN0b3JzKGZOb2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbHRlcigoeCkgPT4ge1xuICAgICAgcmV0dXJuIGZOb2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkgJiYgeC5jYW5CZUNvbm5lY3RlZDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE91dHB1dENvbm5lY3Rpb25zSWQoY29ubmVjdG9yczogRkNvbm5lY3RvckJhc2VbXSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjb25uZWN0b3JzSWQgPSB0aGlzLl9nZXRDb25uZWN0b3JzSWQoY29ubmVjdG9ycyk7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zXG4gICAgICAuZmlsdGVyKCh4KSA9PiBjb25uZWN0b3JzSWQuaW5jbHVkZXMoeC5mT3V0cHV0SWQpKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SW5wdXRDb25uZWN0aW9uc0lkKGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY29ubmVjdG9yc0lkID0gdGhpcy5fZ2V0Q29ubmVjdG9yc0lkKGNvbm5lY3RvcnMpO1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9uc1xuICAgICAgLmZpbHRlcigoeCkgPT4gY29ubmVjdG9yc0lkLmluY2x1ZGVzKHguZklucHV0SWQpKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29ubmVjdG9yc0lkKGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGNvbm5lY3RvcnMubWFwKCh4KSA9PiB4LmZJZCk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVDb25uZWN0aW9uc1VuZGVyTm9kZShmTm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIGNvbnN0IGZOb2RlUmVjdCA9IHRoaXMuX2ZNZWRpYXRvci5zZW5kPElSb3VuZGVkUmVjdD4obmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QoZk5vZGUuaG9zdEVsZW1lbnQsIHRydWUpKTtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnMuZmlsdGVyKCh4KSA9PiB0aGlzLl9pc0Nvbm5lY3Rpb25IYXNJbnRlcnNlY3Rpb25zV2l0aE5vZGUoeCwgZk5vZGVSZWN0KSk7XG4gIH1cblxuICBwcml2YXRlIF9pc0Nvbm5lY3Rpb25IYXNJbnRlcnNlY3Rpb25zV2l0aE5vZGUoZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSwgZk5vZGVSZWN0OiBJUm91bmRlZFJlY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gR2V0SW50ZXJzZWN0aW9ucy5nZXRSb3VuZGVkUmVjdEludGVyc2VjdGlvbnNXaXRoU1ZHUGF0aChmQ29ubmVjdGlvbi5mUGF0aC5ob3N0RWxlbWVudCwgZk5vZGVSZWN0KS5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdE5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyhmTm9kZTogRk5vZGVCYXNlLCBmQ29ubmVjdGlvbnM6IEZDb25uZWN0aW9uQmFzZVtdKTogdm9pZCB7XG4gICAgdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlPy5mTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zLmVtaXQoXG4gICAgICBuZXcgRk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyhcbiAgICAgICAgZk5vZGUuZklkLFxuICAgICAgICBmQ29ubmVjdGlvbnMubWFwKCh4KSA9PiB4LmZJZClcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29ubmVjdGlvbi11bmRlci1ub2RlLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZG9tYWluL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZS9pcy1jb25uZWN0aW9uLXVuZGVyLW5vZGUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sWUFBWSxDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJOUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSTNELElBQU0sOEJBQThCLEdBQXBDLE1BQU0sOEJBQThCO0lBRWpDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFOUMsTUFBTSxDQUFDLE9BQXFDO1FBRWpELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFD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QUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRU8scUNBQXFDLENBQUMsV0FBNEIsRUFBRSxTQUF1QjtRQUNqRyxPQUFPLGdCQUFnQixDQUFDLHNDQUFzQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVPLG1DQUFtQyxDQUFDLEtBQWdCLEVBQUUsWUFBK0I7UUFDM0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSwrQkFBK0IsQ0FBQyxJQUFJLENBQ3JFLElBQUksK0JBQStCLENBQ2pDLEtBQUssQ0FBQyxHQUFHLEVBQ1QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUMvQixDQUNGLENBQUM7SUFDSixDQUFDO3VHQTFFVSw4QkFBOEI7MkdBQTlCLDhCQUE4Qjs7QUFBOUIsOEJBQThCO0lBRDFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDO0dBQ3BDLDhCQUE4QixDQTJFMUM7OzJGQTNFWSw4QkFBOEI7a0JBRjFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRJbnRlcnNlY3Rpb25zLCBJUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3QgfSBmcm9tICcuL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZS5yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyB9IGZyb20gJy4uLy4uL2luZGV4JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoSXNDb25uZWN0aW9uVW5kZXJOb2RlUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3QpOiB2b2lkIHtcblxuICAgIGNvbnN0IGZPdXRwdXRDb25uZWN0b3JzID0gdGhpcy5fZ2V0T3V0cHV0Q29ubmVjdG9ycyhyZXF1ZXN0LmZOb2RlKTtcbiAgICBjb25zdCBmSW5wdXRDb25uZWN0b3JzID0gdGhpcy5fZ2V0SW5wdXRDb25uZWN0b3JzKHJlcXVlc3QuZk5vZGUpO1xuXG4gICAgaWYgKCFmT3V0cHV0Q29ubmVjdG9ycy5sZW5ndGggfHwgIWZJbnB1dENvbm5lY3RvcnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZk91dHB1dENvbm5lY3Rpb25zID0gdGhpcy5fZ2V0T3V0cHV0Q29ubmVjdGlvbnNJZChmT3V0cHV0Q29ubmVjdG9ycyk7XG4gICAgY29uc3QgZklucHV0Q29ubmVjdGlvbnMgPSB0aGlzLl9nZXRJbnB1dENvbm5lY3Rpb25zSWQoZklucHV0Q29ubmVjdG9ycyk7XG5cbiAgICBjb25zdCBmQ29ubmVjdGlvbnNVbmRlck5vZGUgPSB0aGlzLl9jYWxjdWxhdGVDb25uZWN0aW9uc1VuZGVyTm9kZShyZXF1ZXN0LmZOb2RlKS5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiAhZk91dHB1dENvbm5lY3Rpb25zLmluY2x1ZGVzKHguZklkKSAmJiAhZklucHV0Q29ubmVjdGlvbnMuaW5jbHVkZXMoeC5mSWQpO1xuICAgIH0pO1xuXG4gICAgaWYgKCFmQ29ubmVjdGlvbnNVbmRlck5vZGUubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZW1pdE5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyhyZXF1ZXN0LmZOb2RlLCBmQ29ubmVjdGlvbnNVbmRlck5vZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0T3V0cHV0Q29ubmVjdG9ycyhmTm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMuZmlsdGVyKCh4KSA9PiB7XG4gICAgICByZXR1cm4gZk5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSAmJiB4LmNhbkJlQ29ubmVjdGVkO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SW5wdXRDb25uZWN0b3JzKGZOb2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbHRlcigoeCkgPT4ge1xuICAgICAgcmV0dXJuIGZOb2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkgJiYgeC5jYW5CZUNvbm5lY3RlZDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE91dHB1dENvbm5lY3Rpb25zSWQoY29ubmVjdG9yczogRkNvbm5lY3RvckJhc2VbXSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjb25uZWN0b3JzSWQgPSB0aGlzLl9nZXRDb25uZWN0b3JzSWQoY29ubmVjdG9ycyk7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zXG4gICAgICAuZmlsdGVyKCh4KSA9PiBjb25uZWN0b3JzSWQuaW5jbHVkZXMoeC5mT3V0cHV0SWQpKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SW5wdXRDb25uZWN0aW9uc0lkKGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY29ubmVjdG9yc0lkID0gdGhpcy5fZ2V0Q29ubmVjdG9yc0lkKGNvbm5lY3RvcnMpO1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9uc1xuICAgICAgLmZpbHRlcigoeCkgPT4gY29ubmVjdG9yc0lkLmluY2x1ZGVzKHguZklucHV0SWQpKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29ubmVjdG9yc0lkKGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGNvbm5lY3RvcnMubWFwKCh4KSA9PiB4LmZJZCk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVDb25uZWN0aW9uc1VuZGVyTm9kZShmTm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIGNvbnN0IGZOb2RlUmVjdCA9IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElSb3VuZGVkUmVjdD4obmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QoZk5vZGUuaG9zdEVsZW1lbnQsIHRydWUpKTtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnMuZmlsdGVyKCh4KSA9PiB0aGlzLl9pc0Nvbm5lY3Rpb25IYXNJbnRlcnNlY3Rpb25zV2l0aE5vZGUoeCwgZk5vZGVSZWN0KSk7XG4gIH1cblxuICBwcml2YXRlIF9pc0Nvbm5lY3Rpb25IYXNJbnRlcnNlY3Rpb25zV2l0aE5vZGUoZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSwgZk5vZGVSZWN0OiBJUm91bmRlZFJlY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gR2V0SW50ZXJzZWN0aW9ucy5nZXRSb3VuZGVkUmVjdEludGVyc2VjdGlvbnNXaXRoU1ZHUGF0aChmQ29ubmVjdGlvbi5mUGF0aC5ob3N0RWxlbWVudCwgZk5vZGVSZWN0KS5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdE5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyhmTm9kZTogRk5vZGVCYXNlLCBmQ29ubmVjdGlvbnM6IEZDb25uZWN0aW9uQmFzZVtdKTogdm9pZCB7XG4gICAgdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlPy5mTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zLmVtaXQoXG4gICAgICBuZXcgRk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyhcbiAgICAgICAgZk5vZGUuZklkLFxuICAgICAgICBmQ29ubmVjdGlvbnMubWFwKCh4KSA9PiB4LmZJZClcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -11,4 +11,4 @@ export class FDraggableBase extends DragAndDropBase {
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableBase, decorators: [{
12
12
  type: Directive
13
13
  }], ctorParameters: () => [{ type: undefined }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1kcmFnZ2FibGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxHQUFpQixNQUFNLGVBQWUsQ0FBQztBQUl6RCxPQUFPLEVBQUUsZUFBZSxFQUF5QixNQUFNLHNCQUFzQixDQUFDOztBQUs5RSxNQUFNLE9BQWdCLGNBQWUsU0FBUSxlQUFlO0lBb0IxRCxZQUNFLE1BQXlDO1FBRXpDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO3VHQXhCbUIsY0FBYzsyRkFBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQURuQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LCBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQgfSBmcm9tICcuL2Nvbm5lY3Rpb25zJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IEZDcmVhdGVOb2RlRXZlbnQgfSBmcm9tICcuLi9mLWV4dGVybmFsLWl0ZW0nO1xuaW1wb3J0IHsgRHJhZ0FuZERyb3BCYXNlLCBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIgfSBmcm9tICdAZm9ibGV4L2RyYWctdG9vbGtpdCc7XG5pbXBvcnQgeyBGRHJvcFRvR3JvdXBFdmVudCB9IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBGTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zIH0gZnJvbSAnLi9kb21haW4nO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGRHJhZ2dhYmxlQmFzZSBleHRlbmRzIERyYWdBbmREcm9wQmFzZSAge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9uczogRXZlbnRFbWl0dGVyPEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnM+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBlbWl0V2hlbk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9uOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ3JlYXRlTm9kZTogRXZlbnRFbWl0dGVyPEZDcmVhdGVOb2RlRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUmVhc3NpZ25Db25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNyZWF0ZUNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRyb3BUb0dyb3VwOiBFdmVudEVtaXR0ZXI8RkRyb3BUb0dyb3VwRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB2Q2VsbFNpemU6IG51bWJlcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgaENlbGxTaXplOiBudW1iZXI7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIG5nWm9uZTogSUNhblJ1bk91dHNpZGVBbmd1bGFyIHwgdW5kZWZpbmVkXG4gICkge1xuICAgIHN1cGVyKG5nWm9uZSk7XG4gIH1cbn1cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1kcmFnZ2FibGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxHQUFpQixNQUFNLGVBQWUsQ0FBQztBQUl6RCxPQUFPLEVBQUUsZUFBZSxFQUF5QixNQUFNLHNCQUFzQixDQUFDOztBQUs5RSxNQUFNLE9BQWdCLGNBQWUsU0FBUSxlQUFlO0lBMEIxRCxZQUNFLE1BQXlDO1FBRXpDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO3VHQTlCbUIsY0FBYzsyRkFBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQURuQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LCBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQgfSBmcm9tICcuL2Nvbm5lY3Rpb25zJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IEZDcmVhdGVOb2RlRXZlbnQgfSBmcm9tICcuLi9mLWV4dGVybmFsLWl0ZW0nO1xuaW1wb3J0IHsgRHJhZ0FuZERyb3BCYXNlLCBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIgfSBmcm9tICdAZm9ibGV4L2RyYWctdG9vbGtpdCc7XG5pbXBvcnQgeyBGRHJvcFRvR3JvdXBFdmVudCB9IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBGTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zIH0gZnJvbSAnLi9kb21haW4nO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGRHJhZ2dhYmxlQmFzZSBleHRlbmRzIERyYWdBbmREcm9wQmFzZSAge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9uczogRXZlbnRFbWl0dGVyPEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnM+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRW1pdE9uTm9kZUludGVyc2VjdDogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNyZWF0ZU5vZGU6IEV2ZW50RW1pdHRlcjxGQ3JlYXRlTm9kZUV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlJlYXNzaWduQ29ubmVjdGlvbjogRXZlbnRFbWl0dGVyPEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZDcmVhdGVDb25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZUNvbm5lY3Rpb25FdmVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZEcm9wVG9Hcm91cDogRXZlbnRFbWl0dGVyPEZEcm9wVG9Hcm91cEV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgdkNlbGxTaXplOiBudW1iZXI7XG5cbiAgcHVibGljIGFic3RyYWN0IGhDZWxsU2l6ZTogbnVtYmVyO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ2VsbFNpemVXaGlsZURyYWdnaW5nOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRHJhZ1N0YXJ0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRyYWdFbmRlZDogRXZlbnRFbWl0dGVyPHZvaWQ+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBuZ1pvbmU6IElDYW5SdW5PdXRzaWRlQW5ndWxhciB8IHVuZGVmaW5lZFxuICApIHtcbiAgICBzdXBlcihuZ1pvbmUpO1xuICB9XG59XG4iXX0=
@@ -24,4 +24,4 @@ export class FDraggableDataContext {
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext, decorators: [{
25
25
  type: Injectable
26
26
  }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQUtuQyxNQUFNLE9BQU8scUJBQXFCO0lBRXpCLGFBQWEsR0FBMEIsRUFBRSxDQUFDO0lBRTFDLGlCQUFpQixHQUFZLEtBQUssQ0FBQztJQUVuQyxrQkFBa0IsR0FBVyxDQUFDLENBQUM7SUFFL0IscUJBQXFCLEdBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRS9DLGNBQWMsR0FBcUIsRUFBRSxDQUFDO0lBRXRDLEtBQUs7UUFDVixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQ3JDLENBQUM7dUdBeEJVLHFCQUFxQjsyR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IElDYW5DaGFuZ2VTZWxlY3Rpb24gfSBmcm9tICcuLi9taXhpbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRkRyYWdnYWJsZURhdGFDb250ZXh0IHtcblxuICBwdWJsaWMgc2VsZWN0ZWRJdGVtczogSUNhbkNoYW5nZVNlbGVjdGlvbltdID0gW107XG5cbiAgcHVibGljIGlzU2VsZWN0ZWRDaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG9uUG9pbnRlckRvd25TY2FsZTogbnVtYmVyID0gMTtcblxuICBwdWJsaWMgb25Qb2ludGVyRG93blBvc2l0aW9uOiBQb2ludCA9IG5ldyBQb2ludCgwLCAwKTtcblxuICBwdWJsaWMgZHJhZ2dhYmxlSXRlbXM6IElEcmFnZ2FibGVJdGVtW10gPSBbXTtcblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5kcmFnZ2FibGVJdGVtcyA9IFtdO1xuICAgIHRoaXMub25Qb2ludGVyRG93blNjYWxlID0gMTtcbiAgICB0aGlzLm9uUG9pbnRlckRvd25Qb3NpdGlvbiA9IG5ldyBQb2ludCgwLCAwKTtcbiAgfVxuXG4gIHB1YmxpYyBtYXJrU2VsZWN0aW9uQXNDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuaXNTZWxlY3RlZENoYW5nZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmRyYWdnYWJsZUl0ZW1zLmxlbmd0aDtcbiAgfVxufVxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQUtuQyxNQUFNLE9BQU8scUJBQXFCO0lBRXpCLGFBQWEsR0FBa0IsRUFBRSxDQUFDO0lBRWxDLGlCQUFpQixHQUFZLEtBQUssQ0FBQztJQUVuQyxrQkFBa0IsR0FBVyxDQUFDLENBQUM7SUFFL0IscUJBQXFCLEdBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRS9DLGNBQWMsR0FBcUIsRUFBRSxDQUFDO0lBRXRDLEtBQUs7UUFDVixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQ3JDLENBQUM7dUdBeEJVLHFCQUFxQjsyR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IElTZWxlY3RhYmxlIH0gZnJvbSAnLi4vbWl4aW5zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZEcmFnZ2FibGVEYXRhQ29udGV4dCB7XG5cbiAgcHVibGljIHNlbGVjdGVkSXRlbXM6IElTZWxlY3RhYmxlW10gPSBbXTtcblxuICBwdWJsaWMgaXNTZWxlY3RlZENoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb25Qb2ludGVyRG93blNjYWxlOiBudW1iZXIgPSAxO1xuXG4gIHB1YmxpYyBvblBvaW50ZXJEb3duUG9zaXRpb246IFBvaW50ID0gbmV3IFBvaW50KDAsIDApO1xuXG4gIHB1YmxpYyBkcmFnZ2FibGVJdGVtczogSURyYWdnYWJsZUl0ZW1bXSA9IFtdO1xuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmRyYWdnYWJsZUl0ZW1zID0gW107XG4gICAgdGhpcy5vblBvaW50ZXJEb3duU2NhbGUgPSAxO1xuICAgIHRoaXMub25Qb2ludGVyRG93blBvc2l0aW9uID0gbmV3IFBvaW50KDAsIDApO1xuICB9XG5cbiAgcHVibGljIG1hcmtTZWxlY3Rpb25Bc0NoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZHJhZ2dhYmxlSXRlbXMubGVuZ3RoO1xuICB9XG59XG4iXX0=
@@ -1,64 +1,77 @@
1
- import { booleanAttribute, ContentChildren, Directive, ElementRef, EventEmitter, inject, Inject, Input, NgZone, Optional, Output } from "@angular/core";
1
+ import { booleanAttribute, ContentChildren, Directive, ElementRef, EventEmitter, inject, Inject, Injector, Input, NgZone, numberAttribute, Optional, Output } from "@angular/core";
2
2
  import { FDraggableBase } from './f-draggable-base';
3
3
  import { NodeDragToParentFinalizeRequest, NodeDragToParentPreparationRequest, NodeMoveFinalizeRequest, NodeMovePreparationRequest } from './node';
4
4
  import { CanvasMoveFinalizeRequest, CanvasMovePreparationRequest } from './canvas';
5
5
  import { ReassignConnectionPreparationRequest, ReassignConnectionFinalizeRequest, CreateConnectionPreparationRequest, CreateConnectionFinalizeRequest } from './connections';
6
6
  import { FMediator } from '@foblex/mediator';
7
- import { AddDndToStoreRequest, EmitSelectionChangeEventRequest, PrepareDragSequenceRequest, RemoveDndFromStoreRequest, EndDragSequenceRequest, InitializeDragSequenceRequest, OnPointerMoveRequest } from '../domain';
7
+ import { AddDndToStoreRequest, EmitSelectionChangeEventRequest, PrepareDragSequenceRequest, RemoveDndFromStoreRequest, EndDragSequenceRequest, InitializeDragSequenceRequest, OnPointerMoveRequest, defaultEventTrigger } from '../domain';
8
8
  import { ExternalItemFinalizeRequest, ExternalItemPreparationRequest, PreventDefaultIsExternalItemRequest } from '../f-external-item';
9
9
  import { SingleSelectRequest } from './single-select';
10
10
  import { NodeResizeFinalizeRequest, NodeResizePreparationRequest } from './node-resize';
11
11
  import { F_DRAG_AND_DROP_PLUGIN } from './i-f-drag-and-drop-plugin';
12
+ import { EOperationSystem, PlatformService } from '@foblex/platform';
13
+ import { FInjector } from './f-injector';
12
14
  import * as i0 from "@angular/core";
13
15
  import * as i1 from "@foblex/platform";
14
16
  export class FDraggableDirective extends FDraggableBase {
15
17
  _fBrowser;
16
18
  _elementReference = inject(ElementRef);
17
19
  _fMediator = inject(FMediator);
20
+ _fPlatform = inject(PlatformService);
21
+ _injector = inject(Injector);
18
22
  disabled = false;
19
23
  get hostElement() {
20
24
  return this._elementReference.nativeElement;
21
25
  }
26
+ fMultiSelectTrigger = (event) => {
27
+ return (this._fPlatform.getOS() === EOperationSystem.MAC_OS) ? event.metaKey : event.ctrlKey;
28
+ };
29
+ fReassignConnectionTrigger = defaultEventTrigger;
30
+ fCreateConnectionTrigger = defaultEventTrigger;
22
31
  fSelectionChange = new EventEmitter();
23
32
  fNodeIntersectedWithConnections = new EventEmitter();
24
- emitWhenNodeIntersectedWithConnection = false;
33
+ fEmitOnNodeIntersect = false;
25
34
  fCreateNode = new EventEmitter();
26
35
  fReassignConnection = new EventEmitter();
27
36
  fCreateConnection = new EventEmitter();
28
37
  fDropToGroup = new EventEmitter();
29
38
  vCellSize = 1;
30
39
  hCellSize = 1;
40
+ fCellSizeWhileDragging = false;
41
+ fDragStarted = new EventEmitter();
42
+ fDragEnded = new EventEmitter();
31
43
  plugins;
32
44
  constructor(ngZone, _fBrowser) {
33
45
  super(ngZone);
34
46
  this._fBrowser = _fBrowser;
35
47
  }
36
48
  ngOnInit() {
37
- this._fMediator.send(new AddDndToStoreRequest(this));
49
+ this._fMediator.execute(new AddDndToStoreRequest(this));
38
50
  }
39
51
  ngAfterViewInit() {
40
52
  super.subscribe(this._fBrowser.document);
41
53
  }
42
54
  onPointerDown(event) {
55
+ FInjector.set(this._injector);
43
56
  this._fMediator.execute(new InitializeDragSequenceRequest());
44
57
  this.plugins.forEach((p) => p.onPointerDown?.(event));
45
- this._fMediator.execute(new SingleSelectRequest(event));
46
- this._fMediator.execute(new ReassignConnectionPreparationRequest(event));
47
- this._fMediator.execute(new CreateConnectionPreparationRequest(event));
48
- const isMouseLeftButton = event.isMouseLeftButton();
49
- if (!isMouseLeftButton) {
58
+ this._fMediator.execute(new SingleSelectRequest(event, this.fMultiSelectTrigger));
59
+ this._fMediator.execute(new ReassignConnectionPreparationRequest(event, this.fReassignConnectionTrigger));
60
+ this._fMediator.execute(new CreateConnectionPreparationRequest(event, this.fCreateConnectionTrigger));
61
+ const isMouseLeftOrTouch = event.isMouseLeftButton();
62
+ if (!isMouseLeftOrTouch) {
50
63
  this.finalizeDragSequence();
51
64
  }
52
- return isMouseLeftButton;
65
+ return isMouseLeftOrTouch;
53
66
  }
54
67
  prepareDragSequence(event) {
55
68
  this.plugins.forEach((p) => p.prepareDragSequence?.(event));
56
- this._fMediator.send(new NodeResizePreparationRequest(event));
57
- this._fMediator.send(new NodeMovePreparationRequest(event));
58
- this._fMediator.send(new NodeDragToParentPreparationRequest(event));
59
- this._fMediator.send(new CanvasMovePreparationRequest(event));
60
- this._fMediator.send(new ExternalItemPreparationRequest(event));
61
- this._fMediator.send(new PrepareDragSequenceRequest());
69
+ this._fMediator.execute(new NodeResizePreparationRequest(event));
70
+ this._fMediator.execute(new NodeMovePreparationRequest(event));
71
+ this._fMediator.execute(new NodeDragToParentPreparationRequest(event));
72
+ this._fMediator.execute(new CanvasMovePreparationRequest(event));
73
+ this._fMediator.execute(new ExternalItemPreparationRequest(event));
74
+ this._fMediator.execute(new PrepareDragSequenceRequest());
62
75
  }
63
76
  onSelect(event) {
64
77
  this.plugins.forEach((x) => x.onSelect?.(event));
@@ -74,19 +87,22 @@ export class FDraggableDirective extends FDraggableBase {
74
87
  this._fMediator.execute(new NodeResizeFinalizeRequest(event));
75
88
  this._fMediator.execute(new NodeMoveFinalizeRequest(event));
76
89
  this._fMediator.execute(new NodeDragToParentFinalizeRequest(event));
77
- this._fMediator.send(new CanvasMoveFinalizeRequest(event));
90
+ this._fMediator.execute(new CanvasMoveFinalizeRequest(event));
78
91
  this._fMediator.execute(new ExternalItemFinalizeRequest(event));
79
92
  this._fMediator.execute(new EndDragSequenceRequest());
93
+ FInjector.clear();
80
94
  }
81
95
  finalizeDragSequence() {
82
96
  this._fMediator.execute(new EmitSelectionChangeEventRequest());
97
+ FInjector.clear();
83
98
  }
84
99
  ngOnDestroy() {
85
- this._fMediator.send(new RemoveDndFromStoreRequest());
100
+ this._fMediator.execute(new RemoveDndFromStoreRequest());
86
101
  super.unsubscribe();
102
+ FInjector.clear();
87
103
  }
88
104
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, deps: [{ token: NgZone, optional: true }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Directive });
89
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"], emitWhenNodeIntersectedWithConnection: ["emitWhenNodeIntersectedWithConnection", "emitWhenNodeIntersectedWithConnection", booleanAttribute], vCellSize: "vCellSize", hCellSize: "hCellSize" }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
105
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled", booleanAttribute], fMultiSelectTrigger: "fMultiSelectTrigger", fReassignConnectionTrigger: "fReassignConnectionTrigger", fCreateConnectionTrigger: "fCreateConnectionTrigger", fEmitOnNodeIntersect: ["fEmitOnNodeIntersect", "fEmitOnNodeIntersect", booleanAttribute], vCellSize: ["vCellSize", "vCellSize", numberAttribute], hCellSize: ["hCellSize", "hCellSize", numberAttribute], fCellSizeWhileDragging: ["fCellSizeWhileDragging", "fCellSizeWhileDragging", booleanAttribute] }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup", fDragStarted: "fDragStarted", fDragEnded: "fDragEnded" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
90
106
  }
91
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, decorators: [{
92
108
  type: Directive,
@@ -101,12 +117,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
101
117
  type: Optional
102
118
  }] }, { type: i1.BrowserService }], propDecorators: { disabled: [{
103
119
  type: Input,
104
- args: ['fDraggableDisabled']
120
+ args: [{ transform: booleanAttribute, alias: 'fDraggableDisabled' }]
121
+ }], fMultiSelectTrigger: [{
122
+ type: Input
123
+ }], fReassignConnectionTrigger: [{
124
+ type: Input
125
+ }], fCreateConnectionTrigger: [{
126
+ type: Input
105
127
  }], fSelectionChange: [{
106
128
  type: Output
107
129
  }], fNodeIntersectedWithConnections: [{
108
130
  type: Output
109
- }], emitWhenNodeIntersectedWithConnection: [{
131
+ }], fEmitOnNodeIntersect: [{
110
132
  type: Input,
111
133
  args: [{ transform: booleanAttribute }]
112
134
  }], fCreateNode: [{
@@ -118,11 +140,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
118
140
  }], fDropToGroup: [{
119
141
  type: Output
120
142
  }], vCellSize: [{
121
- type: Input
143
+ type: Input,
144
+ args: [{ transform: numberAttribute }]
122
145
  }], hCellSize: [{
123
- type: Input
146
+ type: Input,
147
+ args: [{ transform: numberAttribute }]
148
+ }], fCellSizeWhileDragging: [{
149
+ type: Input,
150
+ args: [{ transform: booleanAttribute }]
151
+ }], fDragStarted: [{
152
+ type: Output
153
+ }], fDragEnded: [{
154
+ type: Output
124
155
  }], plugins: [{
125
156
  type: ContentChildren,
126
157
  args: [F_DRAG_AND_DROP_PLUGIN, { descendants: true }]
127
158
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGdCQUFnQixFQUFFLGVBQWUsRUFDaEQsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFDNUIsS0FBSyxFQUNMLE1BQU0sRUFFRSxRQUFRLEVBQUUsTUFBTSxFQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUNjLCtCQUErQixFQUNsRCxrQ0FBa0MsRUFDbEMsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMzQixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkYsT0FBTyxFQUdMLG9DQUFvQyxFQUNwQyxpQ0FBaUMsRUFDakMsa0NBQWtDLEVBQ2xDLCtCQUErQixFQUNoQyxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwrQkFBK0IsRUFDL0IsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUNyQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDhCQUE4QixFQUU5QixtQ0FBbUMsRUFDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUs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O3NCQUQxQixNQUFNO2dCQUlTLG1CQUFtQjtzQkFEbEMsTUFBTTtnQkFJUyxpQkFBaUI7c0JBRGhDLE1BQU07Z0JBSVMsWUFBWTtzQkFEM0IsTUFBTTtnQkFJUyxTQUFTO3NCQUR4QixLQUFLO2dCQUlVLFNBQVM7c0JBRHhCLEtBQUs7Z0JBSUUsT0FBTztzQkFEZCxlQUFlO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsIGJvb2xlYW5BdHRyaWJ1dGUsIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgUXVlcnlMaXN0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQge1xuICBGRHJvcFRvR3JvdXBFdmVudCwgTm9kZURyYWdUb1BhcmVudEZpbmFsaXplUmVxdWVzdCxcbiAgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uUmVxdWVzdCxcbiAgTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsXG4gIE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0XG59IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0LCBDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9jYW52YXMnO1xuaW1wb3J0IHtcbiAgRkNyZWF0ZUNvbm5lY3Rpb25FdmVudCxcbiAgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50LFxuICBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsXG4gIFJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdCxcbiAgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdFxufSBmcm9tICcuL2Nvbm5lY3Rpb25zJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkRG5kVG9TdG9yZVJlcXVlc3QsXG4gIEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QsXG4gIFByZXBhcmVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBSZW1vdmVEbmRGcm9tU3RvcmVSZXF1ZXN0LFxuICBFbmREcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBJbml0aWFsaXplRHJhZ1NlcXVlbmNlUmVxdWVzdCxcbiAgT25Qb2ludGVyTW92ZVJlcXVlc3Rcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdCxcbiAgRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBGQ3JlYXRlTm9kZUV2ZW50LFxuICBQcmV2ZW50RGVmYXVsdElzRXh0ZXJuYWxJdGVtUmVxdWVzdFxufSBmcm9tICcuLi9mLWV4dGVybmFsLWl0ZW0nO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0UmVxdWVzdCB9IGZyb20gJy4vc2luZ2xlLXNlbGVjdCc7XG5pbXBvcnQgeyBOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0LCBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9ub2RlLXJlc2l6ZSc7XG5pbXBvcnQgeyBGX0RSQUdfQU5EX0RST1BfUExVR0lOLCBJRkRyYWdBbmREcm9wUGx1Z2luIH0gZnJvbSAnLi9pLWYtZHJhZy1hbmQtZHJvcC1wbHVnaW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IElDYW5SdW5PdXRzaWRlQW5ndWxhciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcbmltcG9ydCB7IEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgfSBmcm9tICcuL2RvbWFpbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJmLWZsb3dbZkRyYWdnYWJsZV1cIixcbiAgZXhwb3J0QXM6ICdmRHJhZ2dhYmxlJ1xufSlcbmV4cG9ydCBjbGFzcyBGRHJhZ2dhYmxlRGlyZWN0aXZlIGV4dGVuZHMgRkRyYWdnYWJsZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBASW5wdXQoJ2ZEcmFnZ2FibGVEaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnM+KCk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBlbWl0V2hlbk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ3JlYXRlTm9kZSA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZSZWFzc2lnbkNvbm5lY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVDb25uZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyb3BUb0dyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxGRHJvcFRvR3JvdXBFdmVudD4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgdkNlbGxTaXplID0gMTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgaENlbGxTaXplID0gMTtcblxuICBAQ29udGVudENoaWxkcmVuKEZfRFJBR19BTkRfRFJPUF9QTFVHSU4sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBwbHVnaW5zITogUXVlcnlMaXN0PElGRHJhZ0FuZERyb3BQbHVnaW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTmdab25lKSBAT3B0aW9uYWwoKSBuZ1pvbmU6IElDYW5SdW5PdXRzaWRlQW5ndWxhcixcbiAgICBwcml2YXRlIF9mQnJvd3NlcjogQnJvd3NlclNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKG5nWm9uZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEFkZERuZFRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIuc3Vic2NyaWJlKHRoaXMuX2ZCcm93c2VyLmRvY3VtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJEb3duKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25Qb2ludGVyRG93bj8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgU2luZ2xlU2VsZWN0UmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIGNvbnN0IGlzTW91c2VMZWZ0QnV0dG9uID0gZXZlbnQuaXNNb3VzZUxlZnRCdXR0b24oKTtcbiAgICBpZiAoIWlzTW91c2VMZWZ0QnV0dG9uKSB7XG4gICAgICB0aGlzLmZpbmFsaXplRHJhZ1NlcXVlbmNlKCk7XG4gICAgfVxuICAgIHJldHVybiBpc01vdXNlTGVmdEJ1dHRvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KSB7XG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAucHJlcGFyZURyYWdTZXF1ZW5jZT8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBQcmVwYXJlRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvblNlbGVjdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgoeCkgPT4geC5vblNlbGVjdD8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUHJldmVudERlZmF1bHRJc0V4dGVybmFsSXRlbVJlcXVlc3QoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJNb3ZlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE9uUG9pbnRlck1vdmVSZXF1ZXN0KGV2ZW50KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJVcD8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVEcmFnVG9QYXJlbnRGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRW5kRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaW5hbGl6ZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuICB9XG59XG5cbiJdfQ==
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGdCQUFnQixFQUFFLGVBQWUsRUFDaEQsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQ3RDLEtBQUssRUFDTCxNQUFNLEVBQUUsZUFBZSxFQUVmLFFBQVEsRUFBRSxNQUFNLEVBQ3pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQ2MsK0JBQStCLEVBQ2xELGtDQUFrQyxFQUNsQyx1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQzNCLE1BQU0sUUFBUSxDQUFDO0FBQ2hCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuRixPQUFPLEVBR0wsb0NBQW9DLEVBQ3BDLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsK0JBQStCLEVBQ2hDLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLCtCQUErQixFQUMvQiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0Qiw2QkFBNkIsRUFDN0Isb0JBQW9CLEVBQStCLG1CQUFtQixFQUN2RSxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDhCQUE4QixFQUU5QixtQ0FBbUMsRUFDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxP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QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEIsV0FBVztzQkFEMUIsTUFBTTtnQkFJUyxtQkFBbUI7c0JBRGxDLE1BQU07Z0JBSVMsaUJBQWlCO3NCQURoQyxNQUFNO2dCQUlTLFlBQVk7c0JBRDNCLE1BQU07Z0JBSVMsU0FBUztzQkFEeEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLFNBQVM7c0JBRHhCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUlyQixzQkFBc0I7c0JBRHJDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRCLFlBQVk7c0JBRDNCLE1BQU07Z0JBSVMsVUFBVTtzQkFEekIsTUFBTTtnQkFJQyxPQUFPO3NCQURkLGVBQWU7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCwgYm9vbGVhbkF0dHJpYnV0ZSwgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbmplY3QsIEluamVjdG9yLFxuICBJbnB1dCxcbiAgTmdab25lLCBudW1iZXJBdHRyaWJ1dGUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3Rcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZEcmFnZ2FibGVCYXNlIH0gZnJvbSAnLi9mLWRyYWdnYWJsZS1iYXNlJztcbmltcG9ydCB7XG4gIEZEcm9wVG9Hcm91cEV2ZW50LCBOb2RlRHJhZ1RvUGFyZW50RmluYWxpemVSZXF1ZXN0LFxuICBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0LFxuICBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdCxcbiAgTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3Rcbn0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QsIENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2NhbnZhcyc7XG5pbXBvcnQge1xuICBGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQsXG4gIFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0LFxuICBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0XG59IGZyb20gJy4vY29ubmVjdGlvbnMnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBBZGREbmRUb1N0b3JlUmVxdWVzdCxcbiAgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCxcbiAgUHJlcGFyZURyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIFJlbW92ZURuZEZyb21TdG9yZVJlcXVlc3QsXG4gIEVuZERyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBPblBvaW50ZXJNb3ZlUmVxdWVzdCwgRkV2ZW50VHJpZ2dlciwgVHJpZ2dlckV2ZW50LCBkZWZhdWx0RXZlbnRUcmlnZ2VyXG59IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QsXG4gIEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdCxcbiAgRkNyZWF0ZU5vZGVFdmVudCxcbiAgUHJldmVudERlZmF1bHRJc0V4dGVybmFsSXRlbVJlcXVlc3Rcbn0gZnJvbSAnLi4vZi1leHRlcm5hbC1pdGVtJztcbmltcG9ydCB7IFNpbmdsZVNlbGVjdFJlcXVlc3QgfSBmcm9tICcuL3NpbmdsZS1zZWxlY3QnO1xuaW1wb3J0IHsgTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdCwgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1yZXNpemUnO1xuaW1wb3J0IHsgRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgSUZEcmFnQW5kRHJvcFBsdWdpbiB9IGZyb20gJy4vaS1mLWRyYWctYW5kLWRyb3AtcGx1Z2luJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlLCBFT3BlcmF0aW9uU3lzdGVtLCBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IElDYW5SdW5PdXRzaWRlQW5ndWxhciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcbmltcG9ydCB7IEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGSW5qZWN0b3IgfSBmcm9tICcuL2YtaW5qZWN0b3InO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiZi1mbG93W2ZEcmFnZ2FibGVdXCIsXG4gIGV4cG9ydEFzOiAnZkRyYWdnYWJsZSdcbn0pXG5leHBvcnQgY2xhc3MgRkRyYWdnYWJsZURpcmVjdGl2ZSBleHRlbmRzIEZEcmFnZ2FibGVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2ZQbGF0Zm9ybSA9IGluamVjdChQbGF0Zm9ybVNlcnZpY2UpO1xuICBwcml2YXRlIF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLCBhbGlhczogJ2ZEcmFnZ2FibGVEaXNhYmxlZCcgfSlcbiAgcHVibGljIG92ZXJyaWRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmTXVsdGlTZWxlY3RUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gKGV2ZW50OiBUcmlnZ2VyRXZlbnQpID0+IHtcbiAgICByZXR1cm4gKHRoaXMuX2ZQbGF0Zm9ybS5nZXRPUygpID09PSBFT3BlcmF0aW9uU3lzdGVtLk1BQ19PUykgPyBldmVudC5tZXRhS2V5IDogZXZlbnQuY3RybEtleTtcbiAgfTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZlJlYXNzaWduQ29ubmVjdGlvblRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmQ3JlYXRlQ29ubmVjdGlvblRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyA9IG5ldyBFdmVudEVtaXR0ZXI8Rk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucz4oKTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZFbWl0T25Ob2RlSW50ZXJzZWN0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ3JlYXRlTm9kZSA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZSZWFzc2lnbkNvbm5lY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVDb25uZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyb3BUb0dyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxGRHJvcFRvR3JvdXBFdmVudD4oKTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgdkNlbGxTaXplID0gMTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgaENlbGxTaXplID0gMTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZDZWxsU2l6ZVdoaWxlRHJhZ2dpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnRW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX0RSQUdfQU5EX0RST1BfUExVR0lOLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgcGx1Z2lucyE6IFF1ZXJ5TGlzdDxJRkRyYWdBbmREcm9wUGx1Z2luPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE5nWm9uZSkgQE9wdGlvbmFsKCkgbmdab25lOiBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIsXG4gICAgcHJpdmF0ZSBfZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihuZ1pvbmUpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBBZGREbmRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLnN1YnNjcmliZSh0aGlzLl9mQnJvd3Nlci5kb2N1bWVudCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyRG93bihldmVudDogSVBvaW50ZXJFdmVudCk6IGJvb2xlYW4ge1xuICAgIEZJbmplY3Rvci5zZXQodGhpcy5faW5qZWN0b3IpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25Qb2ludGVyRG93bj8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgU2luZ2xlU2VsZWN0UmVxdWVzdChldmVudCwgdGhpcy5mTXVsdGlTZWxlY3RUcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUmVhc3NpZ25Db25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZSZWFzc2lnbkNvbm5lY3Rpb25UcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mQ3JlYXRlQ29ubmVjdGlvblRyaWdnZXIpKTtcblxuICAgIGNvbnN0IGlzTW91c2VMZWZ0T3JUb3VjaCA9IGV2ZW50LmlzTW91c2VMZWZ0QnV0dG9uKCk7XG4gICAgaWYgKCFpc01vdXNlTGVmdE9yVG91Y2gpIHtcbiAgICAgIHRoaXMuZmluYWxpemVEcmFnU2VxdWVuY2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIGlzTW91c2VMZWZ0T3JUb3VjaDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KSB7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5wcmVwYXJlRHJhZ1NlcXVlbmNlPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQ2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFByZXBhcmVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKCh4KSA9PiB4Lm9uU2VsZWN0Py4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBQcmV2ZW50RGVmYXVsdElzRXh0ZXJuYWxJdGVtUmVxdWVzdChldmVudCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlck1vdmUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgT25Qb2ludGVyTW92ZVJlcXVlc3QoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJVcChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlclVwPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgTm9kZURyYWdUb1BhcmVudEZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBFbmREcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgRkluamVjdG9yLmNsZWFyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmluYWxpemVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QoKSk7XG5cbiAgICBGSW5qZWN0b3IuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuXG4gICAgRkluamVjdG9yLmNsZWFyKCk7XG4gIH1cbn1cblxuIl19
@@ -0,0 +1,19 @@
1
+ export class FInjector {
2
+ static _injector;
3
+ static set(injector) {
4
+ this._injector = injector;
5
+ }
6
+ static clear() {
7
+ this._injector = undefined;
8
+ }
9
+ static get() {
10
+ if (!this._injector) {
11
+ throw new Error('No injector available');
12
+ }
13
+ return this._injector;
14
+ }
15
+ }
16
+ export function fInject(token) {
17
+ return FInjector.get().get(token);
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1pbmplY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1pbmplY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sU0FBUztJQUVaLE1BQU0sQ0FBQyxTQUFTLENBQXVCO0lBRXhDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBa0I7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBRztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBSSxLQUFjO0lBQ3ZDLE9BQU8sU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RvciwgVHlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGNsYXNzIEZJbmplY3RvciB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luamVjdG9yOiBJbmplY3RvciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgc3RhdGljIHNldChpbmplY3RvcjogSW5qZWN0b3IpOiB2b2lkIHtcbiAgICB0aGlzLl9pbmplY3RvciA9IGluamVjdG9yO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLl9pbmplY3RvciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0KCk6IEluamVjdG9yIHtcbiAgICBpZiAoIXRoaXMuX2luamVjdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGluamVjdG9yIGF2YWlsYWJsZScpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faW5qZWN0b3I7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZJbmplY3Q8VD4odG9rZW46IFR5cGU8VD4pOiBUIHtcbiAgcmV0dXJuIEZJbmplY3Rvci5nZXQoKS5nZXQodG9rZW4pO1xufVxuIl19