@foblex/flow 17.1.1 → 17.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (532) hide show
  1. package/domain/f-connection/redraw-connections/redraw-connections.execution.d.ts +7 -7
  2. package/domain/f-connectors/find-input-at-position/find-input-at-position.execution.d.ts +3 -2
  3. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +3 -3
  4. package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +1 -0
  5. package/domain/f-draggable/providers.d.ts +1 -1
  6. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +2 -1
  7. package/domain/f-event-trigger.d.ts +4 -0
  8. package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -3
  9. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +4 -6
  10. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.d.ts +6 -0
  11. package/domain/f-selection/get-can-be-selected-items/index.d.ts +1 -1
  12. package/domain/f-selection/get-current-selection/i-current-selection.d.ts +3 -3
  13. package/domain/f-selection/providers.d.ts +1 -1
  14. package/domain/index.d.ts +1 -0
  15. package/domain/providers.d.ts +1 -1
  16. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +4 -4
  17. package/domain/update-item-and-children-layers/update-item-and-children-layers.request.d.ts +3 -3
  18. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
  19. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +3 -3
  20. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +3 -3
  21. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +42 -37
  22. package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +13 -10
  23. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +9 -9
  24. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +4 -4
  25. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +2 -2
  26. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +4 -4
  27. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +5 -1
  28. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +2 -2
  29. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +10 -3
  30. package/esm2022/domain/f-event-trigger.mjs +7 -0
  31. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +4 -4
  32. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +2 -2
  33. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +9 -12
  34. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +8 -11
  35. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +2 -0
  36. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +2 -2
  37. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +4 -4
  38. package/esm2022/domain/f-selection/get-current-selection/i-current-selection.mjs +1 -1
  39. package/esm2022/domain/f-selection/select/select.execution.mjs +4 -4
  40. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +4 -4
  41. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +3 -3
  42. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +1 -1
  43. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -2
  44. package/esm2022/domain/index.mjs +2 -1
  45. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +4 -4
  46. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +14 -14
  47. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +2 -2
  48. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +3 -3
  49. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +1 -1
  50. package/esm2022/f-backgroud/f-background.component.mjs +4 -4
  51. package/esm2022/f-canvas/f-canvas.component.mjs +13 -13
  52. package/esm2022/f-connection/common/f-connection-base.mjs +3 -3
  53. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -2
  54. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -1
  55. package/esm2022/f-connection/f-connection/f-connection.component.mjs +4 -4
  56. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +4 -4
  57. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
  58. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +4 -4
  59. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
  60. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +1 -1
  61. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
  62. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +1 -1
  63. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  64. package/esm2022/f-draggable/domain/f-drag-started-event.mjs +9 -0
  65. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +3 -3
  66. package/esm2022/f-draggable/domain/index.mjs +2 -1
  67. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
  68. package/esm2022/f-draggable/f-canvas/f-canvas.drag-handler.mjs +19 -0
  69. package/esm2022/f-draggable/f-canvas/index.mjs +5 -0
  70. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.mjs +29 -0
  71. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.request.mjs +7 -0
  72. package/esm2022/f-draggable/f-canvas/move-finalize/index.mjs +3 -0
  73. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +53 -0
  74. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.mjs +7 -0
  75. package/esm2022/f-draggable/f-canvas/move-preparation/index.mjs +3 -0
  76. package/esm2022/f-draggable/f-canvas/providers.mjs +7 -0
  77. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +61 -0
  78. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.mjs +7 -0
  79. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/index.mjs +3 -0
  80. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.mjs +40 -0
  81. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.request.mjs +9 -0
  82. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/index.mjs +3 -0
  83. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +48 -0
  84. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.mjs +9 -0
  85. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.mjs +54 -0
  86. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.request.mjs +9 -0
  87. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/index.mjs +3 -0
  88. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +49 -0
  89. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.mjs +9 -0
  90. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.mjs +3 -0
  91. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/index.mjs +6 -0
  92. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +95 -0
  93. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.event.mjs +11 -0
  94. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.mjs +47 -0
  95. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.request.mjs +7 -0
  96. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/index.mjs +3 -0
  97. package/esm2022/f-draggable/f-connection/f-create-connection/i-f-create-connection-drag-result.mjs +2 -0
  98. package/esm2022/f-draggable/f-connection/f-create-connection/index.mjs +7 -0
  99. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +105 -0
  100. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.mjs +15 -0
  101. package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.mjs +2 -0
  102. package/esm2022/f-draggable/f-connection/f-reassign-connection/index.mjs +6 -0
  103. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.execution.mjs +63 -0
  104. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.request.mjs +7 -0
  105. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/index.mjs +3 -0
  106. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.execution.mjs +72 -0
  107. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.request.mjs +9 -0
  108. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/index.mjs +3 -0
  109. package/esm2022/f-draggable/f-connection/index.mjs +4 -0
  110. package/esm2022/f-draggable/f-connection/providers.mjs +13 -0
  111. package/esm2022/f-draggable/f-drag-handler/f-drag-handler-result.mjs +20 -0
  112. package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +2 -0
  113. package/esm2022/f-draggable/f-drag-handler/index.mjs +3 -0
  114. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  115. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
  116. package/esm2022/f-draggable/f-draggable.directive.mjs +68 -32
  117. package/esm2022/f-draggable/f-injector.mjs +19 -0
  118. package/esm2022/f-draggable/f-selection-change-event.mjs +8 -8
  119. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +137 -0
  120. package/esm2022/f-draggable/f-single-select/f-single-select.request.mjs +9 -0
  121. package/esm2022/f-draggable/f-single-select/index.mjs +4 -0
  122. package/esm2022/f-draggable/f-single-select/providers.mjs +5 -0
  123. package/esm2022/f-draggable/index.mjs +6 -6
  124. package/esm2022/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.mjs +56 -0
  125. package/esm2022/f-draggable/node/connection-drag-handlers/index.mjs +5 -0
  126. package/esm2022/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.mjs +11 -0
  127. package/esm2022/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.mjs +22 -0
  128. package/esm2022/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.mjs +11 -0
  129. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +47 -45
  130. 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
  131. 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
  132. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +3 -0
  133. 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
  134. 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
  135. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +3 -0
  136. 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
  137. 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
  138. 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
  139. 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
  140. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
  141. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +2 -0
  142. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +5 -4
  143. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -5
  144. package/esm2022/f-draggable/node/index.mjs +4 -6
  145. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +7 -18
  146. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +7 -1
  147. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +6 -4
  148. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +3 -3
  149. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/index.mjs +1 -3
  150. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +13 -6
  151. package/esm2022/f-draggable/node/node-drag-to-parent.drag-handler.mjs +2 -1
  152. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +13 -9
  153. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +5 -4
  154. package/esm2022/f-draggable/node/node.drag-handler.mjs +13 -29
  155. package/esm2022/f-draggable/node/point-bounds-limiter.mjs +41 -0
  156. package/esm2022/f-draggable/node/providers.mjs +3 -3
  157. package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +41 -0
  158. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +26 -22
  159. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +1 -1
  160. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +18 -18
  161. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +1 -1
  162. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +3 -3
  163. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +8 -11
  164. package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +1 -3
  165. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +46 -34
  166. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +52 -34
  167. package/esm2022/f-draggable/node-resize/providers.mjs +3 -3
  168. package/esm2022/f-draggable/node-resize/resize-direction.mjs +5 -1
  169. package/esm2022/f-draggable/providers.mjs +4 -4
  170. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.mjs +41 -0
  171. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.request.mjs +7 -0
  172. package/esm2022/f-external-item/domain/create-placeholder/index.mjs +3 -0
  173. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.execution.mjs +52 -0
  174. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.request.mjs +7 -0
  175. package/esm2022/f-external-item/domain/create-preview/index.mjs +3 -0
  176. package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +71 -0
  177. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +62 -0
  178. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.request.mjs +7 -0
  179. package/esm2022/f-external-item/domain/finalize/index.mjs +3 -0
  180. package/esm2022/f-external-item/domain/i-f-external-item-drag-result.mjs +2 -0
  181. package/esm2022/f-external-item/domain/index.mjs +7 -4
  182. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +47 -0
  183. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.request.mjs +7 -0
  184. package/esm2022/f-external-item/domain/preparation/index.mjs +3 -0
  185. package/esm2022/f-external-item/domain/providers.mjs +9 -5
  186. package/esm2022/f-external-item/f-external-item-base.mjs +2 -3
  187. package/esm2022/f-external-item/f-external-item-placeholder.directive.mjs +26 -0
  188. package/esm2022/f-external-item/f-external-item-preview.directive.mjs +26 -0
  189. package/esm2022/f-external-item/f-external-item-token.mjs +3 -0
  190. package/esm2022/f-external-item/f-external-item.directive.mjs +25 -17
  191. package/esm2022/f-external-item/f-external-item.service.mjs +6 -6
  192. package/esm2022/f-external-item/index.mjs +6 -4
  193. package/esm2022/f-flow/f-flow.component.mjs +15 -15
  194. package/esm2022/f-flow.module.mjs +13 -17
  195. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +3 -2
  196. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +2 -2
  197. package/esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs +1 -2
  198. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +8 -1
  199. package/esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs +1 -3
  200. package/esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs +1 -2
  201. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +10 -2
  202. package/esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs +1 -3
  203. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +2 -2
  204. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +2 -2
  205. package/esm2022/f-minimap/f-minimap-view.directive.mjs +2 -2
  206. package/esm2022/f-minimap/f-minimap.component.mjs +4 -4
  207. package/esm2022/f-node/f-group.directive.mjs +16 -10
  208. package/esm2022/f-node/f-node-base.mjs +1 -1
  209. package/esm2022/f-node/f-node.directive.mjs +16 -10
  210. package/esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs +6 -2
  211. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +3 -3
  212. package/esm2022/f-selection-area/domain/providers.mjs +5 -5
  213. package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +1 -3
  214. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +14 -10
  215. package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +1 -3
  216. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +25 -23
  217. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +4 -2
  218. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +33 -29
  219. package/esm2022/f-selection-area/f-selection-area.component.mjs +11 -6
  220. package/esm2022/f-zoom/f-zoom.directive.mjs +7 -1
  221. package/esm2022/mixins/change-selection/change-selection.mjs +7 -7
  222. package/esm2022/mixins/change-selection/i-selectable.mjs +2 -0
  223. package/esm2022/mixins/change-selection/index.mjs +2 -2
  224. package/f-connection/common/f-connection-base.d.ts +5 -5
  225. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +1 -0
  226. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -0
  227. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -0
  228. package/f-draggable/domain/f-drag-started-event.d.ts +5 -0
  229. package/f-draggable/domain/index.d.ts +1 -0
  230. package/f-draggable/f-canvas/f-canvas.drag-handler.d.ts +10 -0
  231. package/f-draggable/f-canvas/index.d.ts +4 -0
  232. package/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.d.ts +10 -0
  233. package/f-draggable/{single-select/single-select.request.d.ts → f-canvas/move-finalize/f-canvas-move-finalize.request.d.ts} +1 -1
  234. package/f-draggable/f-canvas/move-finalize/index.d.ts +2 -0
  235. package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.d.ts +15 -0
  236. package/f-draggable/{canvas/canvas-move-preparation/canvas-move-preparation.request.d.ts → f-canvas/move-preparation/f-canvas-move-preparation.request.d.ts} +1 -1
  237. package/f-draggable/f-canvas/move-preparation/index.d.ts +2 -0
  238. package/f-draggable/f-canvas/providers.d.ts +3 -0
  239. package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.d.ts +19 -0
  240. package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.d.ts +5 -0
  241. package/f-draggable/f-connection/f-create-connection/create-finalize/index.d.ts +2 -0
  242. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.d.ts +12 -0
  243. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.request.d.ts +7 -0
  244. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/index.d.ts +2 -0
  245. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +15 -0
  246. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.d.ts +7 -0
  247. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.d.ts +14 -0
  248. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.request.d.ts +7 -0
  249. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/index.d.ts +2 -0
  250. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.d.ts +14 -0
  251. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.d.ts +7 -0
  252. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.d.ts +2 -0
  253. package/f-draggable/f-connection/f-create-connection/create-preparation/index.d.ts +5 -0
  254. package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +27 -0
  255. package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.d.ts +16 -0
  256. package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.request.d.ts +5 -0
  257. package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/index.d.ts +2 -0
  258. package/f-draggable/{connections/i-create-reassign-connection-drag-data.d.ts → f-connection/f-create-connection/i-f-create-connection-drag-result.d.ts} +2 -2
  259. package/f-draggable/f-connection/f-create-connection/index.d.ts +6 -0
  260. package/f-draggable/{connections/reassign-connection/reassign-connection.drag-handler.d.ts → f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts} +7 -9
  261. package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.d.ts +8 -0
  262. package/f-draggable/{connections/reassign-connection → f-connection/f-reassign-connection}/index.d.ts +2 -1
  263. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.execution.d.ts +20 -0
  264. package/f-draggable/{connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts → f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.request.d.ts} +1 -1
  265. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/index.d.ts +2 -0
  266. package/f-draggable/{connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.d.ts → f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.execution.d.ts} +5 -5
  267. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.request.d.ts +7 -0
  268. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/index.d.ts +2 -0
  269. package/f-draggable/f-connection/index.d.ts +3 -0
  270. package/f-draggable/f-connection/providers.d.ts +3 -0
  271. package/f-draggable/f-drag-handler/f-drag-handler-result.d.ts +9 -0
  272. package/f-draggable/{i-draggable-item.d.ts → f-drag-handler/i-f-drag-handler.d.ts} +3 -2
  273. package/f-draggable/f-drag-handler/index.d.ts +2 -0
  274. package/f-draggable/f-draggable-base.d.ts +6 -3
  275. package/f-draggable/f-draggable-data-context.d.ts +4 -4
  276. package/f-draggable/f-draggable.directive.d.ts +19 -5
  277. package/f-draggable/f-injector.d.ts +8 -0
  278. package/f-draggable/f-selection-change-event.d.ts +4 -4
  279. package/f-draggable/f-single-select/f-single-select.execution.d.ts +62 -0
  280. package/f-draggable/f-single-select/f-single-select.request.d.ts +7 -0
  281. package/f-draggable/f-single-select/index.d.ts +3 -0
  282. package/f-draggable/f-single-select/providers.d.ts +2 -0
  283. package/f-draggable/index.d.ts +5 -5
  284. package/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.d.ts +21 -0
  285. package/f-draggable/node/connection-drag-handlers/index.d.ts +4 -0
  286. package/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.d.ts +7 -0
  287. package/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.d.ts +10 -0
  288. package/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.d.ts +7 -0
  289. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +14 -13
  290. 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
  291. 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
  292. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +2 -0
  293. 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
  294. 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
  295. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +2 -0
  296. 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
  297. 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
  298. 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
  299. 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
  300. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.d.ts +5 -0
  301. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.d.ts +3 -0
  302. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +4 -3
  303. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -3
  304. package/f-draggable/node/index.d.ts +3 -5
  305. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -2
  306. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +5 -0
  307. package/f-draggable/node/line-alignment.drag-handler.d.ts +5 -5
  308. package/f-draggable/node/node-drag-to-parent-preparation/index.d.ts +0 -2
  309. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +1 -0
  310. package/f-draggable/node/node-drag-to-parent.drag-handler.d.ts +3 -2
  311. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +2 -0
  312. package/f-draggable/node/node.drag-handler.d.ts +9 -11
  313. package/f-draggable/node/point-bounds-limiter.d.ts +15 -0
  314. package/f-draggable/node/providers.d.ts +2 -1
  315. package/f-draggable/node/summary-node.drag-handler.d.ts +16 -0
  316. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +5 -5
  317. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +5 -4
  318. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +3 -3
  319. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +1 -3
  320. package/f-draggable/node-resize/node-resize-preparation/index.d.ts +0 -2
  321. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +13 -11
  322. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +20 -14
  323. package/f-draggable/node-resize/providers.d.ts +2 -1
  324. package/f-draggable/node-resize/resize-direction.d.ts +16 -0
  325. package/f-draggable/providers.d.ts +1 -1
  326. package/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.d.ts +13 -0
  327. package/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.request.d.ts +5 -0
  328. package/f-external-item/domain/create-placeholder/index.d.ts +2 -0
  329. package/f-external-item/domain/create-preview/f-external-item-create-preview.execution.d.ts +14 -0
  330. package/f-external-item/domain/create-preview/f-external-item-create-preview.request.d.ts +5 -0
  331. package/f-external-item/domain/create-preview/index.d.ts +2 -0
  332. package/f-external-item/domain/f-external-item.drag-handler.d.ts +24 -0
  333. package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +21 -0
  334. package/{f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.d.ts → f-external-item/domain/finalize/f-external-item-finalize.request.d.ts} +1 -1
  335. package/f-external-item/domain/finalize/index.d.ts +2 -0
  336. package/f-external-item/domain/i-f-external-item-drag-result.d.ts +5 -0
  337. package/f-external-item/domain/index.d.ts +6 -3
  338. package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +15 -0
  339. package/{f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.d.ts → f-external-item/domain/preparation/f-external-item-preparation.request.d.ts} +1 -1
  340. package/f-external-item/domain/preparation/index.d.ts +2 -0
  341. package/f-external-item/domain/providers.d.ts +5 -1
  342. package/f-external-item/f-external-item-base.d.ts +4 -2
  343. package/f-external-item/f-external-item-placeholder.directive.d.ts +10 -0
  344. package/f-external-item/f-external-item-preview.directive.d.ts +10 -0
  345. package/f-external-item/f-external-item-token.d.ts +3 -0
  346. package/f-external-item/f-external-item.directive.d.ts +9 -6
  347. package/f-external-item/f-external-item.service.d.ts +1 -1
  348. package/f-external-item/index.d.ts +5 -3
  349. package/f-flow.module.d.ts +14 -15
  350. package/f-minimap/domain/f-minimap.drag-handler.d.ts +3 -2
  351. package/f-minimap/domain/minimap-drag-finalize/index.d.ts +0 -1
  352. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -0
  353. package/f-minimap/domain/minimap-drag-finalize/providers.d.ts +1 -2
  354. package/f-minimap/domain/minimap-drag-preparation/index.d.ts +0 -1
  355. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +1 -0
  356. package/f-minimap/domain/minimap-drag-preparation/providers.d.ts +1 -2
  357. package/f-minimap/domain/providers.d.ts +1 -1
  358. package/f-node/f-node-base.d.ts +3 -3
  359. package/f-node/f-resize-handle/e-f-resize-handle-type.d.ts +6 -2
  360. package/f-selection-area/domain/providers.d.ts +3 -1
  361. package/f-selection-area/domain/selection-area-finalize/index.d.ts +0 -2
  362. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +2 -3
  363. package/f-selection-area/domain/selection-area-preparation/index.d.ts +0 -2
  364. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +6 -8
  365. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +3 -1
  366. package/f-selection-area/domain/selection-area.drag-handle.d.ts +10 -8
  367. package/f-selection-area/f-selection-area.component.d.ts +3 -1
  368. package/f-storage/providers.d.ts +1 -1
  369. package/f-zoom/f-zoom.directive.d.ts +3 -0
  370. package/fesm2022/foblex-flow.mjs +2492 -2273
  371. package/fesm2022/foblex-flow.mjs.map +1 -1
  372. package/mixins/change-selection/change-selection.d.ts +2 -2
  373. package/mixins/change-selection/i-selectable.d.ts +10 -0
  374. package/mixins/change-selection/index.d.ts +1 -1
  375. package/package.json +3 -3
  376. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected.d.ts +0 -6
  377. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected.mjs +0 -2
  378. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +0 -29
  379. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.mjs +0 -7
  380. package/esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs +0 -3
  381. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +0 -55
  382. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.mjs +0 -7
  383. package/esm2022/f-draggable/canvas/canvas-move-preparation/index.mjs +0 -3
  384. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +0 -19
  385. package/esm2022/f-draggable/canvas/index.mjs +0 -5
  386. package/esm2022/f-draggable/canvas/providers.mjs +0 -7
  387. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +0 -68
  388. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.mjs +0 -7
  389. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/index.mjs +0 -3
  390. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -47
  391. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +0 -9
  392. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +0 -3
  393. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +0 -56
  394. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +0 -7
  395. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.mjs +0 -3
  396. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +0 -41
  397. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +0 -7
  398. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -36
  399. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +0 -4
  400. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +0 -52
  401. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +0 -7
  402. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +0 -6
  403. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +0 -89
  404. package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +0 -11
  405. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +0 -44
  406. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +0 -7
  407. 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
  408. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +0 -4
  409. package/esm2022/f-draggable/connections/create-connection/index.mjs +0 -6
  410. package/esm2022/f-draggable/connections/i-create-reassign-connection-drag-data.mjs +0 -2
  411. package/esm2022/f-draggable/connections/index.mjs +0 -5
  412. package/esm2022/f-draggable/connections/providers.mjs +0 -15
  413. package/esm2022/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +0 -15
  414. package/esm2022/f-draggable/connections/reassign-connection/index.mjs +0 -5
  415. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs +0 -3
  416. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +0 -64
  417. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.mjs +0 -7
  418. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs +0 -3
  419. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +0 -72
  420. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +0 -7
  421. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +0 -102
  422. package/esm2022/f-draggable/i-draggable-item.mjs +0 -2
  423. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +0 -55
  424. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +0 -17
  425. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +0 -17
  426. package/esm2022/f-draggable/node/connection.drag-handler.mjs +0 -23
  427. 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
  428. 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
  429. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +0 -3
  430. 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
  431. 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
  432. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +0 -3
  433. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +0 -2
  434. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.mjs +0 -26
  435. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/providers.mjs +0 -7
  436. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -16
  437. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -44
  438. package/esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs +0 -7
  439. package/esm2022/f-draggable/single-select/index.mjs +0 -4
  440. package/esm2022/f-draggable/single-select/providers.mjs +0 -5
  441. package/esm2022/f-draggable/single-select/single-select.execution.mjs +0 -106
  442. package/esm2022/f-draggable/single-select/single-select.request.mjs +0 -7
  443. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +0 -68
  444. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.request.mjs +0 -7
  445. package/esm2022/f-external-item/domain/external-item-finalize/index.mjs +0 -4
  446. package/esm2022/f-external-item/domain/external-item-finalize/providers.mjs +0 -5
  447. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +0 -47
  448. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.request.mjs +0 -7
  449. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  450. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +0 -5
  451. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +0 -7
  452. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +0 -39
  453. package/esm2022/f-external-item/providers.mjs +0 -5
  454. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -26
  455. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -30
  456. package/esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs +0 -7
  457. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  458. package/esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs +0 -7
  459. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -32
  460. package/esm2022/mixins/change-selection/i-can-change-selection.mjs +0 -2
  461. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.d.ts +0 -10
  462. package/f-draggable/canvas/canvas-move-finalize/index.d.ts +0 -2
  463. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.d.ts +0 -15
  464. package/f-draggable/canvas/canvas-move-preparation/index.d.ts +0 -2
  465. package/f-draggable/canvas/canvas.drag-handler.d.ts +0 -11
  466. package/f-draggable/canvas/index.d.ts +0 -4
  467. package/f-draggable/canvas/providers.d.ts +0 -3
  468. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.d.ts +0 -23
  469. package/f-draggable/connections/create-connection/create-connection-finalize/index.d.ts +0 -2
  470. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +0 -17
  471. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +0 -7
  472. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.d.ts +0 -2
  473. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +0 -14
  474. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts +0 -5
  475. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.d.ts +0 -2
  476. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +0 -14
  477. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts +0 -5
  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/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +0 -3
  480. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +0 -16
  481. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +0 -5
  482. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +0 -28
  483. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.d.ts +0 -16
  484. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.d.ts +0 -5
  485. 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
  486. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +0 -3
  487. package/f-draggable/connections/create-connection/index.d.ts +0 -5
  488. package/f-draggable/connections/index.d.ts +0 -4
  489. package/f-draggable/connections/providers.d.ts +0 -3
  490. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.d.ts +0 -2
  491. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +0 -20
  492. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.d.ts +0 -5
  493. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.d.ts +0 -2
  494. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts +0 -5
  495. package/f-draggable/node/connection-base-drag-handler.d.ts +0 -24
  496. package/f-draggable/node/connection-source.drag-handler.d.ts +0 -11
  497. package/f-draggable/node/connection-target.drag-handler.d.ts +0 -11
  498. package/f-draggable/node/connection.drag-handler.d.ts +0 -14
  499. 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
  500. 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
  501. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +0 -2
  502. 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
  503. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +0 -2
  504. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +0 -6
  505. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.d.ts +0 -11
  506. package/f-draggable/node/node-drag-to-parent-preparation/providers.d.ts +0 -3
  507. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +0 -11
  508. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.d.ts +0 -17
  509. package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +0 -3
  510. package/f-draggable/single-select/index.d.ts +0 -3
  511. package/f-draggable/single-select/providers.d.ts +0 -2
  512. package/f-draggable/single-select/single-select.execution.d.ts +0 -28
  513. package/f-external-item/domain/external-item-finalize/external-item-finalize.execution.d.ts +0 -24
  514. package/f-external-item/domain/external-item-finalize/external-item-finalize.request.d.ts +0 -5
  515. package/f-external-item/domain/external-item-finalize/index.d.ts +0 -3
  516. package/f-external-item/domain/external-item-finalize/providers.d.ts +0 -2
  517. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +0 -19
  518. package/f-external-item/domain/external-item-preparation/external-item-preparation.request.d.ts +0 -5
  519. package/f-external-item/domain/external-item-preparation/external-item-preparation.validator.d.ts +0 -12
  520. package/f-external-item/domain/external-item-preparation/index.d.ts +0 -4
  521. package/f-external-item/domain/external-item-preparation/providers.d.ts +0 -3
  522. package/f-external-item/domain/external-item.drag-handler.d.ts +0 -17
  523. package/f-external-item/providers.d.ts +0 -2
  524. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.d.ts +0 -11
  525. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.d.ts +0 -13
  526. package/f-selection-area/domain/selection-area-finalize/providers.d.ts +0 -3
  527. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.d.ts +0 -11
  528. package/f-selection-area/domain/selection-area-preparation/providers.d.ts +0 -3
  529. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +0 -13
  530. package/mixins/change-selection/i-can-change-selection.d.ts +0 -10
  531. /package/f-draggable/{connections/create-connection → f-connection/f-create-connection}/f-create-connection.event.d.ts +0 -0
  532. /package/f-draggable/{connections/reassign-connection → f-connection/f-reassign-connection}/f-reassign-connection.event.d.ts +0 -0
