@foblex/flow 12.5.1 → 12.6.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 (393) hide show
  1. package/README.md +2 -2
  2. package/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.d.ts +13 -0
  3. package/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.d.ts +4 -0
  4. package/domain/get-deep-children-nodes-and-groups/index.d.ts +2 -0
  5. package/domain/get-nodes-rect/get-nodes-rect.execution.d.ts +2 -2
  6. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.d.ts +14 -0
  7. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.d.ts +2 -0
  8. package/domain/get-scaled-node-rects-with-flow-position/index.d.ts +2 -0
  9. package/domain/index.d.ts +4 -5
  10. package/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +1 -5
  11. package/domain/providers.d.ts +5 -6
  12. package/domain/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +1 -3
  13. package/domain/sort-item-layers/index.d.ts +4 -0
  14. package/domain/sort-item-layers/sort-item-layers.execution.d.ts +12 -0
  15. package/domain/sort-item-layers/sort-item-layers.request.d.ts +2 -0
  16. package/domain/sort-item-layers/sort-items-by-parent/index.d.ts +2 -0
  17. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +20 -0
  18. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.d.ts +4 -0
  19. package/domain/sort-item-layers/sort-node-layers-by-groups/index.d.ts +2 -0
  20. package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.d.ts +21 -0
  21. package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.d.ts +2 -0
  22. package/domain/update-item-and-children-layers/index.d.ts +3 -0
  23. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.d.ts +2 -0
  24. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.d.ts +8 -0
  25. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.d.ts +8 -0
  26. package/domain/update-item-and-children-layers/update-item-and-children-layers.execution.d.ts +25 -0
  27. package/domain/{update-item-layer/update-item-layer.request.d.ts → update-item-and-children-layers/update-item-and-children-layers.request.d.ts} +1 -1
  28. package/esm2022/domain/clear-selection/clear-selection.execution.mjs +2 -4
  29. package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +2 -2
  30. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +36 -0
  31. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.mjs +7 -0
  32. package/esm2022/domain/get-deep-children-nodes-and-groups/index.mjs +3 -0
  33. package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +1 -1
  34. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +35 -0
  35. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.mjs +3 -0
  36. package/esm2022/domain/get-scaled-node-rects-with-flow-position/index.mjs +3 -0
  37. package/esm2022/domain/index.mjs +5 -6
  38. package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +14 -20
  39. package/esm2022/domain/providers.mjs +12 -11
  40. package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +1 -1
  41. package/esm2022/domain/select/select.execution.mjs +2 -2
  42. package/esm2022/domain/select-all/select-all.execution.mjs +1 -1
  43. package/esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +7 -10
  44. package/esm2022/domain/sort-item-layers/index.mjs +5 -0
  45. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +32 -0
  46. package/esm2022/domain/sort-item-layers/sort-item-layers.request.mjs +3 -0
  47. package/esm2022/domain/sort-item-layers/sort-items-by-parent/index.mjs +3 -0
  48. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +61 -0
  49. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.mjs +8 -0
  50. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/index.mjs +3 -0
  51. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +62 -0
  52. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.mjs +3 -0
  53. package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +2 -2
  54. package/esm2022/domain/update-item-and-children-layers/index.mjs +4 -0
  55. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs +3 -0
  56. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +30 -0
  57. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +14 -0
  58. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +99 -0
  59. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +9 -0
  60. package/esm2022/f-canvas/f-canvas-base.mjs +1 -1
  61. package/esm2022/f-canvas/f-canvas.component.mjs +9 -5
  62. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +2 -2
  63. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +3 -2
  64. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +2 -2
  65. package/esm2022/f-connection/common/f-connection-base.mjs +5 -3
  66. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +2 -2
  67. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -2
  68. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +3 -3
  69. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +2 -2
  70. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +8 -8
  71. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +2 -2
  72. package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
  73. package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +2 -1
  74. package/esm2022/f-connection/f-connection/f-connection.component.mjs +22 -17
  75. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +1 -1
  76. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +19 -12
  77. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +2 -4
  78. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +3 -3
  79. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +6 -1
  80. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +1 -3
  81. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +3 -3
  82. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +1 -3
  83. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +2 -2
  84. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +3 -3
  85. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +3 -3
  86. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +1 -3
  87. package/esm2022/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels-request.mjs +13 -0
  88. package/esm2022/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels.execution.mjs +49 -0
  89. package/esm2022/f-draggable/domain/convert-computed-to-pixels/index.mjs +3 -0
  90. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +38 -0
  91. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +9 -0
  92. package/esm2022/f-draggable/domain/get-node-padding/index.mjs +3 -0
  93. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +30 -0
  94. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs +7 -0
  95. package/esm2022/f-draggable/domain/get-normalized-node-rect/index.mjs +3 -0
  96. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +50 -0
  97. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs +7 -0
  98. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/index.mjs +3 -0
  99. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +37 -0
  100. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs +7 -0
  101. package/esm2022/f-draggable/domain/get-parent-nodes/index.mjs +3 -0
  102. package/esm2022/f-draggable/domain/index.mjs +8 -0
  103. package/esm2022/f-draggable/domain/is-array-has-parent-node/index.mjs +3 -0
  104. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +35 -0
  105. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +9 -0
  106. package/esm2022/f-draggable/domain/providers.mjs +15 -0
  107. package/esm2022/f-draggable/f-draggable-base.mjs +8 -3
  108. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -2
  109. package/esm2022/f-draggable/f-draggable.directive.mjs +3 -7
  110. package/esm2022/f-draggable/i-draggable-item.mjs +1 -1
  111. package/esm2022/f-draggable/index.mjs +2 -4
  112. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +42 -0
  113. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +14 -26
  114. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +14 -26
  115. package/esm2022/f-draggable/node/connection.drag-handler.mjs +16 -24
  116. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +46 -56
  117. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +45 -0
  118. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.mjs +9 -0
  119. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs +2 -0
  120. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs +4 -0
  121. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs +3 -0
  122. 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 +72 -0
  123. 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 +11 -0
  124. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs +3 -0
  125. 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 +72 -0
  126. 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 +11 -0
  127. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +2 -0
  128. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +5 -1
  129. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +7 -1
  130. package/esm2022/f-draggable/node/index.mjs +3 -1
  131. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +2 -2
  132. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +3 -3
  133. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +3 -4
  134. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +13 -0
  135. package/esm2022/f-draggable/node/node.drag-handler.mjs +21 -7
  136. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +49 -0
  137. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +9 -0
  138. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/index.mjs +3 -0
  139. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +49 -0
  140. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +9 -0
  141. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/index.mjs +3 -0
  142. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +25 -0
  143. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.mjs +13 -0
  144. package/esm2022/f-draggable/node-resize/calculate-changed-position/index.mjs +3 -0
  145. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +34 -0
  146. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.mjs +11 -0
  147. package/esm2022/f-draggable/node-resize/calculate-changed-size/index.mjs +3 -0
  148. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +32 -0
  149. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +9 -0
  150. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +2 -0
  151. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/index.mjs +4 -0
  152. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +42 -0
  153. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +9 -0
  154. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/index.mjs +3 -0
  155. package/esm2022/f-draggable/node-resize/index.mjs +8 -1
  156. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +3 -3
  157. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +2 -2
  158. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +38 -39
  159. package/esm2022/f-draggable/node-resize/providers.mjs +13 -1
  160. package/esm2022/f-draggable/node-resize/resize-direction.mjs +8 -0
  161. package/esm2022/f-draggable/providers.mjs +7 -5
  162. package/esm2022/f-draggable/single-select/single-select.execution.mjs +11 -11
  163. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +58 -0
  164. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.request.mjs +7 -0
  165. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.validator.mjs +26 -0
  166. package/esm2022/f-external-item/domain/external-item-finalize/index.mjs +5 -0
  167. package/esm2022/f-external-item/domain/external-item-finalize/providers.mjs +7 -0
  168. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +44 -0
  169. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.request.mjs +7 -0
  170. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +30 -0
  171. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +5 -0
  172. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +7 -0
  173. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +36 -0
  174. package/esm2022/f-external-item/domain/f-create-node.event.mjs +9 -0
  175. package/esm2022/f-external-item/domain/index.mjs +6 -0
  176. package/esm2022/f-external-item/domain/providers.mjs +7 -0
  177. package/esm2022/f-external-item/index.mjs +2 -1
  178. package/esm2022/f-flow/f-flow.component.mjs +15 -7
  179. package/esm2022/f-flow.module.mjs +7 -6
  180. package/esm2022/f-line-alignment/domain/line-service.mjs +3 -1
  181. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +2 -2
  182. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +1 -3
  183. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +2 -2
  184. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +9 -11
  185. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +3 -2
  186. package/esm2022/f-node/domain/index.mjs +3 -0
  187. package/esm2022/f-node/domain/is-group.mjs +4 -0
  188. package/esm2022/f-node/domain/is-node.mjs +4 -0
  189. package/esm2022/f-node/f-group.directive.mjs +147 -0
  190. package/esm2022/f-node/f-node-base.mjs +2 -1
  191. package/esm2022/f-node/f-node.directive.mjs +12 -4
  192. package/esm2022/f-node/index.mjs +3 -2
  193. package/esm2022/f-node/providers.mjs +3 -2
  194. package/esm2022/f-selection-area/domain/index.mjs +5 -2
  195. package/esm2022/f-selection-area/domain/providers.mjs +7 -0
  196. package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +5 -0
  197. package/esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs +7 -0
  198. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +27 -0
  199. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.mjs +7 -0
  200. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +26 -0
  201. package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +5 -0
  202. package/esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs +7 -0
  203. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +41 -0
  204. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +9 -0
  205. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +30 -0
  206. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +52 -0
  207. package/esm2022/f-selection-area/f-selection-area-base.mjs +2 -3
  208. package/esm2022/f-selection-area/f-selection-area.component.mjs +20 -13
  209. package/esm2022/f-storage/f-components-store.mjs +14 -4
  210. package/f-canvas/f-canvas-base.d.ts +1 -0
  211. package/f-canvas/f-canvas.component.d.ts +2 -1
  212. package/f-connection/common/f-connection-base.d.ts +2 -1
  213. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +1 -1
  214. package/f-connection/common/i-has-connection-from-to.d.ts +1 -1
  215. package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +1 -0
  216. package/f-connection/f-connection/f-connection.component.d.ts +4 -3
  217. package/f-connection/f-connection-builder/i-f-connection-builder-response.d.ts +1 -0
  218. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +4 -3
  219. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.d.ts +1 -0
  220. package/f-draggable/canvas/canvas.drag-handler.d.ts +0 -2
  221. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +0 -2
  222. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +0 -2
  223. package/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels-request.d.ts +7 -0
  224. package/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels.execution.d.ts +12 -0
  225. package/f-draggable/domain/convert-computed-to-pixels/index.d.ts +2 -0
  226. package/f-draggable/domain/get-node-padding/get-node-padding.execution.d.ts +12 -0
  227. package/f-draggable/domain/get-node-padding/get-node-padding.request.d.ts +7 -0
  228. package/f-draggable/domain/get-node-padding/index.d.ts +2 -0
  229. package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.d.ts +13 -0
  230. package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.d.ts +5 -0
  231. package/f-draggable/domain/get-normalized-node-rect/index.d.ts +2 -0
  232. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +17 -0
  233. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.d.ts +5 -0
  234. package/f-draggable/domain/get-normalized-parent-node-rect/index.d.ts +2 -0
  235. package/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.d.ts +13 -0
  236. package/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.d.ts +5 -0
  237. package/f-draggable/domain/get-parent-nodes/index.d.ts +2 -0
  238. package/f-draggable/domain/index.d.ts +7 -0
  239. package/f-draggable/domain/is-array-has-parent-node/index.d.ts +2 -0
  240. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.d.ts +13 -0
  241. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.d.ts +6 -0
  242. package/f-draggable/domain/providers.d.ts +7 -0
  243. package/f-draggable/f-draggable-base.d.ts +2 -1
  244. package/f-draggable/f-draggable-data-context.d.ts +0 -2
  245. package/f-draggable/f-draggable.directive.d.ts +1 -1
  246. package/f-draggable/i-draggable-item.d.ts +0 -2
  247. package/f-draggable/index.d.ts +1 -3
  248. package/f-draggable/node/connection-base-drag-handler.d.ts +23 -0
  249. package/f-draggable/node/connection-source.drag-handler.d.ts +6 -12
  250. package/f-draggable/node/connection-target.drag-handler.d.ts +6 -12
  251. package/f-draggable/node/connection.drag-handler.d.ts +7 -10
  252. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +4 -6
  253. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +13 -0
  254. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.d.ts +6 -0
  255. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.d.ts +5 -0
  256. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.d.ts +3 -0
  257. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.d.ts +2 -0
  258. 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 +22 -0
  259. 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 +8 -0
  260. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.d.ts +2 -0
  261. 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 +22 -0
  262. 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 +8 -0
  263. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +6 -0
  264. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +4 -0
  265. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +4 -1
  266. package/f-draggable/node/index.d.ts +2 -0
  267. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +10 -0
  268. package/f-draggable/node/node.drag-handler.d.ts +6 -3
  269. package/f-draggable/node/providers.d.ts +1 -1
  270. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +13 -0
  271. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.d.ts +6 -0
  272. package/f-draggable/node-resize/apply-child-resize-restrictions/index.d.ts +2 -0
  273. package/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.d.ts +13 -0
  274. package/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.d.ts +6 -0
  275. package/f-draggable/node-resize/apply-parent-resize-restrictions/index.d.ts +2 -0
  276. package/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.d.ts +10 -0
  277. package/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.d.ts +9 -0
  278. package/f-draggable/node-resize/calculate-changed-position/index.d.ts +2 -0
  279. package/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.d.ts +10 -0
  280. package/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.d.ts +8 -0
  281. package/f-draggable/node-resize/calculate-changed-size/index.d.ts +2 -0
  282. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +11 -0
  283. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.d.ts +7 -0
  284. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +5 -0
  285. package/f-draggable/node-resize/get-node-resize-restrictions/index.d.ts +3 -0
  286. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +15 -0
  287. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +7 -0
  288. package/f-draggable/node-resize/get-normalized-children-nodes-rect/index.d.ts +2 -0
  289. package/f-draggable/node-resize/index.d.ts +7 -0
  290. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +11 -10
  291. package/f-draggable/node-resize/providers.d.ts +7 -1
  292. package/f-draggable/node-resize/resize-direction.d.ts +18 -0
  293. package/f-draggable/providers.d.ts +1 -1
  294. package/f-draggable/single-select/single-select.execution.d.ts +2 -3
  295. package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/external-item-finalize.execution.d.ts +1 -1
  296. package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/external-item-finalize.validator.d.ts +1 -1
  297. package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/external-item-preparation.execution.d.ts +1 -1
  298. package/{f-draggable/external-item → f-external-item/domain}/external-item.drag-handler.d.ts +1 -3
  299. package/f-external-item/domain/providers.d.ts +1 -0
  300. package/f-external-item/index.d.ts +1 -0
  301. package/f-flow/f-flow.component.d.ts +2 -1
  302. package/f-flow.module.d.ts +8 -7
  303. package/f-minimap/domain/f-minimap.drag-handler.d.ts +1 -2
  304. package/f-minimap/f-minimap-canvas.directive.d.ts +1 -3
  305. package/f-node/domain/index.d.ts +2 -0
  306. package/f-node/domain/is-group.d.ts +1 -0
  307. package/f-node/f-group.directive.d.ts +40 -0
  308. package/f-node/f-node-base.d.ts +3 -0
  309. package/f-node/f-node.directive.d.ts +6 -4
  310. package/f-node/index.d.ts +2 -1
  311. package/f-node/providers.d.ts +2 -1
  312. package/f-selection-area/domain/index.d.ts +4 -1
  313. package/f-selection-area/domain/providers.d.ts +1 -0
  314. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/selection-area-finalize.execution.d.ts +1 -1
  315. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/selection-area-finalize.validator.d.ts +1 -1
  316. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-preparation/selection-area-preparation.execution.d.ts +1 -1
  317. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +7 -0
  318. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-preparation/selection-area-preparation.validator.d.ts +1 -1
  319. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area.drag-handle.d.ts +4 -5
  320. package/f-selection-area/f-selection-area-base.d.ts +2 -5
  321. package/f-selection-area/f-selection-area.component.d.ts +9 -6
  322. package/f-storage/f-components-store.d.ts +6 -2
  323. package/fesm2022/foblex-flow.mjs +2108 -1005
  324. package/fesm2022/foblex-flow.mjs.map +1 -1
  325. package/package.json +3 -3
  326. package/domain/get-connection.handler.d.ts +0 -12
  327. package/domain/get-external-nodes-rect/get-external-nodes-rect.execution.d.ts +0 -14
  328. package/domain/get-external-nodes-rect/get-external-nodes-rect.request.d.ts +0 -2
  329. package/domain/get-external-nodes-rect/index.d.ts +0 -2
  330. package/domain/get-incoming-connections.handler.d.ts +0 -13
  331. package/domain/get-outgoing-connections.handler.d.ts +0 -13
  332. package/domain/update-item-layer/index.d.ts +0 -2
  333. package/domain/update-item-layer/update-item-layer.execution.d.ts +0 -8
  334. package/esm2022/domain/get-connection.handler.mjs +0 -21
  335. package/esm2022/domain/get-external-nodes-rect/get-external-nodes-rect.execution.mjs +0 -35
  336. package/esm2022/domain/get-external-nodes-rect/get-external-nodes-rect.request.mjs +0 -3
  337. package/esm2022/domain/get-external-nodes-rect/index.mjs +0 -3
  338. package/esm2022/domain/get-incoming-connections.handler.mjs +0 -24
  339. package/esm2022/domain/get-outgoing-connections.handler.mjs +0 -24
  340. package/esm2022/domain/update-item-layer/index.mjs +0 -3
  341. package/esm2022/domain/update-item-layer/update-item-layer.execution.mjs +0 -28
  342. package/esm2022/domain/update-item-layer/update-item-layer.request.mjs +0 -9
  343. package/esm2022/f-draggable/e-f-draggable-type.mjs +0 -13
  344. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.execution.mjs +0 -58
  345. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.request.mjs +0 -7
  346. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.validator.mjs +0 -26
  347. package/esm2022/f-draggable/external-item/external-item-finalize/index.mjs +0 -5
  348. package/esm2022/f-draggable/external-item/external-item-finalize/providers.mjs +0 -7
  349. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.execution.mjs +0 -44
  350. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.request.mjs +0 -7
  351. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  352. package/esm2022/f-draggable/external-item/external-item-preparation/index.mjs +0 -5
  353. package/esm2022/f-draggable/external-item/external-item-preparation/providers.mjs +0 -7
  354. package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +0 -38
  355. package/esm2022/f-draggable/external-item/f-create-node.event.mjs +0 -9
  356. package/esm2022/f-draggable/external-item/index.mjs +0 -6
  357. package/esm2022/f-draggable/external-item/providers.mjs +0 -7
  358. package/esm2022/f-draggable/selection-area/index.mjs +0 -5
  359. package/esm2022/f-draggable/selection-area/providers.mjs +0 -7
  360. package/esm2022/f-draggable/selection-area/selection-area-finalize/index.mjs +0 -5
  361. package/esm2022/f-draggable/selection-area/selection-area-finalize/providers.mjs +0 -7
  362. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.execution.mjs +0 -27
  363. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.request.mjs +0 -7
  364. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  365. package/esm2022/f-draggable/selection-area/selection-area-preparation/index.mjs +0 -5
  366. package/esm2022/f-draggable/selection-area/selection-area-preparation/providers.mjs +0 -7
  367. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.execution.mjs +0 -41
  368. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.request.mjs +0 -7
  369. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.validator.mjs +0 -31
  370. package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +0 -57
  371. package/esm2022/f-node/is-node.mjs +0 -4
  372. package/esm2022/f-selection-area/domain/i-selection-area-rect.mjs +0 -2
  373. package/f-draggable/e-f-draggable-type.d.ts +0 -11
  374. package/f-draggable/external-item/providers.d.ts +0 -1
  375. package/f-draggable/selection-area/index.d.ts +0 -4
  376. package/f-draggable/selection-area/providers.d.ts +0 -1
  377. package/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.request.d.ts +0 -5
  378. package/f-selection-area/domain/i-selection-area-rect.d.ts +0 -6
  379. /package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/external-item-finalize.request.d.ts +0 -0
  380. /package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/index.d.ts +0 -0
  381. /package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/providers.d.ts +0 -0
  382. /package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/external-item-preparation.request.d.ts +0 -0
  383. /package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/external-item-preparation.validator.d.ts +0 -0
  384. /package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/index.d.ts +0 -0
  385. /package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/providers.d.ts +0 -0
  386. /package/{f-draggable/external-item → f-external-item/domain}/f-create-node.event.d.ts +0 -0
  387. /package/{f-draggable/external-item → f-external-item/domain}/index.d.ts +0 -0
  388. /package/f-node/{is-node.d.ts → domain/is-node.d.ts} +0 -0
  389. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/index.d.ts +0 -0
  390. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/providers.d.ts +0 -0
  391. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/selection-area-finalize.request.d.ts +0 -0
  392. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-preparation/index.d.ts +0 -0
  393. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-preparation/providers.d.ts +0 -0
