@foblex/flow 0.0.1

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 (420) hide show
  1. package/README.md +24 -0
  2. package/esm2022/foblex-flow.mjs +5 -0
  3. package/esm2022/lib/common-behaviours/change-position.mjs +15 -0
  4. package/esm2022/lib/common-behaviours/change-zoom/change-zoom.mjs +25 -0
  5. package/esm2022/lib/common-behaviours/change-zoom/i-can-change-zoom.mjs +2 -0
  6. package/esm2022/lib/common-behaviours/change-zoom/index.mjs +3 -0
  7. package/esm2022/lib/common-behaviours/constructor.mjs +2 -0
  8. package/esm2022/lib/common-behaviours/fit-to-parent/fit-to-parent.mjs +27 -0
  9. package/esm2022/lib/common-behaviours/fit-to-parent/i-can-fit-to-parent.mjs +2 -0
  10. package/esm2022/lib/common-behaviours/fit-to-parent/index.mjs +3 -0
  11. package/esm2022/lib/common-behaviours/index.mjs +6 -0
  12. package/esm2022/lib/common-behaviours/one-to-one-centering/i-can-one-to-one-centering.mjs +2 -0
  13. package/esm2022/lib/common-behaviours/one-to-one-centering/index.mjs +3 -0
  14. package/esm2022/lib/common-behaviours/one-to-one-centering/one-to-one-centering.mjs +24 -0
  15. package/esm2022/lib/components/f-connection/f-connection-base.mjs +28 -0
  16. package/esm2022/lib/components/f-connection/f-connection-identifiers.mjs +21 -0
  17. package/esm2022/lib/components/f-connection/f-connection-text/f-connection-text-path.directive.mjs +38 -0
  18. package/esm2022/lib/components/f-connection/f-connection-text/f-connection-text.component.mjs +55 -0
  19. package/esm2022/lib/components/f-connection/f-connection-text/index.mjs +3 -0
  20. package/esm2022/lib/components/f-connection/f-connection.component.mjs +91 -0
  21. package/esm2022/lib/components/f-connection/f-connection.module.mjs +47 -0
  22. package/esm2022/lib/components/f-connection/f-drag-handle/f-connection-drag-handle.component.mjs +30 -0
  23. package/esm2022/lib/components/f-connection/f-drag-handle/index.mjs +2 -0
  24. package/esm2022/lib/components/f-connection/f-gradient/f-connection-gradient.component.mjs +59 -0
  25. package/esm2022/lib/components/f-connection/f-gradient/index.mjs +2 -0
  26. package/esm2022/lib/components/f-connection/f-path/f-connection-path.component.mjs +55 -0
  27. package/esm2022/lib/components/f-connection/f-path/index.mjs +2 -0
  28. package/esm2022/lib/components/f-connection/f-selection/f-connection-selection.component.mjs +34 -0
  29. package/esm2022/lib/components/f-connection/f-selection/index.mjs +2 -0
  30. package/esm2022/lib/components/f-connection/f-temp-connection/f-temp-connection.component.mjs +61 -0
  31. package/esm2022/lib/components/f-connection/f-temp-connection/index.mjs +3 -0
  32. package/esm2022/lib/components/f-connection/f-temp-connection/temp-connection-input-output-model.mjs +7 -0
  33. package/esm2022/lib/components/f-connection/get-connection-intersect.mjs +10 -0
  34. package/esm2022/lib/components/f-connection/i-input-output-model.mjs +2 -0
  35. package/esm2022/lib/components/f-connection/index.mjs +13 -0
  36. package/esm2022/lib/components/f-connection/public-api.mjs +4 -0
  37. package/esm2022/lib/components/f-connectors/f-connector-base.mjs +14 -0
  38. package/esm2022/lib/components/f-connectors/f-node-input/f-node-input-base.mjs +19 -0
  39. package/esm2022/lib/components/f-connectors/f-node-input/f-node-input.directive.mjs +58 -0
  40. package/esm2022/lib/components/f-connectors/f-node-input/index.mjs +4 -0
  41. package/esm2022/lib/components/f-connectors/f-node-input/is-node-input.mjs +4 -0
  42. package/esm2022/lib/components/f-connectors/f-node-input/public-api.mjs +2 -0
  43. package/esm2022/lib/components/f-connectors/f-node-outlet/f-node-outlet-base.mjs +22 -0
  44. package/esm2022/lib/components/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +56 -0
  45. package/esm2022/lib/components/f-connectors/f-node-outlet/index.mjs +4 -0
  46. package/esm2022/lib/components/f-connectors/f-node-outlet/is-node-outlet.mjs +4 -0
  47. package/esm2022/lib/components/f-connectors/f-node-outlet/public-api.mjs +2 -0
  48. package/esm2022/lib/components/f-connectors/f-node-output/f-node-output-base.mjs +19 -0
  49. package/esm2022/lib/components/f-connectors/f-node-output/f-node-output.directive.mjs +54 -0
  50. package/esm2022/lib/components/f-connectors/f-node-output/index.mjs +4 -0
  51. package/esm2022/lib/components/f-connectors/f-node-output/is-node-output.mjs +4 -0
  52. package/esm2022/lib/components/f-connectors/f-node-output/public-api.mjs +2 -0
  53. package/esm2022/lib/components/f-connectors/f-out-connector-base.mjs +4 -0
  54. package/esm2022/lib/components/f-connectors/get-element-rect-in-canvas.mjs +8 -0
  55. package/esm2022/lib/components/f-connectors/index.mjs +7 -0
  56. package/esm2022/lib/components/f-connectors/public-api.mjs +4 -0
  57. package/esm2022/lib/components/f-flow/f-flow-base.mjs +54 -0
  58. package/esm2022/lib/components/f-flow/f-flow.component.mjs +67 -0
  59. package/esm2022/lib/components/f-flow/index.mjs +3 -0
  60. package/esm2022/lib/components/f-flow/public-api.mjs +2 -0
  61. package/esm2022/lib/components/f-node/f-drag-handle/f-drag-handle.directive.mjs +54 -0
  62. package/esm2022/lib/components/f-node/f-drag-handle/index.mjs +3 -0
  63. package/esm2022/lib/components/f-node/f-drag-handle/is-drag-handle.mjs +20 -0
  64. package/esm2022/lib/components/f-node/f-drag-handle/public-api.mjs +2 -0
  65. package/esm2022/lib/components/f-node/f-foreign-object/f-foreign-object-base.mjs +40 -0
  66. package/esm2022/lib/components/f-node/f-foreign-object/f-foreign-object.component.mjs +49 -0
  67. package/esm2022/lib/components/f-node/f-foreign-object/index.mjs +3 -0
  68. package/esm2022/lib/components/f-node/f-foreign-object/public-api.mjs +2 -0
  69. package/esm2022/lib/components/f-node/f-node-base.mjs +28 -0
  70. package/esm2022/lib/components/f-node/f-node.component.mjs +63 -0
  71. package/esm2022/lib/components/f-node/index.mjs +5 -0
  72. package/esm2022/lib/components/f-node/public-api.mjs +4 -0
  73. package/esm2022/lib/components/index.mjs +6 -0
  74. package/esm2022/lib/components/public-api.mjs +5 -0
  75. package/esm2022/lib/directives/f-connect-if-intersect/connect-if-intersect/connect-if-intersect.handler.mjs +58 -0
  76. package/esm2022/lib/directives/f-connect-if-intersect/connect-if-intersect/connect-if-intersect.request.mjs +6 -0
  77. package/esm2022/lib/directives/f-connect-if-intersect/connect-if-intersect/index.mjs +3 -0
  78. package/esm2022/lib/directives/f-connect-if-intersect/f-connect-if-intersect.directive.mjs +41 -0
  79. package/esm2022/lib/directives/f-connect-if-intersect/index.mjs +3 -0
  80. package/esm2022/lib/directives/f-connect-if-intersect/public-api.mjs +2 -0
  81. package/esm2022/lib/directives/f-containers/f-connections-container/f-connections-container-base.mjs +32 -0
  82. package/esm2022/lib/directives/f-containers/f-connections-container/f-connections-container.component.mjs +30 -0
  83. package/esm2022/lib/directives/f-containers/f-connections-container/index.mjs +3 -0
  84. package/esm2022/lib/directives/f-containers/f-connections-container/public-api.mjs +2 -0
  85. package/esm2022/lib/directives/f-containers/f-items-container/f-items-container-base.mjs +44 -0
  86. package/esm2022/lib/directives/f-containers/f-items-container/f-items-container.directive.mjs +25 -0
  87. package/esm2022/lib/directives/f-containers/f-items-container/index.mjs +3 -0
  88. package/esm2022/lib/directives/f-containers/f-items-container/public-api.mjs +2 -0
  89. package/esm2022/lib/directives/f-containers/f-nodes-container/f-nodes-container-base.mjs +39 -0
  90. package/esm2022/lib/directives/f-containers/f-nodes-container/f-nodes-container.component.mjs +25 -0
  91. package/esm2022/lib/directives/f-containers/f-nodes-container/index.mjs +3 -0
  92. package/esm2022/lib/directives/f-containers/f-nodes-container/public-api.mjs +2 -0
  93. package/esm2022/lib/directives/f-containers/index.mjs +4 -0
  94. package/esm2022/lib/directives/f-containers/public-api.mjs +4 -0
  95. package/esm2022/lib/directives/f-draggable/canvas/canvas-on-pointer-down/canvas-on-pointer-down.handler.mjs +24 -0
  96. package/esm2022/lib/directives/f-draggable/canvas/canvas-on-pointer-down/canvas-on-pointer-down.request.mjs +6 -0
  97. package/esm2022/lib/directives/f-draggable/canvas/canvas-on-pointer-down/index.mjs +3 -0
  98. package/esm2022/lib/directives/f-draggable/canvas/canvas-on-pointer-move/canvas.on-pointer-move.mjs +20 -0
  99. package/esm2022/lib/directives/f-draggable/canvas/canvas-on-pointer-move/index.mjs +2 -0
  100. package/esm2022/lib/directives/f-draggable/canvas/index.mjs +3 -0
  101. package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/create-connection-on-pointer-down.request.mjs +7 -0
  102. package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/create-connection.on-pointer-down.mjs +78 -0
  103. package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/index.mjs +3 -0
  104. package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/create-connection-on-pointer-up.request.mjs +7 -0
  105. package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/create-connection.on-pointer-up.mjs +31 -0
  106. package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/index.mjs +3 -0
  107. package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection.event.mjs +7 -0
  108. package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection.on-pointer-move.mjs +28 -0
  109. package/esm2022/lib/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.mjs +20 -0
  110. package/esm2022/lib/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.request.mjs +6 -0
  111. package/esm2022/lib/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/index.mjs +3 -0
  112. package/esm2022/lib/directives/f-draggable/connections/create-connection/index.mjs +6 -0
  113. package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +25 -0
  114. package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.request.mjs +7 -0
  115. package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.mjs +20 -0
  116. package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.request.mjs +6 -0
  117. package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/index.mjs +3 -0
  118. package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/index.mjs +5 -0
  119. package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/index.mjs +3 -0
  120. package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.mjs +14 -0
  121. package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.request.mjs +6 -0
  122. package/esm2022/lib/directives/f-draggable/connections/index.mjs +4 -0
  123. package/esm2022/lib/directives/f-draggable/connections/reassign-connection/index.mjs +5 -0
  124. package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-connection.event.mjs +9 -0
  125. package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/index.mjs +3 -0
  126. package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/reassign-connection-on-pointer-down.request.mjs +7 -0
  127. package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/reassign-connection.on-pointer-down.mjs +36 -0
  128. package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-move/index.mjs +2 -0
  129. package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-move/reassign-connection.on-pointer-move.mjs +31 -0
  130. package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/index.mjs +3 -0
  131. package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/reassign-connection-on-pointer-up.request.mjs +7 -0
  132. package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/reassign-connection.on-pointer-up.mjs +23 -0
  133. package/esm2022/lib/directives/f-draggable/default-drag-handler/default-drag.handler.mjs +11 -0
  134. package/esm2022/lib/directives/f-draggable/default-drag-handler/index.mjs +2 -0
  135. package/esm2022/lib/directives/f-draggable/e-draggable-type.mjs +12 -0
  136. package/esm2022/lib/directives/f-draggable/external-item/create-node.event.mjs +7 -0
  137. package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-down/external-item-on-pointer-down.handler.mjs +28 -0
  138. package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-down/external-item-on-pointer-down.request.mjs +6 -0
  139. package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-down/index.mjs +3 -0
  140. package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-move/external-item-on-pointer-move.handler.mjs +30 -0
  141. package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-move/index.mjs +2 -0
  142. package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-up/external-item-on-pointer-up.handler.mjs +26 -0
  143. package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-up/external-item-on-pointer-up.request.mjs +7 -0
  144. package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-up/index.mjs +3 -0
  145. package/esm2022/lib/directives/f-draggable/external-item/index.mjs +5 -0
  146. package/esm2022/lib/directives/f-draggable/f-draggable-base.mjs +103 -0
  147. package/esm2022/lib/directives/f-draggable/f-draggable.directive.mjs +52 -0
  148. package/esm2022/lib/directives/f-draggable/f-draggable.module.mjs +49 -0
  149. package/esm2022/lib/directives/f-draggable/f-draggable.service.mjs +23 -0
  150. package/esm2022/lib/directives/f-draggable/i-drag-handler.mjs +2 -0
  151. package/esm2022/lib/directives/f-draggable/i-draggable-item.mjs +2 -0
  152. package/esm2022/lib/directives/f-draggable/index.mjs +14 -0
  153. package/esm2022/lib/directives/f-draggable/node/index.mjs +4 -0
  154. package/esm2022/lib/directives/f-draggable/node/node-on-pointer-down/index.mjs +3 -0
  155. package/esm2022/lib/directives/f-draggable/node/node-on-pointer-down/node-on-pointer-down.request.mjs +9 -0
  156. package/esm2022/lib/directives/f-draggable/node/node-on-pointer-down/node.on-pointer-down.mjs +88 -0
  157. package/esm2022/lib/directives/f-draggable/node/node-on-pointer-move/f-connection-source.drag-handler.mjs +24 -0
  158. package/esm2022/lib/directives/f-draggable/node/node-on-pointer-move/f-connection-target.drag-handler.mjs +24 -0
  159. package/esm2022/lib/directives/f-draggable/node/node-on-pointer-move/f-connection.drag-handler.mjs +22 -0
  160. package/esm2022/lib/directives/f-draggable/node/node-on-pointer-move/index.mjs +5 -0
  161. package/esm2022/lib/directives/f-draggable/node/node-on-pointer-move/node.on-pointer-move.mjs +23 -0
  162. package/esm2022/lib/directives/f-draggable/node/node-on-pointer-up/index.mjs +3 -0
  163. package/esm2022/lib/directives/f-draggable/node/node-on-pointer-up/node-on-pointer-up.request.mjs +7 -0
  164. package/esm2022/lib/directives/f-draggable/node/node-on-pointer-up/node.on-pointer-up.mjs +28 -0
  165. package/esm2022/lib/directives/f-draggable/public-api.mjs +2 -0
  166. package/esm2022/lib/directives/f-draggable/selection/index.mjs +4 -0
  167. package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-down/index.mjs +3 -0
  168. package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-down/selection-on-pointer-down.request.mjs +8 -0
  169. package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-down/selection.on-pointer-down.mjs +60 -0
  170. package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-move/index.mjs +2 -0
  171. package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-move/selection.on-pointer-move.mjs +54 -0
  172. package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-up/index.mjs +3 -0
  173. package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-up/selection-on-pointer-up.request.mjs +8 -0
  174. package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-up/selection.on-pointer-up.mjs +22 -0
  175. package/esm2022/lib/directives/f-external-item/f-external-item-base.mjs +11 -0
  176. package/esm2022/lib/directives/f-external-item/f-external-item.directive.mjs +44 -0
  177. package/esm2022/lib/directives/f-external-item/f-external-item.service.mjs +25 -0
  178. package/esm2022/lib/directives/f-external-item/index.mjs +5 -0
  179. package/esm2022/lib/directives/f-external-item/is-external-item.mjs +7 -0
  180. package/esm2022/lib/directives/f-external-item/public-api.mjs +2 -0
  181. package/esm2022/lib/directives/f-line-alignment/domain/find-nearest-coordinate-by-x.mjs +40 -0
  182. package/esm2022/lib/directives/f-line-alignment/domain/find-nearest-coordinate-by-y.mjs +40 -0
  183. package/esm2022/lib/directives/f-line-alignment/domain/i-line-alignment-result.mjs +2 -0
  184. package/esm2022/lib/directives/f-line-alignment/domain/i-nearest-coordinate-result.mjs +2 -0
  185. package/esm2022/lib/directives/f-line-alignment/domain/index.mjs +5 -0
  186. package/esm2022/lib/directives/f-line-alignment/f-line-alignment.directive.mjs +105 -0
  187. package/esm2022/lib/directives/f-line-alignment/index.mjs +3 -0
  188. package/esm2022/lib/directives/f-line-alignment/public-api.mjs +2 -0
  189. package/esm2022/lib/directives/f-selection/f-selection.directive.mjs +40 -0
  190. package/esm2022/lib/directives/f-selection/index.mjs +2 -0
  191. package/esm2022/lib/directives/f-selection/public-api.mjs +2 -0
  192. package/esm2022/lib/directives/f-zoom/f-zoom-base.mjs +87 -0
  193. package/esm2022/lib/directives/f-zoom/f-zoom.directive.mjs +57 -0
  194. package/esm2022/lib/directives/f-zoom/index.mjs +3 -0
  195. package/esm2022/lib/directives/f-zoom/public-api.mjs +2 -0
  196. package/esm2022/lib/directives/index.mjs +8 -0
  197. package/esm2022/lib/directives/public-api.mjs +8 -0
  198. package/esm2022/lib/f-flow.module.mjs +79 -0
  199. package/esm2022/lib/i-has-state-changes.mjs +2 -0
  200. package/esm2022/lib/i-selectable.mjs +2 -0
  201. package/esm2022/lib/internal/f-backgroud/f-background-base.mjs +25 -0
  202. package/esm2022/lib/internal/f-backgroud/f-background.directive.mjs +24 -0
  203. package/esm2022/lib/internal/f-backgroud/index.mjs +3 -0
  204. package/esm2022/lib/internal/f-canvas/f-canvas-base.mjs +25 -0
  205. package/esm2022/lib/internal/f-canvas/f-canvas.directive.mjs +19 -0
  206. package/esm2022/lib/internal/f-canvas/index.mjs +3 -0
  207. package/esm2022/lib/internal/index.mjs +3 -0
  208. package/esm2022/lib/public-api.mjs +5 -0
  209. package/esm2022/public-api.mjs +2 -0
  210. package/fesm2022/foblex-flow.mjs +3055 -0
  211. package/fesm2022/foblex-flow.mjs.map +1 -0
  212. package/index.d.ts +5 -0
  213. package/lib/common-behaviours/change-position.d.ts +9 -0
  214. package/lib/common-behaviours/change-zoom/change-zoom.d.ts +6 -0
  215. package/lib/common-behaviours/change-zoom/i-can-change-zoom.d.ts +6 -0
  216. package/lib/common-behaviours/change-zoom/index.d.ts +2 -0
  217. package/lib/common-behaviours/constructor.d.ts +2 -0
  218. package/lib/common-behaviours/fit-to-parent/fit-to-parent.d.ts +6 -0
  219. package/lib/common-behaviours/fit-to-parent/i-can-fit-to-parent.d.ts +4 -0
  220. package/lib/common-behaviours/fit-to-parent/index.d.ts +2 -0
  221. package/lib/common-behaviours/index.d.ts +5 -0
  222. package/lib/common-behaviours/one-to-one-centering/i-can-one-to-one-centering.d.ts +4 -0
  223. package/lib/common-behaviours/one-to-one-centering/index.d.ts +2 -0
  224. package/lib/common-behaviours/one-to-one-centering/one-to-one-centering.d.ts +6 -0
  225. package/lib/components/f-connection/f-connection-base.d.ts +28 -0
  226. package/lib/components/f-connection/f-connection-identifiers.d.ts +8 -0
  227. package/lib/components/f-connection/f-connection-text/f-connection-text-path.directive.d.ts +17 -0
  228. package/lib/components/f-connection/f-connection-text/f-connection-text.component.d.ts +19 -0
  229. package/lib/components/f-connection/f-connection-text/index.d.ts +2 -0
  230. package/lib/components/f-connection/f-connection.component.d.ts +33 -0
  231. package/lib/components/f-connection/f-connection.module.d.ts +15 -0
  232. package/lib/components/f-connection/f-drag-handle/f-connection-drag-handle.component.d.ts +13 -0
  233. package/lib/components/f-connection/f-drag-handle/index.d.ts +1 -0
  234. package/lib/components/f-connection/f-gradient/f-connection-gradient.component.d.ts +21 -0
  235. package/lib/components/f-connection/f-gradient/index.d.ts +1 -0
  236. package/lib/components/f-connection/f-path/f-connection-path.component.d.ts +20 -0
  237. package/lib/components/f-connection/f-path/index.d.ts +1 -0
  238. package/lib/components/f-connection/f-selection/f-connection-selection.component.d.ts +15 -0
  239. package/lib/components/f-connection/f-selection/index.d.ts +1 -0
  240. package/lib/components/f-connection/f-temp-connection/f-temp-connection.component.d.ts +27 -0
  241. package/lib/components/f-connection/f-temp-connection/index.d.ts +2 -0
  242. package/lib/components/f-connection/f-temp-connection/temp-connection-input-output-model.d.ts +7 -0
  243. package/lib/components/f-connection/get-connection-intersect.d.ts +2 -0
  244. package/lib/components/f-connection/i-input-output-model.d.ts +5 -0
  245. package/lib/components/f-connection/index.d.ts +12 -0
  246. package/lib/components/f-connection/public-api.d.ts +3 -0
  247. package/lib/components/f-connectors/f-connector-base.d.ts +13 -0
  248. package/lib/components/f-connectors/f-node-input/f-node-input-base.d.ts +11 -0
  249. package/lib/components/f-connectors/f-node-input/f-node-input.directive.d.ts +17 -0
  250. package/lib/components/f-connectors/f-node-input/index.d.ts +3 -0
  251. package/lib/components/f-connectors/f-node-input/is-node-input.d.ts +1 -0
  252. package/lib/components/f-connectors/f-node-input/public-api.d.ts +1 -0
  253. package/lib/components/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +12 -0
  254. package/lib/components/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +17 -0
  255. package/lib/components/f-connectors/f-node-outlet/index.d.ts +3 -0
  256. package/lib/components/f-connectors/f-node-outlet/is-node-outlet.d.ts +1 -0
  257. package/lib/components/f-connectors/f-node-outlet/public-api.d.ts +1 -0
  258. package/lib/components/f-connectors/f-node-output/f-node-output-base.d.ts +10 -0
  259. package/lib/components/f-connectors/f-node-output/f-node-output.directive.d.ts +16 -0
  260. package/lib/components/f-connectors/f-node-output/index.d.ts +3 -0
  261. package/lib/components/f-connectors/f-node-output/is-node-output.d.ts +1 -0
  262. package/lib/components/f-connectors/f-node-output/public-api.d.ts +1 -0
  263. package/lib/components/f-connectors/f-out-connector-base.d.ts +4 -0
  264. package/lib/components/f-connectors/get-element-rect-in-canvas.d.ts +2 -0
  265. package/lib/components/f-connectors/index.d.ts +6 -0
  266. package/lib/components/f-connectors/public-api.d.ts +3 -0
  267. package/lib/components/f-flow/f-flow-base.d.ts +31 -0
  268. package/lib/components/f-flow/f-flow.component.d.ts +32 -0
  269. package/lib/components/f-flow/index.d.ts +2 -0
  270. package/lib/components/f-flow/public-api.d.ts +1 -0
  271. package/lib/components/f-node/f-drag-handle/f-drag-handle.directive.d.ts +19 -0
  272. package/lib/components/f-node/f-drag-handle/index.d.ts +2 -0
  273. package/lib/components/f-node/f-drag-handle/is-drag-handle.d.ts +1 -0
  274. package/lib/components/f-node/f-drag-handle/public-api.d.ts +1 -0
  275. package/lib/components/f-node/f-foreign-object/f-foreign-object-base.d.ts +20 -0
  276. package/lib/components/f-node/f-foreign-object/f-foreign-object.component.d.ts +16 -0
  277. package/lib/components/f-node/f-foreign-object/index.d.ts +2 -0
  278. package/lib/components/f-node/f-foreign-object/public-api.d.ts +1 -0
  279. package/lib/components/f-node/f-node-base.d.ts +24 -0
  280. package/lib/components/f-node/f-node.component.d.ts +23 -0
  281. package/lib/components/f-node/index.d.ts +4 -0
  282. package/lib/components/f-node/public-api.d.ts +3 -0
  283. package/lib/components/index.d.ts +5 -0
  284. package/lib/components/public-api.d.ts +4 -0
  285. package/lib/directives/f-connect-if-intersect/connect-if-intersect/connect-if-intersect.handler.d.ts +16 -0
  286. package/lib/directives/f-connect-if-intersect/connect-if-intersect/connect-if-intersect.request.d.ts +5 -0
  287. package/lib/directives/f-connect-if-intersect/connect-if-intersect/index.d.ts +2 -0
  288. package/lib/directives/f-connect-if-intersect/f-connect-if-intersect.directive.d.ts +16 -0
  289. package/lib/directives/f-connect-if-intersect/index.d.ts +2 -0
  290. package/lib/directives/f-connect-if-intersect/public-api.d.ts +1 -0
  291. package/lib/directives/f-containers/f-connections-container/f-connections-container-base.d.ts +18 -0
  292. package/lib/directives/f-containers/f-connections-container/f-connections-container.component.d.ts +14 -0
  293. package/lib/directives/f-containers/f-connections-container/index.d.ts +2 -0
  294. package/lib/directives/f-containers/f-connections-container/public-api.d.ts +1 -0
  295. package/lib/directives/f-containers/f-items-container/f-items-container-base.d.ts +23 -0
  296. package/lib/directives/f-containers/f-items-container/f-items-container.directive.d.ts +9 -0
  297. package/lib/directives/f-containers/f-items-container/index.d.ts +2 -0
  298. package/lib/directives/f-containers/f-items-container/public-api.d.ts +1 -0
  299. package/lib/directives/f-containers/f-nodes-container/f-nodes-container-base.d.ts +18 -0
  300. package/lib/directives/f-containers/f-nodes-container/f-nodes-container.component.d.ts +12 -0
  301. package/lib/directives/f-containers/f-nodes-container/index.d.ts +2 -0
  302. package/lib/directives/f-containers/f-nodes-container/public-api.d.ts +1 -0
  303. package/lib/directives/f-containers/index.d.ts +3 -0
  304. package/lib/directives/f-containers/public-api.d.ts +3 -0
  305. package/lib/directives/f-draggable/canvas/canvas-on-pointer-down/canvas-on-pointer-down.handler.d.ts +12 -0
  306. package/lib/directives/f-draggable/canvas/canvas-on-pointer-down/canvas-on-pointer-down.request.d.ts +5 -0
  307. package/lib/directives/f-draggable/canvas/canvas-on-pointer-down/index.d.ts +2 -0
  308. package/lib/directives/f-draggable/canvas/canvas-on-pointer-move/canvas.on-pointer-move.d.ts +13 -0
  309. package/lib/directives/f-draggable/canvas/canvas-on-pointer-move/index.d.ts +1 -0
  310. package/lib/directives/f-draggable/canvas/index.d.ts +2 -0
  311. package/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/create-connection-on-pointer-down.request.d.ts +6 -0
  312. package/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/create-connection.on-pointer-down.d.ts +14 -0
  313. package/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/index.d.ts +2 -0
  314. package/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/create-connection-on-pointer-up.request.d.ts +7 -0
  315. package/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/create-connection.on-pointer-up.d.ts +11 -0
  316. package/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/index.d.ts +2 -0
  317. package/lib/directives/f-draggable/connections/create-connection/create-connection.event.d.ts +5 -0
  318. package/lib/directives/f-draggable/connections/create-connection/create-connection.on-pointer-move.d.ts +16 -0
  319. package/lib/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.d.ts +8 -0
  320. package/lib/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.request.d.ts +5 -0
  321. package/lib/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/index.d.ts +2 -0
  322. package/lib/directives/f-draggable/connections/create-connection/index.d.ts +5 -0
  323. package/lib/directives/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts +9 -0
  324. package/lib/directives/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.request.d.ts +8 -0
  325. package/lib/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.d.ts +8 -0
  326. package/lib/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.request.d.ts +5 -0
  327. package/lib/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/index.d.ts +2 -0
  328. package/lib/directives/f-draggable/connections/find-inputs-under-pointer/index.d.ts +4 -0
  329. package/lib/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/index.d.ts +2 -0
  330. package/lib/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.d.ts +8 -0
  331. package/lib/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.request.d.ts +5 -0
  332. package/lib/directives/f-draggable/connections/index.d.ts +3 -0
  333. package/lib/directives/f-draggable/connections/reassign-connection/index.d.ts +4 -0
  334. package/lib/directives/f-draggable/connections/reassign-connection/reassign-connection.event.d.ts +7 -0
  335. package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/index.d.ts +2 -0
  336. package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/reassign-connection-on-pointer-down.request.d.ts +6 -0
  337. package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/reassign-connection.on-pointer-down.d.ts +11 -0
  338. package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-move/index.d.ts +1 -0
  339. package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-move/reassign-connection.on-pointer-move.d.ts +17 -0
  340. package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/index.d.ts +2 -0
  341. package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/reassign-connection-on-pointer-up.request.d.ts +7 -0
  342. package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/reassign-connection.on-pointer-up.d.ts +11 -0
  343. package/lib/directives/f-draggable/default-drag-handler/default-drag.handler.d.ts +5 -0
  344. package/lib/directives/f-draggable/default-drag-handler/index.d.ts +1 -0
  345. package/lib/directives/f-draggable/e-draggable-type.d.ts +10 -0
  346. package/lib/directives/f-draggable/external-item/create-node.event.d.ts +6 -0
  347. package/lib/directives/f-draggable/external-item/external-item-on-pointer-down/external-item-on-pointer-down.handler.d.ts +10 -0
  348. package/lib/directives/f-draggable/external-item/external-item-on-pointer-down/external-item-on-pointer-down.request.d.ts +5 -0
  349. package/lib/directives/f-draggable/external-item/external-item-on-pointer-down/index.d.ts +2 -0
  350. package/lib/directives/f-draggable/external-item/external-item-on-pointer-move/external-item-on-pointer-move.handler.d.ts +17 -0
  351. package/lib/directives/f-draggable/external-item/external-item-on-pointer-move/index.d.ts +1 -0
  352. package/lib/directives/f-draggable/external-item/external-item-on-pointer-up/external-item-on-pointer-up.handler.d.ts +11 -0
  353. package/lib/directives/f-draggable/external-item/external-item-on-pointer-up/external-item-on-pointer-up.request.d.ts +7 -0
  354. package/lib/directives/f-draggable/external-item/external-item-on-pointer-up/index.d.ts +2 -0
  355. package/lib/directives/f-draggable/external-item/index.d.ts +4 -0
  356. package/lib/directives/f-draggable/f-draggable-base.d.ts +46 -0
  357. package/lib/directives/f-draggable/f-draggable.directive.d.ts +22 -0
  358. package/lib/directives/f-draggable/f-draggable.module.d.ts +11 -0
  359. package/lib/directives/f-draggable/f-draggable.service.d.ts +13 -0
  360. package/lib/directives/f-draggable/i-drag-handler.d.ts +9 -0
  361. package/lib/directives/f-draggable/i-draggable-item.d.ts +8 -0
  362. package/lib/directives/f-draggable/index.d.ts +13 -0
  363. package/lib/directives/f-draggable/node/index.d.ts +3 -0
  364. package/lib/directives/f-draggable/node/node-on-pointer-down/index.d.ts +2 -0
  365. package/lib/directives/f-draggable/node/node-on-pointer-down/node-on-pointer-down.request.d.ts +9 -0
  366. package/lib/directives/f-draggable/node/node-on-pointer-down/node.on-pointer-down.d.ts +17 -0
  367. package/lib/directives/f-draggable/node/node-on-pointer-move/f-connection-source.drag-handler.d.ts +15 -0
  368. package/lib/directives/f-draggable/node/node-on-pointer-move/f-connection-target.drag-handler.d.ts +15 -0
  369. package/lib/directives/f-draggable/node/node-on-pointer-move/f-connection.drag-handler.d.ts +14 -0
  370. package/lib/directives/f-draggable/node/node-on-pointer-move/index.d.ts +4 -0
  371. package/lib/directives/f-draggable/node/node-on-pointer-move/node.on-pointer-move.d.ts +15 -0
  372. package/lib/directives/f-draggable/node/node-on-pointer-up/index.d.ts +2 -0
  373. package/lib/directives/f-draggable/node/node-on-pointer-up/node-on-pointer-up.request.d.ts +7 -0
  374. package/lib/directives/f-draggable/node/node-on-pointer-up/node.on-pointer-up.d.ts +11 -0
  375. package/lib/directives/f-draggable/public-api.d.ts +1 -0
  376. package/lib/directives/f-draggable/selection/index.d.ts +3 -0
  377. package/lib/directives/f-draggable/selection/selection-on-pointer-down/index.d.ts +2 -0
  378. package/lib/directives/f-draggable/selection/selection-on-pointer-down/selection-on-pointer-down.request.d.ts +8 -0
  379. package/lib/directives/f-draggable/selection/selection-on-pointer-down/selection.on-pointer-down.d.ts +11 -0
  380. package/lib/directives/f-draggable/selection/selection-on-pointer-move/index.d.ts +1 -0
  381. package/lib/directives/f-draggable/selection/selection-on-pointer-move/selection.on-pointer-move.d.ts +19 -0
  382. package/lib/directives/f-draggable/selection/selection-on-pointer-up/index.d.ts +2 -0
  383. package/lib/directives/f-draggable/selection/selection-on-pointer-up/selection-on-pointer-up.request.d.ts +9 -0
  384. package/lib/directives/f-draggable/selection/selection-on-pointer-up/selection.on-pointer-up.d.ts +8 -0
  385. package/lib/directives/f-external-item/f-external-item-base.d.ts +11 -0
  386. package/lib/directives/f-external-item/f-external-item.directive.d.ts +16 -0
  387. package/lib/directives/f-external-item/f-external-item.service.d.ts +10 -0
  388. package/lib/directives/f-external-item/index.d.ts +4 -0
  389. package/lib/directives/f-external-item/is-external-item.d.ts +2 -0
  390. package/lib/directives/f-external-item/public-api.d.ts +1 -0
  391. package/lib/directives/f-line-alignment/domain/find-nearest-coordinate-by-x.d.ts +3 -0
  392. package/lib/directives/f-line-alignment/domain/find-nearest-coordinate-by-y.d.ts +3 -0
  393. package/lib/directives/f-line-alignment/domain/i-line-alignment-result.d.ts +5 -0
  394. package/lib/directives/f-line-alignment/domain/i-nearest-coordinate-result.d.ts +4 -0
  395. package/lib/directives/f-line-alignment/domain/index.d.ts +4 -0
  396. package/lib/directives/f-line-alignment/f-line-alignment.directive.d.ts +25 -0
  397. package/lib/directives/f-line-alignment/index.d.ts +2 -0
  398. package/lib/directives/f-line-alignment/public-api.d.ts +1 -0
  399. package/lib/directives/f-selection/f-selection.directive.d.ts +15 -0
  400. package/lib/directives/f-selection/index.d.ts +1 -0
  401. package/lib/directives/f-selection/public-api.d.ts +1 -0
  402. package/lib/directives/f-zoom/f-zoom-base.d.ts +24 -0
  403. package/lib/directives/f-zoom/f-zoom.directive.d.ts +15 -0
  404. package/lib/directives/f-zoom/index.d.ts +2 -0
  405. package/lib/directives/f-zoom/public-api.d.ts +1 -0
  406. package/lib/directives/index.d.ts +7 -0
  407. package/lib/directives/public-api.d.ts +7 -0
  408. package/lib/f-flow.module.d.ts +21 -0
  409. package/lib/i-has-state-changes.d.ts +4 -0
  410. package/lib/i-selectable.d.ts +6 -0
  411. package/lib/internal/f-backgroud/f-background-base.d.ts +15 -0
  412. package/lib/internal/f-backgroud/f-background.directive.d.ts +9 -0
  413. package/lib/internal/f-backgroud/index.d.ts +2 -0
  414. package/lib/internal/f-canvas/f-canvas-base.d.ts +12 -0
  415. package/lib/internal/f-canvas/f-canvas.directive.d.ts +8 -0
  416. package/lib/internal/f-canvas/index.d.ts +2 -0
  417. package/lib/internal/index.d.ts +2 -0
  418. package/lib/public-api.d.ts +4 -0
  419. package/package.json +26 -0
  420. package/public-api.d.ts +1 -0