@@ -1,64 +1,80 @@
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
- import { CanvasMoveFinalizeRequest, CanvasMovePreparationRequest } from './canvas';
5
- import { ReassignConnectionPreparationRequest, ReassignConnectionFinalizeRequest, CreateConnectionPreparationRequest, CreateConnectionFinalizeRequest } from './connections';
4
+ import { FCanvasMoveFinalizeRequest, FCanvasMovePreparationRequest } from './f-canvas';
5
+ import { FReassignConnectionPreparationRequest, FReassignConnectionFinalizeRequest, FCreateConnectionPreparationRequest, FCreateConnectionFinalizeRequest } from './f-connection';
6
6
  import { FMediator } from '@foblex/mediator';
7
- import { AddDndToStoreRequest, EmitSelectionChangeEventRequest, PrepareDragSequenceRequest, RemoveDndFromStoreRequest, EndDragSequenceRequest, InitializeDragSequenceRequest, OnPointerMoveRequest } from '../domain';
8
- import { ExternalItemFinalizeRequest, ExternalItemPreparationRequest, PreventDefaultIsExternalItemRequest } from '../f-external-item';
9
- import { SingleSelectRequest } from './single-select';
7
+ import { AddDndToStoreRequest, EmitSelectionChangeEventRequest, PrepareDragSequenceRequest, RemoveDndFromStoreRequest, EndDragSequenceRequest, InitializeDragSequenceRequest, OnPointerMoveRequest, defaultEventTrigger } from '../domain';
8
+ import { FExternalItemFinalizeRequest, FExternalItemPreparationRequest, PreventDefaultIsExternalItemRequest } from '../f-external-item';
9
+ import { FSingleSelectRequest } from './f-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';
14
+ import { FDragHandlerResult } from './f-drag-handler';
12
15
  import * as i0 from "@angular/core";
