@foblex/flow 17.0.3 → 17.0.5

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 (179) hide show
  1. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.execution.d.ts +10 -0
  2. package/domain/{get-connection-line/get-connection-line.request.d.ts → f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.d.ts} +3 -3
  3. package/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.d.ts +3 -0
  4. package/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.d.ts +3 -0
  5. package/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.d.ts +3 -0
  6. package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +5 -0
  7. package/domain/f-connection/index.d.ts +1 -0
  8. package/domain/f-connection/providers.d.ts +2 -1
  9. package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +2 -0
  10. package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-connections/get-flow-state-connections.execution.d.ts +1 -1
  11. package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +1 -1
  12. package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state.execution.d.ts +1 -1
  13. package/domain/{get-flow-state → f-flow/get-flow-state}/i-f-flow-state-connection.d.ts +1 -1
  14. package/domain/{get-flow-state → f-flow/get-flow-state}/i-f-flow-state-connector.d.ts +1 -1
  15. package/domain/f-flow/index.d.ts +1 -0
  16. package/domain/f-flow/providers.d.ts +1 -1
  17. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.d.ts +12 -0
  18. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.d.ts +2 -0
  19. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.d.ts +2 -0
  20. package/domain/f-node/index.d.ts +1 -0
  21. package/domain/f-node/providers.d.ts +2 -1
  22. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +18 -0
  23. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected.d.ts +6 -0
  24. package/domain/f-selection/get-can-be-selected-items/index.d.ts +3 -0
  25. package/domain/f-selection/get-current-selection/get-current-selection.execution.d.ts +13 -0
  26. package/domain/f-selection/get-current-selection/get-current-selection.request.d.ts +2 -0
  27. package/domain/f-selection/get-current-selection/i-current-selection.d.ts +5 -0
  28. package/domain/f-selection/get-current-selection/index.d.ts +3 -0
  29. package/domain/f-selection/index.d.ts +2 -1
  30. package/domain/f-selection/providers.d.ts +4 -3
  31. package/domain/{get-element-rect-in-flow/get-element-rect-in-flow-request.d.ts → get-element-rounded-rect/get-element-rounded-rect-request.d.ts} +1 -1
  32. package/domain/get-element-rounded-rect/get-element-rounded-rect.execution.d.ts +13 -0
  33. package/domain/get-element-rounded-rect/index.d.ts +2 -0
  34. package/domain/{create-rounded-rect-from-element/create-rounded-rect-from-element-request.d.ts → get-normalized-element-rect/get-normalized-element-rect-request.d.ts} +1 -1
  35. package/domain/get-normalized-element-rect/get-normalized-element-rect.execution.d.ts +15 -0
  36. package/domain/get-normalized-element-rect/index.d.ts +2 -0
  37. package/domain/{get-position-in-flow/get-position-in-flow-request.d.ts → get-normalized-point/get-normalized-point-request.d.ts} +1 -1
  38. package/domain/get-normalized-point/get-normalized-point.execution.d.ts +11 -0
  39. package/domain/get-normalized-point/index.d.ts +2 -0
  40. package/domain/index.d.ts +3 -7
  41. package/domain/providers.d.ts +4 -7
  42. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.execution.mjs +29 -0
  43. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.mjs +15 -0
  44. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +5 -0
  45. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +32 -0
  46. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +14 -0
  47. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +6 -0
  48. package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +3 -3
  49. package/esm2022/domain/f-connection/index.mjs +2 -1
  50. package/esm2022/domain/f-connection/providers.mjs +3 -1
  51. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +4 -4
  52. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +10 -4
  53. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.mjs +3 -0
  54. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +34 -0
  55. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/index.mjs +3 -0
  56. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +7 -0
  57. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +51 -0
  58. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/index.mjs +3 -0
  59. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +41 -0
  60. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.request.mjs +3 -0
  61. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connection.mjs +2 -0
  62. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connector.mjs +2 -0
  63. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-node.mjs +2 -0
  64. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state.mjs +2 -0
  65. package/esm2022/domain/f-flow/get-flow-state/index.mjs +10 -0
  66. package/esm2022/domain/f-flow/get-flow-state/providers.mjs +9 -0
  67. package/esm2022/domain/f-flow/index.mjs +2 -1
  68. package/esm2022/domain/f-flow/providers.mjs +3 -1
  69. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.mjs +4 -2
  70. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +31 -0
  71. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.mjs +3 -0
  72. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.mjs +3 -0
  73. package/esm2022/domain/f-node/index.mjs +2 -1
  74. package/esm2022/domain/f-node/providers.mjs +3 -1
  75. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items-request.mjs +3 -0
  76. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +57 -0
  77. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected.mjs +2 -0
  78. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +4 -0
  79. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +41 -0
  80. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.request.mjs +3 -0
  81. package/esm2022/domain/f-selection/get-current-selection/i-current-selection.mjs +2 -0
  82. package/esm2022/domain/f-selection/get-current-selection/index.mjs +4 -0
  83. package/esm2022/domain/f-selection/index.mjs +3 -2
  84. package/esm2022/domain/f-selection/providers.mjs +6 -4
  85. package/esm2022/domain/get-element-rounded-rect/get-element-rounded-rect-request.mjs +7 -0
  86. package/esm2022/domain/get-element-rounded-rect/get-element-rounded-rect.execution.mjs +32 -0
  87. package/esm2022/domain/{get-element-rect-in-flow → get-element-rounded-rect}/index.mjs +3 -3
  88. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect-request.mjs +7 -0
  89. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +40 -0
  90. package/esm2022/domain/get-normalized-element-rect/index.mjs +3 -0
  91. package/esm2022/domain/get-normalized-point/get-normalized-point-request.mjs +7 -0
  92. package/esm2022/domain/get-normalized-point/get-normalized-point.execution.mjs +27 -0
  93. package/esm2022/domain/get-normalized-point/index.mjs +3 -0
  94. package/esm2022/domain/index.mjs +4 -8
  95. package/esm2022/domain/providers.mjs +7 -15
  96. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +4 -4
  97. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +4 -4
  98. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +3 -3
  99. package/esm2022/f-draggable/f-selection-change-event.mjs +4 -2
  100. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +3 -3
  101. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +3 -3
  102. package/esm2022/f-draggable/node/connection.drag-handler.mjs +3 -3
  103. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +3 -3
  104. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +3 -3
  105. package/esm2022/f-flow/f-flow.component.mjs +6 -6
  106. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +4 -4
  107. package/esm2022/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.mjs +4 -1
  108. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +12 -11
  109. package/f-connection/providers.d.ts +1 -1
  110. package/f-draggable/f-selection-change-event.d.ts +4 -2
  111. package/f-draggable/providers.d.ts +1 -1
  112. package/f-flow/f-flow.component.d.ts +3 -4
  113. package/f-node/providers.d.ts +1 -1
  114. package/f-selection-area/domain/selection-area.drag-handle.d.ts +2 -2
  115. package/fesm2022/foblex-flow.mjs +366 -359
  116. package/fesm2022/foblex-flow.mjs.map +1 -1
  117. package/package.json +1 -1
  118. package/domain/create-rounded-rect-from-element/create-rounded-rect-from-element.execution.d.ts +0 -15
  119. package/domain/create-rounded-rect-from-element/index.d.ts +0 -2
  120. package/domain/f-selection/get-selection/get-selection.execution.d.ts +0 -11
  121. package/domain/f-selection/get-selection/get-selection.request.d.ts +0 -2
  122. package/domain/f-selection/get-selection/index.d.ts +0 -2
  123. package/domain/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +0 -19
  124. package/domain/get-can-be-selected-items/i-selectable-with-rect.d.ts +0 -6
  125. package/domain/get-can-be-selected-items/index.d.ts +0 -2
  126. package/domain/get-connection-line/get-connection-line.execution.d.ts +0 -13
  127. package/domain/get-connection-line/index.d.ts +0 -2
  128. package/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.d.ts +0 -16
  129. package/domain/get-element-rect-in-flow/index.d.ts +0 -2
  130. package/domain/get-position-in-flow/get-position-in-flow.execution.d.ts +0 -14
  131. package/domain/get-position-in-flow/index.d.ts +0 -2
  132. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.d.ts +0 -14
  133. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.d.ts +0 -2
  134. package/domain/get-scaled-node-rects-with-flow-position/index.d.ts +0 -2
  135. package/esm2022/domain/create-rounded-rect-from-element/create-rounded-rect-from-element-request.mjs +0 -7
  136. package/esm2022/domain/create-rounded-rect-from-element/create-rounded-rect-from-element.execution.mjs +0 -40
  137. package/esm2022/domain/create-rounded-rect-from-element/index.mjs +0 -3
  138. package/esm2022/domain/f-selection/get-selection/get-selection.execution.mjs +0 -36
  139. package/esm2022/domain/f-selection/get-selection/get-selection.request.mjs +0 -3
  140. package/esm2022/domain/f-selection/get-selection/index.mjs +0 -3
  141. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items-request.mjs +0 -3
  142. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +0 -60
  143. package/esm2022/domain/get-can-be-selected-items/i-selectable-with-rect.mjs +0 -2
  144. package/esm2022/domain/get-can-be-selected-items/index.mjs +0 -3
  145. package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +0 -65
  146. package/esm2022/domain/get-connection-line/get-connection-line.request.mjs +0 -15
  147. package/esm2022/domain/get-connection-line/index.mjs +0 -3
  148. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.mjs +0 -7
  149. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +0 -43
  150. package/esm2022/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.mjs +0 -3
  151. package/esm2022/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +0 -34
  152. package/esm2022/domain/get-flow-state/get-flow-state-connections/index.mjs +0 -3
  153. package/esm2022/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +0 -7
  154. package/esm2022/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +0 -51
  155. package/esm2022/domain/get-flow-state/get-flow-state-nodes/index.mjs +0 -3
  156. package/esm2022/domain/get-flow-state/get-flow-state.execution.mjs +0 -41
  157. package/esm2022/domain/get-flow-state/get-flow-state.request.mjs +0 -3
  158. package/esm2022/domain/get-flow-state/i-f-flow-state-connection.mjs +0 -2
  159. package/esm2022/domain/get-flow-state/i-f-flow-state-connector.mjs +0 -2
  160. package/esm2022/domain/get-flow-state/i-f-flow-state-node.mjs +0 -2
  161. package/esm2022/domain/get-flow-state/i-f-flow-state.mjs +0 -2
  162. package/esm2022/domain/get-flow-state/index.mjs +0 -10
  163. package/esm2022/domain/get-flow-state/providers.mjs +0 -9
  164. package/esm2022/domain/get-position-in-flow/get-position-in-flow-request.mjs +0 -7
  165. package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +0 -33
  166. package/esm2022/domain/get-position-in-flow/index.mjs +0 -3
  167. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +0 -35
  168. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.mjs +0 -3
  169. package/esm2022/domain/get-scaled-node-rects-with-flow-position/index.mjs +0 -3
  170. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-connections/get-flow-state-connections-request.d.ts +0 -0
  171. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-connections/index.d.ts +0 -0
  172. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-nodes/get-flow-state-nodes-request.d.ts +0 -0
  173. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-nodes/index.d.ts +0 -0
  174. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state.request.d.ts +0 -0
  175. /package/domain/{get-flow-state → f-flow/get-flow-state}/i-f-flow-state-node.d.ts +0 -0
  176. /package/domain/{get-flow-state → f-flow/get-flow-state}/i-f-flow-state.d.ts +0 -0
  177. /package/domain/{get-flow-state → f-flow/get-flow-state}/index.d.ts +0 -0
  178. /package/domain/{get-flow-state → f-flow/get-flow-state}/providers.d.ts +0 -0
  179. /package/domain/{get-can-be-selected-items → f-selection/get-can-be-selected-items}/get-can-be-selected-items-request.d.ts +0 -0
