@foblex/flow 17.1.1 → 17.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. 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
  2. package/domain/f-connectors/providers.d.ts +1 -1
  3. package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +1 -0
  4. package/domain/f-draggable/providers.d.ts +1 -1
  5. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +1 -0
  6. package/domain/f-event-trigger.d.ts +4 -0
  7. package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -3
  8. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +4 -6
  9. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.d.ts +6 -0
  10. package/domain/f-selection/get-can-be-selected-items/index.d.ts +1 -1
  11. package/domain/f-selection/providers.d.ts +1 -1
  12. package/domain/index.d.ts +1 -0
  13. package/domain/providers.d.ts +1 -1
  14. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +4 -4
  15. package/domain/update-item-and-children-layers/update-item-and-children-layers.request.d.ts +3 -3
  16. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
  17. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +3 -3
  18. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +3 -3
  19. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +3 -3
  20. package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +2 -2
  21. 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
  22. 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
  23. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +2 -2
  24. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +3 -3
  25. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +5 -1
  26. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +2 -2
  27. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +6 -2
  28. package/esm2022/domain/f-event-trigger.mjs +7 -0
  29. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +4 -4
  30. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +2 -2
  31. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +9 -12
  32. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +8 -11
  33. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +2 -0
  34. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +2 -2
  35. package/esm2022/domain/f-selection/select/select.execution.mjs +4 -4
  36. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +4 -4
  37. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +3 -3
  38. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +1 -1
  39. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -2
  40. package/esm2022/domain/index.mjs +2 -1
  41. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +4 -4
  42. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +14 -14
  43. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +2 -2
  44. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +3 -3
  45. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +1 -1
  46. package/esm2022/f-backgroud/f-background.component.mjs +4 -4
  47. package/esm2022/f-canvas/f-canvas.component.mjs +13 -13
  48. package/esm2022/f-connection/common/f-connection-base.mjs +3 -3
  49. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -2
  50. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -1
  51. package/esm2022/f-connection/f-connection/f-connection.component.mjs +4 -4
  52. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +4 -4
  53. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
  54. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +4 -4
  55. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
  56. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +1 -1
  57. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
  58. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +1 -1
  59. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  60. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +3 -3
  61. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.mjs +40 -0
  62. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.mjs +9 -0
  63. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.mjs +3 -0
  64. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +36 -38
  65. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +4 -2
  66. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +31 -23
  67. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +4 -2
  68. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +1 -2
  69. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +8 -12
  70. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +4 -2
  71. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +2 -2
  72. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +15 -14
  73. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +27 -24
  74. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +4 -4
  75. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +1 -2
  76. package/esm2022/f-draggable/connections/providers.mjs +3 -5
  77. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +2 -2
  78. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +2 -2
  79. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +4 -2
  80. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +8 -7
  81. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +3 -3
  82. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
  83. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  84. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
  85. package/esm2022/f-draggable/f-draggable.directive.mjs +55 -24
  86. package/esm2022/f-draggable/f-injector.mjs +19 -0
  87. package/esm2022/f-draggable/index.mjs +2 -1
  88. package/esm2022/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.mjs +56 -0
  89. package/esm2022/f-draggable/node/connection-drag-handlers/index.mjs +5 -0
  90. package/esm2022/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.mjs +11 -0
  91. package/esm2022/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.mjs +22 -0
  92. package/esm2022/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.mjs +11 -0
  93. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +47 -45
  94. 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
  95. 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
  96. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +3 -0
  97. 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
  98. 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
  99. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +3 -0
  100. 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
  101. 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
  102. 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
  103. 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
  104. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
  105. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +2 -0
  106. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +5 -4
  107. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -5
  108. package/esm2022/f-draggable/node/index.mjs +4 -6
  109. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +7 -18
  110. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +7 -1
  111. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +5 -4
  112. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +3 -3
  113. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/index.mjs +1 -3
  114. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +13 -6
  115. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +13 -9
  116. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +5 -4
  117. package/esm2022/f-draggable/node/node.drag-handler.mjs +12 -29
  118. package/esm2022/f-draggable/node/point-bounds-limiter.mjs +41 -0
  119. package/esm2022/f-draggable/node/providers.mjs +3 -3
  120. package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +36 -0
  121. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +26 -22
  122. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +1 -1
  123. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +18 -18
  124. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +1 -1
  125. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +3 -3
  126. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +8 -11
  127. package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +1 -3
  128. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +46 -34
  129. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +47 -34
  130. package/esm2022/f-draggable/node-resize/providers.mjs +3 -3
  131. package/esm2022/f-draggable/node-resize/resize-direction.mjs +5 -1
  132. package/esm2022/f-draggable/single-select/single-select.execution.mjs +101 -70
  133. package/esm2022/f-draggable/single-select/single-select.request.mjs +4 -2
  134. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
  135. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +27 -27
  136. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +1 -2
  137. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +1 -3
  138. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +9 -8
  139. package/esm2022/f-flow/f-flow.component.mjs +15 -15
  140. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +2 -2
  141. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +2 -2
  142. package/esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs +1 -2
  143. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +8 -1
  144. package/esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs +1 -3
  145. package/esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs +1 -2
  146. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +10 -2
  147. package/esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs +1 -3
  148. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +2 -2
  149. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +2 -2
  150. package/esm2022/f-minimap/f-minimap-view.directive.mjs +2 -2
  151. package/esm2022/f-minimap/f-minimap.component.mjs +4 -4
  152. package/esm2022/f-node/f-group.directive.mjs +16 -10
  153. package/esm2022/f-node/f-node-base.mjs +1 -1
  154. package/esm2022/f-node/f-node.directive.mjs +16 -10
  155. package/esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs +6 -2
  156. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +3 -3
  157. package/esm2022/f-selection-area/domain/providers.mjs +5 -5
  158. package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +1 -3
  159. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +14 -10
  160. package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +1 -3
  161. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +25 -23
  162. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +4 -2
  163. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +32 -29
  164. package/esm2022/f-selection-area/f-selection-area.component.mjs +11 -6
  165. package/esm2022/mixins/change-selection/change-selection.mjs +7 -7
  166. package/esm2022/mixins/change-selection/i-selectable.mjs +2 -0
  167. package/esm2022/mixins/change-selection/index.mjs +2 -2
  168. package/f-connection/common/f-connection-base.d.ts +5 -5
  169. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +1 -0
  170. package/f-connection/providers.d.ts +1 -1
  171. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -0
  172. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -0
  173. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.d.ts +12 -0
  174. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.d.ts +7 -0
  175. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.d.ts +2 -0
  176. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +6 -6
  177. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts +3 -1
  178. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +6 -6
  179. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts +3 -1
  180. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +0 -1
  181. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +1 -2
  182. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts +3 -1
  183. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +1 -1
  184. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +3 -5
  185. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.d.ts +7 -7
  186. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.d.ts +2 -2
  187. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +0 -1
  188. package/f-draggable/connections/providers.d.ts +2 -2
  189. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts +3 -1
  190. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +2 -4
  191. package/f-draggable/f-draggable-base.d.ts +4 -1
  192. package/f-draggable/f-draggable-data-context.d.ts +2 -2
  193. package/f-draggable/f-draggable.directive.d.ts +16 -3
  194. package/f-draggable/f-injector.d.ts +8 -0
  195. package/f-draggable/index.d.ts +1 -0
  196. package/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.d.ts +21 -0
  197. package/f-draggable/node/connection-drag-handlers/index.d.ts +4 -0
  198. package/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.d.ts +7 -0
  199. package/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.d.ts +10 -0
  200. package/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.d.ts +7 -0
  201. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +14 -13
  202. 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
  203. 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
  204. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +2 -0
  205. 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
  206. 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
  207. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +2 -0
  208. 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
  209. 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
  210. 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
  211. 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
  212. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.d.ts +5 -0
  213. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.d.ts +3 -0
  214. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +4 -3
  215. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -3
  216. package/f-draggable/node/index.d.ts +3 -5
  217. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -2
  218. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +5 -0
  219. package/f-draggable/node/line-alignment.drag-handler.d.ts +2 -3
  220. package/f-draggable/node/node-drag-to-parent-preparation/index.d.ts +0 -2
  221. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +1 -0
  222. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +2 -0
  223. package/f-draggable/node/node.drag-handler.d.ts +6 -9
  224. package/f-draggable/node/point-bounds-limiter.d.ts +15 -0
  225. package/f-draggable/node/providers.d.ts +2 -1
  226. package/f-draggable/node/summary-node.drag-handler.d.ts +14 -0
  227. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +5 -5
  228. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +5 -4
  229. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +3 -3
  230. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +1 -3
  231. package/f-draggable/node-resize/node-resize-preparation/index.d.ts +0 -2
  232. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +13 -11
  233. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +16 -12
  234. package/f-draggable/node-resize/providers.d.ts +2 -1
  235. package/f-draggable/node-resize/resize-direction.d.ts +16 -0
  236. package/f-draggable/providers.d.ts +1 -1
  237. package/f-draggable/single-select/single-select.execution.d.ts +54 -20
  238. package/f-draggable/single-select/single-select.request.d.ts +3 -1
  239. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +7 -11
  240. package/f-external-item/domain/external-item-preparation/index.d.ts +0 -1
  241. package/f-external-item/domain/external-item-preparation/providers.d.ts +1 -2
  242. package/f-external-item/domain/external-item.drag-handler.d.ts +2 -3
  243. package/f-external-item/domain/providers.d.ts +1 -1
  244. package/f-minimap/domain/minimap-drag-finalize/index.d.ts +0 -1
  245. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -0
  246. package/f-minimap/domain/minimap-drag-finalize/providers.d.ts +1 -2
  247. package/f-minimap/domain/minimap-drag-preparation/index.d.ts +0 -1
  248. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +1 -0
  249. package/f-minimap/domain/minimap-drag-preparation/providers.d.ts +1 -2
  250. package/f-minimap/domain/providers.d.ts +1 -1
  251. package/f-node/f-node-base.d.ts +3 -3
  252. package/f-node/f-resize-handle/e-f-resize-handle-type.d.ts +6 -2
  253. package/f-node/providers.d.ts +1 -1
  254. package/f-selection-area/domain/providers.d.ts +3 -1
  255. package/f-selection-area/domain/selection-area-finalize/index.d.ts +0 -2
  256. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +2 -3
  257. package/f-selection-area/domain/selection-area-preparation/index.d.ts +0 -2
  258. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +6 -8
  259. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +3 -1
  260. package/f-selection-area/domain/selection-area.drag-handle.d.ts +7 -6
  261. package/f-selection-area/f-selection-area.component.d.ts +3 -1
  262. package/f-storage/providers.d.ts +1 -1
  263. package/fesm2022/foblex-flow.mjs +1160 -1156
  264. package/fesm2022/foblex-flow.mjs.map +1 -1
  265. package/mixins/change-selection/change-selection.d.ts +2 -2
  266. package/mixins/change-selection/i-selectable.d.ts +10 -0
  267. package/mixins/change-selection/index.d.ts +1 -1
  268. package/package.json +2 -2
  269. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected.d.ts +0 -6
  270. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected.mjs +0 -2
  271. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -47
  272. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +0 -9
  273. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +0 -3
  274. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -36
  275. 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
  276. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +0 -55
  277. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +0 -17
  278. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +0 -17
  279. package/esm2022/f-draggable/node/connection.drag-handler.mjs +0 -23
  280. 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
  281. 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
  282. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +0 -3
  283. 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
  284. 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
  285. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +0 -3
  286. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +0 -2
  287. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.mjs +0 -26
  288. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/providers.mjs +0 -7
  289. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -16
  290. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -44
  291. package/esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs +0 -7
  292. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  293. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -26
  294. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -30
  295. package/esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs +0 -7
  296. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  297. package/esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs +0 -7
  298. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -32
  299. package/esm2022/mixins/change-selection/i-can-change-selection.mjs +0 -2
  300. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +0 -17
  301. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +0 -7
  302. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.d.ts +0 -2
  303. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.d.ts +0 -14
  304. 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
  305. package/f-draggable/node/connection-base-drag-handler.d.ts +0 -24
  306. package/f-draggable/node/connection-source.drag-handler.d.ts +0 -11
  307. package/f-draggable/node/connection-target.drag-handler.d.ts +0 -11
  308. package/f-draggable/node/connection.drag-handler.d.ts +0 -14
  309. 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
  310. 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
  311. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +0 -2
  312. 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
  313. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +0 -2
  314. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +0 -6
  315. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.d.ts +0 -11
  316. package/f-draggable/node/node-drag-to-parent-preparation/providers.d.ts +0 -3
  317. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +0 -11
  318. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.d.ts +0 -17
  319. package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +0 -3
  320. package/f-external-item/domain/external-item-preparation/external-item-preparation.validator.d.ts +0 -12
  321. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.d.ts +0 -11
  322. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.d.ts +0 -13
  323. package/f-selection-area/domain/selection-area-finalize/providers.d.ts +0 -3
  324. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.d.ts +0 -11
  325. package/f-selection-area/domain/selection-area-preparation/providers.d.ts +0 -3
  326. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +0 -13
  327. package/mixins/change-selection/i-can-change-selection.d.ts +0 -10