13
16
  import * as i1 from "@foblex/platform";
14
17
  export class FDraggableDirective extends FDraggableBase {
15
18
  _fBrowser;
16
19
  _elementReference = inject(ElementRef);
20
+ _fResult = inject(FDragHandlerResult);
17
21
  _fMediator = inject(FMediator);
22
+ _fPlatform = inject(PlatformService);
23
+ _injector = inject(Injector);
18
24
  disabled = false;
19
25
  get hostElement() {
20
26
  return this._elementReference.nativeElement;
21
27
  }
28
+ fMultiSelectTrigger = (event) => {
29
+ return (this._fPlatform.getOS() === EOperationSystem.MAC_OS) ? event.metaKey : event.ctrlKey;
30
+ };
31
+ fReassignConnectionTrigger = defaultEventTrigger;
32
+ fCreateConnectionTrigger = defaultEventTrigger;
22
33
  fSelectionChange = new EventEmitter();
23
34
  fNodeIntersectedWithConnections = new EventEmitter();
24
- emitWhenNodeIntersectedWithConnection = false;
35
+ fEmitOnNodeIntersect = false;
25
36
  fCreateNode = new EventEmitter();
26
37
  fReassignConnection = new EventEmitter();
27
38
  fCreateConnection = new EventEmitter();
28
39
  fDropToGroup = new EventEmitter();
29
40
  vCellSize = 1;
30
41
  hCellSize = 1;
42
+ fCellSizeWhileDragging = false;
43
+ fDragStarted = new EventEmitter();
44
+ fDragEnded = new EventEmitter();
31
45
  plugins;
32
46
  constructor(ngZone, _fBrowser) {
33
47
  super(ngZone);
34
48
  this._fBrowser = _fBrowser;
35
49
  }
36
50
  ngOnInit() {
37
- this._fMediator.send(new AddDndToStoreRequest(this));
51
+ this._fMediator.execute(new AddDndToStoreRequest(this));
38
52
  }
39
53
  ngAfterViewInit() {
40
54
  super.subscribe(this._fBrowser.document);
41
55
  }
42
56
  onPointerDown(event) {
57
+ FInjector.set(this._injector);
58
+ this._fResult.clear();
43
59
  this._fMediator.execute(new InitializeDragSequenceRequest());
44
60
  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) {
61
+ this._fMediator.execute(new FSingleSelectRequest(event, this.fMultiSelectTrigger));
62
+ this._fMediator.execute(new FReassignConnectionPreparationRequest(event, this.fReassignConnectionTrigger));
63
+ this._fMediator.execute(new FCreateConnectionPreparationRequest(event, this.fCreateConnectionTrigger));
64
+ const isMouseLeftOrTouch = event.isMouseLeftButton();
65
+ if (!isMouseLeftOrTouch) {
50
66
  this.finalizeDragSequence();
51
67
  }
52
- return isMouseLeftButton;
68
+ return isMouseLeftOrTouch;
53
69
  }
54
70
  prepareDragSequence(event) {
55
71
  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());
72
+ this._fMediator.execute(new NodeResizePreparationRequest(event));
73
+ this._fMediator.execute(new NodeMovePreparationRequest(event));
74
+ this._fMediator.execute(new NodeDragToParentPreparationRequest(event));
75
+ this._fMediator.execute(new FCanvasMovePreparationRequest(event));
76
+ this._fMediator.execute(new FExternalItemPreparationRequest(event));
77
+ this._fMediator.execute(new PrepareDragSequenceRequest());
62
78
  }
