@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
@@ -1,10 +1,14 @@
1
1
  import { ChangeDetectionStrategy, Component, ContentChildren, Input, ViewChild } from "@angular/core";
2
- import { CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, FConnectionBase, FConnectionDragHandleComponent, FConnectionSelectionComponent, } from '../common';
2
+ import { CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, FConnectionDragHandleComponent, FConnectionSelectionComponent, } from '../common';
3
3
  import { EFConnectionBehavior } from '../common';
4
4
  import { EFConnectionType } from '../common';
5
- import { F_CONNECTION } from '../common/f-connection.injection-token';
6
5
  import { FConnectionCenterDirective } from '../f-connection-center';
7
6
  import { castToEnum } from '../../domain';
7
+ import { F_CONNECTION } from '../common/f-connection.injection-token';
8
+ //TODO: Need to deal with cyclic dependencies, since in some cases an error occurs when importing them ../common
9
+ // TypeError: Class extends value undefined is not a constructor or null
10
+ // at f-connection-for-create.component.ts:34:11
11
+ import { FConnectionBase } from '../common/f-connection-base';
8
12
  import * as i0 from "@angular/core";
9
13
  import * as i1 from "../f-connection-builder";
10
14
  import * as i2 from "../../f-storage";
@@ -17,11 +21,11 @@ import * as i8 from "../common/f-selection/f-connection-selection.component";
17
21
  let uniqueId = 0;