@@ -1,53 +1,56 @@
1
- import { Point, RectExtensions } from '@foblex/2d';
1
+ import { Point, PointExtensions, RectExtensions } from '@foblex/2d';
2
2
  import { NotifyTransformChangedRequest } from '../../f-storage';
3
3
  import { GetCanBeSelectedItemsRequest } from '../../domain';
4
4
  export class SelectionAreaDragHandle {
5
- fComponentsStore;
6
- fSelectionArea;
7
- fDraggableDataContext;
8
- fMediator;
5
+ _fComponentsStore;
6
+ _fSelectionArea;
7
+ _fDraggableDataContext;
8
+ _fMediator;
9
9
  _canBeSelected = [];
10
10
  _selectedByMove = [];
11
- get canvasPosition() {
12
- return Point.fromPoint(this.fComponentsStore.fCanvas.transform.position)
13
- .add(this.fComponentsStore.fCanvas.transform.scaledPosition);
11
+ get _fCanvasPosition() {
12
+ return Point.fromPoint(this._fComponentsStore.fCanvas.transform.position)
13
+ .add(this._fComponentsStore.fCanvas.transform.scaledPosition);
14
14
  }
15
- constructor(fComponentsStore, fSelectionArea, fDraggableDataContext, fMediator) {
16
- this.fComponentsStore = fComponentsStore;
17
- this.fSelectionArea = fSelectionArea;
18
- this.fDraggableDataContext = fDraggableDataContext;
19
- this.fMediator = fMediator;
15
+ constructor(_fComponentsStore, _fSelectionArea, _fDraggableDataContext, _fMediator) {
16
+ this._fComponentsStore = _fComponentsStore;
17
+ this._fSelectionArea = _fSelectionArea;
18
+ this._fDraggableDataContext = _fDraggableDataContext;
19
+ this._fMediator = _fMediator;
20
20
  }
21
21
  prepareDragSequence() {
22
- this._canBeSelected = this.fMediator.send(new GetCanBeSelectedItemsRequest());
23
- this.fSelectionArea.show();
24
- this.fSelectionArea.draw(RectExtensions.initialize(this.fDraggableDataContext.onPointerDownPosition.x, this.fDraggableDataContext.onPointerDownPosition.y));
22
+ this._canBeSelected = this._fMediator.execute(new GetCanBeSelectedItemsRequest());
23
+ this._fSelectionArea.show();
24
+ this._fSelectionArea.draw(RectExtensions.initialize(this._fDraggableDataContext.onPointerDownPosition.x, this._fDraggableDataContext.onPointerDownPosition.y));
25
25
  }
26
26
  onPointerMove(difference) {
27
- const currentPoint = Point.fromPoint(difference).add(this.fDraggableDataContext.onPointerDownPosition);
28
- const x = Math.min(this.fDraggableDataContext.onPointerDownPosition.x, currentPoint.x);
29
- const y = Math.min(this.fDraggableDataContext.onPointerDownPosition.y, currentPoint.y);
27
+ const currentPoint = Point.fromPoint(difference).add(this._fDraggableDataContext.onPointerDownPosition);
28
+ const point = this._getMinimumPoint(this._fDraggableDataContext.onPointerDownPosition, currentPoint);
30
29
  const width = Math.abs(difference.x);
31
30
  const height = Math.abs(difference.y);
32
- this.fSelectionArea.draw(RectExtensions.initialize(x, y, width, height));
31
+ const fSelectionAreaRect = RectExtensions.initialize(point.x, point.y, width, height);
32
+ this._fSelectionArea.draw(fSelectionAreaRect);
33
33
  this._selectedByMove = [];
34
34
  this._canBeSelected.forEach((item) => {
35
- item.element.deselect();
36
- const itemRect = RectExtensions.addPoint(item.rect, this.canvasPosition);
37
- const isIntersect = RectExtensions.intersectionWithRect(itemRect, RectExtensions.initialize(x, y, width, height));
35
+ item.element.unmarkAsSelected();
36
+ const fItemRect = RectExtensions.addPoint(item.fRect, this._fCanvasPosition);
37
+ const isIntersect = RectExtensions.intersectionWithRect(fItemRect, fSelectionAreaRect);
38
38
  if (isIntersect) {
39
- item.element.select();
39
+ item.element.markAsSelected();
40
40
  this._selectedByMove.push(item.element);
41
41
  }
42
42
  });
43
- this.fMediator.send(new NotifyTransformChangedRequest());
43
+ this._fMediator.execute(new NotifyTransformChangedRequest());
44
+ }
45
+ _getMinimumPoint(point1, point2) {
46
+ return PointExtensions.initialize(Math.min(point1.x, point2.x), Math.min(point1.y, point2.y));
44
47
  }
45
48
  onPointerUp() {
46
- this.fSelectionArea.hide();
47
- this.fDraggableDataContext.selectedItems.push(...this._selectedByMove);
49
+ this._fSelectionArea.hide();
50
+ this._fDraggableDataContext.selectedItems.push(...this._selectedByMove);
48
51
  if (this._selectedByMove.length > 0) {
49
- this.fDraggableDataContext.isSelectedChanged = true;
52
+ this._fDraggableDataContext.isSelectedChanged = true;
50
53
  }
51
54
  }
52
55
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEuZHJhZy1oYW5kbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL3NlbGVjdGlvbi1hcmVhLmRyYWctaGFuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNELE9BQU8sRUFBb0IsNkJBQTZCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsNEJBQTRCLEVBQWtCLE1BQU0sY0FBYyxDQUFDO0FBTTVFLE1BQU0sT0FBTyx1QkFBdUI7SUFXeEI7SUFDQTtJQUNBO0lBQ0E7SUFaRixjQUFjLEdBQXFCLEVBQUUsQ0FBQztJQUN0QyxlQUFlLEdBQTBCLEVBQUUsQ0FBQztJQUVwRCxJQUFZLGNBQWM7UUFDeEIsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUN0RSxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFlBQ1UsZ0JBQWtDLEVBQ2xDLGNBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1QyxTQUFvQjtRQUhwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBRTlFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3RCLGNBQWMsQ0FBQyxVQUFVLENBQ3ZCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQ2xELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQ25ELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdkcsTUFBTSxDQUFDLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRixNQUFNLENBQUMsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9GLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN0QixjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUMvQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRXhCLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFekUsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEgsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFFaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFPLElBQUksNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIFBvaW50LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSwgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdCwgSUNhbkJlU2VsZWN0ZWQgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsIElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkFyZWFCYXNlIH0gZnJvbSAnLi4vZi1zZWxlY3Rpb24tYXJlYS1iYXNlJztcbmltcG9ydCB7IElDYW5DaGFuZ2VTZWxlY3Rpb24gfSBmcm9tICcuLi8uLi9taXhpbnMnO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uQXJlYURyYWdIYW5kbGUgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHJpdmF0ZSBfY2FuQmVTZWxlY3RlZDogSUNhbkJlU2VsZWN0ZWRbXSA9IFtdO1xuICBwcml2YXRlIF9zZWxlY3RlZEJ5TW92ZTogSUNhbkNoYW5nZVNlbGVjdGlvbltdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgY2FudmFzUG9zaXRpb24oKTogUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybS5wb3NpdGlvbilcbiAgICAgIC5hZGQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbik7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmU2VsZWN0aW9uQXJlYTogRlNlbGVjdGlvbkFyZWFCYXNlLFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jYW5CZVNlbGVjdGVkID0gdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdCgpKTtcblxuICAgIHRoaXMuZlNlbGVjdGlvbkFyZWEuc2hvdygpO1xuICAgIHRoaXMuZlNlbGVjdGlvbkFyZWEuZHJhdyhcbiAgICAgIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbi54LFxuICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24ueVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50UG9pbnQgPSBQb2ludC5mcm9tUG9pbnQoZGlmZmVyZW5jZSkuYWRkKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG4gICAgY29uc3QgeDogbnVtYmVyID0gTWF0aC5taW4odGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uLngsIGN1cnJlbnRQb2ludC54KTtcbiAgICBjb25zdCB5OiBudW1iZXIgPSBNYXRoLm1pbih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24ueSwgY3VycmVudFBvaW50LnkpO1xuXG4gICAgY29uc3Qgd2lkdGggPSBNYXRoLmFicyhkaWZmZXJlbmNlLngpO1xuICAgIGNvbnN0IGhlaWdodCA9IE1hdGguYWJzKGRpZmZlcmVuY2UueSk7XG5cbiAgICB0aGlzLmZTZWxlY3Rpb25BcmVhLmRyYXcoXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKHgsIHksIHdpZHRoLCBoZWlnaHQpXG4gICAgKTtcbiAgICB0aGlzLl9zZWxlY3RlZEJ5TW92ZSA9IFtdO1xuICAgIHRoaXMuX2NhbkJlU2VsZWN0ZWQuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5lbGVtZW50LmRlc2VsZWN0KCk7XG5cbiAgICAgIGNvbnN0IGl0ZW1SZWN0ID0gUmVjdEV4dGVuc2lvbnMuYWRkUG9pbnQoaXRlbS5yZWN0LCB0aGlzLmNhbnZhc1Bvc2l0aW9uKTtcblxuICAgICAgY29uc3QgaXNJbnRlcnNlY3QgPSBSZWN0RXh0ZW5zaW9ucy5pbnRlcnNlY3Rpb25XaXRoUmVjdChpdGVtUmVjdCwgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7XG4gICAgICBpZiAoaXNJbnRlcnNlY3QpIHtcblxuICAgICAgICBpdGVtLmVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkQnlNb3ZlLnB1c2goaXRlbS5lbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmZTZWxlY3Rpb25BcmVhLmhpZGUoKTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goLi4udGhpcy5fc2VsZWN0ZWRCeU1vdmUpO1xuICAgIGlmICh0aGlzLl9zZWxlY3RlZEJ5TW92ZS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5pc1NlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEuZHJhZy1oYW5kbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL3NlbGVjdGlvbi1hcmVhLmRyYWctaGFuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxLQUFLLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RSxPQUFPLEVBQW9CLDZCQUE2QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEYsT0FBTyxFQUFFLDRCQUE0QixFQUFnQyxNQUFNLGNBQWMsQ0FBQztBQU0xRixNQUFNLE9BQU8sdUJBQXVCO0lBV3hCO0lBQ0E7SUFDQTtJQUNBO0lBWkYsY0FBYyxHQUFtQyxFQUFFLENBQUM7SUFDcEQsZUFBZSxHQUFrQixFQUFFLENBQUM7SUFFNUMsSUFBWSxnQkFBZ0I7UUFDMUIsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUN2RSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFlBQ1UsaUJBQW1DLEVBQ25DLGVBQW1DLEVBQ25DLHNCQUE2QyxFQUM3QyxVQUFxQjtRQUhyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUNuQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBQzdDLGVBQVUsR0FBVixVQUFVLENBQVc7SUFFL0IsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBRWxGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQ3ZCLGNBQWMsQ0FBQyxVQUFVLENBQ3ZCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQ25ELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQ3BELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFeEcsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxxQkFBcUIsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVyRyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0QyxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV0RixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBRWhDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUU3RSxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFDdkYsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFFaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFPLElBQUksNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsTUFBYztRQUNyRCxPQUFPLGVBQWUsQ0FBQyxVQUFVLENBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQzdCLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSwgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdCwgSUNhbkJlU2VsZWN0ZWRFbGVtZW50QW5kUmVjdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCwgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQXJlYUJhc2UgfSBmcm9tICcuLi9mLXNlbGVjdGlvbi1hcmVhLWJhc2UnO1xuaW1wb3J0IHsgSVNlbGVjdGFibGUgfSBmcm9tICcuLi8uLi9taXhpbnMnO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uQXJlYURyYWdIYW5kbGUgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHJpdmF0ZSBfY2FuQmVTZWxlY3RlZDogSUNhbkJlU2VsZWN0ZWRFbGVtZW50QW5kUmVjdFtdID0gW107XG4gIHByaXZhdGUgX3NlbGVjdGVkQnlNb3ZlOiBJU2VsZWN0YWJsZVtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgX2ZDYW52YXNQb3NpdGlvbigpOiBJUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQodGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm0ucG9zaXRpb24pXG4gICAgICAuYWRkKHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBfZlNlbGVjdGlvbkFyZWE6IEZTZWxlY3Rpb25BcmVhQmFzZSxcbiAgICBwcml2YXRlIF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICBwcml2YXRlIF9mTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jYW5CZVNlbGVjdGVkID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IEdldENhbkJlU2VsZWN0ZWRJdGVtc1JlcXVlc3QoKSk7XG5cbiAgICB0aGlzLl9mU2VsZWN0aW9uQXJlYS5zaG93KCk7XG4gICAgdGhpcy5fZlNlbGVjdGlvbkFyZWEuZHJhdyhcbiAgICAgIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24ueCxcbiAgICAgICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbi55XG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRQb2ludCA9IFBvaW50LmZyb21Qb2ludChkaWZmZXJlbmNlKS5hZGQodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG5cbiAgICBjb25zdCBwb2ludCA9IHRoaXMuX2dldE1pbmltdW1Qb2ludCh0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uLCBjdXJyZW50UG9pbnQpO1xuXG4gICAgY29uc3Qgd2lkdGggPSBNYXRoLmFicyhkaWZmZXJlbmNlLngpO1xuICAgIGNvbnN0IGhlaWdodCA9IE1hdGguYWJzKGRpZmZlcmVuY2UueSk7XG5cbiAgICBjb25zdCBmU2VsZWN0aW9uQXJlYVJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKHBvaW50LngsIHBvaW50LnksIHdpZHRoLCBoZWlnaHQpO1xuXG4gICAgdGhpcy5fZlNlbGVjdGlvbkFyZWEuZHJhdyhmU2VsZWN0aW9uQXJlYVJlY3QpO1xuICAgIHRoaXMuX3NlbGVjdGVkQnlNb3ZlID0gW107XG4gICAgdGhpcy5fY2FuQmVTZWxlY3RlZC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmVsZW1lbnQudW5tYXJrQXNTZWxlY3RlZCgpO1xuXG4gICAgICBjb25zdCBmSXRlbVJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5hZGRQb2ludChpdGVtLmZSZWN0LCB0aGlzLl9mQ2FudmFzUG9zaXRpb24pO1xuXG4gICAgICBjb25zdCBpc0ludGVyc2VjdCA9IFJlY3RFeHRlbnNpb25zLmludGVyc2VjdGlvbldpdGhSZWN0KGZJdGVtUmVjdCwgZlNlbGVjdGlvbkFyZWFSZWN0KTtcbiAgICAgIGlmIChpc0ludGVyc2VjdCkge1xuXG4gICAgICAgIGl0ZW0uZWxlbWVudC5tYXJrQXNTZWxlY3RlZCgpO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEJ5TW92ZS5wdXNoKGl0ZW0uZWxlbWVudCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vdGlmeVRyYW5zZm9ybUNoYW5nZWRSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TWluaW11bVBvaW50KHBvaW50MTogSVBvaW50LCBwb2ludDI6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgTWF0aC5taW4ocG9pbnQxLngsIHBvaW50Mi54KSxcbiAgICAgIE1hdGgubWluKHBvaW50MS55LCBwb2ludDIueSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZTZWxlY3Rpb25BcmVhLmhpZGUoKTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5wdXNoKC4uLnRoaXMuX3NlbGVjdGVkQnlNb3ZlKTtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRCeU1vdmUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, ElementRef, inject } from '@angular/core';
1
+ import { Component, ElementRef, inject, Input } from '@angular/core';
2
2
  import { FSelectionAreaBase } from './f-selection-area-base';
3
3
  import { F_DRAG_AND_DROP_PLUGIN } from '../f-draggable';
4
4
  import { FMediator } from '@foblex/mediator';
@@ -7,6 +7,9 @@ import * as i0 from "@angular/core";
7
7
  export class FSelectionAreaComponent extends FSelectionAreaBase {
8
8
  _fMediator = inject(FMediator);
9
9
  _elementReference = inject(ElementRef);
10
+ fTrigger = (event) => {
11
+ return event.shiftKey;
12
+ };
10
13
  get hostElement() {
11
14
  return this._elementReference.nativeElement;
12
15
  }
@@ -27,13 +30,13 @@ export class FSelectionAreaComponent extends FSelectionAreaBase {
27
30
  style.height = object.height + 'px';
28
31
  }
29
32
  onPointerDown(event) {
30
- this._fMediator.send(new SelectionAreaPreparationRequest(event, this));
33
+ this._fMediator.execute(new SelectionAreaPreparationRequest(event, this, this.fTrigger));
31
34
  }
32
35
  onPointerUp(event) {
33
- this._fMediator.send(new SelectionAreaFinalizeRequest(event));
36
+ this._fMediator.execute(new SelectionAreaFinalizeRequest(event));
34
37
  }
35
38
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FSelectionAreaComponent, selector: "f-selection-area", host: { classAttribute: "f-selection-area f-component" }, providers: [
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FSelectionAreaComponent, selector: "f-selection-area", inputs: { fTrigger: "fTrigger" }, host: { classAttribute: "f-selection-area f-component" }, providers: [
37
40
  { provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FSelectionAreaComponent },
38
41
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [":host{position:absolute}\n"] });
39
42
  }
@@ -44,5 +47,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
44
47
  }, providers: [
45
48
  { provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FSelectionAreaComponent },
46
49
  ], styles: [":host{position:absolute}\n"] }]