63
79
  onSelect(event) {
64
80
  this.plugins.forEach((x) => x.onSelect?.(event));
@@ -69,30 +85,35 @@ export class FDraggableDirective extends FDraggableBase {
69
85
  }
70
86
  onPointerUp(event) {
71
87
  this.plugins.forEach((x) => x.onPointerUp?.(event));
72
- this._fMediator.execute(new ReassignConnectionFinalizeRequest(event));
73
- this._fMediator.execute(new CreateConnectionFinalizeRequest(event));
88
+ this._fMediator.execute(new FReassignConnectionFinalizeRequest(event));
89
+ this._fMediator.execute(new FCreateConnectionFinalizeRequest(event));
74
90
  this._fMediator.execute(new NodeResizeFinalizeRequest(event));
75
91
  this._fMediator.execute(new NodeMoveFinalizeRequest(event));
76
92
  this._fMediator.execute(new NodeDragToParentFinalizeRequest(event));
77
- this._fMediator.send(new CanvasMoveFinalizeRequest(event));
78
- this._fMediator.execute(new ExternalItemFinalizeRequest(event));
93
+ this._fMediator.execute(new FCanvasMoveFinalizeRequest(event));
94
+ this._fMediator.execute(new FExternalItemFinalizeRequest(event));
79
95
  this._fMediator.execute(new EndDragSequenceRequest());
96
+ FInjector.clear();
80
97
  }
81
98
  finalizeDragSequence() {
82
99
  this._fMediator.execute(new EmitSelectionChangeEventRequest());
100
+ FInjector.clear();
101
+ this._fResult.clear();
83
102
  }
84
103
  ngOnDestroy() {
85
- this._fMediator.send(new RemoveDndFromStoreRequest());
104
+ this._fMediator.execute(new RemoveDndFromStoreRequest());
86
105
  super.unsubscribe();
106
+ FInjector.clear();
87
107
  }
88
108
  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 });
109
+ 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" }, providers: [FDragHandlerResult], queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
90
110
  }