@@ -0,0 +1,147 @@
1
+ import { Directive, EventEmitter, Input, Output, } from "@angular/core";
2
+ import { PointExtensions } from '@foblex/core';
3
+ import { F_NODE, FNodeBase } from './f-node-base';
4
+ import { debounceTime, merge, startWith, Subscription } from 'rxjs';
5
+ import { FResizeObserver } from './f-resize-observer';
6
+ import { CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest } from '../f-connectors';
7
+ import { EmitTransformChangesRequest } from '../domain';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../f-storage";
10
+ import * as i2 from "../infrastructure";
11
+ let uniqueId = 0;
12
+ export class FGroupDirective extends FNodeBase {
13
+ elementReference;
14
+ renderer;
15
+ fComponentsStore;
16
+ fMediator;
17
+ subscriptions$ = new Subscription();
18
+ fId = `f-group-${uniqueId++}`;
19
+ fParentId = null;
20
+ set position(value) {
21
+ this._position = PointExtensions.castToPoint(value);
22
+ this.refresh();
23
+ }
24
+ get position() {
25
+ return this._position;
26
+ }
27
+ positionChange = new EventEmitter();
28
+ set size(value) {
29
+ this._size = value;
30
+ this.refresh();
31
+ }
32
+ get size() {
33
+ return this._size;
34
+ }
35
+ sizeChange = new EventEmitter();
36
+ fDraggingDisabled = false;
37
+ fSelectionDisabled = false;
38
+ fIncludePadding = true;
39
+ fConnectOnNode = true;
40
+ get hostElement() {
41
+ return this.elementReference.nativeElement;
42
+ }
43
+ connectors = [];
44
+ constructor(elementReference, renderer, fComponentsStore, fMediator) {
45
+ super();
46
+ this.elementReference = elementReference;
47
+ this.renderer = renderer;
48
+ this.fComponentsStore = fComponentsStore;
49
+ this.fMediator = fMediator;
50
+ }
51
+ ngOnInit() {
52
+ this.setStyle('position', 'absolute');
53
+ this.setStyle('transform-origin', 'center');
54
+ this.setStyle('user-select', 'none');
55
+ this.setStyle('pointer-events', 'all');
56
+ this.setStyle('left', '0');
57
+ this.setStyle('top', '0');
58
+ super.redraw();
59
+ this.fComponentsStore.addComponent(this.fComponentsStore.fNodes, this);
60
+ }
61
+ setStyle(styleName, value) {
62
+ this.renderer.setStyle(this.hostElement, styleName, value);
63
+ }
64
+ redraw() {
65
+ super.redraw();
66
+ this.fMediator.send(new EmitTransformChangesRequest());
67
+ }
68
+ ngAfterViewInit() {
69
+ this.subscriptions$.add(this.subscribeOnResizeChanges());
70
+ }
71
+ subscribeOnResizeChanges() {
72
+ return merge(new FResizeObserver(this.hostElement), this.stateChanges).pipe(debounceTime(10), startWith(null)).subscribe(() => {
73
+ this.connectors.forEach((fConnector) => {
74
+ fConnector.fConnectableSide = new CalculateConnectorConnectableSideHandler().handle(new CalculateConnectorConnectableSideRequest(fConnector, this.hostElement));
75
+ });
76
+ this.fComponentsStore.componentDataChanged();
77
+ });
78
+ }
79
+ addConnector(connector) {
80
+ this.connectors.push(connector);
81
+ this.stateChanges.next();
82
+ }
83
+ removeConnector(connector) {
84
+ const index = this.connectors.indexOf(connector);
85
+ if (index !== -1) {
86
+ this.connectors.splice(index, 1);
87
+ }
88
+ this.stateChanges.next();
89
+ }
90
+ refresh() {
91
+ this.stateChanges.next();
92
+ }
93
+ ngOnDestroy() {
94
+ this.fComponentsStore.removeComponent(this.fComponentsStore.fNodes, this);
95
+ this.stateChanges.complete();
96
+ this.subscriptions$.unsubscribe();
97
+ }
98
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FGroupDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.FComponentsStore }, { token: i2.FFlowMediator }], target: i0.ɵɵFactoryTarget.Directive });
99
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: FGroupDirective, selector: "[fGroup]", inputs: { fId: ["fGroupId", "fId"], fParentId: ["fGroupParentId", "fParentId"], position: ["fGroupPosition", "position"], size: ["fGroupSize", "size"], fDraggingDisabled: ["fGroupDraggingDisabled", "fDraggingDisabled"], fSelectionDisabled: ["fGroupSelectionDisabled", "fSelectionDisabled"], fIncludePadding: "fIncludePadding", fConnectOnNode: "fConnectOnNode" }, outputs: { positionChange: "fGroupPositionChange", sizeChange: "fGroupSizeChange" }, host: { properties: { "attr.data-f-group-id": "fId", "class.f-group-dragging-disabled": "fDraggingDisabled", "class.f-group-selection-disabled": "fSelectionDisabled" }, classAttribute: "f-group f-component" }, providers: [
100
+ { provide: F_NODE, useExisting: FGroupDirective }
101
+ ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 });
102
+ }
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FGroupDirective, decorators: [{
104
+ type: Directive,
105
+ args: [{
106
+ selector: "[fGroup]",
107
+ exportAs: "fComponent",
108
+ host: {
109
+ '[attr.data-f-group-id]': 'fId',
110
+ class: "f-group f-component",
111
+ '[class.f-group-dragging-disabled]': 'fDraggingDisabled',
112
+ '[class.f-group-selection-disabled]': 'fSelectionDisabled',
113
+ },
114
+ providers: [
115
+ { provide: F_NODE, useExisting: FGroupDirective }
116
+ ],
117
+ }]
118
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.FComponentsStore }, { type: i2.FFlowMediator }], propDecorators: { fId: [{
119
+ type: Input,
120
+ args: ['fGroupId']
121
+ }], fParentId: [{
122
+ type: Input,
123
+ args: ['fGroupParentId']
124
+ }], position: [{
125
+ type: Input,
126
+ args: ['fGroupPosition']
127
+ }], positionChange: [{
128
+ type: Output,
129
+ args: ['fGroupPositionChange']
130
+ }], size: [{
131
+ type: Input,
132
+ args: ['fGroupSize']
133
+ }], sizeChange: [{
134
+ type: Output,
135
+ args: ['fGroupSizeChange']
136
+ }], fDraggingDisabled: [{
137
+ type: Input,
138
+ args: ['fGroupDraggingDisabled']
139
+ }], fSelectionDisabled: [{
140
+ type: Input,
141
+ args: ['fGroupSelectionDisabled']
142
+ }], fIncludePadding: [{
143
+ type: Input
144
+ }], fConnectOnNode: [{
145
+ type: Input
146
+ }] } });
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUMsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFDTCx3Q0FBd0MsRUFDeEMsd0NBQXdDLEVBRXpDLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBRXhELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWV6QixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxTQUFTO0lBb0RsQztJQUNBO0lBQ0E7SUFDQTtJQXBERixjQUFjLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7SUFHMUMsR0FBRyxHQUFXLFdBQVksUUFBUSxFQUFHLEVBQUUsQ0FBQztJQUd4QyxTQUFTLEdBQThCLElBQUksQ0FBQztJQUU1RCxJQUNvQixRQUFRLENBQUMsS0FBYTtRQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMs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RUFBRSxLQUFLO3dCQUMvQixLQUFLLEVBQUUscUJBQXFCO3dCQUM1QixtQ0FBbUMsRUFBRSxtQkFBbUI7d0JBQ3hELG9DQUFvQyxFQUFFLG9CQUFvQjtxQkFDM0Q7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLGlCQUFpQixFQUFFO3FCQUNsRDtpQkFDRjtrS0FPaUIsR0FBRztzQkFEbEIsS0FBSzt1QkFBQyxVQUFVO2dCQUlELFNBQVM7c0JBRHhCLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUlILFFBQVE7c0JBRDNCLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQVNQLGNBQWM7c0JBRDdCLE1BQU07dUJBQUMsc0JBQXNCO2dCQUlWLElBQUk7c0JBRHZCLEtBQUs7dUJBQUMsWUFBWTtnQkFTSCxVQUFVO3NCQUR6QixNQUFNO3VCQUFDLGtCQUFrQjtnQkFJVixpQkFBaUI7c0JBRGhDLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUlmLGtCQUFrQjtzQkFEakMsS0FBSzt1QkFBQyx5QkFBeUI7Z0JBSWhCLGVBQWU7c0JBRDlCLEtBQUs7Z0JBSVUsY0FBYztzQkFEN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50LCBJUG9pbnQsIElSZWN0LCBJU2l6ZSwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZfTk9ERSwgRk5vZGVCYXNlIH0gZnJvbSAnLi9mLW5vZGUtYmFzZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1lcmdlLCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRlJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnLi9mLXJlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZUhhbmRsZXIsXG4gIENhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZVJlcXVlc3QsXG4gIEZDb25uZWN0b3JCYXNlXG59IGZyb20gJy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRW1pdFRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0IH0gZnJvbSAnLi4vZG9tYWluJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2ZHcm91cF1cIixcbiAgZXhwb3J0QXM6IFwiZkNvbXBvbmVudFwiLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtZi1ncm91cC1pZF0nOiAnZklkJyxcbiAgICBjbGFzczogXCJmLWdyb3VwIGYtY29tcG9uZW50XCIsXG4gICAgJ1tjbGFzcy5mLWdyb3VwLWRyYWdnaW5nLWRpc2FibGVkXSc6ICdmRHJhZ2dpbmdEaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5mLWdyb3VwLXNlbGVjdGlvbi1kaXNhYmxlZF0nOiAnZlNlbGVjdGlvbkRpc2FibGVkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX05PREUsIHVzZUV4aXN0aW5nOiBGR3JvdXBEaXJlY3RpdmUgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGR3JvdXBEaXJlY3RpdmUgZXh0ZW5kcyBGTm9kZUJhc2VcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIElIYXNIb3N0RWxlbWVudCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KCdmR3JvdXBJZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQ6IHN0cmluZyA9IGBmLWdyb3VwLSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQElucHV0KCdmR3JvdXBQYXJlbnRJZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmUGFyZW50SWQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xuXG4gIEBJbnB1dCgnZkdyb3VwUG9zaXRpb24nKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHBvc2l0aW9uKHZhbHVlOiBJUG9pbnQpIHtcbiAgICB0aGlzLl9wb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5jYXN0VG9Qb2ludCh2YWx1ZSk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBwb3NpdGlvbigpOiBJUG9pbnQge1xuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvbjtcbiAgfVxuICBAT3V0cHV0KCdmR3JvdXBQb3NpdGlvbkNoYW5nZScpXG4gIHB1YmxpYyBvdmVycmlkZSBwb3NpdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPElQb2ludD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQb2ludD4oKTtcblxuICBASW5wdXQoJ2ZHcm91cFNpemUnKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHNpemUodmFsdWU6IElTaXplKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgc2l6ZSgpOiBJU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemUhO1xuICB9XG4gIEBPdXRwdXQoJ2ZHcm91cFNpemVDaGFuZ2UnKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2l6ZUNoYW5nZTogRXZlbnRFbWl0dGVyPElSZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVJlY3Q+KCk7XG5cbiAgQElucHV0KCdmR3JvdXBEcmFnZ2luZ0Rpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnZ2luZ0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdmR3JvdXBTZWxlY3Rpb25EaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkluY2x1ZGVQYWRkaW5nOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3RPbk5vZGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0b3JzOiBGQ29ubmVjdG9yQmFzZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdHlsZSgncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0cmFuc2Zvcm0tb3JpZ2luJywgJ2NlbnRlcicpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3VzZXItc2VsZWN0JywgJ25vbmUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdwb2ludGVyLWV2ZW50cycsICdhbGwnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdsZWZ0JywgJzAnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0b3AnLCAnMCcpO1xuICAgIHN1cGVyLnJlZHJhdygpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2RlcywgdGhpcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2V0U3R5bGUoc3R5bGVOYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaG9zdEVsZW1lbnQsIHN0eWxlTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlZHJhdygpOiB2b2lkIHtcbiAgICBzdXBlci5yZWRyYXcoKTtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBFbWl0VHJhbnNmb3JtQ2hhbmdlc1JlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQuYWRkKFxuICAgICAgdGhpcy5zdWJzY3JpYmVPblJlc2l6ZUNoYW5nZXMoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uUmVzaXplQ2hhbmdlcygpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiBtZXJnZShuZXcgRlJlc2l6ZU9ic2VydmVyKHRoaXMuaG9zdEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLCB0aGlzLnN0YXRlQ2hhbmdlcykucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgxMCksIHN0YXJ0V2l0aChudWxsKVxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdG9ycy5mb3JFYWNoKChmQ29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSkgPT4ge1xuICAgICAgICBmQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUgPSBuZXcgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlSGFuZGxlcigpLmhhbmRsZShcbiAgICAgICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlUmVxdWVzdChmQ29ubmVjdG9yLCB0aGlzLmhvc3RFbGVtZW50KVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBhZGRDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuY29ubmVjdG9ycy5wdXNoKGNvbm5lY3Rvcik7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlbW92ZUNvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmNvbm5lY3RvcnMuaW5kZXhPZihjb25uZWN0b3IpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMuY29ubmVjdG9ycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzLCB0aGlzKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
@@ -7,6 +7,7 @@ export class FNodeBase {
7
7
  stateChanges = new Subject();
8
8
  _position = PointExtensions.initialize();
9
9
  _size;
10
+ fCanBeResizedByChild = true;
10
11
  isContains(element) {
11
12
  return this.hostElement.contains(element);
12
13
  }
@@ -33,4 +34,4 @@ export class FNodeBase {
33
34
  this._size = value;
34
35
  }
35
36
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLW5vZGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBeUMsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLGlCQUFpQixDQUFDO0FBSWhFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBWSxRQUFRLENBQUMsQ0FBQztBQUU5RCxNQUFNLE9BQWdCLFNBQVM7SUFNYixZQUFZLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7SUFPeEQsU0FBUyxHQUFXLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQU9qRCxLQUFLLENBQW9CO0lBbUI1QixVQUFVLENBQUMsT0FBaUM7UUFDakQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsYUFBYyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUUsTUFBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUUsS0FBSyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sY0FBYyxDQUFDLFFBQWdCO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBWTtRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgSVJlY3QsIElTaXplLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9TRUxFQ1RFRF9DTEFTUywgSVNlbGVjdGFibGUgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSUhhc1N0YXRlQ2hhbmdlcyB9IGZyb20gJy4uL2ktaGFzLXN0YXRlLWNoYW5nZXMnO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgY29uc3QgRl9OT0RFID0gbmV3IEluamVjdGlvblRva2VuPEZOb2RlQmFzZT4oJ0ZfTk9ERScpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRk5vZGVCYXNlIGltcGxlbWVudHMgSUhhc1N0YXRlQ2hhbmdlcywgSVNlbGVjdGFibGUsIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGZJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXRlQ2hhbmdlczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblxuICBwdWJsaWMgYWJzdHJhY3QgcG9zaXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUG9pbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBwb3NpdGlvbjogSVBvaW50O1xuXG4gIHByb3RlY3RlZCBfcG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cblxuICBwdWJsaWMgYWJzdHJhY3Qgc2l6ZUNoYW5nZTogRXZlbnRFbWl0dGVyPElSZWN0PjtcblxuICBwdWJsaWMgYWJzdHJhY3Qgc2l6ZTogSVNpemU7XG5cbiAgcHJvdGVjdGVkIF9zaXplOiBJU2l6ZSB8IHVuZGVmaW5lZDtcblxuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRHJhZ2dpbmdEaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ29ubmVjdE9uTm9kZTogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVmcmVzaCgpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBjb25uZWN0b3JzOiBGQ29ubmVjdG9yQmFzZVtdO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBhZGRDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlbW92ZUNvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0U3R5bGUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jb250YWlucyhlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2l6ZSkge1xuICAgICAgdGhpcy5zZXRTdHlsZSgnd2lkdGgnLCAnJyArIHRoaXMuc2l6ZS53aWR0aCArICdweCcpO1xuICAgICAgdGhpcy5zZXRTdHlsZSgnaGVpZ2h0JywgJycgKyB0aGlzLnNpemUuaGVpZ2h0ICsgJ3B4Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdHlsZSgndHJhbnNmb3JtJywgYHRyYW5zbGF0ZSgkeyB0aGlzLnBvc2l0aW9uLnggfXB4LCR7IHRoaXMucG9zaXRpb24ueSB9cHgpYCk7XG4gIH1cblxuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKEZfU0VMRUNURURfQ0xBU1MpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUG9zaXRpb24ocG9zaXRpb246IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gcG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU2l6ZSh2YWx1ZTogSVNpemUpOiB2b2lkIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gIH1cbn1cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLW5vZGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBeUMsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLGlCQUFpQixDQUFDO0FBSWhFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBWSxRQUFRLENBQUMsQ0FBQztBQUU5RCxNQUFNLE9BQWdCLFNBQVM7SUFRYixZQUFZLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7SUFPeEQsU0FBUyxHQUFXLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQU9qRCxLQUFLLENBQW9CO0lBUzVCLG9CQUFvQixHQUFZLElBQUksQ0FBQztJQWNyQyxVQUFVLENBQUMsT0FBaUM7UUFDakQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsYUFBYyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUUsTUFBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUUsS0FBSyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sY0FBYyxDQUFDLFFBQWdCO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBWTtRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgSVJlY3QsIElTaXplLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9TRUxFQ1RFRF9DTEFTUywgSVNlbGVjdGFibGUgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSUhhc1N0YXRlQ2hhbmdlcyB9IGZyb20gJy4uL2ktaGFzLXN0YXRlLWNoYW5nZXMnO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgY29uc3QgRl9OT0RFID0gbmV3IEluamVjdGlvblRva2VuPEZOb2RlQmFzZT4oJ0ZfTk9ERScpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRk5vZGVCYXNlIGltcGxlbWVudHMgSUhhc1N0YXRlQ2hhbmdlcywgSVNlbGVjdGFibGUsIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGZJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUGFyZW50SWQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuXG4gIHB1YmxpYyBhYnN0cmFjdCBwb3NpdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPElQb2ludD47XG5cbiAgcHVibGljIGFic3RyYWN0IHBvc2l0aW9uOiBJUG9pbnQ7XG5cbiAgcHJvdGVjdGVkIF9wb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuXG4gIHB1YmxpYyBhYnN0cmFjdCBzaXplQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVJlY3Q+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBzaXplOiBJU2l6ZTtcblxuICBwcm90ZWN0ZWQgX3NpemU6IElTaXplIHwgdW5kZWZpbmVkO1xuXG5cbiAgcHVibGljIGFic3RyYWN0IGZEcmFnZ2luZ0Rpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU2VsZWN0aW9uRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IGZDb25uZWN0T25Ob2RlOiBib29sZWFuO1xuXG4gIHB1YmxpYyBmQ2FuQmVSZXNpemVkQnlDaGlsZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIGFic3RyYWN0IGZJbmNsdWRlUGFkZGluZzogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVmcmVzaCgpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBjb25uZWN0b3JzOiBGQ29ubmVjdG9yQmFzZVtdO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBhZGRDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlbW92ZUNvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0U3R5bGUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jb250YWlucyhlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2l6ZSkge1xuICAgICAgdGhpcy5zZXRTdHlsZSgnd2lkdGgnLCAnJyArIHRoaXMuc2l6ZS53aWR0aCArICdweCcpO1xuICAgICAgdGhpcy5zZXRTdHlsZSgnaGVpZ2h0JywgJycgKyB0aGlzLnNpemUuaGVpZ2h0ICsgJ3B4Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdHlsZSgndHJhbnNmb3JtJywgYHRyYW5zbGF0ZSgkeyB0aGlzLnBvc2l0aW9uLnggfXB4LCR7IHRoaXMucG9zaXRpb24ueSB9cHgpYCk7XG4gIH1cblxuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKEZfU0VMRUNURURfQ0xBU1MpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUG9zaXRpb24ocG9zaXRpb246IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gcG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU2l6ZSh2YWx1ZTogSVNpemUpOiB2b2lkIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gIH1cbn1cbiJdfQ==
@@ -1,10 +1,10 @@
1
1
  import { Directive, EventEmitter, Input, Output, } from "@angular/core";
2
2
  import { PointExtensions } from '@foblex/core';
3
- import { F_NODE, FNodeBase } from './f-node-base';
4
3
  import { debounceTime, merge, startWith, Subscription } from 'rxjs';
5
4
  import { FResizeObserver } from './f-resize-observer';
6
5
  import { CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest } from '../f-connectors';
7
6
  import { EmitTransformChangesRequest } from '../domain';
7
+ import { F_NODE, FNodeBase } from './f-node-base';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../f-storage";
10
10
  import * as i2 from "../infrastructure";
@@ -16,6 +16,7 @@ export class FNodeDirective extends FNodeBase {
16
16
  fMediator;
17
17
  subscriptions$ = new Subscription();
18
18
  fId = `f-node-${uniqueId++}`;
19
+ fParentId = null;
19
20
  set position(value) {
20
21
  this._position = PointExtensions.castToPoint(value);
21
22
  this.refresh();
@@ -34,6 +35,8 @@ export class FNodeDirective extends FNodeBase {
34
35
  sizeChange = new EventEmitter();
35
36
  fDraggingDisabled = false;
36
37
  fSelectionDisabled = false;
38
+ fIncludePadding = true;
39
+ //TODO: Add ability to connect to first connectable input if node is under pointer
37
40
  fConnectOnNode = true;
38
41
  get hostElement() {
39
42
  return this.elementReference.nativeElement;
@@ -71,7 +74,7 @@ export class FNodeDirective extends FNodeBase {
71
74
  this.connectors.forEach((fConnector) => {
72
75
  fConnector.fConnectableSide = new CalculateConnectorConnectableSideHandler().handle(new CalculateConnectorConnectableSideRequest(fConnector, this.hostElement));
73
76
  });
74
- this.fComponentsStore.changes.next();
77
+ this.fComponentsStore.componentDataChanged();
75
78
  });
76
79
  }
77
80
  addConnector(connector) {
@@ -94,7 +97,7 @@ export class FNodeDirective extends FNodeBase {
94
97
  this.subscriptions$.unsubscribe();
95
98
  }
96
99
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FNodeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.FComponentsStore }, { token: i2.FFlowMediator }], target: i0.ɵɵFactoryTarget.Directive });
97
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: FNodeDirective, selector: "[fNode]", inputs: { fId: ["fNodeId", "fId"], position: ["fNodePosition", "position"], size: ["fNodeSize", "size"], fDraggingDisabled: ["fNodeDraggingDisabled", "fDraggingDisabled"], fSelectionDisabled: ["fNodeSelectionDisabled", "fSelectionDisabled"], fConnectOnNode: "fConnectOnNode" }, outputs: { positionChange: "fNodePositionChange", sizeChange: "fNodeSizeChange" }, host: { properties: { "attr.data-f-node-id": "fId", "class.f-node-dragging-disabled": "fDraggingDisabled", "class.f-node-selection-disabled": "fSelectionDisabled" }, classAttribute: "f-node f-component" }, providers: [
100
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: FNodeDirective, selector: "[fNode]", inputs: { fId: ["fNodeId", "fId"], fParentId: ["fNodeParentId", "fParentId"], position: ["fNodePosition", "position"], size: ["fNodeSize", "size"], fDraggingDisabled: ["fNodeDraggingDisabled", "fDraggingDisabled"], fSelectionDisabled: ["fNodeSelectionDisabled", "fSelectionDisabled"], fIncludePadding: "fIncludePadding", fConnectOnNode: "fConnectOnNode" }, outputs: { positionChange: "fNodePositionChange", sizeChange: "fNodeSizeChange" }, host: { properties: { "attr.data-f-node-id": "fId", "class.f-node-dragging-disabled": "fDraggingDisabled", "class.f-node-selection-disabled": "fSelectionDisabled" }, classAttribute: "f-node f-component" }, providers: [
98
101
  { provide: F_NODE, useExisting: FNodeDirective }
99
102
  ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 });
