@foblex/flow 12.6.1 → 12.6.3

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 (727) hide show
  1. package/bundles/foblex-flow.umd.js +9635 -0
  2. package/bundles/foblex-flow.umd.js.map +1 -0
  3. package/domain/create-connection-markers/create-connection-markers.execution.d.ts +3 -0
  4. package/domain/create-dom-element.d.ts +2 -0
  5. package/domain/deep-clone-node.d.ts +1 -0
  6. package/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.d.ts +3 -1
  7. package/domain/index.d.ts +2 -0
  8. package/domain/intersections/rounded-rect/rounded-rect.d.ts +2 -2
  9. package/domain/providers.d.ts +1 -1
  10. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +3 -3
  11. package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.d.ts +3 -3
  12. package/domain/update-item-and-children-layers/update-item-and-children-layers.execution.d.ts +1 -3
  13. package/esm2015/domain/cast-to-enum.js +12 -0
  14. package/esm2015/domain/clear-selection/clear-selection.execution.js +26 -0
  15. package/{esm2022/domain/create-connection-markers/create-connection-markers-request.mjs → esm2015/domain/create-connection-markers/create-connection-markers-request.js} +1 -2
  16. package/esm2015/domain/create-connection-markers/create-connection-markers.execution.js +61 -0
  17. package/esm2015/domain/create-dom-element.js +4 -0
  18. package/esm2015/domain/deep-clone-node.js +47 -0
  19. package/esm2015/domain/emit-transform-changes/emit-transform-changes.execution.js +24 -0
  20. package/esm2015/domain/get-can-be-selected-items/get-can-be-selected-items.execution.js +57 -0
  21. package/esm2015/domain/get-connection-line/get-connection-line.execution.js +68 -0
  22. package/esm2015/domain/get-connection-line/get-connection-line.request.js +10 -0
  23. package/esm2015/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.js +35 -0
  24. package/{esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.mjs → esm2015/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.js} +1 -2
  25. package/{esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.mjs → esm2015/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.js} +1 -2
  26. package/esm2015/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.js +43 -0
  27. package/{esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-request.mjs → esm2015/domain/get-input-rect-in-flow/get-input-rect-in-flow-request.js} +1 -2
  28. package/esm2015/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.js +7 -0
  29. package/esm2015/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.js +33 -0
  30. package/esm2015/domain/get-nodes-rect/get-nodes-rect.execution.js +31 -0
  31. package/{esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-request.mjs → esm2015/domain/get-output-rect-in-flow/get-output-rect-in-flow-request.js} +1 -2
  32. package/esm2015/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.js +7 -0
  33. package/esm2015/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.js +37 -0
  34. package/{esm2022/domain/get-position-in-flow/get-position-in-flow-request.mjs → esm2015/domain/get-position-in-flow/get-position-in-flow-request.js} +1 -2
  35. package/esm2015/domain/get-position-in-flow/get-position-in-flow.execution.js +32 -0
  36. package/esm2015/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.js +34 -0
  37. package/esm2015/domain/get-selection/get-selection.execution.js +35 -0
  38. package/esm2015/domain/get-value-from-data-attr.js +7 -0
  39. package/{esm2022/domain/index.mjs → esm2015/domain/index.js} +3 -1
  40. package/esm2015/domain/intersections/f-connector-shape.extensions.js +46 -0
  41. package/esm2015/domain/intersections/intersection-finder.js +156 -0
  42. package/esm2015/domain/intersections/rounded-rect/rounded-rect.js +46 -0
  43. package/esm2015/domain/is-connection-under-node/is-connection-under-node.execution.js +76 -0
  44. package/esm2015/domain/redraw-connections/redraw-connections.execution.js +60 -0
  45. package/esm2015/domain/select/select.execution.js +44 -0
  46. package/esm2015/domain/select/select.request.js +7 -0
  47. package/esm2015/domain/select-all/select-all.execution.js +38 -0
  48. package/esm2015/domain/select-and-update-node-layer/select-and-update-node-layer.execution.js +35 -0
  49. package/{esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.request.mjs → esm2015/domain/select-and-update-node-layer/select-and-update-node-layer.request.js} +1 -2
  50. package/esm2015/domain/sort-item-layers/sort-item-layers.execution.js +30 -0
  51. package/esm2015/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.js +57 -0
  52. package/{esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.mjs → esm2015/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.js} +1 -2
  53. package/esm2015/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.js +59 -0
  54. package/esm2015/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.js +26 -0
  55. package/esm2015/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.js +30 -0
  56. package/{esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs → esm2015/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.js} +1 -5
  57. package/esm2015/domain/update-item-and-children-layers/update-item-and-children-layers.execution.js +94 -0
  58. package/{esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs → esm2015/domain/update-item-and-children-layers/update-item-and-children-layers.request.js} +1 -3
  59. package/{esm2022/f-backgroud/f-background-base.mjs → esm2015/f-backgroud/f-background-base.js} +4 -4
  60. package/esm2015/f-backgroud/f-background.component.js +71 -0
  61. package/esm2015/f-backgroud/f-circle-pattern/f-circle-pattern.component.js +104 -0
  62. package/esm2015/f-backgroud/f-rect-pattern/f-rect-pattern.component.js +122 -0
  63. package/esm2015/f-canvas/domain/f-canvas-change.event.js +7 -0
  64. package/esm2015/f-canvas/f-canvas-base.js +27 -0
  65. package/esm2015/f-canvas/f-canvas.component.js +111 -0
  66. package/{esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs → esm2015/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.js} +1 -3
  67. package/{esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs → esm2015/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.js} +1 -2
  68. package/esm2015/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.js +35 -0
  69. package/esm2015/f-connection/common/domain/f-bezier.path-builder.js +37 -0
  70. package/esm2015/f-connection/common/domain/f-segment.path-builder.js +142 -0
  71. package/esm2015/f-connection/common/f-connection-base.js +62 -0
  72. package/esm2015/f-connection/common/f-connection-identifiers.js +27 -0
  73. package/esm2015/f-connection/common/f-connection-text/f-connection-text-path.directive.js +70 -0
  74. package/esm2015/f-connection/common/f-connection-text/f-connection-text.component.js +72 -0
  75. package/esm2015/f-connection/common/f-drag-handle/f-connection-drag-handle.component.js +38 -0
  76. package/esm2015/f-connection/common/f-gradient/f-connection-gradient.component.js +69 -0
  77. package/esm2015/f-connection/common/f-path/f-connection-path.component.js +59 -0
  78. package/esm2015/f-connection/common/f-path/get-path-marker-id.js +19 -0
  79. package/esm2015/f-connection/common/f-selection/f-connection-selection.component.js +37 -0
  80. package/esm2015/f-connection/common/mixins/change-connection-selection.mixin.js +26 -0
  81. package/esm2015/f-connection/f-connection/f-connection.component.js +184 -0
  82. package/esm2015/f-connection/f-connection-builder/f-connection-factory.js +34 -0
  83. package/{esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs → esm2015/f-connection/f-connection-center/f-connection-center.directive.js} +4 -4
  84. package/esm2015/f-connection/f-connection-for-create/f-connection-for-create.component.js +151 -0
  85. package/{esm2022/f-connection/f-marker/f-marker-base.mjs → esm2015/f-connection/f-marker/f-marker-base.js} +4 -4
  86. package/esm2015/f-connection/f-marker/f-marker.directive.js +58 -0
  87. package/esm2015/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.js +7 -0
  88. package/esm2015/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.js +38 -0
  89. package/esm2015/f-connectors/f-connector-base.js +17 -0
  90. package/esm2015/f-connectors/f-node-input/f-node-input-base.js +19 -0
  91. package/esm2015/f-connectors/f-node-input/f-node-input.directive.js +88 -0
  92. package/esm2015/f-connectors/f-node-outlet/f-node-outlet-base.js +23 -0
  93. package/esm2015/f-connectors/f-node-outlet/f-node-outlet.directive.js +71 -0
  94. package/esm2015/f-connectors/f-node-output/f-node-output-base.js +19 -0
  95. package/esm2015/f-connectors/f-node-output/f-node-output.directive.js +95 -0
  96. package/esm2015/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.js +24 -0
  97. package/{esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.mjs → esm2015/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.js} +1 -2
  98. package/esm2015/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.js +25 -0
  99. package/esm2015/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.js +36 -0
  100. package/{esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.mjs → esm2015/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.js} +1 -2
  101. package/esm2015/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.js +49 -0
  102. package/esm2015/f-draggable/canvas/canvas.drag-handler.js +18 -0
  103. package/esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.js +56 -0
  104. package/{esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.js} +1 -2
  105. package/esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.js +25 -0
  106. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.js +45 -0
  107. package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.js} +1 -3
  108. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.js +53 -0
  109. package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.js} +1 -2
  110. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.js +39 -0
  111. package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.js} +1 -2
  112. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.js +34 -0
  113. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.js +43 -0
  114. package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.js} +1 -2
  115. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.js +32 -0
  116. package/esm2015/f-draggable/connections/create-connection/create-connection.drag-handler.js +33 -0
  117. package/esm2015/f-draggable/connections/create-connection/f-create-connection.event.js +8 -0
  118. package/esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.js +43 -0
  119. package/{esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs → esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.js} +1 -2
  120. package/esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.js +27 -0
  121. package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.js +74 -0
  122. package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.js +7 -0
  123. package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.js +35 -0
  124. package/esm2015/f-draggable/connections/reassign-connection/f-reassign-connection.event.js +9 -0
  125. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.js +50 -0
  126. package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.js} +1 -2
  127. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.js +25 -0
  128. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.js +64 -0
  129. package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.js} +1 -2
  130. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.js +44 -0
  131. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.js +33 -0
  132. package/esm2015/f-draggable/domain/get-node-padding/get-node-padding.execution.js +33 -0
  133. package/esm2015/f-draggable/domain/get-node-padding/get-node-padding.request.js +7 -0
  134. package/esm2015/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.js +29 -0
  135. package/{esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs → esm2015/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.js} +1 -2
  136. package/esm2015/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.js +48 -0
  137. package/{esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs → esm2015/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.js} +1 -2
  138. package/esm2015/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.js +36 -0
  139. package/{esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs → esm2015/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.js} +1 -2
  140. package/esm2015/f-draggable/domain/index.js +7 -0
  141. package/esm2015/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.js +34 -0
  142. package/{esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs → esm2015/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.js} +1 -3
  143. package/esm2015/f-draggable/domain/providers.js +13 -0
  144. package/esm2015/f-draggable/f-draggable-base.js +174 -0
  145. package/esm2015/f-draggable/f-draggable-data-context.js +26 -0
  146. package/esm2015/f-draggable/f-draggable.directive.js +170 -0
  147. package/esm2015/f-draggable/f-selection-change-event.js +7 -0
  148. package/esm2015/f-draggable/node/connection-base-drag-handler.js +40 -0
  149. package/esm2015/f-draggable/node/connection-source.drag-handler.js +16 -0
  150. package/esm2015/f-draggable/node/connection-target.drag-handler.js +16 -0
  151. package/esm2015/f-draggable/node/connection.drag-handler.js +20 -0
  152. package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.js +90 -0
  153. package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.js +44 -0
  154. package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.js} +1 -3
  155. 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 +70 -0
  156. package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.js} +1 -4
  157. 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 +70 -0
  158. package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.js} +1 -4
  159. package/esm2015/f-draggable/node/node-move-finalize/node-move-finalize.execution.js +54 -0
  160. package/{esm2022/f-draggable/node/node-move-finalize/node-move-finalize.request.mjs → esm2015/f-draggable/node/node-move-finalize/node-move-finalize.request.js} +1 -2
  161. package/esm2015/f-draggable/node/node-move-finalize/node-move-finalize.validator.js +25 -0
  162. package/esm2015/f-draggable/node/node-move-preparation/node-move-preparation.execution.js +60 -0
  163. package/{esm2022/f-draggable/node/node-move-preparation/node-move-preparation.request.mjs → esm2015/f-draggable/node/node-move-preparation/node-move-preparation.request.js} +1 -2
  164. package/esm2015/f-draggable/node/node-move-preparation/node-move-preparation.validator.js +41 -0
  165. package/esm2015/f-draggable/node/node-resize-by-child.drag-handler.js +12 -0
  166. package/esm2015/f-draggable/node/node.drag-handler.js +34 -0
  167. package/esm2015/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.js +49 -0
  168. package/{esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs → esm2015/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.js} +1 -3
  169. package/esm2015/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.js +49 -0
  170. package/{esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs → esm2015/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.js} +1 -3
  171. package/esm2015/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.js +25 -0
  172. package/esm2015/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.js +9 -0
  173. package/esm2015/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.js +34 -0
  174. package/esm2015/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.js +8 -0
  175. package/esm2015/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.js +31 -0
  176. package/{esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs → esm2015/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.js} +1 -3
  177. package/esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.js +41 -0
  178. package/esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.js +7 -0
  179. package/esm2015/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.js +27 -0
  180. package/{esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.mjs → esm2015/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.js} +1 -2
  181. package/esm2015/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.js +25 -0
  182. package/esm2015/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.js +52 -0
  183. package/{esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.mjs → esm2015/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.js} +1 -2
  184. package/esm2015/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.js +41 -0
  185. package/esm2015/f-draggable/node-resize/node-resize.drag-handler.js +48 -0
  186. package/esm2015/f-draggable/single-select/single-select.execution.js +89 -0
  187. package/{esm2022/f-draggable/single-select/single-select.request.mjs → esm2015/f-draggable/single-select/single-select.request.js} +1 -2
  188. package/esm2015/f-draggable/single-select/single-select.validator.js +27 -0
  189. package/esm2015/f-external-item/domain/external-item-finalize/external-item-finalize.execution.js +57 -0
  190. package/{esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.request.mjs → esm2015/f-external-item/domain/external-item-finalize/external-item-finalize.request.js} +1 -2
  191. package/esm2015/f-external-item/domain/external-item-finalize/external-item-finalize.validator.js +25 -0
  192. package/esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.execution.js +43 -0
  193. package/{esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.request.mjs → esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.request.js} +1 -2
  194. package/esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.validator.js +29 -0
  195. package/esm2015/f-external-item/domain/external-item.drag-handler.js +36 -0
  196. package/{esm2022/f-external-item/domain/f-create-node.event.mjs → esm2015/f-external-item/domain/f-create-node.event.js} +1 -3
  197. package/{esm2022/f-external-item/f-external-item-base.mjs → esm2015/f-external-item/f-external-item-base.js} +4 -4
  198. package/esm2015/f-external-item/f-external-item.directive.js +55 -0
  199. package/esm2015/f-external-item/f-external-item.service.js +28 -0
  200. package/esm2015/f-flow/f-flow.component.js +122 -0
  201. package/{esm2022/f-flow.module.mjs → esm2015/f-flow.module.js} +7 -5
  202. package/esm2015/f-line-alignment/domain/line-element.js +22 -0
  203. package/esm2015/f-line-alignment/domain/line-service.js +35 -0
  204. package/esm2015/f-line-alignment/domain/nearest-coordinate.js +101 -0
  205. package/{esm2022/f-line-alignment/f-line-alignment-base.mjs → esm2015/f-line-alignment/f-line-alignment-base.js} +4 -4
  206. package/esm2015/f-line-alignment/f-line-alignment.component.js +99 -0
  207. package/esm2015/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.js +42 -0
  208. package/esm2015/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.js +9 -0
  209. package/esm2015/f-minimap/domain/check-rect-is-finite.js +8 -0
  210. package/esm2015/f-minimap/domain/f-minimap-data.js +9 -0
  211. package/esm2015/f-minimap/domain/f-minimap.drag-handler.js +37 -0
  212. package/esm2015/f-minimap/domain/index.js +8 -0
  213. package/esm2015/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.js +27 -0
  214. package/{esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.mjs → esm2015/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.js} +1 -2
  215. package/esm2015/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.js +25 -0
  216. package/esm2015/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.js +49 -0
  217. package/{esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.mjs → esm2015/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.js} +1 -3
  218. package/esm2015/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.js +28 -0
  219. package/esm2015/f-minimap/f-minimap-canvas.directive.js +66 -0
  220. package/esm2015/f-minimap/f-minimap-flow.directive.js +76 -0
  221. package/esm2015/f-minimap/f-minimap-view.directive.js +40 -0
  222. package/esm2015/f-minimap/f-minimap.component.js +76 -0
  223. package/esm2015/f-node/f-drag-handle/f-drag-handle.directive.js +24 -0
  224. package/esm2015/f-node/f-group.directive.js +149 -0
  225. package/esm2015/f-node/f-node-base.js +38 -0
  226. package/esm2015/f-node/f-node.directive.js +150 -0
  227. package/esm2015/f-node/f-resize-handle/f-resize-handle.directive.js +43 -0
  228. package/esm2015/f-node/f-rotate-handle/f-rotate-handle.directive.js +27 -0
  229. package/esm2015/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.js +27 -0
  230. package/{esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.mjs → esm2015/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.js} +1 -2
  231. package/esm2015/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.js +25 -0
  232. package/esm2015/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.js +38 -0
  233. package/esm2015/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.js +7 -0
  234. package/esm2015/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.js +31 -0
  235. package/esm2015/f-selection-area/domain/selection-area.drag-handle.js +48 -0
  236. package/{esm2022/f-selection-area/f-selection-area-base.mjs → esm2015/f-selection-area/f-selection-area-base.js} +4 -4
  237. package/esm2015/f-selection-area/f-selection-area.component.js +57 -0
  238. package/esm2015/f-storage/f-components-store.js +52 -0
  239. package/esm2015/f-storage/f-transform-store.js +14 -0
  240. package/esm2015/f-zoom/f-zoom-base.js +98 -0
  241. package/esm2015/f-zoom/f-zoom.directive.js +59 -0
  242. package/esm2015/infrastructure/f-mediator/f-flow-mediator.js +29 -0
  243. package/esm2015/infrastructure/pipeline/pipeline.js +19 -0
  244. package/f-backgroud/f-background-base.d.ts +1 -1
  245. package/f-backgroud/f-background.component.d.ts +4 -2
  246. package/f-backgroud/f-circle-pattern/f-circle-pattern.component.d.ts +4 -2
  247. package/f-backgroud/f-rect-pattern/f-rect-pattern.component.d.ts +4 -2
  248. package/f-canvas/f-canvas-base.d.ts +1 -1
  249. package/f-canvas/f-canvas.component.d.ts +1 -1
  250. package/f-connection/common/f-connection-base.d.ts +1 -1
  251. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +4 -2
  252. package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +1 -1
  253. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +1 -1
  254. package/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +1 -1
  255. package/f-connection/common/f-path/f-connection-path.component.d.ts +1 -1
  256. package/f-connection/common/f-selection/f-connection-selection.component.d.ts +1 -1
  257. package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +1 -1
  258. package/f-connection/common/mixins/change-connection-visibility.mixin.d.ts +1 -1
  259. package/f-connection/f-connection/f-connection.component.d.ts +1 -1
  260. package/f-connection/f-connection-center/f-connection-center.directive.d.ts +1 -1
  261. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
  262. package/f-connection/f-marker/f-marker-base.d.ts +1 -1
  263. package/f-connection/f-marker/f-marker.directive.d.ts +1 -1
  264. package/f-connectors/f-node-input/f-node-input-base.d.ts +1 -1
  265. package/f-connectors/f-node-input/f-node-input.directive.d.ts +1 -1
  266. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -1
  267. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +1 -1
  268. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -1
  269. package/f-connectors/f-node-output/f-node-output.directive.d.ts +1 -1
  270. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.d.ts +3 -1
  271. package/f-draggable/connections/providers.d.ts +1 -1
  272. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.d.ts +3 -1
  273. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.d.ts +3 -1
  274. package/f-draggable/domain/get-node-padding/get-node-padding.execution.d.ts +4 -4
  275. package/f-draggable/domain/index.d.ts +0 -1
  276. package/f-draggable/domain/providers.d.ts +1 -2
  277. package/f-draggable/f-draggable-base.d.ts +3 -3
  278. package/f-draggable/f-draggable.directive.d.ts +4 -3
  279. package/f-draggable/node/connection-base-drag-handler.d.ts +1 -1
  280. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
  281. package/f-draggable/node/providers.d.ts +1 -1
  282. package/f-draggable/providers.d.ts +1 -1
  283. package/f-draggable/single-select/single-select.execution.d.ts +5 -3
  284. package/f-external-item/domain/external-item-finalize/external-item-finalize.execution.d.ts +3 -1
  285. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +3 -1
  286. package/f-external-item/domain/external-item.drag-handler.d.ts +3 -1
  287. package/f-external-item/f-external-item-base.d.ts +1 -1
  288. package/f-external-item/f-external-item.directive.d.ts +1 -1
  289. package/f-flow/f-flow.component.d.ts +4 -2
  290. package/f-line-alignment/domain/line-element.d.ts +2 -1
  291. package/f-line-alignment/domain/line-service.d.ts +2 -1
  292. package/f-line-alignment/f-line-alignment-base.d.ts +1 -1
  293. package/f-line-alignment/f-line-alignment.component.d.ts +3 -2
  294. package/f-minimap/domain/check-rect-is-finite.d.ts +2 -0
  295. package/f-minimap/domain/index.d.ts +1 -0
  296. package/f-minimap/domain/providers.d.ts +1 -1
  297. package/f-minimap/f-minimap-canvas.directive.d.ts +4 -2
  298. package/f-minimap/f-minimap-flow.directive.d.ts +1 -1
  299. package/f-minimap/f-minimap-view.directive.d.ts +1 -1
  300. package/f-minimap/f-minimap.component.d.ts +1 -1
  301. package/f-node/f-drag-handle/f-drag-handle.directive.d.ts +1 -1
  302. package/f-node/f-group.directive.d.ts +4 -2
  303. package/f-node/f-node.directive.d.ts +4 -2
  304. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -1
  305. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +1 -0
  306. package/f-selection-area/f-selection-area-base.d.ts +1 -1
  307. package/f-selection-area/f-selection-area.component.d.ts +1 -1
  308. package/f-zoom/f-zoom.directive.d.ts +1 -1
  309. package/{fesm2022/foblex-flow.mjs → fesm2015/foblex-flow.js} +1815 -2054
  310. package/fesm2015/foblex-flow.js.map +1 -0
  311. package/infrastructure/f-mediator/f-execution-register.d.ts +1 -1
  312. package/infrastructure/f-mediator/f-validator-register.d.ts +1 -1
  313. package/package.json +9 -16
  314. package/esm2022/domain/cast-to-enum.mjs +0 -12
  315. package/esm2022/domain/clear-selection/clear-selection.execution.mjs +0 -27
  316. package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +0 -49
  317. package/esm2022/domain/emit-transform-changes/emit-transform-changes.execution.mjs +0 -25
  318. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +0 -60
  319. package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +0 -66
  320. package/esm2022/domain/get-connection-line/get-connection-line.request.mjs +0 -15
  321. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +0 -36
  322. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +0 -42
  323. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.mjs +0 -9
  324. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.mjs +0 -35
  325. package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +0 -32
  326. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.mjs +0 -9
  327. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.mjs +0 -39
  328. package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +0 -33
  329. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +0 -35
  330. package/esm2022/domain/get-selection/get-selection.execution.mjs +0 -36
  331. package/esm2022/domain/get-value-from-data-attr.mjs +0 -7
  332. package/esm2022/domain/intersections/f-connector-shape.extensions.mjs +0 -46
  333. package/esm2022/domain/intersections/intersection-finder.mjs +0 -156
  334. package/esm2022/domain/intersections/rounded-rect/rounded-rect.mjs +0 -79
  335. package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +0 -79
  336. package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +0 -62
  337. package/esm2022/domain/select/select.execution.mjs +0 -46
  338. package/esm2022/domain/select/select.request.mjs +0 -9
  339. package/esm2022/domain/select-all/select-all.execution.mjs +0 -40
  340. package/esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +0 -37
  341. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +0 -32
  342. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +0 -61
  343. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +0 -62
  344. package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +0 -28
  345. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +0 -30
  346. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +0 -99
  347. package/esm2022/f-backgroud/f-background.component.mjs +0 -62
  348. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +0 -103
  349. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +0 -122
  350. package/esm2022/f-canvas/domain/f-canvas-change.event.mjs +0 -9
  351. package/esm2022/f-canvas/f-canvas-base.mjs +0 -28
  352. package/esm2022/f-canvas/f-canvas.component.mjs +0 -107
  353. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +0 -35
  354. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +0 -37
  355. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +0 -142
  356. package/esm2022/f-connection/common/f-connection-base.mjs +0 -62
  357. package/esm2022/f-connection/common/f-connection-identifiers.mjs +0 -22
  358. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +0 -64
  359. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +0 -69
  360. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +0 -39
  361. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +0 -65
  362. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +0 -61
  363. package/esm2022/f-connection/common/f-path/get-path-marker-id.mjs +0 -15
  364. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +0 -39
  365. package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +0 -25
  366. package/esm2022/f-connection/f-connection/f-connection.component.mjs +0 -187
  367. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +0 -34
  368. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +0 -155
  369. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +0 -60
  370. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.mjs +0 -9
  371. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +0 -38
  372. package/esm2022/f-connectors/f-connector-base.mjs +0 -15
  373. package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +0 -16
  374. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +0 -91
  375. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +0 -20
  376. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +0 -74
  377. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +0 -16
  378. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +0 -98
  379. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +0 -25
  380. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +0 -26
  381. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +0 -38
  382. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +0 -50
  383. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +0 -19
  384. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +0 -58
  385. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +0 -26
  386. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -48
  387. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +0 -55
  388. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +0 -41
  389. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -35
  390. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +0 -45
  391. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +0 -34
  392. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +0 -36
  393. package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +0 -11
  394. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +0 -44
  395. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +0 -28
  396. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +0 -73
  397. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.mjs +0 -9
  398. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +0 -36
  399. package/esm2022/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +0 -13
  400. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +0 -53
  401. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +0 -26
  402. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +0 -65
  403. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +0 -44
  404. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +0 -35
  405. package/esm2022/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels-request.mjs +0 -13
  406. package/esm2022/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels.execution.mjs +0 -49
  407. package/esm2022/f-draggable/domain/convert-computed-to-pixels/index.mjs +0 -3
  408. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +0 -38
  409. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +0 -9
  410. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +0 -30
  411. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +0 -50
  412. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +0 -37
  413. package/esm2022/f-draggable/domain/index.mjs +0 -8
  414. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +0 -35
  415. package/esm2022/f-draggable/domain/providers.mjs +0 -15
  416. package/esm2022/f-draggable/f-draggable-base.mjs +0 -169
  417. package/esm2022/f-draggable/f-draggable-data-context.mjs +0 -25
  418. package/esm2022/f-draggable/f-draggable.directive.mjs +0 -174
  419. package/esm2022/f-draggable/f-selection-change-event.mjs +0 -9
  420. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +0 -42
  421. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +0 -18
  422. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +0 -18
  423. package/esm2022/f-draggable/node/connection.drag-handler.mjs +0 -22
  424. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +0 -87
  425. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +0 -45
  426. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +0 -72
  427. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +0 -72
  428. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +0 -54
  429. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +0 -26
  430. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +0 -62
  431. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +0 -43
  432. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -13
  433. package/esm2022/f-draggable/node/node.drag-handler.mjs +0 -37
  434. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +0 -49
  435. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +0 -49
  436. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +0 -25
  437. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.mjs +0 -13
  438. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +0 -34
  439. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.mjs +0 -11
  440. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +0 -32
  441. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +0 -42
  442. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +0 -9
  443. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +0 -27
  444. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +0 -26
  445. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +0 -55
  446. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -43
  447. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +0 -53
  448. package/esm2022/f-draggable/single-select/single-select.execution.mjs +0 -87
  449. package/esm2022/f-draggable/single-select/single-select.validator.mjs +0 -29
  450. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +0 -58
  451. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.validator.mjs +0 -26
  452. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +0 -44
  453. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  454. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +0 -36
  455. package/esm2022/f-external-item/f-external-item.directive.mjs +0 -58
  456. package/esm2022/f-external-item/f-external-item.service.mjs +0 -26
  457. package/esm2022/f-flow/f-flow.component.mjs +0 -112
  458. package/esm2022/f-line-alignment/domain/line-element.mjs +0 -24
  459. package/esm2022/f-line-alignment/domain/line-service.mjs +0 -38
  460. package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +0 -104
  461. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +0 -96
  462. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +0 -43
  463. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.mjs +0 -13
  464. package/esm2022/f-minimap/domain/f-minimap-data.mjs +0 -12
  465. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +0 -41
  466. package/esm2022/f-minimap/domain/index.mjs +0 -7
  467. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +0 -27
  468. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -26
  469. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +0 -52
  470. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -30
  471. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +0 -63
  472. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +0 -79
  473. package/esm2022/f-minimap/f-minimap-view.directive.mjs +0 -40
  474. package/esm2022/f-minimap/f-minimap.component.mjs +0 -72
  475. package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +0 -25
  476. package/esm2022/f-node/f-group.directive.mjs +0 -147
  477. package/esm2022/f-node/f-node-base.mjs +0 -37
  478. package/esm2022/f-node/f-node.directive.mjs +0 -148
  479. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +0 -44
  480. package/esm2022/f-node/f-rotate-handle/f-rotate-handle.directive.mjs +0 -28
  481. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +0 -27
  482. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  483. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +0 -41
  484. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +0 -9
  485. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -30
  486. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +0 -52
  487. package/esm2022/f-selection-area/f-selection-area.component.mjs +0 -53
  488. package/esm2022/f-storage/f-components-store.mjs +0 -53
  489. package/esm2022/f-storage/f-transform-store.mjs +0 -12
  490. package/esm2022/f-zoom/f-zoom-base.mjs +0 -97
  491. package/esm2022/f-zoom/f-zoom.directive.mjs +0 -59
  492. package/esm2022/infrastructure/f-mediator/f-flow-mediator.mjs +0 -30
  493. package/esm2022/infrastructure/pipeline/pipeline.mjs +0 -21
  494. package/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels-request.d.ts +0 -7
  495. package/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels.execution.d.ts +0 -12
  496. package/f-draggable/domain/convert-computed-to-pixels/index.d.ts +0 -2
  497. package/fesm2022/foblex-flow.mjs.map +0 -1
  498. /package/{esm2022/domain/clear-selection/clear-selection.request.mjs → esm2015/domain/clear-selection/clear-selection.request.js} +0 -0
  499. /package/{esm2022/domain/clear-selection/index.mjs → esm2015/domain/clear-selection/index.js} +0 -0
  500. /package/{esm2022/domain/create-connection-markers/index.mjs → esm2015/domain/create-connection-markers/index.js} +0 -0
  501. /package/{esm2022/domain/emit-transform-changes/emit-transform-changes.request.mjs → esm2015/domain/emit-transform-changes/emit-transform-changes.request.js} +0 -0
  502. /package/{esm2022/domain/emit-transform-changes/index.mjs → esm2015/domain/emit-transform-changes/index.js} +0 -0
  503. /package/{esm2022/domain/get-can-be-selected-items/get-can-be-selected-items-request.mjs → esm2015/domain/get-can-be-selected-items/get-can-be-selected-items-request.js} +0 -0
  504. /package/{esm2022/domain/get-can-be-selected-items/i-selectable-with-rect.mjs → esm2015/domain/get-can-be-selected-items/i-selectable-with-rect.js} +0 -0
  505. /package/{esm2022/domain/get-can-be-selected-items/index.mjs → esm2015/domain/get-can-be-selected-items/index.js} +0 -0
  506. /package/{esm2022/domain/get-connection-line/index.mjs → esm2015/domain/get-connection-line/index.js} +0 -0
  507. /package/{esm2022/domain/get-deep-children-nodes-and-groups/index.mjs → esm2015/domain/get-deep-children-nodes-and-groups/index.js} +0 -0
  508. /package/{esm2022/domain/get-element-rect-in-flow/index.mjs → esm2015/domain/get-element-rect-in-flow/index.js} +0 -0
  509. /package/{esm2022/domain/get-input-rect-in-flow/index.mjs → esm2015/domain/get-input-rect-in-flow/index.js} +0 -0
  510. /package/{esm2022/domain/get-nodes-rect/get-nodes-rect.request.mjs → esm2015/domain/get-nodes-rect/get-nodes-rect.request.js} +0 -0
  511. /package/{esm2022/domain/get-nodes-rect/index.mjs → esm2015/domain/get-nodes-rect/index.js} +0 -0
  512. /package/{esm2022/domain/get-output-rect-in-flow/index.mjs → esm2015/domain/get-output-rect-in-flow/index.js} +0 -0
  513. /package/{esm2022/domain/get-position-in-flow/index.mjs → esm2015/domain/get-position-in-flow/index.js} +0 -0
  514. /package/{esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.mjs → esm2015/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.js} +0 -0
  515. /package/{esm2022/domain/get-scaled-node-rects-with-flow-position/index.mjs → esm2015/domain/get-scaled-node-rects-with-flow-position/index.js} +0 -0
  516. /package/{esm2022/domain/get-selection/get-selection.request.mjs → esm2015/domain/get-selection/get-selection.request.js} +0 -0
  517. /package/{esm2022/domain/get-selection/index.mjs → esm2015/domain/get-selection/index.js} +0 -0
  518. /package/{esm2022/domain/intersections/e-f-connector-shape.mjs → esm2015/domain/intersections/e-f-connector-shape.js} +0 -0
  519. /package/{esm2022/domain/intersections/i-connector-shape.mjs → esm2015/domain/intersections/i-connector-shape.js} +0 -0
  520. /package/{esm2022/domain/intersections/index.mjs → esm2015/domain/intersections/index.js} +0 -0
  521. /package/{esm2022/domain/intersections/rounded-rect/i-rounded-rect.mjs → esm2015/domain/intersections/rounded-rect/i-rounded-rect.js} +0 -0
  522. /package/{esm2022/domain/intersections/rounded-rect/index.mjs → esm2015/domain/intersections/rounded-rect/index.js} +0 -0
  523. /package/{esm2022/domain/is-connection-under-node/index.mjs → esm2015/domain/is-connection-under-node/index.js} +0 -0
  524. /package/{esm2022/domain/is-connection-under-node/is-connection-under-node.request.mjs → esm2015/domain/is-connection-under-node/is-connection-under-node.request.js} +0 -0
  525. /package/{esm2022/domain/is-element-with-class.mjs → esm2015/domain/is-element-with-class.js} +0 -0
  526. /package/{esm2022/domain/providers.mjs → esm2015/domain/providers.js} +0 -0
  527. /package/{esm2022/domain/redraw-connections/index.mjs → esm2015/domain/redraw-connections/index.js} +0 -0
  528. /package/{esm2022/domain/redraw-connections/redraw-connections-request.mjs → esm2015/domain/redraw-connections/redraw-connections-request.js} +0 -0
  529. /package/{esm2022/domain/select/index.mjs → esm2015/domain/select/index.js} +0 -0
  530. /package/{esm2022/domain/select-all/index.mjs → esm2015/domain/select-all/index.js} +0 -0
  531. /package/{esm2022/domain/select-all/select-all.request.mjs → esm2015/domain/select-all/select-all.request.js} +0 -0
  532. /package/{esm2022/domain/select-and-update-node-layer/index.mjs → esm2015/domain/select-and-update-node-layer/index.js} +0 -0
  533. /package/{esm2022/domain/sort-item-layers/index.mjs → esm2015/domain/sort-item-layers/index.js} +0 -0
  534. /package/{esm2022/domain/sort-item-layers/sort-item-layers.request.mjs → esm2015/domain/sort-item-layers/sort-item-layers.request.js} +0 -0
  535. /package/{esm2022/domain/sort-item-layers/sort-items-by-parent/index.mjs → esm2015/domain/sort-item-layers/sort-items-by-parent/index.js} +0 -0
  536. /package/{esm2022/domain/sort-item-layers/sort-node-layers-by-groups/index.mjs → esm2015/domain/sort-item-layers/sort-node-layers-by-groups/index.js} +0 -0
  537. /package/{esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.mjs → esm2015/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.js} +0 -0
  538. /package/{esm2022/domain/subscribe-on-transform-changes/index.mjs → esm2015/domain/subscribe-on-transform-changes/index.js} +0 -0
  539. /package/{esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.mjs → esm2015/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.js} +0 -0
  540. /package/{esm2022/domain/update-item-and-children-layers/index.mjs → esm2015/domain/update-item-and-children-layers/index.js} +0 -0
  541. /package/{esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs → esm2015/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.js} +0 -0
  542. /package/{esm2022/errors/conflict-error.mjs → esm2015/errors/conflict-error.js} +0 -0
  543. /package/{esm2022/errors/create-error-class.mjs → esm2015/errors/create-error-class.js} +0 -0
  544. /package/{esm2022/errors/errors.mjs → esm2015/errors/errors.js} +0 -0
  545. /package/{esm2022/errors/index.mjs → esm2015/errors/index.js} +0 -0
  546. /package/{esm2022/errors/not-found-error.mjs → esm2015/errors/not-found-error.js} +0 -0
  547. /package/{esm2022/f-backgroud/domain/i-f-background-pattern.mjs → esm2015/f-backgroud/domain/i-f-background-pattern.js} +0 -0
  548. /package/{esm2022/f-backgroud/domain/index.mjs → esm2015/f-backgroud/domain/index.js} +0 -0
  549. /package/{esm2022/f-backgroud/f-circle-pattern/index.mjs → esm2015/f-backgroud/f-circle-pattern/index.js} +0 -0
  550. /package/{esm2022/f-backgroud/f-rect-pattern/index.mjs → esm2015/f-backgroud/f-rect-pattern/index.js} +0 -0
  551. /package/{esm2022/f-backgroud/index.mjs → esm2015/f-backgroud/index.js} +0 -0
  552. /package/{esm2022/f-backgroud/providers.mjs → esm2015/f-backgroud/providers.js} +0 -0
  553. /package/{esm2022/f-canvas/domain/index.mjs → esm2015/f-canvas/domain/index.js} +0 -0
  554. /package/{esm2022/f-canvas/index.mjs → esm2015/f-canvas/index.js} +0 -0
  555. /package/{esm2022/f-canvas/providers.mjs → esm2015/f-canvas/providers.js} +0 -0
  556. /package/{esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.mjs → esm2015/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.js} +0 -0
  557. /package/{esm2022/f-connection/common/domain/calculate-center-between-points/index.mjs → esm2015/f-connection/common/domain/calculate-center-between-points/index.js} +0 -0
  558. /package/{esm2022/f-connection/common/domain/calculate-connection-center/index.mjs → esm2015/f-connection/common/domain/calculate-connection-center/index.js} +0 -0
  559. /package/{esm2022/f-connection/common/domain/f-straight.path-builder.mjs → esm2015/f-connection/common/domain/f-straight.path-builder.js} +0 -0
  560. /package/{esm2022/f-connection/common/domain/index.mjs → esm2015/f-connection/common/domain/index.js} +0 -0
  561. /package/{esm2022/f-connection/common/e-f-connection-behavior.mjs → esm2015/f-connection/common/e-f-connection-behavior.js} +0 -0
  562. /package/{esm2022/f-connection/common/e-f-connection-type.mjs → esm2015/f-connection/common/e-f-connection-type.js} +0 -0
  563. /package/{esm2022/f-connection/common/f-connection-text/i-connection-text.mjs → esm2015/f-connection/common/f-connection-text/i-connection-text.js} +0 -0
  564. /package/{esm2022/f-connection/common/f-connection-text/index.mjs → esm2015/f-connection/common/f-connection-text/index.js} +0 -0
  565. /package/{esm2022/f-connection/common/f-connection.injection-token.mjs → esm2015/f-connection/common/f-connection.injection-token.js} +0 -0
  566. /package/{esm2022/f-connection/common/f-drag-handle/index.mjs → esm2015/f-connection/common/f-drag-handle/index.js} +0 -0
  567. /package/{esm2022/f-connection/common/f-gradient/i-connection-gradient.mjs → esm2015/f-connection/common/f-gradient/i-connection-gradient.js} +0 -0
  568. /package/{esm2022/f-connection/common/f-gradient/index.mjs → esm2015/f-connection/common/f-gradient/index.js} +0 -0
  569. /package/{esm2022/f-connection/common/f-path/i-connection-path.mjs → esm2015/f-connection/common/f-path/i-connection-path.js} +0 -0
  570. /package/{esm2022/f-connection/common/f-path/index.mjs → esm2015/f-connection/common/f-path/index.js} +0 -0
  571. /package/{esm2022/f-connection/common/f-selection/index.mjs → esm2015/f-connection/common/f-selection/index.js} +0 -0
  572. /package/{esm2022/f-connection/common/i-has-connection-color.mjs → esm2015/f-connection/common/i-has-connection-color.js} +0 -0
  573. /package/{esm2022/f-connection/common/i-has-connection-from-to.mjs → esm2015/f-connection/common/i-has-connection-from-to.js} +0 -0
  574. /package/{esm2022/f-connection/common/i-has-connection-text.mjs → esm2015/f-connection/common/i-has-connection-text.js} +0 -0
  575. /package/{esm2022/f-connection/common/index.mjs → esm2015/f-connection/common/index.js} +0 -0
  576. /package/{esm2022/f-connection/common/mixins/change-connection-visibility.mixin.mjs → esm2015/f-connection/common/mixins/change-connection-visibility.mixin.js} +0 -0
  577. /package/{esm2022/f-connection/common/mixins/index.mjs → esm2015/f-connection/common/mixins/index.js} +0 -0
  578. /package/{esm2022/f-connection/f-connection/index.mjs → esm2015/f-connection/f-connection/index.js} +0 -0
  579. /package/{esm2022/f-connection/f-connection-builder/f-connection-builders.mjs → esm2015/f-connection/f-connection-builder/f-connection-builders.js} +0 -0
  580. /package/{esm2022/f-connection/f-connection-builder/i-f-connection-builder-request.mjs → esm2015/f-connection/f-connection-builder/i-f-connection-builder-request.js} +0 -0
  581. /package/{esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs → esm2015/f-connection/f-connection-builder/i-f-connection-builder-response.js} +0 -0
  582. /package/{esm2022/f-connection/f-connection-builder/i-f-connection-builder.mjs → esm2015/f-connection/f-connection-builder/i-f-connection-builder.js} +0 -0
  583. /package/{esm2022/f-connection/f-connection-builder/i-f-connection-factory-request.mjs → esm2015/f-connection/f-connection-builder/i-f-connection-factory-request.js} +0 -0
  584. /package/{esm2022/f-connection/f-connection-builder/index.mjs → esm2015/f-connection/f-connection-builder/index.js} +0 -0
  585. /package/{esm2022/f-connection/f-connection-center/index.mjs → esm2015/f-connection/f-connection-center/index.js} +0 -0
  586. /package/{esm2022/f-connection/f-connection-for-create/index.mjs → esm2015/f-connection/f-connection-for-create/index.js} +0 -0
  587. /package/{esm2022/f-connection/f-marker/e-f-marker-type.mjs → esm2015/f-connection/f-marker/e-f-marker-type.js} +0 -0
  588. /package/{esm2022/f-connection/f-marker/index.mjs → esm2015/f-connection/f-marker/index.js} +0 -0
  589. /package/{esm2022/f-connection/index.mjs → esm2015/f-connection/index.js} +0 -0
  590. /package/{esm2022/f-connection/providers.mjs → esm2015/f-connection/providers.js} +0 -0
  591. /package/{esm2022/f-connectors/domain/calculate-connector-connectable-side/index.mjs → esm2015/f-connectors/domain/calculate-connector-connectable-side/index.js} +0 -0
  592. /package/{esm2022/f-connectors/domain/index.mjs → esm2015/f-connectors/domain/index.js} +0 -0
  593. /package/{esm2022/f-connectors/e-f-connectable-side.mjs → esm2015/f-connectors/e-f-connectable-side.js} +0 -0
  594. /package/{esm2022/f-connectors/f-node-input/index.mjs → esm2015/f-connectors/f-node-input/index.js} +0 -0
  595. /package/{esm2022/f-connectors/f-node-input/is-node-input.mjs → esm2015/f-connectors/f-node-input/is-node-input.js} +0 -0
  596. /package/{esm2022/f-connectors/f-node-outlet/index.mjs → esm2015/f-connectors/f-node-outlet/index.js} +0 -0
  597. /package/{esm2022/f-connectors/f-node-outlet/is-node-outlet.mjs → esm2015/f-connectors/f-node-outlet/is-node-outlet.js} +0 -0
  598. /package/{esm2022/f-connectors/f-node-output/index.mjs → esm2015/f-connectors/f-node-output/index.js} +0 -0
  599. /package/{esm2022/f-connectors/f-node-output/is-node-output.mjs → esm2015/f-connectors/f-node-output/is-node-output.js} +0 -0
  600. /package/{esm2022/f-connectors/index.mjs → esm2015/f-connectors/index.js} +0 -0
  601. /package/{esm2022/f-connectors/providers.mjs → esm2015/f-connectors/providers.js} +0 -0
  602. /package/{esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs → esm2015/f-draggable/canvas/canvas-move-finalize/index.js} +0 -0
  603. /package/{esm2022/f-draggable/canvas/canvas-move-finalize/providers.mjs → esm2015/f-draggable/canvas/canvas-move-finalize/providers.js} +0 -0
  604. /package/{esm2022/f-draggable/canvas/canvas-move-preparation/index.mjs → esm2015/f-draggable/canvas/canvas-move-preparation/index.js} +0 -0
  605. /package/{esm2022/f-draggable/canvas/canvas-move-preparation/providers.mjs → esm2015/f-draggable/canvas/canvas-move-preparation/providers.js} +0 -0
  606. /package/{esm2022/f-draggable/canvas/index.mjs → esm2015/f-draggable/canvas/index.js} +0 -0
  607. /package/{esm2022/f-draggable/canvas/providers.mjs → esm2015/f-draggable/canvas/providers.js} +0 -0
  608. /package/{esm2022/f-draggable/connections/create-connection/create-connection-finalize/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-finalize/index.js} +0 -0
  609. /package/{esm2022/f-draggable/connections/create-connection/create-connection-finalize/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-finalize/providers.js} +0 -0
  610. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.js} +0 -0
  611. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/providers.js} +0 -0
  612. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.js} +0 -0
  613. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/providers.js} +0 -0
  614. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.js} +0 -0
  615. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/providers.js} +0 -0
  616. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/index.js} +0 -0
  617. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/providers.js} +0 -0
  618. /package/{esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs → esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.js} +0 -0
  619. /package/{esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/providers.mjs → esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/providers.js} +0 -0
  620. /package/{esm2022/f-draggable/connections/create-connection/index.mjs → esm2015/f-draggable/connections/create-connection/index.js} +0 -0
  621. /package/{esm2022/f-draggable/connections/get-input-under-pointer/index.mjs → esm2015/f-draggable/connections/get-input-under-pointer/index.js} +0 -0
  622. /package/{esm2022/f-draggable/connections/get-input-under-pointer/providers.mjs → esm2015/f-draggable/connections/get-input-under-pointer/providers.js} +0 -0
  623. /package/{esm2022/f-draggable/connections/index.mjs → esm2015/f-draggable/connections/index.js} +0 -0
  624. /package/{esm2022/f-draggable/connections/providers.mjs → esm2015/f-draggable/connections/providers.js} +0 -0
  625. /package/{esm2022/f-draggable/connections/reassign-connection/index.mjs → esm2015/f-draggable/connections/reassign-connection/index.js} +0 -0
  626. /package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.js} +0 -0
  627. /package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/providers.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/providers.js} +0 -0
  628. /package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.js} +0 -0
  629. /package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/providers.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/providers.js} +0 -0
  630. /package/{esm2022/f-draggable/domain/get-node-padding/index.mjs → esm2015/f-draggable/domain/get-node-padding/index.js} +0 -0
  631. /package/{esm2022/f-draggable/domain/get-normalized-node-rect/index.mjs → esm2015/f-draggable/domain/get-normalized-node-rect/index.js} +0 -0
  632. /package/{esm2022/f-draggable/domain/get-normalized-parent-node-rect/index.mjs → esm2015/f-draggable/domain/get-normalized-parent-node-rect/index.js} +0 -0
  633. /package/{esm2022/f-draggable/domain/get-parent-nodes/index.mjs → esm2015/f-draggable/domain/get-parent-nodes/index.js} +0 -0
  634. /package/{esm2022/f-draggable/domain/is-array-has-parent-node/index.mjs → esm2015/f-draggable/domain/is-array-has-parent-node/index.js} +0 -0
  635. /package/{esm2022/f-draggable/i-can-run-outside-angular.mjs → esm2015/f-draggable/i-can-run-outside-angular.js} +0 -0
  636. /package/{esm2022/f-draggable/i-draggable-item.mjs → esm2015/f-draggable/i-draggable-item.js} +0 -0
  637. /package/{esm2022/f-draggable/i-f-drag-and-drop-plugin.mjs → esm2015/f-draggable/i-f-drag-and-drop-plugin.js} +0 -0
  638. /package/{esm2022/f-draggable/index.mjs → esm2015/f-draggable/index.js} +0 -0
  639. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.js} +0 -0
  640. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.js} +0 -0
  641. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.js} +0 -0
  642. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.js} +0 -0
  643. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.js} +0 -0
  644. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.js} +0 -0
  645. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/index.js} +0 -0
  646. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.js} +0 -0
  647. /package/{esm2022/f-draggable/node/index.mjs → esm2015/f-draggable/node/index.js} +0 -0
  648. /package/{esm2022/f-draggable/node/node-move-finalize/index.mjs → esm2015/f-draggable/node/node-move-finalize/index.js} +0 -0
  649. /package/{esm2022/f-draggable/node/node-move-finalize/providers.mjs → esm2015/f-draggable/node/node-move-finalize/providers.js} +0 -0
  650. /package/{esm2022/f-draggable/node/node-move-preparation/index.mjs → esm2015/f-draggable/node/node-move-preparation/index.js} +0 -0
  651. /package/{esm2022/f-draggable/node/node-move-preparation/providers.mjs → esm2015/f-draggable/node/node-move-preparation/providers.js} +0 -0
  652. /package/{esm2022/f-draggable/node/providers.mjs → esm2015/f-draggable/node/providers.js} +0 -0
  653. /package/{esm2022/f-draggable/node-resize/apply-child-resize-restrictions/index.mjs → esm2015/f-draggable/node-resize/apply-child-resize-restrictions/index.js} +0 -0
  654. /package/{esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/index.mjs → esm2015/f-draggable/node-resize/apply-parent-resize-restrictions/index.js} +0 -0
  655. /package/{esm2022/f-draggable/node-resize/calculate-changed-position/index.mjs → esm2015/f-draggable/node-resize/calculate-changed-position/index.js} +0 -0
  656. /package/{esm2022/f-draggable/node-resize/calculate-changed-size/index.mjs → esm2015/f-draggable/node-resize/calculate-changed-size/index.js} +0 -0
  657. /package/{esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs → esm2015/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.js} +0 -0
  658. /package/{esm2022/f-draggable/node-resize/get-node-resize-restrictions/index.mjs → esm2015/f-draggable/node-resize/get-node-resize-restrictions/index.js} +0 -0
  659. /package/{esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/index.mjs → esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/index.js} +0 -0
  660. /package/{esm2022/f-draggable/node-resize/index.mjs → esm2015/f-draggable/node-resize/index.js} +0 -0
  661. /package/{esm2022/f-draggable/node-resize/node-resize-finalize/index.mjs → esm2015/f-draggable/node-resize/node-resize-finalize/index.js} +0 -0
  662. /package/{esm2022/f-draggable/node-resize/node-resize-finalize/providers.mjs → esm2015/f-draggable/node-resize/node-resize-finalize/providers.js} +0 -0
  663. /package/{esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs → esm2015/f-draggable/node-resize/node-resize-preparation/index.js} +0 -0
  664. /package/{esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs → esm2015/f-draggable/node-resize/node-resize-preparation/providers.js} +0 -0
  665. /package/{esm2022/f-draggable/node-resize/providers.mjs → esm2015/f-draggable/node-resize/providers.js} +0 -0
  666. /package/{esm2022/f-draggable/node-resize/resize-direction.mjs → esm2015/f-draggable/node-resize/resize-direction.js} +0 -0
  667. /package/{esm2022/f-draggable/providers.mjs → esm2015/f-draggable/providers.js} +0 -0
  668. /package/{esm2022/f-draggable/single-select/index.mjs → esm2015/f-draggable/single-select/index.js} +0 -0
  669. /package/{esm2022/f-draggable/single-select/providers.mjs → esm2015/f-draggable/single-select/providers.js} +0 -0
  670. /package/{esm2022/f-external-item/domain/external-item-finalize/index.mjs → esm2015/f-external-item/domain/external-item-finalize/index.js} +0 -0
  671. /package/{esm2022/f-external-item/domain/external-item-finalize/providers.mjs → esm2015/f-external-item/domain/external-item-finalize/providers.js} +0 -0
  672. /package/{esm2022/f-external-item/domain/external-item-preparation/index.mjs → esm2015/f-external-item/domain/external-item-preparation/index.js} +0 -0
  673. /package/{esm2022/f-external-item/domain/external-item-preparation/providers.mjs → esm2015/f-external-item/domain/external-item-preparation/providers.js} +0 -0
  674. /package/{esm2022/f-external-item/domain/index.mjs → esm2015/f-external-item/domain/index.js} +0 -0
  675. /package/{esm2022/f-external-item/domain/providers.mjs → esm2015/f-external-item/domain/providers.js} +0 -0
  676. /package/{esm2022/f-external-item/index.mjs → esm2015/f-external-item/index.js} +0 -0
  677. /package/{esm2022/f-external-item/is-external-item.mjs → esm2015/f-external-item/is-external-item.js} +0 -0
  678. /package/{esm2022/f-external-item/providers.mjs → esm2015/f-external-item/providers.js} +0 -0
  679. /package/{esm2022/f-flow/f-flow-base.mjs → esm2015/f-flow/f-flow-base.js} +0 -0
  680. /package/{esm2022/f-flow/index.mjs → esm2015/f-flow/index.js} +0 -0
  681. /package/{esm2022/f-flow/providers.mjs → esm2015/f-flow/providers.js} +0 -0
  682. /package/{esm2022/f-line-alignment/domain/i-line-alignment-rect.mjs → esm2015/f-line-alignment/domain/i-line-alignment-rect.js} +0 -0
  683. /package/{esm2022/f-line-alignment/domain/i-line-alignment-result.mjs → esm2015/f-line-alignment/domain/i-line-alignment-result.js} +0 -0
  684. /package/{esm2022/f-line-alignment/domain/i-nearest-coordinate-result.mjs → esm2015/f-line-alignment/domain/i-nearest-coordinate-result.js} +0 -0
  685. /package/{esm2022/f-line-alignment/domain/index.mjs → esm2015/f-line-alignment/domain/index.js} +0 -0
  686. /package/{esm2022/f-line-alignment/index.mjs → esm2015/f-line-alignment/index.js} +0 -0
  687. /package/{esm2022/f-line-alignment/providers.mjs → esm2015/f-line-alignment/providers.js} +0 -0
  688. /package/{esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/index.mjs → esm2015/f-minimap/domain/calculate-flow-point-from-minimap-point/index.js} +0 -0
  689. /package/{esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs → esm2015/f-minimap/domain/minimap-drag-finalize/index.js} +0 -0
  690. /package/{esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs → esm2015/f-minimap/domain/minimap-drag-finalize/providers.js} +0 -0
  691. /package/{esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs → esm2015/f-minimap/domain/minimap-drag-preparation/index.js} +0 -0
  692. /package/{esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs → esm2015/f-minimap/domain/minimap-drag-preparation/providers.js} +0 -0
  693. /package/{esm2022/f-minimap/domain/providers.mjs → esm2015/f-minimap/domain/providers.js} +0 -0
  694. /package/{esm2022/f-minimap/index.mjs → esm2015/f-minimap/index.js} +0 -0
  695. /package/{esm2022/f-minimap/providers.mjs → esm2015/f-minimap/providers.js} +0 -0
  696. /package/{esm2022/f-node/domain/index.mjs → esm2015/f-node/domain/index.js} +0 -0
  697. /package/{esm2022/f-node/domain/is-group.mjs → esm2015/f-node/domain/is-group.js} +0 -0
  698. /package/{esm2022/f-node/domain/is-node.mjs → esm2015/f-node/domain/is-node.js} +0 -0
  699. /package/{esm2022/f-node/f-drag-handle/index.mjs → esm2015/f-node/f-drag-handle/index.js} +0 -0
  700. /package/{esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs → esm2015/f-node/f-resize-handle/e-f-resize-handle-type.js} +0 -0
  701. /package/{esm2022/f-node/f-resize-handle/index.mjs → esm2015/f-node/f-resize-handle/index.js} +0 -0
  702. /package/{esm2022/f-node/f-resize-observer.mjs → esm2015/f-node/f-resize-observer.js} +0 -0
  703. /package/{esm2022/f-node/f-rotate-handle/index.mjs → esm2015/f-node/f-rotate-handle/index.js} +0 -0
  704. /package/{esm2022/f-node/index.mjs → esm2015/f-node/index.js} +0 -0
  705. /package/{esm2022/f-node/providers.mjs → esm2015/f-node/providers.js} +0 -0
  706. /package/{esm2022/f-selection-area/domain/index.mjs → esm2015/f-selection-area/domain/index.js} +0 -0
  707. /package/{esm2022/f-selection-area/domain/providers.mjs → esm2015/f-selection-area/domain/providers.js} +0 -0
  708. /package/{esm2022/f-selection-area/domain/selection-area-finalize/index.mjs → esm2015/f-selection-area/domain/selection-area-finalize/index.js} +0 -0
  709. /package/{esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs → esm2015/f-selection-area/domain/selection-area-finalize/providers.js} +0 -0
  710. /package/{esm2022/f-selection-area/domain/selection-area-preparation/index.mjs → esm2015/f-selection-area/domain/selection-area-preparation/index.js} +0 -0
  711. /package/{esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs → esm2015/f-selection-area/domain/selection-area-preparation/providers.js} +0 -0
  712. /package/{esm2022/f-selection-area/index.mjs → esm2015/f-selection-area/index.js} +0 -0
  713. /package/{esm2022/f-selection-area/providers.mjs → esm2015/f-selection-area/providers.js} +0 -0
  714. /package/{esm2022/f-storage/index.mjs → esm2015/f-storage/index.js} +0 -0
  715. /package/{esm2022/f-zoom/index.mjs → esm2015/f-zoom/index.js} +0 -0
  716. /package/{esm2022/f-zoom/providers.mjs → esm2015/f-zoom/providers.js} +0 -0
  717. /package/{esm2022/foblex-flow.mjs → esm2015/foblex-flow.js} +0 -0
  718. /package/{esm2022/i-has-state-changes.mjs → esm2015/i-has-state-changes.js} +0 -0
  719. /package/{esm2022/infrastructure/f-mediator/f-execution-register.mjs → esm2015/infrastructure/f-mediator/f-execution-register.js} +0 -0
  720. /package/{esm2022/infrastructure/f-mediator/f-validator-register.mjs → esm2015/infrastructure/f-mediator/f-validator-register.js} +0 -0
  721. /package/{esm2022/infrastructure/f-mediator/index.mjs → esm2015/infrastructure/f-mediator/index.js} +0 -0
  722. /package/{esm2022/infrastructure/index.mjs → esm2015/infrastructure/index.js} +0 -0
  723. /package/{esm2022/infrastructure/pipeline/i-execution.mjs → esm2015/infrastructure/pipeline/i-execution.js} +0 -0
  724. /package/{esm2022/infrastructure/pipeline/i-validator.mjs → esm2015/infrastructure/pipeline/i-validator.js} +0 -0
  725. /package/{esm2022/infrastructure/pipeline/index.mjs → esm2015/infrastructure/pipeline/index.js} +0 -0
  726. /package/{esm2022/public-api.mjs → esm2015/public-api.js} +0 -0
  727. /package/{index.d.ts → foblex-flow.d.ts} +0 -0