47
- }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBdUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLCtCQUErQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQWF6RixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBRXJELFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRS9DLElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBRWUsSUFBSTtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFZSxJQUFJO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0MsQ0FBQztJQUVlLElBQUksQ0FBQyxNQUFhO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDN0IsS0FBSyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUM1QixLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDdEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLCtCQUErQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBb0I7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7dUdBbkNVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLHFHQUp2QjtZQUNULEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtTQUMxRSxpREFQUyxFQUFFOzsyRkFTRCx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCLEVBQUUsUUFFTjt3QkFDSixPQUFPLEVBQUUsOEJBQThCO3FCQUN4QyxhQUNVO3dCQUNULEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7cUJBQzFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkFyZWFCYXNlIH0gZnJvbSAnLi9mLXNlbGVjdGlvbi1hcmVhLWJhc2UnO1xuaW1wb3J0IHsgRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgSUZEcmFnQW5kRHJvcFBsdWdpbiB9IGZyb20gJy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICdAZm9ibGV4L2RyYWctdG9vbGtpdCc7XG5pbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBTZWxlY3Rpb25BcmVhRmluYWxpemVSZXF1ZXN0LCBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1zZWxlY3Rpb24tYXJlYVwiLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlVXJsczogWyAnLi9mLXNlbGVjdGlvbi1hcmVhLmNvbXBvbmVudC5zY3NzJyBdLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2Ytc2VsZWN0aW9uLWFyZWEgZi1jb21wb25lbnQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgdXNlRXhpc3Rpbmc6IEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50IH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50IGV4dGVuZHMgRlNlbGVjdGlvbkFyZWFCYXNlIGltcGxlbWVudHMgT25Jbml0LCBJRkRyYWdBbmREcm9wUGx1Z2luICB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRyYXcob2JqZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5ob3N0RWxlbWVudC5zdHlsZTtcbiAgICBzdHlsZS5sZWZ0ID0gb2JqZWN0LnggKyAncHgnO1xuICAgIHN0eWxlLnRvcCA9IG9iamVjdC55ICsgJ3B4JztcbiAgICBzdHlsZS53aWR0aCA9IG9iamVjdC53aWR0aCArICdweCc7XG4gICAgc3R5bGUuaGVpZ2h0ID0gb2JqZWN0LmhlaWdodCArICdweCc7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyRG93bihldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kKG5ldyBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZChuZXcgU2VsZWN0aW9uQXJlYUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuICB9XG59XG4iXX0=
50
+ }], propDecorators: { fTrigger: [{
51
+ type: Input
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFjekYsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGtCQUFrQjtJQUVyRCxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUd4QyxRQUFRLEdBQWtCLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQ3ZELE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUN4QixDQUFDLENBQUM7SUFFRixJQUFvQixXQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUMsQ0FBQztJQUVlLElBQUk7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBRWUsSUFBSTtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNDLENBQUM7SUFFZSxJQUFJLENBQUMsTUFBYTtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNyQyxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzdCLEtBQUssQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDNUIsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBb0I7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7dUdBeENVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLHVJQUp2QjtZQUNULEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtTQUMxRSxpREFQUyxFQUFFOzsyRkFTRCx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCLEVBQUUsUUFFTjt3QkFDSixPQUFPLEVBQUUsOEJBQThCO3FCQUN4QyxhQUNVO3dCQUNULEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7cUJBQzFFOzhCQVFNLFFBQVE7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQXJlYUJhc2UgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWFyZWEtYmFzZSc7XG5pbXBvcnQgeyBGX0RSQUdfQU5EX0RST1BfUExVR0lOLCBJRkRyYWdBbmREcm9wUGx1Z2luIH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcbmltcG9ydCB7IElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IFNlbGVjdGlvbkFyZWFGaW5hbGl6ZVJlcXVlc3QsIFNlbGVjdGlvbkFyZWFQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGRXZlbnRUcmlnZ2VyLCBUcmlnZ2VyRXZlbnQgfSBmcm9tICcuLi9kb21haW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1zZWxlY3Rpb24tYXJlYVwiLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlVXJsczogWyAnLi9mLXNlbGVjdGlvbi1hcmVhLmNvbXBvbmVudC5zY3NzJyBdLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2Ytc2VsZWN0aW9uLWFyZWEgZi1jb21wb25lbnQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgdXNlRXhpc3Rpbmc6IEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50IH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50IGV4dGVuZHMgRlNlbGVjdGlvbkFyZWFCYXNlIGltcGxlbWVudHMgT25Jbml0LCBJRkRyYWdBbmREcm9wUGx1Z2luICB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gKGV2ZW50OiBUcmlnZ2VyRXZlbnQpID0+IHtcbiAgICByZXR1cm4gZXZlbnQuc2hpZnRLZXk7XG4gIH07XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRyYXcob2JqZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5ob3N0RWxlbWVudC5zdHlsZTtcbiAgICBzdHlsZS5sZWZ0ID0gb2JqZWN0LnggKyAncHgnO1xuICAgIHN0eWxlLnRvcCA9IG9iamVjdC55ICsgJ3B4JztcbiAgICBzdHlsZS53aWR0aCA9IG9iamVjdC53aWR0aCArICdweCc7XG4gICAgc3R5bGUuaGVpZ2h0ID0gb2JqZWN0LmhlaWdodCArICdweCc7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyRG93bihldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLCB0aGlzLmZUcmlnZ2VyKSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgU2VsZWN0aW9uQXJlYUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuICB9XG59XG4iXX0=
@@ -3,12 +3,12 @@ export function mixinChangeSelection(base) {
3
3
  return class extends base {
4
4
  fId = '';
5
5
  fSelectionDisabled = false;
6
- deselect() {
7
- this.deselectChild?.();
6
+ unmarkAsSelected() {
7
+ this.unmarkChildrenAsSelected?.();
8
8
  this.hostElement.classList.remove(F_SELECTED_CLASS);
9
9
  }
10
- select() {
11
- this.selectChild?.();
10
+ markAsSelected() {
11
+ this.markChildrenAsSelected?.();
12
12
  if (!this.isSelected()) {
13
13
  this.hostElement.classList.add(F_SELECTED_CLASS);
14
14
  }
@@ -16,13 +16,13 @@ export function mixinChangeSelection(base) {
16
16
  isSelected() {
17
17
  return this.hostElement.classList.contains(F_SELECTED_CLASS);
18
18
  }
19
- selectChild() {
19
+ markChildrenAsSelected() {
20
20
  }
21
- deselectChild() {
21
+ unmarkChildrenAsSelected() {
22
22
  }
23
23
  constructor(...args) {
24
24
  super(...args);
25
25
  }
26
26
  };
27
27
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXNlbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbWl4aW5zL2NoYW5nZS1zZWxlY3Rpb24vY2hhbmdlLXNlbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7QUFLN0MsTUFBTSxVQUFVLG9CQUFvQixDQUF5QyxJQUFPO0lBQ2xGLE9BQU8sS0FBTSxTQUFRLElBQUk7UUFFaEIsR0FBRyxHQUFXLEVBQUUsQ0FBQztRQUVqQixrQkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFcEMsUUFBUTtZQUNiLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFTSxNQUFNO1lBQ1gsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNuRCxDQUFDO1FBQ0gsQ0FBQztRQUVNLFVBQVU7WUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFTSxXQUFXO1FBQ2xCLENBQUM7UUFFTSxhQUFhO1FBQ3BCLENBQUM7UUFFRCxZQUFZLEdBQUcsSUFBVztZQUN4QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNqQixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnN0cnVjdG9yLCBDb25zdHJ1Y3RvciB9IGZyb20gJy4uL2NvbnN0cnVjdG9yJztcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ktaGFzLWhvc3QtZWxlbWVudCc7XG5pbXBvcnQgeyBJQ2FuQ2hhbmdlU2VsZWN0aW9uIH0gZnJvbSAnLi9pLWNhbi1jaGFuZ2Utc2VsZWN0aW9uJztcblxuZXhwb3J0IGNvbnN0IEZfU0VMRUNURURfQ0xBU1MgPSAnZi1zZWxlY3RlZCc7XG5cbnR5cGUgQ2FuQ2hhbmdlU2VsZWN0aW9uQ29uc3RydWN0b3IgPSBDb25zdHJ1Y3RvcjxJQ2FuQ2hhbmdlU2VsZWN0aW9uPiAmIEFic3RyYWN0Q29uc3RydWN0b3I8SUNhbkNoYW5nZVNlbGVjdGlvbj47XG5cbmV4cG9ydCBmdW5jdGlvbiBtaXhpbkNoYW5nZVNlbGVjdGlvbjxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxJSGFzSG9zdEVsZW1lbnQ+PihiYXNlOiBUKTogQ2FuQ2hhbmdlU2VsZWN0aW9uQ29uc3RydWN0b3IgJiBUO1xuZXhwb3J0IGZ1bmN0aW9uIG1peGluQ2hhbmdlU2VsZWN0aW9uPFQgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxJSGFzSG9zdEVsZW1lbnQ+PihiYXNlOiBUKTogQ2FuQ2hhbmdlU2VsZWN0aW9uQ29uc3RydWN0b3IgJiBUIHtcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgYmFzZSB7XG5cbiAgICBwdWJsaWMgZklkOiBzdHJpbmcgPSAnJztcblxuICAgIHB1YmxpYyBmU2VsZWN0aW9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuZGVzZWxlY3RDaGlsZD8uKCk7XG4gICAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuc2VsZWN0Q2hpbGQ/LigpO1xuICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQoKSkge1xuICAgICAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdENoaWxkKCk6IHZvaWQge1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlbGVjdENoaWxkKCk6IHZvaWQge1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICB9XG4gIH07XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXNlbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbWl4aW5zL2NoYW5nZS1zZWxlY3Rpb24vY2hhbmdlLXNlbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7QUFLN0MsTUFBTSxVQUFVLG9CQUFvQixDQUF5QyxJQUFPO0lBQ2xGLE9BQU8sS0FBTSxTQUFRLElBQUk7UUFFaEIsR0FBRyxHQUFXLEVBQUUsQ0FBQztRQUVqQixrQkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFcEMsZ0JBQWdCO1lBQ3JCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVNLGNBQWM7WUFDbkIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDO1FBRU0sVUFBVTtZQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUVNLHNCQUFzQjtRQUM3QixDQUFDO1FBRU0sd0JBQXdCO1FBQy9CLENBQUM7UUFFRCxZQUFZLEdBQUcsSUFBVztZQUN4QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNqQixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnN0cnVjdG9yLCBDb25zdHJ1Y3RvciB9IGZyb20gJy4uL2NvbnN0cnVjdG9yJztcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ktaGFzLWhvc3QtZWxlbWVudCc7XG5pbXBvcnQgeyBJU2VsZWN0YWJsZSB9IGZyb20gJy4vaS1zZWxlY3RhYmxlJztcblxuZXhwb3J0IGNvbnN0IEZfU0VMRUNURURfQ0xBU1MgPSAnZi1zZWxlY3RlZCc7XG5cbnR5cGUgQ2FuQ2hhbmdlU2VsZWN0aW9uQ29uc3RydWN0b3IgPSBDb25zdHJ1Y3RvcjxJU2VsZWN0YWJsZT4gJiBBYnN0cmFjdENvbnN0cnVjdG9yPElTZWxlY3RhYmxlPjtcblxuZXhwb3J0IGZ1bmN0aW9uIG1peGluQ2hhbmdlU2VsZWN0aW9uPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPElIYXNIb3N0RWxlbWVudD4+KGJhc2U6IFQpOiBDYW5DaGFuZ2VTZWxlY3Rpb25Db25zdHJ1Y3RvciAmIFQ7XG5leHBvcnQgZnVuY3Rpb24gbWl4aW5DaGFuZ2VTZWxlY3Rpb248VCBleHRlbmRzIENvbnN0cnVjdG9yPElIYXNIb3N0RWxlbWVudD4+KGJhc2U6IFQpOiBDYW5DaGFuZ2VTZWxlY3Rpb25Db25zdHJ1Y3RvciAmIFQge1xuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBiYXNlIHtcblxuICAgIHB1YmxpYyBmSWQ6IHN0cmluZyA9ICcnO1xuXG4gICAgcHVibGljIGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIHVubWFya0FzU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgICB0aGlzLnVubWFya0NoaWxkcmVuQXNTZWxlY3RlZD8uKCk7XG4gICAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gICAgfVxuXG4gICAgcHVibGljIG1hcmtBc1NlbGVjdGVkKCk6IHZvaWQge1xuICAgICAgdGhpcy5tYXJrQ2hpbGRyZW5Bc1NlbGVjdGVkPy4oKTtcbiAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKCkpIHtcbiAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QuYWRkKEZfU0VMRUNURURfQ0xBU1MpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKEZfU0VMRUNURURfQ0xBU1MpO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXJrQ2hpbGRyZW5Bc1NlbGVjdGVkKCk6IHZvaWQge1xuICAgIH1cblxuICAgIHB1YmxpYyB1bm1hcmtDaGlsZHJlbkFzU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1zZWxlY3RhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9taXhpbnMvY2hhbmdlLXNlbGVjdGlvbi9pLXNlbGVjdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVNlbGVjdGFibGUge1xuXG4gIGZJZDogc3RyaW5nO1xuXG4gIGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbjtcblxuICBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuXG4gIG1hcmtBc1NlbGVjdGVkKCk6IHZvaWQ7XG5cbiAgdW5tYXJrQXNTZWxlY3RlZCgpOiB2b2lkO1xuXG4gIGlzU2VsZWN0ZWQoKTogYm9vbGVhbjtcblxuICBtYXJrQ2hpbGRyZW5Bc1NlbGVjdGVkPygpOiB2b2lkO1xuXG4gIHVubWFya0NoaWxkcmVuQXNTZWxlY3RlZD8oKTogdm9pZDtcbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  export * from './change-selection';
2
- export * from './i-can-change-selection';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL21peGlucy9jaGFuZ2Utc2VsZWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhbmdlLXNlbGVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1jYW4tY2hhbmdlLXNlbGVjdGlvbic7XG4iXX0=
2
+ export * from './i-selectable';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL21peGlucy9jaGFuZ2Utc2VsZWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhbmdlLXNlbGVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1zZWxlY3RhYmxlJztcbiJdfQ==
@@ -13,14 +13,14 @@ import { IConnectionText } from './f-connection-text';
13
13
  import { EFConnectableSide } from '../../f-connectors';
14
14
  import { FConnectionFactory } from '../f-connection-builder';
15
15
  import { IHasHostElement } from '../../i-has-host-element';
16
- import { ICanChangeSelection, ICanChangeVisibility } from '../../mixins';
16
+ import { ISelectable, ICanChangeVisibility } from '../../mixins';
17
17
  import * as i0 from "@angular/core";
18
- declare const MIXIN_BASE: import("../../mixins").Constructor<ICanChangeSelection> & import("../../mixins").AbstractConstructor<ICanChangeSelection> & import("../../mixins").Constructor<ICanChangeVisibility> & import("../../mixins").AbstractConstructor<ICanChangeVisibility> & {
18
+ declare const MIXIN_BASE: import("../../mixins").Constructor<ISelectable> & import("../../mixins").AbstractConstructor<ISelectable> & import("../../mixins").Constructor<ICanChangeVisibility> & import("../../mixins").AbstractConstructor<ICanChangeVisibility> & {
19
19
  new (hostElement: HTMLElement): {
20
20
  hostElement: HTMLElement;
21
21
  };
22
22
  };
23
- export declare abstract class FConnectionBase extends MIXIN_BASE implements IHasHostElement, ICanChangeSelection, ICanChangeVisibility, IHasConnectionColor, IHasConnectionFromTo, IHasConnectionText {
23
+ export declare abstract class FConnectionBase extends MIXIN_BASE implements IHasHostElement, ISelectable, ICanChangeVisibility, IHasConnectionColor, IHasConnectionFromTo, IHasConnectionText {
24
24
  private cFactory;
25
25
  abstract fId: string;
26
26
  abstract fStartColor: string;
@@ -52,8 +52,8 @@ export declare abstract class FConnectionBase extends MIXIN_BASE implements IHas
52
52
  setLine(source: IPoint, sourceSide: EFConnectableSide, target: IPoint, targetSide: EFConnectableSide): void;
53
53
  private getPathResult;
54
54
  private getTransform;
55
- selectChild(): void;
56
- deselectChild(): void;
55
+ markChildrenAsSelected(): void;
56
+ unmarkChildrenAsSelected(): void;
57
57
  redraw(): void;
58
58
  static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionBase, never>;
59
59
  static ɵdir: i0.ɵɵDirectiveDeclaration<FConnectionBase, never, never, {}, {}, never, never, false, never>;
@@ -15,6 +15,7 @@ export declare class FConnectionTextPathDirective implements IHasHostElement, On
15
15
  constructor(elementReference: ElementRef<SVGTextPathElement>, base: IHasConnectionText & IHasConnectionFromTo, fBrowser: BrowserService);
16
16
  ngOnInit(): void;
17
17
  getBBox(): DOMRect;
18
+ redraw(): void;
18
19
  private getFontStyles;
19
20
  private getSymbolWidth;
20
21
  static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionTextPathDirective, never>;
@@ -4,4 +4,4 @@ import { FConnectionCenterDirective } from './f-connection-center';
4
4
  import { FConnectionForCreateComponent } from './f-connection-for-create';
5
5
  import { FMarkerDirective } from './f-marker';
6
6
  import { FSnapConnectionComponent } from './f-snap-connection';
7
- export declare const F_CONNECTION_PROVIDERS: (typeof FConnectionTextComponent | typeof FConnectionTextPathDirective | typeof FConnectionDragHandleComponent | typeof FConnectionGradientComponent | typeof FConnectionPathComponent | typeof FConnectionSelectionComponent | typeof FConnectionComponent | typeof FConnectionCenterDirective | typeof FConnectionForCreateComponent | typeof FMarkerDirective | typeof FSnapConnectionComponent)[];
7
+ export declare const F_CONNECTION_PROVIDERS: (typeof FConnectionTextPathDirective | typeof FConnectionTextComponent | typeof FSnapConnectionComponent | typeof FConnectionDragHandleComponent | typeof FConnectionSelectionComponent | typeof FConnectionCenterDirective | typeof FConnectionComponent | typeof FConnectionForCreateComponent | typeof FMarkerDirective | typeof FConnectionGradientComponent | typeof FConnectionPathComponent)[];
@@ -6,6 +6,7 @@ export declare abstract class FNodeOutletBase extends FConnectorBase {
6
6
  abstract isConnectionFromOutlet: boolean;
7
7
  private outputs;
8
8
  get canBeConnected(): boolean;
9
+ abstract canBeConnectedInputs: string[];
9
10
  setOutputs(outputs: FConnectorBase[]): void;
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FNodeOutletBase, never>;
11
12
  static ɵdir: i0.ɵɵDirectiveDeclaration<FNodeOutletBase, never, never, {}, {}, never, never, false, never>;
@@ -5,6 +5,7 @@ export declare const F_NODE_OUTPUT: InjectionToken<FNodeOutputBase>;
5
5
  export declare abstract class FNodeOutputBase extends FConnectorBase {
6
6
  abstract multiple: boolean;
7
7
  get canBeConnected(): boolean;
8
+ abstract canBeConnectedInputs: string[];
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<FNodeOutputBase, never>;
9
10
  static ɵdir: i0.ɵɵDirectiveDeclaration<FNodeOutputBase, never, never, {}, {}, never, never, false, never>;
10
11
  }
@@ -0,0 +1,12 @@
1
+ import { IHandler } from '@foblex/mediator';
2
+ import { CreateConnectionDragHandlerPreparationRequest } from './create-connection-drag-handler-preparation.request';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CreateConnectionDragHandlerPreparationExecution implements IHandler<CreateConnectionDragHandlerPreparationRequest, void> {
5
+ private _fComponentsStore;
6
+ private _fDraggableDataContext;
7
+ private get _fHost();
8
+ private get _transform();
9
+ handle(request: CreateConnectionDragHandlerPreparationRequest): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<CreateConnectionDragHandlerPreparationExecution, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<CreateConnectionDragHandlerPreparationExecution>;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { IPoint } from '@foblex/2d';
2
+ import { FNodeOutletBase, FNodeOutputBase } from '../../../../../f-connectors';
3
+ export declare class CreateConnectionDragHandlerPreparationRequest {
4
+ onPointerDownPosition: IPoint;
5
+ fOutputOrOutlet: FNodeOutputBase | FNodeOutletBase;
6
+ constructor(onPointerDownPosition: IPoint, fOutputOrOutlet: FNodeOutputBase | FNodeOutletBase);
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './create-connection-drag-handler-preparation.execution';
2
+ export * from './create-connection-drag-handler-preparation.request';
@@ -1,14 +1,14 @@
1
1
  import { IHandler } from '@foblex/mediator';
2
2
  import { CreateConnectionFromOutletPreparationRequest } from './create-connection-from-outlet-preparation.request';
3
- import { FComponentsStore } from '../../../../../f-storage';
4
- import { FMediator } from '@foblex/mediator';
5
3
  import * as i0 from "@angular/core";
6
4
  export declare class CreateConnectionFromOutletPreparationExecution implements IHandler<CreateConnectionFromOutletPreparationRequest, void> {
7
- private fComponentsStore;
8
- private fMediator;
9
- constructor(fComponentsStore: FComponentsStore, fMediator: FMediator);
5
+ private _fMediator;
6
+ private _fComponentsStore;
10
7
  handle(request: CreateConnectionFromOutletPreparationRequest): void;
11
- private createDragHandler;
8
+ private _getNodeOutlet;
9
+ private _getNodeOutputs;
10
+ private _createDragHandler;
11
+ private _getConnectableOutput;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<CreateConnectionFromOutletPreparationExecution, never>;
13
13
  static ɵprov: i0.ɵɵInjectableDeclaration<CreateConnectionFromOutletPreparationExecution>;
14
14
  }
@@ -1,5 +1,7 @@
1
1
  import { IPointerEvent } from '@foblex/drag-toolkit';
2
+ import { FNodeBase } from '../../../../../f-node';
2
3
  export declare class CreateConnectionFromOutletPreparationRequest {
3
4
  event: IPointerEvent;
4
- constructor(event: IPointerEvent);
5
+ fNode: FNodeBase;
6
+ constructor(event: IPointerEvent, fNode: FNodeBase);
5
7
  }
@@ -1,14 +1,14 @@
1
1
  import { IHandler } from '@foblex/mediator';
2
2
  import { CreateConnectionFromOutputPreparationRequest } from './create-connection-from-output-preparation.request';
3
- import { FComponentsStore } from '../../../../../f-storage';
4
- import { FMediator } from '@foblex/mediator';
5
3
  import * as i0 from "@angular/core";
6
4
  export declare class CreateConnectionFromOutputPreparationExecution implements IHandler<CreateConnectionFromOutputPreparationRequest, void> {
7
- private fComponentsStore;
8
- private fMediator;
9
- constructor(fComponentsStore: FComponentsStore, fMediator: FMediator);
5
+ private _fMediator;
6
+ private _fComponentsStore;
10
7
  handle(request: CreateConnectionFromOutputPreparationRequest): void;
11
- private createDragHandler;
8
+ private _isValid;
9
+ private _isNodeOutput;
10
+ private _getNodeOutlets;
11
+ private _getOutput;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<CreateConnectionFromOutputPreparationExecution, never>;
13
13
  static ɵprov: i0.ɵɵInjectableDeclaration<CreateConnectionFromOutputPreparationExecution>;
14
14
  }
@@ -1,5 +1,7 @@
1
1
  import { IPointerEvent } from '@foblex/drag-toolkit';
2
+ import { FNodeBase } from '../../../../../f-node';
2
3
  export declare class CreateConnectionFromOutputPreparationRequest {
3
4
  event: IPointerEvent;
4
- constructor(event: IPointerEvent);
5
+ fNode: FNodeBase;
6
+ constructor(event: IPointerEvent, fNode: FNodeBase);
5
7
  }
@@ -1,3 +1,2 @@
1
1
  export * from './create-connection-from-output-preparation.execution';
2
2
  export * from './create-connection-from-output-preparation.request';
3
- export * from './create-connection-from-output-preparation.validator';
@@ -5,12 +5,11 @@ export declare class CreateConnectionPreparationExecution implements IHandler<Cr
5
5
  private _fMediator;
6
6
  private _fComponentsStore;
7
7
  private _fDraggableDataContext;
8
+ private _fNode;
8
9
  handle(request: CreateConnectionPreparationRequest): void;
9
10
  private _isValid;
10
11
  private _getNode;
11
12
  private _isValidConditions;
12
- private _isNodeOutput;
13
- private _getOutlets;
14
13
  static ɵfac: i0.ɵɵFactoryDeclaration<CreateConnectionPreparationExecution, never>;
15
14
  static ɵprov: i0.ɵɵInjectableDeclaration<CreateConnectionPreparationExecution>;
16
15
  }
@@ -1,5 +1,7 @@
1
1
  import { IPointerEvent } from '@foblex/drag-toolkit';
2
+ import { FEventTrigger } from '../../../../domain';
2
3
  export declare class CreateConnectionPreparationRequest {
3
4
  event: IPointerEvent;
4
- constructor(event: IPointerEvent);
5
+ fTrigger: FEventTrigger;
6
+ constructor(event: IPointerEvent, fTrigger: FEventTrigger);
5
7
  }
@@ -1,4 +1,4 @@
1
- export * from './create-connection-drag-handler';
1
+ export * from './create-connection-drag-handler-preparation';
2
2
  export * from './create-connection-from-outlet-preparation';
3
3
  export * from './create-connection-from-output-preparation';
4
4
  export * from './create-connection-preparation.execution';
@@ -1,19 +1,17 @@
1
1
  import { IDraggableItem } from '../../i-draggable-item';
2
- import { FNodeOutletDirective, FNodeOutputDirective } from '../../../f-connectors';
3
- import { FMediator } from '@foblex/mediator';
2
+ import { FNodeOutletBase, FNodeOutputBase } from '../../../f-connectors';
4
3
  import { IPoint } from '@foblex/2d';
5
- import { FComponentsStore } from '../../../f-storage';
6
4
  import { ICreateReassignConnectionDragData } from '../i-create-reassign-connection-drag-data';
7
5
  export declare class CreateConnectionDragHandler implements IDraggableItem<ICreateReassignConnectionDragData> {
6
+ private _fOutputOrOutlet;
8
7
  private _fMediator;
9
8
  private _fComponentsStore;
10
- private _fOutput;
11
9
  private readonly _toConnectorRect;
12
10
  private get _fConnection();
13
11
  private get _fSnapConnection();
14
12
  private _fOutputWithRect;
15
13
  private _canBeConnectedInputs;
16
- constructor(_fMediator: FMediator, _fComponentsStore: FComponentsStore, _fOutput: FNodeOutputDirective | FNodeOutletDirective, _onPointerDownPosition: IPoint);
14
+ constructor(_fOutputOrOutlet: FNodeOutputBase | FNodeOutletBase, _onPointerDownPosition: IPoint);
17
15
  prepareDragSequence(): void;
18
16
  private _getAndMarkCanBeConnectedInputs;
19
17
  private _initializeSnapConnection;
@@ -1,16 +1,16 @@
1
1
  import { IHandler } from '@foblex/mediator';
2
- import { FComponentsStore } from '../../../../f-storage';
3
2
  import { FConnectorBase } from '../../../../f-connectors';
4
3
  import { GetCanBeConnectedOutputByOutletRequest } from './get-can-be-connected-output-by-outlet.request';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class GetCanBeConnectedOutputByOutletExecution implements IHandler<GetCanBeConnectedOutputByOutletRequest, FConnectorBase | undefined> {
7
- private fComponentsStore;
8
- private get fNodes();
9
- private get fOutputs();
10
- constructor(fComponentsStore: FComponentsStore);
6
+ private _fComponentStore;
7
+ private get _fNodes();
8
+ private get _fOutputs();
9
+ private _fNode;
11
10
  handle(request: GetCanBeConnectedOutputByOutletRequest): FConnectorBase | undefined;
12
- private getConnectableOutputs;
13
- private getNode;
11
+ private _isValid;
12
+ private _getNode;
13
+ private _getConnectableOutputs;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<GetCanBeConnectedOutputByOutletExecution, never>;
15
15
  static ɵprov: i0.ɵɵInjectableDeclaration<GetCanBeConnectedOutputByOutletExecution>;
16
16
  }
@@ -1,5 +1,5 @@
1
1
  import { FNodeOutletBase } from '../../../../f-connectors';
2
2
  export declare class GetCanBeConnectedOutputByOutletRequest {
3
- outlet: FNodeOutletBase;
4
- constructor(outlet: FNodeOutletBase);
3
+ fOutlet: FNodeOutletBase;
4
+ constructor(fOutlet: FNodeOutletBase);
5
5
  }
@@ -1,3 +1,2 @@
1
1
  export * from './get-can-be-connected-output-by-outlet.execution';
2
2
  export * from './get-can-be-connected-output-by-outlet.request';
3
- export * from './get-can-be-connected-output-by-outlet.validator';
@@ -1,3 +1,3 @@
1
- import { CreateConnectionDragHandlerExecution, CreateConnectionFinalizeExecution, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationValidator, CreateConnectionPreparationExecution, GetCanBeConnectedOutputByOutletExecution, GetCanBeConnectedOutputByOutletValidator } from './create-connection';
1
+ import { CreateConnectionDragHandlerPreparationExecution, CreateConnectionFinalizeExecution, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutputPreparationExecution, CreateConnectionPreparationExecution, GetCanBeConnectedOutputByOutletExecution } from './create-connection';
2
2
  import { ReassignConnectionFinalizeExecution, ReassignConnectionPreparationExecution } from './reassign-connection';
3
- export declare const CONNECTIONS_PROVIDERS: (typeof CreateConnectionFinalizeExecution | typeof CreateConnectionDragHandlerExecution | typeof CreateConnectionFromOutletPreparationExecution | typeof GetCanBeConnectedOutputByOutletExecution | typeof GetCanBeConnectedOutputByOutletValidator | typeof CreateConnectionFromOutputPreparationExecution | typeof CreateConnectionFromOutputPreparationValidator | typeof CreateConnectionPreparationExecution | typeof ReassignConnectionFinalizeExecution | typeof ReassignConnectionPreparationExecution)[];
3
+ export declare const CONNECTIONS_PROVIDERS: (typeof CreateConnectionFinalizeExecution | typeof CreateConnectionDragHandlerPreparationExecution | typeof CreateConnectionFromOutletPreparationExecution | typeof GetCanBeConnectedOutputByOutletExecution | typeof CreateConnectionFromOutputPreparationExecution | typeof CreateConnectionPreparationExecution | typeof ReassignConnectionFinalizeExecution | typeof ReassignConnectionPreparationExecution)[];
@@ -1,5 +1,7 @@
1
1
  import { IPointerEvent } from '@foblex/drag-toolkit';
2
+ import { FEventTrigger } from '../../../../domain';
2
3
  export declare class ReassignConnectionPreparationRequest {
3
4
  event: IPointerEvent;
4
- constructor(event: IPointerEvent);
5
+ fTrigger: FEventTrigger;
6
+ constructor(event: IPointerEvent, fTrigger: FEventTrigger);
5
7
  }
@@ -1,13 +1,11 @@
1
1
  import { IDraggableItem } from '../../i-draggable-item';
2
2
  import { FConnectionBase } from '../../../f-connection';
3
- import { FMediator } from '@foblex/mediator';
4
3
  import { IPoint } from '@foblex/2d';
5
- import { FComponentsStore } from '../../../f-storage';
6
4
  import { ICreateReassignConnectionDragData } from '../i-create-reassign-connection-drag-data';
7
5
  export declare class ReassignConnectionDragHandler implements IDraggableItem<ICreateReassignConnectionDragData> {
6
+ private _fConnection;
8
7
  private _fMediator;
9
8
  private _fComponentsStore;
10
- private _fConnection;
11
9
  private readonly _toConnectorRect;
12
10
  private get _fSnapConnection();
13
11
  private _fOutputWithRect;
@@ -15,7 +13,7 @@ export declare class ReassignConnectionDragHandler implements IDraggableItem<ICr
15
13
  private _canBeConnectedInputs;
16
14
  private get _fOutput();
17
15
  private get _fInput();
18
- constructor(_fMediator: FMediator, _fComponentsStore: FComponentsStore, _fConnection: FConnectionBase);
16
+ constructor(_fConnection: FConnectionBase);
19
17
  prepareDragSequence(): void;
20
18
  private _getAndMarkCanBeConnectedInputs;
21
19
  private _initializeSnapConnection;
@@ -9,13 +9,16 @@ import * as i0 from "@angular/core";
9
9
  export declare abstract class FDraggableBase extends DragAndDropBase {
10
10
  abstract fSelectionChange: EventEmitter<FSelectionChangeEvent>;
11
11
  abstract fNodeIntersectedWithConnections: EventEmitter<FNodeIntersectedWithConnections>;
12
- abstract emitWhenNodeIntersectedWithConnection: boolean;
12
+ abstract fEmitOnNodeIntersect: boolean;
13
13
  abstract fCreateNode: EventEmitter<FCreateNodeEvent>;
14
14
  abstract fReassignConnection: EventEmitter<FReassignConnectionEvent>;
15
15
  abstract fCreateConnection: EventEmitter<FCreateConnectionEvent>;
16
16
  abstract fDropToGroup: EventEmitter<FDropToGroupEvent>;
17
17
  abstract vCellSize: number;
18
18
  abstract hCellSize: number;
19
+ abstract fCellSizeWhileDragging: boolean;
20
+ abstract fDragStarted: EventEmitter<void>;
21
+ abstract fDragEnded: EventEmitter<void>;
19
22
  protected constructor(ngZone: ICanRunOutsideAngular | undefined);
20
23
  static ɵfac: i0.ɵɵFactoryDeclaration<FDraggableBase, never>;
21
24
  static ɵdir: i0.ɵɵDirectiveDeclaration<FDraggableBase, never, never, {}, {}, never, never, false, never>;
@@ -1,9 +1,9 @@
1
1
  import { Point } from '@foblex/2d';
2
2
  import { IDraggableItem } from './i-draggable-item';
3
- import { ICanChangeSelection } from '../mixins';
3
+ import { ISelectable } from '../mixins';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class FDraggableDataContext {
6
- selectedItems: ICanChangeSelection[];
6
+ selectedItems: ISelectable[];
7
7
  isSelectedChanged: boolean;
8
8
  onPointerDownScale: number;
9
9
  onPointerDownPosition: Point;