@foblex/flow 12.6.3 → 12.6.4

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 (554) hide show
  1. package/bundles/foblex-flow.umd.js +3320 -3399
  2. package/bundles/foblex-flow.umd.js.map +1 -1
  3. package/domain/center-group-or-node/center-group-or-node-request.d.ts +5 -0
  4. package/domain/center-group-or-node/center-group-or-node.execution.d.ts +17 -0
  5. package/domain/center-group-or-node/index.d.ts +2 -0
  6. package/domain/clear-selection/clear-selection.execution.d.ts +1 -1
  7. package/domain/constants.d.ts +1 -0
  8. package/domain/create-connection-markers/create-connection-markers.execution.d.ts +1 -1
  9. package/domain/create-rounded-rect-from-element/create-rounded-rect-from-element-request.d.ts +4 -0
  10. package/domain/create-rounded-rect-from-element/create-rounded-rect-from-element.execution.d.ts +15 -0
  11. package/domain/create-rounded-rect-from-element/index.d.ts +2 -0
  12. package/domain/emit-transform-changes/emit-transform-changes.execution.d.ts +1 -1
  13. package/domain/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +2 -2
  14. package/domain/get-can-be-selected-items/i-selectable-with-rect.d.ts +3 -3
  15. package/domain/get-connection-line/get-connection-line.execution.d.ts +2 -2
  16. package/domain/get-connection-line/get-connection-line.request.d.ts +4 -4
  17. package/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.d.ts +1 -1
  18. package/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.d.ts +4 -5
  19. package/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.d.ts +2 -0
  20. package/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +12 -0
  21. package/domain/get-flow-state/get-flow-state-connections/index.d.ts +2 -0
  22. package/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.d.ts +5 -0
  23. package/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +14 -0
  24. package/domain/get-flow-state/get-flow-state-nodes/index.d.ts +2 -0
  25. package/domain/get-flow-state/get-flow-state.execution.d.ts +14 -0
  26. package/domain/get-flow-state/get-flow-state.request.d.ts +2 -0
  27. package/domain/get-flow-state/i-f-flow-state-connection.d.ts +9 -0
  28. package/domain/get-flow-state/i-f-flow-state-connector.d.ts +5 -0
  29. package/domain/get-flow-state/i-f-flow-state-node.d.ts +11 -0
  30. package/domain/get-flow-state/i-f-flow-state.d.ts +10 -0
  31. package/domain/get-flow-state/index.d.ts +9 -0
  32. package/domain/get-flow-state/providers.d.ts +4 -0
  33. package/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.d.ts +1 -1
  34. package/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.d.ts +2 -2
  35. package/domain/get-nodes-rect/get-nodes-rect.execution.d.ts +2 -2
  36. package/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.d.ts +1 -1
  37. package/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.d.ts +2 -2
  38. package/domain/get-position-in-flow/get-position-in-flow-request.d.ts +1 -1
  39. package/domain/get-position-in-flow/get-position-in-flow.execution.d.ts +2 -2
  40. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.d.ts +2 -2
  41. package/domain/get-selection/get-selection.execution.d.ts +1 -1
  42. package/domain/i-map.d.ts +3 -0
  43. package/domain/index.d.ts +6 -5
  44. package/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +2 -2
  45. package/domain/providers.d.ts +4 -1
  46. package/domain/redraw-connections/redraw-connections.execution.d.ts +2 -2
  47. package/domain/select/select.execution.d.ts +1 -1
  48. package/domain/select-all/select-all.execution.d.ts +1 -1
  49. package/domain/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +3 -3
  50. package/domain/show-connections-after-calculations/index.d.ts +2 -0
  51. package/domain/show-connections-after-calculations/show-connections-after-calculations-request.d.ts +2 -0
  52. package/domain/show-connections-after-calculations/show-connections-after-calculations.execution.d.ts +11 -0
  53. package/domain/sort-item-layers/sort-item-layers.execution.d.ts +2 -2
  54. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +2 -2
  55. package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.d.ts +2 -2
  56. package/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.d.ts +1 -1
  57. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.d.ts +1 -1
  58. package/domain/update-item-and-children-layers/update-item-and-children-layers.execution.d.ts +2 -2
  59. package/domain/update-item-and-children-layers/update-item-and-children-layers.request.d.ts +3 -3
  60. package/esm2015/domain/center-group-or-node/center-group-or-node-request.js +7 -0
  61. package/esm2015/domain/center-group-or-node/center-group-or-node.execution.js +51 -0
  62. package/esm2015/domain/center-group-or-node/index.js +3 -0
  63. package/esm2015/domain/clear-selection/clear-selection.execution.js +2 -2
  64. package/esm2015/domain/constants.js +2 -0
  65. package/esm2015/domain/create-connection-markers/create-connection-markers.execution.js +4 -9
  66. package/esm2015/domain/create-rounded-rect-from-element/create-rounded-rect-from-element-request.js +6 -0
  67. package/esm2015/domain/create-rounded-rect-from-element/create-rounded-rect-from-element.execution.js +39 -0
  68. package/esm2015/domain/create-rounded-rect-from-element/index.js +3 -0
  69. package/esm2015/domain/emit-transform-changes/emit-transform-changes.execution.js +2 -2
  70. package/esm2015/domain/get-can-be-selected-items/get-can-be-selected-items.execution.js +6 -6
  71. package/esm2015/domain/get-can-be-selected-items/i-selectable-with-rect.js +1 -1
  72. package/esm2015/domain/get-connection-line/get-connection-line.execution.js +5 -6
  73. package/esm2015/domain/get-connection-line/get-connection-line.request.js +1 -1
  74. package/esm2015/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.js +2 -2
  75. package/esm2015/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.js +10 -10
  76. package/esm2015/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.js +3 -0
  77. package/esm2015/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.js +33 -0
  78. package/esm2015/domain/get-flow-state/get-flow-state-connections/index.js +3 -0
  79. package/esm2015/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.js +6 -0
  80. package/esm2015/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.js +50 -0
  81. package/esm2015/domain/get-flow-state/get-flow-state-nodes/index.js +3 -0
  82. package/esm2015/domain/get-flow-state/get-flow-state.execution.js +39 -0
  83. package/esm2015/domain/get-flow-state/get-flow-state.request.js +3 -0
  84. package/esm2015/domain/get-flow-state/i-f-flow-state-connection.js +2 -0
  85. package/esm2015/domain/get-flow-state/i-f-flow-state-connector.js +2 -0
  86. package/esm2015/domain/get-flow-state/i-f-flow-state-node.js +2 -0
  87. package/esm2015/domain/get-flow-state/i-f-flow-state.js +2 -0
  88. package/esm2015/domain/get-flow-state/index.js +10 -0
  89. package/esm2015/domain/get-flow-state/providers.js +9 -0
  90. package/esm2015/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.js +1 -1
  91. package/esm2015/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.js +5 -5
  92. package/esm2015/domain/get-nodes-rect/get-nodes-rect.execution.js +3 -3
  93. package/esm2015/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.js +1 -1
  94. package/esm2015/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.js +5 -5
  95. package/esm2015/domain/get-position-in-flow/get-position-in-flow-request.js +1 -1
  96. package/esm2015/domain/get-position-in-flow/get-position-in-flow.execution.js +3 -3
  97. package/esm2015/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.js +3 -3
  98. package/esm2015/domain/get-selection/get-selection.execution.js +2 -2
  99. package/esm2015/domain/i-map.js +2 -0
  100. package/esm2015/domain/index.js +7 -6
  101. package/esm2015/domain/is-connection-under-node/is-connection-under-node.execution.js +5 -5
  102. package/esm2015/domain/providers.js +9 -1
  103. package/esm2015/domain/redraw-connections/redraw-connections.execution.js +5 -5
  104. package/esm2015/domain/select/select.execution.js +2 -2
  105. package/esm2015/domain/select-all/select-all.execution.js +2 -2
  106. package/esm2015/domain/select-and-update-node-layer/select-and-update-node-layer.execution.js +5 -5
  107. package/esm2015/domain/show-connections-after-calculations/index.js +3 -0
  108. package/esm2015/domain/show-connections-after-calculations/show-connections-after-calculations-request.js +3 -0
  109. package/esm2015/domain/show-connections-after-calculations/show-connections-after-calculations.execution.js +26 -0
  110. package/esm2015/domain/sort-item-layers/sort-item-layers.execution.js +5 -5
  111. package/esm2015/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.js +5 -5
  112. package/esm2015/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.js +5 -5
  113. package/esm2015/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.js +2 -2
  114. package/esm2015/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.js +2 -2
  115. package/esm2015/domain/update-item-and-children-layers/update-item-and-children-layers.execution.js +5 -5
  116. package/esm2015/domain/update-item-and-children-layers/update-item-and-children-layers.request.js +1 -1
  117. package/esm2015/f-backgroud/domain/i-f-background-pattern.js +1 -1
  118. package/esm2015/f-backgroud/f-background-base.js +1 -1
  119. package/esm2015/f-backgroud/f-background.component.js +2 -2
  120. package/esm2015/f-backgroud/f-circle-pattern/f-circle-pattern.component.js +2 -2
  121. package/esm2015/f-backgroud/f-rect-pattern/f-rect-pattern.component.js +2 -2
  122. package/esm2015/f-canvas/domain/f-canvas-change.event.js +1 -1
  123. package/esm2015/f-canvas/f-canvas-base.js +3 -2
  124. package/esm2015/f-canvas/f-canvas.component.js +18 -9
  125. package/esm2015/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.js +1 -1
  126. package/esm2015/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.js +2 -2
  127. package/esm2015/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.js +1 -1
  128. package/esm2015/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.js +1 -1
  129. package/esm2015/f-connection/common/domain/f-bezier.path-builder.js +1 -1
  130. package/esm2015/f-connection/common/domain/f-segment.path-builder.js +2 -2
  131. package/esm2015/f-connection/common/f-connection-base.js +10 -4
  132. package/esm2015/f-connection/common/f-connection-identifiers.js +6 -11
  133. package/esm2015/f-connection/common/f-connection-text/f-connection-text-path.directive.js +1 -1
  134. package/esm2015/f-connection/common/f-connection-text/f-connection-text.component.js +2 -2
  135. package/esm2015/f-connection/common/f-connection-text/i-connection-text.js +1 -1
  136. package/esm2015/f-connection/common/f-drag-handle/f-connection-drag-handle.component.js +1 -1
  137. package/esm2015/f-connection/common/f-gradient/f-connection-gradient.component.js +2 -2
  138. package/esm2015/f-connection/common/f-gradient/i-connection-gradient.js +1 -1
  139. package/esm2015/f-connection/common/f-path/get-path-marker-id.js +6 -11
  140. package/esm2015/f-connection/common/f-path/i-connection-path.js +1 -1
  141. package/esm2015/f-connection/common/f-selection/f-connection-selection.component.js +1 -1
  142. package/esm2015/f-connection/common/index.js +1 -2
  143. package/esm2015/f-connection/f-connection/f-connection.component.js +3 -3
  144. package/esm2015/f-connection/f-connection-builder/f-connection-factory.js +1 -1
  145. package/esm2015/f-connection/f-connection-builder/i-f-connection-builder-request.js +1 -1
  146. package/esm2015/f-connection/f-connection-builder/i-f-connection-builder-response.js +1 -1
  147. package/esm2015/f-connection/f-connection-builder/i-f-connection-builder.js +1 -1
  148. package/esm2015/f-connection/f-connection-for-create/f-connection-for-create.component.js +4 -7
  149. package/esm2015/f-connection/f-marker/f-marker-base.js +1 -1
  150. package/esm2015/f-connection/f-snap-connection/f-snap-connection.component.js +139 -0
  151. package/esm2015/f-connection/f-snap-connection/index.js +2 -0
  152. package/esm2015/f-connection/index.js +2 -1
  153. package/esm2015/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.js +2 -2
  154. package/esm2015/f-connectors/f-connector-base.js +1 -1
  155. package/esm2015/f-connectors/f-node-input/f-node-input.directive.js +3 -4
  156. package/esm2015/f-connectors/f-node-outlet/f-node-outlet.directive.js +3 -3
  157. package/esm2015/f-connectors/f-node-output/f-node-output.directive.js +3 -4
  158. package/esm2015/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.js +2 -2
  159. package/esm2015/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.js +1 -1
  160. package/esm2015/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.js +2 -2
  161. package/esm2015/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.js +3 -3
  162. package/esm2015/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.js +1 -1
  163. package/esm2015/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.js +2 -7
  164. package/esm2015/f-draggable/canvas/canvas.drag-handler.js +2 -2
  165. package/esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.js +5 -5
  166. package/esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.js +1 -1
  167. package/esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.js +2 -2
  168. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.js +6 -6
  169. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.js +1 -1
  170. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.js +5 -5
  171. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.js +1 -1
  172. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.js +5 -5
  173. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.js +1 -1
  174. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.js +2 -2
  175. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.js +5 -5
  176. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.js +1 -1
  177. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.js +2 -2
  178. package/esm2015/f-draggable/connections/create-connection/create-connection.drag-handler.js +3 -3
  179. package/esm2015/f-draggable/connections/create-connection/f-create-connection.event.js +1 -1
  180. package/esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.js +2 -2
  181. package/esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.js +2 -2
  182. package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.js +2 -2
  183. package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.js +1 -1
  184. package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.js +2 -2
  185. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.js +5 -5
  186. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.js +1 -1
  187. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.js +2 -2
  188. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.js +6 -6
  189. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.js +1 -1
  190. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.js +2 -2
  191. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.js +3 -3
  192. package/esm2015/f-draggable/domain/get-node-padding/get-node-padding.execution.js +2 -2
  193. package/esm2015/f-draggable/domain/get-node-padding/get-node-padding.request.js +1 -1
  194. package/esm2015/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.js +3 -3
  195. package/esm2015/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.js +6 -6
  196. package/esm2015/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.js +2 -2
  197. package/esm2015/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.js +5 -5
  198. package/esm2015/f-draggable/f-draggable-base.js +6 -166
  199. package/esm2015/f-draggable/f-draggable-data-context.js +2 -2
  200. package/esm2015/f-draggable/f-draggable.directive.js +8 -13
  201. package/esm2015/f-draggable/i-draggable-item.js +1 -1
  202. package/esm2015/f-draggable/i-f-drag-and-drop-plugin.js +1 -1
  203. package/esm2015/f-draggable/index.js +1 -2
  204. package/esm2015/f-draggable/node/connection-base-drag-handler.js +6 -5
  205. package/esm2015/f-draggable/node/connection-source.drag-handler.js +1 -1
  206. package/esm2015/f-draggable/node/connection-target.drag-handler.js +1 -1
  207. package/esm2015/f-draggable/node/connection.drag-handler.js +1 -1
  208. package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.js +8 -13
  209. package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.js +6 -6
  210. package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.js +1 -1
  211. package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.js +5 -5
  212. package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.js +5 -5
  213. package/esm2015/f-draggable/node/node-move-finalize/node-move-finalize.execution.js +6 -6
  214. package/esm2015/f-draggable/node/node-move-finalize/node-move-finalize.request.js +1 -1
  215. package/esm2015/f-draggable/node/node-move-finalize/node-move-finalize.validator.js +2 -2
  216. package/esm2015/f-draggable/node/node-move-preparation/node-move-preparation.execution.js +6 -6
  217. package/esm2015/f-draggable/node/node-move-preparation/node-move-preparation.request.js +1 -1
  218. package/esm2015/f-draggable/node/node-move-preparation/node-move-preparation.validator.js +4 -4
  219. package/esm2015/f-draggable/node/node-resize-by-child.drag-handler.js +3 -2
  220. package/esm2015/f-draggable/node/node.drag-handler.js +2 -2
  221. package/esm2015/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.js +2 -2
  222. package/esm2015/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.js +1 -1
  223. package/esm2015/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.js +2 -2
  224. package/esm2015/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.js +1 -1
  225. package/esm2015/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.js +3 -3
  226. package/esm2015/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.js +1 -1
  227. package/esm2015/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.js +3 -3
  228. package/esm2015/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.js +1 -1
  229. package/esm2015/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.js +5 -5
  230. package/esm2015/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.js +1 -1
  231. package/esm2015/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.js +1 -1
  232. package/esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.js +6 -6
  233. package/esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.js +1 -1
  234. package/esm2015/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.js +2 -2
  235. package/esm2015/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.js +1 -1
  236. package/esm2015/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.js +2 -2
  237. package/esm2015/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.js +9 -8
  238. package/esm2015/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.js +1 -1
  239. package/esm2015/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.js +4 -4
  240. package/esm2015/f-draggable/node-resize/node-resize.drag-handler.js +2 -2
  241. package/esm2015/f-draggable/single-select/single-select.execution.js +5 -5
  242. package/esm2015/f-draggable/single-select/single-select.request.js +1 -1
  243. package/esm2015/f-draggable/single-select/single-select.validator.js +2 -2
  244. package/esm2015/f-external-item/domain/external-item-finalize/external-item-finalize.execution.js +5 -5
  245. package/esm2015/f-external-item/domain/external-item-finalize/external-item-finalize.request.js +1 -1
  246. package/esm2015/f-external-item/domain/external-item-finalize/external-item-finalize.validator.js +2 -2
  247. package/esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.execution.js +3 -3
  248. package/esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.request.js +1 -1
  249. package/esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.validator.js +2 -2
  250. package/esm2015/f-external-item/domain/external-item.drag-handler.js +3 -3
  251. package/esm2015/f-external-item/domain/f-create-node.event.js +1 -1
  252. package/esm2015/f-external-item/f-external-item-base.js +1 -1
  253. package/esm2015/f-flow/f-flow-base.js +1 -1
  254. package/esm2015/f-flow/f-flow.component.js +13 -11
  255. package/esm2015/f-line-alignment/domain/line-service.js +1 -1
  256. package/esm2015/f-line-alignment/domain/nearest-coordinate.js +1 -1
  257. package/esm2015/f-line-alignment/f-line-alignment-base.js +1 -1
  258. package/esm2015/f-line-alignment/f-line-alignment.component.js +5 -5
  259. package/esm2015/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.js +3 -3
  260. package/esm2015/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.js +1 -1
  261. package/esm2015/f-minimap/domain/check-rect-is-finite.js +2 -2
  262. package/esm2015/f-minimap/domain/f-minimap-data.js +2 -2
  263. package/esm2015/f-minimap/domain/f-minimap.drag-handler.js +2 -2
  264. package/esm2015/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.js +2 -2
  265. package/esm2015/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.js +1 -1
  266. package/esm2015/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.js +2 -2
  267. package/esm2015/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.js +6 -6
  268. package/esm2015/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.js +1 -1
  269. package/esm2015/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.js +2 -2
  270. package/esm2015/f-minimap/f-minimap-canvas.directive.js +2 -2
  271. package/esm2015/f-minimap/f-minimap-flow.directive.js +5 -5
  272. package/esm2015/f-minimap/f-minimap-view.directive.js +2 -2
  273. package/esm2015/f-minimap/f-minimap.component.js +4 -4
  274. package/esm2015/f-node/f-drag-handle/f-drag-handle.directive.js +1 -1
  275. package/esm2015/f-node/f-group.directive.js +6 -10
  276. package/esm2015/f-node/f-node-base.js +10 -13
  277. package/esm2015/f-node/f-node.directive.js +6 -10
  278. package/esm2015/f-node/f-resize-handle/f-resize-handle.directive.js +2 -2
  279. package/esm2015/f-node/f-rotate-handle/f-rotate-handle.directive.js +1 -1
  280. package/esm2015/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.js +2 -2
  281. package/esm2015/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.js +1 -1
  282. package/esm2015/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.js +2 -2
  283. package/esm2015/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.js +6 -6
  284. package/esm2015/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.js +1 -1
  285. package/esm2015/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.js +2 -2
  286. package/esm2015/f-selection-area/domain/selection-area.drag-handle.js +2 -2
  287. package/esm2015/f-selection-area/f-selection-area-base.js +1 -1
  288. package/esm2015/f-selection-area/f-selection-area.component.js +4 -4
  289. package/esm2015/f-storage/f-components-store.js +1 -1
  290. package/esm2015/f-zoom/f-zoom-base.js +3 -2
  291. package/esm2015/f-zoom/f-zoom.directive.js +3 -3
  292. package/esm2015/i-has-host-element.js +2 -0
  293. package/esm2015/mixins/change-position.js +15 -0
  294. package/esm2015/mixins/change-selection/change-selection.js +30 -0
  295. package/esm2015/mixins/change-selection/i-can-change-selection.js +2 -0
  296. package/esm2015/mixins/change-selection/index.js +3 -0
  297. package/esm2015/mixins/change-visibility/change-visibility.js +14 -0
  298. package/esm2015/mixins/change-visibility/i-can-change-visibility.js +2 -0
  299. package/esm2015/mixins/change-visibility/index.js +3 -0
  300. package/esm2015/mixins/change-zoom/change-zoom.js +25 -0
  301. package/esm2015/mixins/change-zoom/i-can-change-zoom.js +2 -0
  302. package/esm2015/mixins/change-zoom/index.js +3 -0
  303. package/esm2015/mixins/constructor.js +2 -0
  304. package/esm2015/mixins/fit-to-parent/fit-to-parent.js +27 -0
  305. package/esm2015/mixins/fit-to-parent/i-can-fit-to-parent.js +2 -0
  306. package/esm2015/mixins/fit-to-parent/index.js +3 -0
  307. package/esm2015/mixins/i-transformable.js +2 -0
  308. package/esm2015/mixins/index.js +9 -0
  309. package/esm2015/mixins/one-to-one-centering/i-can-one-to-one-centering.js +2 -0
  310. package/esm2015/mixins/one-to-one-centering/index.js +3 -0
  311. package/esm2015/mixins/one-to-one-centering/one-to-one-centering.js +24 -0
  312. package/esm2015/public-api.js +3 -2
  313. package/f-backgroud/domain/i-f-background-pattern.d.ts +1 -1
  314. package/f-backgroud/f-background-base.d.ts +2 -1
  315. package/f-backgroud/f-background.component.d.ts +1 -1
  316. package/f-backgroud/f-circle-pattern/f-circle-pattern.component.d.ts +1 -1
  317. package/f-backgroud/f-rect-pattern/f-rect-pattern.component.d.ts +1 -1
  318. package/f-canvas/domain/f-canvas-change.event.d.ts +1 -1
  319. package/f-canvas/f-canvas-base.d.ts +4 -2
  320. package/f-canvas/f-canvas.component.d.ts +5 -4
  321. package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.d.ts +1 -1
  322. package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.d.ts +2 -1
  323. package/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.d.ts +1 -1
  324. package/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.d.ts +2 -1
  325. package/f-connection/common/f-connection-base.d.ts +7 -4
  326. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +1 -1
  327. package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +1 -1
  328. package/f-connection/common/f-connection-text/i-connection-text.d.ts +2 -1
  329. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +2 -1
  330. package/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +1 -1
  331. package/f-connection/common/f-gradient/i-connection-gradient.d.ts +2 -1
  332. package/f-connection/common/f-path/i-connection-path.d.ts +1 -1
  333. package/f-connection/common/f-selection/f-connection-selection.component.d.ts +1 -1
  334. package/f-connection/common/index.d.ts +0 -1
  335. package/f-connection/f-connection-builder/i-f-connection-builder-request.d.ts +1 -1
  336. package/f-connection/f-connection-builder/i-f-connection-builder-response.d.ts +1 -1
  337. package/f-connection/f-connection-builder/i-f-connection-builder.d.ts +1 -1
  338. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
  339. package/f-connection/f-marker/f-marker-base.d.ts +1 -1
  340. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +53 -0
  341. package/f-connection/f-snap-connection/index.d.ts +1 -0
  342. package/f-connection/index.d.ts +1 -0
  343. package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.d.ts +1 -1
  344. package/f-connectors/f-connector-base.d.ts +1 -1
  345. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.d.ts +1 -1
  346. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.d.ts +1 -1
  347. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.d.ts +1 -1
  348. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.d.ts +1 -1
  349. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.d.ts +1 -1
  350. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.d.ts +1 -2
  351. package/f-draggable/canvas/canvas.drag-handler.d.ts +1 -1
  352. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.d.ts +3 -3
  353. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.d.ts +1 -1
  354. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.d.ts +1 -1
  355. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +3 -3
  356. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +1 -1
  357. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +3 -3
  358. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts +1 -1
  359. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +3 -3
  360. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts +1 -1
  361. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.d.ts +1 -1
  362. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +3 -3
  363. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts +1 -1
  364. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.d.ts +1 -1
  365. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +3 -3
  366. package/f-draggable/connections/create-connection/f-create-connection.event.d.ts +1 -1
  367. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.d.ts +1 -1
  368. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.d.ts +1 -1
  369. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.d.ts +1 -1
  370. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.d.ts +1 -1
  371. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.d.ts +1 -1
  372. package/f-draggable/connections/providers.d.ts +1 -1
  373. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +2 -2
  374. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.d.ts +1 -1
  375. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.d.ts +1 -1
  376. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.d.ts +2 -2
  377. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts +1 -1
  378. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.d.ts +1 -1
  379. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +3 -3
  380. package/f-draggable/domain/get-node-padding/get-node-padding.execution.d.ts +1 -1
  381. package/f-draggable/domain/get-node-padding/get-node-padding.request.d.ts +1 -1
  382. package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.d.ts +2 -2
  383. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +3 -3
  384. package/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.d.ts +1 -1
  385. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.d.ts +2 -2
  386. package/f-draggable/f-draggable-base.d.ts +3 -39
  387. package/f-draggable/f-draggable-data-context.d.ts +3 -3
  388. package/f-draggable/f-draggable.directive.d.ts +3 -4
  389. package/f-draggable/i-draggable-item.d.ts +1 -1
  390. package/f-draggable/i-f-drag-and-drop-plugin.d.ts +1 -1
  391. package/f-draggable/index.d.ts +0 -1
  392. package/f-draggable/node/connection-base-drag-handler.d.ts +4 -5
  393. package/f-draggable/node/connection-source.drag-handler.d.ts +3 -3
  394. package/f-draggable/node/connection-target.drag-handler.d.ts +3 -3
  395. package/f-draggable/node/connection.drag-handler.d.ts +3 -3
  396. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +2 -2
  397. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +2 -2
  398. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.d.ts +1 -1
  399. 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 +2 -2
  400. 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 +2 -2
  401. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
  402. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +2 -2
  403. package/f-draggable/node/node-move-finalize/node-move-finalize.request.d.ts +1 -1
  404. package/f-draggable/node/node-move-finalize/node-move-finalize.validator.d.ts +1 -1
  405. package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +2 -2
  406. package/f-draggable/node/node-move-preparation/node-move-preparation.request.d.ts +1 -1
  407. package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +1 -1
  408. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +1 -1
  409. package/f-draggable/node/node.drag-handler.d.ts +1 -1
  410. package/f-draggable/node/providers.d.ts +1 -1
  411. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +1 -1
  412. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.d.ts +1 -1
  413. package/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.d.ts +1 -1
  414. package/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.d.ts +1 -1
  415. package/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.d.ts +2 -2
  416. package/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.d.ts +1 -1
  417. package/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.d.ts +2 -2
  418. package/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.d.ts +1 -1
  419. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +2 -2
  420. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.d.ts +1 -1
  421. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +1 -1
  422. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +3 -3
  423. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +1 -1
  424. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +1 -1
  425. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.d.ts +1 -1
  426. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.d.ts +1 -1
  427. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +2 -2
  428. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.d.ts +1 -1
  429. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.d.ts +1 -1
  430. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +3 -3
  431. package/f-draggable/providers.d.ts +1 -1
  432. package/f-draggable/single-select/single-select.execution.d.ts +2 -2
  433. package/f-draggable/single-select/single-select.request.d.ts +1 -1
  434. package/f-draggable/single-select/single-select.validator.d.ts +1 -1
  435. package/f-external-item/domain/external-item-finalize/external-item-finalize.execution.d.ts +2 -2
  436. package/f-external-item/domain/external-item-finalize/external-item-finalize.request.d.ts +1 -1
  437. package/f-external-item/domain/external-item-finalize/external-item-finalize.validator.d.ts +1 -1
  438. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +1 -1
  439. package/f-external-item/domain/external-item-preparation/external-item-preparation.request.d.ts +1 -1
  440. package/f-external-item/domain/external-item-preparation/external-item-preparation.validator.d.ts +1 -1
  441. package/f-external-item/domain/external-item.drag-handler.d.ts +1 -1
  442. package/f-external-item/domain/f-create-node.event.d.ts +1 -1
  443. package/f-external-item/f-external-item-base.d.ts +1 -1
  444. package/f-flow/f-flow-base.d.ts +1 -1
  445. package/f-flow/f-flow.component.d.ts +5 -3
  446. package/f-line-alignment/domain/line-service.d.ts +1 -1
  447. package/f-line-alignment/domain/nearest-coordinate.d.ts +1 -1
  448. package/f-line-alignment/f-line-alignment-base.d.ts +2 -1
  449. package/f-line-alignment/f-line-alignment.component.d.ts +3 -3
  450. package/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.d.ts +2 -2
  451. package/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.d.ts +1 -1
  452. package/f-minimap/domain/check-rect-is-finite.d.ts +1 -1
  453. package/f-minimap/domain/f-minimap-data.d.ts +1 -1
  454. package/f-minimap/domain/f-minimap.drag-handler.d.ts +3 -3
  455. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -1
  456. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.d.ts +1 -1
  457. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.d.ts +1 -1
  458. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +2 -2
  459. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.d.ts +1 -1
  460. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.d.ts +1 -1
  461. package/f-minimap/domain/providers.d.ts +1 -1
  462. package/f-minimap/f-minimap-flow.directive.d.ts +2 -2
  463. package/f-minimap/f-minimap.component.d.ts +3 -3
  464. package/f-node/f-drag-handle/f-drag-handle.directive.d.ts +1 -1
  465. package/f-node/f-group.directive.d.ts +4 -5
  466. package/f-node/f-node-base.d.ts +10 -7
  467. package/f-node/f-node.directive.d.ts +4 -5
  468. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -1
  469. package/f-node/f-rotate-handle/f-rotate-handle.directive.d.ts +1 -1
  470. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +1 -1
  471. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.d.ts +1 -1
  472. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.d.ts +1 -1
  473. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +2 -2
  474. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +1 -1
  475. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +1 -1
  476. package/f-selection-area/domain/selection-area.drag-handle.d.ts +3 -3
  477. package/f-selection-area/f-selection-area-base.d.ts +2 -1
  478. package/f-selection-area/f-selection-area.component.d.ts +4 -3
  479. package/f-storage/f-components-store.d.ts +1 -1
  480. package/f-zoom/f-zoom-base.d.ts +1 -1
  481. package/fesm2015/foblex-flow.js +2615 -2731
  482. package/fesm2015/foblex-flow.js.map +1 -1
  483. package/i-has-host-element.d.ts +3 -0
  484. package/mixins/change-position.d.ts +10 -0
  485. package/mixins/change-selection/change-selection.d.ts +7 -0
  486. package/mixins/change-selection/i-can-change-selection.d.ts +10 -0
  487. package/mixins/change-selection/index.d.ts +2 -0
  488. package/mixins/change-visibility/change-visibility.d.ts +6 -0
  489. package/mixins/change-visibility/i-can-change-visibility.d.ts +5 -0
  490. package/mixins/change-visibility/index.d.ts +2 -0
  491. package/mixins/change-zoom/change-zoom.d.ts +6 -0
  492. package/mixins/change-zoom/i-can-change-zoom.d.ts +6 -0
  493. package/mixins/change-zoom/index.d.ts +2 -0
  494. package/mixins/constructor.d.ts +2 -0
  495. package/mixins/fit-to-parent/fit-to-parent.d.ts +6 -0
  496. package/mixins/fit-to-parent/i-can-fit-to-parent.d.ts +4 -0
  497. package/mixins/fit-to-parent/index.d.ts +2 -0
  498. package/mixins/i-transformable.d.ts +4 -0
  499. package/mixins/index.d.ts +8 -0
  500. package/mixins/one-to-one-centering/i-can-one-to-one-centering.d.ts +4 -0
  501. package/mixins/one-to-one-centering/index.d.ts +2 -0
  502. package/mixins/one-to-one-centering/one-to-one-centering.d.ts +6 -0
  503. package/package.json +5 -2
  504. package/public-api.d.ts +2 -1
  505. package/domain/cast-to-enum.d.ts +0 -1
  506. package/domain/deep-clone-node.d.ts +0 -1
  507. package/domain/get-value-from-data-attr.d.ts +0 -1
  508. package/domain/intersections/e-f-connector-shape.d.ts +0 -3
  509. package/domain/intersections/f-connector-shape.extensions.d.ts +0 -11
  510. package/domain/intersections/i-connector-shape.d.ts +0 -6
  511. package/domain/intersections/index.d.ts +0 -5
  512. package/domain/intersections/intersection-finder.d.ts +0 -67
  513. package/domain/intersections/rounded-rect/i-rounded-rect.d.ts +0 -8
  514. package/domain/intersections/rounded-rect/index.d.ts +0 -2
  515. package/domain/intersections/rounded-rect/rounded-rect.d.ts +0 -23
  516. package/domain/is-element-with-class.d.ts +0 -1
  517. package/esm2015/domain/cast-to-enum.js +0 -12
  518. package/esm2015/domain/deep-clone-node.js +0 -47
  519. package/esm2015/domain/get-value-from-data-attr.js +0 -7
  520. package/esm2015/domain/intersections/e-f-connector-shape.js +0 -5
  521. package/esm2015/domain/intersections/f-connector-shape.extensions.js +0 -46
  522. package/esm2015/domain/intersections/i-connector-shape.js +0 -2
  523. package/esm2015/domain/intersections/index.js +0 -6
  524. package/esm2015/domain/intersections/intersection-finder.js +0 -156
  525. package/esm2015/domain/intersections/rounded-rect/i-rounded-rect.js +0 -2
  526. package/esm2015/domain/intersections/rounded-rect/index.js +0 -3
  527. package/esm2015/domain/intersections/rounded-rect/rounded-rect.js +0 -46
  528. package/esm2015/domain/is-element-with-class.js +0 -8
  529. package/esm2015/f-connection/common/mixins/change-connection-selection.mixin.js +0 -26
  530. package/esm2015/f-connection/common/mixins/change-connection-visibility.mixin.js +0 -14
  531. package/esm2015/f-connection/common/mixins/index.js +0 -3
  532. package/esm2015/f-draggable/i-can-run-outside-angular.js +0 -2
  533. package/esm2015/infrastructure/f-mediator/f-execution-register.js +0 -7
  534. package/esm2015/infrastructure/f-mediator/f-flow-mediator.js +0 -29
  535. package/esm2015/infrastructure/f-mediator/f-validator-register.js +0 -7
  536. package/esm2015/infrastructure/f-mediator/index.js +0 -4
  537. package/esm2015/infrastructure/index.js +0 -3
  538. package/esm2015/infrastructure/pipeline/i-execution.js +0 -2
  539. package/esm2015/infrastructure/pipeline/i-validator.js +0 -2
  540. package/esm2015/infrastructure/pipeline/index.js +0 -4
  541. package/esm2015/infrastructure/pipeline/pipeline.js +0 -19
  542. package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +0 -13
  543. package/f-connection/common/mixins/change-connection-visibility.mixin.d.ts +0 -9
  544. package/f-connection/common/mixins/index.d.ts +0 -2
  545. package/f-draggable/i-can-run-outside-angular.d.ts +0 -3
  546. package/infrastructure/f-mediator/f-execution-register.d.ts +0 -5
  547. package/infrastructure/f-mediator/f-flow-mediator.d.ts +0 -12
  548. package/infrastructure/f-mediator/f-validator-register.d.ts +0 -5
  549. package/infrastructure/f-mediator/index.d.ts +0 -3
  550. package/infrastructure/index.d.ts +0 -2
  551. package/infrastructure/pipeline/i-execution.d.ts +0 -3
  552. package/infrastructure/pipeline/i-validator.d.ts +0 -3
  553. package/infrastructure/pipeline/index.d.ts +0 -3
  554. package/infrastructure/pipeline/pipeline.d.ts +0 -11