@@ -0,0 +1,122 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
2
+ import { PointExtensions, SizeExtensions, TransformModelExtensions } from '@foblex/core';
3
+ import { F_BACKGROUND_PATTERN } from '../domain';
4
+ import { Subject, Subscription } from 'rxjs';
5
+ import { startWith } from 'rxjs/operators';
6
+ import { createSVGElement } from '../../domain';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@foblex/platform";
9
+ let uniqueId = 0;
10
+ export class FRectPatternComponent {
11
+ constructor(elementReference, fBrowser) {
12
+ this.elementReference = elementReference;
13
+ this.fBrowser = fBrowser;
14
+ this._subscription$ = new Subscription();
15
+ this._stateChanges = new Subject();
16
+ this.id = `f-pattern-${uniqueId++}`;
17
+ this._vColor = 'rgba(0,0,0,0.1)';
18
+ this._hColor = 'rgba(0,0,0,0.1)';
19
+ this._vSize = 20;
20
+ this._hSize = 20;
21
+ this._transform = TransformModelExtensions.default();
22
+ this._position = PointExtensions.initialize();
23
+ this._size = SizeExtensions.initialize(this._hSize, this._vSize);
24
+ this.createPattern();
25
+ }
26
+ get hostElement() {
27
+ return this.elementReference.nativeElement;
28
+ }
29
+ set vColor(value) {
30
+ this._vColor = value;
31
+ this._stateChanges.next();
32
+ }
33
+ set hColor(value) {
34
+ this._vColor = value;
35
+ this._stateChanges.next();
36
+ }
37
+ set vSize(value) {
38
+ this._vSize = value;
39
+ this._stateChanges.next();
40
+ }
41
+ set hSize(value) {
42
+ this._hSize = value;
43
+ this._stateChanges.next();
44
+ }
45
+ createPattern() {
46
+ this._pattern = createSVGElement('pattern', this.fBrowser);
47
+ this._pattern.setAttribute('patternUnits', 'userSpaceOnUse');
48
+ this.hostElement.appendChild(this._pattern);
49
+ this._vLine = createSVGElement('line', this.fBrowser);
50
+ this._pattern.appendChild(this._vLine);
51
+ this._hLine = createSVGElement('line', this.fBrowser);
52
+ this._pattern.appendChild(this._hLine);
53
+ }
54
+ ngOnInit() {
55
+ this._subscription$.add(this.subscribeToStateChanges());
56
+ }
57
+ subscribeToStateChanges() {
58
+ return this._stateChanges.pipe(startWith(null)).subscribe(() => {
59
+ this.redraw();
60
+ });
61
+ }
62
+ calculatePattern() {
63
+ this._position.x = this._transform.position.x + this._transform.scaledPosition.x;
64
+ this._position.y = this._transform.position.y + this._transform.scaledPosition.y;
65
+ this._size = SizeExtensions.initialize(this._hSize * this._transform.scale, this._vSize * this._transform.scale);
66
+ }
67
+ redraw() {
68
+ this.calculatePattern();
69
+ this.redrawPattern();
70
+ this.redrawLine(this._vLine, this._vColor, this._size.width, 0, this._size.width, this._size.height);
71
+ this.redrawLine(this._hLine, this._hColor, 0, this._size.height, this._size.width, this._size.height);
72
+ }
73
+ redrawPattern() {
74
+ this._pattern.setAttribute('x', `${this._position.x}`);
75
+ this._pattern.setAttribute('y', `${this._position.y}`);
76
+ this._pattern.setAttribute('width', `${this._size.width}`);
77
+ this._pattern.setAttribute('height', `${this._size.height}`);
78
+ }
79
+ redrawLine(line, color, x1, y1, x2, y2) {
80
+ line.setAttribute('stroke', `${color}`);
81
+ line.setAttribute('x1', `${x1}`);
82
+ line.setAttribute('x2', `${x2}`);
83
+ line.setAttribute('y1', `${y1}`);
84
+ line.setAttribute('y2', `${y2}`);
85
+ }
86
+ setTransform(transform) {
87
+ this._transform = transform;
88
+ this._stateChanges.next();
89
+ }
90
+ ngOnDestroy() {
91
+ this._subscription$.unsubscribe();
92
+ }
93
+ }
94
+ FRectPatternComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FRectPatternComponent, deps: [{ token: i0.ElementRef }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Component });
95
+ FRectPatternComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FRectPatternComponent, selector: "f-rect-pattern", inputs: { id: "id", vColor: "vColor", hColor: "hColor", vSize: "vSize", hSize: "hSize" }, host: { properties: { "attr.id": "id" } }, providers: [
96
+ { provide: F_BACKGROUND_PATTERN, useExisting: FRectPatternComponent }
97
+ ], ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FRectPatternComponent, decorators: [{
99
+ type: Component,
100
+ args: [{
101
+ selector: "f-rect-pattern",
102
+ template: ``,
103
+ host: {
104
+ '[attr.id]': 'id'
105
+ },
106
+ providers: [
107
+ { provide: F_BACKGROUND_PATTERN, useExisting: FRectPatternComponent }
108
+ ],
109
+ changeDetection: ChangeDetectionStrategy.OnPush
110
+ }]
111
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.BrowserService }]; }, propDecorators: { id: [{
112
+ type: Input
113
+ }], vColor: [{
114
+ type: Input
115
+ }], hColor: [{
116
+ type: Input
117
+ }], vSize: [{
118
+ type: Input
119
+ }], hSize: [{
120
+ type: Input
121
+ }] } });
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWN0LXBhdHRlcm4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWJhY2tncm91ZC9mLXJlY3QtcGF0dGVybi9mLXJlY3QtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ0csS0FBSyxFQUVsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsZUFBZSxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFDMUQsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLG9CQUFvQixFQUF1QixNQUFNLFdBQVcsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHaEQsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBYXpCLE1BQU0sT0FBTyxxQkFBcUI7SUF1RGhDLFlBQ1UsZ0JBQXlDLEVBQ3pDLFFBQXdCO1FBRHhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekMsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUF2RDFCLG1CQUFjLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbEQsa0JBQWEsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU9wRCxPQUFFLEdBQVcsYUFBYyxRQUFRLEVBQUcsRUFBRSxDQUFDO1FBRXhDLFlBQU8sR0FBVyxpQkFBaUIsQ0FBQztRQVFwQyxZQUFPLEdBQVcsaUJBQWlCLENBQUM7UUFRcEMsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQVFwQixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBUXBCLGVBQVUsR0FBb0Isd0JBQXdCLENB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QUFLO2dCQVNLLE1BQU07c0JBRGhCLEtBQUs7Z0JBU0ssS0FBSztzQkFEZixLQUFLO2dCQVNLLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSVBvaW50LCBJU2l6ZSwgSVRyYW5zZm9ybU1vZGVsLFxuICBQb2ludEV4dGVuc2lvbnMsIFNpemVFeHRlbnNpb25zLCBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnNcbn0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZfQkFDS0dST1VORF9QQVRURVJOLCBJRkJhY2tncm91bmRQYXR0ZXJuIH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY3JlYXRlU1ZHRWxlbWVudCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLXJlY3QtcGF0dGVyblwiLFxuICB0ZW1wbGF0ZTogYGAsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2lkJ1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfQkFDS0dST1VORF9QQVRURVJOLCB1c2VFeGlzdGluZzogRlJlY3RQYXR0ZXJuQ29tcG9uZW50IH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRlJlY3RQYXR0ZXJuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIElGQmFja2dyb3VuZFBhdHRlcm4ge1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbiQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIF9zdGF0ZUNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpZDogc3RyaW5nID0gYGYtcGF0dGVybi0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIHByaXZhdGUgX3ZDb2xvcjogc3RyaW5nID0gJ3JnYmEoMCwwLDAsMC4xKSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2Q29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3ZDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIF9oQ29sb3I6IHN0cmluZyA9ICdyZ2JhKDAsMCwwLDAuMSknO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92Q29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdlNpemU6IG51bWJlciA9IDIwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdlNpemUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3ZTaXplID0gdmFsdWU7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hTaXplOiBudW1iZXIgPSAyMDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGhTaXplKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9oU2l6ZSA9IHZhbHVlO1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIF90cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCA9IFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy5kZWZhdWx0KCk7XG5cbiAgcHJpdmF0ZSBfcG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHJpdmF0ZSBfc2l6ZTogSVNpemUgPSBTaXplRXh0ZW5zaW9ucy5pbml0aWFsaXplKHRoaXMuX2hTaXplLCB0aGlzLl92U2l6ZSk7XG5cbiAgcHJpdmF0ZSBfcGF0dGVybiE6IFNWR1BhdHRlcm5FbGVtZW50O1xuICBwcml2YXRlIF92TGluZSE6IFNWR0xpbmVFbGVtZW50O1xuICBwcml2YXRlIF9oTGluZSE6IFNWR0xpbmVFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBmQnJvd3NlcjogQnJvd3NlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jcmVhdGVQYXR0ZXJuKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcGF0dGVybiA9IGNyZWF0ZVNWR0VsZW1lbnQoJ3BhdHRlcm4nLCB0aGlzLmZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgncGF0dGVyblVuaXRzJywgJ3VzZXJTcGFjZU9uVXNlJyk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9wYXR0ZXJuKTtcblxuICAgIHRoaXMuX3ZMaW5lID0gY3JlYXRlU1ZHRWxlbWVudCgnbGluZScsIHRoaXMuZkJyb3dzZXIpO1xuICAgIHRoaXMuX3BhdHRlcm4uYXBwZW5kQ2hpbGQodGhpcy5fdkxpbmUpO1xuXG4gICAgdGhpcy5faExpbmUgPSBjcmVhdGVTVkdFbGVtZW50KCdsaW5lJywgdGhpcy5mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5hcHBlbmRDaGlsZCh0aGlzLl9oTGluZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uJC5hZGQodGhpcy5zdWJzY3JpYmVUb1N0YXRlQ2hhbmdlcygpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9TdGF0ZUNoYW5nZXMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKG51bGwpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZWRyYXcoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlUGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wb3NpdGlvbi54ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnggKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueDtcbiAgICB0aGlzLl9wb3NpdGlvbi55ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnkgKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueTtcbiAgICB0aGlzLl9zaXplID0gU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLl9oU2l6ZSAqIHRoaXMuX3RyYW5zZm9ybS5zY2FsZSwgdGhpcy5fdlNpemUgKiB0aGlzLl90cmFuc2Zvcm0uc2NhbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxjdWxhdGVQYXR0ZXJuKCk7XG4gICAgdGhpcy5yZWRyYXdQYXR0ZXJuKCk7XG5cbiAgICB0aGlzLnJlZHJhd0xpbmUodGhpcy5fdkxpbmUsIHRoaXMuX3ZDb2xvciwgdGhpcy5fc2l6ZS53aWR0aCwgMCwgdGhpcy5fc2l6ZS53aWR0aCwgdGhpcy5fc2l6ZS5oZWlnaHQpO1xuICAgIHRoaXMucmVkcmF3TGluZSh0aGlzLl9oTGluZSwgdGhpcy5faENvbG9yLCAwLCB0aGlzLl9zaXplLmhlaWdodCwgdGhpcy5fc2l6ZS53aWR0aCwgdGhpcy5fc2l6ZS5oZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWRyYXdQYXR0ZXJuKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCd4JywgYCR7IHRoaXMuX3Bvc2l0aW9uLnggfWApO1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCd5JywgYCR7IHRoaXMuX3Bvc2l0aW9uLnkgfWApO1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCd3aWR0aCcsIGAkeyB0aGlzLl9zaXplLndpZHRoIH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7IHRoaXMuX3NpemUuaGVpZ2h0IH1gKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVkcmF3TGluZShsaW5lOiBTVkdMaW5lRWxlbWVudCwgY29sb3I6IHN0cmluZywgeDE6IG51bWJlciwgeTE6IG51bWJlciwgeDI6IG51bWJlciwgeTI6IG51bWJlcik6IHZvaWQge1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCdzdHJva2UnLCBgJHsgY29sb3IgfWApO1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCd4MScsIGAkeyB4MSB9YCk7XG4gICAgbGluZS5zZXRBdHRyaWJ1dGUoJ3gyJywgYCR7IHgyIH1gKTtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgneTEnLCBgJHsgeTEgfWApO1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCd5MicsIGAkeyB5MiB9YCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VHJhbnNmb3JtKHRyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNmb3JtID0gdHJhbnNmb3JtO1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class FCanvasChangeEvent {
2
+ constructor(position, scale) {
3
+ this.position = position;
4
+ this.scale = scale;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMtY2hhbmdlLmV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9kb21haW4vZi1jYW52YXMtY2hhbmdlLmV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsWUFDb0IsUUFBZ0IsRUFDaEIsS0FBYTtRQURiLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUVqQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgRkNhbnZhc0NoYW5nZUV2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHBvc2l0aW9uOiBJUG9pbnQsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzY2FsZTogbnVtYmVyLFxuICAgICkge1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { PointExtensions, TransformModelExtensions, mixinChangePosition, mixinChangeZoom, mixinFitToParent, mixinOneToOneCentering } from '@foblex/core';
2
+ import { Directive, InjectionToken } from '@angular/core';
3
+ import { FCanvasChangeEvent } from './domain';
4
+ import * as i0 from "@angular/core";
5
+ export const F_CANVAS = new InjectionToken('F_CANVAS');
6
+ const MIXIN_BASE = mixinChangePosition(mixinFitToParent(mixinOneToOneCentering(mixinChangeZoom(class {
7
+ constructor(transform) {
8
+ this.transform = transform;
9
+ }
10
+ }))));
11
+ export class FCanvasBase extends MIXIN_BASE {
12
+ constructor() {
13
+ super(TransformModelExtensions.default());
14
+ }
15
+ completeDrag() {
16
+ this.fCanvasChange.emit(new FCanvasChangeEvent(this.getCanvasPosition(), this.transform.scale));
17
+ }
18
+ getCanvasPosition() {
19
+ return PointExtensions.sum(this.transform.position, this.transform.scaledPosition);
20
+ }
21
+ }
22
+ FCanvasBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FCanvasBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
23
+ FCanvasBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FCanvasBase, usesInheritance: true, ngImport: i0 });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FCanvasBase, decorators: [{
25
+ type: Directive
26
+ }], ctorParameters: function () { return []; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jYW52YXMvZi1jYW52YXMtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRVksZUFBZSxFQUNoQyx3QkFBd0IsRUFFeEIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3ZCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQTRCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRzlDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBYyxVQUFVLENBQUMsQ0FBQztBQUVwRSxNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FDbEMsZ0JBQWdCLENBQ1osc0JBQXNCLENBQ2xCLGVBQWUsQ0FDWDtJQUNFLFlBQ1csU0FBMEI7UUFBMUIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7SUFFckMsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUd0QixNQUFNLE9BQWdCLFdBQ2xCLFNBQVEsVUFBVTtJQWVwQjtRQUNFLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFNTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNuQixJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQ3pFLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7O3lHQWhDbUIsV0FBVzs2RkFBWCxXQUFXOzRGQUFYLFdBQVc7a0JBRGhDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJSGFzSG9zdEVsZW1lbnQsXG4gIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnRFeHRlbnNpb25zLFxuICBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMsXG4gIElDYW5DaGFuZ2VQb3NpdGlvbiwgSUNhbkNoYW5nZVpvb20sIElDYW5GaXRUb1BhcmVudCwgSUNhbk9uZVRvT25lQ2VudGVyaW5nLFxuICBtaXhpbkNoYW5nZVBvc2l0aW9uLFxuICBtaXhpbkNoYW5nZVpvb20sXG4gIG1peGluRml0VG9QYXJlbnQsXG4gIG1peGluT25lVG9PbmVDZW50ZXJpbmcsIElQb2ludFxufSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ2FudmFzQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi9mLW5vZGUnO1xuXG5leHBvcnQgY29uc3QgRl9DQU5WQVMgPSBuZXcgSW5qZWN0aW9uVG9rZW48RkNhbnZhc0Jhc2U+KCdGX0NBTlZBUycpO1xuXG5jb25zdCBNSVhJTl9CQVNFID0gbWl4aW5DaGFuZ2VQb3NpdGlvbihcbiAgICBtaXhpbkZpdFRvUGFyZW50KFxuICAgICAgICBtaXhpbk9uZVRvT25lQ2VudGVyaW5nKFxuICAgICAgICAgICAgbWl4aW5DaGFuZ2Vab29tKFxuICAgICAgICAgICAgICAgIGNsYXNzIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyB0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbFxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSkpKSk7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZDYW52YXNCYXNlXG4gICAgZXh0ZW5kcyBNSVhJTl9CQVNFXG4gICAgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQsIElDYW5DaGFuZ2VQb3NpdGlvbiwgSUNhbkZpdFRvUGFyZW50LCBJQ2FuT25lVG9PbmVDZW50ZXJpbmcsIElDYW5DaGFuZ2Vab29tIHtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNhbnZhc0NoYW5nZTogRXZlbnRFbWl0dGVyPEZDYW52YXNDaGFuZ2VFdmVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZOb2RlczogRk5vZGVCYXNlW107XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkdyb3Vwc0NvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZOb2Rlc0NvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZDb25uZWN0aW9uc0NvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy5kZWZhdWx0KCkpO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IHJlZHJhdygpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWRyYXdXaXRoQW5pbWF0aW9uKCk6IHZvaWQ7XG5cbiAgcHVibGljIGNvbXBsZXRlRHJhZygpOiB2b2lkIHtcbiAgICB0aGlzLmZDYW52YXNDaGFuZ2UuZW1pdChcbiAgICAgICAgbmV3IEZDYW52YXNDaGFuZ2VFdmVudCh0aGlzLmdldENhbnZhc1Bvc2l0aW9uKCksIHRoaXMudHJhbnNmb3JtLnNjYWxlKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldENhbnZhc1Bvc2l0aW9uKCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy50cmFuc2Zvcm0ucG9zaXRpb24sIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,111 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from "@angular/core";
2
+ import { FCanvasBase, F_CANVAS } from './f-canvas-base';
3
+ import { Point, PointExtensions, RectExtensions, TransformModelExtensions } from '@foblex/core';
4
+ import { EmitTransformChangesRequest, GetNodesRectRequest } from '../domain';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../infrastructure";
7
+ import * as i2 from "../f-storage";
8
+ export class FCanvasComponent extends FCanvasBase {
9
+ constructor(elementReference, fMediator, fComponentsStore) {
10
+ super();
11
+ this.elementReference = elementReference;
12
+ this.fMediator = fMediator;
13
+ this.fComponentsStore = fComponentsStore;
14
+ this.fCanvasChange = new EventEmitter();
15
+ }
16
+ set position(value) {
17
+ if (!value) {
18
+ return;
19
+ }
20
+ const position = PointExtensions.sum(this.transform.position, this.transform.scaledPosition);
21
+ if (!PointExtensions.isEqual(position, value)) {
22
+ this.transform.position = value;
23
+ this.transform.scaledPosition = PointExtensions.initialize();
24
+ this.redraw();
25
+ }
26
+ }
27
+ set scale(value) {
28
+ if (!value) {
29
+ return;
30
+ }
31
+ this.transform.scale = value;
32
+ this.redraw();
33
+ }
34
+ get fNodes() {
35
+ return this.fComponentsStore.fNodes;
36
+ }
37
+ get hostElement() {
38
+ return this.elementReference.nativeElement;
39
+ }
40
+ ngOnInit() {
41
+ this.fComponentsStore.fCanvas = this;
42
+ }
43
+ redraw() {
44
+ var _a;
45
+ (_a = this.fComponentsStore.fBackground) === null || _a === void 0 ? void 0 : _a.setTransform(this.transform);
46
+ this.hostElement.setAttribute("style", `transform: ${TransformModelExtensions.toString(this.transform)}`);
47
+ this.fMediator.send(new EmitTransformChangesRequest());
48
+ }
49
+ redrawWithAnimation() {
50
+ var _a;
51
+ (_a = this.fComponentsStore.fBackground) === null || _a === void 0 ? void 0 : _a.setTransform(this.transform);
52
+ this.hostElement.setAttribute("style", `transition: transform 0.15s ease-in-out; transform: ${TransformModelExtensions.toString(this.transform)}`);
53
+ setTimeout(() => {
54
+ this.redraw();
55
+ }, 150);
56
+ }
57
+ fitToScreen(toCenter = PointExtensions.initialize(), animated = true) {
58
+ const fNodesRect = this.fMediator.send(new GetNodesRectRequest()) || RectExtensions.initialize();
59
+ if (fNodesRect.width === 0 || fNodesRect.height === 0) {
60
+ return;
61
+ }
62
+ this.fitToParent(fNodesRect, RectExtensions.fromElement(this.fComponentsStore.fFlow.hostElement), this.fNodes.map((x) => {
63
+ return Point.fromPoint(x.position);
64
+ }), toCenter);
65
+ animated ? this.redrawWithAnimation() : this.redraw();
66
+ this.completeDrag();
67
+ }
68
+ oneToOne() {
69
+ const fNodesRect = this.fMediator.send(new GetNodesRectRequest()) || RectExtensions.initialize();
70
+ if (fNodesRect.width === 0 || fNodesRect.height === 0) {
71
+ return;
72
+ }
73
+ this.oneToOneCentering(fNodesRect, RectExtensions.fromElement(this.fComponentsStore.fFlow.hostElement), this.fNodes.map((x) => {
74
+ return Point.fromPoint(x.position);
75
+ }));
76
+ this.redrawWithAnimation();
77
+ this.completeDrag();
78
+ }
79
+ }
80
+ FCanvasComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FCanvasComponent, deps: [{ token: i0.ElementRef }, { token: i1.FFlowMediator }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component });
81
+ FCanvasComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FCanvasComponent, selector: "f-canvas", inputs: { position: "position", scale: "scale" }, outputs: { fCanvasChange: "fCanvasChange" }, host: { classAttribute: "f-component f-canvas" }, providers: [{ provide: F_CANVAS, useExisting: FCanvasComponent }], viewQueries: [{ propertyName: "fGroupsContainer", first: true, predicate: ["fGroupsContainer"], descendants: true, static: true }, { propertyName: "fNodesContainer", first: true, predicate: ["fNodesContainer"], descendants: true, static: true }, { propertyName: "fConnectionsContainer", first: true, predicate: ["fConnectionsContainer"], descendants: true, static: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup]\"></ng-content>\n </div>\n <div #fConnectionsContainer>\n <ng-content select=\"f-connection\"></ng-content>\n <ng-content select=\"f-connection-for-create\"></ng-content>\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode]\"></ng-content>\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host.f-scaled-animate{transition:transform .09s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FCanvasComponent, decorators: [{
83
+ type: Component,
84
+ args: [{
85
+ selector: 'f-canvas',
86
+ templateUrl: './f-canvas.component.html',
87
+ styleUrls: ['./f-canvas.component.scss'],
88
+ exportAs: 'fComponent',
89
+ host: {
90
+ 'class': 'f-component f-canvas',
91
+ },
92
+ providers: [{ provide: F_CANVAS, useExisting: FCanvasComponent }],
93
+ changeDetection: ChangeDetectionStrategy.OnPush,
94
+ }]
95
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FFlowMediator }, { type: i2.FComponentsStore }]; }, propDecorators: { fCanvasChange: [{
96
+ type: Output
97
+ }], position: [{
98
+ type: Input
99
+ }], scale: [{
100
+ type: Input
101
+ }], fGroupsContainer: [{
102
+ type: ViewChild,
103
+ args: ['fGroupsContainer', { static: true }]
104
+ }], fNodesContainer: [{
105
+ type: ViewChild,
106
+ args: ['fNodesContainer', { static: true }]
107
+ }], fConnectionsContainer: [{
108
+ type: ViewChild,
109
+ args: ['fConnectionsContainer', { static: true }]
110
+ }] } });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsR0FDdEUsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFdBQVcsRUFBRSxRQUFRLEVBQ3RCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFpQixLQUFLLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUsvRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFhN0UsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQVc7SUE0Qy9DLFlBQ1UsZ0JBQXlDLEVBQ3pDLFNBQXdCLEVBQ3hCLGdCQUFrQztRQUUxQyxLQUFLLEVBQUUsQ0FBQztRQUpBLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekMsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUN4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBNUM1QixrQkFBYSxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztJQStDekcsQ0FBQztJQTdDRCxJQUNXLFFBQVEsQ0FBQyxLQUF5QjtRQUMzQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTztTQUNSO1FBQ0QsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxD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LGFBQWE7c0JBRDVCLE1BQU07Z0JBSUksUUFBUTtzQkFEbEIsS0FBSztnQkFjSyxLQUFLO3NCQURmLEtBQUs7Z0JBa0JVLGdCQUFnQjtzQkFEL0IsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9CLGVBQWU7c0JBRDlCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5QixxQkFBcUI7c0JBRHBDLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIEZDYW52YXNCYXNlLCBGX0NBTlZBU1xufSBmcm9tICcuL2YtY2FudmFzLWJhc2UnO1xuaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgUmVjdEV4dGVuc2lvbnMsIFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGQ2FudmFzQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRW1pdFRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0LCBHZXROb2Rlc1JlY3RSZXF1ZXN0IH0gZnJvbSAnLi4vZG9tYWluJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1jYW52YXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1jYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vZi1jYW52YXMuY29tcG9uZW50LnNjc3MnIF0sXG4gIGV4cG9ydEFzOiAnZkNvbXBvbmVudCcsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1jb21wb25lbnQgZi1jYW52YXMnLFxuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX0NBTlZBUywgdXNlRXhpc3Rpbmc6IEZDYW52YXNDb21wb25lbnQgfSBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRkNhbnZhc0NvbXBvbmVudCBleHRlbmRzIEZDYW52YXNCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDYW52YXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGQ2FudmFzQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGQ2FudmFzQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwb3NpdGlvbih2YWx1ZTogSVBvaW50IHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy50cmFuc2Zvcm0ucG9zaXRpb24sIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKTtcbiAgICBpZiAoIVBvaW50RXh0ZW5zaW9ucy5pc0VxdWFsKHBvc2l0aW9uLCB2YWx1ZSkpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uID0gdmFsdWU7XG4gICAgICB0aGlzLnRyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gICAgICB0aGlzLnJlZHJhdygpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2NhbGUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50cmFuc2Zvcm0uc2NhbGUgPSB2YWx1ZTtcbiAgICB0aGlzLnJlZHJhdygpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmTm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnZkdyb3Vwc0NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JvdXBzQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnZk5vZGVzQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZOb2Rlc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZDb25uZWN0aW9uc0NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbnNDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyA9IHRoaXM7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQmFja2dyb3VuZD8uc2V0VHJhbnNmb3JtKHRoaXMudHJhbnNmb3JtKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2Zvcm06ICR7IFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy50b1N0cmluZyh0aGlzLnRyYW5zZm9ybSkgfWApO1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZWRyYXdXaXRoQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQmFja2dyb3VuZD8uc2V0VHJhbnNmb3JtKHRoaXMudHJhbnNmb3JtKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbi1vdXQ7IHRyYW5zZm9ybTogJHsgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLnRvU3RyaW5nKHRoaXMudHJhbnNmb3JtKSB9YCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlZHJhdygpO1xuICAgIH0sIDE1MCk7XG4gIH1cblxuICBwdWJsaWMgZml0VG9TY3JlZW4odG9DZW50ZXI6IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksIGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGNvbnN0IGZOb2Rlc1JlY3QgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElSZWN0IHwgbnVsbD4obmV3IEdldE5vZGVzUmVjdFJlcXVlc3QoKSkgfHwgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICAgIGlmIChmTm9kZXNSZWN0LndpZHRoID09PSAwIHx8IGZOb2Rlc1JlY3QuaGVpZ2h0ID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5maXRUb1BhcmVudChcbiAgICAgIGZOb2Rlc1JlY3QsXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50KSxcbiAgICAgIHRoaXMuZk5vZGVzLm1hcCgoeCkgPT4ge1xuICAgICAgICByZXR1cm4gUG9pbnQuZnJvbVBvaW50KHgucG9zaXRpb24pXG4gICAgICB9KSxcbiAgICAgIHRvQ2VudGVyXG4gICAgKTtcbiAgICBhbmltYXRlZCA/IHRoaXMucmVkcmF3V2l0aEFuaW1hdGlvbigpIDogdGhpcy5yZWRyYXcoKTtcbiAgICB0aGlzLmNvbXBsZXRlRHJhZygpO1xuICB9XG5cbiAgcHVibGljIG9uZVRvT25lKCk6IHZvaWQge1xuICAgIGNvbnN0IGZOb2Rlc1JlY3QgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElSZWN0IHwgbnVsbD4obmV3IEdldE5vZGVzUmVjdFJlcXVlc3QoKSkgfHwgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICAgIGlmIChmTm9kZXNSZWN0LndpZHRoID09PSAwIHx8IGZOb2Rlc1JlY3QuaGVpZ2h0ID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub25lVG9PbmVDZW50ZXJpbmcoXG4gICAgICBmTm9kZXNSZWN0LFxuICAgICAgUmVjdEV4dGVuc2lvbnMuZnJvbUVsZW1lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudCksXG4gICAgICB0aGlzLmZOb2Rlcy5tYXAoKHgpID0+IHtcbiAgICAgICAgcmV0dXJuIFBvaW50LmZyb21Qb2ludCh4LnBvc2l0aW9uKVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMucmVkcmF3V2l0aEFuaW1hdGlvbigpO1xuICAgIHRoaXMuY29tcGxldGVEcmFnKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXYgI2ZHcm91cHNDb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZHcm91cF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8ZGl2ICNmQ29ubmVjdGlvbnNDb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jb25uZWN0aW9uXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtY29ubmVjdGlvbi1mb3ItY3JlYXRlXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8ZGl2ICNmTm9kZXNDb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZOb2RlXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,9 +1,7 @@
1
1
  export class CalculateCenterBetweenPointsRequest {
2
- source;
3
- target;
4
2
  constructor(source, target) {
5
3
  this.source = source;
6
4
  this.target = target;
7
5
  }
8
6
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cy1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sbUNBQW1DO0lBR2pDO0lBQ0E7SUFGWCxZQUNXLE1BQWMsRUFDZCxNQUFjO1FBRGQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFFekIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcblxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0IHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc291cmNlOiBJUG9pbnQsXG4gICAgICAgIHB1YmxpYyB0YXJnZXQ6IElQb2ludCxcbiAgICApIHtcbiAgICB9XG59XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cy1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sbUNBQW1DO0lBRTVDLFlBQ1csTUFBYyxFQUNkLE1BQWM7UUFEZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUV6QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c1JlcXVlc3Qge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBzb3VyY2U6IElQb2ludCxcbiAgICAgICAgcHVibGljIHRhcmdldDogSVBvaW50LFxuICAgICkge1xuICAgIH1cbn1cbiJdfQ==
@@ -1,7 +1,6 @@
1
1
  export class CalculateConnectionCenterRequest {
2
- points;
3
2
  constructor(points) {
4
3
  this.points = points;
5
4
  }
6
5
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXItcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZ0NBQWdDO0lBRzlCO0lBRFgsWUFDVyxNQUFnQjtRQUFoQixXQUFNLEdBQU4sTUFBTSxDQUFVO0lBRTNCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHBvaW50czogSVBvaW50W10sXG4gICAgKSB7XG4gICAgfVxufVxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXItcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZ0NBQWdDO0lBRXpDLFlBQ1csTUFBZ0I7UUFBaEIsV0FBTSxHQUFOLE1BQU0sQ0FBVTtJQUUzQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3Qge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBwb2ludHM6IElQb2ludFtdLFxuICAgICkge1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ export class CalculateConnectionCenterHandler {
2
+ handle(request) {
3
+ const { points } = request;
4
+ let totalDistance = 0;
5
+ let distances = [];
6
+ for (let i = 0; i < points.length - 1; i++) {
7
+ const distance = this.calculateDistance(points[i], points[i + 1]);
8
+ distances.push(distance);
9
+ totalDistance += distance;
10
+ }
11
+ let accumulatedDistance = 0;
12
+ let centerIndex = 0;
13
+ const halfTotalDistance = totalDistance / 2;
14
+ for (let i = 0; i < distances.length; i++) {
15
+ accumulatedDistance += distances[i];
16
+ if (accumulatedDistance >= halfTotalDistance) {
17
+ centerIndex = i;
18
+ break;
19
+ }
20
+ }
21
+ const remainingDistanceToCenter = halfTotalDistance - (accumulatedDistance - distances[centerIndex]);
22
+ return this.findPointAtDistance(points[centerIndex], points[centerIndex + 1], remainingDistanceToCenter);
23
+ }
24
+ calculateDistance(pointA, pointB) {
25
+ return Math.sqrt(Math.pow(pointB.x - pointA.x, 2) + Math.pow(pointB.y - pointA.y, 2));
26
+ }
27
+ findPointAtDistance(startPoint, endPoint, distance) {
28
+ const totalDistance = this.calculateDistance(startPoint, endPoint);
29
+ const ratio = distance / totalDistance;
30
+ const x = (1 - ratio) * startPoint.x + ratio * endPoint.x;
31
+ const y = (1 - ratio) * startPoint.y + ratio * endPoint.y;
32
+ return { x, y };
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXIuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sZ0NBQWdDO0lBR3BDLE1BQU0sQ0FBQyxPQUF5QztRQUVyRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLFNBQVMsR0FBYSxFQUFFLENBQUM7UUFFN0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUUsQ0FBQyxDQUFFLEVBQUUsTUFBTSxDQUFFLENBQUMsR0FBRyxDQUFDLENBQUUsQ0FBQyxDQUFDO1lBQ3RFLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekIsYUFBYSxJQUFJLFFBQVEsQ0FBQztTQUMzQjtRQUVELElBQUksbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNwQixNQUFNLGlCQUFpQixHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDNUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekMsbUJBQW1CLElBQUksU0FBUyxDQUFFLENBQUMsQ0FBRSxDQUFDO1lBQ3RDLElBQUksbUJBQW1CLElBQUksaUJBQWlCLEVBQUU7Z0JBQzVDLFdBQVcsR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLE1BQU07YUFDUDtTQUNGO1FBRUQsTUFBTSx5QkFBeUIsR0FBRyxpQkFBaUIsR0FBRyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBRSxXQUFXLENBQUUsQ0FBQyxDQUFDO1FBRXZHLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBRSxXQUFXLENBQUUsRUFBRSxNQUFNLENBQUUsV0FBVyxHQUFHLENBQUMsQ0FBRSxFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVPLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxNQUFjO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxVQUFrQixFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNuRSxNQUFNLEtBQUssR0FBRyxRQUFRLEdBQUcsYUFBYSxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMxRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyLCBJUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QgfSBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci1yZXF1ZXN0JztcblxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyXG4gICAgaW1wbGVtZW50cyBJSGFuZGxlcjxDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCwgSVBvaW50PiB7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCk6IElQb2ludCB7XG5cbiAgICBjb25zdCB7IHBvaW50cyB9ID0gcmVxdWVzdDtcbiAgICBsZXQgdG90YWxEaXN0YW5jZSA9IDA7XG4gICAgbGV0IGRpc3RhbmNlczogbnVtYmVyW10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgZGlzdGFuY2UgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHBvaW50c1sgaSBdLCBwb2ludHNbIGkgKyAxIF0pO1xuICAgICAgZGlzdGFuY2VzLnB1c2goZGlzdGFuY2UpO1xuICAgICAgdG90YWxEaXN0YW5jZSArPSBkaXN0YW5jZTtcbiAgICB9XG5cbiAgICBsZXQgYWNjdW11bGF0ZWREaXN0YW5jZSA9IDA7XG4gICAgbGV0IGNlbnRlckluZGV4ID0gMDtcbiAgICBjb25zdCBoYWxmVG90YWxEaXN0YW5jZSA9IHRvdGFsRGlzdGFuY2UgLyAyO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlzdGFuY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBhY2N1bXVsYXRlZERpc3RhbmNlICs9IGRpc3RhbmNlc1sgaSBdO1xuICAgICAgaWYgKGFjY3VtdWxhdGVkRGlzdGFuY2UgPj0gaGFsZlRvdGFsRGlzdGFuY2UpIHtcbiAgICAgICAgY2VudGVySW5kZXggPSBpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZW1haW5pbmdEaXN0YW5jZVRvQ2VudGVyID0gaGFsZlRvdGFsRGlzdGFuY2UgLSAoYWNjdW11bGF0ZWREaXN0YW5jZSAtIGRpc3RhbmNlc1sgY2VudGVySW5kZXggXSk7XG5cbiAgICByZXR1cm4gdGhpcy5maW5kUG9pbnRBdERpc3RhbmNlKHBvaW50c1sgY2VudGVySW5kZXggXSwgcG9pbnRzWyBjZW50ZXJJbmRleCArIDEgXSwgcmVtYWluaW5nRGlzdGFuY2VUb0NlbnRlcik7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZURpc3RhbmNlKHBvaW50QTogSVBvaW50LCBwb2ludEI6IElQb2ludCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhwb2ludEIueCAtIHBvaW50QS54LCAyKSArIE1hdGgucG93KHBvaW50Qi55IC0gcG9pbnRBLnksIDIpKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFBvaW50QXREaXN0YW5jZShzdGFydFBvaW50OiBJUG9pbnQsIGVuZFBvaW50OiBJUG9pbnQsIGRpc3RhbmNlOiBudW1iZXIpOiBJUG9pbnQge1xuICAgIGNvbnN0IHRvdGFsRGlzdGFuY2UgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHN0YXJ0UG9pbnQsIGVuZFBvaW50KTtcbiAgICBjb25zdCByYXRpbyA9IGRpc3RhbmNlIC8gdG90YWxEaXN0YW5jZTtcbiAgICBjb25zdCB4ID0gKDEgLSByYXRpbykgKiBzdGFydFBvaW50LnggKyByYXRpbyAqIGVuZFBvaW50Lng7XG4gICAgY29uc3QgeSA9ICgxIC0gcmF0aW8pICogc3RhcnRQb2ludC55ICsgcmF0aW8gKiBlbmRQb2ludC55O1xuICAgIHJldHVybiB7IHgsIHkgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,37 @@
1
+ import { EFConnectableSide } from '../../../f-connectors';
2
+ import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
3
+ export class FBezierPathBuilder {
4
+ static getConnectorOffset(distance, offset) {
5
+ if (distance >= offset) {
6
+ return distance;
7
+ }
8
+ return offset * Math.sqrt(offset - distance);
9
+ }
10
+ static getAnglePoint(side, source, target, offset) {
11
+ let result = { x: source.x, y: source.y };
12
+ switch (side) {
13
+ case EFConnectableSide.LEFT:
14
+ result.x -= FBezierPathBuilder.getConnectorOffset(source.x - target.x, offset);
15
+ break;
16
+ case EFConnectableSide.RIGHT:
17
+ result.x += FBezierPathBuilder.getConnectorOffset(target.x - source.x, offset);
18
+ break;
19
+ case EFConnectableSide.TOP:
20
+ result.y -= FBezierPathBuilder.getConnectorOffset(source.y - target.y, offset);
21
+ break;
22
+ case EFConnectableSide.BOTTOM:
23
+ result.y += FBezierPathBuilder.getConnectorOffset(target.y - source.y, offset);
24
+ break;
25
+ }
26
+ return result;
27
+ }
28
+ handle(request) {
29
+ const { source, sourceSide, target, targetSide, offset } = request;
30
+ const sourceAnglePoint = FBezierPathBuilder.getAnglePoint(sourceSide, source, target, offset);
31
+ const targetAnglePoint = FBezierPathBuilder.getAnglePoint(targetSide, target, source, offset);
32
+ const path = `M ${source.x} ${source.y} C ${sourceAnglePoint.x} ${sourceAnglePoint.y}, ${targetAnglePoint.x} ${targetAnglePoint.y}, ${target.x + 0.0002} ${target.y + 0.0002}`;
33
+ const connectionCenter = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, sourceAnglePoint, targetAnglePoint, target]));
34
+ return { path, connectionCenter, penultimatePoint: targetAnglePoint };
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iZXppZXIucGF0aC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9mLWJlemllci5wYXRoLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFPbkgsTUFBTSxPQUFPLGtCQUFrQjtJQUVyQixNQUFNLENBQUMsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxNQUFjO1FBQ2hFLElBQUksUUFBUSxJQUFJLE1BQU0sRUFBRTtZQUN0QixPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUNELE9BQU8sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQXVCLEVBQUUsTUFBYyxFQUFFLE1BQWMsRUFBRSxNQUFjO1FBRWxHLElBQUksTUFBTSxHQUFXLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVsRCxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssaUJBQWlCLENBQUMsSUFBSTtnQkFDekIsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQy9FLE1BQU07WUFDUixLQUFLLGlCQUFpQixDQUFDLEtBQUs7Z0JBQzFCLE1BQU0sQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUMvRSxNQUFNO1lBQ1IsS0FBSyxpQkFBaUIsQ0FBQyxHQUFHO2dCQUN4QixNQUFNLENBQUMsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDL0UsTUFBTTtZQUNSLEtBQUssaUJBQWlCLENBQUMsTUFBTTtnQkFDM0IsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQy9FLE1BQU07U0FDVDtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBbUM7UUFDL0MsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFFbkUsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFOUYsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFOUYsTUFBTSxJQUFJLEdBQUcsS0FBTSxNQUFNLENBQUMsQ0FBRSxJQUFLLE1BQU0sQ0FBQyxDQUFFLE1BQU8sZ0JBQWdCLENBQUMsQ0FBRSxJQUFLLGdCQUFnQixDQUFDLENBQUUsS0FBTSxnQkFBZ0IsQ0FBQyxDQUFFLElBQUssZ0JBQWdCLENBQUMsQ0FBRSxLQUFNLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTyxJQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTyxFQUFFLENBQUM7UUFFL0wsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGdDQUFnQyxFQUFFLENBQUMsTUFBTSxDQUNwRSxJQUFJLGdDQUFnQyxDQUFDLENBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBRSxDQUFDLENBQzdGLENBQUM7UUFFRixPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLENBQUM7SUFDeEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyLCBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7XG4gIElGQ29ubmVjdGlvbkJ1aWxkZXIsXG4gIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0LFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2Vcbn0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uLWJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgRkJlemllclBhdGhCdWlsZGVyIGltcGxlbWVudHMgSUZDb25uZWN0aW9uQnVpbGRlciB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0Q29ubmVjdG9yT2Zmc2V0KGRpc3RhbmNlOiBudW1iZXIsIG9mZnNldDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoZGlzdGFuY2UgPj0gb2Zmc2V0KSB7XG4gICAgICByZXR1cm4gZGlzdGFuY2U7XG4gICAgfVxuICAgIHJldHVybiBvZmZzZXQgKiBNYXRoLnNxcnQob2Zmc2V0IC0gZGlzdGFuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0QW5nbGVQb2ludChzaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgc291cmNlOiBJUG9pbnQsIHRhcmdldDogSVBvaW50LCBvZmZzZXQ6IG51bWJlcik6IElQb2ludCB7XG5cbiAgICBsZXQgcmVzdWx0OiBJUG9pbnQgPSB7IHg6IHNvdXJjZS54LCB5OiBzb3VyY2UueSB9O1xuXG4gICAgc3dpdGNoIChzaWRlKSB7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLkxFRlQ6XG4gICAgICAgIHJlc3VsdC54IC09IEZCZXppZXJQYXRoQnVpbGRlci5nZXRDb25uZWN0b3JPZmZzZXQoc291cmNlLnggLSB0YXJnZXQueCwgb2Zmc2V0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgICByZXN1bHQueCArPSBGQmV6aWVyUGF0aEJ1aWxkZXIuZ2V0Q29ubmVjdG9yT2Zmc2V0KHRhcmdldC54IC0gc291cmNlLngsIG9mZnNldCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5UT1A6XG4gICAgICAgIHJlc3VsdC55IC09IEZCZXppZXJQYXRoQnVpbGRlci5nZXRDb25uZWN0b3JPZmZzZXQoc291cmNlLnkgLSB0YXJnZXQueSwgb2Zmc2V0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTTpcbiAgICAgICAgcmVzdWx0LnkgKz0gRkJlemllclBhdGhCdWlsZGVyLmdldENvbm5lY3Rvck9mZnNldCh0YXJnZXQueSAtIHNvdXJjZS55LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRkNvbm5lY3Rpb25CdWlsZGVyUmVxdWVzdCk6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZSB7XG4gICAgY29uc3QgeyBzb3VyY2UsIHNvdXJjZVNpZGUsIHRhcmdldCwgdGFyZ2V0U2lkZSwgb2Zmc2V0IH0gPSByZXF1ZXN0O1xuXG4gICAgY29uc3Qgc291cmNlQW5nbGVQb2ludCA9IEZCZXppZXJQYXRoQnVpbGRlci5nZXRBbmdsZVBvaW50KHNvdXJjZVNpZGUsIHNvdXJjZSwgdGFyZ2V0LCBvZmZzZXQpO1xuXG4gICAgY29uc3QgdGFyZ2V0QW5nbGVQb2ludCA9IEZCZXppZXJQYXRoQnVpbGRlci5nZXRBbmdsZVBvaW50KHRhcmdldFNpZGUsIHRhcmdldCwgc291cmNlLCBvZmZzZXQpO1xuXG4gICAgY29uc3QgcGF0aCA9IGBNICR7IHNvdXJjZS54IH0gJHsgc291cmNlLnkgfSBDICR7IHNvdXJjZUFuZ2xlUG9pbnQueCB9ICR7IHNvdXJjZUFuZ2xlUG9pbnQueSB9LCAkeyB0YXJnZXRBbmdsZVBvaW50LnggfSAkeyB0YXJnZXRBbmdsZVBvaW50LnkgfSwgJHsgdGFyZ2V0LnggKyAwLjAwMDIgfSAkeyB0YXJnZXQueSArIDAuMDAwMiB9YDtcblxuICAgIGNvbnN0IGNvbm5lY3Rpb25DZW50ZXIgPSBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIoKS5oYW5kbGUoXG4gICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QoWyBzb3VyY2UsIHNvdXJjZUFuZ2xlUG9pbnQsIHRhcmdldEFuZ2xlUG9pbnQsIHRhcmdldCBdKVxuICAgICk7XG5cbiAgICByZXR1cm4geyBwYXRoLCBjb25uZWN0aW9uQ2VudGVyLCBwZW51bHRpbWF0ZVBvaW50OiB0YXJnZXRBbmdsZVBvaW50IH07XG4gIH1cbn1cbiJdfQ==