91
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, decorators: [{
92
112
  type: Directive,
93
113
  args: [{
94
114
  selector: "f-flow[fDraggable]",
95
- exportAs: 'fDraggable'
115
+ exportAs: 'fDraggable',
116
+ providers: [FDragHandlerResult]
96
117
  }]
97
118
  }], ctorParameters: () => [{ type: undefined, decorators: [{
98
119
  type: Inject,
@@ -101,12 +122,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
101
122
  type: Optional
102
123
  }] }, { type: i1.BrowserService }], propDecorators: { disabled: [{
103
124
  type: Input,
104
- args: ['fDraggableDisabled']
125
+ args: [{ transform: booleanAttribute, alias: 'fDraggableDisabled' }]
126
+ }], fMultiSelectTrigger: [{
127
+ type: Input
128
+ }], fReassignConnectionTrigger: [{
129
+ type: Input
130
+ }], fCreateConnectionTrigger: [{
131
+ type: Input
105
132
  }], fSelectionChange: [{
106
133
  type: Output
107
134
  }], fNodeIntersectedWithConnections: [{
108
135
  type: Output
109
- }], emitWhenNodeIntersectedWithConnection: [{
136
+ }], fEmitOnNodeIntersect: [{
110
137
  type: Input,
111
138
  args: [{ transform: booleanAttribute }]
112
139
  }], fCreateNode: [{
@@ -118,11 +145,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
118
145
  }], fDropToGroup: [{
119
146
  type: Output
120
147
  }], vCellSize: [{
121
- type: Input
148
+ type: Input,
149
+ args: [{ transform: numberAttribute }]
122
150
  }], hCellSize: [{
123
- type: Input
151
+ type: Input,
152
+ args: [{ transform: numberAttribute }]
153
+ }], fCellSizeWhileDragging: [{
154
+ type: Input,
155
+ args: [{ transform: booleanAttribute }]
156
+ }], fDragStarted: [{
157
+ type: Output
158
+ }], fDragEnded: [{
159
+ type: Output
124
160
  }], plugins: [{
125
161
  type: ContentChildren,
126
162
  args: [F_DRAG_AND_DROP_PLUGIN, { descendants: true }]
127
163
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGdCQUFnQixFQUFFLGVBQWUsRUFDaEQsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFDNUIsS0FBSyxFQUNMLE1BQU0sRUFFRSxRQUFRLEVBQUUsTUFBTSxFQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUNjLCtCQUErQixFQUNsRCxrQ0FBa0MsRUFDbEMsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMzQixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkYsT0FBTyxFQUdMLG9DQUFvQyxFQUNwQyxpQ0FBaUMsRUFDakMsa0NBQWtDLEVBQ2xDLCtCQUErQixFQUNoQyxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwrQkFBK0IsRUFDL0IsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUNyQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDhCQUE4QixFQUU5QixtQ0FBbUMsRUFDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUs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O3NCQUQxQixNQUFNO2dCQUlTLG1CQUFtQjtzQkFEbEMsTUFBTTtnQkFJUyxpQkFBaUI7c0JBRGhDLE1BQU07Z0JBSVMsWUFBWTtzQkFEM0IsTUFBTTtnQkFJUyxTQUFTO3NCQUR4QixLQUFLO2dCQUlVLFNBQVM7c0JBRHhCLEtBQUs7Z0JBSUUsT0FBTztzQkFEZCxlQUFlO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsIGJvb2xlYW5BdHRyaWJ1dGUsIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgUXVlcnlMaXN0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQge1xuICBGRHJvcFRvR3JvdXBFdmVudCwgTm9kZURyYWdUb1BhcmVudEZpbmFsaXplUmVxdWVzdCxcbiAgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uUmVxdWVzdCxcbiAgTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsXG4gIE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0XG59IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0LCBDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9jYW52YXMnO1xuaW1wb3J0IHtcbiAgRkNyZWF0ZUNvbm5lY3Rpb25FdmVudCxcbiAgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50LFxuICBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsXG4gIFJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdCxcbiAgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdFxufSBmcm9tICcuL2Nvbm5lY3Rpb25zJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkRG5kVG9TdG9yZVJlcXVlc3QsXG4gIEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QsXG4gIFByZXBhcmVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBSZW1vdmVEbmRGcm9tU3RvcmVSZXF1ZXN0LFxuICBFbmREcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBJbml0aWFsaXplRHJhZ1NlcXVlbmNlUmVxdWVzdCxcbiAgT25Qb2ludGVyTW92ZVJlcXVlc3Rcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdCxcbiAgRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBGQ3JlYXRlTm9kZUV2ZW50LFxuICBQcmV2ZW50RGVmYXVsdElzRXh0ZXJuYWxJdGVtUmVxdWVzdFxufSBmcm9tICcuLi9mLWV4dGVybmFsLWl0ZW0nO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0UmVxdWVzdCB9IGZyb20gJy4vc2luZ2xlLXNlbGVjdCc7XG5pbXBvcnQgeyBOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0LCBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9ub2RlLXJlc2l6ZSc7XG5pbXBvcnQgeyBGX0RSQUdfQU5EX0RST1BfUExVR0lOLCBJRkRyYWdBbmREcm9wUGx1Z2luIH0gZnJvbSAnLi9pLWYtZHJhZy1hbmQtZHJvcC1wbHVnaW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IElDYW5SdW5PdXRzaWRlQW5ndWxhciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcbmltcG9ydCB7IEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgfSBmcm9tICcuL2RvbWFpbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJmLWZsb3dbZkRyYWdnYWJsZV1cIixcbiAgZXhwb3J0QXM6ICdmRHJhZ2dhYmxlJ1xufSlcbmV4cG9ydCBjbGFzcyBGRHJhZ2dhYmxlRGlyZWN0aXZlIGV4dGVuZHMgRkRyYWdnYWJsZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBASW5wdXQoJ2ZEcmFnZ2FibGVEaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnM+KCk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBlbWl0V2hlbk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ3JlYXRlTm9kZSA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZSZWFzc2lnbkNvbm5lY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVDb25uZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyb3BUb0dyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxGRHJvcFRvR3JvdXBFdmVudD4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgdkNlbGxTaXplID0gMTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgaENlbGxTaXplID0gMTtcblxuICBAQ29udGVudENoaWxkcmVuKEZfRFJBR19BTkRfRFJPUF9QTFVHSU4sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBwbHVnaW5zITogUXVlcnlMaXN0PElGRHJhZ0FuZERyb3BQbHVnaW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTmdab25lKSBAT3B0aW9uYWwoKSBuZ1pvbmU6IElDYW5SdW5PdXRzaWRlQW5ndWxhcixcbiAgICBwcml2YXRlIF9mQnJvd3NlcjogQnJvd3NlclNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKG5nWm9uZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEFkZERuZFRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIuc3Vic2NyaWJlKHRoaXMuX2ZCcm93c2VyLmRvY3VtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJEb3duKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25Qb2ludGVyRG93bj8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgU2luZ2xlU2VsZWN0UmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIGNvbnN0IGlzTW91c2VMZWZ0QnV0dG9uID0gZXZlbnQuaXNNb3VzZUxlZnRCdXR0b24oKTtcbiAgICBpZiAoIWlzTW91c2VMZWZ0QnV0dG9uKSB7XG4gICAgICB0aGlzLmZpbmFsaXplRHJhZ1NlcXVlbmNlKCk7XG4gICAgfVxuICAgIHJldHVybiBpc01vdXNlTGVmdEJ1dHRvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KSB7XG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAucHJlcGFyZURyYWdTZXF1ZW5jZT8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBQcmVwYXJlRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvblNlbGVjdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgoeCkgPT4geC5vblNlbGVjdD8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUHJldmVudERlZmF1bHRJc0V4dGVybmFsSXRlbVJlcXVlc3QoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJNb3ZlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE9uUG9pbnRlck1vdmVSZXF1ZXN0KGV2ZW50KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJVcD8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVEcmFnVG9QYXJlbnRGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRW5kRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaW5hbGl6ZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuICB9XG59XG5cbiJdfQ==
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGdCQUFnQixFQUFFLGVBQWUsRUFDaEQsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQ3RDLEtBQUssRUFDTCxNQUFNLEVBQUUsZUFBZSxFQUVmLFFBQVEsRUFBRSxNQUFNLEVBQ3pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQ2MsK0JBQStCLEVBQ2xELGtDQUFrQyxFQUNsQyx1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQzNCLE1BQU0sUUFBUSxDQUFDO0FBQ2hCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2RixPQUFPLEVBR0wscUNBQXFDLEVBQ3JDLGtDQUFrQyxFQUNsQyxtQ0FBbUMsRUFDbkMsZ0NBQWdDLEVBQ2pDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsK0JBQStCLEVBQy9CLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFBK0IsbUJBQW1CLEVBQ3ZFLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsK0JBQStCLEVBRS9CLG1DQUFtQyxFQUNwQyxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pE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UTtzRUF6RFgsUUFBUTtzQkFEdkIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUU7Z0JBUTVELG1CQUFtQjtzQkFEekIsS0FBSztnQkFNQywwQkFBMEI7c0JBRGhDLEtBQUs7Z0JBSUMsd0JBQXdCO3NCQUQ5QixLQUFLO2dCQUlVLGdCQUFnQjtzQkFEL0IsTUFBTTtnQkFJUywrQkFBK0I7c0JBRDlDLE1BQU07Z0JBSVMsb0JBQW9CO3NCQURuQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QixXQUFXO3NCQUQxQixNQUFNO2dCQUlTLG1CQUFtQjtzQkFEbEMsTUFBTTtnQkFJUyxpQkFBaUI7c0JBRGhDLE1BQU07Z0JBSVMsWUFBWTtzQkFEM0IsTUFBTTtnQkFJUyxTQUFTO3NCQUR4QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFJckIsU0FBUztzQkFEeEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLHNCQUFzQjtzQkFEckMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEIsWUFBWTtzQkFEM0IsTUFBTTtnQkFJUyxVQUFVO3NCQUR6QixNQUFNO2dCQUlDLE9BQU87c0JBRGQsZUFBZTt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LCBib29sZWFuQXR0cmlidXRlLCBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLCBpbmplY3QsIEluamVjdCwgSW5qZWN0b3IsXG4gIElucHV0LFxuICBOZ1pvbmUsIG51bWJlckF0dHJpYnV0ZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQsIFF1ZXJ5TGlzdFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRkRyYWdnYWJsZUJhc2UgfSBmcm9tICcuL2YtZHJhZ2dhYmxlLWJhc2UnO1xuaW1wb3J0IHtcbiAgRkRyb3BUb0dyb3VwRXZlbnQsIE5vZGVEcmFnVG9QYXJlbnRGaW5hbGl6ZVJlcXVlc3QsXG4gIE5vZGVEcmFnVG9QYXJlbnRQcmVwYXJhdGlvblJlcXVlc3QsXG4gIE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0LFxuICBOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdFxufSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHsgRkNhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QsIEZDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9mLWNhbnZhcyc7XG5pbXBvcnQge1xuICBGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQsXG4gIEZSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsXG4gIEZSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QsXG4gIEZDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBGQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdFxufSBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIEFkZERuZFRvU3RvcmVSZXF1ZXN0LFxuICBFbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnRSZXF1ZXN0LFxuICBQcmVwYXJlRHJhZ1NlcXVlbmNlUmVxdWVzdCxcbiAgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCxcbiAgRW5kRHJhZ1NlcXVlbmNlUmVxdWVzdCxcbiAgSW5pdGlhbGl6ZURyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIE9uUG9pbnRlck1vdmVSZXF1ZXN0LCBGRXZlbnRUcmlnZ2VyLCBUcmlnZ2VyRXZlbnQsIGRlZmF1bHRFdmVudFRyaWdnZXJcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEZFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QsXG4gIEZFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QsXG4gIEZDcmVhdGVOb2RlRXZlbnQsXG4gIFByZXZlbnREZWZhdWx0SXNFeHRlcm5hbEl0ZW1SZXF1ZXN0XG59IGZyb20gJy4uL2YtZXh0ZXJuYWwtaXRlbSc7XG5pbXBvcnQgeyBGU2luZ2xlU2VsZWN0UmVxdWVzdCB9IGZyb20gJy4vZi1zaW5nbGUtc2VsZWN0JztcbmltcG9ydCB7IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QsIE5vZGVSZXNpemVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL25vZGUtcmVzaXplJztcbmltcG9ydCB7IEZfRFJBR19BTkRfRFJPUF9QTFVHSU4sIElGRHJhZ0FuZERyb3BQbHVnaW4gfSBmcm9tICcuL2ktZi1kcmFnLWFuZC1kcm9wLXBsdWdpbic7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSwgRU9wZXJhdGlvblN5c3RlbSwgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIsIElQb2ludGVyRXZlbnQgfSBmcm9tICdAZm9ibGV4L2RyYWctdG9vbGtpdCc7XG5pbXBvcnQgeyBGRHJhZ1N0YXJ0ZWRFdmVudCwgRk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZJbmplY3RvciB9IGZyb20gJy4vZi1pbmplY3Rvcic7XG5pbXBvcnQgeyBGRHJhZ0hhbmRsZXJSZXN1bHQgfSBmcm9tICcuL2YtZHJhZy1oYW5kbGVyJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcImYtZmxvd1tmRHJhZ2dhYmxlXVwiLFxuICBleHBvcnRBczogJ2ZEcmFnZ2FibGUnLFxuICBwcm92aWRlcnM6IFsgRkRyYWdIYW5kbGVyUmVzdWx0IF1cbn0pXG5leHBvcnQgY2xhc3MgRkRyYWdnYWJsZURpcmVjdGl2ZSBleHRlbmRzIEZEcmFnZ2FibGVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHJpdmF0ZSBfZlJlc3VsdCA9IGluamVjdChGRHJhZ0hhbmRsZXJSZXN1bHQpO1xuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZlBsYXRmb3JtID0gaW5qZWN0KFBsYXRmb3JtU2VydmljZSk7XG4gIHByaXZhdGUgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsIGFsaWFzOiAnZkRyYWdnYWJsZURpc2FibGVkJyB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZNdWx0aVNlbGVjdFRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSAoZXZlbnQ6IFRyaWdnZXJFdmVudCkgPT4ge1xuICAgIHJldHVybiAodGhpcy5fZlBsYXRmb3JtLmdldE9TKCkgPT09IEVPcGVyYXRpb25TeXN0ZW0uTUFDX09TKSA/IGV2ZW50Lm1ldGFLZXkgOiBldmVudC5jdHJsS2V5O1xuICB9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmUmVhc3NpZ25Db25uZWN0aW9uVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZDcmVhdGVDb25uZWN0aW9uVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zID0gbmV3IEV2ZW50RW1pdHRlcjxGTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zPigpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkVtaXRPbk5vZGVJbnRlcnNlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVOb2RlID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlTm9kZUV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlJlYXNzaWduQ29ubmVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZUNvbm5lY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZDcmVhdGVDb25uZWN0aW9uRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJvcFRvR3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPEZEcm9wVG9Hcm91cEV2ZW50PigpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSB2Q2VsbFNpemUgPSAxO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBoQ2VsbFNpemUgPSAxO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNlbGxTaXplV2hpbGVEcmFnZ2luZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdTdGFydGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGRHJhZ1N0YXJ0ZWRFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnRW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX0RSQUdfQU5EX0RST1BfUExVR0lOLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgcGx1Z2lucyE6IFF1ZXJ5TGlzdDxJRkRyYWdBbmREcm9wUGx1Z2luPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE5nWm9uZSkgQE9wdGlvbmFsKCkgbmdab25lOiBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIsXG4gICAgcHJpdmF0ZSBfZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihuZ1pvbmUpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBBZGREbmRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLnN1YnNjcmliZSh0aGlzLl9mQnJvd3Nlci5kb2N1bWVudCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyRG93bihldmVudDogSVBvaW50ZXJFdmVudCk6IGJvb2xlYW4ge1xuICAgIEZJbmplY3Rvci5zZXQodGhpcy5faW5qZWN0b3IpO1xuXG4gICAgdGhpcy5fZlJlc3VsdC5jbGVhcigpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25Qb2ludGVyRG93bj8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRlNpbmdsZVNlbGVjdFJlcXVlc3QoZXZlbnQsIHRoaXMuZk11bHRpU2VsZWN0VHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZlJlYXNzaWduQ29ubmVjdGlvblRyaWdnZXIpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mQ3JlYXRlQ29ubmVjdGlvblRyaWdnZXIpKTtcblxuICAgIGNvbnN0IGlzTW91c2VMZWZ0T3JUb3VjaCA9IGV2ZW50LmlzTW91c2VMZWZ0QnV0dG9uKCk7XG4gICAgaWYgKCFpc01vdXNlTGVmdE9yVG91Y2gpIHtcbiAgICAgIHRoaXMuZmluYWxpemVEcmFnU2VxdWVuY2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIGlzTW91c2VMZWZ0T3JUb3VjaDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KSB7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5wcmVwYXJlRHJhZ1NlcXVlbmNlPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRkNhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUHJlcGFyZURyYWdTZXF1ZW5jZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25TZWxlY3QoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHgpID0+IHgub25TZWxlY3Q/LihldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFByZXZlbnREZWZhdWx0SXNFeHRlcm5hbEl0ZW1SZXF1ZXN0KGV2ZW50KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyTW92ZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBPblBvaW50ZXJNb3ZlUmVxdWVzdChldmVudCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlclVwKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHgpID0+IHgub25Qb2ludGVyVXA/LihldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVEcmFnVG9QYXJlbnRGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBFbmREcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgRkluamVjdG9yLmNsZWFyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmluYWxpemVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QoKSk7XG5cbiAgICBGSW5qZWN0b3IuY2xlYXIoKTtcblxuICAgIHRoaXMuX2ZSZXN1bHQuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuXG4gICAgRkluamVjdG9yLmNsZWFyKCk7XG4gIH1cbn1cblxuIl19
@@ -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
@@ -1,11 +1,11 @@
1
1
  export class FSelectionChangeEvent {
2
- nodes;
3
- groups;
4
- connections;
5
- constructor(nodes, groups, connections) {
6
- this.nodes = nodes;
7
- this.groups = groups;
8
- this.connections = connections;
2
+ fNodeIds;
3
+ fGroupIds;
4
+ fConnectionIds;
5
+ constructor(fNodeIds, fGroupIds, fConnectionIds) {
6
+ this.fNodeIds = fNodeIds;
7
+ this.fGroupIds = fGroupIds;
8
+ this.fConnectionIds = fConnectionIds;
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHFCQUFxQjtJQUdyQjtJQUNBO0lBQ0E7SUFIWCxZQUNXLEtBQWUsRUFDZixNQUFnQixFQUNoQixXQUFxQjtRQUZyQixVQUFLLEdBQUwsS0FBSyxDQUFVO1FBQ2YsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBVTtJQUVoQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ3VycmVudFNlbGVjdGlvbiB9IGZyb20gJy4uL2RvbWFpbic7XG5cbmV4cG9ydCBjbGFzcyBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQgaW1wbGVtZW50cyBJQ3VycmVudFNlbGVjdGlvbntcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBub2Rlczogc3RyaW5nW10sXG4gICAgICBwdWJsaWMgZ3JvdXBzOiBzdHJpbmdbXSxcbiAgICAgIHB1YmxpYyBjb25uZWN0aW9uczogc3RyaW5nW10sXG4gICkge1xuICB9XG59XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHFCQUFxQjtJQUd2QjtJQUNBO0lBQ0E7SUFIVCxZQUNTLFFBQWtCLEVBQ2xCLFNBQW1CLEVBQ25CLGNBQXdCO1FBRnhCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixtQkFBYyxHQUFkLGNBQWMsQ0FBVTtJQUVqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ3VycmVudFNlbGVjdGlvbiB9IGZyb20gJy4uL2RvbWFpbic7XG5cbmV4cG9ydCBjbGFzcyBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQgaW1wbGVtZW50cyBJQ3VycmVudFNlbGVjdGlvbiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZOb2RlSWRzOiBzdHJpbmdbXSxcbiAgICBwdWJsaWMgZkdyb3VwSWRzOiBzdHJpbmdbXSxcbiAgICBwdWJsaWMgZkNvbm5lY3Rpb25JZHM6IHN0cmluZ1tdLFxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,137 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
4
+ import { FSingleSelectRequest } from './f-single-select.request';
5
+ import { isValidEventTrigger, UpdateItemAndChildrenLayersRequest } from '../../domain';
6
+ import { FComponentsStore } from '../../f-storage';
7
+ import { FDraggableDataContext } from '../f-draggable-data-context';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * Implements the functionality for selecting elements in a graphical interface.
11
+ * This class handles both single and multi-selection, updating the selection state
12
+ * of elements and managing related data.
13
+ *
14
+ * Logic flow:
15
+ * 1. **Validate the selection event**:
16
+ * - The event is considered valid if it occurs within the flow boundaries
17
+ * and there are no active draggable data operations.
18
+ *
19
+ * 2. **Determine the target element to select**:
20
+ * - The target element is determined based on the event’s target.
21
+ * It can be a node, a group of nodes, or a connection.
22
+ * - If no element is found, the current selection state is cleared.
23
+ *
24
+ * 3. **Update element layers**:
25
+ * - If an element is found, its visual layer and the layers of its child elements are updated.
26
+ *
27
+ * 4. **Single or multi-selection**:
28
+ * - If the event meets the criteria for multi-selection (e.g., a modifier key is pressed),
29
+ * multi-selection logic is applied.
30
+ * - Otherwise, single-selection logic is used.
31
+ *
32
+ * 5. **Single-selection logic**:
33
+ * - If the element is not selected and can be selected:
34
+ * - Clear the selection of all other elements.
35
+ * - Mark the current element as selected.
36
+ * - If the element cannot be selected, the current selection is cleared.
37
+ *
38
+ * 6. **Multi-selection logic**:
39
+ * - If the element is already selected, it is removed from the selection.
40
+ * - If the element is not selected and can be selected, it is added to the selection.
41
+ *
42
+ * 7. **Manage selection state**:
43
+ * - Adding or removing an element from the selection triggers the corresponding methods.
44
+ * - Selection state is tracked in the shared context for future use.
45
+ */
46
+ let FSingleSelectExecution = class FSingleSelectExecution {
47
+ _fMediator = inject(FMediator);
48
+ _fComponentsStore = inject(FComponentsStore);
49
+ _fDraggableDataContext = inject(FDraggableDataContext);
50
+ handle(request) {
51
+ if (!this._isValid(request)) {
52
+ return;
53
+ }
54
+ const fItem = this._getItemToSelect(request.event);
55
+ setTimeout(() => this._updateItemAndChildrenLayers(fItem));
56
+ this._isMultiSelect(request) ? this._multiSelect(fItem) : this._singleSelect(fItem);
57
+ }
58
+ _isValid(request) {
59
+ return this._isEventInFlowBounds(request.event) && this._fDraggableDataContext.isEmpty();
60
+ }
61
+ _isEventInFlowBounds(event) {
62
+ return this._fComponentsStore.fFlow.hostElement.contains(event.targetElement);
63
+ }
64
+ _getItemToSelect(event) {
65
+ return this._getNodeOrGroup(event.targetElement) || this._getConnection(event.targetElement);
66
+ }
67
+ _getNodeOrGroup(targetElement) {
68
+ return this._fComponentsStore.fNodes.find((x) => (x).isContains(targetElement));
69
+ }
70
+ _getConnection(element) {
71
+ return this._fComponentsStore.fConnections
72
+ .find(c => c.isContains(element) || c.fConnectionCenter?.nativeElement?.contains(element));
73
+ }
74
+ _updateItemAndChildrenLayers(fItem) {
75
+ if (fItem) {
76
+ this._fMediator.execute(new UpdateItemAndChildrenLayersRequest(fItem, fItem.hostElement.parentElement));
77
+ }
78
+ }
79
+ _isMultiSelect(request) {
80
+ return isValidEventTrigger(request.event.originalEvent, request.fMultiSelectTrigger);
81
+ }
82
+ _singleSelect(fItem) {
83
+ if (fItem) {
84
+ if (this._isItemNotSelectedAndSelectable(fItem)) {
85
+ this._clearSelection();
86
+ this._selectItem(fItem);
87
+ }
88
+ else if (fItem.fSelectionDisabled) {
89
+ this._clearSelection();
90
+ }
91
+ }
92
+ else {
93
+ this._clearSelection();
94
+ }
95
+ }
96
+ _isItemNotSelectedAndSelectable(item) {
97
+ return !item.isSelected() && !item.fSelectionDisabled;
98
+ }
99
+ _clearSelection() {
100
+ this._fDraggableDataContext.selectedItems.forEach((x) => {
101
+ x.unmarkAsSelected();
102
+ this._fDraggableDataContext.markSelectionAsChanged();
103
+ });
104
+ this._fDraggableDataContext.selectedItems = [];
105
+ }
106
+ _multiSelect(fItem) {
107
+ if (fItem && !fItem.fSelectionDisabled) {
108
+ fItem.isSelected() ? this._deselectItem(fItem) : this._selectItem(fItem);
109
+ }
110
+ }
111
+ _deselectItem(fItem) {
112
+ this._removeItemFromSelectedItems(fItem);
113
+ fItem.unmarkAsSelected();
114
+ this._fDraggableDataContext.markSelectionAsChanged();
115
+ }
116
+ _removeItemFromSelectedItems(fItem) {
117
+ const indexInSelection = this._fDraggableDataContext.selectedItems.indexOf(fItem);
118
+ if (indexInSelection > -1) {
119
+ this._fDraggableDataContext.selectedItems.splice(indexInSelection, 1);
120
+ }
121
+ }
122
+ _selectItem(fItem) {
123
+ this._fDraggableDataContext.selectedItems.push(fItem);
124
+ fItem.markAsSelected();
125
+ this._fDraggableDataContext.markSelectionAsChanged();
126
+ }
127
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSingleSelectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
128
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSingleSelectExecution });
129
+ };
130
+ FSingleSelectExecution = __decorate([
131
+ FExecutionRegister(FSingleSelectRequest)
132
+ ], FSingleSelectExecution);
133
+ export { FSingleSelectExecution };
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSingleSelectExecution, decorators: [{
135
+ type: Injectable
136
+ }] });
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zaW5nbGUtc2VsZWN0LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1zaW5nbGUtc2VsZWN0L2Ytc2luZ2xlLXNlbGVjdC5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBSXBFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ0c7QUFJSSxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUFzQjtJQUV6QixVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRXhELE1BQU0sQ0FBQyxPQUE2QjtRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRCxVQUFVLENBQUMsR0FBRyxFQUFFLENB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Qjs7QUFBdEIsc0JBQXNCO0lBRGxDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO0dBQzVCLHNCQUFzQixDQW9HbEM7OzJGQXBHWSxzQkFBc0I7a0JBRmxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGU2luZ2xlU2VsZWN0UmVxdWVzdCB9IGZyb20gJy4vZi1zaW5nbGUtc2VsZWN0LnJlcXVlc3QnO1xuaW1wb3J0IHsgaXNWYWxpZEV2ZW50VHJpZ2dlciwgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBJUG9pbnRlckV2ZW50IH0gZnJvbSAnQGZvYmxleC9kcmFnLXRvb2xraXQnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IElTZWxlY3RhYmxlIH0gZnJvbSAnLi4vLi4vbWl4aW5zJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5cbi8qKlxuICogSW1wbGVtZW50cyB0aGUgZnVuY3Rpb25hbGl0eSBmb3Igc2VsZWN0aW5nIGVsZW1lbnRzIGluIGEgZ3JhcGhpY2FsIGludGVyZmFjZS5cbiAqIFRoaXMgY2xhc3MgaGFuZGxlcyBib3RoIHNpbmdsZSBhbmQgbXVsdGktc2VsZWN0aW9uLCB1cGRhdGluZyB0aGUgc2VsZWN0aW9uIHN0YXRlXG4gKiBvZiBlbGVtZW50cyBhbmQgbWFuYWdpbmcgcmVsYXRlZCBkYXRhLlxuICpcbiAqIExvZ2ljIGZsb3c6XG4gKiAxLiAqKlZhbGlkYXRlIHRoZSBzZWxlY3Rpb24gZXZlbnQqKjpcbiAqICAgIC0gVGhlIGV2ZW50IGlzIGNvbnNpZGVyZWQgdmFsaWQgaWYgaXQgb2NjdXJzIHdpdGhpbiB0aGUgZmxvdyBib3VuZGFyaWVzXG4gKiAgICAgIGFuZCB0aGVyZSBhcmUgbm8gYWN0aXZlIGRyYWdnYWJsZSBkYXRhIG9wZXJhdGlvbnMuXG4gKlxuICogMi4gKipEZXRlcm1pbmUgdGhlIHRhcmdldCBlbGVtZW50IHRvIHNlbGVjdCoqOlxuICogICAgLSBUaGUgdGFyZ2V0IGVsZW1lbnQgaXMgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGUgZXZlbnTigJlzIHRhcmdldC5cbiAqICAgICAgSXQgY2FuIGJlIGEgbm9kZSwgYSBncm91cCBvZiBub2Rlcywgb3IgYSBjb25uZWN0aW9uLlxuICogICAgLSBJZiBubyBlbGVtZW50IGlzIGZvdW5kLCB0aGUgY3VycmVudCBzZWxlY3Rpb24gc3RhdGUgaXMgY2xlYXJlZC5cbiAqXG4gKiAzLiAqKlVwZGF0ZSBlbGVtZW50IGxheWVycyoqOlxuICogICAgLSBJZiBhbiBlbGVtZW50IGlzIGZvdW5kLCBpdHMgdmlzdWFsIGxheWVyIGFuZCB0aGUgbGF5ZXJzIG9mIGl0cyBjaGlsZCBlbGVtZW50cyBhcmUgdXBkYXRlZC5cbiAqXG4gKiA0LiAqKlNpbmdsZSBvciBtdWx0aS1zZWxlY3Rpb24qKjpcbiAqICAgIC0gSWYgdGhlIGV2ZW50IG1lZXRzIHRoZSBjcml0ZXJpYSBmb3IgbXVsdGktc2VsZWN0aW9uIChlLmcuLCBhIG1vZGlmaWVyIGtleSBpcyBwcmVzc2VkKSxcbiAqICAgICAgbXVsdGktc2VsZWN0aW9uIGxvZ2ljIGlzIGFwcGxpZWQuXG4gKiAgICAtIE90aGVyd2lzZSwgc2luZ2xlLXNlbGVjdGlvbiBsb2dpYyBpcyB1c2VkLlxuICpcbiAqIDUuICoqU2luZ2xlLXNlbGVjdGlvbiBsb2dpYyoqOlxuICogICAgLSBJZiB0aGUgZWxlbWVudCBpcyBub3Qgc2VsZWN0ZWQgYW5kIGNhbiBiZSBzZWxlY3RlZDpcbiAqICAgICAgLSBDbGVhciB0aGUgc2VsZWN0aW9uIG9mIGFsbCBvdGhlciBlbGVtZW50cy5cbiAqICAgICAgLSBNYXJrIHRoZSBjdXJyZW50IGVsZW1lbnQgYXMgc2VsZWN0ZWQuXG4gKiAgICAtIElmIHRoZSBlbGVtZW50IGNhbm5vdCBiZSBzZWxlY3RlZCwgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIGlzIGNsZWFyZWQuXG4gKlxuICogNi4gKipNdWx0aS1zZWxlY3Rpb24gbG9naWMqKjpcbiAqICAgIC0gSWYgdGhlIGVsZW1lbnQgaXMgYWxyZWFkeSBzZWxlY3RlZCwgaXQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBzZWxlY3Rpb24uXG4gKiAgICAtIElmIHRoZSBlbGVtZW50IGlzIG5vdCBzZWxlY3RlZCBhbmQgY2FuIGJlIHNlbGVjdGVkLCBpdCBpcyBhZGRlZCB0byB0aGUgc2VsZWN0aW9uLlxuICpcbiAqIDcuICoqTWFuYWdlIHNlbGVjdGlvbiBzdGF0ZSoqOlxuICogICAgLSBBZGRpbmcgb3IgcmVtb3ZpbmcgYW4gZWxlbWVudCBmcm9tIHRoZSBzZWxlY3Rpb24gdHJpZ2dlcnMgdGhlIGNvcnJlc3BvbmRpbmcgbWV0aG9kcy5cbiAqICAgIC0gU2VsZWN0aW9uIHN0YXRlIGlzIHRyYWNrZWQgaW4gdGhlIHNoYXJlZCBjb250ZXh0IGZvciBmdXR1cmUgdXNlLlxuICovXG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRlNpbmdsZVNlbGVjdFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgRlNpbmdsZVNlbGVjdEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248RlNpbmdsZVNlbGVjdFJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBGU2luZ2xlU2VsZWN0UmVxdWVzdCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXNWYWxpZChyZXF1ZXN0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZJdGVtID0gdGhpcy5fZ2V0SXRlbVRvU2VsZWN0KHJlcXVlc3QuZXZlbnQpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl91cGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnMoZkl0ZW0pKTtcblxuICAgIHRoaXMuX2lzTXVsdGlTZWxlY3QocmVxdWVzdCkgPyB0aGlzLl9tdWx0aVNlbGVjdChmSXRlbSkgOiB0aGlzLl9zaW5nbGVTZWxlY3QoZkl0ZW0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZChyZXF1ZXN0OiBGU2luZ2xlU2VsZWN0UmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0V2ZW50SW5GbG93Qm91bmRzKHJlcXVlc3QuZXZlbnQpICYmIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5pc0VtcHR5KCk7XG4gIH1cblxuICBwcml2YXRlIF9pc0V2ZW50SW5GbG93Qm91bmRzKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldEVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SXRlbVRvU2VsZWN0KGV2ZW50OiBJUG9pbnRlckV2ZW50KTogSVNlbGVjdGFibGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9nZXROb2RlT3JHcm91cChldmVudC50YXJnZXRFbGVtZW50KSB8fCB0aGlzLl9nZXRDb25uZWN0aW9uKGV2ZW50LnRhcmdldEVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZU9yR3JvdXAodGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQpOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maW5kKCh4KSA9PiAoeCkuaXNDb250YWlucyh0YXJnZXRFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDb25uZWN0aW9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IEZDb25uZWN0aW9uQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zXG4gICAgICAuZmluZChjID0+IGMuaXNDb250YWlucyhlbGVtZW50KSB8fCBjLmZDb25uZWN0aW9uQ2VudGVyPy5uYXRpdmVFbGVtZW50Py5jb250YWlucyhlbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnMoZkl0ZW0/OiBJU2VsZWN0YWJsZSk6IHZvaWQge1xuICAgIGlmIChmSXRlbSkge1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4oXG4gICAgICAgIG5ldyBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0KGZJdGVtLCBmSXRlbS5ob3N0RWxlbWVudC5wYXJlbnRFbGVtZW50ISlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNNdWx0aVNlbGVjdChyZXF1ZXN0OiBGU2luZ2xlU2VsZWN0UmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRXZlbnRUcmlnZ2VyKHJlcXVlc3QuZXZlbnQub3JpZ2luYWxFdmVudCwgcmVxdWVzdC5mTXVsdGlTZWxlY3RUcmlnZ2VyKVxuICB9XG5cbiAgcHJpdmF0ZSBfc2luZ2xlU2VsZWN0KGZJdGVtPzogSVNlbGVjdGFibGUpOiB2b2lkIHtcbiAgICBpZiAoZkl0ZW0pIHtcbiAgICAgIGlmICh0aGlzLl9pc0l0ZW1Ob3RTZWxlY3RlZEFuZFNlbGVjdGFibGUoZkl0ZW0pKSB7XG4gICAgICAgIHRoaXMuX2NsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgIHRoaXMuX3NlbGVjdEl0ZW0oZkl0ZW0pO1xuICAgICAgfSBlbHNlIGlmIChmSXRlbS5mU2VsZWN0aW9uRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5fY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fY2xlYXJTZWxlY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc0l0ZW1Ob3RTZWxlY3RlZEFuZFNlbGVjdGFibGUoaXRlbTogSVNlbGVjdGFibGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIWl0ZW0uaXNTZWxlY3RlZCgpICYmICFpdGVtLmZTZWxlY3Rpb25EaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgX2NsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHgudW5tYXJrQXNTZWxlY3RlZCgpO1xuICAgICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm1hcmtTZWxlY3Rpb25Bc0NoYW5nZWQoKTtcbiAgICB9KTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfbXVsdGlTZWxlY3QoZkl0ZW0/OiBJU2VsZWN0YWJsZSk6IHZvaWQge1xuICAgIGlmIChmSXRlbSAmJiAhZkl0ZW0uZlNlbGVjdGlvbkRpc2FibGVkKSB7XG4gICAgICBmSXRlbS5pc1NlbGVjdGVkKCkgPyB0aGlzLl9kZXNlbGVjdEl0ZW0oZkl0ZW0pIDogdGhpcy5fc2VsZWN0SXRlbShmSXRlbSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGVzZWxlY3RJdGVtKGZJdGVtOiBJU2VsZWN0YWJsZSk6IHZvaWQge1xuICAgIHRoaXMuX3JlbW92ZUl0ZW1Gcm9tU2VsZWN0ZWRJdGVtcyhmSXRlbSk7XG4gICAgZkl0ZW0udW5tYXJrQXNTZWxlY3RlZCgpO1xuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5tYXJrU2VsZWN0aW9uQXNDaGFuZ2VkKCk7XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVJdGVtRnJvbVNlbGVjdGVkSXRlbXMoZkl0ZW06IElTZWxlY3RhYmxlKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXhJblNlbGVjdGlvbiA9IHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmluZGV4T2YoZkl0ZW0pO1xuICAgIGlmIChpbmRleEluU2VsZWN0aW9uID4gLTEpIHtcbiAgICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnNwbGljZShpbmRleEluU2VsZWN0aW9uLCAxKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3RJdGVtKGZJdGVtOiBJU2VsZWN0YWJsZSk6IHZvaWQge1xuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goZkl0ZW0pO1xuICAgIGZJdGVtLm1hcmtBc1NlbGVjdGVkKCk7XG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm1hcmtTZWxlY3Rpb25Bc0NoYW5nZWQoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,9 @@
1
+ export class FSingleSelectRequest {
2
+ event;
3
+ fMultiSelectTrigger;
4
+ constructor(event, fMultiSelectTrigger) {
5
+ this.event = event;
6
+ this.fMultiSelectTrigger = fMultiSelectTrigger;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zaW5nbGUtc2VsZWN0LnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytc2luZ2xlLXNlbGVjdC9mLXNpbmdsZS1zZWxlY3QucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sb0JBQW9CO0lBR3RCO0lBQ0E7SUFGVCxZQUNTLEtBQW9CLEVBQ3BCLG1CQUFrQztRQURsQyxVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQ3BCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBZTtJQUUzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnRlckV2ZW50IH0gZnJvbSAnQGZvYmxleC9kcmFnLXRvb2xraXQnO1xuaW1wb3J0IHsgRkV2ZW50VHJpZ2dlciB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5cbmV4cG9ydCBjbGFzcyBGU2luZ2xlU2VsZWN0UmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGV2ZW50OiBJUG9pbnRlckV2ZW50LFxuICAgIHB1YmxpYyBmTXVsdGlTZWxlY3RUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyXG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './providers';
2
+ export * from './f-single-select.execution';
3
+ export * from './f-single-select.request';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytc2luZ2xlLXNlbGVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zaW5nbGUtc2VsZWN0LmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zaW5nbGUtc2VsZWN0LnJlcXVlc3QnO1xuIl19
@@ -0,0 +1,5 @@
1
+ import { FSingleSelectExecution } from './f-single-select.execution';
2
+ export const SINGLE_SELECT_PROVIDERS = [
3
+ FSingleSelectExecution,
4
+ ];
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLXNpbmdsZS1zZWxlY3QvcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBRXJDLHNCQUFzQjtDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRlNpbmdsZVNlbGVjdEV4ZWN1dGlvbiB9IGZyb20gJy4vZi1zaW5nbGUtc2VsZWN0LmV4ZWN1dGlvbic7XG5cbmV4cG9ydCBjb25zdCBTSU5HTEVfU0VMRUNUX1BST1ZJREVSUyA9IFtcblxuICBGU2luZ2xlU2VsZWN0RXhlY3V0aW9uLFxuXTtcbiJdfQ==
@@ -1,15 +1,15 @@
1
- export * from './canvas';
2
- export * from './connections';
1
+ export * from './f-canvas';
2
+ export * from './f-drag-handler';
3
+ export * from './f-connection';
3
4
  export * from './domain';
4
- export * from '../domain/f-draggable/is-drag-started';
5
5
  export * from './node';
6
6
  export * from './node-resize';
7
- export * from './single-select';
7
+ export * from './f-single-select';
8
8
  export * from './f-draggable.directive';
9
9
  export * from './f-draggable-base';
10
10
  export * from './f-draggable-data-context';
11
+ export * from './f-injector';
11
12
  export * from './f-selection-change-event';
12
13
  export * from './i-f-drag-and-drop-plugin';
13
- export * from './i-draggable-item';
14
14
  export * from './providers';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxRQUFRLENBQUM7QUFFdkIsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZG9tYWluJztcblxuZXhwb3J0ICogZnJvbSAnLi4vZG9tYWluL2YtZHJhZ2dhYmxlL2lzLWRyYWctc3RhcnRlZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1yZXNpemUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NpbmdsZS1zZWxlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZHJhZ2dhYmxlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktZi1kcmFnLWFuZC1kcm9wLXBsdWdpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1kcmFnZ2FibGUtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuXG5cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBRTNCLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLFFBQVEsQ0FBQztBQUV2QixjQUFjLGVBQWUsQ0FBQztBQUU5QixjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsY0FBYyxDQUFDO0FBRTdCLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1jYW52YXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZHJhZy1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWNvbm5lY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2RvbWFpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1yZXNpemUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2luZ2xlLXNlbGVjdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUuZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZS1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtaW5qZWN0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2VsZWN0aW9uLWNoYW5nZS1ldmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1mLWRyYWctYW5kLWRyb3AtcGx1Z2luJztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuXG5cblxuIl19
@@ -0,0 +1,56 @@
1
+ import { PointExtensions, RoundedRect } from '@foblex/2d';
2
+ import { FMediator } from '@foblex/mediator';
3
+ import { CalculateConnectionLineByBehaviorRequest, GetConnectorAndRectRequest } from '../../../domain';
4
+ import { FComponentsStore } from '../../../f-storage';
5
+ import { fInject } from '../../f-injector';
6
+ export class BaseConnectionDragHandler {
7
+ fConnection;
8
+ _fMediator = fInject(FMediator);
9
+ _fComponentStore = fInject(FComponentsStore);
10
+ _fOutputWithRect;
11
+ _fInputWithRect;
12
+ get _fOutput() {
13
+ const result = this._fComponentStore.fOutputs.find((x) => x.fId === this.fConnection.fOutputId);
14
+ if (!result) {
15
+ throw new Error(this._connectorNotFoundPrefix(`fOutput with id ${this.fConnection.fOutputId} not found`));
16
+ }
17
+ return result;
18
+ }
19
+ get _fInput() {
20
+ const result = this._fComponentStore.fInputs.find((x) => x.fId === this.fConnection.fInputId);
21
+ if (!result) {
22
+ throw new Error(this._connectorNotFoundPrefix(`fInput with id ${this.fConnection.fInputId} not found`));
23
+ }
24
+ return result;
25
+ }
26
+ _sourceDifference = PointExtensions.initialize();
27
+ _targetDifference = PointExtensions.initialize();
28
+ constructor(fConnection) {
29
+ this.fConnection = fConnection;
30
+ this._initialize();
31
+ }
32
+ _initialize() {
33
+ this._fOutputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fOutput));
34
+ this._fInputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fInput));
35
+ }
36
+ setSourceDifference(difference) {
37
+ this._sourceDifference = difference;
38
+ }
39
+ setTargetDifference(difference) {
40
+ this._targetDifference = difference;
41
+ }
42
+ redraw() {
43
+ this._redrawConnection(this._recalculateConnection());
44
+ }
45
+ _recalculateConnection() {
46
+ return this._fMediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this._fOutputWithRect.fRect).addPoint(this._sourceDifference), RoundedRect.fromRoundedRect(this._fInputWithRect.fRect).addPoint(this._targetDifference), this.fConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, this._fInputWithRect.fConnector.fConnectableSide));
47
+ }
48
+ _redrawConnection(line) {
49
+ this.fConnection.setLine(line.point1, this._fOutputWithRect.fConnector.fConnectableSide, line.point2, this._fInputWithRect.fConnector.fConnectableSide);
50
+ this.fConnection.redraw();
51
+ }
52
+ _connectorNotFoundPrefix(message) {
53
+ return `ConnectionDragHandler Error: Connection From (fOutput)${this.fConnection.fOutputId} To (fInput)${this.fConnection.fInputId}. ${message}. Please ensure that all f-connections are associated with existing connectors`;
54
+ }
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMvYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSwwQkFBMEIsRUFBcUIsTUFBTSxpQkFBaUIsQ0FBQztBQUUxSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHM0MsTUFBTSxPQUFPLHlCQUF5QjtJQTRCM0I7SUExQkQsVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU3QyxnQkFBZ0IsQ0FBcUI7SUFDckMsZUFBZSxDQUFxQjtJQUU1QyxJQUFZLFFBQVE7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUUsQ0FBQztRQUNqRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBb0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFVLFlBQVksQ0FBQyxDQUFDLENBQUM7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IHsgSUxpbmUsIElQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0LCBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCwgSUNvbm5lY3RvckFuZFJlY3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBmSW5qZWN0IH0gZnJvbSAnLi4vLi4vZi1pbmplY3Rvcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gZkluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIF9mQ29tcG9uZW50U3RvcmUgPSBmSW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgX2ZPdXRwdXRXaXRoUmVjdCE6IElDb25uZWN0b3JBbmRSZWN0O1xuICBwcml2YXRlIF9mSW5wdXRXaXRoUmVjdCE6IElDb25uZWN0b3JBbmRSZWN0O1xuXG4gIHByaXZhdGUgZ2V0IF9mT3V0cHV0KCk6IEZDb25uZWN0b3JCYXNlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9mQ29tcG9uZW50U3RvcmUuZk91dHB1dHMuZmluZCgoeCkgPT4geC5mSWQgPT09IHRoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkKSE7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLl9jb25uZWN0b3JOb3RGb3VuZFByZWZpeChgZk91dHB1dCB3aXRoIGlkICR7IHRoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkIH0gbm90IGZvdW5kYCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2ZJbnB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZkNvbXBvbmVudFN0b3JlLmZJbnB1dHMuZmluZCgoeCkgPT4geC5mSWQgPT09IHRoaXMuZkNvbm5lY3Rpb24uZklucHV0SWQpITtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuX2Nvbm5lY3Rvck5vdEZvdW5kUHJlZml4KGBmSW5wdXQgd2l0aCBpZCAkeyB0aGlzLmZDb25uZWN0aW9uLmZJbnB1dElkIH0gbm90IGZvdW5kYCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfc291cmNlRGlmZmVyZW5jZSA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gIHByaXZhdGUgX3RhcmdldERpZmZlcmVuY2UgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgICB0aGlzLl9pbml0aWFsaXplKCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdCA9IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fZk91dHB1dCkpO1xuICAgIHRoaXMuX2ZJbnB1dFdpdGhSZWN0ID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3Q+KG5ldyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCh0aGlzLl9mSW5wdXQpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX3NvdXJjZURpZmZlcmVuY2UgPSBkaWZmZXJlbmNlO1xuICB9XG5cbiAgcHVibGljIHNldFRhcmdldERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fdGFyZ2V0RGlmZmVyZW5jZSA9IGRpZmZlcmVuY2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX3JlZHJhd0Nvbm5lY3Rpb24odGhpcy5fcmVjYWxjdWxhdGVDb25uZWN0aW9uKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVjYWxjdWxhdGVDb25uZWN0aW9uKCk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdCkuYWRkUG9pbnQodGhpcy5fc291cmNlRGlmZmVyZW5jZSksXG4gICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5fZklucHV0V2l0aFJlY3QuZlJlY3QpLmFkZFBvaW50KHRoaXMuX3RhcmdldERpZmZlcmVuY2UpLFxuICAgICAgdGhpcy5mQ29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgdGhpcy5fZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXdDb25uZWN0aW9uKGxpbmU6IElMaW5lKTogdm9pZCB7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5zZXRMaW5lKFxuICAgICAgbGluZS5wb2ludDEsIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICBsaW5lLnBvaW50MiwgdGhpcy5fZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKTtcbiAgICB0aGlzLmZDb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29ubmVjdG9yTm90Rm91bmRQcmVmaXgobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYENvbm5lY3Rpb25EcmFnSGFuZGxlciBFcnJvcjogQ29ubmVjdGlvbiBGcm9tIChmT3V0cHV0KSR7IHRoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkIH0gVG8gKGZJbnB1dCkkeyB0aGlzLmZDb25uZWN0aW9uLmZJbnB1dElkIH0uICR7IG1lc3NhZ2UgfS4gUGxlYXNlIGVuc3VyZSB0aGF0IGFsbCBmLWNvbm5lY3Rpb25zIGFyZSBhc3NvY2lhdGVkIHdpdGggZXhpc3RpbmcgY29ubmVjdG9yc2A7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './base-connection.drag-handler';
2
+ export * from './source-connection.drag-handler';
3
+ export * from './source-target-connection.drag-handler';
4
+ export * from './target-connection.drag-handler';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3NvdXJjZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vc291cmNlLXRhcmdldC1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { BaseConnectionDragHandler } from './base-connection.drag-handler';
2
+ export class SourceConnectionDragHandler extends BaseConnectionDragHandler {
3
+ constructor(fConnection) {
4
+ super(fConnection);
5
+ }
6
+ setSourceDifference(difference) {
7
+ super.setSourceDifference(difference);
8
+ this.redraw();
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycy9zb3VyY2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJM0UsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHlCQUF5QjtJQUV4RSxZQUFZLFdBQTRCO1FBQ3RDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRWUsbUJBQW1CLENBQUMsVUFBa0I7UUFDcEQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi9iYXNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcblxuZXhwb3J0IGNsYXNzIFNvdXJjZUNvbm5lY3Rpb25EcmFnSGFuZGxlciBleHRlbmRzIEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuXG4gIGNvbnN0cnVjdG9yKGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpIHtcbiAgICBzdXBlcihmQ29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpIHtcbiAgICBzdXBlci5zZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2UpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cbn1cbiJdfQ==