@@ -1,156 +0,0 @@
1
- import { Arc, Line, PointExtensions, VectorExtensions } from '@foblex/core';
2
- import { FConnectorShapeExtensions } from './f-connector-shape.extensions';
3
- /**
4
- * The IntersectionFinder class is designed to find intersection points between
5
- * line segments and various geometric shapes. Currently, it supports rectangles,
6
- * circles, and ellipses. In the future, support for additional shapes will be added.
7
- */
8
- export class IntersectionFinder {
9
- /**
10
- * Finds the guaranteed intersection points between a line segment and a rounded rectangle.
11
- * @param from - Starting point of the line segment.
12
- * @param to - Ending point of the line segment.
13
- * @param shape - The shape to check for intersections.
14
- * @returns An array of intersection points.
15
- */
16
- static getIntersections(from, to, shape) {
17
- const segments = FConnectorShapeExtensions.getSegments(shape);
18
- for (const segment of segments) {
19
- if (segment instanceof Arc) {
20
- const intersections = this.intersectArcWithLine(segment, from, to);
21
- if (intersections.length > 0) {
22
- return intersections;
23
- }
24
- }
25
- else if (segment instanceof Line) {
26
- const intersection = this.intersectLineSegments(from, to, segment.point1, segment.point2);
27
- if (intersection) {
28
- return [intersection];
29
- }
30
- }
31
- }
32
- return [];
33
- }
34
- /**
35
- * Finds the intersection points between an arc and a line segment.
36
- * @param arc - The arc to check for intersections.
37
- * @param from - Starting point of the line segment.
38
- * @param to - Ending point of the line segment.
39
- * @returns An array of intersection points.
40
- */
41
- static intersectArcWithLine(arc, from, to) {
42
- return this.filterPointsWithinArc(this.findEllipseLineIntersections(arc.center, arc.radiusX, arc.radiusY, from, to), arc);
43
- }
44
- /**
45
- * Finds the intersection point between two line segments.
46
- * @param p1 - Starting point of the first line segment.
47
- * @param p2 - Ending point of the first line segment.
48
- * @param p3 - Starting point of the second line segment.
49
- * @param p4 - Ending point of the second line segment.
50
- * @returns The intersection point or null if there is no intersection.
51
- */
52
- static intersectLineSegments(p1, p2, p3, p4) {
53
- const s1_x = p2.x - p1.x;
54
- const s1_y = p2.y - p1.y;
55
- const s2_x = p4.x - p3.x;
56
- const s2_y = p4.y - p3.y;
57
- const s = (-s1_y * (p1.x - p3.x) + s1_x * (p1.y - p3.y)) / (-s2_x * s1_y + s1_x * s2_y);
58
- const t = (s2_x * (p1.y - p3.y) - s2_y * (p1.x - p3.x)) / (-s2_x * s1_y + s1_x * s2_y);
59
- if (s >= 0 && s <= 1 && t >= 0 && t <= 1) {
60
- return { x: p1.x + (t * s1_x), y: p1.y + (t * s1_y) };
61
- }
62
- return null;
63
- }
64
- /**
65
- * Filters intersection points to retain only those within the given arc.
66
- * @param points - The points to filter.
67
- * @param arc - The arc to check against.
68
- * @returns An array of points within the arc.
69
- */
70
- static filterPointsWithinArc(points, arc) {
71
- let { center, startAngle, endAngle } = arc;
72
- if (points.length === 0) {
73
- return points;
74
- }
75
- if (endAngle < startAngle) {
76
- [startAngle, endAngle] = [endAngle, startAngle];
77
- }
78
- if (startAngle < 0 || endAngle < 0) {
79
- startAngle += 2.0 * Math.PI;
80
- endAngle += 2.0 * Math.PI;
81
- }
82
- const filteredPoints = [];
83
- for (const point of points) {
84
- let angle = this.normalizeAngle(VectorExtensions.angle(VectorExtensions.initialize(1, 0), VectorExtensions.initialize(point.x - center.x, point.y - center.y)));
85
- if (angle < startAngle) {
86
- angle += 2.0 * Math.PI;
87
- }
88
- if (startAngle <= angle && angle <= endAngle) {
89
- filteredPoints.push(point);
90
- }
91
- }
92
- return filteredPoints;
93
- }
94
- /**
95
- * Normalizes an angle to be within the range 0 to 2π.
96
- * @param radians - The angle in radians.
97
- * @returns The normalized angle.
98
- */
99
- static normalizeAngle(radians) {
100
- const normal = radians % (2.0 * Math.PI);
101
- return normal < 0.0 ? (normal + (2.0 * Math.PI)) : normal;
102
- }
103
- /**
104
- * Finds the intersection points between an ellipse and a line segment.
105
- * @param center - Center of the ellipse.
106
- * @param radiusX - X radius of the ellipse.
107
- * @param radiusY - Y radius of the ellipse.
108
- * @param pointA - Starting point of the line segment.
109
- * @param pointB - Ending point of the line segment.
110
- * @returns An array of intersection points.
111
- */
112
- static findEllipseLineIntersections(center, radiusX, radiusY, pointA, pointB) {
113
- const origin = VectorExtensions.initialize(pointA.x, pointA.y);
114
- const direction = VectorExtensions.fromPoints(pointA, pointB);
115
- const ellipseCenter = VectorExtensions.initialize(center.x, center.y);
116
- const diff = VectorExtensions.subtract(origin, ellipseCenter);
117
- const scaledDir = VectorExtensions.initialize(direction.x / (radiusX * radiusX), direction.y / (radiusY * radiusY));
118
- const scaledDiff = VectorExtensions.initialize(diff.x / (radiusX * radiusX), diff.y / (radiusY * radiusY));
119
- const a = VectorExtensions.dotProduct(direction, scaledDir);
120
- const b = VectorExtensions.dotProduct(direction, scaledDiff);
121
- const c = VectorExtensions.dotProduct(diff, scaledDiff) - 1.0;
122
- const discriminant = b * b - a * c;
123
- return discriminant < 0 ? [] : this.calculateIntersectionPoints(discriminant, a, b, pointA, pointB);
124
- }
125
- /**
126
- * Calculates the intersection points based on the discriminant.
127
- * @param discriminant - The discriminant value.
128
- * @param a - Coefficient 'a' in the quadratic equation.
129
- * @param b - Coefficient 'b' in the quadratic equation.
130
- * @param pointA - Starting point of the line segment.
131
- * @param pointB - Ending point of the line segment.
132
- * @returns An array of intersection points.
133
- */
134
- static calculateIntersectionPoints(discriminant, a, b, pointA, pointB) {
135
- const points = [];
136
- if (discriminant > 0) {
137
- const root = Math.sqrt(discriminant);
138
- const t1 = (-b - root) / a;
139
- const t2 = (-b + root) / a;
140
- if (t1 >= 0 && t1 <= 1) {
141
- points.push(PointExtensions.interpolatePoints(pointA, pointB, t1));
142
- }
143
- if (t2 >= 0 && t2 <= 1) {
144
- points.push(PointExtensions.interpolatePoints(pointA, pointB, t2));
145
- }
146
- }
147
- else {
148
- const t = -b / a;
149
- if (t >= 0 && t <= 1) {
150
- points.push(PointExtensions.interpolatePoints(pointA, pointB, t));
151
- }
152
- }
153
- return points;
154
- }
155
- }
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0aW9uLWZpbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2ludGVyc2VjdGlvbnMvaW50ZXJzZWN0aW9uLWZpbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFnQixJQUFJLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzdFLE1BQU0sUUFBUSxHQUFtQix5QkFBeUIsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUUsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUU7WUFDOUIsSUFBSSxPQUFPLFlBQVksR0FBRyxFQUFFO2dCQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDNUIsT0FBTyxhQUFhLENBQUM7aUJBQ3RCO2FBQ0Y7aUJBQU0sSUFBSSxPQUFPLFlBQVksSUFBSSxFQUFFO2dCQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUYsSUFBSSxZQUFZLEVBQUU7b0JBQ2hCLE9BQU8sQ0FBRSxZQUFZLENBQUUsQ0FBQztpQkFDekI7YUFDRjtTQUNGO1FBRUQsT0FB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TGluZSwgUG9pbnRFeHRlbnNpb25zLCBWZWN0b3JFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElDb25uZWN0b3JTaGFwZSB9IGZyb20gJy4vaS1jb25uZWN0b3Itc2hhcGUnO1xuaW1wb3J0IHsgRkNvbm5lY3RvclNoYXBlRXh0ZW5zaW9ucyB9IGZyb20gJy4vZi1jb25uZWN0b3Itc2hhcGUuZXh0ZW5zaW9ucyc7XG5cbi8qKlxuICogVGhlIEludGVyc2VjdGlvbkZpbmRlciBjbGFzcyBpcyBkZXNpZ25lZCB0byBmaW5kIGludGVyc2VjdGlvbiBwb2ludHMgYmV0d2VlblxuICogbGluZSBzZWdtZW50cyBhbmQgdmFyaW91cyBnZW9tZXRyaWMgc2hhcGVzLiBDdXJyZW50bHksIGl0IHN1cHBvcnRzIHJlY3RhbmdsZXMsXG4gKiBjaXJjbGVzLCBhbmQgZWxsaXBzZXMuIEluIHRoZSBmdXR1cmUsIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgc2hhcGVzIHdpbGwgYmUgYWRkZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlcnNlY3Rpb25GaW5kZXIge1xuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgZ3VhcmFudGVlZCBpbnRlcnNlY3Rpb24gcG9pbnRzIGJldHdlZW4gYSBsaW5lIHNlZ21lbnQgYW5kIGEgcm91bmRlZCByZWN0YW5nbGUuXG4gICAqIEBwYXJhbSBmcm9tIC0gU3RhcnRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHBhcmFtIHRvIC0gRW5kaW5nIHBvaW50IG9mIHRoZSBsaW5lIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBzaGFwZSAtIFRoZSBzaGFwZSB0byBjaGVjayBmb3IgaW50ZXJzZWN0aW9ucy5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9uIHBvaW50cy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0SW50ZXJzZWN0aW9ucyhmcm9tOiBJUG9pbnQsIHRvOiBJUG9pbnQsIHNoYXBlOiBJQ29ubmVjdG9yU2hhcGUpOiBJUG9pbnRbXSB7XG4gICAgY29uc3Qgc2VnbWVudHM6IChBcmMgfCBMaW5lKVtdID0gRkNvbm5lY3RvclNoYXBlRXh0ZW5zaW9ucy5nZXRTZWdtZW50cyhzaGFwZSk7XG5cbiAgICBmb3IgKGNvbnN0IHNlZ21lbnQgb2Ygc2VnbWVudHMpIHtcbiAgICAgIGlmIChzZWdtZW50IGluc3RhbmNlb2YgQXJjKSB7XG4gICAgICAgIGNvbnN0IGludGVyc2VjdGlvbnMgPSB0aGlzLmludGVyc2VjdEFyY1dpdGhMaW5lKHNlZ21lbnQsIGZyb20sIHRvKTtcbiAgICAgICAgaWYgKGludGVyc2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBpbnRlcnNlY3Rpb25zO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHNlZ21lbnQgaW5zdGFuY2VvZiBMaW5lKSB7XG4gICAgICAgIGNvbnN0IGludGVyc2VjdGlvbiA9IHRoaXMuaW50ZXJzZWN0TGluZVNlZ21lbnRzKGZyb20sIHRvLCBzZWdtZW50LnBvaW50MSwgc2VnbWVudC5wb2ludDIpO1xuICAgICAgICBpZiAoaW50ZXJzZWN0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuIFsgaW50ZXJzZWN0aW9uIF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGludGVyc2VjdGlvbiBwb2ludHMgYmV0d2VlbiBhbiBhcmMgYW5kIGEgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gYXJjIC0gVGhlIGFyYyB0byBjaGVjayBmb3IgaW50ZXJzZWN0aW9ucy5cbiAgICogQHBhcmFtIGZyb20gLSBTdGFydGluZyBwb2ludCBvZiB0aGUgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gdG8gLSBFbmRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9uIHBvaW50cy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGludGVyc2VjdEFyY1dpdGhMaW5lKGFyYzogSUFyYywgZnJvbTogSVBvaW50LCB0bzogSVBvaW50KTogSVBvaW50W10ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlclBvaW50c1dpdGhpbkFyYyhcbiAgICAgIHRoaXMuZmluZEVsbGlwc2VMaW5lSW50ZXJzZWN0aW9ucyhhcmMuY2VudGVyLCBhcmMucmFkaXVzWCwgYXJjLnJhZGl1c1ksIGZyb20sIHRvKSxcbiAgICAgIGFyY1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGludGVyc2VjdGlvbiBwb2ludCBiZXR3ZWVuIHR3byBsaW5lIHNlZ21lbnRzLlxuICAgKiBAcGFyYW0gcDEgLSBTdGFydGluZyBwb2ludCBvZiB0aGUgZmlyc3QgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gcDIgLSBFbmRpbmcgcG9pbnQgb2YgdGhlIGZpcnN0IGxpbmUgc2VnbWVudC5cbiAgICogQHBhcmFtIHAzIC0gU3RhcnRpbmcgcG9pbnQgb2YgdGhlIHNlY29uZCBsaW5lIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBwNCAtIEVuZGluZyBwb2ludCBvZiB0aGUgc2Vjb25kIGxpbmUgc2VnbWVudC5cbiAgICogQHJldHVybnMgVGhlIGludGVyc2VjdGlvbiBwb2ludCBvciBudWxsIGlmIHRoZXJlIGlzIG5vIGludGVyc2VjdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGludGVyc2VjdExpbmVTZWdtZW50cyhwMTogSVBvaW50LCBwMjogSVBvaW50LCBwMzogSVBvaW50LCBwNDogSVBvaW50KTogSVBvaW50IHwgbnVsbCB7XG4gICAgY29uc3QgczFfeCA9IHAyLnggLSBwMS54O1xuICAgIGNvbnN0IHMxX3kgPSBwMi55IC0gcDEueTtcbiAgICBjb25zdCBzMl94ID0gcDQueCAtIHAzLng7XG4gICAgY29uc3QgczJfeSA9IHA0LnkgLSBwMy55O1xuXG4gICAgY29uc3QgcyA9ICgtczFfeSAqIChwMS54IC0gcDMueCkgKyBzMV94ICogKHAxLnkgLSBwMy55KSkgLyAoLXMyX3ggKiBzMV95ICsgczFfeCAqIHMyX3kpO1xuICAgIGNvbnN0IHQgPSAoczJfeCAqIChwMS55IC0gcDMueSkgLSBzMl95ICogKHAxLnggLSBwMy54KSkgLyAoLXMyX3ggKiBzMV95ICsgczFfeCAqIHMyX3kpO1xuXG4gICAgaWYgKHMgPj0gMCAmJiBzIDw9IDEgJiYgdCA+PSAwICYmIHQgPD0gMSkge1xuICAgICAgcmV0dXJuIHsgeDogcDEueCArICh0ICogczFfeCksIHk6IHAxLnkgKyAodCAqIHMxX3kpIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBpbnRlcnNlY3Rpb24gcG9pbnRzIHRvIHJldGFpbiBvbmx5IHRob3NlIHdpdGhpbiB0aGUgZ2l2ZW4gYXJjLlxuICAgKiBAcGFyYW0gcG9pbnRzIC0gVGhlIHBvaW50cyB0byBmaWx0ZXIuXG4gICAqIEBwYXJhbSBhcmMgLSBUaGUgYXJjIHRvIGNoZWNrIGFnYWluc3QuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHBvaW50cyB3aXRoaW4gdGhlIGFyYy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGZpbHRlclBvaW50c1dpdGhpbkFyYyhwb2ludHM6IElQb2ludFtdLCBhcmM6IElBcmMpOiBJUG9pbnRbXSB7XG4gICAgbGV0IHsgY2VudGVyLCBzdGFydEFuZ2xlLCBlbmRBbmdsZSB9ID0gYXJjO1xuXG4gICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgaWYgKGVuZEFuZ2xlIDwgc3RhcnRBbmdsZSkge1xuICAgICAgWyBzdGFydEFuZ2xlLCBlbmRBbmdsZSBdID0gWyBlbmRBbmdsZSwgc3RhcnRBbmdsZSBdO1xuICAgIH1cblxuICAgIGlmIChzdGFydEFuZ2xlIDwgMCB8fCBlbmRBbmdsZSA8IDApIHtcbiAgICAgIHN0YXJ0QW5nbGUgKz0gMi4wICogTWF0aC5QSTtcbiAgICAgIGVuZEFuZ2xlICs9IDIuMCAqIE1hdGguUEk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyZWRQb2ludHM6IElQb2ludFtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHBvaW50IG9mIHBvaW50cykge1xuICAgICAgbGV0IGFuZ2xlID0gdGhpcy5ub3JtYWxpemVBbmdsZShcbiAgICAgICAgVmVjdG9yRXh0ZW5zaW9ucy5hbmdsZShcbiAgICAgICAgICBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUoMSwgMCksXG4gICAgICAgICAgVmVjdG9yRXh0ZW5zaW9ucy5pbml0aWFsaXplKHBvaW50LnggLSBjZW50ZXIueCwgcG9pbnQueSAtIGNlbnRlci55KVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgICBpZiAoYW5nbGUgPCBzdGFydEFuZ2xlKSB7XG4gICAgICAgIGFuZ2xlICs9IDIuMCAqIE1hdGguUEk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdGFydEFuZ2xlIDw9IGFuZ2xlICYmIGFuZ2xlIDw9IGVuZEFuZ2xlKSB7XG4gICAgICAgIGZpbHRlcmVkUG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXJlZFBvaW50cztcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3JtYWxpemVzIGFuIGFuZ2xlIHRvIGJlIHdpdGhpbiB0aGUgcmFuZ2UgMCB0byAyz4AuXG4gICAqIEBwYXJhbSByYWRpYW5zIC0gVGhlIGFuZ2xlIGluIHJhZGlhbnMuXG4gICAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIGFuZ2xlLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgbm9ybWFsaXplQW5nbGUocmFkaWFuczogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBub3JtYWwgPSByYWRpYW5zICUgKDIuMCAqIE1hdGguUEkpO1xuICAgIHJldHVybiBub3JtYWwgPCAwLjAgPyAobm9ybWFsICsgKDIuMCAqIE1hdGguUEkpKSA6IG5vcm1hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgaW50ZXJzZWN0aW9uIHBvaW50cyBiZXR3ZWVuIGFuIGVsbGlwc2UgYW5kIGEgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gY2VudGVyIC0gQ2VudGVyIG9mIHRoZSBlbGxpcHNlLlxuICAgKiBAcGFyYW0gcmFkaXVzWCAtIFggcmFkaXVzIG9mIHRoZSBlbGxpcHNlLlxuICAgKiBAcGFyYW0gcmFkaXVzWSAtIFkgcmFkaXVzIG9mIHRoZSBlbGxpcHNlLlxuICAgKiBAcGFyYW0gcG9pbnRBIC0gU3RhcnRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHBhcmFtIHBvaW50QiAtIEVuZGluZyBwb2ludCBvZiB0aGUgbGluZSBzZWdtZW50LlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBpbnRlcnNlY3Rpb24gcG9pbnRzLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZmluZEVsbGlwc2VMaW5lSW50ZXJzZWN0aW9ucyhjZW50ZXI6IElQb2ludCwgcmFkaXVzWDogbnVtYmVyLCByYWRpdXNZOiBudW1iZXIsIHBvaW50QTogSVBvaW50LCBwb2ludEI6IElQb2ludCk6IElQb2ludFtdIHtcbiAgICBjb25zdCBvcmlnaW4gPSBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUocG9pbnRBLngsIHBvaW50QS55KTtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSBWZWN0b3JFeHRlbnNpb25zLmZyb21Qb2ludHMocG9pbnRBLCBwb2ludEIpO1xuICAgIGNvbnN0IGVsbGlwc2VDZW50ZXIgPSBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUoY2VudGVyLngsIGNlbnRlci55KTtcbiAgICBjb25zdCBkaWZmID0gVmVjdG9yRXh0ZW5zaW9ucy5zdWJ0cmFjdChvcmlnaW4sIGVsbGlwc2VDZW50ZXIpO1xuICAgIGNvbnN0IHNjYWxlZERpciA9IFZlY3RvckV4dGVuc2lvbnMuaW5pdGlhbGl6ZShkaXJlY3Rpb24ueCAvIChyYWRpdXNYICogcmFkaXVzWCksIGRpcmVjdGlvbi55IC8gKHJhZGl1c1kgKiByYWRpdXNZKSk7XG4gICAgY29uc3Qgc2NhbGVkRGlmZiA9IFZlY3RvckV4dGVuc2lvbnMuaW5pdGlhbGl6ZShkaWZmLnggLyAocmFkaXVzWCAqIHJhZGl1c1gpLCBkaWZmLnkgLyAocmFkaXVzWSAqIHJhZGl1c1kpKTtcblxuICAgIGNvbnN0IGEgPSBWZWN0b3JFeHRlbnNpb25zLmRvdFByb2R1Y3QoZGlyZWN0aW9uLCBzY2FsZWREaXIpO1xuICAgIGNvbnN0IGIgPSBWZWN0b3JFeHRlbnNpb25zLmRvdFByb2R1Y3QoZGlyZWN0aW9uLCBzY2FsZWREaWZmKTtcbiAgICBjb25zdCBjID0gVmVjdG9yRXh0ZW5zaW9ucy5kb3RQcm9kdWN0KGRpZmYsIHNjYWxlZERpZmYpIC0gMS4wO1xuICAgIGNvbnN0IGRpc2NyaW1pbmFudCA9IGIgKiBiIC0gYSAqIGM7XG5cbiAgICByZXR1cm4gZGlzY3JpbWluYW50IDwgMCA/IFtdIDogdGhpcy5jYWxjdWxhdGVJbnRlcnNlY3Rpb25Qb2ludHMoZGlzY3JpbWluYW50LCBhLCBiLCBwb2ludEEsIHBvaW50Qik7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgaW50ZXJzZWN0aW9uIHBvaW50cyBiYXNlZCBvbiB0aGUgZGlzY3JpbWluYW50LlxuICAgKiBAcGFyYW0gZGlzY3JpbWluYW50IC0gVGhlIGRpc2NyaW1pbmFudCB2YWx1ZS5cbiAgICogQHBhcmFtIGEgLSBDb2VmZmljaWVudCAnYScgaW4gdGhlIHF1YWRyYXRpYyBlcXVhdGlvbi5cbiAgICogQHBhcmFtIGIgLSBDb2VmZmljaWVudCAnYicgaW4gdGhlIHF1YWRyYXRpYyBlcXVhdGlvbi5cbiAgICogQHBhcmFtIHBvaW50QSAtIFN0YXJ0aW5nIHBvaW50IG9mIHRoZSBsaW5lIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBwb2ludEIgLSBFbmRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9uIHBvaW50cy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGNhbGN1bGF0ZUludGVyc2VjdGlvblBvaW50cyhkaXNjcmltaW5hbnQ6IG51bWJlciwgYTogbnVtYmVyLCBiOiBudW1iZXIsIHBvaW50QTogSVBvaW50LCBwb2ludEI6IElQb2ludCk6IElQb2ludFtdIHtcbiAgICBjb25zdCBwb2ludHM6IElQb2ludFtdID0gW107XG5cbiAgICBpZiAoZGlzY3JpbWluYW50ID4gMCkge1xuICAgICAgY29uc3Qgcm9vdCA9IE1hdGguc3FydChkaXNjcmltaW5hbnQpO1xuICAgICAgY29uc3QgdDEgPSAoLWIgLSByb290KSAvIGE7XG4gICAgICBjb25zdCB0MiA9ICgtYiArIHJvb3QpIC8gYTtcblxuICAgICAgaWYgKHQxID49IDAgJiYgdDEgPD0gMSkge1xuICAgICAgICBwb2ludHMucHVzaChQb2ludEV4dGVuc2lvbnMuaW50ZXJwb2xhdGVQb2ludHMocG9pbnRBLCBwb2ludEIsIHQxKSk7XG4gICAgICB9XG4gICAgICBpZiAodDIgPj0gMCAmJiB0MiA8PSAxKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKFBvaW50RXh0ZW5zaW9ucy5pbnRlcnBvbGF0ZVBvaW50cyhwb2ludEEsIHBvaW50QiwgdDIpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdCA9IC1iIC8gYTtcbiAgICAgIGlmICh0ID49IDAgJiYgdCA8PSAxKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKFBvaW50RXh0ZW5zaW9ucy5pbnRlcnBvbGF0ZVBvaW50cyhwb2ludEEsIHBvaW50QiwgdCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwb2ludHM7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1yb3VuZGVkLXJlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbnRlcnNlY3Rpb25zL3JvdW5kZWQtcmVjdC9pLXJvdW5kZWQtcmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSUNvbm5lY3RvclNoYXBlIH0gZnJvbSAnLi4vaS1jb25uZWN0b3Itc2hhcGUnO1xuXG4vLy8gUmFkaXVzIGluIENTUyBvcmRlclxuLy8vIHRvcExlZnQsIHRvcFJpZ2h0LCBib3R0b21SaWdodCwgYm90dG9tTGVmdFxuXG5leHBvcnQgaW50ZXJmYWNlIElSb3VuZGVkUmVjdCBleHRlbmRzIElSZWN0LCBJQ29ubmVjdG9yU2hhcGUge1xuXG4gIHJhZGl1czE6IG51bWJlcjtcblxuICByYWRpdXMyOiBudW1iZXI7XG5cbiAgcmFkaXVzMzogbnVtYmVyO1xuXG4gIHJhZGl1czQ6IG51bWJlcjtcbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './i-rounded-rect';
2
- export * from './rounded-rect';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbnRlcnNlY3Rpb25zL3JvdW5kZWQtcmVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ktcm91bmRlZC1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9yb3VuZGVkLXJlY3QnO1xuIl19
@@ -1,46 +0,0 @@
1
- import { Point } from '@foblex/core';
2
- import { EFConnectorShape } from '../e-f-connector-shape';
3
- export class RoundedRect {
4
- constructor(x = 0, y = 0, width = 0, height = 0, radius1 = 0, radius2 = 0, radius3 = 0, radius4 = 0) {
5
- this.x = x;
6
- this.y = y;
7
- this.width = width;
8
- this.height = height;
9
- this.radius1 = radius1;
10
- this.radius2 = radius2;
11
- this.radius3 = radius3;
12
- this.radius4 = radius4;
13
- this.type = EFConnectorShape.ROUNDED_RECT;
14
- this.gravityCenter = { x: 0, y: 0 };
15
- this.gravityCenter = this.calculateGravityCenter(this);
16
- }
17
- calculateGravityCenter(rect) {
18
- return new Point(rect.x + rect.width / 2, rect.y + rect.height / 2);
19
- }
20
- static fromRect(rect) {
21
- return new RoundedRect(rect.x, rect.y, rect.width, rect.height);
22
- }
23
- static fromRoundedRect(rect) {
24
- return new RoundedRect(rect.x, rect.y, rect.width, rect.height, rect.radius1, rect.radius2, rect.radius3, rect.radius4);
25
- }
26
- static fromElement(element, fBrowser) {
27
- const { x, y, width, height } = element.getBoundingClientRect();
28
- return this.setRadiusFromElement(new RoundedRect(x, y, width, height), element, fBrowser);
29
- }
30
- static setRadiusFromElement(rect, element, fBrowser) {
31
- const data = fBrowser.window.getComputedStyle(element);
32
- rect.radius1 = fBrowser.toPixels(data.borderTopLeftRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
33
- rect.radius2 = fBrowser.toPixels(data.borderTopRightRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
34
- rect.radius3 = fBrowser.toPixels(data.borderBottomRightRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
35
- rect.radius4 = fBrowser.toPixels(data.borderBottomLeftRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
36
- return rect;
37
- }
38
- addPoint(point) {
39
- const copy = RoundedRect.fromRoundedRect(this);
40
- copy.x += point.x;
41
- copy.y += point.y;
42
- copy.gravityCenter = this.calculateGravityCenter(copy);
43
- return copy;
44
- }
45
- }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmRlZC1yZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vaW50ZXJzZWN0aW9ucy9yb3VuZGVkLXJlY3Qvcm91bmRlZC1yZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBaUIsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzFELE1BQU0sT0FBTyxXQUFXO0lBTXRCLFlBQ1MsSUFBWSxDQUFDLEVBQ2IsSUFBWSxDQUFDLEVBQ2IsUUFBZ0IsQ0FBQyxFQUNqQixTQUFpQixDQUFDLEVBQ2xCLFVBQWtCLENBQUMsRUFDbkIsVUFBa0IsQ0FBQyxFQUNuQixVQUFrQixDQUFDLEVBQ25CLFVBQWtCLENBQUM7UUFQbkIsTUFBQyxHQUFELENBQUMsQ0FBWTtRQUNiLE1BQUMsR0FBRCxDQUFDLENBQVk7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQVpaLFNBQUksR0FBcUIsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1FBRWhFLGtCQUFhLEdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQVk1QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsSUFBa0I7UUFDL0MsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFXO1FBQ2hDLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLElBQWtCO1FBQzlDLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBaUMsRUFBRSxRQUF3QjtRQUNuRixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDaEUsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBaUIsRUFBRSxPQUFpQyxFQUFFLFFBQXdCO1FBQ2hILE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxSCxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNILElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3SCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBYTtRQUMzQixNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUm91bmRlZFJlY3QgfSBmcm9tICcuL2ktcm91bmRlZC1yZWN0JztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIFBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEVGQ29ubmVjdG9yU2hhcGUgfSBmcm9tICcuLi9lLWYtY29ubmVjdG9yLXNoYXBlJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbmV4cG9ydCBjbGFzcyBSb3VuZGVkUmVjdCBpbXBsZW1lbnRzIElSb3VuZGVkUmVjdCB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IEVGQ29ubmVjdG9yU2hhcGUgPSBFRkNvbm5lY3RvclNoYXBlLlJPVU5ERURfUkVDVDtcblxuICBwdWJsaWMgZ3Jhdml0eUNlbnRlcjogSVBvaW50ID0geyB4OiAwLCB5OiAwIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHg6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHk6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHdpZHRoOiBudW1iZXIgPSAwLFxuICAgIHB1YmxpYyBoZWlnaHQ6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czE6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czI6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czM6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czQ6IG51bWJlciA9IDBcbiAgKSB7XG4gICAgdGhpcy5ncmF2aXR5Q2VudGVyID0gdGhpcy5jYWxjdWxhdGVHcmF2aXR5Q2VudGVyKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVHcmF2aXR5Q2VudGVyKHJlY3Q6IElSb3VuZGVkUmVjdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIG5ldyBQb2ludChyZWN0LnggKyByZWN0LndpZHRoIC8gMiwgcmVjdC55ICsgcmVjdC5oZWlnaHQgLyAyKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJlY3QocmVjdDogSVJlY3QpOiBSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIG5ldyBSb3VuZGVkUmVjdChyZWN0LngsIHJlY3QueSwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tUm91bmRlZFJlY3QocmVjdDogSVJvdW5kZWRSZWN0KTogUm91bmRlZFJlY3Qge1xuICAgIHJldHVybiBuZXcgUm91bmRlZFJlY3QocmVjdC54LCByZWN0LnksIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0LCByZWN0LnJhZGl1czEsIHJlY3QucmFkaXVzMiwgcmVjdC5yYWRpdXMzLCByZWN0LnJhZGl1czQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQsIGZCcm93c2VyOiBCcm93c2VyU2VydmljZSk6IFJvdW5kZWRSZWN0IHtcbiAgICBjb25zdCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgcmV0dXJuIHRoaXMuc2V0UmFkaXVzRnJvbUVsZW1lbnQobmV3IFJvdW5kZWRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpLCBlbGVtZW50LCBmQnJvd3Nlcik7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBzZXRSYWRpdXNGcm9tRWxlbWVudChyZWN0OiBSb3VuZGVkUmVjdCwgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50LCBmQnJvd3NlcjogQnJvd3NlclNlcnZpY2UpOiBSb3VuZGVkUmVjdCB7XG4gICAgY29uc3QgZGF0YSA9IGZCcm93c2VyLndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIHJlY3QucmFkaXVzMSA9IGZCcm93c2VyLnRvUGl4ZWxzKGRhdGEuYm9yZGVyVG9wTGVmdFJhZGl1cywgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGRhdGEuZm9udFNpemUpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXMyID0gZkJyb3dzZXIudG9QaXhlbHMoZGF0YS5ib3JkZXJUb3BSaWdodFJhZGl1cywgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGRhdGEuZm9udFNpemUpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXMzID0gZkJyb3dzZXIudG9QaXhlbHMoZGF0YS5ib3JkZXJCb3R0b21SaWdodFJhZGl1cywgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGRhdGEuZm9udFNpemUpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXM0ID0gZkJyb3dzZXIudG9QaXhlbHMoZGF0YS5ib3JkZXJCb3R0b21MZWZ0UmFkaXVzLCBlbGVtZW50LmNsaWVudFdpZHRoLCBlbGVtZW50LmNsaWVudEhlaWdodCwgZGF0YS5mb250U2l6ZSkgfHwgMDtcbiAgICByZXR1cm4gcmVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRQb2ludChwb2ludDogSVBvaW50KTogUm91bmRlZFJlY3Qge1xuICAgIGNvbnN0IGNvcHkgPSBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcyk7XG4gICAgY29weS54ICs9IHBvaW50Lng7XG4gICAgY29weS55ICs9IHBvaW50Lnk7XG4gICAgY29weS5ncmF2aXR5Q2VudGVyID0gdGhpcy5jYWxjdWxhdGVHcmF2aXR5Q2VudGVyKGNvcHkpO1xuICAgIHJldHVybiBjb3B5O1xuICB9XG59XG4iXX0=
@@ -1,8 +0,0 @@
1
- export function isElementWithClass(element, cls) {
2
- const target = getClosestDragHandle(element, cls);
3
- return !!target && !target.classList.contains(cls + '-disabled');
4
- }
5
- function getClosestDragHandle(element, cls) {
6
- return element.closest(cls);
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZWxlbWVudC13aXRoLWNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vaXMtZWxlbWVudC13aXRoLWNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUFpQyxFQUFFLEdBQVc7SUFDL0UsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxPQUFpQyxFQUFFLEdBQVc7SUFDMUUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBZ0IsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzRWxlbWVudFdpdGhDbGFzcyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQsIGNsczogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHRhcmdldCA9IGdldENsb3Nlc3REcmFnSGFuZGxlKGVsZW1lbnQsIGNscyk7XG4gIHJldHVybiAhIXRhcmdldCAmJiAhdGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhjbHMgKyAnLWRpc2FibGVkJyk7XG59XG5cbmZ1bmN0aW9uIGdldENsb3Nlc3REcmFnSGFuZGxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCwgY2xzOiBzdHJpbmcpOiBIVE1MRWxlbWVudCB7XG4gIHJldHVybiBlbGVtZW50LmNsb3Nlc3QoY2xzKSBhcyBIVE1MRWxlbWVudDtcbn1cbiJdfQ==
@@ -1,26 +0,0 @@
1
- export const F_SELECTED_CLASS = 'f-selected';
2
- export function mixinChangeConnectionSelection(base) {
3
- return class extends base {
4
- constructor(...args) {
5
- super(...args);
6
- this.fId = '';
7
- this.fSelectionDisabled = false;
8
- }
9
- deselect() {
10
- var _a;
11
- (_a = this.fPath) === null || _a === void 0 ? void 0 : _a.deselect();
12
- this.hostElement.classList.remove(F_SELECTED_CLASS);
13
- }
14
- select() {
15
- var _a;
16
- (_a = this.fPath) === null || _a === void 0 ? void 0 : _a.select();
17
- if (!this.hostElement.classList.contains(F_SELECTED_CLASS)) {
18
- this.hostElement.classList.add(F_SELECTED_CLASS);
19
- }
20
- }
21
- isSelected() {
22
- return this.hostElement.classList.contains(F_SELECTED_CLASS);
23
- }
24
- };
25
- }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLWNvbm5lY3Rpb24tc2VsZWN0aW9uLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL21peGlucy9jaGFuZ2UtY29ubmVjdGlvbi1zZWxlY3Rpb24ubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQztBQUs3QyxNQUFNLFVBQVUsOEJBQThCLENBQXlDLElBQU87SUFDNUYsT0FBTyxLQUFNLFNBQVEsSUFBSTtRQXdCdkIsWUFBWSxHQUFHLElBQVc7WUFDeEIsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUF2QlYsUUFBRyxHQUFXLEVBQUUsQ0FBQztZQUVqQix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFzQjNDLENBQUM7UUFsQk0sUUFBUTs7WUFDYixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFTSxNQUFNOztZQUNYLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsTUFBTSxFQUFFLENBQUM7WUFDckIsSUFBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUN6RCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUNsRDtRQUNILENBQUM7UUFFTSxVQUFVO1lBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvRCxDQUFDO0tBS0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQsIEFic3RyYWN0Q29uc3RydWN0b3IsIENvbnN0cnVjdG9yICB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJQ29ubmVjdGlvblBhdGggfSBmcm9tICcuLi9mLXBhdGgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWxlY3RhYmxlIHtcblxuICBmSWQ6IHN0cmluZztcblxuICBmU2VsZWN0aW9uRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcblxuICBzZWxlY3QoKTogdm9pZDtcblxuICBkZXNlbGVjdCgpOiB2b2lkO1xuXG4gIGlzU2VsZWN0ZWQoKTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IEZfU0VMRUNURURfQ0xBU1MgPSAnZi1zZWxlY3RlZCc7XG5cbnR5cGUgQ2FuQ2hhbmdlQ29ubmVjdGlvblNlbGVjdGlvbkNvbnN0cnVjdG9yID0gQ29uc3RydWN0b3I8SVNlbGVjdGFibGU+ICYgQWJzdHJhY3RDb25zdHJ1Y3RvcjxJU2VsZWN0YWJsZT47XG5cbmV4cG9ydCBmdW5jdGlvbiBtaXhpbkNoYW5nZUNvbm5lY3Rpb25TZWxlY3Rpb248VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8SUhhc0hvc3RFbGVtZW50Pj4oYmFzZTogVCk6IENhbkNoYW5nZUNvbm5lY3Rpb25TZWxlY3Rpb25Db25zdHJ1Y3RvciAmIFQ7XG5leHBvcnQgZnVuY3Rpb24gbWl4aW5DaGFuZ2VDb25uZWN0aW9uU2VsZWN0aW9uPFQgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxJSGFzSG9zdEVsZW1lbnQ+PihiYXNlOiBUKTogQ2FuQ2hhbmdlQ29ubmVjdGlvblNlbGVjdGlvbkNvbnN0cnVjdG9yICYgVCB7XG4gIHJldHVybiBjbGFzcyBleHRlbmRzIGJhc2Uge1xuXG4gICAgcHVibGljIGZJZDogc3RyaW5nID0gJyc7XG5cbiAgICBwdWJsaWMgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgZlBhdGg6IElDb25uZWN0aW9uUGF0aCB8IHVuZGVmaW5lZDtcblxuICAgIHB1YmxpYyBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuZlBhdGg/LmRlc2VsZWN0KCk7XG4gICAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuZlBhdGg/LnNlbGVjdCgpO1xuICAgICAgaWYoIXRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKEZfU0VMRUNURURfQ0xBU1MpKSB7XG4gICAgICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmFkZChGX1NFTEVDVEVEX0NMQVNTKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhGX1NFTEVDVEVEX0NMQVNTKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgc3VwZXIoLi4uYXJncyk7XG4gICAgfVxuICB9O1xufVxuIl19
@@ -1,14 +0,0 @@
1
- export function mixinChangeConnectionVisibility(base) {
2
- return class extends base {
3
- show() {
4
- this.hostElement.style.display = "unset";
5
- }
6
- hide() {
7
- this.hostElement.style.display = "none";
8
- }
9
- constructor(...args) {
10
- super(...args);
11
- }
12
- };
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLWNvbm5lY3Rpb24tdmlzaWJpbGl0eS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9taXhpbnMvY2hhbmdlLWNvbm5lY3Rpb24tdmlzaWJpbGl0eS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSxNQUFNLFVBQVUsK0JBQStCLENBQXlDLElBQU87SUFDN0YsT0FBTyxLQUFNLFNBQVEsSUFBSTtRQUVoQixJQUFJO1lBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUMzQyxDQUFDO1FBRU0sSUFBSTtZQUNULElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDMUMsQ0FBQztRQUVELFlBQVksR0FBRyxJQUFXO1lBQ3hCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2pCLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYXNIb3N0RWxlbWVudCwgQWJzdHJhY3RDb25zdHJ1Y3RvciwgQ29uc3RydWN0b3IgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDYW5DaGFuZ2VDb25uZWN0aW9uVmlzaWJpbGl0eSB7XG5cbiAgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcblxuICBzaG93KCk6IHZvaWQ7XG5cbiAgaGlkZSgpOiB2b2lkO1xufVxuXG50eXBlIENhbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5Q29uc3RydWN0b3IgPSBDb25zdHJ1Y3RvcjxJQ2FuQ2hhbmdlQ29ubmVjdGlvblZpc2liaWxpdHk+ICYgQWJzdHJhY3RDb25zdHJ1Y3RvcjxJQ2FuQ2hhbmdlQ29ubmVjdGlvblZpc2liaWxpdHk+O1xuXG5leHBvcnQgZnVuY3Rpb24gbWl4aW5DaGFuZ2VDb25uZWN0aW9uVmlzaWJpbGl0eTxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxJSGFzSG9zdEVsZW1lbnQ+PihiYXNlOiBUKTogQ2FuQ2hhbmdlQ29ubmVjdGlvblZpc2liaWxpdHlDb25zdHJ1Y3RvciAmIFQ7XG5leHBvcnQgZnVuY3Rpb24gbWl4aW5DaGFuZ2VDb25uZWN0aW9uVmlzaWJpbGl0eTxUIGV4dGVuZHMgQ29uc3RydWN0b3I8SUhhc0hvc3RFbGVtZW50Pj4oYmFzZTogVCk6IENhbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5Q29uc3RydWN0b3IgJiBUIHtcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgYmFzZSB7XG5cbiAgICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcbiAgICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IFwidW5zZXRcIjtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGlkZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICB9XG4gIH07XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from './change-connection-selection.mixin';
2
- export * from './change-connection-visibility.mixin';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vbWl4aW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhbmdlLWNvbm5lY3Rpb24tc2VsZWN0aW9uLm1peGluJztcblxuZXhwb3J0ICogZnJvbSAnLi9jaGFuZ2UtY29ubmVjdGlvbi12aXNpYmlsaXR5Lm1peGluJztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1jYW4tcnVuLW91dHNpZGUtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvaS1jYW4tcnVuLW91dHNpZGUtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIge1xuXG4gIHJ1bk91dHNpZGVBbmd1bGFyPFQ+KGZuOiAoLi4uYXJnczogYW55W10pID0+IFQpOiBUO1xufVxuIl19
@@ -1,7 +0,0 @@
1
- import { FFlowMediator } from './f-flow-mediator';
2
- export function FExecutionRegister(requestType) {
3
- return function (constructor) {
4
- FFlowMediator.registerPipeline(requestType, constructor, false);
5
- };
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1leGVjdXRpb24tcmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2luZnJhc3RydWN0dXJlL2YtbWVkaWF0b3IvZi1leGVjdXRpb24tcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBS2xELE1BQU0sVUFBVSxrQkFBa0IsQ0FBc0IsV0FBMkI7SUFDakYsT0FBTyxVQUFVLFdBQXlEO1FBQ3hFLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi9mLWZsb3ctbWVkaWF0b3InO1xuaW1wb3J0IHsgSUV4ZWN1dGlvbiB9IGZyb20gJy4uL3BpcGVsaW5lJztcblxudHlwZSBDb25zdHJ1Y3RvcjxUID0gYW55PiA9IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBGRXhlY3V0aW9uUmVnaXN0ZXI8VFJlcXVlc3QsIFRSZXNwb25zZT4ocmVxdWVzdFR5cGU6IFR5cGU8VFJlcXVlc3Q+KSB7XG4gIHJldHVybiBmdW5jdGlvbiAoY29uc3RydWN0b3I6IENvbnN0cnVjdG9yPElFeGVjdXRpb248VFJlcXVlc3QsIFRSZXNwb25zZT4+KSB7XG4gICAgRkZsb3dNZWRpYXRvci5yZWdpc3RlclBpcGVsaW5lKHJlcXVlc3RUeXBlLCBjb25zdHJ1Y3RvciwgZmFsc2UpO1xuICB9O1xufVxuIl19
@@ -1,29 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Pipeline } from '../pipeline';
3
- import * as i0 from "@angular/core";
4
- export class FFlowMediator {
5
- constructor(injector) {
6
- this.injector = injector;
7
- }
8
- static registerPipeline(type, handler, isValidator) {
9
- const pipeline = this.pipelines.get(type.name) || new Pipeline();
10
- isValidator
11
- ? pipeline.setValidator(handler)
12
- : pipeline.setExecution(handler);
13
- this.pipelines.set(type.name, pipeline);
14
- }
15
- send(request) {
16
- const pipeline = FFlowMediator.pipelines.get(request.constructor.name);
17
- if (pipeline) {
18
- return pipeline.handle(request, this.injector);
19
- }
20
- throw new Error('Handler not registered for request type.');
21
- }
22
- }
23
- FFlowMediator.pipelines = new Map();
24
- FFlowMediator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FFlowMediator, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
25
- FFlowMediator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FFlowMediator });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FFlowMediator, decorators: [{
27
- type: Injectable
28
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93LW1lZGlhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9pbmZyYXN0cnVjdHVyZS9mLW1lZGlhdG9yL2YtZmxvdy1tZWRpYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQTBCLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFHL0QsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFDVSxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRTVCLENBQUM7SUFJTSxNQUFNLENBQUMsZ0JBQWdCLENBQzVCLElBQW9CLEVBQ3BCLE9BQTJFLEVBQzNFLFdBQW9CO1FBRXBCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsRUFBdUIsQ0FBQztRQUN0RixXQUFXO1lBQ1QsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBcUMsQ0FBQztZQUM5RCxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFnRCxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sSUFBSSxDQUFZLE9BQVk7UUFDakMsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLFFBQVEsRUFBRTtZQUNaLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0lBQzlELENBQUM7O0FBdEJhLHVCQUFTLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7MkdBUHJELGFBQWE7K0dBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElFeGVjdXRpb24sIElWYWxpZGF0b3IsIFBpcGVsaW5lIH0gZnJvbSAnLi4vcGlwZWxpbmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRkZsb3dNZWRpYXRvciB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwaXBlbGluZXMgPSBuZXcgTWFwPHN0cmluZywgUGlwZWxpbmU8YW55LCBhbnk+PigpO1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVnaXN0ZXJQaXBlbGluZTxUUmVxdWVzdCwgVFJlc3BvbnNlPihcbiAgICB0eXBlOiBUeXBlPFRSZXF1ZXN0PixcbiAgICBoYW5kbGVyOiBUeXBlPElWYWxpZGF0b3I8VFJlcXVlc3Q+PiB8IFR5cGU8SUV4ZWN1dGlvbjxUUmVxdWVzdCwgVFJlc3BvbnNlPj4sXG4gICAgaXNWYWxpZGF0b3I6IGJvb2xlYW5cbiAgKTogdm9pZCB7XG4gICAgY29uc3QgcGlwZWxpbmUgPSB0aGlzLnBpcGVsaW5lcy5nZXQodHlwZS5uYW1lKSB8fCBuZXcgUGlwZWxpbmU8VFJlcXVlc3QsIFRSZXNwb25zZT4oKTtcbiAgICBpc1ZhbGlkYXRvclxuICAgICAgPyBwaXBlbGluZS5zZXRWYWxpZGF0b3IoaGFuZGxlciBhcyBUeXBlPElWYWxpZGF0b3I8VFJlcXVlc3Q+PilcbiAgICAgIDogcGlwZWxpbmUuc2V0RXhlY3V0aW9uKGhhbmRsZXIgYXMgVHlwZTxJRXhlY3V0aW9uPFRSZXF1ZXN0LCBUUmVzcG9uc2U+Pik7XG5cbiAgICB0aGlzLnBpcGVsaW5lcy5zZXQodHlwZS5uYW1lLCBwaXBlbGluZSk7XG4gIH1cblxuICBwdWJsaWMgc2VuZDxUUmVzcG9uc2U+KHJlcXVlc3Q6IGFueSk6IFRSZXNwb25zZSB7XG4gICAgY29uc3QgcGlwZWxpbmUgPSBGRmxvd01lZGlhdG9yLnBpcGVsaW5lcy5nZXQocmVxdWVzdC5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgICBpZiAocGlwZWxpbmUpIHtcbiAgICAgIHJldHVybiBwaXBlbGluZS5oYW5kbGUocmVxdWVzdCwgdGhpcy5pbmplY3Rvcik7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdIYW5kbGVyIG5vdCByZWdpc3RlcmVkIGZvciByZXF1ZXN0IHR5cGUuJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- import { FFlowMediator } from './f-flow-mediator';
2
- export function FValidatorRegister(requestType) {
3
- return function (constructor) {
4
- FFlowMediator.registerPipeline(requestType, constructor, true);
5
- };
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi12YWxpZGF0b3ItcmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2luZnJhc3RydWN0dXJlL2YtbWVkaWF0b3IvZi12YWxpZGF0b3ItcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBS2xELE1BQU0sVUFBVSxrQkFBa0IsQ0FBc0IsV0FBMkI7SUFDakYsT0FBTyxVQUFVLFdBQThDO1FBQzdELGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi9mLWZsb3ctbWVkaWF0b3InO1xuaW1wb3J0IHsgSVZhbGlkYXRvciB9IGZyb20gJy4uL3BpcGVsaW5lJztcblxudHlwZSBDb25zdHJ1Y3RvcjxUID0gYW55PiA9IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBGVmFsaWRhdG9yUmVnaXN0ZXI8VFJlcXVlc3QsIFRSZXNwb25zZT4ocmVxdWVzdFR5cGU6IFR5cGU8VFJlcXVlc3Q+KSB7XG4gIHJldHVybiBmdW5jdGlvbiAoY29uc3RydWN0b3I6IENvbnN0cnVjdG9yPElWYWxpZGF0b3I8VFJlcXVlc3Q+Pikge1xuICAgIEZGbG93TWVkaWF0b3IucmVnaXN0ZXJQaXBlbGluZShyZXF1ZXN0VHlwZSwgY29uc3RydWN0b3IsIHRydWUpO1xuICB9O1xufVxuIl19
@@ -1,4 +0,0 @@
1
- export * from './f-execution-register';
2
- export * from './f-flow-mediator';
3
- export * from './f-validator-register';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2luZnJhc3RydWN0dXJlL2YtbWVkaWF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtZXhlY3V0aW9uLXJlZ2lzdGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWZsb3ctbWVkaWF0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtdmFsaWRhdG9yLXJlZ2lzdGVyJztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './f-mediator';
2
- export * from './pipeline';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2luZnJhc3RydWN0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBRTdCLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLW1lZGlhdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZSc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2luZnJhc3RydWN0dXJlL3BpcGVsaW5lL2ktZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUV4ZWN1dGlvbjxUUmVxdWVzdCwgVFJlc3BvbnNlPlxuICBleHRlbmRzIElIYW5kbGVyPFRSZXF1ZXN0LCBUUmVzcG9uc2U+e1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2luZnJhc3RydWN0dXJlL3BpcGVsaW5lL2ktdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVZhbGlkYXRvcjxUUmVxdWVzdD5cbiAgZXh0ZW5kcyBJSGFuZGxlcjxUUmVxdWVzdCwgYm9vbGVhbj57XG59XG4iXX0=
@@ -1,4 +0,0 @@
1
- export * from './i-execution';
2
- export * from './i-validator';
3
- export * from './pipeline';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2luZnJhc3RydWN0dXJlL3BpcGVsaW5lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pLWV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS12YWxpZGF0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lJztcbiJdfQ==
@@ -1,19 +0,0 @@
1
- export class Pipeline {
2
- handle(request, injector) {
3
- let isValid = true;
4
- if (this.validator) {
5
- isValid = injector.get(this.validator).handle(request);
6
- }
7
- if (!isValid) {
8
- return;
9
- }
10
- return injector.get(this.execution).handle(request);
11
- }
12
- setValidator(validator) {
13
- this.validator = validator;
14
- }
15
- setExecution(execution) {
16
- this.execution = execution;
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2luZnJhc3RydWN0dXJlL3BpcGVsaW5lL3BpcGVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBTyxRQUFRO0lBTVosTUFBTSxDQUFDLE9BQWlCLEVBQUUsUUFBa0I7UUFDakQsSUFBSSxPQUFPLEdBQVksSUFBSSxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU87U0FDUjtRQUNELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxZQUFZLENBQUMsU0FBcUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVNLFlBQVksQ0FBQyxTQUFnRDtRQUNsRSxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJVmFsaWRhdG9yIH0gZnJvbSAnLi9pLXZhbGlkYXRvcic7XG5pbXBvcnQgeyBJRXhlY3V0aW9uIH0gZnJvbSAnLi9pLWV4ZWN1dGlvbic7XG5pbXBvcnQgeyBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgUGlwZWxpbmU8VFJlcXVlc3QsIFRSZXNwb25zZT5cbiAgaW1wbGVtZW50cyBJSGFuZGxlcjxUUmVxdWVzdCwgVFJlc3BvbnNlIHwgdm9pZD4ge1xuXG4gIHByaXZhdGUgdmFsaWRhdG9yPzogVHlwZTxJVmFsaWRhdG9yPFRSZXF1ZXN0Pj47XG4gIHByaXZhdGUgZXhlY3V0aW9uITogVHlwZTxJRXhlY3V0aW9uPFRSZXF1ZXN0LCBUUmVzcG9uc2U+PjtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFRSZXF1ZXN0LCBpbmplY3RvcjogSW5qZWN0b3IpOiBUUmVzcG9uc2UgfCB2b2lkIHtcbiAgICBsZXQgaXNWYWxpZDogYm9vbGVhbiA9IHRydWU7XG4gICAgaWYgKHRoaXMudmFsaWRhdG9yKSB7XG4gICAgICBpc1ZhbGlkID0gaW5qZWN0b3IuZ2V0KHRoaXMudmFsaWRhdG9yKS5oYW5kbGUocmVxdWVzdCk7XG4gICAgfVxuXG4gICAgaWYgKCFpc1ZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiBpbmplY3Rvci5nZXQodGhpcy5leGVjdXRpb24pLmhhbmRsZShyZXF1ZXN0KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRWYWxpZGF0b3IodmFsaWRhdG9yOiBUeXBlPElWYWxpZGF0b3I8VFJlcXVlc3Q+Pik6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdG9yID0gdmFsaWRhdG9yO1xuICB9XG5cbiAgcHVibGljIHNldEV4ZWN1dGlvbihleGVjdXRpb246IFR5cGU8SUV4ZWN1dGlvbjxUUmVxdWVzdCwgVFJlc3BvbnNlPj4pOiB2b2lkIHtcbiAgICB0aGlzLmV4ZWN1dGlvbiA9IGV4ZWN1dGlvbjtcbiAgfVxufVxuIl19
@@ -1,13 +0,0 @@
1
- import { IHasHostElement, AbstractConstructor, Constructor } from '@foblex/core';
2
- export interface ISelectable {
3
- fId: string;
4
- fSelectionDisabled: boolean;
5
- hostElement: HTMLElement | SVGElement;
6
- select(): void;
7
- deselect(): void;
8
- isSelected(): boolean;
9
- }
10
- export declare const F_SELECTED_CLASS = "f-selected";
11
- declare type CanChangeConnectionSelectionConstructor = Constructor<ISelectable> & AbstractConstructor<ISelectable>;
12
- export declare function mixinChangeConnectionSelection<T extends AbstractConstructor<IHasHostElement>>(base: T): CanChangeConnectionSelectionConstructor & T;
13
- export {};
@@ -1,9 +0,0 @@
1
- import { IHasHostElement, AbstractConstructor, Constructor } from '@foblex/core';
2
- export interface ICanChangeConnectionVisibility {
3
- hostElement: HTMLElement | SVGElement;
4
- show(): void;
5
- hide(): void;
6
- }
7
- declare type CanChangeConnectionVisibilityConstructor = Constructor<ICanChangeConnectionVisibility> & AbstractConstructor<ICanChangeConnectionVisibility>;
8
- export declare function mixinChangeConnectionVisibility<T extends AbstractConstructor<IHasHostElement>>(base: T): CanChangeConnectionVisibilityConstructor & T;
9
- export {};
@@ -1,2 +0,0 @@
1
- export * from './change-connection-selection.mixin';
2
- export * from './change-connection-visibility.mixin';
@@ -1,3 +0,0 @@
1
- export interface ICanRunOutsideAngular {
2
- runOutsideAngular<T>(fn: (...args: any[]) => T): T;
3
- }
@@ -1,5 +0,0 @@
1
- import { Type } from '@angular/core';
2
- import { IExecution } from '../pipeline';
3
- declare type Constructor<T = any> = new (...args: any[]) => T;
4
- export declare function FExecutionRegister<TRequest, TResponse>(requestType: Type<TRequest>): (constructor: Constructor<IExecution<TRequest, TResponse>>) => void;
5
- export {};
@@ -1,12 +0,0 @@
1
- import { Injector, Type } from '@angular/core';
2
- import { IExecution, IValidator, Pipeline } from '../pipeline';
3
- import * as i0 from "@angular/core";
4
- export declare class FFlowMediator {
5
- private injector;
6
- constructor(injector: Injector);
7
- static pipelines: Map<string, Pipeline<any, any>>;
8
- static registerPipeline<TRequest, TResponse>(type: Type<TRequest>, handler: Type<IValidator<TRequest>> | Type<IExecution<TRequest, TResponse>>, isValidator: boolean): void;
9
- send<TResponse>(request: any): TResponse;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<FFlowMediator, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<FFlowMediator>;
12
- }
@@ -1,5 +0,0 @@
1
- import { Type } from '@angular/core';
2
- import { IValidator } from '../pipeline';
3
- declare type Constructor<T = any> = new (...args: any[]) => T;
4
- export declare function FValidatorRegister<TRequest, TResponse>(requestType: Type<TRequest>): (constructor: Constructor<IValidator<TRequest>>) => void;
5
- export {};
@@ -1,3 +0,0 @@
1
- export * from './f-execution-register';
2
- export * from './f-flow-mediator';
3
- export * from './f-validator-register';
@@ -1,2 +0,0 @@
1
- export * from './f-mediator';
2
- export * from './pipeline';
@@ -1,3 +0,0 @@
1
- import { IHandler } from '@foblex/core';
2
- export interface IExecution<TRequest, TResponse> extends IHandler<TRequest, TResponse> {
3
- }
@@ -1,3 +0,0 @@
1
- import { IHandler } from '@foblex/core';
2
- export interface IValidator<TRequest> extends IHandler<TRequest, boolean> {
3
- }
@@ -1,3 +0,0 @@
1
- export * from './i-execution';
2
- export * from './i-validator';
3
- export * from './pipeline';
@@ -1,11 +0,0 @@
1
- import { IHandler } from '@foblex/core';
2
- import { IValidator } from './i-validator';
3
- import { IExecution } from './i-execution';
4
- import { Injector, Type } from '@angular/core';
5
- export declare class Pipeline<TRequest, TResponse> implements IHandler<TRequest, TResponse | void> {
6
- private validator?;
7
- private execution;
8
- handle(request: TRequest, injector: Injector): TResponse | void;
9
- setValidator(validator: Type<IValidator<TRequest>>): void;
10
- setExecution(execution: Type<IExecution<TRequest, TResponse>>): void;
11
- }