18
22
  export class FConnectionComponent extends FConnectionBase {
19
23
  fComponentsStore;
20
- fConnectionId = `f-connection-${uniqueId++}`;
24
+ fId = `f-connection-${uniqueId++}`;
21
25
  _fText = '';
22
26
  set fText(value) {
23
27
  this._fText = value;
24
- this.fComponentsStore.changes.next();
28
+ this.fComponentsStore.componentDataChanged();
25
29
  }
26
30
  get fText() {
27
31
  return this._fText;
@@ -29,7 +33,7 @@ export class FConnectionComponent extends FConnectionBase {
29
33
  _fStartColor = 'black';
30
34
  set fStartColor(value) {
31
35
  this._fStartColor = value;
32
- this.fComponentsStore.changes.next();
36
+ this.fComponentsStore.componentDataChanged();
33
37
  }
34
38
  get fStartColor() {
35
39
  return this._fStartColor;
@@ -37,7 +41,7 @@ export class FConnectionComponent extends FConnectionBase {
37
41
  _fEndColor = 'black';
38
42
  set fEndColor(value) {
39
43
  this._fEndColor = value;
40
- this.fComponentsStore.changes.next();
44
+ this.fComponentsStore.componentDataChanged();
41
45
  }
42
46
  get fEndColor() {
43
47
  return this._fEndColor;
@@ -45,7 +49,7 @@ export class FConnectionComponent extends FConnectionBase {
45
49
  _fOutputId;
46
50
  set fOutputId(value) {
47
51
  this._fOutputId = value;
48
- this.fComponentsStore.changes.next();
52
+ this.fComponentsStore.componentDataChanged();
49
53
  }
50
54
  get fOutputId() {
51
55
  return this._fOutputId;
@@ -53,7 +57,7 @@ export class FConnectionComponent extends FConnectionBase {
53
57
  _fInputId;
54
58
  set fInputId(value) {
55
59
  this._fInputId = value;
56
- this.fComponentsStore.changes.next();
60
+ this.fComponentsStore.componentDataChanged();
57
61
  }
58
62
  get fInputId() {
59
63
  return this._fInputId;
@@ -61,7 +65,7 @@ export class FConnectionComponent extends FConnectionBase {
61
65
  _fRadius = 8;
62
66
  set fRadius(value) {
63
67
  this._fRadius = value;
64
- this.fComponentsStore.changes.next();
68
+ this.fComponentsStore.componentDataChanged();
65
69
  }
66
70
  get fRadius() {
67
71
  return this._fRadius;
@@ -69,7 +73,7 @@ export class FConnectionComponent extends FConnectionBase {
69
73
  _fOffset = 32;
70
74
  set fOffset(value) {
71
75
  this._fOffset = value;
72
- this.fComponentsStore.changes.next();
76
+ this.fComponentsStore.componentDataChanged();
73
77
  }
74
78
  get fOffset() {
75
79
  return this._fOffset;
@@ -77,7 +81,7 @@ export class FConnectionComponent extends FConnectionBase {
77
81
  _behavior = EFConnectionBehavior.FIXED;
78
82
  set fBehavior(value) {
79
83
  this._behavior = castToEnum(value, 'fBehavior', EFConnectionBehavior);
80
- this.fComponentsStore.changes.next();
84
+ this.fComponentsStore.componentDataChanged();
81
85
  }
82
86
  get fBehavior() {
83
87
  return this._behavior;
@@ -85,7 +89,7 @@ export class FConnectionComponent extends FConnectionBase {
85
89
  _type = EFConnectionType.STRAIGHT;
86
90
  set fType(value) {
87
91
  this._type = value; //castToEnum(value, 'fType', EFConnectionType);
88
- this.fComponentsStore.changes.next();
92
+ this.fComponentsStore.componentDataChanged();
89
93
  }
90
94
  get fType() {
91
95
  return this._type;
@@ -119,18 +123,19 @@ export class FConnectionComponent extends FConnectionBase {
119
123
  this.fComponentsStore.removeComponent(this.fComponentsStore.fConnections, this);
120
124
  }
121
125
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component });
122
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FConnectionComponent, selector: "f-connection", inputs: { fConnectionId: "fConnectionId", fText: "fText", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fRadius: "fRadius", fOffset: "fOffset", fBehavior: "fBehavior", fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fConnectionId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i5.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: i6.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i7.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i8.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
126
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FConnectionComponent, selector: "f-connection", inputs: { fId: ["fConnectionId", "fId"], fText: "fText", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fRadius: "fRadius", fOffset: "fOffset", fBehavior: "fBehavior", fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i5.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: i6.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i7.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i8.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
123
127
  }
124
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FConnectionComponent, decorators: [{
125
129
  type: Component,
126
130
  args: [{ selector: "f-connection", exportAs: 'fComponent', changeDetection: ChangeDetectionStrategy.OnPush, host: {
127
- '[attr.id]': 'fConnectionId',
131
+ '[attr.id]': 'fId',
128
132
  class: "f-component f-connection",
129
133
  '[class.f-connection-selection-disabled]': 'fSelectionDisabled',
130
134
  '[class.f-connection-reassign-disabled]': 'fDraggingDisabled',
131
135
  }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"] }]
132
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }, { type: i2.FComponentsStore }], propDecorators: { fConnectionId: [{
133
- type: Input
136
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }, { type: i2.FComponentsStore }], propDecorators: { fId: [{
137
+ type: Input,
138
+ args: ['fConnectionId']
134
139
  }], fText: [{
135
140
  type: Input
136
141
  }], fStartColor: [{
@@ -179,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
179
184
  type: ContentChildren,
180
185
  args: [FConnectionCenterDirective, { descendants: true }]
181
186
  }] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxlQUFlLEVBRTFCLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZUFBZSxFQUNmLGVBQWUsRUFDZiw4QkFBOEIsRUFDOUIsNkJBQTZCLEdBRzlCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3RFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7QUFFMUMsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBZ0J6QixNQUFNLE9BQU8sb0JBQ1QsU0FBUSxlQUFlO0lBeUliO0lBdElJLGFBQWEsR0FBVyxnQkFBaUIsUUFBUSxFQUFHLEVBQUUsQ0FBQztJQUUvRCxNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQzVCLElBQ29CLEtBQUssQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUks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RUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkzQyxVQUFVO3NCQUR6QixTQUFTO3VCQUFDLDZCQUE2QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJMUMsY0FBYztzQkFEN0IsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk1QixpQkFBaUI7c0JBRGhDLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUkxQyxrQkFBa0I7c0JBRHhCLGVBQWU7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBDT05ORUNUSU9OX0dSQURJRU5ULFxuICBDT05ORUNUSU9OX1BBVEgsXG4gIENPTk5FQ1RJT05fVEVYVCxcbiAgRkNvbm5lY3Rpb25CYXNlLFxuICBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQsXG4gIEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50LFxuICBJQ29ubmVjdGlvbkdyYWRpZW50LFxuICBJQ29ubmVjdGlvblBhdGgsIElDb25uZWN0aW9uVGV4dCxcbn0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvbkJlaGF2aW9yIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvblR5cGUgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTWFya2VyQmFzZSB9IGZyb20gJy4uL2YtbWFya2VyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWNlbnRlcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5pbXBvcnQgeyBjYXN0VG9FbnVtIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1jb25uZWN0aW9uXCIsXG4gIGV4cG9ydEFzOiAnZkNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZi1jb25uZWN0aW9uLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1jb25uZWN0aW9uLmNvbXBvbmVudC5zY3NzXCIgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2ZDb25uZWN0aW9uSWQnLFxuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtY29ubmVjdGlvblwiLFxuICAgICdbY2xhc3MuZi1jb25uZWN0aW9uLXNlbGVjdGlvbi1kaXNhYmxlZF0nOiAnZlNlbGVjdGlvbkRpc2FibGVkJyxcbiAgICAnW2NsYXNzLmYtY29ubmVjdGlvbi1yZWFzc2lnbi1kaXNhYmxlZF0nOiAnZkRyYWdnaW5nRGlzYWJsZWQnLFxuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX0NPTk5FQ1RJT04sIHVzZUV4aXN0aW5nOiBGQ29ubmVjdGlvbkNvbXBvbmVudCB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBGQ29ubmVjdGlvbkJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uSWQ6IHN0cmluZyA9IGBmLWNvbm5lY3Rpb24tJHsgdW5pcXVlSWQrKyB9YDtcblxuICBwcml2YXRlIF9mVGV4dDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZUZXh0ID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZlRleHQ7XG4gIH1cblxuICBwcml2YXRlIF9mU3RhcnRDb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmU3RhcnRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZlN0YXJ0Q29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmU3RhcnRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mU3RhcnRDb2xvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2ZFbmRDb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmRW5kQ29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZFbmRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZFbmRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mRW5kQ29sb3I7XG4gIH1cblxuICBwcml2YXRlIF9mT3V0cHV0SWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZk91dHB1dElkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mT3V0cHV0SWQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmT3V0cHV0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZk91dHB1dElkO1xuICB9XG5cbiAgcHJpdmF0ZSBfZklucHV0SWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZklucHV0SWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZJbnB1dElkID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZklucHV0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZklucHV0SWQ7XG4gIH1cblxuICBwcml2YXRlIF9mUmFkaXVzOiBudW1iZXIgPSA4O1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZSYWRpdXModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2ZSYWRpdXMgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmUmFkaXVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZSYWRpdXM7XG4gIH1cblxuICBwcml2YXRlIF9mT2Zmc2V0OiBudW1iZXIgPSAzMjtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmT2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9mT2Zmc2V0ID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZk9mZnNldCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9mT2Zmc2V0O1xuICB9XG5cbiAgcHJpdmF0ZSBfYmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZkJlaGF2aW9yKHZhbHVlOiBzdHJpbmcgfCBFRkNvbm5lY3Rpb25CZWhhdmlvcikge1xuICAgIHRoaXMuX2JlaGF2aW9yID0gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZCZWhhdmlvcicsIEVGQ29ubmVjdGlvbkJlaGF2aW9yKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmQmVoYXZpb3IoKTogRUZDb25uZWN0aW9uQmVoYXZpb3Ige1xuICAgIHJldHVybiB0aGlzLl9iZWhhdmlvcjtcbiAgfVxuXG4gIHByaXZhdGUgX3R5cGU6IEVGQ29ubmVjdGlvblR5cGUgPSBFRkNvbm5lY3Rpb25UeXBlLlNUUkFJR0hUO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZUeXBlKHZhbHVlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5fdHlwZSA9IHZhbHVlIGFzIHVua25vd24gYXMgRUZDb25uZWN0aW9uVHlwZTsgLy9jYXN0VG9FbnVtKHZhbHVlLCAnZlR5cGUnLCBFRkNvbm5lY3Rpb25UeXBlKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmVHlwZSgpOiBFRkNvbm5lY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIEBJbnB1dCgnZlJlYXNzaWduRGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnZGVmcycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRGVmcyE6IEVsZW1lbnRSZWY8U1ZHRGVmc0VsZW1lbnQ+O1xuXG4gIHB1YmxpYyBnZXQgZk1hcmtlcnMoKTogRk1hcmtlckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTWFya2Vycy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpO1xuICAgIH0pXG4gIH1cblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fUEFUSCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZQYXRoITogSUNvbm5lY3Rpb25QYXRoO1xuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9HUkFESUVOVCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZHcmFkaWVudCE6IElDb25uZWN0aW9uR3JhZGllbnQ7XG5cbiAgQFZpZXdDaGlsZChGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ0hhbmRsZSE6IEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbiE6IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9URVhULCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlRleHRDb21wb25lbnQhOiBJQ29ubmVjdGlvblRleHQ7XG5cbiAgQFZpZXdDaGlsZCgnZkNvbm5lY3Rpb25DZW50ZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uQ2VudGVyITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgZkNvbm5lY3Rpb25DZW50ZXJzITogUXVlcnlMaXN0PEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlPjtcbiAgcHVibGljIG92ZXJyaWRlIGdldCBib3VuZGluZ0VsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mUGF0aC5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBmQ29ubmVjdGlvbkZhY3Rvcnk6IEZDb25uZWN0aW9uRmFjdG9yeSxcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLCBmQ29ubmVjdGlvbkZhY3RvcnkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucywgdGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zLCB0aGlzKTtcbiAgfVxufVxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgc3R5bGU9XCJvdmVyZmxvdzogdmlzaWJsZTsgZGlzcGxheTogYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XCI+XG4gIDxkZWZzICNkZWZzPjwvZGVmcz5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8ZyBjbGFzcz1cImYtY29ubmVjdGlvbi1ncm91cFwiPlxuICAgIDxsaW5lYXJHcmFkaWVudCBmQ29ubmVjdGlvbkdyYWRpZW50PjwvbGluZWFyR3JhZGllbnQ+XG4gICAgPHBhdGggZkNvbm5lY3Rpb25TZWxlY3Rpb24gW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgIDxnPlxuICAgICAgPHBhdGggZi1jb25uZWN0aW9uLXBhdGggW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUgcj1cIjhcIj48L2NpcmNsZT5cbiAgICA8L2c+XG4gICAgPHRleHQgZi1jb25uZWN0aW9uLXRleHQ+PC90ZXh0PlxuICA8L2c+XG48L3N2Zz5cbjxkaXYgI2ZDb25uZWN0aW9uQ2VudGVyIGNsYXNzPVwiZi1jb25uZWN0aW9uLWNlbnRlclwiICpuZ0lmPVwiZkNvbm5lY3Rpb25DZW50ZXJzLmxlbmd0aFwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25DZW50ZXJdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxlQUFlLEVBRTFCLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZUFBZSxFQUNmLDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FHOUIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUc3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RSxnSEFBZ0g7QUFDaEgsd0VBQXdFO0FBQ3hFLGdEQUFnRDtBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7QUFFOUQsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBZ0J6QixNQUFNLE9BQU8sb0JBQ1QsU0FBUSxlQUFlO0lBeUliO0lBdElJLEdBQUcsR0FBVyxnQkFBaUIsUUFBUSxFQUFHLEVBQUUsQ0FBQztJQUVyRCxNQUFNLEdBQVcsRUFBRSxDQUFDO0lB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QkFBOEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTNDLFVBQVU7c0JBRHpCLFNBQVM7dUJBQUMsNkJBQTZCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkxQyxjQUFjO3NCQUQ3QixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVCLGlCQUFpQjtzQkFEaEMsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSTFDLGtCQUFrQjtzQkFEeEIsZUFBZTt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIENPTk5FQ1RJT05fR1JBRElFTlQsXG4gIENPTk5FQ1RJT05fUEFUSCxcbiAgQ09OTkVDVElPTl9URVhULFxuICBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQsXG4gIEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50LFxuICBJQ29ubmVjdGlvbkdyYWRpZW50LFxuICBJQ29ubmVjdGlvblBhdGgsIElDb25uZWN0aW9uVGV4dCxcbn0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvbkJlaGF2aW9yIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvblR5cGUgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTWFya2VyQmFzZSB9IGZyb20gJy4uL2YtbWFya2VyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWNlbnRlcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5pbXBvcnQgeyBjYXN0VG9FbnVtIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2NvbW1vbi9mLWNvbm5lY3Rpb24uaW5qZWN0aW9uLXRva2VuJztcbi8vVE9ETzogTmVlZCB0byBkZWFsIHdpdGggY3ljbGljIGRlcGVuZGVuY2llcywgc2luY2UgaW4gc29tZSBjYXNlcyBhbiBlcnJvciBvY2N1cnMgd2hlbiBpbXBvcnRpbmcgdGhlbSAuLi9jb21tb25cbi8vIFR5cGVFcnJvcjogQ2xhc3MgZXh0ZW5kcyB2YWx1ZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFxuLy8gYXQgZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LnRzOjM0OjExXG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWNvbm5lY3Rpb25cIixcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6IFwiLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbIFwiLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnNjc3NcIiBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnZklkJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb25cIixcbiAgICAnW2NsYXNzLmYtY29ubmVjdGlvbi1zZWxlY3Rpb24tZGlzYWJsZWRdJzogJ2ZTZWxlY3Rpb25EaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tcmVhc3NpZ24tZGlzYWJsZWRdJzogJ2ZEcmFnZ2luZ0Rpc2FibGVkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogRl9DT05ORUNUSU9OLCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25Db21wb25lbnQgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvbkNvbXBvbmVudFxuICAgIGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgnZkNvbm5lY3Rpb25JZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQ6IHN0cmluZyA9IGBmLWNvbm5lY3Rpb24tJHsgdW5pcXVlSWQrKyB9YDtcblxuICBwcml2YXRlIF9mVGV4dDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZUZXh0ID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mVGV4dDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZTdGFydENvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZTdGFydENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mU3RhcnRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlN0YXJ0Q29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZlN0YXJ0Q29sb3I7XG4gIH1cblxuICBwcml2YXRlIF9mRW5kQ29sb3I6IHN0cmluZyA9ICdibGFjayc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZkVuZENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mRW5kQ29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZFbmRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mRW5kQ29sb3I7XG4gIH1cblxuICBwcml2YXRlIF9mT3V0cHV0SWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZk91dHB1dElkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mT3V0cHV0SWQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZPdXRwdXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mT3V0cHV0SWQ7XG4gIH1cblxuICBwcml2YXRlIF9mSW5wdXRJZCE6IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmSW5wdXRJZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZklucHV0SWQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZJbnB1dElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZJbnB1dElkO1xuICB9XG5cbiAgcHJpdmF0ZSBfZlJhZGl1czogbnVtYmVyID0gODtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmUmFkaXVzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9mUmFkaXVzID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmUmFkaXVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZSYWRpdXM7XG4gIH1cblxuICBwcml2YXRlIF9mT2Zmc2V0OiBudW1iZXIgPSAzMjtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmT2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9mT2Zmc2V0ID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZPZmZzZXQ7XG4gIH1cblxuICBwcml2YXRlIF9iZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3IgPSBFRkNvbm5lY3Rpb25CZWhhdmlvci5GSVhFRDtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmQmVoYXZpb3IodmFsdWU6IHN0cmluZyB8IEVGQ29ubmVjdGlvbkJlaGF2aW9yKSB7XG4gICAgdGhpcy5fYmVoYXZpb3IgPSBjYXN0VG9FbnVtKHZhbHVlLCAnZkJlaGF2aW9yJywgRUZDb25uZWN0aW9uQmVoYXZpb3IpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZkJlaGF2aW9yKCk6IEVGQ29ubmVjdGlvbkJlaGF2aW9yIHtcbiAgICByZXR1cm4gdGhpcy5fYmVoYXZpb3I7XG4gIH1cblxuICBwcml2YXRlIF90eXBlOiBFRkNvbm5lY3Rpb25UeXBlID0gRUZDb25uZWN0aW9uVHlwZS5TVFJBSUdIVDtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmVHlwZSh2YWx1ZTogRUZDb25uZWN0aW9uVHlwZSB8IHN0cmluZykge1xuICAgIHRoaXMuX3R5cGUgPSB2YWx1ZSBhcyB1bmtub3duIGFzIEVGQ29ubmVjdGlvblR5cGU7IC8vY2FzdFRvRW51bSh2YWx1ZSwgJ2ZUeXBlJywgRUZDb25uZWN0aW9uVHlwZSk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmVHlwZSgpOiBFRkNvbm5lY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIEBJbnB1dCgnZlJlYXNzaWduRGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnZGVmcycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRGVmcyE6IEVsZW1lbnRSZWY8U1ZHRGVmc0VsZW1lbnQ+O1xuXG4gIHB1YmxpYyBnZXQgZk1hcmtlcnMoKTogRk1hcmtlckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTWFya2Vycy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpO1xuICAgIH0pXG4gIH1cblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fUEFUSCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZQYXRoITogSUNvbm5lY3Rpb25QYXRoO1xuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9HUkFESUVOVCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZHcmFkaWVudCE6IElDb25uZWN0aW9uR3JhZGllbnQ7XG5cbiAgQFZpZXdDaGlsZChGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ0hhbmRsZSE6IEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbiE6IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9URVhULCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlRleHRDb21wb25lbnQhOiBJQ29ubmVjdGlvblRleHQ7XG5cbiAgQFZpZXdDaGlsZCgnZkNvbm5lY3Rpb25DZW50ZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uQ2VudGVyITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgZkNvbm5lY3Rpb25DZW50ZXJzITogUXVlcnlMaXN0PEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlPjtcbiAgcHVibGljIG92ZXJyaWRlIGdldCBib3VuZGluZ0VsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mUGF0aC5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBmQ29ubmVjdGlvbkZhY3Rvcnk6IEZDb25uZWN0aW9uRmFjdG9yeSxcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLCBmQ29ubmVjdGlvbkZhY3RvcnkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucywgdGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zLCB0aGlzKTtcbiAgfVxufVxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgc3R5bGU9XCJvdmVyZmxvdzogdmlzaWJsZTsgZGlzcGxheTogYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XCI+XG4gIDxkZWZzICNkZWZzPjwvZGVmcz5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8ZyBjbGFzcz1cImYtY29ubmVjdGlvbi1ncm91cFwiPlxuICAgIDxsaW5lYXJHcmFkaWVudCBmQ29ubmVjdGlvbkdyYWRpZW50PjwvbGluZWFyR3JhZGllbnQ+XG4gICAgPHBhdGggZkNvbm5lY3Rpb25TZWxlY3Rpb24gW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgIDxnPlxuICAgICAgPHBhdGggZi1jb25uZWN0aW9uLXBhdGggW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUgcj1cIjhcIj48L2NpcmNsZT5cbiAgICA8L2c+XG4gICAgPHRleHQgZi1jb25uZWN0aW9uLXRleHQ+PC90ZXh0PlxuICA8L2c+XG48L3N2Zz5cbjxkaXYgI2ZDb25uZWN0aW9uQ2VudGVyIGNsYXNzPVwiZi1jb25uZWN0aW9uLWNlbnRlclwiICpuZ0lmPVwiZkNvbm5lY3Rpb25DZW50ZXJzLmxlbmd0aFwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25DZW50ZXJdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLWNvbm5lY3Rpb24tYnVpbGRlci1yZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi1idWlsZGVyL2ktZi1jb25uZWN0aW9uLWJ1aWxkZXItcmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlIHtcblxuICBwYXRoOiBzdHJpbmc7XG5cbiAgY29ubmVjdGlvbkNlbnRlcjogSVBvaW50O1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLWNvbm5lY3Rpb24tYnVpbGRlci1yZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi1idWlsZGVyL2ktZi1jb25uZWN0aW9uLWJ1aWxkZXItcmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlIHtcblxuICBwYXRoOiBzdHJpbmc7XG5cbiAgY29ubmVjdGlvbkNlbnRlcjogSVBvaW50O1xuXG4gIHBlbnVsdGltYXRlUG9pbnQ6IElQb2ludDtcbn1cbiJdfQ==
@@ -1,10 +1,14 @@
1
1
  import { ChangeDetectionStrategy, Component, ContentChildren, Input, ViewChild } from "@angular/core";
2
- import { CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, FConnectionBase, FConnectionDragHandleComponent, FConnectionSelectionComponent, } from '../common';
2
+ import { CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, FConnectionDragHandleComponent, FConnectionSelectionComponent, } from '../common';
3
3
  import { EFConnectionBehavior } from '../common';
4
4
  import { EFConnectionType } from '../common';
5
- import { F_CONNECTION } from '../common/f-connection.injection-token';
6
5
  import { FConnectionCenterDirective } from '../f-connection-center';
7
6
  import { castToEnum } from '../../domain';
7
+ import { F_CONNECTION } from '../common/f-connection.injection-token';
8
+ //TODO: Need to deal with cyclic dependencies, since in some cases an error occurs when importing them ../common
9
+ // TypeError: Class extends value undefined is not a constructor or null
10
+ // at f-connection-for-create.component.ts:34:11
11
+ import { FConnectionBase } from '../common/f-connection-base';
8
12
  import * as i0 from "@angular/core";
9
13
  import * as i1 from "../f-connection-builder";
10
14
  import * as i2 from "../../f-storage";
@@ -17,12 +21,12 @@ import * as i8 from "../common/f-selection/f-connection-selection.component";
17
21
  let uniqueId = 0;
18
22
  export class FConnectionForCreateComponent extends FConnectionBase {
19
23
  fComponentsStore;
20
- fConnectionId = `f-connection-for-create-${uniqueId++}`;
24
+ fId = `f-connection-for-create-${uniqueId++}`;
21
25
  fText = '';
22
26
  _fStartColor = 'black';
23
27
  set fStartColor(value) {
24
28
  this._fStartColor = value;
25
- this.fComponentsStore.changes.next();
29
+ this.fComponentsStore.componentDataChanged();
26
30
  }
27
31
  get fStartColor() {
28
32
  return this._fStartColor;
@@ -30,7 +34,7 @@ export class FConnectionForCreateComponent extends FConnectionBase {
30
34
  _fEndColor = 'black';
31
35
  set fEndColor(value) {
32
36
  this._fEndColor = value;
33
- this.fComponentsStore.changes.next();
37
+ this.fComponentsStore.componentDataChanged();
34
38
  }
35
39
  get fEndColor() {
36
40
  return this._fEndColor;
@@ -40,7 +44,7 @@ export class FConnectionForCreateComponent extends FConnectionBase {
40
44
  _fRadius = 8;
41
45
  set fRadius(value) {
42
46
  this._fRadius = value;
43
- this.fComponentsStore.changes.next();
47
+ this.fComponentsStore.componentDataChanged();
44
48
  }
45
49
  get fRadius() {
46
50
  return this._fRadius;
@@ -48,7 +52,7 @@ export class FConnectionForCreateComponent extends FConnectionBase {
48
52
  _fOffset = 32;
49
53
  set fOffset(value) {
50
54
  this._fOffset = value;
51
- this.fComponentsStore.changes.next();
55
+ this.fComponentsStore.componentDataChanged();
52
56
  }
53
57
  get fOffset() {
54
58
  return this._fOffset;
@@ -56,7 +60,7 @@ export class FConnectionForCreateComponent extends FConnectionBase {
56
60
  _behavior = EFConnectionBehavior.FIXED;
57
61
  set fBehavior(value) {
58
62
  this._behavior = castToEnum(value, 'fBehavior', EFConnectionBehavior);
59
- this.fComponentsStore.changes.next();
63
+ this.fComponentsStore.componentDataChanged();
60
64
  }
61
65
  get fBehavior() {
62
66
  return this._behavior;
@@ -64,7 +68,7 @@ export class FConnectionForCreateComponent extends FConnectionBase {
64
68
  _type = EFConnectionType.STRAIGHT;
65
69
  set fType(value) {
66
70
  this._type = castToEnum(value, 'fType', EFConnectionType);
67
- this.fComponentsStore.changes.next();
71
+ this.fComponentsStore.componentDataChanged();
68
72
  }
69
73
  get fType() {
70
74
  return this._type;
@@ -101,14 +105,17 @@ export class FConnectionForCreateComponent extends FConnectionBase {
101
105
  this.fComponentsStore.fTempConnection = undefined;
102
106
  }
103
107
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FConnectionForCreateComponent, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component });
104
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FConnectionForCreateComponent, selector: "f-connection-for-create", inputs: { fStartColor: "fStartColor", fEndColor: "fEndColor", fRadius: "fRadius", fOffset: "fOffset", fBehavior: "fBehavior", fType: "fType" }, host: { classAttribute: "f-component f-connection f-connection-for-create" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionForCreateComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path\n [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i5.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: i6.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i7.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i8.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
108
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FConnectionForCreateComponent, selector: "f-connection-for-create", inputs: { fId: ["fConnectionId", "fId"], fStartColor: "fStartColor", fEndColor: "fEndColor", fRadius: "fRadius", fOffset: "fOffset", fBehavior: "fBehavior", fType: "fType" }, host: { classAttribute: "f-component f-connection f-connection-for-create" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionForCreateComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path\n [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i5.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: i6.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i7.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i8.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
105
109
  }
106
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FConnectionForCreateComponent, decorators: [{
107
111
  type: Component,
108
112
  args: [{ selector: "f-connection-for-create", changeDetection: ChangeDetectionStrategy.OnPush, host: {
109
113
  class: "f-component f-connection f-connection-for-create"
110
114
  }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionForCreateComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path\n [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}\n"] }]
111
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }, { type: i2.FComponentsStore }], propDecorators: { fStartColor: [{
115
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }, { type: i2.FComponentsStore }], propDecorators: { fId: [{
116
+ type: Input,
117
+ args: ['fConnectionId']
118
+ }], fStartColor: [{
112
119
  type: Input
113
120
  }], fEndColor: [{
114
121
  type: Input
@@ -145,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
145
152
  type: ContentChildren,
146
153
  args: [FConnectionCenterDirective, { descendants: true }]
147
154
  }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUvZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUvZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsZUFBZSxFQUFjLEtBQUssRUFBZ0MsU0FBUyxFQUN2RixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLGVBQWUsRUFBRSw4QkFBOEIsRUFBRSw2QkFBNkIsR0FFL0UsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7OztBQUUxQyxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFZekIsTUFBTSxPQUFPLDZCQUNULFNBQVEsZUFBZTtJQStHYjtJQTdHSSxhQUFhLEdBQVcsMkJBQTRCLFFBQVEsRUFBRyxFQUFFLENBQUM7SUFFbEUsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUUzQixZQUFZLEdBQVcsT0FB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QUFLO3NCQURwQixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVCLFNBQVM7c0JBRHhCLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUloQyxXQUFXO3NCQUQxQixTQUFTO3VCQUFDLDhCQUE4QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJM0MsVUFBVTtzQkFEekIsU0FBUzt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTFDLGNBQWM7c0JBRDdCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJNUIsaUJBQWlCO3NCQURoQyxTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJMUMsa0JBQWtCO3NCQUR4QixlQUFlO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ09OTkVDVElPTl9HUkFESUVOVCxcbiAgQ09OTkVDVElPTl9QQVRILCBDT05ORUNUSU9OX1RFWFQsXG4gIEZDb25uZWN0aW9uQmFzZSwgRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50LCBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCwgSUNvbm5lY3Rpb25HcmFkaWVudCxcbiAgSUNvbm5lY3Rpb25QYXRoLCBJQ29ubmVjdGlvblRleHQsXG59IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2NvbW1vbi9mLWNvbm5lY3Rpb24uaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7IEZNYXJrZXJCYXNlIH0gZnJvbSAnLi4vZi1tYXJrZXInO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uRmFjdG9yeSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1idWlsZGVyJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgY2FzdFRvRW51bSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtY29ubmVjdGlvbi1mb3ItY3JlYXRlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbIFwiLi9mLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS5jb21wb25lbnQuc2Nzc1wiIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uIGYtY29ubmVjdGlvbi1mb3ItY3JlYXRlXCJcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogRl9DT05ORUNUSU9OLCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25Gb3JDcmVhdGVDb21wb25lbnQgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvbkZvckNyZWF0ZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbklkOiBzdHJpbmcgPSBgZi1jb25uZWN0aW9uLWZvci1jcmVhdGUtJHsgdW5pcXVlSWQrKyB9YDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlRleHQ6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX2ZTdGFydENvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZTdGFydENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mU3RhcnRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZTdGFydENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZTdGFydENvbG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfZkVuZENvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZFbmRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZkVuZENvbG9yID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZkVuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZFbmRDb2xvcjtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0SWQhOiBzdHJpbmc7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZJbnB1dElkITogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2ZSYWRpdXM6IG51bWJlciA9IDg7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlJhZGl1cyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fZlJhZGl1cyA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZSYWRpdXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZlJhZGl1cztcbiAgfVxuXG4gIHByaXZhdGUgX2ZPZmZzZXQ6IG51bWJlciA9IDMyO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZPZmZzZXQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2ZPZmZzZXQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZPZmZzZXQ7XG4gIH1cblxuICBwcml2YXRlIF9iZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3IgPSBFRkNvbm5lY3Rpb25CZWhhdmlvci5GSVhFRDtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmQmVoYXZpb3IodmFsdWU6IEVGQ29ubmVjdGlvbkJlaGF2aW9yIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5fYmVoYXZpb3IgPSBjYXN0VG9FbnVtKHZhbHVlLCAnZkJlaGF2aW9yJywgRUZDb25uZWN0aW9uQmVoYXZpb3IpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZCZWhhdmlvcigpOiBFRkNvbm5lY3Rpb25CZWhhdmlvciB7XG4gICAgcmV0dXJuIHRoaXMuX2JlaGF2aW9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHlwZTogRUZDb25uZWN0aW9uVHlwZSA9IEVGQ29ubmVjdGlvblR5cGUuU1RSQUlHSFQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlR5cGUodmFsdWU6IEVGQ29ubmVjdGlvblR5cGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl90eXBlID0gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZUeXBlJywgRUZDb25uZWN0aW9uVHlwZSk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlR5cGUoKTogRUZDb25uZWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnZGVmcycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRGVmcyE6IEVsZW1lbnRSZWY8U1ZHRGVmc0VsZW1lbnQ+O1xuXG4gIHB1YmxpYyBnZXQgZk1hcmtlcnMoKTogRk1hcmtlckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTWFya2Vycy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX1BBVEgsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmUGF0aCE6IElDb25uZWN0aW9uUGF0aDtcblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fR1JBRElFTlQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JhZGllbnQhOiBJQ29ubmVjdGlvbkdyYWRpZW50O1xuXG4gIEBWaWV3Q2hpbGQoRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdIYW5kbGUhOiBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb24hOiBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fVEVYVCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0Q29tcG9uZW50ITogSUNvbm5lY3Rpb25UZXh0O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZDb25uZWN0aW9uQ2VudGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbkNlbnRlciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHVibGljIGZDb25uZWN0aW9uQ2VudGVycyE6IFF1ZXJ5TGlzdDxGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZT47XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBib3VuZGluZ0VsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mUGF0aC5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBmQ29ubmVjdGlvbkZhY3Rvcnk6IEZDb25uZWN0aW9uRmFjdG9yeSxcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLCBmQ29ubmVjdGlvbkZhY3RvcnkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mVGVtcENvbm5lY3Rpb24gPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZlRlbXBDb25uZWN0aW9uID0gdW5kZWZpbmVkO1xuICB9XG59XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8ZGVmcyAjZGVmcz48L2RlZnM+XG4gICAgPGcgY2xhc3M9XCJmLWNvbm5lY3Rpb24tZ3JvdXBcIj5cbiAgICAgICAgPGxpbmVhckdyYWRpZW50IGZDb25uZWN0aW9uR3JhZGllbnQ+PC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgPHBhdGggZkNvbm5lY3Rpb25TZWxlY3Rpb24gW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgICAgICA8Zz5cbiAgICAgICAgICAgIDxwYXRoIGYtY29ubmVjdGlvbi1wYXRoXG4gICAgICAgICAgICAgICAgICBbYXR0ci5kXT1cInBhdGhcIj5cbiAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgICAgIDxjaXJjbGUgZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlIHI9XCI4XCI+PC9jaXJjbGU+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPHRleHQgZi1jb25uZWN0aW9uLXRleHQ+PC90ZXh0PlxuICAgIDwvZz5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3N2Zz5cbjxkaXYgI2ZDb25uZWN0aW9uQ2VudGVyIGNsYXNzPVwiZi1jb25uZWN0aW9uLWNlbnRlclwiICpuZ0lmPVwiZkNvbm5lY3Rpb25DZW50ZXJzLmxlbmd0aFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmQ29ubmVjdGlvbkNlbnRlcl1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUvZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUvZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsZUFBZSxFQUFjLEtBQUssRUFBZ0MsU0FBUyxFQUN2RixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLDhCQUE4QixFQUFFLDZCQUE2QixHQUU5RCxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTdDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RFLGdIQUFnSDtBQUNoSCx3RUFBd0U7QUFDeEUsZ0RBQWdEO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztBQUc5RCxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFZekIsTUFBTSxPQUFPLDZCQUNYLFNBQVEsZUFBZTtJQXdIYjtJQXJITSxHQUFHLEdBQVcs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QkFEcEIsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVVuQixLQUFLO3NCQURwQixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVCLFNBQVM7c0JBRHhCLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUloQyxXQUFXO3NCQUQxQixTQUFTO3VCQUFDLDhCQUE4QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJM0MsVUFBVTtzQkFEekIsU0FBUzt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTFDLGNBQWM7c0JBRDdCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJNUIsaUJBQWlCO3NCQURoQyxTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJMUMsa0JBQWtCO3NCQUR4QixlQUFlO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ09OTkVDVElPTl9HUkFESUVOVCxcbiAgQ09OTkVDVElPTl9QQVRILCBDT05ORUNUSU9OX1RFWFQsXG4gIEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCwgRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsIElDb25uZWN0aW9uR3JhZGllbnQsXG4gIElDb25uZWN0aW9uUGF0aCwgSUNvbm5lY3Rpb25UZXh0LFxufSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBGTWFya2VyQmFzZSB9IGZyb20gJy4uL2YtbWFya2VyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWNlbnRlcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuLy9UT0RPOiBOZWVkIHRvIGRlYWwgd2l0aCBjeWNsaWMgZGVwZW5kZW5jaWVzLCBzaW5jZSBpbiBzb21lIGNhc2VzIGFuIGVycm9yIG9jY3VycyB3aGVuIGltcG9ydGluZyB0aGVtIC4uL2NvbW1vblxuLy8gVHlwZUVycm9yOiBDbGFzcyBleHRlbmRzIHZhbHVlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsXG4vLyBhdCBmLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS5jb21wb25lbnQudHM6MzQ6MTFcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uL2NvbW1vbi9mLWNvbm5lY3Rpb24tYmFzZSc7XG5cblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1jb25uZWN0aW9uLWZvci1jcmVhdGVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9mLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFsgXCIuL2YtY29ubmVjdGlvbi1mb3ItY3JlYXRlLmNvbXBvbmVudC5zY3NzXCIgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb24gZi1jb25uZWN0aW9uLWZvci1jcmVhdGVcIlxuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX0NPTk5FQ1RJT04sIHVzZUV4aXN0aW5nOiBGQ29ubmVjdGlvbkZvckNyZWF0ZUNvbXBvbmVudCB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uRm9yQ3JlYXRlQ29tcG9uZW50XG4gIGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgnZkNvbm5lY3Rpb25JZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQ6IHN0cmluZyA9IGBmLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBfZlN0YXJ0Q29sb3I6IHN0cmluZyA9ICdibGFjayc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlN0YXJ0Q29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZTdGFydENvbG9yID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZTdGFydENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZTdGFydENvbG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfZkVuZENvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZFbmRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZkVuZENvbG9yID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZFbmRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mRW5kQ29sb3I7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZk91dHB1dElkITogc3RyaW5nO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRJZCE6IHN0cmluZztcblxuICBwcml2YXRlIF9mUmFkaXVzOiBudW1iZXIgPSA4O1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZSYWRpdXModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2ZSYWRpdXMgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlJhZGl1cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9mUmFkaXVzO1xuICB9XG5cbiAgcHJpdmF0ZSBfZk9mZnNldDogbnVtYmVyID0gMzI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZk9mZnNldCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fZk9mZnNldCA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZPZmZzZXQ7XG4gIH1cblxuICBwcml2YXRlIF9iZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3IgPSBFRkNvbm5lY3Rpb25CZWhhdmlvci5GSVhFRDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZCZWhhdmlvcih2YWx1ZTogRUZDb25uZWN0aW9uQmVoYXZpb3IgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9iZWhhdmlvciA9IGNhc3RUb0VudW0odmFsdWUsICdmQmVoYXZpb3InLCBFRkNvbm5lY3Rpb25CZWhhdmlvcik7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZCZWhhdmlvcigpOiBFRkNvbm5lY3Rpb25CZWhhdmlvciB7XG4gICAgcmV0dXJuIHRoaXMuX2JlaGF2aW9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHlwZTogRUZDb25uZWN0aW9uVHlwZSA9IEVGQ29ubmVjdGlvblR5cGUuU1RSQUlHSFQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmVHlwZSh2YWx1ZTogRUZDb25uZWN0aW9uVHlwZSB8IHN0cmluZykge1xuICAgIHRoaXMuX3R5cGUgPSBjYXN0VG9FbnVtKHZhbHVlLCAnZlR5cGUnLCBFRkNvbm5lY3Rpb25UeXBlKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlR5cGUoKTogRUZDb25uZWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnZGVmcycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRGVmcyE6IEVsZW1lbnRSZWY8U1ZHRGVmc0VsZW1lbnQ+O1xuXG4gIHB1YmxpYyBnZXQgZk1hcmtlcnMoKTogRk1hcmtlckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTWFya2Vycy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX1BBVEgsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmUGF0aCE6IElDb25uZWN0aW9uUGF0aDtcblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fR1JBRElFTlQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JhZGllbnQhOiBJQ29ubmVjdGlvbkdyYWRpZW50O1xuXG4gIEBWaWV3Q2hpbGQoRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdIYW5kbGUhOiBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb24hOiBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fVEVYVCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0Q29tcG9uZW50ITogSUNvbm5lY3Rpb25UZXh0O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZDb25uZWN0aW9uQ2VudGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbkNlbnRlciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHVibGljIGZDb25uZWN0aW9uQ2VudGVycyE6IFF1ZXJ5TGlzdDxGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZT47XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBib3VuZGluZ0VsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mUGF0aC5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIGZDb25uZWN0aW9uRmFjdG9yeTogRkNvbm5lY3Rpb25GYWN0b3J5LFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLCBmQ29ubmVjdGlvbkZhY3RvcnkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mVGVtcENvbm5lY3Rpb24gPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZlRlbXBDb25uZWN0aW9uID0gdW5kZWZpbmVkO1xuICB9XG59XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8ZGVmcyAjZGVmcz48L2RlZnM+XG4gICAgPGcgY2xhc3M9XCJmLWNvbm5lY3Rpb24tZ3JvdXBcIj5cbiAgICAgICAgPGxpbmVhckdyYWRpZW50IGZDb25uZWN0aW9uR3JhZGllbnQ+PC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgPHBhdGggZkNvbm5lY3Rpb25TZWxlY3Rpb24gW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgICAgICA8Zz5cbiAgICAgICAgICAgIDxwYXRoIGYtY29ubmVjdGlvbi1wYXRoXG4gICAgICAgICAgICAgICAgICBbYXR0ci5kXT1cInBhdGhcIj5cbiAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgICAgIDxjaXJjbGUgZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlIHI9XCI4XCI+PC9jaXJjbGU+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPHRleHQgZi1jb25uZWN0aW9uLXRleHQ+PC90ZXh0PlxuICAgIDwvZz5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3N2Zz5cbjxkaXYgI2ZDb25uZWN0aW9uQ2VudGVyIGNsYXNzPVwiZi1jb25uZWN0aW9uLWNlbnRlclwiICpuZ0lmPVwiZkNvbm5lY3Rpb25DZW50ZXJzLmxlbmd0aFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmQ29ubmVjdGlvbkNlbnRlcl1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -10,9 +10,7 @@ let CanvasMoveFinalizeExecution = class CanvasMoveFinalizeExecution {
10
10
  this.fDraggableDataContext = fDraggableDataContext;
11
11
  }
12
12
  handle(request) {
13
- this.fDraggableDataContext.draggableItems.forEach((x) => {
14
- x.complete?.();
15
- });
13
+ this.fDraggableDataContext.draggableItems.forEach((x) => x.complete?.());
16
14
  }
17
15
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CanvasMoveFinalizeExecution, deps: [{ token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
18
16
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CanvasMoveFinalizeExecution });
@@ -24,4 +22,4 @@ export { CanvasMoveFinalizeExecution };
24
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CanvasMoveFinalizeExecution, decorators: [{
25
23
  type: Injectable
26
24
  }], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLW1vdmUtZmluYWxpemUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jYW52YXMvY2FudmFzLW1vdmUtZmluYWxpemUvY2FudmFzLW1vdmUtZmluYWxpemUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLHlCQUF5QixDQUFDOzs7QUFLbEUsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBMkI7SUFHNUI7SUFEVixZQUNVLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBRXRELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBa0M7UUFDOUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0RCxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBWFUsMkJBQTJCOzJHQUEzQiwyQkFBMkI7O0FBQTNCLDJCQUEyQjtJQUR2QyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQztHQUNqQywyQkFBMkIsQ0FZdkM7OzJGQVpZLDJCQUEyQjtrQkFGdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QgfSBmcm9tICcuL2NhbnZhcy1tb3ZlLWZpbmFsaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENhbnZhc01vdmVGaW5hbGl6ZUV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Q2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdCwgdm9pZD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgeC5jb21wbGV0ZT8uKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLW1vdmUtZmluYWxpemUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jYW52YXMvY2FudmFzLW1vdmUtZmluYWxpemUvY2FudmFzLW1vdmUtZmluYWxpemUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLHlCQUF5QixDQUFDOzs7QUFLbEUsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBMkI7SUFHNUI7SUFEVixZQUNVLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBRXRELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBa0M7UUFDOUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQzt1R0FUVSwyQkFBMkI7MkdBQTNCLDJCQUEyQjs7QUFBM0IsMkJBQTJCO0lBRHZDLGtCQUFrQixDQUFDLHlCQUF5QixDQUFDO0dBQ2pDLDJCQUEyQixDQVV2Qzs7MkZBVlksMkJBQTJCO2tCQUZ2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdCB9IGZyb20gJy4vY2FudmFzLW1vdmUtZmluYWxpemUucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ2FudmFzTW92ZUZpbmFsaXplRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5mb3JFYWNoKCh4KSA9PiB4LmNvbXBsZXRlPy4oKSk7XG4gIH1cbn1cbiJdfQ==
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
3
  import { CanvasMoveFinalizeRequest } from './canvas-move-finalize.request';
4
4
  import { FValidatorRegister } from '../../../infrastructure';
5
- import { EFDraggableType } from '../../e-f-draggable-type';
5
+ import { CanvasDragHandler } from '../canvas.drag-handler';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../f-draggable-data-context";
8
8
  let CanvasMoveFinalizeValidator = class CanvasMoveFinalizeValidator {
@@ -11,7 +11,7 @@ let CanvasMoveFinalizeValidator = class CanvasMoveFinalizeValidator {
11
11
  this.fDraggableDataContext = fDraggableDataContext;
12
12
  }
13
13
  handle(request) {
14
- return this.fDraggableDataContext.draggableItems.some((x) => x.type === EFDraggableType.CANVAS);
14
+ return this.fDraggableDataContext.draggableItems.some((x) => x instanceof CanvasDragHandler);
15
15
  }
16
16
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CanvasMoveFinalizeValidator, deps: [{ token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
17
17
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CanvasMoveFinalizeValidator });
@@ -23,4 +23,4 @@ export { CanvasMoveFinalizeValidator };
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CanvasMoveFinalizeValidator, decorators: [{
24
24
  type: Injectable
25
25
  }], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLW1vdmUtZmluYWxpemUudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jYW52YXMvY2FudmFzLW1vdmUtZmluYWxpemUvY2FudmFzLW1vdmUtZmluYWxpemUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLHlCQUF5QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBSXBELElBQU0sMkJBQTJCLEdBQWpDLE1BQU0sMkJBQTJCO0lBRzVCO0lBRFYsWUFDVSxxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUV0RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWtDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xHLENBQUM7dUdBVFUsMkJBQTJCOzJHQUEzQiwyQkFBMkI7O0FBQTNCLDJCQUEyQjtJQUR2QyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQztHQUNqQywyQkFBMkIsQ0FVdkM7OzJGQVZZLDJCQUEyQjtrQkFGdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QgfSBmcm9tICcuL2NhbnZhcy1tb3ZlLWZpbmFsaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgRlZhbGlkYXRvclJlZ2lzdGVyLCBJVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEVGRHJhZ2dhYmxlVHlwZSB9IGZyb20gJy4uLy4uL2UtZi1kcmFnZ2FibGUtdHlwZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGVmFsaWRhdG9yUmVnaXN0ZXIoQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBDYW52YXNNb3ZlRmluYWxpemVWYWxpZGF0b3IgaW1wbGVtZW50cyBJVmFsaWRhdG9yPENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3Q+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0XG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLnNvbWUoKHgpID0+IHgudHlwZSA9PT0gRUZEcmFnZ2FibGVUeXBlLkNBTlZBUyk7XG4gIH1cbn1cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLW1vdmUtZmluYWxpemUudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jYW52YXMvY2FudmFzLW1vdmUtZmluYWxpemUvY2FudmFzLW1vdmUtZmluYWxpemUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLHlCQUF5QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFJcEQsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBMkI7SUFHNUI7SUFEVixZQUNVLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBRXRELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBa0M7UUFDOUMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDbkQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxpQkFBaUIsQ0FDdEMsQ0FBQztJQUNKLENBQUM7dUdBWFUsMkJBQTJCOzJHQUEzQiwyQkFBMkI7O0FBQTNCLDJCQUEyQjtJQUR2QyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQztHQUNqQywyQkFBMkIsQ0FZdkM7OzJGQVpZLDJCQUEyQjtrQkFGdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QgfSBmcm9tICcuL2NhbnZhcy1tb3ZlLWZpbmFsaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgRlZhbGlkYXRvclJlZ2lzdGVyLCBJVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IENhbnZhc0RyYWdIYW5kbGVyIH0gZnJvbSAnLi4vY2FudmFzLmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGVmFsaWRhdG9yUmVnaXN0ZXIoQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBDYW52YXNNb3ZlRmluYWxpemVWYWxpZGF0b3IgaW1wbGVtZW50cyBJVmFsaWRhdG9yPENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3Q+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0XG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLnNvbWUoXG4gICAgICAoeCkgPT4geCBpbnN0YW5jZW9mIENhbnZhc0RyYWdIYW5kbGVyXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -2,6 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
3
  import { CanvasMovePreparationRequest } from './canvas-move-preparation.request';
4
4
  import { FValidatorRegister } from '../../../infrastructure';
5
+ import { isElementWithClass } from '../../../domain';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../../../f-storage";
7
8
  import * as i2 from "../../f-draggable-data-context";
@@ -27,11 +28,15 @@ let CanvasMovePreparationValidator = class CanvasMovePreparationValidator {
27
28
  }
28
29
  getNode(targetElement) {
29
30
  let result = this.fComponentsStore.findNode(targetElement);
31
+ // if (result && result.fDraggingDisabled || !this.isNodeHasDragHandle(targetElement)) {
30
32
  if (result && result.fDraggingDisabled) {
31
33
  result = undefined;
32
34
  }
33
35
  return result;
34
36
  }
37
+ isNodeHasDragHandle(targetElement) {
38
+ return isElementWithClass(targetElement, '.f-drag-handle');
39
+ }
35
40
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CanvasMovePreparationValidator, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
36
41
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CanvasMovePreparationValidator });
37
42
  };
@@ -42,4 +47,4 @@ export { CanvasMovePreparationValidator };
42
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CanvasMovePreparationValidator, decorators: [{
43
48
  type: Injectable
44
49
  }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLW1vdmUtcHJlcGFyYXRpb24udmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jYW52YXMvY2FudmFzLW1vdmUtcHJlcGFyYXRpb24vY2FudmFzLW1vdmUtcHJlcGFyYXRpb24udmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLHlCQUF5QixDQUFDOzs7O0FBT2xFLElBQU0sOEJBQThCLEdBQXBDLE1BQU0sOEJBQThCO0lBTy9CO0lBQ0E7SUFOVixJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBTSxDQUFDLFdBQVcsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFDVSxnQkFBa0MsRUFDbEMscUJBQTRDO1FBRDVDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUV0RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQXFDO1FBQ2pELE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLE1BQU07WUFDdEQsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsYUFBMEI7UUFDcEQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTyxZQUFZLENBQUMsYUFBMEI7UUFDN0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVPLE9BQU8sQ0FBQyxhQUEwQjtRQUN4QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7dUdBL0JVLDhCQUE4QjsyR0FBOUIsOEJBQThCOztBQUE5Qiw4QkFBOEI7SUFEMUMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUM7R0FDcEMsOEJBQThCLENBZ0MxQzs7MkZBaENZLDhCQUE4QjtrQkFGMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2NhbnZhcy1tb3ZlLXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgRlZhbGlkYXRvclJlZ2lzdGVyLCBJVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuQEluamVjdGFibGUoKVxuQEZWYWxpZGF0b3JSZWdpc3RlcihDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENhbnZhc01vdmVQcmVwYXJhdGlvblZhbGlkYXRvciBpbXBsZW1lbnRzIElWYWxpZGF0b3I8Q2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdD4ge1xuXG4gIHByaXZhdGUgZ2V0IGZsb3dIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0XG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5sZW5ndGggJiZcbiAgICAgICh0aGlzLmlzQmFja2dyb3VuZEVsZW1lbnQocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KSB8fCB0aGlzLmlzRHJhZ09uSG9zdChyZXF1ZXN0LmV2ZW50LnRhcmdldEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNCYWNrZ3JvdW5kRWxlbWVudCh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkJhY2tncm91bmQ/LmlzQmFja2dyb3VuZEVsZW1lbnQodGFyZ2V0RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGlzRHJhZ09uSG9zdCh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZsb3dIb3N0LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpICYmICF0aGlzLmdldE5vZGUodGFyZ2V0RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGUodGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQpOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQge1xuICAgIGxldCByZXN1bHQgPSB0aGlzLmZDb21wb25lbnRzU3RvcmUuZmluZE5vZGUodGFyZ2V0RWxlbWVudCk7XG4gICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuZkRyYWdnaW5nRGlzYWJsZWQpIHtcbiAgICAgIHJlc3VsdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLW1vdmUtcHJlcGFyYXRpb24udmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jYW52YXMvY2FudmFzLW1vdmUtcHJlcGFyYXRpb24vY2FudmFzLW1vdmUtcHJlcGFyYXRpb24udmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLHlCQUF5QixDQUFDO0FBSXpFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBSTlDLElBQU0sOEJBQThCLEdBQXBDLE1BQU0sOEJBQThCO0lBTy9CO0lBQ0E7SUFOVixJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBTSxDQUFDLFdBQVcsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFDVSxnQkFBa0MsRUFDbEMscUJBQTRDO1FBRDVDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUV0RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQXFDO1FBQ2pELE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLE1BQU07WUFDdEQsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsYUFBMEI7UUFDcEQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTyxZQUFZLENBQUMsYUFBMEI7UUFDN0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVPLE9BQU8sQ0FBQyxhQUEwQjtRQUN4QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNELHdGQUF3RjtRQUN4RixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sbUJBQW1CLENBQUMsYUFBMEI7UUFDcEQsT0FBTyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDO3VHQXBDVSw4QkFBOEI7MkdBQTlCLDhCQUE4Qjs7QUFBOUIsOEJBQThCO0lBRDFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDO0dBQ3BDLDhCQUE4QixDQXFDMUM7OzJGQXJDWSw4QkFBOEI7a0JBRjFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9jYW52YXMtbW92ZS1wcmVwYXJhdGlvbi5yZXF1ZXN0JztcbmltcG9ydCB7IEZWYWxpZGF0b3JSZWdpc3RlciwgSVZhbGlkYXRvciB9IGZyb20gJy4uLy4uLy4uL2luZnJhc3RydWN0dXJlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBpc0VsZW1lbnRXaXRoQ2xhc3MgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5ARlZhbGlkYXRvclJlZ2lzdGVyKENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ2FudmFzTW92ZVByZXBhcmF0aW9uVmFsaWRhdG9yIGltcGxlbWVudHMgSVZhbGlkYXRvcjxDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0PiB7XG5cbiAgcHJpdmF0ZSBnZXQgZmxvd0hvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHRcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmxlbmd0aCAmJlxuICAgICAgKHRoaXMuaXNCYWNrZ3JvdW5kRWxlbWVudChyZXF1ZXN0LmV2ZW50LnRhcmdldEVsZW1lbnQpIHx8IHRoaXMuaXNEcmFnT25Ib3N0KHJlcXVlc3QuZXZlbnQudGFyZ2V0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0JhY2tncm91bmRFbGVtZW50KHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQmFja2dyb3VuZD8uaXNCYWNrZ3JvdW5kRWxlbWVudCh0YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNEcmFnT25Ib3N0KHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmxvd0hvc3QuY29udGFpbnModGFyZ2V0RWxlbWVudCkgJiYgIXRoaXMuZ2V0Tm9kZSh0YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZSh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJlc3VsdCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5maW5kTm9kZSh0YXJnZXRFbGVtZW50KTtcbiAgICAvLyBpZiAocmVzdWx0ICYmIHJlc3VsdC5mRHJhZ2dpbmdEaXNhYmxlZCB8fCAhdGhpcy5pc05vZGVIYXNEcmFnSGFuZGxlKHRhcmdldEVsZW1lbnQpKSB7XG4gICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuZkRyYWdnaW5nRGlzYWJsZWQpIHtcbiAgICAgIHJlc3VsdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgaXNOb2RlSGFzRHJhZ0hhbmRsZSh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0VsZW1lbnRXaXRoQ2xhc3ModGFyZ2V0RWxlbWVudCwgJy5mLWRyYWctaGFuZGxlJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,8 +1,6 @@
1
1
  import { Point, PointExtensions } from '@foblex/core';
2
- import { EFDraggableType } from '../e-f-draggable-type';
3
2
  export class CanvasDragHandler {
4
3
  fComponentsStore;
5
- type = EFDraggableType.CANVAS;
6
4
  onPointerDownPosition = PointExtensions.initialize();
7
5
  constructor(fComponentsStore) {
8
6
  this.fComponentsStore = fComponentsStore;
@@ -18,4 +16,4 @@ export class CanvasDragHandler {
18
16
  this.fComponentsStore.fCanvas.completeDrag();
19
17
  }
20
18
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY2FudmFzL2NhbnZhcy5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3hELE1BQU0sT0FBTyxpQkFBaUI7SUFPaEI7SUFMSSxJQUFJLEdBQW9CLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFFdkQscUJBQXFCLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRXJFLFlBQ1ksZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFOUMsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ2pGLENBQUM7SUFFTSxJQUFJLENBQUMsVUFBa0I7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN4RyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIFBvaW50LCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IEVGRHJhZ2dhYmxlVHlwZSB9IGZyb20gJy4uL2UtZi1kcmFnZ2FibGUtdHlwZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIENhbnZhc0RyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBFRkRyYWdnYWJsZVR5cGUgPSBFRkRyYWdnYWJsZVR5cGUuQ0FOVkFTO1xuXG4gIHByaXZhdGUgb25Qb2ludGVyRG93blBvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duUG9zaXRpb24gPSB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtLnBvc2l0aW9uO1xuICB9XG5cbiAgcHVibGljIG1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnNldFBvc2l0aW9uKFBvaW50LmZyb21Qb2ludCh0aGlzLm9uUG9pbnRlckRvd25Qb3NpdGlvbikuYWRkKGRpZmZlcmVuY2UpKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgY29tcGxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLmNvbXBsZXRlRHJhZygpO1xuICB9XG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY2FudmFzL2NhbnZhcy5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJOUQsTUFBTSxPQUFPLGlCQUFpQjtJQUtoQjtJQUhKLHFCQUFxQixHQUFXLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVyRSxZQUNZLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTlDLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqRixDQUFDO0lBRU0sSUFBSSxDQUFDLFVBQWtCO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIENhbnZhc0RyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHByaXZhdGUgb25Qb2ludGVyRG93blBvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duUG9zaXRpb24gPSB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtLnBvc2l0aW9uO1xuICB9XG5cbiAgcHVibGljIG1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnNldFBvc2l0aW9uKFBvaW50LmZyb21Qb2ludCh0aGlzLm9uUG9pbnRlckRvd25Qb3NpdGlvbikuYWRkKGRpZmZlcmVuY2UpKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgY29tcGxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLmNvbXBsZXRlRHJhZygpO1xuICB9XG59XG4iXX0=
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
3
  import { CreateConnectionFinalizeRequest } from './create-connection-finalize.request';
4
4
  import { FValidatorRegister } from '../../../../infrastructure';
5
- import { EFDraggableType } from '../../../e-f-draggable-type';
5
+ import { CreateConnectionDragHandler } from '../create-connection.drag-handler';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../../f-draggable-data-context";
8
8
  let CreateConnectionFinalizeValidator = class CreateConnectionFinalizeValidator {
@@ -11,7 +11,7 @@ let CreateConnectionFinalizeValidator = class CreateConnectionFinalizeValidator
11
11
  this.fDraggableDataContext = fDraggableDataContext;
12
12
  }
13
13
  handle(request) {
14
- return this.fDraggableDataContext.draggableItems.some((x) => x.type === EFDraggableType.CREATE_CONNECTION);
14
+ return this.fDraggableDataContext.draggableItems.some((x) => x instanceof CreateConnectionDragHandler);
15
15
  }
16
16
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CreateConnectionFinalizeValidator, deps: [{ token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
17
17
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CreateConnectionFinalizeValidator });
@@ -23,4 +23,4 @@ export { CreateConnectionFinalizeValidator };
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CreateConnectionFinalizeValidator, decorators: [{
24
24
  type: Injectable
25
25
  }], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24tZmluYWxpemUudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jcmVhdGUtY29ubmVjdGlvbi9jcmVhdGUtY29ubmVjdGlvbi1maW5hbGl6ZS9jcmVhdGUtY29ubmVjdGlvbi1maW5hbGl6ZS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFFNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFJdkQsSUFBTSxpQ0FBaUMsR0FBdkMsTUFBTSxpQ0FBaUM7SUFHbEM7SUFEVixZQUNVLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBRXRELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBd0M7UUFDcEQsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM3RyxDQUFDO3VHQVRVLGlDQUFpQzsyR0FBakMsaUNBQWlDOztBQUFqQyxpQ0FBaUM7SUFEN0Msa0JBQWtCLENBQUMsK0JBQStCLENBQUM7R0FDdkMsaUNBQWlDLENBVTdDOzsyRkFWWSxpQ0FBaUM7a0JBRjdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0IH0gZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1maW5hbGl6ZS5yZXF1ZXN0JztcbmltcG9ydCB7IEZWYWxpZGF0b3JSZWdpc3RlciwgSVZhbGlkYXRvciB9IGZyb20gJy4uLy4uLy4uLy4uL2luZnJhc3RydWN0dXJlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBFRkRyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9lLWYtZHJhZ2dhYmxlLXR5cGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARlZhbGlkYXRvclJlZ2lzdGVyKENyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplVmFsaWRhdG9yIGltcGxlbWVudHMgSVZhbGlkYXRvcjxDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0PiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5zb21lKCh4KSA9PiB4LnR5cGUgPT09IEVGRHJhZ2dhYmxlVHlwZS5DUkVBVEVfQ09OTkVDVElPTik7XG4gIH1cbn1cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24tZmluYWxpemUudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jcmVhdGUtY29ubmVjdGlvbi9jcmVhdGUtY29ubmVjdGlvbi1maW5hbGl6ZS9jcmVhdGUtY29ubmVjdGlvbi1maW5hbGl6ZS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFFNUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUl6RSxJQUFNLGlDQUFpQyxHQUF2QyxNQUFNLGlDQUFpQztJQUdsQztJQURWLFlBQ1UscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFFdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUF3QztRQUNwRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNuRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLDJCQUEyQixDQUNoRCxDQUFDO0lBQ0osQ0FBQzt1R0FYVSxpQ0FBaUM7MkdBQWpDLGlDQUFpQzs7QUFBakMsaUNBQWlDO0lBRDdDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDO0dBQ3ZDLGlDQUFpQyxDQVk3Qzs7MkZBWlksaUNBQWlDO2tCQUY3QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdCB9IGZyb20gJy4vY3JlYXRlLWNvbm5lY3Rpb24tZmluYWxpemUucmVxdWVzdCc7XG5pbXBvcnQgeyBGVmFsaWRhdG9yUmVnaXN0ZXIsIElWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgQ3JlYXRlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcblxuQEluamVjdGFibGUoKVxuQEZWYWxpZGF0b3JSZWdpc3RlcihDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVZhbGlkYXRvciBpbXBsZW1lbnRzIElWYWxpZGF0b3I8Q3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHRcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuc29tZShcbiAgICAgICh4KSA9PiB4IGluc3RhbmNlb2YgQ3JlYXRlQ29ubmVjdGlvbkRyYWdIYW5kbGVyXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,12 +1,10 @@
1
1
  import { Point, RectExtensions, } from '@foblex/core';
2
- import { EFDraggableType } from '../../e-f-draggable-type';
3
2
  import { GetConnectionLineRequest, GetOutputRectInFlowRequest, RoundedRect } from '../../../domain';
4
3
  import { EFConnectableSide } from '../../../f-connectors';
5
4
  export class CreateConnectionDragHandler {
6
5
  fMediator;
7
6
  connection;
8
7
  mouseDownPoint;
9
- type = EFDraggableType.CREATE_CONNECTION;
10
8
  onPointerDownFromConnectorRect = new RoundedRect();
11
9
  onPointerDownToConnectorRect = new RoundedRect();
12
10
  outputSide = EFConnectableSide.BOTTOM;
@@ -33,4 +31,4 @@ export class CreateConnectionDragHandler {
33
31
  this.connection.hide();
34
32
  }
35
33
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jcmVhdGUtY29ubmVjdGlvbi9jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixLQUFLLEVBQUUsY0FBYyxHQUFHLE1BQU0sY0FBYyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQStCLFdBQVcsRUFDL0YsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxNQUFNLE9BQU8sMkJBQTJCO0lBVTVCO0lBQ0Q7SUFDQztJQVZNLElBQUksR0FBb0IsZUFBZSxDQUFDLGlCQUFpQixDQUFDO0lBRWxFLDhCQUE4QixHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ2hFLDRCQUE0QixHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRTlELFVBQVUsR0FBc0IsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBRWpFLFlBQ1UsU0FBd0IsRUFDekIsVUFBMkIsRUFDMUIsY0FBc0I7UUFGdEIsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUN6QixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtJQUVoQyxDQUFDO0lBRU0sVUFBVTtRQUNmLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNwQyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQzFELENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxJQUFJLENBQUMsOEJBQThCLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLDRCQUE0QixHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQ3RELGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUM5RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQThCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sSUFBSSxDQUFDLFVBQWtCO1FBQzVCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksd0JBQXdCLENBQ2hFLElBQUksQ0FBQyw4QkFBOEIsRUFDbkMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQ3pCLElBQUksQ0FBQyxVQUFVLEVBQ2YsaUJBQWlCLENBQUMsR0FBRyxDQUN0QixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBOEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTGluZSwgSVBvaW50LCBQb2ludCwgUmVjdEV4dGVuc2lvbnMsIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBFRkRyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi8uLi9lLWYtZHJhZ2dhYmxlLXR5cGUnO1xuaW1wb3J0IHtcbiAgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0LCBHZXRPdXRwdXRSZWN0SW5GbG93UmVxdWVzdCwgR2V0T3V0cHV0UmVjdEluRmxvd1Jlc3BvbnNlLCBSb3VuZGVkUmVjdFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZGbG93TWVkaWF0b3IgfSBmcm9tICcuLi8uLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IEVGRHJhZ2dhYmxlVHlwZSA9IEVGRHJhZ2dhYmxlVHlwZS5DUkVBVEVfQ09OTkVDVElPTjtcblxuICBwcml2YXRlIG9uUG9pbnRlckRvd25Gcm9tQ29ubmVjdG9yUmVjdDogUm91bmRlZFJlY3QgPSBuZXcgUm91bmRlZFJlY3QoKTtcbiAgcHJpdmF0ZSBvblBvaW50ZXJEb3duVG9Db25uZWN0b3JSZWN0OiBSb3VuZGVkUmVjdCA9IG5ldyBSb3VuZGVkUmVjdCgpO1xuXG4gIHByaXZhdGUgb3V0cHV0U2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT007XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3IsXG4gICAgcHVibGljIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgICBwcml2YXRlIG1vdXNlRG93blBvaW50OiBJUG9pbnRcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBvdXRwdXRSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxHZXRPdXRwdXRSZWN0SW5GbG93UmVzcG9uc2U+KFxuICAgICAgbmV3IEdldE91dHB1dFJlY3RJbkZsb3dSZXF1ZXN0KHRoaXMuY29ubmVjdGlvbi5mT3V0cHV0SWQpXG4gICAgKTtcbiAgICB0aGlzLm91dHB1dFNpZGUgPSBvdXRwdXRSZWN0LmZDb25uZWN0YWJsZVNpZGU7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duRnJvbUNvbm5lY3RvclJlY3QgPSBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3Qob3V0cHV0UmVjdC5yZWN0KTtcbiAgICB0aGlzLm9uUG9pbnRlckRvd25Ub0Nvbm5lY3RvclJlY3QgPSBSb3VuZGVkUmVjdC5mcm9tUmVjdChcbiAgICAgIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUodGhpcy5tb3VzZURvd25Qb2ludC54LCB0aGlzLm1vdXNlRG93blBvaW50LnksIDAsIDApXG4gICAgKTtcbiAgICAodGhpcy5jb25uZWN0aW9uIGFzIEZDb25uZWN0aW9uQmFzZSkuc2hvdygpO1xuICAgIHRoaXMubW92ZShuZXcgUG9pbnQoMCwgMCkpO1xuICB9XG5cbiAgcHVibGljIG1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgbGluZSA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUxpbmU+KG5ldyBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QoXG4gICAgICAgIHRoaXMub25Qb2ludGVyRG93bkZyb21Db25uZWN0b3JSZWN0LFxuICAgICAgICB0aGlzLm9uUG9pbnRlckRvd25Ub0Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSksXG4gICAgICAgIHRoaXMuY29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICAgIHRoaXMub3V0cHV0U2lkZSxcbiAgICAgICAgRUZDb25uZWN0YWJsZVNpZGUuVE9QLFxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb24uc2V0TGluZShsaW5lLnBvaW50MSwgdGhpcy5vdXRwdXRTaWRlLCBsaW5lLnBvaW50MiwgRUZDb25uZWN0YWJsZVNpZGUuVE9QKTtcbiAgICB0aGlzLmNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgY29tcGxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0aW9uLnJlZHJhdygpO1xuICAgICh0aGlzLmNvbm5lY3Rpb24gYXMgRkNvbm5lY3Rpb25CYXNlKS5oaWRlKCk7XG4gIH1cbn1cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jcmVhdGUtY29ubmVjdGlvbi9jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixLQUFLLEVBQUUsY0FBYyxHQUFHLE1BQU0sY0FBYyxDQUFDO0FBRXJFLE9BQU8sRUFDTCx3QkFBd0IsRUFBRSwwQkFBMEIsRUFBK0IsV0FBVyxFQUMvRixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFELE1BQU0sT0FBTywyQkFBMkI7SUFRNUI7SUFDRDtJQUNDO0lBUkYsOEJBQThCLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUFDaEUsNEJBQTRCLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUFFOUQsVUFBVSxHQUFzQixpQkFBaUIsQ0FBQyxNQUFNLENBQUM7SUFFakUsWUFDVSxTQUF3QixFQUN6QixVQUEyQixFQUMxQixjQUFzQjtRQUZ0QixjQUFTLEdBQVQsU0FBUyxDQUFlO1FBQ3pCLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO0lBRWhDLENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3BDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FDMUQsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDO1FBQzlDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsNEJBQTRCLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FDdEQsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQzlFLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBOEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxJQUFJLENBQUMsVUFBa0I7UUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVEsSUFBSSx3QkFBd0IsQ0FDaEUsSUFBSSxDQUFDLDhCQUE4QixFQUNuQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFDekIsSUFBSSxDQUFDLFVBQVUsRUFDZixpQkFBaUIsQ0FBQyxHQUFHLENBQ3RCLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUE4QixDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lLCBJUG9pbnQsIFBvaW50LCBSZWN0RXh0ZW5zaW9ucywgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7XG4gIEdldENvbm5lY3Rpb25MaW5lUmVxdWVzdCwgR2V0T3V0cHV0UmVjdEluRmxvd1JlcXVlc3QsIEdldE91dHB1dFJlY3RJbkZsb3dSZXNwb25zZSwgUm91bmRlZFJlY3Rcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHByaXZhdGUgb25Qb2ludGVyRG93bkZyb21Db25uZWN0b3JSZWN0OiBSb3VuZGVkUmVjdCA9IG5ldyBSb3VuZGVkUmVjdCgpO1xuICBwcml2YXRlIG9uUG9pbnRlckRvd25Ub0Nvbm5lY3RvclJlY3Q6IFJvdW5kZWRSZWN0ID0gbmV3IFJvdW5kZWRSZWN0KCk7XG5cbiAgcHJpdmF0ZSBvdXRwdXRTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRkZsb3dNZWRpYXRvcixcbiAgICBwdWJsaWMgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHByaXZhdGUgbW91c2VEb3duUG9pbnQ6IElQb2ludFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IG91dHB1dFJlY3QgPSB0aGlzLmZNZWRpYXRvci5zZW5kPEdldE91dHB1dFJlY3RJbkZsb3dSZXNwb25zZT4oXG4gICAgICBuZXcgR2V0T3V0cHV0UmVjdEluRmxvd1JlcXVlc3QodGhpcy5jb25uZWN0aW9uLmZPdXRwdXRJZClcbiAgICApO1xuICAgIHRoaXMub3V0cHV0U2lkZSA9IG91dHB1dFJlY3QuZkNvbm5lY3RhYmxlU2lkZTtcbiAgICB0aGlzLm9uUG9pbnRlckRvd25Gcm9tQ29ubmVjdG9yUmVjdCA9IFJvdW5kZWRSZWN0LmZyb21Sb3VuZGVkUmVjdChvdXRwdXRSZWN0LnJlY3QpO1xuICAgIHRoaXMub25Qb2ludGVyRG93blRvQ29ubmVjdG9yUmVjdCA9IFJvdW5kZWRSZWN0LmZyb21SZWN0KFxuICAgICAgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLm1vdXNlRG93blBvaW50LngsIHRoaXMubW91c2VEb3duUG9pbnQueSwgMCwgMClcbiAgICApO1xuICAgICh0aGlzLmNvbm5lY3Rpb24gYXMgRkNvbm5lY3Rpb25CYXNlKS5zaG93KCk7XG4gICAgdGhpcy5tb3ZlKG5ldyBQb2ludCgwLCAwKSk7XG4gIH1cblxuICBwdWJsaWMgbW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBsaW5lID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJTGluZT4obmV3IEdldENvbm5lY3Rpb25MaW5lUmVxdWVzdChcbiAgICAgICAgdGhpcy5vblBvaW50ZXJEb3duRnJvbUNvbm5lY3RvclJlY3QsXG4gICAgICAgIHRoaXMub25Qb2ludGVyRG93blRvQ29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKSxcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgdGhpcy5vdXRwdXRTaWRlLFxuICAgICAgICBFRkNvbm5lY3RhYmxlU2lkZS5UT1AsXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuY29ubmVjdGlvbi5zZXRMaW5lKGxpbmUucG9pbnQxLCB0aGlzLm91dHB1dFNpZGUsIGxpbmUucG9pbnQyLCBFRkNvbm5lY3RhYmxlU2lkZS5UT1ApO1xuICAgIHRoaXMuY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gICAgKHRoaXMuY29ubmVjdGlvbiBhcyBGQ29ubmVjdGlvbkJhc2UpLmhpZGUoKTtcbiAgfVxufVxuIl19