@@ -0,0 +1,25 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FExternalItemService {
4
+ constructor() {
5
+ this.items = [];
6
+ }
7
+ registerItem(item) {
8
+ this.items.push(item);
9
+ }
10
+ getItem(element) {
11
+ return this.items.find(item => item.hostElement === element);
12
+ }
13
+ removeItem(item) {
14
+ const index = this.items.indexOf(item);
15
+ if (index !== -1) {
16
+ this.items.splice(index, 1);
17
+ }
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FExternalItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FExternalItemService }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FExternalItemService, decorators: [{
23
+ type: Injectable
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1leHRlcm5hbC1pdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZXh0ZXJuYWwtaXRlbS9mLWV4dGVybmFsLWl0ZW0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBR1UsVUFBSyxHQUF3QixFQUFFLENBQUM7S0FnQnpDO0lBZFEsWUFBWSxDQUFDLElBQXVCO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxPQUFPLENBQUMsT0FBaUM7UUFDOUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUF1QjtRQUN2QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDOzhHQWpCVSxvQkFBb0I7a0hBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeHRlcm5hbEl0ZW1CYXNlIH0gZnJvbSAnLi9mLWV4dGVybmFsLWl0ZW0tYmFzZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGRXh0ZXJuYWxJdGVtU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBpdGVtczogRkV4dGVybmFsSXRlbUJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyByZWdpc3Rlckl0ZW0oaXRlbTogRkV4dGVybmFsSXRlbUJhc2UpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zLnB1c2goaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbShlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBGRXh0ZXJuYWxJdGVtQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZChpdGVtID0+IGl0ZW0uaG9zdEVsZW1lbnQgPT09IGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUl0ZW0oaXRlbTogRkV4dGVybmFsSXRlbUJhc2UpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuaXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './f-external-item-base';
2
+ export * from './is-external-item';
3
+ export * from './f-external-item.directive';
4
+ export * from './f-external-item.service';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZXh0ZXJuYWwtaXRlbS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLWV4dGVybmFsLWl0ZW0tYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaXMtZXh0ZXJuYWwtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1leHRlcm5hbC1pdGVtLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1leHRlcm5hbC1pdGVtLnNlcnZpY2UnO1xuIl19
@@ -0,0 +1,7 @@
1
+ export function isExternalItem(element) {
2
+ return !!element.closest('[fExternalItem]');
3
+ }
4
+ export function getExternalItem(element) {
5
+ return element.closest('[fExternalItem]');
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZXh0ZXJuYWwtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi1leHRlcm5hbC1pdGVtL2lzLWV4dGVybmFsLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUFpQztJQUM5RCxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBaUM7SUFDL0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUE2QixDQUFDO0FBQ3hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNFeHRlcm5hbEl0ZW0oZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiAhIWVsZW1lbnQuY2xvc2VzdCgnW2ZFeHRlcm5hbEl0ZW1dJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlcm5hbEl0ZW0oZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgcmV0dXJuIGVsZW1lbnQuY2xvc2VzdCgnW2ZFeHRlcm5hbEl0ZW1dJykgYXMgSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './f-external-item.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi1leHRlcm5hbC1pdGVtL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1leHRlcm5hbC1pdGVtLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,40 @@
1
+ const ALIGN_THRESHOLD = 10;
2
+ export function findNearestCoordinateByX(elements, target) {
3
+ let nearest;
4
+ let minDistance;
5
+ for (const element of elements) {
6
+ const distanceLeftLeft = target.x - element.x;
7
+ const distanceLeftRight = target.x - (element.x + element.width);
8
+ const distanceCenterCenter = target.gravityCenter.x - element.gravityCenter.x;
9
+ const distanceRightLeft = (target.x + target.width) - element.x;
10
+ const distanceRightRight = (target.x + target.width) - (element.x + element.width);
11
+ if (Math.abs(distanceLeftLeft) <= ALIGN_THRESHOLD ||
12
+ Math.abs(distanceLeftRight) <= ALIGN_THRESHOLD ||
13
+ Math.abs(distanceCenterCenter) <= ALIGN_THRESHOLD ||
14
+ Math.abs(distanceRightLeft) <= ALIGN_THRESHOLD ||
15
+ Math.abs(distanceRightRight) <= ALIGN_THRESHOLD) {
16
+ if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
17
+ minDistance = distanceCenterCenter;
18
+ nearest = element.gravityCenter.x;
19
+ }
20
+ if (Math.abs(distanceLeftLeft) < Math.abs(minDistance)) {
21
+ minDistance = distanceLeftLeft;
22
+ nearest = element.x;
23
+ }
24
+ if (Math.abs(distanceRightRight) < Math.abs(minDistance)) {
25
+ minDistance = distanceRightRight;
26
+ nearest = element.x + element.width;
27
+ }
28
+ if (Math.abs(distanceLeftRight) < Math.abs(minDistance)) {
29
+ minDistance = distanceLeftRight;
30
+ nearest = element.x + element.width;
31
+ }
32
+ if (Math.abs(distanceRightLeft) < Math.abs(minDistance)) {
33
+ minDistance = distanceRightLeft;
34
+ nearest = element.x;
35
+ }
36
+ }
37
+ }
38
+ return { value: nearest, distance: minDistance };
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1uZWFyZXN0LWNvb3JkaW5hdGUtYnkteC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi1saW5lLWFsaWdubWVudC9kb21haW4vZmluZC1uZWFyZXN0LWNvb3JkaW5hdGUtYnkteC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFFM0IsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFFBQWlCLEVBQUUsTUFBYTtJQUN2RSxJQUFJLE9BQTJCLENBQUM7SUFDaEMsSUFBSSxXQUErQixDQUFDO0lBRXBDLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFO1FBQzlCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzlDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDOUUsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDaEUsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkYsSUFDSSxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksZUFBZTtZQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksZUFBZTtZQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLElBQUksZUFBZTtZQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksZUFBZTtZQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksZUFBZSxFQUNqRDtZQUNBLElBQUksV0FBVyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDdkYsV0FBVyxHQUFHLG9CQUFvQixDQUFDO2dCQUNuQyxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7YUFDbkM7WUFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN0RCxXQUFXLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQy9CLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ3JCO1lBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDeEQsV0FBVyxHQUFHLGtCQUFrQixDQUFDO2dCQUNqQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDdkQsV0FBVyxHQUFHLGlCQUFpQixDQUFDO2dCQUNoQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDdkQsV0FBVyxHQUFHLGlCQUFpQixDQUFDO2dCQUNoQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUNyQjtTQUNGO0tBQ0Y7SUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElOZWFyZXN0Q29vcmRpbmF0ZVJlc3VsdCB9IGZyb20gJy4vaS1uZWFyZXN0LWNvb3JkaW5hdGUtcmVzdWx0JztcblxuY29uc3QgQUxJR05fVEhSRVNIT0xEID0gMTA7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTmVhcmVzdENvb3JkaW5hdGVCeVgoZWxlbWVudHM6IElSZWN0W10sIHRhcmdldDogSVJlY3QpOiBJTmVhcmVzdENvb3JkaW5hdGVSZXN1bHQge1xuICBsZXQgbmVhcmVzdDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBsZXQgbWluRGlzdGFuY2U6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgZWxlbWVudHMpIHtcbiAgICBjb25zdCBkaXN0YW5jZUxlZnRMZWZ0ID0gdGFyZ2V0LnggLSBlbGVtZW50Lng7XG4gICAgY29uc3QgZGlzdGFuY2VMZWZ0UmlnaHQgPSB0YXJnZXQueCAtIChlbGVtZW50LnggKyBlbGVtZW50LndpZHRoKTtcbiAgICBjb25zdCBkaXN0YW5jZUNlbnRlckNlbnRlciA9IHRhcmdldC5ncmF2aXR5Q2VudGVyLnggLSBlbGVtZW50LmdyYXZpdHlDZW50ZXIueDtcbiAgICBjb25zdCBkaXN0YW5jZVJpZ2h0TGVmdCA9ICh0YXJnZXQueCArIHRhcmdldC53aWR0aCkgLSBlbGVtZW50Lng7XG4gICAgY29uc3QgZGlzdGFuY2VSaWdodFJpZ2h0ID0gKHRhcmdldC54ICsgdGFyZ2V0LndpZHRoKSAtIChlbGVtZW50LnggKyBlbGVtZW50LndpZHRoKTtcblxuICAgIGlmIChcbiAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VMZWZ0TGVmdCkgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgIE1hdGguYWJzKGRpc3RhbmNlTGVmdFJpZ2h0KSA8PSBBTElHTl9USFJFU0hPTEQgfHxcbiAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VDZW50ZXJDZW50ZXIpIDw9IEFMSUdOX1RIUkVTSE9MRCB8fFxuICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVJpZ2h0TGVmdCkgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgIE1hdGguYWJzKGRpc3RhbmNlUmlnaHRSaWdodCkgPD0gQUxJR05fVEhSRVNIT0xEXG4gICAgKSB7XG4gICAgICBpZiAobWluRGlzdGFuY2UgPT09IHVuZGVmaW5lZCB8fCBNYXRoLmFicyhkaXN0YW5jZUNlbnRlckNlbnRlcikgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZUNlbnRlckNlbnRlcjtcbiAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQuZ3Jhdml0eUNlbnRlci54O1xuICAgICAgfVxuICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlTGVmdExlZnQpIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VMZWZ0TGVmdDtcbiAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueDtcbiAgICAgIH1cbiAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZVJpZ2h0UmlnaHQpIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VSaWdodFJpZ2h0O1xuICAgICAgICBuZWFyZXN0ID0gZWxlbWVudC54ICsgZWxlbWVudC53aWR0aDtcbiAgICAgIH1cbiAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZUxlZnRSaWdodCkgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZUxlZnRSaWdodDtcbiAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueCArIGVsZW1lbnQud2lkdGg7XG4gICAgICB9XG4gICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2VSaWdodExlZnQpIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VSaWdodExlZnQ7XG4gICAgICAgIG5lYXJlc3QgPSBlbGVtZW50Lng7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB7IHZhbHVlOiBuZWFyZXN0LCBkaXN0YW5jZTogbWluRGlzdGFuY2UgfTtcbn1cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ const ALIGN_THRESHOLD = 10;
2
+ export function findNearestCoordinateByY(elements, target) {
3
+ let nearest;
4
+ let minDistance;
5
+ for (const element of elements) {
6
+ const distanceTopTop = target.y - element.y;
7
+ const distanceTopBottom = target.y - (element.y + element.height);
8
+ const distanceCenterCenter = target.gravityCenter.y - element.gravityCenter.y;
9
+ const distanceBottomTop = (target.y + target.height) - element.y;
10
+ const distanceBottomBottom = (target.y + target.height) - (element.y + element.height);
11
+ if (Math.abs(distanceTopTop) <= ALIGN_THRESHOLD ||
12
+ Math.abs(distanceTopBottom) <= ALIGN_THRESHOLD ||
13
+ Math.abs(distanceCenterCenter) <= ALIGN_THRESHOLD ||
14
+ Math.abs(distanceBottomTop) <= ALIGN_THRESHOLD ||
15
+ Math.abs(distanceBottomBottom) <= ALIGN_THRESHOLD) {
16
+ if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
17
+ minDistance = distanceCenterCenter;
18
+ nearest = element.gravityCenter.y;
19
+ }
20
+ if (Math.abs(distanceTopTop) < Math.abs(minDistance)) {
21
+ minDistance = distanceTopTop;
22
+ nearest = element.y;
23
+ }
24
+ if (Math.abs(distanceBottomBottom) < Math.abs(minDistance)) {
25
+ minDistance = distanceBottomBottom;
26
+ nearest = element.y + element.height;
27
+ }
28
+ if (Math.abs(distanceTopBottom) < Math.abs(minDistance)) {
29
+ minDistance = distanceTopBottom;
30
+ nearest = element.y + element.height;
31
+ }
32
+ if (Math.abs(distanceBottomTop) < Math.abs(minDistance)) {
33
+ minDistance = distanceBottomTop;
34
+ nearest = element.y;
35
+ }
36
+ }
37
+ }
38
+ return { value: nearest, distance: minDistance };
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1uZWFyZXN0LWNvb3JkaW5hdGUtYnkteS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi1saW5lLWFsaWdubWVudC9kb21haW4vZmluZC1uZWFyZXN0LWNvb3JkaW5hdGUtYnkteS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFFM0IsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFFBQWlCLEVBQUUsTUFBYTtJQUN2RSxJQUFJLE9BQTJCLENBQUM7SUFDaEMsSUFBSSxXQUErQixDQUFDO0lBRXBDLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFO1FBQzlCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM1QyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRSxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQzlFLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXZGLElBQ0ksSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxlQUFlO1lBQzNDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxlQUFlO1lBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsSUFBSSxlQUFlO1lBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxlQUFlO1lBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsSUFBSSxlQUFlLEVBQ25EO1lBQ0EsSUFBSSxXQUFXLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN2RixXQUFXLEdBQUcsb0JBQW9CLENBQUM7Z0JBQ25DLE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzthQUNuQztZQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNwRCxXQUFXLEdBQUcsY0FBYyxDQUFDO2dCQUM3QixPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUNyQjtZQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzFELFdBQVcsR0FBRyxvQkFBb0IsQ0FBQztnQkFDbkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQzthQUN0QztZQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3ZELFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztnQkFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQzthQUN0QztZQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3ZELFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztnQkFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDckI7U0FDRjtLQUNGO0lBRUQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJTmVhcmVzdENvb3JkaW5hdGVSZXN1bHQgfSBmcm9tICcuL2ktbmVhcmVzdC1jb29yZGluYXRlLXJlc3VsdCc7XG5cbmNvbnN0IEFMSUdOX1RIUkVTSE9MRCA9IDEwO1xuXG5leHBvcnQgZnVuY3Rpb24gZmluZE5lYXJlc3RDb29yZGluYXRlQnlZKGVsZW1lbnRzOiBJUmVjdFtdLCB0YXJnZXQ6IElSZWN0KTogSU5lYXJlc3RDb29yZGluYXRlUmVzdWx0IHtcbiAgbGV0IG5lYXJlc3Q6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgbGV0IG1pbkRpc3RhbmNlOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgZm9yIChjb25zdCBlbGVtZW50IG9mIGVsZW1lbnRzKSB7XG4gICAgY29uc3QgZGlzdGFuY2VUb3BUb3AgPSB0YXJnZXQueSAtIGVsZW1lbnQueTtcbiAgICBjb25zdCBkaXN0YW5jZVRvcEJvdHRvbSA9IHRhcmdldC55IC0gKGVsZW1lbnQueSArIGVsZW1lbnQuaGVpZ2h0KTtcbiAgICBjb25zdCBkaXN0YW5jZUNlbnRlckNlbnRlciA9IHRhcmdldC5ncmF2aXR5Q2VudGVyLnkgLSBlbGVtZW50LmdyYXZpdHlDZW50ZXIueTtcbiAgICBjb25zdCBkaXN0YW5jZUJvdHRvbVRvcCA9ICh0YXJnZXQueSArIHRhcmdldC5oZWlnaHQpIC0gZWxlbWVudC55O1xuICAgIGNvbnN0IGRpc3RhbmNlQm90dG9tQm90dG9tID0gKHRhcmdldC55ICsgdGFyZ2V0LmhlaWdodCkgLSAoZWxlbWVudC55ICsgZWxlbWVudC5oZWlnaHQpO1xuXG4gICAgaWYgKFxuICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVRvcFRvcCkgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgIE1hdGguYWJzKGRpc3RhbmNlVG9wQm90dG9tKSA8PSBBTElHTl9USFJFU0hPTEQgfHxcbiAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VDZW50ZXJDZW50ZXIpIDw9IEFMSUdOX1RIUkVTSE9MRCB8fFxuICAgICAgICBNYXRoLmFicyhkaXN0YW5jZUJvdHRvbVRvcCkgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgIE1hdGguYWJzKGRpc3RhbmNlQm90dG9tQm90dG9tKSA8PSBBTElHTl9USFJFU0hPTERcbiAgICApIHtcbiAgICAgIGlmIChtaW5EaXN0YW5jZSA9PT0gdW5kZWZpbmVkIHx8IE1hdGguYWJzKGRpc3RhbmNlQ2VudGVyQ2VudGVyKSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlQ2VudGVyQ2VudGVyO1xuICAgICAgICBuZWFyZXN0ID0gZWxlbWVudC5ncmF2aXR5Q2VudGVyLnk7XG4gICAgICB9XG4gICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2VUb3BUb3ApIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VUb3BUb3A7XG4gICAgICAgIG5lYXJlc3QgPSBlbGVtZW50Lnk7XG4gICAgICB9XG4gICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2VCb3R0b21Cb3R0b20pIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VCb3R0b21Cb3R0b207XG4gICAgICAgIG5lYXJlc3QgPSBlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodDtcbiAgICAgIH1cbiAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZVRvcEJvdHRvbSkgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZVRvcEJvdHRvbTtcbiAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueSArIGVsZW1lbnQuaGVpZ2h0O1xuICAgICAgfVxuICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlQm90dG9tVG9wKSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlQm90dG9tVG9wO1xuICAgICAgICBuZWFyZXN0ID0gZWxlbWVudC55O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IHZhbHVlOiBuZWFyZXN0LCBkaXN0YW5jZTogbWluRGlzdGFuY2UgfTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1saW5lLWFsaWdubWVudC1yZXN1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtbGluZS1hbGlnbm1lbnQvZG9tYWluL2ktbGluZS1hbGlnbm1lbnQtcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTmVhcmVzdENvb3JkaW5hdGVSZXN1bHQgfSBmcm9tICcuL2ktbmVhcmVzdC1jb29yZGluYXRlLXJlc3VsdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpbmVBbGlnbm1lbnRSZXN1bHQge1xuXG4gIHhSZXN1bHQ6IElOZWFyZXN0Q29vcmRpbmF0ZVJlc3VsdDtcblxuICB5UmVzdWx0OiBJTmVhcmVzdENvb3JkaW5hdGVSZXN1bHQ7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1uZWFyZXN0LWNvb3JkaW5hdGUtcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9saWIvZGlyZWN0aXZlcy9mLWxpbmUtYWxpZ25tZW50L2RvbWFpbi9pLW5lYXJlc3QtY29vcmRpbmF0ZS1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSU5lYXJlc3RDb29yZGluYXRlUmVzdWx0IHtcblxuICB2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIGRpc3RhbmNlOiBudW1iZXIgfCB1bmRlZmluZWQ7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './find-nearest-coordinate-by-x';
2
+ export * from './find-nearest-coordinate-by-y';
3
+ export * from './i-line-alignment-result';
4
+ export * from './i-nearest-coordinate-result';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtbGluZS1hbGlnbm1lbnQvZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbmQtbmVhcmVzdC1jb29yZGluYXRlLWJ5LXgnO1xuZXhwb3J0ICogZnJvbSAnLi9maW5kLW5lYXJlc3QtY29vcmRpbmF0ZS1ieS15JztcbmV4cG9ydCAqIGZyb20gJy4vaS1saW5lLWFsaWdubWVudC1yZXN1bHQnO1xuZXhwb3J0ICogZnJvbSAnLi9pLW5lYXJlc3QtY29vcmRpbmF0ZS1yZXN1bHQnO1xuIl19
@@ -0,0 +1,105 @@
1
+ import { Directive, Inject, InjectionToken } from '@angular/core';
2
+ import { LineFElement, RectExtensions, SizeExtensions } from '@foblex/core';
3
+ import { F_FLOW_COMPONENT, getElementRectInCanvas } from '../../components';
4
+ import { findNearestCoordinateByX, findNearestCoordinateByY } from './domain';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../components";
7
+ export const F_LINE_ALIGNMENT = new InjectionToken('F_LINE_ALIGNMENT');
8
+ export class FLineAlignmentDirective {
9
+ get hostElement() {
10
+ return this.elementReference.nativeElement;
11
+ }
12
+ get transform() {
13
+ return this.fFlow.fItemsContainer.transform;
14
+ }
15
+ constructor(fFlow, elementReference) {
16
+ this.fFlow = fFlow;
17
+ this.elementReference = elementReference;
18
+ this.fHorizontalLine = new LineFElement();
19
+ this.fVerticalLine = new LineFElement();
20
+ this.size = SizeExtensions.initialize();
21
+ this.draggedNodeRect = RectExtensions.initialize();
22
+ this.rects = [];
23
+ this.hostElement.appendChild(this.fHorizontalLine.hostElement);
24
+ this.hostElement.appendChild(this.fVerticalLine.hostElement);
25
+ }
26
+ initialize(allNodes, currentNodes) {
27
+ this.size = this.fFlow.hostElement.getBoundingClientRect();
28
+ this.rects = [];
29
+ const draggedNodeRects = currentNodes.map((x) => {
30
+ return getElementRectInCanvas(x.hostElement, this.transform, this.fFlow.hostElement);
31
+ });
32
+ this.draggedNodeRect = RectExtensions.union(draggedNodeRects);
33
+ const allNodesExcludeCurrents = allNodes.filter((x) => {
34
+ return !currentNodes.includes(x);
35
+ });
36
+ this.rects = allNodesExcludeCurrents.map((x) => {
37
+ return getElementRectInCanvas(x.hostElement, this.transform, this.fFlow.hostElement);
38
+ });
39
+ }
40
+ handle(difference) {
41
+ this.drawIntersections(difference);
42
+ }
43
+ drawIntersections(difference) {
44
+ const intersect = this.findNearestCoordinate(difference);
45
+ if (intersect.xResult.value !== undefined) {
46
+ this.fVerticalLine.show();
47
+ this.fVerticalLine.draw({
48
+ x1: intersect.xResult.value * this.transform.scale + this.transform.position.x + this.transform.scaledPosition.x,
49
+ x2: intersect.xResult.value * this.transform.scale + this.transform.position.x + this.transform.scaledPosition.x,
50
+ y1: 0,
51
+ y2: this.size.height
52
+ });
53
+ }
54
+ else {
55
+ this.fVerticalLine.hide();
56
+ }
57
+ if (intersect.yResult.value !== undefined) {
58
+ this.fHorizontalLine.show();
59
+ this.fHorizontalLine.draw({
60
+ x1: 0,
61
+ x2: this.size.width,
62
+ y1: intersect.yResult.value * this.transform.scale + this.transform.position.y + this.transform.scaledPosition.y,
63
+ y2: intersect.yResult.value * this.transform.scale + this.transform.position.y + this.transform.scaledPosition.y,
64
+ });
65
+ }
66
+ else {
67
+ this.fHorizontalLine.hide();
68
+ }
69
+ }
70
+ findNearestCoordinate(difference) {
71
+ let result = {
72
+ xResult: { value: undefined, distance: undefined },
73
+ yResult: { value: undefined, distance: undefined }
74
+ };
75
+ const rect = RectExtensions.addPoint(this.draggedNodeRect, difference);
76
+ const xResult = findNearestCoordinateByX(this.rects, rect);
77
+ const yResult = findNearestCoordinateByY(this.rects, rect);
78
+ result = { xResult, yResult };
79
+ return result;
80
+ }
81
+ complete() {
82
+ this.fVerticalLine.hide();
83
+ this.fHorizontalLine.hide();
84
+ }
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FLineAlignmentDirective, deps: [{ token: F_FLOW_COMPONENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
86
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.4", type: FLineAlignmentDirective, selector: "g[fLineAlignment]", host: { classAttribute: "f-line-alignment f-component" }, providers: [
87
+ { provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentDirective }
88
+ ], ngImport: i0 }); }
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FLineAlignmentDirective, decorators: [{
91
+ type: Directive,
92
+ args: [{
93
+ selector: "g[fLineAlignment]",
94
+ host: {
95
+ 'class': 'f-line-alignment f-component'
96
+ },
97
+ providers: [
98
+ { provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentDirective }
99
+ ],
100
+ }]
101
+ }], ctorParameters: function () { return [{ type: i1.FFlowBase, decorators: [{
102
+ type: Inject,
103
+ args: [F_FLOW_COMPONENT]
104
+ }] }, { type: i0.ElementRef }]; } });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtbGluZS1hbGlnbm1lbnQvZi1saW5lLWFsaWdubWVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBeUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkgsT0FBTyxFQUFFLGdCQUFnQixFQUF3QixzQkFBc0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBd0IsTUFBTSxVQUFVLENBQUM7OztBQUVwRyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBMEIsa0JBQWtCLENBQUMsQ0FBQztBQVdoRyxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLElBQVksV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQVlELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsWUFDb0MsS0FBZ0IsRUFDMUMsZ0JBQXlDO1FBRGYsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUMxQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBaEIzQyxvQkFBZSxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5ELGtCQUFhLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFakQsU0FBSSxHQUFVLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUUxQyxvQkFBZSxHQUFV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YixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0ExRlUsdUJBQXVCLGtCQXFCeEIsZ0JBQWdCO2tHQXJCZix1QkFBdUIsc0dBSnZCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFO1NBQ3BFOzsyRkFFVSx1QkFBdUI7a0JBVG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsSUFBSSxFQUFFO3dCQUNKLE9BQU8sRUFBRSw4QkFBOEI7cUJBQ3hDO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLHlCQUF5QixFQUFFO3FCQUNwRTtpQkFDRjs7MEJBc0JJLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBJU2l6ZSwgSVRyYW5zZm9ybU1vZGVsLCBMaW5lRkVsZW1lbnQsIFJlY3RFeHRlbnNpb25zLCBTaXplRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGX0ZMT1dfQ09NUE9ORU5ULCBGRmxvd0Jhc2UsIEZOb2RlQmFzZSwgZ2V0RWxlbWVudFJlY3RJbkNhbnZhcyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgZmluZE5lYXJlc3RDb29yZGluYXRlQnlYLCBmaW5kTmVhcmVzdENvb3JkaW5hdGVCeVksIElMaW5lQWxpZ25tZW50UmVzdWx0IH0gZnJvbSAnLi9kb21haW4nO1xuXG5leHBvcnQgY29uc3QgRl9MSU5FX0FMSUdOTUVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGTGluZUFsaWdubWVudERpcmVjdGl2ZT4oJ0ZfTElORV9BTElHTk1FTlQnKTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcImdbZkxpbmVBbGlnbm1lbnRdXCIsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1saW5lLWFsaWdubWVudCBmLWNvbXBvbmVudCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0xJTkVfQUxJR05NRU5ULCB1c2VFeGlzdGluZzogRkxpbmVBbGlnbm1lbnREaXJlY3RpdmUgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTGluZUFsaWdubWVudERpcmVjdGl2ZSB7XG5cbiAgcHJpdmF0ZSBnZXQgaG9zdEVsZW1lbnQoKTogU1ZHR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZkhvcml6b250YWxMaW5lOiBMaW5lRkVsZW1lbnQgPSBuZXcgTGluZUZFbGVtZW50KCk7XG5cbiAgcHJpdmF0ZSBmVmVydGljYWxMaW5lOiBMaW5lRkVsZW1lbnQgPSBuZXcgTGluZUZFbGVtZW50KCk7XG5cbiAgcHJpdmF0ZSBzaXplOiBJU2l6ZSA9IFNpemVFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcml2YXRlIGRyYWdnZWROb2RlUmVjdDogSVJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHJpdmF0ZSByZWN0czogSVJlY3RbXSA9IFtdO1xuXG4gIHByaXZhdGUgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmZGbG93LmZJdGVtc0NvbnRhaW5lci50cmFuc2Zvcm07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZfRkxPV19DT01QT05FTlQpIHByaXZhdGUgZkZsb3c6IEZGbG93QmFzZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8U1ZHR0VsZW1lbnQ+XG4gICkge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5mSG9yaXpvbnRhbExpbmUuaG9zdEVsZW1lbnQpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5mVmVydGljYWxMaW5lLmhvc3RFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKGFsbE5vZGVzOiBGTm9kZUJhc2VbXSwgY3VycmVudE5vZGVzOiBGTm9kZUJhc2VbXSk6IHZvaWQge1xuICAgIHRoaXMuc2l6ZSA9IHRoaXMuZkZsb3cuaG9zdEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdGhpcy5yZWN0cyA9IFtdO1xuICAgIGNvbnN0IGRyYWdnZWROb2RlUmVjdHMgPSBjdXJyZW50Tm9kZXMubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4gZ2V0RWxlbWVudFJlY3RJbkNhbnZhcyh4Lmhvc3RFbGVtZW50LCB0aGlzLnRyYW5zZm9ybSwgdGhpcy5mRmxvdy5ob3N0RWxlbWVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5kcmFnZ2VkTm9kZVJlY3QgPSBSZWN0RXh0ZW5zaW9ucy51bmlvbihkcmFnZ2VkTm9kZVJlY3RzKTtcblxuICAgIGNvbnN0IGFsbE5vZGVzRXhjbHVkZUN1cnJlbnRzID0gYWxsTm9kZXMuZmlsdGVyKCh4KSA9PiB7XG4gICAgICByZXR1cm4gIWN1cnJlbnROb2Rlcy5pbmNsdWRlcyh4KTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVjdHMgPSBhbGxOb2Rlc0V4Y2x1ZGVDdXJyZW50cy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiBnZXRFbGVtZW50UmVjdEluQ2FudmFzKHguaG9zdEVsZW1lbnQsIHRoaXMudHJhbnNmb3JtLCB0aGlzLmZGbG93Lmhvc3RFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5kcmF3SW50ZXJzZWN0aW9ucyhkaWZmZXJlbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhd0ludGVyc2VjdGlvbnMoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgaW50ZXJzZWN0ID0gdGhpcy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gICAgaWYgKGludGVyc2VjdC54UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZlZlcnRpY2FsTGluZS5zaG93KCk7XG4gICAgICB0aGlzLmZWZXJ0aWNhbExpbmUuZHJhdyh7XG4gICAgICAgIHgxOiBpbnRlcnNlY3QueFJlc3VsdC52YWx1ZSAqIHRoaXMudHJhbnNmb3JtLnNjYWxlICsgdGhpcy50cmFuc2Zvcm0ucG9zaXRpb24ueCArIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLngsXG4gICAgICAgIHgyOiBpbnRlcnNlY3QueFJlc3VsdC52YWx1ZSAqIHRoaXMudHJhbnNmb3JtLnNjYWxlICsgdGhpcy50cmFuc2Zvcm0ucG9zaXRpb24ueCArIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLngsXG4gICAgICAgIHkxOiAwLFxuICAgICAgICB5MjogdGhpcy5zaXplLmhlaWdodFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZlZlcnRpY2FsTGluZS5oaWRlKCk7XG4gICAgfVxuICAgIGlmIChpbnRlcnNlY3QueVJlc3VsdC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmZIb3Jpem9udGFsTGluZS5zaG93KCk7XG4gICAgICB0aGlzLmZIb3Jpem9udGFsTGluZS5kcmF3KHtcbiAgICAgICAgeDE6IDAsXG4gICAgICAgIHgyOiB0aGlzLnNpemUud2lkdGgsXG4gICAgICAgIHkxOiBpbnRlcnNlY3QueVJlc3VsdC52YWx1ZSAqIHRoaXMudHJhbnNmb3JtLnNjYWxlICsgdGhpcy50cmFuc2Zvcm0ucG9zaXRpb24ueSArIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLnksXG4gICAgICAgIHkyOiBpbnRlcnNlY3QueVJlc3VsdC52YWx1ZSAqIHRoaXMudHJhbnNmb3JtLnNjYWxlICsgdGhpcy50cmFuc2Zvcm0ucG9zaXRpb24ueSArIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLnksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mSG9yaXpvbnRhbExpbmUuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmVBbGlnbm1lbnRSZXN1bHQge1xuICAgIGxldCByZXN1bHQ6IElMaW5lQWxpZ25tZW50UmVzdWx0ID0ge1xuICAgICAgeFJlc3VsdDogeyB2YWx1ZTogdW5kZWZpbmVkLCBkaXN0YW5jZTogdW5kZWZpbmVkIH0sXG4gICAgICB5UmVzdWx0OiB7IHZhbHVlOiB1bmRlZmluZWQsIGRpc3RhbmNlOiB1bmRlZmluZWQgfVxuICAgIH07XG4gICAgY29uc3QgcmVjdCA9IFJlY3RFeHRlbnNpb25zLmFkZFBvaW50KHRoaXMuZHJhZ2dlZE5vZGVSZWN0LCBkaWZmZXJlbmNlKTtcbiAgICBjb25zdCB4UmVzdWx0ID0gZmluZE5lYXJlc3RDb29yZGluYXRlQnlYKHRoaXMucmVjdHMsIHJlY3QpO1xuICAgIGNvbnN0IHlSZXN1bHQgPSBmaW5kTmVhcmVzdENvb3JkaW5hdGVCeVkodGhpcy5yZWN0cywgcmVjdCk7XG4gICAgcmVzdWx0ID0geyB4UmVzdWx0LCB5UmVzdWx0IH07XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBjb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZWZXJ0aWNhbExpbmUuaGlkZSgpO1xuICAgIHRoaXMuZkhvcml6b250YWxMaW5lLmhpZGUoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './domain';
2
+ export * from './f-line-alignment.directive';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtbGluZS1hbGlnbm1lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG9tYWluJztcbmV4cG9ydCAqIGZyb20gJy4vZi1saW5lLWFsaWdubWVudC5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './f-line-alignment.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi1saW5lLWFsaWdubWVudC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtbGluZS1hbGlnbm1lbnQuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { Directive, InjectionToken } from '@angular/core';
2
+ import { RectFElement } from '@foblex/core';
3
+ import * as i0 from "@angular/core";
4
+ export const F_SELECTION = new InjectionToken('F_SELECTION');
5
+ export class FSelectionDirective {
6
+ get hostElement() {
7
+ return this.elementReference.nativeElement;
8
+ }
9
+ constructor(elementReference) {
10
+ this.elementReference = elementReference;
11
+ this.fElement = new RectFElement();
12
+ this.hostElement.appendChild(this.fElement.hostElement);
13
+ }
14
+ hide() {
15
+ this.fElement.hide();
16
+ }
17
+ show() {
18
+ this.fElement.show();
19
+ }
20
+ draw(object) {
21
+ this.fElement.draw(object);
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FSelectionDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
24
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.4", type: FSelectionDirective, selector: "g[fSelection]", host: { classAttribute: "f-selection f-component" }, providers: [
25
+ { provide: F_SELECTION, useExisting: FSelectionDirective }
26
+ ], ngImport: i0 }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FSelectionDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: "g[fSelection]",
32
+ host: {
33
+ 'class': 'f-selection f-component'
34
+ },
35
+ providers: [
36
+ { provide: F_SELECTION, useExisting: FSelectionDirective }
37
+ ],
38
+ }]
39
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9saWIvZGlyZWN0aXZlcy9mLXNlbGVjdGlvbi9mLXNlbGVjdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFxQixZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRS9ELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBc0IsYUFBYSxDQUFDLENBQUM7QUFXbEYsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixJQUFZLFdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFJRCxZQUNZLGdCQUF5QztRQUF6QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBSDdDLGFBQVEsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUtsRCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLElBQUksQ0FBQyxNQUFrQztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDOzhHQXhCVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw2RkFKbkI7WUFDVCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1NBQzNEOzsyRkFFVSxtQkFBbUI7a0JBVC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLElBQUksRUFBRTt3QkFDSixPQUFPLEVBQUUseUJBQXlCO3FCQUNuQztvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcscUJBQXFCLEVBQUU7cUJBQzNEO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVJlY3RFbGVtZW50TW9kZWwsIFJlY3RGRWxlbWVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBGX1NFTEVDVElPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGU2VsZWN0aW9uRGlyZWN0aXZlPignRl9TRUxFQ1RJT04nKTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcImdbZlNlbGVjdGlvbl1cIixcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLXNlbGVjdGlvbiBmLWNvbXBvbmVudCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX1NFTEVDVElPTiwgdXNlRXhpc3Rpbmc6IEZTZWxlY3Rpb25EaXJlY3RpdmUgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGU2VsZWN0aW9uRGlyZWN0aXZlIHtcblxuICBwcml2YXRlIGdldCBob3N0RWxlbWVudCgpOiBTVkdHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBmRWxlbWVudDogUmVjdEZFbGVtZW50ID0gbmV3IFJlY3RGRWxlbWVudCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPFNWR0dFbGVtZW50PlxuICApIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuZkVsZW1lbnQuaG9zdEVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5mRWxlbWVudC5oaWRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLmZFbGVtZW50LnNob3coKTtcbiAgfVxuXG4gIHB1YmxpYyBkcmF3KG9iamVjdDogUGFydGlhbDxJUmVjdEVsZW1lbnRNb2RlbD4pOiB2b2lkIHtcbiAgICB0aGlzLmZFbGVtZW50LmRyYXcob2JqZWN0KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './f-selection.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2Ytc2VsZWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Ytc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './f-selection.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi1zZWxlY3Rpb24vcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbi5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,87 @@
1
+ import { EventExtensions, Point, RectExtensions } from '@foblex/core';
2
+ import { InjectionToken } from '@angular/core';
3
+ export const F_ZOOM = new InjectionToken('F_ZOOM');
4
+ export class FZoomBase {
5
+ constructor(fItemsContainer, fDnd, fCanvas) {
6
+ this.fItemsContainer = fItemsContainer;
7
+ this.fDnd = fDnd;
8
+ this.fCanvas = fCanvas;
9
+ this.isEnabled = false;
10
+ this.minimum = 0.3;
11
+ this.maximum = 4;
12
+ this.step = 1.1;
13
+ this.listeners = EventExtensions.emptyListener();
14
+ }
15
+ toggleZoom() {
16
+ if (this.isEnabled && this.fCanvas.hostElement) {
17
+ this.subscribe();
18
+ }
19
+ else {
20
+ this.unsubscribe();
21
+ }
22
+ }
23
+ subscribe() {
24
+ this.listeners();
25
+ this.fCanvas.hostElement.addEventListener('wheel', this.onWheel.bind(this));
26
+ this.fCanvas.hostElement.addEventListener('dblclick', this.onDoubleClick.bind(this));
27
+ this.listeners = () => {
28
+ this.fCanvas.hostElement.removeEventListener('wheel', this.onWheel.bind(this));
29
+ this.fCanvas.hostElement.removeEventListener('dblclick', this.onDoubleClick.bind(this));
30
+ };
31
+ }
32
+ getScale() {
33
+ return this.fItemsContainer.transform.scale || 1;
34
+ }
35
+ onWheel(event) {
36
+ event.preventDefault();
37
+ if (this.fDnd.isDragStarted) {
38
+ return;
39
+ }
40
+ let result = this.getScale();
41
+ if (event.deltaY > 0) {
42
+ if (this.getScale() / this.step >= this.minimum) {
43
+ result = this.getScale() / this.step;
44
+ }
45
+ }
46
+ else if (event.deltaY < 0) {
47
+ if (this.getScale() * this.step <= this.maximum) {
48
+ result = this.getScale() * this.step;
49
+ }
50
+ }
51
+ const pointerPositionInCanvas = new Point(event.clientX, event.clientY).matrixTransform(this.fCanvas.hostElement);
52
+ this.fItemsContainer.setZoom(result, pointerPositionInCanvas);
53
+ this.fItemsContainer.redraw();
54
+ this.fItemsContainer.completeDrag();
55
+ }
56
+ onZoomToCenter(deltaY) {
57
+ const preventDefault = () => { };
58
+ const rect = RectExtensions.fromElement(this.fCanvas.hostElement);
59
+ this.onWheel({
60
+ deltaY, preventDefault, clientX: rect.gravityCenter.x, clientY: rect.gravityCenter.y
61
+ });
62
+ }
63
+ onDoubleClick(event) {
64
+ event.preventDefault();
65
+ if (this.fDnd.isDragStarted) {
66
+ return;
67
+ }
68
+ let result = this.getScale();
69
+ if (this.getScale() * 1.7 <= this.maximum) {
70
+ result = this.getScale() * 1.7;
71
+ }
72
+ const pointerPositionInCanvas = new Point(event.clientX, event.clientY).matrixTransform(this.fCanvas.hostElement);
73
+ this.fItemsContainer.setZoom(result, pointerPositionInCanvas);
74
+ this.fItemsContainer.redrawWithAnimation();
75
+ this.fItemsContainer.completeDrag();
76
+ }
77
+ reset() {
78
+ this.fItemsContainer.resetZoom();
79
+ this.fItemsContainer.redraw();
80
+ this.fItemsContainer.completeDrag();
81
+ }
82
+ unsubscribe() {
83
+ this.listeners();
84
+ this.listeners = EventExtensions.emptyListener();
85
+ }
86
+ }
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi16b29tLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2Ytem9vbS9mLXpvb20tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVksUUFBUSxDQUFDLENBQUM7QUFFOUQsTUFBTSxPQUFnQixTQUFTO0lBVzdCLFlBQ1UsZUFBb0MsRUFDcEMsSUFBb0IsRUFDcEIsT0FBb0I7UUFGcEIsb0JBQWUsR0FBZixlQUFlLENBQXFCO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQ3BCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFacEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUU3QixZQUFPLEdBQVcsR0FBRyxDQUFDO1FBQ3RCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFFcEIsU0FBSSxHQUFXLEdBQUcsQ0FBQztRQUVuQixjQUFTLEdBQWEsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBTzlELENBQUM7SUFFUyxVQUFVO1FBQ2xCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUM5QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxD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RyxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN6QyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQztTQUNoQztRQUNELE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRVMsV0FBVztRQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFeHRlbnNpb25zLCBQb2ludCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDYW52YXNCYXNlIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgRkl0ZW1zQ29udGFpbmVyQmFzZSB9IGZyb20gJy4uL2YtY29udGFpbmVycyc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4uL2YtZHJhZ2dhYmxlJztcblxuZXhwb3J0IGNvbnN0IEZfWk9PTSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGWm9vbUJhc2U+KCdGX1pPT00nKTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZab29tQmFzZSB7XG5cbiAgcHJvdGVjdGVkIGlzRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgbWluaW11bTogbnVtYmVyID0gMC4zO1xuICBwcml2YXRlIG1heGltdW06IG51bWJlciA9IDQ7XG5cbiAgcHJpdmF0ZSBzdGVwOiBudW1iZXIgPSAxLjE7XG5cbiAgcHJpdmF0ZSBsaXN0ZW5lcnM6IEZ1bmN0aW9uID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmSXRlbXNDb250YWluZXI6IEZJdGVtc0NvbnRhaW5lckJhc2UsXG4gICAgcHJpdmF0ZSBmRG5kOiBGRHJhZ2dhYmxlQmFzZSxcbiAgICBwcml2YXRlIGZDYW52YXM6IEZDYW52YXNCYXNlLFxuICApIHtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVab29tKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRW5hYmxlZCAmJiB0aGlzLmZDYW52YXMuaG9zdEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZSgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbmVycygpO1xuXG4gICAgdGhpcy5mQ2FudmFzLmhvc3RFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3doZWVsJywgdGhpcy5vbldoZWVsLmJpbmQodGhpcykpO1xuICAgIHRoaXMuZkNhbnZhcy5ob3N0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdkYmxjbGljaycsIHRoaXMub25Eb3VibGVDbGljay5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmxpc3RlbmVycyA9ICgpID0+IHtcbiAgICAgIHRoaXMuZkNhbnZhcy5ob3N0RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd3aGVlbCcsIHRoaXMub25XaGVlbC5iaW5kKHRoaXMpKTtcbiAgICAgIHRoaXMuZkNhbnZhcy5ob3N0RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdkYmxjbGljaycsIHRoaXMub25Eb3VibGVDbGljay5iaW5kKHRoaXMpKTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldFNjYWxlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZkl0ZW1zQ29udGFpbmVyLnRyYW5zZm9ybS5zY2FsZSB8fCAxO1xuICB9XG5cbiAgcHJpdmF0ZSBvbldoZWVsKGV2ZW50OiBXaGVlbEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGlmKHRoaXMuZkRuZC5pc0RyYWdTdGFydGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHJlc3VsdDogbnVtYmVyID0gdGhpcy5nZXRTY2FsZSgpO1xuXG4gICAgaWYgKGV2ZW50LmRlbHRhWSA+IDApIHtcbiAgICAgIGlmICh0aGlzLmdldFNjYWxlKCkgLyB0aGlzLnN0ZXAgPj0gdGhpcy5taW5pbXVtKSB7XG4gICAgICAgIHJlc3VsdCA9IHRoaXMuZ2V0U2NhbGUoKSAvIHRoaXMuc3RlcDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGV2ZW50LmRlbHRhWSA8IDApIHtcbiAgICAgIGlmICh0aGlzLmdldFNjYWxlKCkgKiB0aGlzLnN0ZXAgPD0gdGhpcy5tYXhpbXVtKSB7XG4gICAgICAgIHJlc3VsdCA9IHRoaXMuZ2V0U2NhbGUoKSAqIHRoaXMuc3RlcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwb2ludGVyUG9zaXRpb25JbkNhbnZhcyA9IG5ldyBQb2ludChldmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKS5tYXRyaXhUcmFuc2Zvcm0odGhpcy5mQ2FudmFzLmhvc3RFbGVtZW50KTtcblxuICAgIHRoaXMuZkl0ZW1zQ29udGFpbmVyLnNldFpvb20ocmVzdWx0LCBwb2ludGVyUG9zaXRpb25JbkNhbnZhcyk7XG4gICAgdGhpcy5mSXRlbXNDb250YWluZXIucmVkcmF3KCk7XG4gICAgdGhpcy5mSXRlbXNDb250YWluZXIuY29tcGxldGVEcmFnKCk7XG4gIH1cblxuICBwdWJsaWMgb25ab29tVG9DZW50ZXIoZGVsdGFZOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2ZW50RGVmYXVsdCA9ICgpID0+IHt9O1xuICAgIGNvbnN0IHJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudCh0aGlzLmZDYW52YXMuaG9zdEVsZW1lbnQpO1xuXG4gICAgdGhpcy5vbldoZWVsKHtcbiAgICAgIGRlbHRhWSwgcHJldmVudERlZmF1bHQsIGNsaWVudFg6IHJlY3QuZ3Jhdml0eUNlbnRlci54LCBjbGllbnRZOiByZWN0LmdyYXZpdHlDZW50ZXIueVxuICAgIH0gYXMgV2hlZWxFdmVudCk7XG4gIH1cblxuICBwcml2YXRlIG9uRG91YmxlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYodGhpcy5mRG5kLmlzRHJhZ1N0YXJ0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0OiBudW1iZXIgPSB0aGlzLmdldFNjYWxlKCk7XG5cbiAgICBpZiAodGhpcy5nZXRTY2FsZSgpICogMS43IDw9IHRoaXMubWF4aW11bSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5nZXRTY2FsZSgpICogMS43O1xuICAgIH1cbiAgICBjb25zdCBwb2ludGVyUG9zaXRpb25JbkNhbnZhcyA9IG5ldyBQb2ludChldmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKS5tYXRyaXhUcmFuc2Zvcm0odGhpcy5mQ2FudmFzLmhvc3RFbGVtZW50KTtcbiAgICB0aGlzLmZJdGVtc0NvbnRhaW5lci5zZXRab29tKHJlc3VsdCwgcG9pbnRlclBvc2l0aW9uSW5DYW52YXMpO1xuICAgIHRoaXMuZkl0ZW1zQ29udGFpbmVyLnJlZHJhd1dpdGhBbmltYXRpb24oKTtcbiAgICB0aGlzLmZJdGVtc0NvbnRhaW5lci5jb21wbGV0ZURyYWcoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmZJdGVtc0NvbnRhaW5lci5yZXNldFpvb20oKTtcbiAgICB0aGlzLmZJdGVtc0NvbnRhaW5lci5yZWRyYXcoKTtcbiAgICB0aGlzLmZJdGVtc0NvbnRhaW5lci5jb21wbGV0ZURyYWcoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1bnN1YnNjcmliZSgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbmVycygpO1xuICAgIHRoaXMubGlzdGVuZXJzID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,57 @@
1
+ import { Directive, Inject, Input } from "@angular/core";
2
+ import { BooleanExtensions } from '@foblex/core';
3
+ import { FZoomBase, F_ZOOM } from './f-zoom-base';
4
+ import { F_ITEMS_CONTAINER } from '../f-containers';
5
+ import { F_CANVAS } from '../../internal';
6
+ import { F_DND_DIRECTIVE } from '../f-draggable';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../f-containers";
9
+ import * as i2 from "../f-draggable";
10
+ import * as i3 from "../../internal";
11
+ export class FZoomDirective extends FZoomBase {
12
+ get fFlowZoom() {
13
+ return this.isEnabled;
14
+ }
15
+ set fFlowZoom(isEnabled) {
16
+ const value = BooleanExtensions.castToBoolean(isEnabled);
17
+ if (value !== this.isEnabled) {
18
+ this.isEnabled = value;
19
+ this.toggleZoom();
20
+ }
21
+ }
22
+ constructor(fItemsContainer, fDnd, fCanvas) {
23
+ super(fItemsContainer, fDnd, fCanvas);
24
+ }
25
+ ngAfterViewInit() {
26
+ super.toggleZoom();
27
+ }
28
+ ngOnDestroy() {
29
+ super.unsubscribe();
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FZoomDirective, deps: [{ token: F_ITEMS_CONTAINER }, { token: F_DND_DIRECTIVE }, { token: F_CANVAS }], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.4", type: FZoomDirective, selector: "g[fZoom]", inputs: { fFlowZoom: ["fZoom", "fFlowZoom"] }, host: { classAttribute: "f-flow-zoom f-component" }, providers: [{ provide: F_ZOOM, useExisting: FZoomDirective }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FZoomDirective, decorators: [{
35
+ type: Directive,
36
+ args: [{
37
+ selector: "g[fZoom]",
38
+ exportAs: 'fComponent',
39
+ host: {
40
+ 'class': 'f-flow-zoom f-component'
41
+ },
42
+ providers: [{ provide: F_ZOOM, useExisting: FZoomDirective }],
43
+ }]
44
+ }], ctorParameters: function () { return [{ type: i1.FItemsContainerBase, decorators: [{
45
+ type: Inject,
46
+ args: [F_ITEMS_CONTAINER]
47
+ }] }, { type: i2.FDraggableBase, decorators: [{
48
+ type: Inject,
49
+ args: [F_DND_DIRECTIVE]
50
+ }] }, { type: i3.FCanvasBase, decorators: [{
51
+ type: Inject,
52
+ args: [F_CANVAS]
53
+ }] }]; }, propDecorators: { fFlowZoom: [{
54
+ type: Input,
55
+ args: ['fZoom']
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi16b29tLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi16b29tL2Ytem9vbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLGdCQUFnQixDQUFDOzs7OztBQVVqRSxNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQVM7SUFFM0MsSUFDVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxTQUFTLENBQUMsU0FBdUM7UUFDMUQsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVELFlBQzZCLGVBQW9DLEVBQ3RDLElBQW9CLEVBQzNCLE9BQW9CO1FBRXRDLEtBQUssQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sV0FBVztRQUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs4R0E3QlUsY0FBYyxrQkFnQmYsaUJBQWlCLGFBQ2pCLGVBQWUsYUFDZixRQUFRO2tHQWxCUCxjQUFjLHVJQUZkLENBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsQ0FBRTs7MkZBRXBELGNBQWM7a0JBUjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRSxZQUFZO29CQUN0QixJQUFJLEVBQUU7d0JBQ0osT0FBTyxFQUFFLHlCQUF5QjtxQkFDbkM7b0JBQ0QsU0FBUyxFQUFFLENBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsZ0JBQWdCLEVBQUUsQ0FBRTtpQkFDaEU7OzBCQWlCSSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsUUFBUTs0Q0FmUCxTQUFTO3NCQURuQixLQUFLO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveVxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQm9vbGVhbkV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRlpvb21CYXNlLCBGX1pPT00gfSBmcm9tICcuL2Ytem9vbS1iYXNlJztcbmltcG9ydCB7IEZfSVRFTVNfQ09OVEFJTkVSLCBGSXRlbXNDb250YWluZXJCYXNlIH0gZnJvbSAnLi4vZi1jb250YWluZXJzJztcbmltcG9ydCB7IEZfQ0FOVkFTLCBGQ2FudmFzQmFzZSB9IGZyb20gJy4uLy4uL2ludGVybmFsJztcbmltcG9ydCB7IEZfRE5EX0RJUkVDVElWRSwgRkRyYWdnYWJsZUJhc2UgfSBmcm9tICcuLi9mLWRyYWdnYWJsZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJnW2Zab29tXVwiLFxuICBleHBvcnRBczogJ2ZDb21wb25lbnQnLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2YtZmxvdy16b29tIGYtY29tcG9uZW50J1xuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX1pPT00sIHVzZUV4aXN0aW5nOiBGWm9vbURpcmVjdGl2ZSB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZab29tRGlyZWN0aXZlIGV4dGVuZHMgRlpvb21CYXNlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoJ2Zab29tJylcbiAgcHVibGljIGdldCBmRmxvd1pvb20oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNFbmFibGVkO1xuICB9XG5cbiAgcHVibGljIHNldCBmRmxvd1pvb20oaXNFbmFibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkIHwgc3RyaW5nKSB7XG4gICAgY29uc3QgdmFsdWUgPSBCb29sZWFuRXh0ZW5zaW9ucy5jYXN0VG9Cb29sZWFuKGlzRW5hYmxlZCk7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5pc0VuYWJsZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMudG9nZ2xlWm9vbSgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRl9JVEVNU19DT05UQUlORVIpIGZJdGVtc0NvbnRhaW5lcjogRkl0ZW1zQ29udGFpbmVyQmFzZSxcbiAgICBASW5qZWN0KEZfRE5EX0RJUkVDVElWRSkgZkRuZDogRkRyYWdnYWJsZUJhc2UsXG4gICAgQEluamVjdChGX0NBTlZBUykgZkNhbnZhczogRkNhbnZhc0Jhc2VcbiAgKSB7XG4gICAgc3VwZXIoZkl0ZW1zQ29udGFpbmVyLCBmRG5kLCBmQ2FudmFzKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIudG9nZ2xlWm9vbSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './f-zoom-base';
2
+ export * from './f-zoom.directive';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2Ytem9vbS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUU5QixjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLXpvb20tYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi16b29tLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './f-zoom.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi16b29tL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi16b29tLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export * from './f-connect-if-intersect';
2
+ export * from './f-containers';
3
+ export * from './f-draggable';
4
+ export * from './f-external-item';
5
+ export * from './f-line-alignment';
6
+ export * from './f-selection';
7
+ export * from './f-zoom';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixjQUFjLGVBQWUsQ0FBQztBQUU5QixjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtY29ubmVjdC1pZi1pbnRlcnNlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY29udGFpbmVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZXh0ZXJuYWwtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1saW5lLWFsaWdubWVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytem9vbSc7XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export * from './f-connect-if-intersect/public-api';
2
+ export * from './f-containers/public-api';
3
+ export * from './f-draggable/public-api';
4
+ export * from './f-external-item/public-api';
5
+ export * from './f-line-alignment/public-api';
6
+ export * from './f-selection/public-api';
7
+ export * from './f-zoom/public-api';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLWNvbm5lY3QtaWYtaW50ZXJzZWN0L3B1YmxpYy1hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY29udGFpbmVycy9wdWJsaWMtYXBpJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZS9wdWJsaWMtYXBpJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWV4dGVybmFsLWl0ZW0vcHVibGljLWFwaSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1saW5lLWFsaWdubWVudC9wdWJsaWMtYXBpJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbi9wdWJsaWMtYXBpJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXpvb20vcHVibGljLWFwaSc7XG5cbiJdfQ==