100
103
  }
@@ -116,6 +119,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
116
119
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.FComponentsStore }, { type: i2.FFlowMediator }], propDecorators: { fId: [{
117
120
  type: Input,
118
121
  args: ['fNodeId']
122
+ }], fParentId: [{
123
+ type: Input,
124
+ args: ['fNodeParentId']
119
125
  }], position: [{
120
126
  type: Input,
121
127
  args: ['fNodePosition']
@@ -134,7 +140,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
134
140
  }], fSelectionDisabled: [{
135
141
  type: Input,
136
142
  args: ['fNodeSelectionDisabled']
143
+ }], fIncludePadding: [{
144
+ type: Input
137
145
  }], fConnectOnNode: [{
138
146
  type: Input
139
147
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1ub2RlL2Ytbm9kZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXlDLGVBQWUsRUFBYyxNQUFNLGNBQWMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLHdDQUF3QyxFQUV6QyxNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQUV4RCxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFlekIsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBNkNqQztJQUNBO0lBQ0E7SUFDQTtJQTlDRixjQUFjLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7SUFHMUMsR0FBRyxHQUFXLFVBQVcsUUFBUSxFQUFHLEVBQUUsQ0FBQztJQUV2RCxJQUNvQixRQUFRLENBQUMsS0FBaUI7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFBb0IsUUFBUTtRQUMxQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVlLGNBQWMsR0FB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LEVBQUUsbUJBQW1CO3dCQUN2RCxtQ0FBbUMsRUFBRSxvQkFBb0I7cUJBQzFEO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRTtxQkFDakQ7aUJBQ0Y7a0tBTWlCLEdBQUc7c0JBRGxCLEtBQUs7dUJBQUMsU0FBUztnQkFJSSxRQUFRO3NCQUQzQixLQUFLO3VCQUFDLGVBQWU7Z0JBU04sY0FBYztzQkFEN0IsTUFBTTt1QkFBQyxxQkFBcUI7Z0JBSVQsSUFBSTtzQkFEdkIsS0FBSzt1QkFBQyxXQUFXO2dCQVNGLFVBQVU7c0JBRHpCLE1BQU07dUJBQUMsaUJBQWlCO2dCQUlULGlCQUFpQjtzQkFEaEMsS0FBSzt1QkFBQyx1QkFBdUI7Z0JBSWQsa0JBQWtCO3NCQURqQyxLQUFLO3VCQUFDLHdCQUF3QjtnQkFJZixjQUFjO3NCQUQ3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgSVJlY3QsIElTaXplLCBQb2ludEV4dGVuc2lvbnMsIFBvaW50SW5wdXQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9OT0RFLCBGTm9kZUJhc2UgfSBmcm9tICcuL2Ytbm9kZS1iYXNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWVyZ2UsIHN0YXJ0V2l0aCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuL2YtcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlSGFuZGxlcixcbiAgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlUmVxdWVzdCxcbiAgRkNvbm5lY3RvckJhc2Vcbn0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZGbG93TWVkaWF0b3IgfSBmcm9tICcuLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBFbWl0VHJhbnNmb3JtQ2hhbmdlc1JlcXVlc3QgfSBmcm9tICcuLi9kb21haW4nO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZk5vZGVdXCIsXG4gIGV4cG9ydEFzOiBcImZDb21wb25lbnRcIixcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtbm9kZS1pZF0nOiAnZklkJyxcbiAgICBjbGFzczogXCJmLW5vZGUgZi1jb21wb25lbnRcIixcbiAgICAnW2NsYXNzLmYtbm9kZS1kcmFnZ2luZy1kaXNhYmxlZF0nOiAnZkRyYWdnaW5nRGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZi1ub2RlLXNlbGVjdGlvbi1kaXNhYmxlZF0nOiAnZlNlbGVjdGlvbkRpc2FibGVkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX05PREUsIHVzZUV4aXN0aW5nOiBGTm9kZURpcmVjdGl2ZSB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZOb2RlRGlyZWN0aXZlIGV4dGVuZHMgRk5vZGVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBJSGFzSG9zdEVsZW1lbnQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIEBJbnB1dCgnZk5vZGVJZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQ6IHN0cmluZyA9IGBmLW5vZGUtJHsgdW5pcXVlSWQrKyB9YDtcblxuICBASW5wdXQoJ2ZOb2RlUG9zaXRpb24nKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHBvc2l0aW9uKHZhbHVlOiBQb2ludElucHV0KSB7XG4gICAgdGhpcy5fcG9zaXRpb24gPSBQb2ludEV4dGVuc2lvbnMuY2FzdFRvUG9pbnQodmFsdWUpO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgcG9zaXRpb24oKTogSVBvaW50IHtcbiAgICByZXR1cm4gdGhpcy5fcG9zaXRpb247XG4gIH1cbiAgQE91dHB1dCgnZk5vZGVQb3NpdGlvbkNoYW5nZScpXG4gIHB1YmxpYyBvdmVycmlkZSBwb3NpdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPElQb2ludD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQb2ludD4oKTtcblxuICBASW5wdXQoJ2ZOb2RlU2l6ZScpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgc2l6ZSh2YWx1ZTogSVNpemUpIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBzaXplKCk6IElTaXplIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZSE7XG4gIH1cbiAgQE91dHB1dCgnZk5vZGVTaXplQ2hhbmdlJylcbiAgcHVibGljIG92ZXJyaWRlIHNpemVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUmVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPElSZWN0PigpO1xuXG4gIEBJbnB1dCgnZk5vZGVEcmFnZ2luZ0Rpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnZ2luZ0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdmTm9kZVNlbGVjdGlvbkRpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdE9uTm9kZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3JcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0eWxlKCdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RyYW5zZm9ybS1vcmlnaW4nLCAnY2VudGVyJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndXNlci1zZWxlY3QnLCAnbm9uZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3BvaW50ZXItZXZlbnRzJywgJ2FsbCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ2xlZnQnLCAnMCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RvcCcsICcwJyk7XG4gICAgc3VwZXIucmVkcmF3KCk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmFkZENvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzLCB0aGlzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzZXRTdHlsZShzdHlsZU5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudCwgc3R5bGVOYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHN1cGVyLnJlZHJhdygpO1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5hZGQoXG4gICAgICB0aGlzLnN1YnNjcmliZU9uUmVzaXplQ2hhbmdlcygpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlT25SZXNpemVDaGFuZ2VzKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIG1lcmdlKG5ldyBGUmVzaXplT2JzZXJ2ZXIodGhpcy5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCksIHRoaXMuc3RhdGVDaGFuZ2VzKS5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDEwKSwgc3RhcnRXaXRoKG51bGwpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jb25uZWN0b3JzLmZvckVhY2goKGZDb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKSA9PiB7XG4gICAgICAgIGZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSA9IG5ldyBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVSZXF1ZXN0KGZDb25uZWN0b3IsIHRoaXMuaG9zdEVsZW1lbnQpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBhZGRDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuY29ubmVjdG9ycy5wdXNoKGNvbm5lY3Rvcik7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlbW92ZUNvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmNvbm5lY3RvcnMuaW5kZXhPZihjb25uZWN0b3IpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMuY29ubmVjdG9ycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzLCB0aGlzKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1ub2RlL2Ytbm9kZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXlDLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLHdDQUF3QyxFQUV6QyxNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUVsRCxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFlekIsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBd0RqQztJQUNBO0lBQ0E7SUFDQTtJQXpERixjQUFjLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7SUFHMUMsR0FBRyxHQUFXLFVBQVcsUUFBUSxFQUFHLEVBQUUsQ0FBQztJQUd2QyxTQUFTLEdBQThCLElBQUksQ0FBQztJQUU1RCxJQUNvQixRQUFRLENBQUMsS0FBYTtRQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FB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Q0osdUJBQXVCLEVBQUUsS0FBSzt3QkFDOUIsS0FBSyxFQUFFLG9CQUFvQjt3QkFDM0Isa0NBQWtDLEVBQUUsbUJBQW1CO3dCQUN2RCxtQ0FBbUMsRUFBRSxvQkFBb0I7cUJBQzFEO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRTtxQkFDakQ7aUJBQ0Y7a0tBTWlCLEdBQUc7c0JBRGxCLEtBQUs7dUJBQUMsU0FBUztnQkFJQSxTQUFTO3NCQUR4QixLQUFLO3VCQUFDLGVBQWU7Z0JBSUYsUUFBUTtzQkFEM0IsS0FBSzt1QkFBQyxlQUFlO2dCQVdOLGNBQWM7c0JBRDdCLE1BQU07dUJBQUMscUJBQXFCO2dCQUlULElBQUk7c0JBRHZCLEtBQUs7dUJBQUMsV0FBVztnQkFXRixVQUFVO3NCQUR6QixNQUFNO3VCQUFDLGlCQUFpQjtnQkFJVCxpQkFBaUI7c0JBRGhDLEtBQUs7dUJBQUMsdUJBQXVCO2dCQUlkLGtCQUFrQjtzQkFEakMsS0FBSzt1QkFBQyx3QkFBd0I7Z0JBSWYsZUFBZTtzQkFEOUIsS0FBSztnQkFLVSxjQUFjO3NCQUQ3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgSVJlY3QsIElTaXplLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtZXJnZSwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZSZXNpemVPYnNlcnZlciB9IGZyb20gJy4vZi1yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVIYW5kbGVyLFxuICBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVSZXF1ZXN0LFxuICBGQ29ubmVjdG9yQmFzZVxufSBmcm9tICcuLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkZsb3dNZWRpYXRvciB9IGZyb20gJy4uL2luZnJhc3RydWN0dXJlJztcbmltcG9ydCB7IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGX05PREUsIEZOb2RlQmFzZSB9IGZyb20gJy4vZi1ub2RlLWJhc2UnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZk5vZGVdXCIsXG4gIGV4cG9ydEFzOiBcImZDb21wb25lbnRcIixcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtbm9kZS1pZF0nOiAnZklkJyxcbiAgICBjbGFzczogXCJmLW5vZGUgZi1jb21wb25lbnRcIixcbiAgICAnW2NsYXNzLmYtbm9kZS1kcmFnZ2luZy1kaXNhYmxlZF0nOiAnZkRyYWdnaW5nRGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZi1ub2RlLXNlbGVjdGlvbi1kaXNhYmxlZF0nOiAnZlNlbGVjdGlvbkRpc2FibGVkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX05PREUsIHVzZUV4aXN0aW5nOiBGTm9kZURpcmVjdGl2ZSB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZOb2RlRGlyZWN0aXZlIGV4dGVuZHMgRk5vZGVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBJSGFzSG9zdEVsZW1lbnQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIEBJbnB1dCgnZk5vZGVJZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQ6IHN0cmluZyA9IGBmLW5vZGUtJHsgdW5pcXVlSWQrKyB9YDtcblxuICBASW5wdXQoJ2ZOb2RlUGFyZW50SWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlBhcmVudElkOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcblxuICBASW5wdXQoJ2ZOb2RlUG9zaXRpb24nKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHBvc2l0aW9uKHZhbHVlOiBJUG9pbnQpIHtcbiAgICB0aGlzLl9wb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5jYXN0VG9Qb2ludCh2YWx1ZSk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHBvc2l0aW9uKCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uO1xuICB9XG5cbiAgQE91dHB1dCgnZk5vZGVQb3NpdGlvbkNoYW5nZScpXG4gIHB1YmxpYyBvdmVycmlkZSBwb3NpdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPElQb2ludD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQb2ludD4oKTtcblxuICBASW5wdXQoJ2ZOb2RlU2l6ZScpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgc2l6ZSh2YWx1ZTogSVNpemUpIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHNpemUoKTogSVNpemUge1xuICAgIHJldHVybiB0aGlzLl9zaXplITtcbiAgfVxuXG4gIEBPdXRwdXQoJ2ZOb2RlU2l6ZUNoYW5nZScpXG4gIHB1YmxpYyBvdmVycmlkZSBzaXplQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVJlY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUmVjdD4oKTtcblxuICBASW5wdXQoJ2ZOb2RlRHJhZ2dpbmdEaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ2dpbmdEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnZk5vZGVTZWxlY3Rpb25EaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkluY2x1ZGVQYWRkaW5nOiBib29sZWFuID0gdHJ1ZTtcblxuICAvL1RPRE86IEFkZCBhYmlsaXR5IHRvIGNvbm5lY3QgdG8gZmlyc3QgY29ubmVjdGFibGUgaW5wdXQgaWYgbm9kZSBpcyB1bmRlciBwb2ludGVyXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdE9uTm9kZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3JcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0eWxlKCdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RyYW5zZm9ybS1vcmlnaW4nLCAnY2VudGVyJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndXNlci1zZWxlY3QnLCAnbm9uZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3BvaW50ZXItZXZlbnRzJywgJ2FsbCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ2xlZnQnLCAnMCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RvcCcsICcwJyk7XG4gICAgc3VwZXIucmVkcmF3KCk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmFkZENvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzLCB0aGlzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzZXRTdHlsZShzdHlsZU5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudCwgc3R5bGVOYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHN1cGVyLnJlZHJhdygpO1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5hZGQoXG4gICAgICB0aGlzLnN1YnNjcmliZU9uUmVzaXplQ2hhbmdlcygpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlT25SZXNpemVDaGFuZ2VzKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIG1lcmdlKG5ldyBGUmVzaXplT2JzZXJ2ZXIodGhpcy5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCksIHRoaXMuc3RhdGVDaGFuZ2VzKS5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDEwKSwgc3RhcnRXaXRoKG51bGwpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jb25uZWN0b3JzLmZvckVhY2goKGZDb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKSA9PiB7XG4gICAgICAgIGZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSA9IG5ldyBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVSZXF1ZXN0KGZDb25uZWN0b3IsIHRoaXMuaG9zdEVsZW1lbnQpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGFkZENvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JzLnB1c2goY29ubmVjdG9yKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ29ubmVjdG9yKGNvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY29ubmVjdG9ycy5pbmRleE9mKGNvbm5lY3Rvcik7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5jb25uZWN0b3JzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUucmVtb3ZlQ29tcG9uZW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXMsIHRoaXMpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -1,9 +1,10 @@
1
+ export * from './domain';
1
2
  export * from './f-drag-handle';
2
3
  export * from './f-resize-handle';
3
4
  export * from './f-rotate-handle';
5
+ export * from './f-group.directive';
4
6
  export * from './f-node.directive';
5
7
  export * from './f-node-base';
6
8
  export * from './f-resize-observer';
7
- export * from './is-node';
8
9
  export * from './providers';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsY0FBYyxXQUFXLENBQUM7QUFFMUIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtZHJhZy1oYW5kbGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtcmVzaXplLWhhbmRsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1yb3RhdGUtaGFuZGxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUuZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1yZXNpemUtb2JzZXJ2ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2lzLW5vZGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cblxuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG9tYWluJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWctaGFuZGxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXJlc2l6ZS1oYW5kbGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytcm90YXRlLWhhbmRsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1ncm91cC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZS1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXJlc2l6ZS1vYnNlcnZlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuXG4iXX0=
@@ -1,10 +1,11 @@
1
1
  import { FNodeDirective } from './f-node.directive';
2
2
  import { FDragHandleDirective } from './f-drag-handle';
3
3
  import { FResizeHandleDirective } from './f-resize-handle';
4
+ import { FGroupDirective } from './f-group.directive';
4
5
  export const F_NODE_PROVIDERS = [
6
+ FGroupDirective,
5
7
  FNodeDirective,
6
8
  FDragHandleDirective,
7
9
  FResizeHandleDirective,
8
- // FRotateHandleDirective
9
10
  ];
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLW5vZGUvcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUczRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUU5QixjQUFjO0lBRWQsb0JBQW9CO0lBRXBCLHNCQUFzQjtJQUV0Qix5QkFBeUI7Q0FDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZOb2RlRGlyZWN0aXZlIH0gZnJvbSAnLi9mLW5vZGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZEcmFnSGFuZGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9mLWRyYWctaGFuZGxlJztcbmltcG9ydCB7IEZSZXNpemVIYW5kbGVEaXJlY3RpdmUgfSBmcm9tICcuL2YtcmVzaXplLWhhbmRsZSc7XG5pbXBvcnQgeyBGUm90YXRlSGFuZGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9mLXJvdGF0ZS1oYW5kbGUnO1xuXG5leHBvcnQgY29uc3QgRl9OT0RFX1BST1ZJREVSUyA9IFtcblxuICBGTm9kZURpcmVjdGl2ZSxcblxuICBGRHJhZ0hhbmRsZURpcmVjdGl2ZSxcblxuICBGUmVzaXplSGFuZGxlRGlyZWN0aXZlLFxuXG4gIC8vIEZSb3RhdGVIYW5kbGVEaXJlY3RpdmVcbl07XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLW5vZGUvcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFFOUIsZUFBZTtJQUVmLGNBQWM7SUFFZCxvQkFBb0I7SUFFcEIsc0JBQXNCO0NBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTm9kZURpcmVjdGl2ZSB9IGZyb20gJy4vZi1ub2RlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGRHJhZ0hhbmRsZURpcmVjdGl2ZSB9IGZyb20gJy4vZi1kcmFnLWhhbmRsZSc7XG5pbXBvcnQgeyBGUmVzaXplSGFuZGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9mLXJlc2l6ZS1oYW5kbGUnO1xuaW1wb3J0IHsgRkdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9mLWdyb3VwLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBGX05PREVfUFJPVklERVJTID0gW1xuXG4gIEZHcm91cERpcmVjdGl2ZSxcblxuICBGTm9kZURpcmVjdGl2ZSxcblxuICBGRHJhZ0hhbmRsZURpcmVjdGl2ZSxcblxuICBGUmVzaXplSGFuZGxlRGlyZWN0aXZlLFxuXTtcbiJdfQ==
@@ -1,2 +1,5 @@
1
- export * from './i-selection-area-rect';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ktc2VsZWN0aW9uLWFyZWEtcmVjdCc7XG4iXX0=
1
+ export * from './selection-area-finalize';
2
+ export * from './selection-area-preparation';
3
+ export * from './providers';
4
+ export * from './selection-area.drag-handle';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Rpb24tYXJlYS1maW5hbGl6ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLWFyZWEuZHJhZy1oYW5kbGUnO1xuIl19
@@ -0,0 +1,7 @@
1
+ import { SELECTION_AREA_FINALIZE_PROVIDERS } from './selection-area-finalize';
2
+ import { SELECTION_AREA_PREPARATION_PROVIDERS } from './selection-area-preparation';
3
+ export const F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS = [
4
+ ...SELECTION_AREA_FINALIZE_PROVIDERS,
5
+ ...SELECTION_AREA_PREPARATION_PROVIDERS
6
+ ];
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2RvbWFpbi9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFcEYsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUc7SUFFdEQsR0FBRyxpQ0FBaUM7SUFFcEMsR0FBRyxvQ0FBb0M7Q0FDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNFTEVDVElPTl9BUkVBX0ZJTkFMSVpFX1BST1ZJREVSUyB9IGZyb20gJy4vc2VsZWN0aW9uLWFyZWEtZmluYWxpemUnO1xuaW1wb3J0IHsgU0VMRUNUSU9OX0FSRUFfUFJFUEFSQVRJT05fUFJPVklERVJTIH0gZnJvbSAnLi9zZWxlY3Rpb24tYXJlYS1wcmVwYXJhdGlvbic7XG5cbmV4cG9ydCBjb25zdCBGX1NFTEVDVElPTl9BUkVBX0RSQUdfQU5EX0RST1BfUFJPVklERVJTID0gW1xuXG4gIC4uLlNFTEVDVElPTl9BUkVBX0ZJTkFMSVpFX1BST1ZJREVSUyxcblxuICAuLi5TRUxFQ1RJT05fQVJFQV9QUkVQQVJBVElPTl9QUk9WSURFUlNcbl07XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './providers';
2
+ export * from './selection-area-finalize.execution';
3
+ export * from './selection-area-finalize.request';
4
+ export * from './selection-area-finalize.validator';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL3NlbGVjdGlvbi1hcmVhLWZpbmFsaXplL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGlvbi1hcmVhLWZpbmFsaXplLmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLWFyZWEtZmluYWxpemUucmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLWFyZWEtZmluYWxpemUudmFsaWRhdG9yJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { SelectionAreaFinalizeExecution } from './selection-area-finalize.execution';
2
+ import { SelectionAreaFinalizeValidator } from './selection-area-finalize.validator';
3
+ export const SELECTION_AREA_FINALIZE_PROVIDERS = [
4
+ SelectionAreaFinalizeExecution,
5
+ SelectionAreaFinalizeValidator,
6
+ ];
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2RvbWFpbi9zZWxlY3Rpb24tYXJlYS1maW5hbGl6ZS9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFckYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUc7SUFFL0MsOEJBQThCO0lBRTlCLDhCQUE4QjtDQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uQXJlYUZpbmFsaXplRXhlY3V0aW9uIH0gZnJvbSAnLi9zZWxlY3Rpb24tYXJlYS1maW5hbGl6ZS5leGVjdXRpb24nO1xuaW1wb3J0IHsgU2VsZWN0aW9uQXJlYUZpbmFsaXplVmFsaWRhdG9yIH0gZnJvbSAnLi9zZWxlY3Rpb24tYXJlYS1maW5hbGl6ZS52YWxpZGF0b3InO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUSU9OX0FSRUFfRklOQUxJWkVfUFJPVklERVJTID0gW1xuXG4gIFNlbGVjdGlvbkFyZWFGaW5hbGl6ZUV4ZWN1dGlvbixcblxuICBTZWxlY3Rpb25BcmVhRmluYWxpemVWYWxpZGF0b3IsXG5dO1xuIl19
@@ -0,0 +1,27 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { SelectionAreaFinalizeRequest } from './selection-area-finalize.request';
4
+ import { FExecutionRegister } from '../../../infrastructure';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../f-draggable";
7
+ let SelectionAreaFinalizeExecution = class SelectionAreaFinalizeExecution {
8
+ fDraggableDataContext;
9
+ constructor(fDraggableDataContext) {
10
+ this.fDraggableDataContext = fDraggableDataContext;
11
+ }
12
+ handle(request) {
13
+ this.fDraggableDataContext.draggableItems.forEach((x) => {
14
+ x.complete?.();
15
+ });
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectionAreaFinalizeExecution, deps: [{ token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
18
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectionAreaFinalizeExecution });
19
+ };
20
+ SelectionAreaFinalizeExecution = __decorate([
21
+ FExecutionRegister(SelectionAreaFinalizeRequest)
22
+ ], SelectionAreaFinalizeExecution);
23
+ export { SelectionAreaFinalizeExecution };
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectionAreaFinalizeExecution, decorators: [{
25
+ type: Injectable
26
+ }], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEtZmluYWxpemUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2RvbWFpbi9zZWxlY3Rpb24tYXJlYS1maW5hbGl6ZS9zZWxlY3Rpb24tYXJlYS1maW5hbGl6ZS5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0seUJBQXlCLENBQUM7OztBQUtsRSxJQUFNLDhCQUE4QixHQUFwQyxNQUFNLDhCQUE4QjtJQUcvQjtJQURWLFlBQ1UscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFFdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFxQztRQUNqRCxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RELENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FYVSw4QkFBOEI7MkdBQTlCLDhCQUE4Qjs7QUFBOUIsOEJBQThCO0lBRDFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDO0dBQ3BDLDhCQUE4QixDQVkxQzs7MkZBWlksOEJBQThCO2tCQUYxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQXJlYUZpbmFsaXplUmVxdWVzdCB9IGZyb20gJy4vc2VsZWN0aW9uLWFyZWEtZmluYWxpemUucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoU2VsZWN0aW9uQXJlYUZpbmFsaXplUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25BcmVhRmluYWxpemVFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPFNlbGVjdGlvbkFyZWFGaW5hbGl6ZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogU2VsZWN0aW9uQXJlYUZpbmFsaXplUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHguY29tcGxldGU/LigpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class SelectionAreaFinalizeRequest {
2
+ event;
3
+ constructor(event) {
4
+ this.event = event;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEtZmluYWxpemUucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1zZWxlY3Rpb24tYXJlYS9kb21haW4vc2VsZWN0aW9uLWFyZWEtZmluYWxpemUvc2VsZWN0aW9uLWFyZWEtZmluYWxpemUucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sNEJBQTRCO0lBRzlCO0lBRFQsWUFDUyxLQUFvQjtRQUFwQixVQUFLLEdBQUwsS0FBSyxDQUFlO0lBRTdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uQXJlYUZpbmFsaXplUmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGV2ZW50OiBJUG9pbnRlckV2ZW50XG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { SelectionAreaFinalizeRequest } from './selection-area-finalize.request';
4
+ import { FValidatorRegister } from '../../../infrastructure';
5
+ import { SelectionAreaDragHandle } from '../selection-area.drag-handle';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../f-draggable";
8
+ let SelectionAreaFinalizeValidator = class SelectionAreaFinalizeValidator {
9
+ fDraggableDataContext;
10
+ constructor(fDraggableDataContext) {
11
+ this.fDraggableDataContext = fDraggableDataContext;
12
+ }
13
+ handle(request) {
14
+ return this.fDraggableDataContext.draggableItems.some((x) => x instanceof SelectionAreaDragHandle);
15
+ }
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectionAreaFinalizeValidator, deps: [{ token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
17
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectionAreaFinalizeValidator });
18
+ };
19
+ SelectionAreaFinalizeValidator = __decorate([
20
+ FValidatorRegister(SelectionAreaFinalizeRequest)
21
+ ], SelectionAreaFinalizeValidator);
22
+ export { SelectionAreaFinalizeValidator };
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectionAreaFinalizeValidator, decorators: [{
24
+ type: Injectable
25
+ }], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEtZmluYWxpemUudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2RvbWFpbi9zZWxlY3Rpb24tYXJlYS1maW5hbGl6ZS9zZWxlY3Rpb24tYXJlYS1maW5hbGl6ZS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0seUJBQXlCLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQUlqRSxJQUFNLDhCQUE4QixHQUFwQyxNQUFNLDhCQUE4QjtJQUcvQjtJQURWLFlBQ1UscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFFdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFxQztRQUNqRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDMUQsQ0FBQyxZQUFZLHVCQUF1QixDQUNyQyxDQUFDO0lBQ0osQ0FBQzt1R0FYVSw4QkFBOEI7MkdBQTlCLDhCQUE4Qjs7QUFBOUIsOEJBQThCO0lBRDFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDO0dBQ3BDLDhCQUE4QixDQVkxQzs7MkZBWlksOEJBQThCO2tCQUYxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQXJlYUZpbmFsaXplUmVxdWVzdCB9IGZyb20gJy4vc2VsZWN0aW9uLWFyZWEtZmluYWxpemUucmVxdWVzdCc7XG5pbXBvcnQgeyBGVmFsaWRhdG9yUmVnaXN0ZXIsIElWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25BcmVhRHJhZ0hhbmRsZSB9IGZyb20gJy4uL3NlbGVjdGlvbi1hcmVhLmRyYWctaGFuZGxlJztcblxuQEluamVjdGFibGUoKVxuQEZWYWxpZGF0b3JSZWdpc3RlcihTZWxlY3Rpb25BcmVhRmluYWxpemVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbkFyZWFGaW5hbGl6ZVZhbGlkYXRvciBpbXBsZW1lbnRzIElWYWxpZGF0b3I8U2VsZWN0aW9uQXJlYUZpbmFsaXplUmVxdWVzdD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHRcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFNlbGVjdGlvbkFyZWFGaW5hbGl6ZVJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuc29tZSgoeCkgPT5cbiAgICAgIHggaW5zdGFuY2VvZiBTZWxlY3Rpb25BcmVhRHJhZ0hhbmRsZVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './providers';
2
+ export * from './selection-area-preparation.execution';
3
+ export * from './selection-area-preparation.request';
4
+ export * from './selection-area-preparation.validator';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL3NlbGVjdGlvbi1hcmVhLXByZXBhcmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGlvbi1hcmVhLXByZXBhcmF0aW9uLmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24udmFsaWRhdG9yJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { SelectionAreaPreparationExecution } from './selection-area-preparation.execution';
2
+ import { SelectionAreaPreparationValidator } from './selection-area-preparation.validator';
3
+ export const SELECTION_AREA_PREPARATION_PROVIDERS = [
4
+ SelectionAreaPreparationExecution,
5
+ SelectionAreaPreparationValidator,
6
+ ];
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2RvbWFpbi9zZWxlY3Rpb24tYXJlYS1wcmVwYXJhdGlvbi9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFM0YsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUc7SUFFbEQsaUNBQWlDO0lBRWpDLGlDQUFpQztDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uQXJlYVByZXBhcmF0aW9uRXhlY3V0aW9uIH0gZnJvbSAnLi9zZWxlY3Rpb24tYXJlYS1wcmVwYXJhdGlvbi5leGVjdXRpb24nO1xuaW1wb3J0IHsgU2VsZWN0aW9uQXJlYVByZXBhcmF0aW9uVmFsaWRhdG9yIH0gZnJvbSAnLi9zZWxlY3Rpb24tYXJlYS1wcmVwYXJhdGlvbi52YWxpZGF0b3InO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUSU9OX0FSRUFfUFJFUEFSQVRJT05fUFJPVklERVJTID0gW1xuXG4gIFNlbGVjdGlvbkFyZWFQcmVwYXJhdGlvbkV4ZWN1dGlvbixcblxuICBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25WYWxpZGF0b3IsXG5dO1xuIl19
@@ -0,0 +1,41 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { SelectionAreaPreparationRequest } from './selection-area-preparation.request';
4
+ import { Point } from '@foblex/core';
5
+ import { FExecutionRegister } from '../../../infrastructure';
6
+ import { SelectionAreaDragHandle } from '../selection-area.drag-handle';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../f-storage";
9
+ import * as i2 from "../../../f-draggable";
10
+ import * as i3 from "../../../infrastructure";
11
+ let SelectionAreaPreparationExecution = class SelectionAreaPreparationExecution {
12
+ fComponentsStore;
13
+ fDraggableDataContext;
14
+ fMediator;
15
+ get flowHost() {
16
+ return this.fComponentsStore.fFlow.hostElement;
17
+ }
18
+ constructor(fComponentsStore, fDraggableDataContext, fMediator) {
19
+ this.fComponentsStore = fComponentsStore;
20
+ this.fDraggableDataContext = fDraggableDataContext;
21
+ this.fMediator = fMediator;
22
+ }
23
+ handle(request) {
24
+ this.fDraggableDataContext.draggableItems = [
25
+ new SelectionAreaDragHandle(this.fComponentsStore, request.fSelectionArea, this.fDraggableDataContext, this.fMediator)
26
+ ];
27
+ this.fDraggableDataContext.onPointerDownScale = 1;
28
+ this.fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
29
+ .elementTransform(this.flowHost);
30
+ }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectionAreaPreparationExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.FFlowMediator }], target: i0.ɵɵFactoryTarget.Injectable });
32
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectionAreaPreparationExecution });
33
+ };
34
+ SelectionAreaPreparationExecution = __decorate([
35
+ FExecutionRegister(SelectionAreaPreparationRequest)
36
+ ], SelectionAreaPreparationExecution);
37
+ export { SelectionAreaPreparationExecution };
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectionAreaPreparationExecution, decorators: [{
39
+ type: Injectable
40
+ }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FFlowMediator }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24uZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2RvbWFpbi9zZWxlY3Rpb24tYXJlYS1wcmVwYXJhdGlvbi9zZWxlY3Rpb24tYXJlYS1wcmVwYXJhdGlvbi5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQTZCLE1BQU0seUJBQXlCLENBQUM7QUFFeEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7O0FBS2pFLElBQU0saUNBQWlDLEdBQXZDLE1BQU0saUNBQWlDO0lBT2xDO0lBQ0E7SUFDQTtJQVBWLElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUNVLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsU0FBd0I7UUFGeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQWU7SUFFbEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUF3QztRQUNwRCxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxHQUFHO1lBQzFDLElBQUksdUJBQXVCLENBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUMxRjtTQUNGLENBQUM7UUFFRixJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDNUYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7dUdBdkJVLGlDQUFpQzsyR0FBakMsaUNBQWlDOztBQUFqQyxpQ0FBaUM7SUFEN0Msa0JBQWtCLENBQUMsK0JBQStCLENBQUM7R0FDdkMsaUNBQWlDLENBd0I3Qzs7MkZBeEJZLGlDQUFpQztrQkFGN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdGlvbkFyZWFQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL3NlbGVjdGlvbi1hcmVhLXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGRmxvd01lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25BcmVhRHJhZ0hhbmRsZSB9IGZyb20gJy4uL3NlbGVjdGlvbi1hcmVhLmRyYWctaGFuZGxlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2YtZHJhZ2dhYmxlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbkFyZWFQcmVwYXJhdGlvbkV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248U2VsZWN0aW9uQXJlYVByZXBhcmF0aW9uUmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgZ2V0IGZsb3dIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMgPSBbXG4gICAgICBuZXcgU2VsZWN0aW9uQXJlYURyYWdIYW5kbGUoXG4gICAgICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZSwgcmVxdWVzdC5mU2VsZWN0aW9uQXJlYSwgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQsIHRoaXMuZk1lZGlhdG9yXG4gICAgICApXG4gICAgXTtcblxuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSA9IDE7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uID0gUG9pbnQuZnJvbVBvaW50KHJlcXVlc3QuZXZlbnQuZ2V0UG9zaXRpb24oKSlcbiAgICAgIC5lbGVtZW50VHJhbnNmb3JtKHRoaXMuZmxvd0hvc3QpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export class SelectionAreaPreparationRequest {
2
+ event;
3
+ fSelectionArea;
4
+ constructor(event, fSelectionArea) {
5
+ this.event = event;
6
+ this.fSelectionArea = fSelectionArea;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24ucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1zZWxlY3Rpb24tYXJlYS9kb21haW4vc2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24vc2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24ucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sK0JBQStCO0lBR2pDO0lBQ0E7SUFGVCxZQUNTLEtBQW9CLEVBQ3BCLGNBQWtDO1FBRGxDLFVBQUssR0FBTCxLQUFLLENBQWU7UUFDcEIsbUJBQWMsR0FBZCxjQUFjLENBQW9CO0lBRTNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkFyZWFCYXNlIH0gZnJvbSAnLi4vLi4vZi1zZWxlY3Rpb24tYXJlYS1iYXNlJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbkFyZWFQcmVwYXJhdGlvblJlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBldmVudDogSVBvaW50ZXJFdmVudCxcbiAgICBwdWJsaWMgZlNlbGVjdGlvbkFyZWE6IEZTZWxlY3Rpb25BcmVhQmFzZVxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,30 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { SelectionAreaPreparationRequest } from './selection-area-preparation.request';
4
+ import { FValidatorRegister } from '../../../infrastructure';
5
+ import { MouseEventExtensions } from '@foblex/core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../f-draggable";
8
+ let SelectionAreaPreparationValidator = class SelectionAreaPreparationValidator {
9
+ fDraggableDataContext;
10
+ constructor(fDraggableDataContext) {
11
+ this.fDraggableDataContext = fDraggableDataContext;
12
+ }
13
+ handle(request) {
14
+ return this.isDragHandlesEmpty()
15
+ && MouseEventExtensions.isShiftPressed(request.event.originalEvent);
16
+ }
17
+ isDragHandlesEmpty() {
18
+ return !this.fDraggableDataContext.draggableItems.length;
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectionAreaPreparationValidator, deps: [{ token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
21
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectionAreaPreparationValidator });
22
+ };
23
+ SelectionAreaPreparationValidator = __decorate([
24
+ FValidatorRegister(SelectionAreaPreparationRequest)
25
+ ], SelectionAreaPreparationValidator);
26
+ export { SelectionAreaPreparationValidator };
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectionAreaPreparationValidator, decorators: [{
28
+ type: Injectable
29
+ }], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24udmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2RvbWFpbi9zZWxlY3Rpb24tYXJlYS1wcmVwYXJhdGlvbi9zZWxlY3Rpb24tYXJlYS1wcmVwYXJhdGlvbi52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFLN0MsSUFBTSxpQ0FBaUMsR0FBdkMsTUFBTSxpQ0FBaUM7SUFHbEM7SUFEVixZQUNVLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBRXRELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBd0M7UUFDcEQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7ZUFDM0Isb0JBQW9CLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDM0QsQ0FBQzt1R0FkVSxpQ0FBaUM7MkdBQWpDLGlDQUFpQzs7QUFBakMsaUNBQWlDO0lBRDdDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDO0dBQ3ZDLGlDQUFpQyxDQWU3Qzs7MkZBZlksaUNBQWlDO2tCQUY3QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQXJlYVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vc2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGVmFsaWRhdG9yUmVnaXN0ZXIsIElWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBNb3VzZUV2ZW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGVmFsaWRhdG9yUmVnaXN0ZXIoU2VsZWN0aW9uQXJlYVByZXBhcmF0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25WYWxpZGF0b3IgaW1wbGVtZW50cyBJVmFsaWRhdG9yPFNlbGVjdGlvbkFyZWFQcmVwYXJhdGlvblJlcXVlc3Q+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0XG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNEcmFnSGFuZGxlc0VtcHR5KClcbiAgICAgICYmIE1vdXNlRXZlbnRFeHRlbnNpb25zLmlzU2hpZnRQcmVzc2VkKHJlcXVlc3QuZXZlbnQub3JpZ2luYWxFdmVudCk7XG4gIH1cblxuICBwcml2YXRlIGlzRHJhZ0hhbmRsZXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmxlbmd0aDtcbiAgfVxufVxuIl19