@@ -1,15 +1,16 @@
1
1
  import { Point, RectExtensions } from '@foblex/2d';
2
2
  import { NotifyTransformChangedRequest } from '../../f-storage';
3
- import { GetCanBeSelectedItemsRequest } from '../../domain/get-can-be-selected-items/get-can-be-selected-items-request';
3
+ import { GetCanBeSelectedItemsRequest } from '../../domain';
4
4
  export class SelectionAreaDragHandle {
5
5
  fComponentsStore;
6
6
  fSelectionArea;
7
7
  fDraggableDataContext;
8
8
  fMediator;
9
- canBeSelected = [];
10
- selectedByMove = [];
9
+ _canBeSelected = [];
10
+ _selectedByMove = [];
11
11
  get canvasPosition() {
12
- return Point.fromPoint(this.fComponentsStore.fCanvas.transform.position).add(this.fComponentsStore.fCanvas.transform.scaledPosition);
12
+ return Point.fromPoint(this.fComponentsStore.fCanvas.transform.position)
13
+ .add(this.fComponentsStore.fCanvas.transform.scaledPosition);
13
14
  }
14
15
  constructor(fComponentsStore, fSelectionArea, fDraggableDataContext, fMediator) {
15
16
  this.fComponentsStore = fComponentsStore;
@@ -18,7 +19,7 @@ export class SelectionAreaDragHandle {
18
19
  this.fMediator = fMediator;
19
20
  }
20
21
  prepareDragSequence() {
21
- this.canBeSelected = this.fMediator.send(new GetCanBeSelectedItemsRequest());
22
+ this._canBeSelected = this.fMediator.send(new GetCanBeSelectedItemsRequest());
22
23
  this.fSelectionArea.show();
23
24
  this.fSelectionArea.draw(RectExtensions.initialize(this.fDraggableDataContext.onPointerDownPosition.x, this.fDraggableDataContext.onPointerDownPosition.y));
24
25
  }
@@ -29,24 +30,24 @@ export class SelectionAreaDragHandle {
29
30
  const width = Math.abs(difference.x);
30
31
  const height = Math.abs(difference.y);
31
32
  this.fSelectionArea.draw(RectExtensions.initialize(x, y, width, height));
32
- this.selectedByMove = [];
33
- this.canBeSelected.forEach((item) => {
33
+ this._selectedByMove = [];
34
+ this._canBeSelected.forEach((item) => {
34
35
  item.element.deselect();
35
36
  const itemRect = RectExtensions.addPoint(item.rect, this.canvasPosition);
36
37
  const isIntersect = RectExtensions.intersectionWithRect(itemRect, RectExtensions.initialize(x, y, width, height));
37
38
  if (isIntersect) {
38
39
  item.element.select();
39
- this.selectedByMove.push(item.element);
40
+ this._selectedByMove.push(item.element);
40
41
  }
41
42
  });
42
43
  this.fMediator.send(new NotifyTransformChangedRequest());
43
44
  }
44
45
  onPointerUp() {
45
46
  this.fSelectionArea.hide();
46
- this.fDraggableDataContext.selectedItems.push(...this.selectedByMove);
47
- if (this.selectedByMove.length > 0) {
47
+ this.fDraggableDataContext.selectedItems.push(...this._selectedByMove);
48
+ if (this._selectedByMove.length > 0) {
48
49
  this.fDraggableDataContext.isSelectedChanged = true;
49
50
  }
50
51
  }
51
52
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEuZHJhZy1oYW5kbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL3NlbGVjdGlvbi1hcmVhLmRyYWctaGFuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNELE9BQU8sRUFBb0IsNkJBQTZCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdsRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUt4SCxNQUFNLE9BQU8sdUJBQXVCO0lBV3hCO0lBQ0E7SUFDQTtJQUNBO0lBWkYsYUFBYSxHQUEwQixFQUFFLENBQUM7SUFFMUMsY0FBYyxHQUEwQixFQUFFLENBQUM7SUFFbkQsSUFBWSxjQUFjO1FBQ3hCLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDekksQ0FBQztJQUVELFlBQ1UsZ0JBQWtDLEVBQ2xDLGNBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1QyxTQUFvQjtRQUhwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBRTdFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3RCLGNBQWMsQ0FBQyxVQUFVLENBQ3ZCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQ2xELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQ25ELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdkcsTUFBTSxDQUFDLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRixNQUFNLENBQUMsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9GLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN0QixjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUMvQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRXhCLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFekUsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEgsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFFaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFPLElBQUksNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIFBvaW50LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSwgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgSVNlbGVjdGFibGVXaXRoUmVjdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEdldENhbkJlU2VsZWN0ZWRJdGVtc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9kb21haW4vZ2V0LWNhbi1iZS1zZWxlY3RlZC1pdGVtcy9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0LCBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IEZTZWxlY3Rpb25BcmVhQmFzZSB9IGZyb20gJy4uL2Ytc2VsZWN0aW9uLWFyZWEtYmFzZSc7XG5pbXBvcnQgeyBJQ2FuQ2hhbmdlU2VsZWN0aW9uIH0gZnJvbSAnLi4vLi4vbWl4aW5zJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbkFyZWFEcmFnSGFuZGxlIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHByaXZhdGUgY2FuQmVTZWxlY3RlZDogSVNlbGVjdGFibGVXaXRoUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBzZWxlY3RlZEJ5TW92ZTogSUNhbkNoYW5nZVNlbGVjdGlvbltdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgY2FudmFzUG9zaXRpb24oKTogUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybS5wb3NpdGlvbikuYWRkKHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZlNlbGVjdGlvbkFyZWE6IEZTZWxlY3Rpb25BcmVhQmFzZSxcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICkge1xuICB9XG5cbiAgcHVibGljIHByZXBhcmVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5jYW5CZVNlbGVjdGVkID0gdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdCgpKTtcblxuICAgIHRoaXMuZlNlbGVjdGlvbkFyZWEuc2hvdygpO1xuICAgIHRoaXMuZlNlbGVjdGlvbkFyZWEuZHJhdyhcbiAgICAgIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbi54LFxuICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24ueVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50UG9pbnQgPSBQb2ludC5mcm9tUG9pbnQoZGlmZmVyZW5jZSkuYWRkKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG4gICAgY29uc3QgeDogbnVtYmVyID0gTWF0aC5taW4odGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uLngsIGN1cnJlbnRQb2ludC54KTtcbiAgICBjb25zdCB5OiBudW1iZXIgPSBNYXRoLm1pbih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24ueSwgY3VycmVudFBvaW50LnkpO1xuXG4gICAgY29uc3Qgd2lkdGggPSBNYXRoLmFicyhkaWZmZXJlbmNlLngpO1xuICAgIGNvbnN0IGhlaWdodCA9IE1hdGguYWJzKGRpZmZlcmVuY2UueSk7XG5cbiAgICB0aGlzLmZTZWxlY3Rpb25BcmVhLmRyYXcoXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKHgsIHksIHdpZHRoLCBoZWlnaHQpXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkQnlNb3ZlID0gW107XG4gICAgdGhpcy5jYW5CZVNlbGVjdGVkLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uZWxlbWVudC5kZXNlbGVjdCgpO1xuXG4gICAgICBjb25zdCBpdGVtUmVjdCA9IFJlY3RFeHRlbnNpb25zLmFkZFBvaW50KGl0ZW0ucmVjdCwgdGhpcy5jYW52YXNQb3NpdGlvbik7XG5cbiAgICAgIGNvbnN0IGlzSW50ZXJzZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW50ZXJzZWN0aW9uV2l0aFJlY3QoaXRlbVJlY3QsIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoeCwgeSwgd2lkdGgsIGhlaWdodCkpO1xuICAgICAgaWYgKGlzSW50ZXJzZWN0KSB7XG5cbiAgICAgICAgaXRlbS5lbGVtZW50LnNlbGVjdCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQnlNb3ZlLnB1c2goaXRlbS5lbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmZTZWxlY3Rpb25BcmVhLmhpZGUoKTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goLi4udGhpcy5zZWxlY3RlZEJ5TW92ZSk7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRCeU1vdmUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuaXNTZWxlY3RlZENoYW5nZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEuZHJhZy1oYW5kbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL3NlbGVjdGlvbi1hcmVhLmRyYWctaGFuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNELE9BQU8sRUFBb0IsNkJBQTZCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsNEJBQTRCLEVBQWtCLE1BQU0sY0FBYyxDQUFDO0FBTTVFLE1BQU0sT0FBTyx1QkFBdUI7SUFXeEI7SUFDQTtJQUNBO0lBQ0E7SUFaRixjQUFjLEdBQXFCLEVBQUUsQ0FBQztJQUN0QyxlQUFlLEdBQTBCLEVBQUUsQ0FBQztJQUVwRCxJQUFZLGNBQWM7UUFDeEIsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUN0RSxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFlBQ1UsZ0JBQWtDLEVBQ2xDLGNBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1QyxTQUFvQjtRQUhwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBRTlFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3RCLGNBQWMsQ0FBQyxVQUFVLENBQ3ZCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQ2xELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQ25ELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdkcsTUFBTSxDQUFDLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRixNQUFNLENBQUMsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9GLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN0QixjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUMvQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRXhCLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFekUsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEgsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFFaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFPLElBQUksNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIFBvaW50LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSwgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdCwgSUNhbkJlU2VsZWN0ZWQgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsIElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkFyZWFCYXNlIH0gZnJvbSAnLi4vZi1zZWxlY3Rpb24tYXJlYS1iYXNlJztcbmltcG9ydCB7IElDYW5DaGFuZ2VTZWxlY3Rpb24gfSBmcm9tICcuLi8uLi9taXhpbnMnO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uQXJlYURyYWdIYW5kbGUgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHJpdmF0ZSBfY2FuQmVTZWxlY3RlZDogSUNhbkJlU2VsZWN0ZWRbXSA9IFtdO1xuICBwcml2YXRlIF9zZWxlY3RlZEJ5TW92ZTogSUNhbkNoYW5nZVNlbGVjdGlvbltdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgY2FudmFzUG9zaXRpb24oKTogUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybS5wb3NpdGlvbilcbiAgICAgIC5hZGQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbik7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmU2VsZWN0aW9uQXJlYTogRlNlbGVjdGlvbkFyZWFCYXNlLFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jYW5CZVNlbGVjdGVkID0gdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdCgpKTtcblxuICAgIHRoaXMuZlNlbGVjdGlvbkFyZWEuc2hvdygpO1xuICAgIHRoaXMuZlNlbGVjdGlvbkFyZWEuZHJhdyhcbiAgICAgIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbi54LFxuICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24ueVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50UG9pbnQgPSBQb2ludC5mcm9tUG9pbnQoZGlmZmVyZW5jZSkuYWRkKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG4gICAgY29uc3QgeDogbnVtYmVyID0gTWF0aC5taW4odGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uLngsIGN1cnJlbnRQb2ludC54KTtcbiAgICBjb25zdCB5OiBudW1iZXIgPSBNYXRoLm1pbih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24ueSwgY3VycmVudFBvaW50LnkpO1xuXG4gICAgY29uc3Qgd2lkdGggPSBNYXRoLmFicyhkaWZmZXJlbmNlLngpO1xuICAgIGNvbnN0IGhlaWdodCA9IE1hdGguYWJzKGRpZmZlcmVuY2UueSk7XG5cbiAgICB0aGlzLmZTZWxlY3Rpb25BcmVhLmRyYXcoXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKHgsIHksIHdpZHRoLCBoZWlnaHQpXG4gICAgKTtcbiAgICB0aGlzLl9zZWxlY3RlZEJ5TW92ZSA9IFtdO1xuICAgIHRoaXMuX2NhbkJlU2VsZWN0ZWQuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5lbGVtZW50LmRlc2VsZWN0KCk7XG5cbiAgICAgIGNvbnN0IGl0ZW1SZWN0ID0gUmVjdEV4dGVuc2lvbnMuYWRkUG9pbnQoaXRlbS5yZWN0LCB0aGlzLmNhbnZhc1Bvc2l0aW9uKTtcblxuICAgICAgY29uc3QgaXNJbnRlcnNlY3QgPSBSZWN0RXh0ZW5zaW9ucy5pbnRlcnNlY3Rpb25XaXRoUmVjdChpdGVtUmVjdCwgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7XG4gICAgICBpZiAoaXNJbnRlcnNlY3QpIHtcblxuICAgICAgICBpdGVtLmVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkQnlNb3ZlLnB1c2goaXRlbS5lbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmZTZWxlY3Rpb25BcmVhLmhpZGUoKTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goLi4udGhpcy5fc2VsZWN0ZWRCeU1vdmUpO1xuICAgIGlmICh0aGlzLl9zZWxlY3RlZEJ5TW92ZS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5pc1NlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -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 FConnectionSelectionComponent | typeof FConnectionPathComponent | typeof FConnectionDragHandleComponent | typeof FConnectionTextPathDirective | typeof FSnapConnectionComponent | typeof FConnectionCenterDirective | typeof FMarkerDirective | typeof FConnectionComponent | typeof FConnectionForCreateComponent | typeof FConnectionTextComponent | typeof FConnectionGradientComponent)[];
7
+ export declare const F_CONNECTION_PROVIDERS: (typeof FSnapConnectionComponent | typeof FConnectionDragHandleComponent | typeof FConnectionSelectionComponent | typeof FConnectionCenterDirective | typeof FMarkerDirective | typeof FConnectionComponent | typeof FConnectionForCreateComponent | typeof FConnectionTextPathDirective | typeof FConnectionTextComponent | typeof FConnectionGradientComponent | typeof FConnectionPathComponent)[];
@@ -1,5 +1,7 @@
1
- export declare class FSelectionChangeEvent {
1
+ import { ICurrentSelection } from '../domain';
2
+ export declare class FSelectionChangeEvent implements ICurrentSelection {
2
3
  nodes: string[];
4
+ groups: string[];
3
5
  connections: string[];
4
- constructor(nodes: string[], connections: string[]);
6
+ constructor(nodes: string[], groups: string[], connections: string[]);
5
7
  }
@@ -1 +1 @@
1
- export declare const F_DRAGGABLE_PROVIDERS: (typeof import("./domain").GetNodePaddingExecution | typeof import("./domain").GetNormalizedNodeRectExecution | typeof import("./domain").GetNormalizedParentNodeRectExecution | typeof import("./domain").GetParentNodesExecution | typeof import("./domain").IsArrayHasParentNodeExecution | typeof import("./domain").IsConnectionUnderNodeExecution | typeof import("./domain").IsConnectionUnderNodeValidator | typeof import("./canvas").CanvasMoveFinalizeExecution | typeof import("./canvas").CanvasMoveFinalizeValidator | typeof import("./canvas").CanvasMovePreparationExecution | typeof import("./canvas").CanvasMovePreparationValidator | typeof import("./connections").GetInputUnderPointerExecution | typeof import("./connections").GetInputUnderPointerValidator | typeof import("./connections").CreateConnectionFinalizeExecution | typeof import("./connections").CreateConnectionFinalizeValidator | typeof import("./connections").CreateConnectionDragHandlerExecution | typeof import("./connections").CreateConnectionFromOutletPreparationExecution | typeof import("./connections").GetCanBeConnectedOutputByOutletExecution | typeof import("./connections").GetCanBeConnectedOutputByOutletValidator | typeof import("./connections").CreateConnectionFromOutputPreparationExecution | typeof import("./connections").CreateConnectionFromOutputPreparationValidator | typeof import("./connections").CreateConnectionPreparationExecution | typeof import("./connections").CreateConnectionPreparationValidator | typeof import("./connections").ReassignConnectionFinalizeExecution | typeof import("./connections").ReassignConnectionFinalizeValidator | typeof import("./connections").ReassignConnectionPreparationExecution | typeof import("./connections").ReassignConnectionPreparationValidator | typeof import("./single-select").SingleSelectExecution | typeof import("./single-select").SingleSelectValidator | typeof import("../f-external-item").ExternalItemFinalizeExecution | typeof import("../f-external-item").ExternalItemFinalizeValidator | typeof import("../f-external-item").ExternalItemPreparationExecution | typeof import("../f-external-item").ExternalItemPreparationValidator | typeof import("../f-external-item").PreventDefaultIsExternalItemExecution | typeof import("./node").GetNodeMoveRestrictionsExecution | typeof import("./node").PutInputConnectionHandlersToArrayExecution | typeof import("./node").PutOutputConnectionHandlersToArrayExecution | typeof import("./node").CreateMoveNodesDragModelFromSelectionExecution | typeof import("./node").NodeMoveFinalizeExecution | typeof import("./node").NodeMoveFinalizeValidator | typeof import("./node").NodeMovePreparationExecution | typeof import("./node").NodeMovePreparationValidator | typeof import("./node").NodeDragToParentPreparationExecution | typeof import("./node").NodeDragToParentPreparationValidator | typeof import("./node").NodeDragToParentFinalizeExecution | typeof import("./node").NodeDragToParentFinalizeValidator | typeof import("./node-resize").ApplyChildResizeRestrictionsExecution | typeof import("./node-resize").ApplyParentResizeRestrictionsExecution | typeof import("./node-resize").CalculateChangedPositionExecution | typeof import("./node-resize").CalculateChangedSizeExecution | typeof import("./node-resize").GetNormalizedChildrenNodesRectExecution | typeof import("./node-resize").GetNodeResizeRestrictionsExecution | typeof import("./node-resize").NodeResizeFinalizeExecution | typeof import("./node-resize").NodeResizeFinalizeValidator | typeof import("./node-resize").NodeResizePreparationExecution | typeof import("./node-resize").NodeResizePreparationValidator | typeof import("../f-selection-area").SelectionAreaFinalizeExecution | typeof import("../f-selection-area").SelectionAreaFinalizeValidator | typeof import("../f-selection-area").SelectionAreaPreparationExecution | typeof import("../f-selection-area").SelectionAreaPreparationValidator | typeof import("@foblex/flow").CalculateFlowPointFromMinimapPointExecution | typeof import("@foblex/flow").MinimapDragFinalizeExecution | typeof import("@foblex/flow").MinimapDragFinalizeValidator | typeof import("@foblex/flow").MinimapDragPreparationExecution | typeof import("@foblex/flow").MinimapDragPreparationValidator | typeof import("@foblex/flow").MinimapDrawNodesExecution | typeof import("@foblex/flow").MinimapCalculateSvgScaleAndViewBoxExecution | typeof import("@foblex/flow").MinimapCalculateViewBoxExecution)[];
1
+ export declare const F_DRAGGABLE_PROVIDERS: (typeof import("./canvas").CanvasMoveFinalizeExecution | typeof import("./canvas").CanvasMoveFinalizeValidator | typeof import("./canvas").CanvasMovePreparationExecution | typeof import("./canvas").CanvasMovePreparationValidator | typeof import("./connections").GetInputUnderPointerExecution | typeof import("./connections").GetInputUnderPointerValidator | typeof import("./connections").CreateConnectionFinalizeExecution | typeof import("./connections").CreateConnectionFinalizeValidator | typeof import("./connections").CreateConnectionDragHandlerExecution | typeof import("./connections").CreateConnectionFromOutletPreparationExecution | typeof import("./connections").GetCanBeConnectedOutputByOutletExecution | typeof import("./connections").GetCanBeConnectedOutputByOutletValidator | typeof import("./connections").CreateConnectionFromOutputPreparationExecution | typeof import("./connections").CreateConnectionFromOutputPreparationValidator | typeof import("./connections").CreateConnectionPreparationExecution | typeof import("./connections").CreateConnectionPreparationValidator | typeof import("./connections").ReassignConnectionFinalizeExecution | typeof import("./connections").ReassignConnectionFinalizeValidator | typeof import("./connections").ReassignConnectionPreparationExecution | typeof import("./connections").ReassignConnectionPreparationValidator | typeof import("./domain").GetNodePaddingExecution | typeof import("./domain").GetNormalizedNodeRectExecution | typeof import("./domain").GetNormalizedParentNodeRectExecution | typeof import("./domain").GetParentNodesExecution | typeof import("./domain").IsArrayHasParentNodeExecution | typeof import("./domain").IsConnectionUnderNodeExecution | typeof import("./domain").IsConnectionUnderNodeValidator | typeof import("./single-select").SingleSelectExecution | typeof import("./single-select").SingleSelectValidator | typeof import("../f-external-item").ExternalItemFinalizeExecution | typeof import("../f-external-item").ExternalItemFinalizeValidator | typeof import("../f-external-item").ExternalItemPreparationExecution | typeof import("../f-external-item").ExternalItemPreparationValidator | typeof import("../f-external-item").PreventDefaultIsExternalItemExecution | typeof import("./node").GetNodeMoveRestrictionsExecution | typeof import("./node").PutInputConnectionHandlersToArrayExecution | typeof import("./node").PutOutputConnectionHandlersToArrayExecution | typeof import("./node").CreateMoveNodesDragModelFromSelectionExecution | typeof import("./node").NodeMoveFinalizeExecution | typeof import("./node").NodeMoveFinalizeValidator | typeof import("./node").NodeMovePreparationExecution | typeof import("./node").NodeMovePreparationValidator | typeof import("./node").NodeDragToParentPreparationExecution | typeof import("./node").NodeDragToParentPreparationValidator | typeof import("./node").NodeDragToParentFinalizeExecution | typeof import("./node").NodeDragToParentFinalizeValidator | typeof import("./node-resize").ApplyChildResizeRestrictionsExecution | typeof import("./node-resize").ApplyParentResizeRestrictionsExecution | typeof import("./node-resize").CalculateChangedPositionExecution | typeof import("./node-resize").CalculateChangedSizeExecution | typeof import("./node-resize").GetNormalizedChildrenNodesRectExecution | typeof import("./node-resize").GetNodeResizeRestrictionsExecution | typeof import("./node-resize").NodeResizeFinalizeExecution | typeof import("./node-resize").NodeResizeFinalizeValidator | typeof import("./node-resize").NodeResizePreparationExecution | typeof import("./node-resize").NodeResizePreparationValidator | typeof import("../f-selection-area").SelectionAreaFinalizeExecution | typeof import("../f-selection-area").SelectionAreaFinalizeValidator | typeof import("../f-selection-area").SelectionAreaPreparationExecution | typeof import("../f-selection-area").SelectionAreaPreparationValidator | typeof import("@foblex/flow").CalculateFlowPointFromMinimapPointExecution | typeof import("@foblex/flow").MinimapDragFinalizeExecution | typeof import("@foblex/flow").MinimapDragFinalizeValidator | typeof import("@foblex/flow").MinimapDragPreparationExecution | typeof import("@foblex/flow").MinimapDragPreparationValidator | typeof import("@foblex/flow").MinimapDrawNodesExecution | typeof import("@foblex/flow").MinimapCalculateSvgScaleAndViewBoxExecution | typeof import("@foblex/flow").MinimapCalculateViewBoxExecution)[];
@@ -1,8 +1,7 @@
1
1
  import { AfterContentInit, EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
2
  import { FFlowBase } from './f-flow-base';
3
- import { IFFlowState } from '../domain';
3
+ import { IFFlowState, ICurrentSelection } from '../domain';
4
4
  import { IPoint, IRect } from '@foblex/2d';
5
- import { FSelectionChangeEvent } from '../f-draggable';
6
5
  import { BrowserService } from '@foblex/platform';
7
6
  import * as i0 from "@angular/core";
8
7
  export declare class FFlowComponent extends FFlowBase implements OnInit, AfterContentInit, OnDestroy {
@@ -22,8 +21,8 @@ export declare class FFlowComponent extends FFlowBase implements OnInit, AfterCo
22
21
  private _emitLoaded;
23
22
  redraw(): void;
24
23
  reset(): void;
25
- getAllNodesRect(): IRect | null;
26
- getSelection(): FSelectionChangeEvent;
24
+ getNodesBoundingBox(): IRect | null;
25
+ getSelection(): ICurrentSelection;
27
26
  getPositionInFlow(position: IPoint): IRect;
28
27
  getState(): IFFlowState;
29
28
  selectAll(): void;
@@ -2,4 +2,4 @@ import { FNodeDirective } from './f-node.directive';
2
2
  import { FDragHandleDirective } from './f-drag-handle';
3
3
  import { FResizeHandleDirective } from './f-resize-handle';
4
4
  import { FGroupDirective } from './f-group.directive';
5
- export declare const F_NODE_PROVIDERS: (typeof FNodeDirective | typeof FGroupDirective | typeof FResizeHandleDirective | typeof FDragHandleDirective)[];
5
+ export declare const F_NODE_PROVIDERS: (typeof FNodeDirective | typeof FGroupDirective | typeof FDragHandleDirective | typeof FResizeHandleDirective)[];
@@ -8,8 +8,8 @@ export declare class SelectionAreaDragHandle implements IDraggableItem {
8
8
  private fSelectionArea;
9
9
  private fDraggableDataContext;
10
10
  private fMediator;
11
- private canBeSelected;
12
- private selectedByMove;
11
+ private _canBeSelected;
12
+ private _selectedByMove;
13
13
  private get canvasPosition();
14
14
  constructor(fComponentsStore: FComponentsStore, fSelectionArea: FSelectionAreaBase, fDraggableDataContext: FDraggableDataContext, fMediator: FMediator);
15
15
  prepareDragSequence(): void;