@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,54 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { BooleanExtensions } from '@foblex/core';
3
+ import { FNodeOutputBase, F_NODE_OUTPUT_DIRECTIVE } from './f-node-output-base';
4
+ import * as i0 from "@angular/core";
5
+ let uniqueId = 0;
6
+ export class FNodeOutputDirective extends FNodeOutputBase {
7
+ get disabled() {
8
+ return this.isDisabled;
9
+ }
10
+ set disabled(isDisabled) {
11
+ const value = BooleanExtensions.castToBoolean(isDisabled);
12
+ if (value !== this.isDisabled) {
13
+ this.isDisabled = value;
14
+ this.stateChanges.next();
15
+ }
16
+ }
17
+ get hostElement() {
18
+ return this.elementReference.nativeElement;
19
+ }
20
+ constructor(elementReference) {
21
+ super();
22
+ this.elementReference = elementReference;
23
+ this.id = `f-node-output-${uniqueId++}`;
24
+ this.color = 'black';
25
+ this.name = '';
26
+ this.isDisabled = false;
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FNodeOutputDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
29
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.4", type: FNodeOutputDirective, selector: "[fNodeOutput]", inputs: { id: "id", color: ["fNodeOutputColor", "color"], name: "name", disabled: ["fNodeOutputDisabled", "disabled"] }, host: { properties: { "attr.id": "id", "class.f-node-output-disabled": "disabled", "class.f-node-output-connected": "isConnected" }, classAttribute: "f-component f-node-output" }, providers: [{ provide: F_NODE_OUTPUT_DIRECTIVE, useExisting: FNodeOutputDirective }], usesInheritance: true, ngImport: i0 }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FNodeOutputDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: "[fNodeOutput]",
35
+ host: {
36
+ '[attr.id]': 'id',
37
+ class: "f-component f-node-output",
38
+ '[class.f-node-output-disabled]': 'disabled',
39
+ '[class.f-node-output-connected]': 'isConnected'
40
+ },
41
+ providers: [{ provide: F_NODE_OUTPUT_DIRECTIVE, useExisting: FNodeOutputDirective }],
42
+ }]
43
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { id: [{
44
+ type: Input
45
+ }], color: [{
46
+ type: Input,
47
+ args: ['fNodeOutputColor']
48
+ }], name: [{
49
+ type: Input
50
+ }], disabled: [{
51
+ type: Input,
52
+ args: ['fNodeOutputDisabled']
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dHB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2Ytbm9kZS1vdXRwdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRWhGLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQVl6QixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZTtJQVd2RCxJQUNvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBb0IsUUFBUSxDQUFDLFVBQXdDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxRCxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBSUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDVSxnQkFBeUM7UUFFakQsS0FBSyxFQUFFLENBQUM7UUFGQSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBNUJuQyxPQUFFLEdBQVEsaUJBQWtCLFFBQVEsRUFBRyxFQUFFLENBQUM7UUFHMUMsVUFBSyxHQUFXLE9BQU8sQ0FBQztRQUd4QixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBZTFCLGVBQVUsR0FBWSxLQUFLLENBQUM7SUFVcEMsQ0FBQzs4R0FsQ1Usb0JBQW9CO2tHQUFwQixvQkFBb0IscVZBRnBCLENBQUUsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUU7OzJGQUUzRSxvQkFBb0I7a0JBVmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLElBQUksRUFBRTt3QkFDSixXQUFXLEVBQUUsSUFBSTt3QkFDakIsS0FBSyxFQUFFLDJCQUEyQjt3QkFDbEMsZ0NBQWdDLEVBQUUsVUFBVTt3QkFDNUMsaUNBQWlDLEVBQUUsYUFBYTtxQkFDakQ7b0JBQ0QsU0FBUyxFQUFFLENBQUUsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxzQkFBc0IsRUFBRSxDQUFFO2lCQUN2RjtpR0FJaUIsRUFBRTtzQkFEakIsS0FBSztnQkFJVSxLQUFLO3NCQURwQixLQUFLO3VCQUFDLGtCQUFrQjtnQkFJVCxJQUFJO3NCQURuQixLQUFLO2dCQUljLFFBQVE7c0JBRDNCLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbkV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRk5vZGVPdXRwdXRCYXNlLCBGX05PREVfT1VUUFVUX0RJUkVDVElWRSB9IGZyb20gJy4vZi1ub2RlLW91dHB1dC1iYXNlJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2ZOb2RlT3V0cHV0XVwiLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1ub2RlLW91dHB1dFwiLFxuICAgICdbY2xhc3MuZi1ub2RlLW91dHB1dC1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZi1ub2RlLW91dHB1dC1jb25uZWN0ZWRdJzogJ2lzQ29ubmVjdGVkJ1xuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX05PREVfT1VUUFVUX0RJUkVDVElWRSwgdXNlRXhpc3Rpbmc6IEZOb2RlT3V0cHV0RGlyZWN0aXZlIH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRk5vZGVPdXRwdXREaXJlY3RpdmUgZXh0ZW5kcyBGTm9kZU91dHB1dEJhc2Uge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBpZDogYW55ID0gYGYtbm9kZS1vdXRwdXQtJHsgdW5pcXVlSWQrKyB9YDtcblxuICBASW5wdXQoJ2ZOb2RlT3V0cHV0Q29sb3InKVxuICBwdWJsaWMgb3ZlcnJpZGUgY29sb3I6IHN0cmluZyA9ICdibGFjayc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIG5hbWU6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgnZk5vZGVPdXRwdXREaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZGlzYWJsZWQoaXNEaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCB8IHN0cmluZykge1xuICAgIGNvbnN0IHZhbHVlID0gQm9vbGVhbkV4dGVuc2lvbnMuY2FzdFRvQm9vbGVhbihpc0Rpc2FibGVkKTtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdmFsdWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './f-node-output-base';
2
+ export * from './is-node-output';
3
+ export * from './f-node-output.directive';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtb3V0cHV0LWJhc2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2lzLW5vZGUtb3V0cHV0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtb3V0cHV0LmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export function isNodeOutput(element) {
2
+ return !!element.closest('[fNodeOutput]');
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbm9kZS1vdXRwdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2lzLW5vZGUtb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBaUM7SUFDNUQsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZU91dHB1dChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhZWxlbWVudC5jbG9zZXN0KCdbZk5vZGVPdXRwdXRdJyk7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './f-node-output.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2NvbXBvbmVudHMvZi1jb25uZWN0b3JzL2Ytbm9kZS1vdXRwdXQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtb3V0cHV0LmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { FConnectorBase } from './f-connector-base';
2
+ export class FOutConnectorBase extends FConnectorBase {
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1vdXQtY29ubmVjdG9yLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2YtY29ubmVjdG9ycy9mLW91dC1jb25uZWN0b3ItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxjQUFjO0NBRzdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuL2YtY29ubmVjdG9yLWJhc2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRk91dENvbm5lY3RvckJhc2UgZXh0ZW5kcyBGQ29ubmVjdG9yQmFzZSB7XG5cbiAgcHVibGljIGFic3RyYWN0IG5hbWU6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { Point, RectExtensions, SizeExtensions } from '@foblex/core';
2
+ export function getElementRectInCanvas(element, transform, svgHost) {
3
+ const rect = RectExtensions.fromElement(element);
4
+ const position = Point.fromPoint(rect).matrixTransform(svgHost).sub(transform.scaledPosition).sub(transform.position).div(transform.scale);
5
+ const size = SizeExtensions.initialize(rect.width / transform.scale, rect.height / transform.scale);
6
+ return RectExtensions.initialize(position.x, position.y, size.width, size.height);
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtcmVjdC1pbi1jYW52YXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2YtY29ubmVjdG9ycy9nZXQtZWxlbWVudC1yZWN0LWluLWNhbnZhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBCLEtBQUssRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdGLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxPQUFpQyxFQUFFLFNBQTBCLEVBQUUsT0FBc0I7SUFDMUgsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzSSxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRyxPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3BGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVjdCwgSVRyYW5zZm9ybU1vZGVsLCBQb2ludCwgUmVjdEV4dGVuc2lvbnMsIFNpemVFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRSZWN0SW5DYW52YXMoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50LCB0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCwgc3ZnSG9zdDogU1ZHU1ZHRWxlbWVudCk6IElSZWN0IHtcbiAgY29uc3QgcmVjdCA9IFJlY3RFeHRlbnNpb25zLmZyb21FbGVtZW50KGVsZW1lbnQpO1xuICBjb25zdCBwb3NpdGlvbiA9IFBvaW50LmZyb21Qb2ludChyZWN0KS5tYXRyaXhUcmFuc2Zvcm0oc3ZnSG9zdCkuc3ViKHRyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbikuc3ViKHRyYW5zZm9ybS5wb3NpdGlvbikuZGl2KHRyYW5zZm9ybS5zY2FsZSk7XG4gIGNvbnN0IHNpemUgPSBTaXplRXh0ZW5zaW9ucy5pbml0aWFsaXplKHJlY3Qud2lkdGggLyB0cmFuc2Zvcm0uc2NhbGUsIHJlY3QuaGVpZ2h0IC8gdHJhbnNmb3JtLnNjYWxlKTtcbiAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUocG9zaXRpb24ueCwgcG9zaXRpb24ueSwgc2l6ZS53aWR0aCwgc2l6ZS5oZWlnaHQpO1xufVxuIl19
@@ -0,0 +1,7 @@
1
+ export * from './f-node-input';
2
+ export * from './f-node-outlet';
3
+ export * from './f-node-output';
4
+ export * from './f-connector-base';
5
+ export * from './f-out-connector-base';
6
+ export * from './get-element-rect-in-canvas';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2YtY29ubmVjdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1ub2RlLWlucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vZi1ub2RlLW91dGxldCc7XG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZS1vdXRwdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9mLWNvbm5lY3Rvci1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZi1vdXQtY29ubmVjdG9yLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtZWxlbWVudC1yZWN0LWluLWNhbnZhcyc7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './f-node-input/public-api';
2
+ export * from './f-node-output/public-api';
3
+ export * from './f-node-outlet/public-api';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2NvbXBvbmVudHMvZi1jb25uZWN0b3JzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Ytbm9kZS1pbnB1dC9wdWJsaWMtYXBpJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtb3V0cHV0L3B1YmxpYy1hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZS1vdXRsZXQvcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { Directive, InjectionToken } from '@angular/core';
2
+ import { merge, startWith, Subject, takeUntil } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export const F_FLOW_COMPONENT = new InjectionToken('F_FLOW_COMPONENT');
5
+ export class FFlowBase {
6
+ get hostElement() {
7
+ return this.elementReference.nativeElement;
8
+ }
9
+ constructor(elementReference, changeDetectorRef, ngZone) {
10
+ this.elementReference = elementReference;
11
+ this.changeDetectorRef = changeDetectorRef;
12
+ this.ngZone = ngZone;
13
+ this.onDestroy = new Subject();
14
+ }
15
+ ngAfterContentInit() {
16
+ this.subscribeOnComponentsChanges();
17
+ }
18
+ subscribeOnComponentsChanges() {
19
+ console.log(this.fNodesContainer);
20
+ const changes = [
21
+ this.fNodesContainer.fNodes.changes,
22
+ this.fConnectionsContainer.fConnections.changes,
23
+ this.outlets.changes,
24
+ this.outputs.changes,
25
+ this.inputs.changes
26
+ ];
27
+ merge(...changes).pipe(startWith(null), takeUntil(this.onDestroy)).subscribe(() => {
28
+ const changedOrDestroyed = merge(...changes, this.onDestroy);
29
+ // const nodesChanges = new QueryListStateChanges(this.ngZone).handle(this.nodes);
30
+ //
31
+ // merge(nodesChanges).pipe(startWith(null), takeUntil(changedOrDestroyed)).subscribe(() => {
32
+ //
33
+ //
34
+ // });
35
+ this.fConnectionsContainer.fConnections.forEach((connection) => {
36
+ connection.fromTo = {
37
+ output: this.outputs.find((x) => x.id === connection.outputId),
38
+ input: this.inputs.find((x) => x.id === connection.inputId)
39
+ };
40
+ connection.initialize();
41
+ });
42
+ });
43
+ }
44
+ ngOnDestroy() {
45
+ this.onDestroy.next();
46
+ this.onDestroy.complete();
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FFlowBase, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
49
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.4", type: FFlowBase, ngImport: i0 }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FFlowBase, decorators: [{
52
+ type: Directive
53
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2YtZmxvdy9mLWZsb3ctYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULGNBQWMsRUFDZixNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU81RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBWSxrQkFBa0IsQ0FBQyxDQUFDO0FBR2xGLE1BQU0sT0FBZ0IsU0FBUztJQUk3QixJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFzQkQsWUFDVSxnQkFBMkMsRUFDM0MsaUJBQW9DLEVBQ3BDLE1BQWM7UUFGZCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTJCO1FBQzNDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXZCUCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7SUF5QmhFLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVTLDRCQUE0QjtRQUNwQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNsQyxNQUFNLE9BQU8sR0FBRztZQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDbkMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxPQUFPO1lBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTztZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1NBQ3BCLENBQUM7UUFFRixLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2hGLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUU3RCxrRkFBa0Y7WUFDbEYsRUFBRTtZQUNGLDZGQUE2RjtZQUM3RixFQUFFO1lBQ0YsRUFBRTtZQUNGLE1BQU07WUFFTixJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUM3RCxVQUFVLENBQUMsTUFBTSxHQUFHO29CQUNsQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBRTtvQkFDL0QsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxPQUFPLENBQUU7aUJBQzdELENBQUM7Z0JBQ0YsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0F4RW1CLFNBQVM7a0dBQVQsU0FBUzs7MkZBQVQsU0FBUztrQkFEOUIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGlvblRva2VuLCBOZ1pvbmUsIE9uRGVzdHJveSwgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSUhhc0hvc3RFbGVtZW50LCBJVHJhbnNmb3JtTW9kZWxcbn0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZJdGVtc0NvbnRhaW5lckJhc2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2YtY29udGFpbmVycy9mLWl0ZW1zLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBGTm9kZUlucHV0QmFzZSwgRk5vZGVPdXRsZXRCYXNlLCBGTm9kZU91dHB1dEJhc2UgfSBmcm9tICcuLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgbWVyZ2UsIHN0YXJ0V2l0aCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGQmFja2dyb3VuZEJhc2UgfSBmcm9tICcuLi8uLi9pbnRlcm5hbC9mLWJhY2tncm91ZCc7XG5pbXBvcnQge1xuICBGQ29ubmVjdGlvbnNDb250YWluZXJCYXNlXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZi1jb250YWluZXJzL2YtY29ubmVjdGlvbnMtY29udGFpbmVyL2YtY29ubmVjdGlvbnMtY29udGFpbmVyLWJhc2UnO1xuaW1wb3J0IHsgRk5vZGVzQ29udGFpbmVyQmFzZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZi1jb250YWluZXJzL2Ytbm9kZXMtY29udGFpbmVyJztcblxuZXhwb3J0IGNvbnN0IEZfRkxPV19DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48RkZsb3dCYXNlPignRl9GTE9XX0NPTVBPTkVOVCcpO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGRmxvd0Jhc2UgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGFic3RyYWN0IGlkOiBhbnk7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBTVkdTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IG9uRGVzdHJveTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblxuICBwdWJsaWMgYWJzdHJhY3QgZk5vZGVzQ29udGFpbmVyOiBGTm9kZXNDb250YWluZXJCYXNlO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ29ubmVjdGlvbnNDb250YWluZXI6IEZDb25uZWN0aW9uc0NvbnRhaW5lckJhc2U7XG5cblxuICBwdWJsaWMgYWJzdHJhY3QgZkl0ZW1zQ29udGFpbmVyOiBGSXRlbXNDb250YWluZXJCYXNlO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQmFja2dyb3VuZDogRkJhY2tncm91bmRCYXNlO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbDtcblxuICBwdWJsaWMgYWJzdHJhY3Qgb3V0bGV0czogUXVlcnlMaXN0PEZOb2RlT3V0bGV0QmFzZT47XG5cbiAgcHVibGljIGFic3RyYWN0IG91dHB1dHM6IFF1ZXJ5TGlzdDxGTm9kZU91dHB1dEJhc2U+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBpbnB1dHM6IFF1ZXJ5TGlzdDxGTm9kZUlucHV0QmFzZT47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxTVkdTVkdFbGVtZW50PixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmliZU9uQ29tcG9uZW50c0NoYW5nZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdWJzY3JpYmVPbkNvbXBvbmVudHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZk5vZGVzQ29udGFpbmVyKTtcbiAgICBjb25zdCBjaGFuZ2VzID0gW1xuICAgICAgdGhpcy5mTm9kZXNDb250YWluZXIuZk5vZGVzLmNoYW5nZXMsXG4gICAgICB0aGlzLmZDb25uZWN0aW9uc0NvbnRhaW5lci5mQ29ubmVjdGlvbnMuY2hhbmdlcyxcbiAgICAgIHRoaXMub3V0bGV0cy5jaGFuZ2VzLFxuICAgICAgdGhpcy5vdXRwdXRzLmNoYW5nZXMsXG4gICAgICB0aGlzLmlucHV0cy5jaGFuZ2VzXG4gICAgXTtcblxuICAgIG1lcmdlKC4uLmNoYW5nZXMpLnBpcGUoc3RhcnRXaXRoKG51bGwpLCB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgY2hhbmdlZE9yRGVzdHJveWVkID0gbWVyZ2UoLi4uY2hhbmdlcywgdGhpcy5vbkRlc3Ryb3kpO1xuXG4gICAgICAvLyBjb25zdCBub2Rlc0NoYW5nZXMgPSBuZXcgUXVlcnlMaXN0U3RhdGVDaGFuZ2VzKHRoaXMubmdab25lKS5oYW5kbGUodGhpcy5ub2Rlcyk7XG4gICAgICAvL1xuICAgICAgLy8gbWVyZ2Uobm9kZXNDaGFuZ2VzKS5waXBlKHN0YXJ0V2l0aChudWxsKSwgdGFrZVVudGlsKGNoYW5nZWRPckRlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvL1xuICAgICAgLy9cbiAgICAgIC8vIH0pO1xuXG4gICAgICB0aGlzLmZDb25uZWN0aW9uc0NvbnRhaW5lci5mQ29ubmVjdGlvbnMuZm9yRWFjaCgoY29ubmVjdGlvbikgPT4ge1xuICAgICAgICBjb25uZWN0aW9uLmZyb21UbyA9IHtcbiAgICAgICAgICBvdXRwdXQ6IHRoaXMub3V0cHV0cy5maW5kKCh4KSA9PiB4LmlkID09PSBjb25uZWN0aW9uLm91dHB1dElkKSEsXG4gICAgICAgICAgaW5wdXQ6IHRoaXMuaW5wdXRzLmZpbmQoKHgpID0+IHguaWQgPT09IGNvbm5lY3Rpb24uaW5wdXRJZCkhXG4gICAgICAgIH07XG4gICAgICAgIGNvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vbkRlc3Ryb3kubmV4dCgpO1xuICAgIHRoaXMub25EZXN0cm95LmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,67 @@
1
+ import { Component, ContentChild, ContentChildren, Input, ViewChild } from '@angular/core';
2
+ import { FCanvasDirective } from '../../internal/f-canvas';
3
+ import { F_ITEMS_CONTAINER } from '../../directives/f-containers/f-items-container';
4
+ import { F_FLOW_COMPONENT, FFlowBase } from './f-flow-base';
5
+ import { F_NODE_INPUT_DIRECTIVE, F_NODE_OUTLET_DIRECTIVE, F_NODE_OUTPUT_DIRECTIVE } from '../f-connectors';
6
+ import { F_NODES_CONTAINER } from '../../directives/f-containers/f-nodes-container';
7
+ import { F_CONNECTIONS_CONTAINER } from '../../directives/f-containers/f-connections-container/f-connections-container-base';
8
+ import { F_BACKGROUND } from '../../internal/f-backgroud';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../internal/f-canvas/f-canvas.directive";
11
+ import * as i2 from "@angular/common";
12
+ import * as i3 from "../../internal/f-backgroud/f-background.directive";
13
+ let uniqueId = 0;
14
+ export const CONNECTION_MARKER_START = "connection-marker-start";
15
+ export const CONNECTION_MARKER_END = "connection-marker-end";
16
+ export const CONNECTION_MARKER_START_SELECTED = "connection-marker-start-selected";
17
+ export const CONNECTION_MARKER_END_SELECTED = "connection-marker-end-selected";
18
+ export class FFlowComponent extends FFlowBase {
19
+ get transform() {
20
+ return this.fItemsContainer.transform;
21
+ }
22
+ constructor(elementReference, changeDetectorRef, ngZone) {
23
+ super(elementReference, changeDetectorRef, ngZone);
24
+ this.CONNECTION_MARKER_START = CONNECTION_MARKER_START;
25
+ this.CONNECTION_MARKER_END = CONNECTION_MARKER_END;
26
+ this.CONNECTION_MARKER_START_SELECTED = CONNECTION_MARKER_START_SELECTED;
27
+ this.CONNECTION_MARKER_END_SELECTED = CONNECTION_MARKER_END_SELECTED;
28
+ this.id = `f-flow-${uniqueId++}`;
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FFlowComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.4", type: FFlowComponent, selector: "svg[fFlow]", inputs: { id: "id" }, host: { properties: { "attr.id": "id" }, classAttribute: "f-component f-flow" }, providers: [{ provide: F_FLOW_COMPONENT, useExisting: FFlowComponent }], queries: [{ propertyName: "fNodesContainer", first: true, predicate: F_NODES_CONTAINER, descendants: true, static: true }, { propertyName: "fConnectionsContainer", first: true, predicate: F_CONNECTIONS_CONTAINER, descendants: true }, { propertyName: "fItemsContainer", first: true, predicate: F_ITEMS_CONTAINER, descendants: true, static: true }, { propertyName: "outlets", predicate: F_NODE_OUTLET_DIRECTIVE, descendants: true }, { propertyName: "outputs", predicate: F_NODE_OUTPUT_DIRECTIVE, descendants: true }, { propertyName: "inputs", predicate: F_NODE_INPUT_DIRECTIVE, descendants: true }], viewQueries: [{ propertyName: "fBackground", first: true, predicate: F_BACKGROUND, descendants: true, static: true }], usesInheritance: true, hostDirectives: [{ directive: i1.FCanvasDirective }], ngImport: i0, template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:g fBackground>\n <rect width=\"100%\" height=\"100%\" fill=\"url(#background)\"></rect>\n </svg:g>\n <ng-content></ng-content>\n <svg:defs>\n <svg:marker [id]=\"CONNECTION_MARKER_START\" class=\"connection-marker-start\" markerHeight=\"10\" markerWidth=\"10\" refY=\"5\" refX=\"5\">\n <svg:circle cx=\"5\" cy=\"5\" r=\"2\"></svg:circle>\n </svg:marker>\n <svg:marker [id]=\"CONNECTION_MARKER_END\" class=\"connection-marker-end\" markerHeight=\"10\" markerWidth=\"10\" orient=\"auto\" refX=\"5\" refY=\"3\">\n <svg:path d=\"M0,0 L6,3 0,6Z\"></svg:path>\n </svg:marker>\n <svg:marker [id]=\"CONNECTION_MARKER_START_SELECTED\" class=\"connection-marker-start f-selected\" markerHeight=\"10\" markerWidth=\"10\" refY=\"5\" refX=\"5\">\n <svg:circle cx=\"5\" cy=\"5\" r=\"2\"></svg:circle>\n </svg:marker>\n <svg:marker [id]=\"CONNECTION_MARKER_END_SELECTED\" class=\"connection-marker-end f-selected\" markerHeight=\"10\" markerWidth=\"10\" orient=\"auto\" refX=\"5\" refY=\"3\">\n <svg:path d=\"M0,0 L6,3 0,6Z\"></svg:path>\n </svg:marker>\n <ng-container *ngIf=\"fConnectionsContainer\">\n <ng-container *ngFor=\"let connection of fConnectionsContainer.fConnections.toArray()\">\n <svg:marker [id]=\"'connection-marker-start-' + connection.fromTo?.output?.color\" markerHeight=\"10\" markerWidth=\"10\" refY=\"5\" refX=\"5\">\n <svg:circle cx=\"5\" cy=\"5\" r=\"2\" [attr.stroke]=\"'none'\" [attr.fill]=\"connection.fromTo?.output?.color\"></svg:circle>\n </svg:marker>\n <svg:marker [id]=\"'connection-marker-end-' + connection.fromTo?.input?.color\" markerHeight=\"10\" markerWidth=\"10\" orient=\"auto\" refX=\"5\" refY=\"3\">\n <svg:path d=\"M0,0 L6,3 0,6Z\" [attr.stroke]=\"'none'\" [attr.fill]=\"connection.fromTo?.input?.color\"></svg:path>\n </svg:marker>\n </ng-container>\n\n </ng-container>\n <svg:pattern id=\"background\" height=\"10\" width=\"10\" class=\"fb-background-pattern\"\n patternUnits=\"userSpaceOnUse\">\n <svg:circle cx=\"5\" cy=\"5\" r=\"0.5\"/>\n </svg:pattern>\n </svg:defs>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.FBackgroundDirective, selector: "g[fBackground]" }] }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FFlowComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'svg[fFlow]', hostDirectives: [
36
+ {
37
+ directive: FCanvasDirective
38
+ }
39
+ ], host: {
40
+ '[attr.id]': 'id',
41
+ class: "f-component f-flow"
42
+ }, providers: [{ provide: F_FLOW_COMPONENT, useExisting: FFlowComponent }], template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:g fBackground>\n <rect width=\"100%\" height=\"100%\" fill=\"url(#background)\"></rect>\n </svg:g>\n <ng-content></ng-content>\n <svg:defs>\n <svg:marker [id]=\"CONNECTION_MARKER_START\" class=\"connection-marker-start\" markerHeight=\"10\" markerWidth=\"10\" refY=\"5\" refX=\"5\">\n <svg:circle cx=\"5\" cy=\"5\" r=\"2\"></svg:circle>\n </svg:marker>\n <svg:marker [id]=\"CONNECTION_MARKER_END\" class=\"connection-marker-end\" markerHeight=\"10\" markerWidth=\"10\" orient=\"auto\" refX=\"5\" refY=\"3\">\n <svg:path d=\"M0,0 L6,3 0,6Z\"></svg:path>\n </svg:marker>\n <svg:marker [id]=\"CONNECTION_MARKER_START_SELECTED\" class=\"connection-marker-start f-selected\" markerHeight=\"10\" markerWidth=\"10\" refY=\"5\" refX=\"5\">\n <svg:circle cx=\"5\" cy=\"5\" r=\"2\"></svg:circle>\n </svg:marker>\n <svg:marker [id]=\"CONNECTION_MARKER_END_SELECTED\" class=\"connection-marker-end f-selected\" markerHeight=\"10\" markerWidth=\"10\" orient=\"auto\" refX=\"5\" refY=\"3\">\n <svg:path d=\"M0,0 L6,3 0,6Z\"></svg:path>\n </svg:marker>\n <ng-container *ngIf=\"fConnectionsContainer\">\n <ng-container *ngFor=\"let connection of fConnectionsContainer.fConnections.toArray()\">\n <svg:marker [id]=\"'connection-marker-start-' + connection.fromTo?.output?.color\" markerHeight=\"10\" markerWidth=\"10\" refY=\"5\" refX=\"5\">\n <svg:circle cx=\"5\" cy=\"5\" r=\"2\" [attr.stroke]=\"'none'\" [attr.fill]=\"connection.fromTo?.output?.color\"></svg:circle>\n </svg:marker>\n <svg:marker [id]=\"'connection-marker-end-' + connection.fromTo?.input?.color\" markerHeight=\"10\" markerWidth=\"10\" orient=\"auto\" refX=\"5\" refY=\"3\">\n <svg:path d=\"M0,0 L6,3 0,6Z\" [attr.stroke]=\"'none'\" [attr.fill]=\"connection.fromTo?.input?.color\"></svg:path>\n </svg:marker>\n </ng-container>\n\n </ng-container>\n <svg:pattern id=\"background\" height=\"10\" width=\"10\" class=\"fb-background-pattern\"\n patternUnits=\"userSpaceOnUse\">\n <svg:circle cx=\"5\" cy=\"5\" r=\"0.5\"/>\n </svg:pattern>\n </svg:defs>\n</ng-container>\n" }]
43
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { id: [{
44
+ type: Input
45
+ }], fNodesContainer: [{
46
+ type: ContentChild,
47
+ args: [F_NODES_CONTAINER, { static: true }]
48
+ }], fConnectionsContainer: [{
49
+ type: ContentChild,
50
+ args: [F_CONNECTIONS_CONTAINER, { descendants: true }]
51
+ }], fItemsContainer: [{
52
+ type: ContentChild,
53
+ args: [F_ITEMS_CONTAINER, { static: true }]
54
+ }], fBackground: [{
55
+ type: ViewChild,
56
+ args: [F_BACKGROUND, { static: true }]
57
+ }], outlets: [{
58
+ type: ContentChildren,
59
+ args: [F_NODE_OUTLET_DIRECTIVE, { descendants: true }]
60
+ }], outputs: [{
61
+ type: ContentChildren,
62
+ args: [F_NODE_OUTPUT_DIRECTIVE, { descendants: true }]
63
+ }], inputs: [{
64
+ type: ContentChildren,
65
+ args: [F_NODE_INPUT_DIRECTIVE, { descendants: true }]
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2NvbXBvbmVudHMvZi1mbG93L2YtZmxvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2YtZmxvdy9mLWZsb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLGVBQWUsRUFFZixLQUFLLEVBR0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBdUIsTUFBTSxpREFBaUQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFDTCxzQkFBc0IsRUFBRSx1QkFBdUIsRUFDL0MsdUJBQXVCLEVBSXhCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGlCQUFpQixFQUF1QixNQUFNLGlEQUFpRCxDQUFDO0FBQ3pHLE9BQU8sRUFDTCx1QkFBdUIsRUFFeEIsTUFBTSxvRkFBb0YsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFtQixNQUFNLDRCQUE0QixDQUFDOzs7OztBQUUzRSxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFFekIsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcseUJBQXlCLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLENBQUM7QUFDN0QsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsa0NBQWtDLENBQUM7QUFDbkYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsZ0NBQWdDLENBQUM7QUFlL0UsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBK0IzQyxJQUFvQixTQUFTO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQUVELFlBQ0UsZ0JBQTJDLEVBQzNDLGlCQUFvQyxFQUNwQyxNQUFjO1FBRWQsS0FBSyxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBdENyQyw0QkFBdUIsR0FBRyx1QkFBdUIsQ0FBQztRQUNsRCwwQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztRQUM5QyxxQ0FBZ0MsR0FBRyxnQ0FBZ0MsQ0FBQztRQUNwRSxtQ0FBOEIsR0FBRyw4QkFBOEIsQ0FBQztRQUdoRSxPQUFFLEdBQVcsVUFBVyxRQUFRLEVBQUcsRUFBRSxDQUFDO0lBaUN0RCxDQUFDOzhHQXpDVSxjQUFjO2tHQUFkLGNBQWMsNElBRmQsQ0FBRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUUsdUVBWTNELGlCQUFpQixzR0FHakIsdUJBQXVCLGtGQUd2QixpQkFBaUIsMkVBTWQsdUJBQXVCLDZEQUd2Qix1QkFBdUIsNERBR3ZCLHNCQUFzQiw2RkFUNUIsWUFBWSwySUNuRXpCLG1yRUFtQ0E7OzJGRGFhLGNBQWM7a0JBZDFCLFNBQVM7K0JBQ0UsWUFBWSxrQkFFTjt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsZ0JBQWdCO3lCQUM1QjtxQkFDRixRQUNLO3dCQUNKLFdBQVcsRUFBRSxJQUFJO3dCQUNqQixLQUFLLEVBQUUsb0JBQW9CO3FCQUM1QixhQUNVLENBQUUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRSxDQUFFO3NKQVV6RCxFQUFFO3NCQURqQixLQUFLO2dCQUlVLGVBQWU7c0JBRDlCLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlqQyxxQkFBcUI7c0JBRHBDLFlBQVk7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUk1QyxlQUFlO3NCQUQ5QixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJakMsV0FBVztzQkFEMUIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl6QixPQUFPO3NCQUR0QixlQUFlO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJL0MsT0FBTztzQkFEdEIsZUFBZTt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSS9DLE1BQU07c0JBRHJCLGVBQWU7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCwgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNhbnZhc0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2ludGVybmFsL2YtY2FudmFzJztcbmltcG9ydCB7IEZfSVRFTVNfQ09OVEFJTkVSLCBGSXRlbXNDb250YWluZXJCYXNlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9mLWNvbnRhaW5lcnMvZi1pdGVtcy1jb250YWluZXInO1xuaW1wb3J0IHsgRl9GTE9XX0NPTVBPTkVOVCwgRkZsb3dCYXNlIH0gZnJvbSAnLi9mLWZsb3ctYmFzZSc7XG5pbXBvcnQgeyBJVHJhbnNmb3JtTW9kZWwgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgRl9OT0RFX0lOUFVUX0RJUkVDVElWRSwgRl9OT0RFX09VVExFVF9ESVJFQ1RJVkUsXG4gIEZfTk9ERV9PVVRQVVRfRElSRUNUSVZFLFxuICBGTm9kZUlucHV0QmFzZSxcbiAgRk5vZGVPdXRsZXRCYXNlLFxuICBGTm9kZU91dHB1dEJhc2Vcbn0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZfTk9ERVNfQ09OVEFJTkVSLCBGTm9kZXNDb250YWluZXJCYXNlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9mLWNvbnRhaW5lcnMvZi1ub2Rlcy1jb250YWluZXInO1xuaW1wb3J0IHtcbiAgRl9DT05ORUNUSU9OU19DT05UQUlORVIsXG4gIEZDb25uZWN0aW9uc0NvbnRhaW5lckJhc2Vcbn0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9mLWNvbnRhaW5lcnMvZi1jb25uZWN0aW9ucy1jb250YWluZXIvZi1jb25uZWN0aW9ucy1jb250YWluZXItYmFzZSc7XG5pbXBvcnQgeyBGX0JBQ0tHUk9VTkQsIEZCYWNrZ3JvdW5kQmFzZSB9IGZyb20gJy4uLy4uL2ludGVybmFsL2YtYmFja2dyb3VkJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5leHBvcnQgY29uc3QgQ09OTkVDVElPTl9NQVJLRVJfU1RBUlQgPSBcImNvbm5lY3Rpb24tbWFya2VyLXN0YXJ0XCI7XG5leHBvcnQgY29uc3QgQ09OTkVDVElPTl9NQVJLRVJfRU5EID0gXCJjb25uZWN0aW9uLW1hcmtlci1lbmRcIjtcbmV4cG9ydCBjb25zdCBDT05ORUNUSU9OX01BUktFUl9TVEFSVF9TRUxFQ1RFRCA9IFwiY29ubmVjdGlvbi1tYXJrZXItc3RhcnQtc2VsZWN0ZWRcIjtcbmV4cG9ydCBjb25zdCBDT05ORUNUSU9OX01BUktFUl9FTkRfU0VMRUNURUQgPSBcImNvbm5lY3Rpb24tbWFya2VyLWVuZC1zZWxlY3RlZFwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3ZnW2ZGbG93XScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWZsb3cuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogRkNhbnZhc0RpcmVjdGl2ZVxuICAgIH1cbiAgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtZmxvd1wiXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfRkxPV19DT01QT05FTlQsIHVzZUV4aXN0aW5nOiBGRmxvd0NvbXBvbmVudCB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZGbG93Q29tcG9uZW50IGV4dGVuZHMgRkZsb3dCYXNlIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgQ09OTkVDVElPTl9NQVJLRVJfU1RBUlQgPSBDT05ORUNUSU9OX01BUktFUl9TVEFSVDtcbiAgcHVibGljIHJlYWRvbmx5IENPTk5FQ1RJT05fTUFSS0VSX0VORCA9IENPTk5FQ1RJT05fTUFSS0VSX0VORDtcbiAgcHVibGljIHJlYWRvbmx5IENPTk5FQ1RJT05fTUFSS0VSX1NUQVJUX1NFTEVDVEVEID0gQ09OTkVDVElPTl9NQVJLRVJfU1RBUlRfU0VMRUNURUQ7XG4gIHB1YmxpYyByZWFkb25seSBDT05ORUNUSU9OX01BUktFUl9FTkRfU0VMRUNURUQgPSBDT05ORUNUSU9OX01BUktFUl9FTkRfU0VMRUNURUQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGlkOiBzdHJpbmcgPSBgZi1mbG93LSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQENvbnRlbnRDaGlsZChGX05PREVTX0NPTlRBSU5FUiwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZOb2Rlc0NvbnRhaW5lciE6IEZOb2Rlc0NvbnRhaW5lckJhc2U7XG5cbiAgQENvbnRlbnRDaGlsZChGX0NPTk5FQ1RJT05TX0NPTlRBSU5FUiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25zQ29udGFpbmVyITogRkNvbm5lY3Rpb25zQ29udGFpbmVyQmFzZTtcblxuICBAQ29udGVudENoaWxkKEZfSVRFTVNfQ09OVEFJTkVSLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkl0ZW1zQ29udGFpbmVyITogRkl0ZW1zQ29udGFpbmVyQmFzZTtcblxuICBAVmlld0NoaWxkKEZfQkFDS0dST1VORCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZCYWNrZ3JvdW5kITogRkJhY2tncm91bmRCYXNlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRl9OT0RFX09VVExFVF9ESVJFQ1RJVkUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIG91dGxldHMhOiBRdWVyeUxpc3Q8Rk5vZGVPdXRsZXRCYXNlPjtcblxuICBAQ29udGVudENoaWxkcmVuKEZfTk9ERV9PVVRQVVRfRElSRUNUSVZFLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBvdXRwdXRzITogUXVlcnlMaXN0PEZOb2RlT3V0cHV0QmFzZT47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX05PREVfSU5QVVRfRElSRUNUSVZFLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBpbnB1dHMhOiBRdWVyeUxpc3Q8Rk5vZGVJbnB1dEJhc2U+O1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZkl0ZW1zQ29udGFpbmVyLnRyYW5zZm9ybTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8U1ZHU1ZHRWxlbWVudD4sXG4gICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIG5nWm9uZTogTmdab25lXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWZlcmVuY2UsIGNoYW5nZURldGVjdG9yUmVmLCBuZ1pvbmUpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIHhtbG5zOnN2Zz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxzdmc6ZyBmQmFja2dyb3VuZD5cbiAgICA8cmVjdCB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgZmlsbD1cInVybCgjYmFja2dyb3VuZClcIj48L3JlY3Q+XG4gIDwvc3ZnOmc+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPHN2ZzpkZWZzPlxuICAgIDxzdmc6bWFya2VyIFtpZF09XCJDT05ORUNUSU9OX01BUktFUl9TVEFSVFwiIGNsYXNzPVwiY29ubmVjdGlvbi1tYXJrZXItc3RhcnRcIiBtYXJrZXJIZWlnaHQ9XCIxMFwiIG1hcmtlcldpZHRoPVwiMTBcIiByZWZZPVwiNVwiIHJlZlg9XCI1XCI+XG4gICAgICA8c3ZnOmNpcmNsZSBjeD1cIjVcIiBjeT1cIjVcIiByPVwiMlwiPjwvc3ZnOmNpcmNsZT5cbiAgICA8L3N2ZzptYXJrZXI+XG4gICAgPHN2ZzptYXJrZXIgW2lkXT1cIkNPTk5FQ1RJT05fTUFSS0VSX0VORFwiIGNsYXNzPVwiY29ubmVjdGlvbi1tYXJrZXItZW5kXCIgbWFya2VySGVpZ2h0PVwiMTBcIiBtYXJrZXJXaWR0aD1cIjEwXCIgb3JpZW50PVwiYXV0b1wiIHJlZlg9XCI1XCIgcmVmWT1cIjNcIj5cbiAgICAgIDxzdmc6cGF0aCBkPVwiTTAsMCBMNiwzIDAsNlpcIj48L3N2ZzpwYXRoPlxuICAgIDwvc3ZnOm1hcmtlcj5cbiAgICA8c3ZnOm1hcmtlciBbaWRdPVwiQ09OTkVDVElPTl9NQVJLRVJfU1RBUlRfU0VMRUNURURcIiBjbGFzcz1cImNvbm5lY3Rpb24tbWFya2VyLXN0YXJ0IGYtc2VsZWN0ZWRcIiBtYXJrZXJIZWlnaHQ9XCIxMFwiIG1hcmtlcldpZHRoPVwiMTBcIiByZWZZPVwiNVwiIHJlZlg9XCI1XCI+XG4gICAgICA8c3ZnOmNpcmNsZSBjeD1cIjVcIiBjeT1cIjVcIiByPVwiMlwiPjwvc3ZnOmNpcmNsZT5cbiAgICA8L3N2ZzptYXJrZXI+XG4gICAgPHN2ZzptYXJrZXIgW2lkXT1cIkNPTk5FQ1RJT05fTUFSS0VSX0VORF9TRUxFQ1RFRFwiIGNsYXNzPVwiY29ubmVjdGlvbi1tYXJrZXItZW5kIGYtc2VsZWN0ZWRcIiBtYXJrZXJIZWlnaHQ9XCIxMFwiIG1hcmtlcldpZHRoPVwiMTBcIiBvcmllbnQ9XCJhdXRvXCIgcmVmWD1cIjVcIiByZWZZPVwiM1wiPlxuICAgICAgPHN2ZzpwYXRoIGQ9XCJNMCwwIEw2LDMgMCw2WlwiPjwvc3ZnOnBhdGg+XG4gICAgPC9zdmc6bWFya2VyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmQ29ubmVjdGlvbnNDb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbm5lY3Rpb24gb2YgZkNvbm5lY3Rpb25zQ29udGFpbmVyLmZDb25uZWN0aW9ucy50b0FycmF5KClcIj5cbiAgICAgICAgPHN2ZzptYXJrZXIgW2lkXT1cIidjb25uZWN0aW9uLW1hcmtlci1zdGFydC0nICsgY29ubmVjdGlvbi5mcm9tVG8/Lm91dHB1dD8uY29sb3JcIiBtYXJrZXJIZWlnaHQ9XCIxMFwiIG1hcmtlcldpZHRoPVwiMTBcIiByZWZZPVwiNVwiIHJlZlg9XCI1XCI+XG4gICAgICAgICAgPHN2ZzpjaXJjbGUgY3g9XCI1XCIgY3k9XCI1XCIgcj1cIjJcIiBbYXR0ci5zdHJva2VdPVwiJ25vbmUnXCIgW2F0dHIuZmlsbF09XCJjb25uZWN0aW9uLmZyb21Ubz8ub3V0cHV0Py5jb2xvclwiPjwvc3ZnOmNpcmNsZT5cbiAgICAgICAgPC9zdmc6bWFya2VyPlxuICAgICAgICA8c3ZnOm1hcmtlciBbaWRdPVwiJ2Nvbm5lY3Rpb24tbWFya2VyLWVuZC0nICsgY29ubmVjdGlvbi5mcm9tVG8/LmlucHV0Py5jb2xvclwiIG1hcmtlckhlaWdodD1cIjEwXCIgbWFya2VyV2lkdGg9XCIxMFwiIG9yaWVudD1cImF1dG9cIiByZWZYPVwiNVwiIHJlZlk9XCIzXCI+XG4gICAgICAgICAgPHN2ZzpwYXRoIGQ9XCJNMCwwIEw2LDMgMCw2WlwiIFthdHRyLnN0cm9rZV09XCInbm9uZSdcIiBbYXR0ci5maWxsXT1cImNvbm5lY3Rpb24uZnJvbVRvPy5pbnB1dD8uY29sb3JcIj48L3N2ZzpwYXRoPlxuICAgICAgICA8L3N2ZzptYXJrZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxzdmc6cGF0dGVybiBpZD1cImJhY2tncm91bmRcIiBoZWlnaHQ9XCIxMFwiIHdpZHRoPVwiMTBcIiBjbGFzcz1cImZiLWJhY2tncm91bmQtcGF0dGVyblwiXG4gICAgICAgICAgICAgICAgIHBhdHRlcm5Vbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICA8c3ZnOmNpcmNsZSBjeD1cIjVcIiBjeT1cIjVcIiByPVwiMC41XCIvPlxuICAgIDwvc3ZnOnBhdHRlcm4+XG4gIDwvc3ZnOmRlZnM+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './f-flow.component';
2
+ export * from './f-flow-base';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2YtZmxvdy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLWZsb3cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZi1mbG93LWJhc2UnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './f-flow.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2NvbXBvbmVudHMvZi1mbG93L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1mbG93LmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { Directive, Inject, InjectionToken, Input, Optional, SkipSelf } from "@angular/core";
2
+ import { Subject } from 'rxjs';
3
+ import { BooleanExtensions } from '@foblex/core';
4
+ import { F_NODE_COMPONENT } from '../f-node-base';
5
+ import * as i0 from "@angular/core";
6
+ export const F_DRAG_HANDLE = new InjectionToken('F_DRAG_HANDLE');
7
+ export class FDragHandleDirective {
8
+ get disabled() {
9
+ return this.isDisabled;
10
+ }
11
+ set disabled(isDisabled) {
12
+ const value = BooleanExtensions.castToBoolean(isDisabled);
13
+ if (value !== this.isDisabled) {
14
+ this.isDisabled = value;
15
+ this.stateChanges.next();
16
+ }
17
+ }
18
+ get hostElement() {
19
+ return this.elementReference.nativeElement;
20
+ }
21
+ constructor(elementReference, _parentNode) {
22
+ this.elementReference = elementReference;
23
+ this.stateChanges = new Subject();
24
+ this.isDisabled = false;
25
+ this._parentNode = _parentNode;
26
+ }
27
+ ngOnDestroy() {
28
+ this.stateChanges.complete();
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FDragHandleDirective, deps: [{ token: i0.ElementRef }, { token: F_NODE_COMPONENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.4", type: FDragHandleDirective, selector: "[fDragHandle]", inputs: { disabled: ["fDragHandleDisabled", "disabled"] }, host: { properties: { "class.f-drag-handle-disabled": "disabled" }, classAttribute: "f-drag-handle f-component" }, providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }], ngImport: i0 }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FDragHandleDirective, decorators: [{
34
+ type: Directive,
35
+ args: [{
36
+ selector: "[fDragHandle]",
37
+ host: {
38
+ class: "f-drag-handle f-component",
39
+ '[class.f-drag-handle-disabled]': 'disabled'
40
+ },
41
+ providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }],
42
+ }]
43
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
44
+ type: Inject,
45
+ args: [F_NODE_COMPONENT]
46
+ }, {
47
+ type: Optional
48
+ }, {
49
+ type: SkipSelf
50
+ }] }]; }, propDecorators: { disabled: [{
51
+ type: Input,
52
+ args: ['fDragHandleDisabled']
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnLWhhbmRsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2Ytbm9kZS9mLWRyYWctaGFuZGxlL2YtZHJhZy1oYW5kbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQWMsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQWEsUUFBUSxFQUFFLFFBQVEsRUFDcEYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sY0FBYyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVsRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQXlDLElBQUksY0FBYyxDQUF1QixlQUFlLENBQUMsQ0FBQztBQVU3SCxNQUFNLE9BQU8sb0JBQW9CO0lBTS9CLElBQ1csUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLFVBQXdDO1FBQzFELE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxRCxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBSUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDVSxnQkFBeUMsRUFDQyxXQUFpQjtRQUQzRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBeEJuQyxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBaUIxRCxlQUFVLEdBQVksS0FBSyxDQUFDO1FBVWxDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs4R0FsQ1Usb0JBQW9CLDRDQTJCckIsZ0JBQWdCO2tHQTNCZixvQkFBb0Isc05BRnBCLENBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxDQUFFOzsyRkFFakUsb0JBQW9CO2tCQVJoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDJCQUEyQjt3QkFDbEMsZ0NBQWdDLEVBQUUsVUFBVTtxQkFDN0M7b0JBQ0QsU0FBUyxFQUFFLENBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBRTtpQkFDN0U7OzBCQTRCSSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQUcsUUFBUTs7MEJBQUksUUFBUTs0Q0FwQnRDLFFBQVE7c0JBRGxCLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGlvblRva2VuLCBJbnB1dCwgT25EZXN0cm95LCBPcHRpb25hbCwgU2tpcFNlbGZcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvb2xlYW5FeHRlbnNpb25zLCBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSUhhc1N0YXRlQ2hhbmdlcyB9IGZyb20gJy4uLy4uLy4uL2ktaGFzLXN0YXRlLWNoYW5nZXMnO1xuaW1wb3J0IHsgRl9OT0RFX0NPTVBPTkVOVCB9IGZyb20gJy4uL2Ytbm9kZS1iYXNlJztcblxuZXhwb3J0IGNvbnN0IEZfRFJBR19IQU5ETEU6IEluamVjdGlvblRva2VuPEZEcmFnSGFuZGxlRGlyZWN0aXZlPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGRHJhZ0hhbmRsZURpcmVjdGl2ZT4oJ0ZfRFJBR19IQU5ETEUnKTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltmRHJhZ0hhbmRsZV1cIixcbiAgaG9zdDoge1xuICAgIGNsYXNzOiBcImYtZHJhZy1oYW5kbGUgZi1jb21wb25lbnRcIixcbiAgICAnW2NsYXNzLmYtZHJhZy1oYW5kbGUtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJ1xuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX0RSQUdfSEFORExFLCB1c2VFeGlzdGluZzogRkRyYWdIYW5kbGVEaXJlY3RpdmUgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGRHJhZ0hhbmRsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCwgSUhhc1N0YXRlQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgX3BhcmVudE5vZGU6IHt9IHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgnZkRyYWdIYW5kbGVEaXNhYmxlZCcpXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQoaXNEaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCB8IHN0cmluZykge1xuICAgIGNvbnN0IHZhbHVlID0gQm9vbGVhbkV4dGVuc2lvbnMuY2FzdFRvQm9vbGVhbihpc0Rpc2FibGVkKTtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdmFsdWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBASW5qZWN0KEZfTk9ERV9DT01QT05FTlQpIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIF9wYXJlbnROb2RlPzogYW55LFxuICApIHtcbiAgICB0aGlzLl9wYXJlbnROb2RlID0gX3BhcmVudE5vZGU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './f-drag-handle.directive';
2
+ export * from './is-drag-handle';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2Ytbm9kZS9mLWRyYWctaGFuZGxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1kcmFnLWhhbmRsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1kcmFnLWhhbmRsZSc7XG4iXX0=
@@ -0,0 +1,20 @@
1
+ export function isNodeDragHandle(element) {
2
+ const dragHandle = getClosestDragHandle(element);
3
+ return !!dragHandle && !isElementOrParentExcluded(element);
4
+ }
5
+ function isElementOrParentExcluded(element) {
6
+ const isContains = isElementContainsClass(element);
7
+ const parentElement = element.parentElement;
8
+ const dragHandle = getClosestDragHandle(parentElement);
9
+ if (!isContains && !!dragHandle) {
10
+ return isElementOrParentExcluded(parentElement);
11
+ }
12
+ return isContains;
13
+ }
14
+ function getClosestDragHandle(element) {
15
+ return element.closest('[fDragHandle]');
16
+ }
17
+ function isElementContainsClass(element) {
18
+ return element.classList.contains('f-drag-handle-disabled');
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZHJhZy1oYW5kbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2Ytbm9kZS9mLWRyYWctaGFuZGxlL2lzLWRyYWctaGFuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxPQUFpQztJQUNoRSxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxPQUFPLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsU0FBUyx5QkFBeUIsQ0FBQyxPQUFpQztJQUNsRSxNQUFNLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRCxNQUFNLGFBQWEsR0FBSSxPQUFPLENBQUMsYUFBNkIsQ0FBQztJQUM3RCxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUU7UUFDL0IsT0FBTyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUNqRDtJQUNELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLE9BQWlDO0lBQzdELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQWdCLENBQUM7QUFDekQsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQUMsT0FBaUM7SUFDL0QsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNOb2RlRHJhZ0hhbmRsZShlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgY29uc3QgZHJhZ0hhbmRsZSA9IGdldENsb3Nlc3REcmFnSGFuZGxlKGVsZW1lbnQpO1xuICByZXR1cm4gISFkcmFnSGFuZGxlICYmICFpc0VsZW1lbnRPclBhcmVudEV4Y2x1ZGVkKGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBpc0VsZW1lbnRPclBhcmVudEV4Y2x1ZGVkKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IGJvb2xlYW4ge1xuICBjb25zdCBpc0NvbnRhaW5zID0gaXNFbGVtZW50Q29udGFpbnNDbGFzcyhlbGVtZW50KTtcbiAgY29uc3QgcGFyZW50RWxlbWVudCA9IChlbGVtZW50LnBhcmVudEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICBjb25zdCBkcmFnSGFuZGxlID0gZ2V0Q2xvc2VzdERyYWdIYW5kbGUocGFyZW50RWxlbWVudCk7XG4gIGlmICghaXNDb250YWlucyAmJiAhIWRyYWdIYW5kbGUpIHtcbiAgICByZXR1cm4gaXNFbGVtZW50T3JQYXJlbnRFeGNsdWRlZChwYXJlbnRFbGVtZW50KTtcbiAgfVxuICByZXR1cm4gaXNDb250YWlucztcbn1cblxuZnVuY3Rpb24gZ2V0Q2xvc2VzdERyYWdIYW5kbGUoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICByZXR1cm4gZWxlbWVudC5jbG9zZXN0KCdbZkRyYWdIYW5kbGVdJykgYXMgSFRNTEVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGlzRWxlbWVudENvbnRhaW5zQ2xhc3MoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZi1kcmFnLWhhbmRsZS1kaXNhYmxlZCcpO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './f-drag-handle.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2NvbXBvbmVudHMvZi1ub2RlL2YtZHJhZy1oYW5kbGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLWRyYWctaGFuZGxlLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { Directive, InjectionToken } from '@angular/core';
2
+ import { debounceTime, startWith, Subject, Subscription } from 'rxjs';
3
+ import { FResizeObserver, RectExtensions } from '@foblex/core';
4
+ import * as i0 from "@angular/core";
5
+ export const F_FOREIGN_OBJECT_COMPONENT = new InjectionToken('F_FOREIGN_OBJECT_COMPONENT');
6
+ export class FForeignObjectBase {
7
+ constructor(_parentNode) {
8
+ this.subscriptions$ = new Subscription();
9
+ this.stateChanges = new Subject();
10
+ this._parentNode = _parentNode;
11
+ }
12
+ ngAfterViewInit() {
13
+ this.subscriptions$.add(this.subscribeOnResizeChanges());
14
+ }
15
+ subscribeOnResizeChanges() {
16
+ return new FResizeObserver(this.hostElement.firstChild).pipe(startWith(null), debounceTime(10)).subscribe(() => {
17
+ this.redraw();
18
+ this.stateChanges.next();
19
+ });
20
+ }
21
+ redraw() {
22
+ const element = this.hostElement.firstChild;
23
+ if (element && !!element.getBoundingClientRect) {
24
+ const rect = RectExtensions.fromElement(element);
25
+ const scale = this.transform.scale;
26
+ this.hostElement.setAttribute("width", `${rect.width / scale}`);
27
+ this.hostElement.setAttribute("height", `${rect.height / scale}`);
28
+ }
29
+ }
30
+ ngOnDestroy() {
31
+ this.stateChanges.complete();
32
+ this.subscriptions$.unsubscribe();
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FForeignObjectBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
35
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.4", type: FForeignObjectBase, ngImport: i0 }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FForeignObjectBase, decorators: [{
38
+ type: Directive
39
+ }], ctorParameters: function () { return [{ type: undefined }]; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mb3JlaWduLW9iamVjdC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9saWIvY29tcG9uZW50cy9mLW5vZGUvZi1mb3JlaWduLW9iamVjdC9mLWZvcmVpZ24tb2JqZWN0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLFNBQVMsRUFBRSxjQUFjLEVBQ3pDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBb0MsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUdqRyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsNEJBQTRCLENBQUMsQ0FBQztBQUcvRyxNQUFNLE9BQWdCLGtCQUFrQjtJQVl0QyxZQUNFLFdBQWlCO1FBWFgsbUJBQWMsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU1uRCxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBT3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQXlCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUgsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNO1FBQ1gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUF5QixDQUFDO1FBQzNELElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUU7WUFDOUMsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsR0FBSSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQU0sRUFBRSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQ3JFO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBNUNtQixrQkFBa0I7a0dBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEdkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgSW5qZWN0aW9uVG9rZW4sIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3RhcnRXaXRoLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZSZXNpemVPYnNlcnZlciwgSUhhc0hvc3RFbGVtZW50LCBJVHJhbnNmb3JtTW9kZWwsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElIYXNTdGF0ZUNoYW5nZXMgfSBmcm9tICcuLi8uLi8uLi9pLWhhcy1zdGF0ZS1jaGFuZ2VzJztcblxuZXhwb3J0IGNvbnN0IEZfRk9SRUlHTl9PQkpFQ1RfQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPEZGb3JlaWduT2JqZWN0QmFzZT4oJ0ZfRk9SRUlHTl9PQkpFQ1RfQ09NUE9ORU5UJyk7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZGb3JlaWduT2JqZWN0QmFzZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIElIYXNTdGF0ZUNoYW5nZXMsIElIYXNIb3N0RWxlbWVudCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgcHVibGljIF9wYXJlbnROb2RlOiB7fSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgaG9zdEVsZW1lbnQ6IFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50O1xuXG4gIHB1YmxpYyBzdGF0ZUNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbDtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgX3BhcmVudE5vZGU/OiBhbnksXG4gICkge1xuICAgIHRoaXMuX3BhcmVudE5vZGUgPSBfcGFyZW50Tm9kZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5hZGQoXG4gICAgICB0aGlzLnN1YnNjcmliZU9uUmVzaXplQ2hhbmdlcygpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlT25SZXNpemVDaGFuZ2VzKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBGUmVzaXplT2JzZXJ2ZXIodGhpcy5ob3N0RWxlbWVudC5maXJzdENoaWxkIGFzIEhUTUxFbGVtZW50KS5waXBlKHN0YXJ0V2l0aChudWxsKSwgZGVib3VuY2VUaW1lKDEwKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVkcmF3KCk7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVkcmF3KCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmhvc3RFbGVtZW50LmZpcnN0Q2hpbGQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKGVsZW1lbnQgJiYgISFlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCkge1xuICAgICAgY29uc3QgcmVjdCA9IFJlY3RFeHRlbnNpb25zLmZyb21FbGVtZW50KGVsZW1lbnQpO1xuICAgICAgY29uc3Qgc2NhbGUgPSB0aGlzLnRyYW5zZm9ybS5zY2FsZTtcbiAgICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwid2lkdGhcIiwgYCR7IHJlY3Qud2lkdGggLyBzY2FsZSB9YCk7XG4gICAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcImhlaWdodFwiLCBgJHsgcmVjdC5oZWlnaHQgLyBzY2FsZSB9YCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { ChangeDetectionStrategy, Component, Inject, Input, Optional, SkipSelf } from "@angular/core";
2
+ import { FForeignObjectBase, F_FOREIGN_OBJECT_COMPONENT } from './f-foreign-object-base';
3
+ import { F_NODE_COMPONENT } from '../index';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../f-flow";
6
+ export class FForeignObjectComponent extends FForeignObjectBase {
7
+ get hostElement() {
8
+ return this.elementReference.nativeElement;
9
+ }
10
+ get transform() {
11
+ return this.flow.transform;
12
+ }
13
+ constructor(elementReference, flow, _parentNode) {
14
+ super(_parentNode);
15
+ this.elementReference = elementReference;
16
+ this.flow = flow;
17
+ this.defaultWidth = 100;
18
+ this.defaultHeight = 100;
19
+ this.hostElement.style.cssText = 'overflow:visible;';
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FForeignObjectComponent, deps: [{ token: i0.ElementRef }, { token: i1.FFlowComponent }, { token: F_NODE_COMPONENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.4", type: FForeignObjectComponent, selector: "foreignObject[fForeignObject]", inputs: { defaultWidth: ["fDefaultWidth", "defaultWidth"], defaultHeight: ["fDefaultHeight", "defaultHeight"] }, host: { properties: { "attr.width": "defaultWidth", "attr.height": "defaultHeight" }, classAttribute: "f-foreign-object f-component" }, providers: [
23
+ { provide: F_FOREIGN_OBJECT_COMPONENT, useExisting: FForeignObjectComponent }
24
+ ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <ng-content></ng-content>\n</ng-container>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FForeignObjectComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: "foreignObject[fForeignObject]", exportAs: "fComponent", changeDetection: ChangeDetectionStrategy.OnPush, host: {
29
+ class: "f-foreign-object f-component",
30
+ '[attr.width]': 'defaultWidth',
31
+ '[attr.height]': 'defaultHeight'
32
+ }, providers: [
33
+ { provide: F_FOREIGN_OBJECT_COMPONENT, useExisting: FForeignObjectComponent }
34
+ ], template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <ng-content></ng-content>\n</ng-container>\n" }]
35
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FFlowComponent }, { type: undefined, decorators: [{
36
+ type: Inject,
37
+ args: [F_NODE_COMPONENT]
38
+ }, {
39
+ type: Optional
40
+ }, {
41
+ type: SkipSelf
42
+ }] }]; }, propDecorators: { defaultWidth: [{
43
+ type: Input,
44
+ args: ['fDefaultWidth']
45
+ }], defaultHeight: [{
46
+ type: Input,
47
+ args: ['fDefaultHeight']
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mb3JlaWduLW9iamVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2Ytbm9kZS9mLWZvcmVpZ24tb2JqZWN0L2YtZm9yZWlnbi1vYmplY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9saWIvY29tcG9uZW50cy9mLW5vZGUvZi1mb3JlaWduLW9iamVjdC9mLWZvcmVpZ24tb2JqZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFDekQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGtCQUFrQixFQUFFLDBCQUEwQixFQUMvQyxNQUFNLHlCQUF5QixDQUFDO0FBR2pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBZ0I1QyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBUTdELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUNVLGdCQUFxRCxFQUNyRCxJQUFvQixFQUNzQixXQUFpQjtRQUVuRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFKWCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFDO1FBQ3JELFNBQUksR0FBSixJQUFJLENBQWdCO1FBZnZCLGlCQUFZLEdBQVcsR0FBRyxDQUFDO1FBRzNCLGtCQUFhLEdBQVcsR0FBRyxDQUFDO1FBZ0JqQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsbUJBQW1CLENBQUM7SUFDdkQsQ0FBQzs4R0F2QlUsdUJBQXVCLDBFQW1CeEIsZ0JBQWdCO2tHQW5CZix1QkFBdUIsaVRBSnZCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFO1NBQzlFLDJFQ3ZCSCx5R0FHQTs7MkZEc0JhLHVCQUF1QjtrQkFkbkMsU0FBUzsrQkFDRSwrQkFBK0IsWUFDL0IsWUFBWSxtQkFFTCx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSw4QkFBOEI7d0JBQ3JDLGNBQWMsRUFBRSxjQUFjO3dCQUM5QixlQUFlLEVBQUUsZUFBZTtxQkFDakMsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLHlCQUF5QixFQUFFO3FCQUM5RTs7MEJBcUJFLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFBRyxRQUFROzswQkFBSSxRQUFROzRDQWhCMUMsWUFBWTtzQkFEbEIsS0FBSzt1QkFBQyxlQUFlO2dCQUlmLGFBQWE7c0JBRG5CLEtBQUs7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFNraXBTZWxmXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBGRm9yZWlnbk9iamVjdEJhc2UsIEZfRk9SRUlHTl9PQkpFQ1RfQ09NUE9ORU5UXG59IGZyb20gJy4vZi1mb3JlaWduLW9iamVjdC1iYXNlJztcbmltcG9ydCB7IEZGbG93Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZi1mbG93JztcbmltcG9ydCB7IElUcmFuc2Zvcm1Nb2RlbCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGX05PREVfQ09NUE9ORU5UIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZm9yZWlnbk9iamVjdFtmRm9yZWlnbk9iamVjdF1cIixcbiAgZXhwb3J0QXM6IFwiZkNvbXBvbmVudFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2YtZm9yZWlnbi1vYmplY3QuY29tcG9uZW50Lmh0bWxcIixcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogXCJmLWZvcmVpZ24tb2JqZWN0IGYtY29tcG9uZW50XCIsXG4gICAgJ1thdHRyLndpZHRoXSc6ICdkZWZhdWx0V2lkdGgnLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2RlZmF1bHRIZWlnaHQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9GT1JFSUdOX09CSkVDVF9DT01QT05FTlQsIHVzZUV4aXN0aW5nOiBGRm9yZWlnbk9iamVjdENvbXBvbmVudCB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRkZvcmVpZ25PYmplY3RDb21wb25lbnQgZXh0ZW5kcyBGRm9yZWlnbk9iamVjdEJhc2Uge1xuXG4gIEBJbnB1dCgnZkRlZmF1bHRXaWR0aCcpXG4gIHB1YmxpYyBkZWZhdWx0V2lkdGg6IG51bWJlciA9IDEwMDtcblxuICBASW5wdXQoJ2ZEZWZhdWx0SGVpZ2h0JylcbiAgcHVibGljIGRlZmF1bHRIZWlnaHQ6IG51bWJlciA9IDEwMDtcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmZsb3cudHJhbnNmb3JtO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50PixcbiAgICBwcml2YXRlIGZsb3c6IEZGbG93Q29tcG9uZW50LFxuICAgIEBJbmplY3QoRl9OT0RFX0NPTVBPTkVOVCkgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgX3BhcmVudE5vZGU/OiBhbnksXG4gICkge1xuICAgIHN1cGVyKF9wYXJlbnROb2RlKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmNzc1RleHQgPSAnb3ZlcmZsb3c6dmlzaWJsZTsnO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIHhtbG5zOnN2Zz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './f-foreign-object.component';
2
+ export * from './f-foreign-object-base';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2Ytbm9kZS9mLWZvcmVpZ24tb2JqZWN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1mb3JlaWduLW9iamVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mLWZvcmVpZ24tb2JqZWN0LWJhc2UnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './f-foreign-object.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2NvbXBvbmVudHMvZi1ub2RlL2YtZm9yZWlnbi1vYmplY3QvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLWZvcmVpZ24tb2JqZWN0LmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { F_SELECTED_CLASS } from '../../i-selectable';
4
+ export const F_NODE_COMPONENT = new InjectionToken('F_NODE_COMPONENT');
5
+ export class FNodeBase {
6
+ constructor() {
7
+ this.stateChanges = new Subject();
8
+ }
9
+ isContains(element) {
10
+ return this.hostElement.contains(element);
11
+ }
12
+ redraw() {
13
+ this.hostElement.setAttribute('transform', 'translate(' + this.position.x + ',' + this.position.y + ')');
14
+ }
15
+ deselect() {
16
+ this.hostElement.classList.remove(F_SELECTED_CLASS);
17
+ }
18
+ select() {
19
+ this.hostElement.classList.add(F_SELECTED_CLASS);
20
+ }
21
+ updatePosition(position) {
22
+ this.position = position;
23
+ }
24
+ completeDrag() {
25
+ this.positionChange.emit(this.position);
26
+ }
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9jb21wb25lbnRzL2Ytbm9kZS9mLW5vZGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGNBQWMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLG9CQUFvQixDQUFDO0FBS25FLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFZLGtCQUFrQixDQUFDLENBQUM7QUFFbEYsTUFBTSxPQUFnQixTQUFTO0lBQS9CO1FBVWtCLGlCQUFZLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7SUErQnBFLENBQUM7SUF2QlEsVUFBVSxDQUFDLE9BQWlDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLGNBQWMsQ0FBQyxRQUFnQjtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDekMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3Rpb25Ub2tlbiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJSGFzU3RhdGVDaGFuZ2VzIH0gZnJvbSAnLi4vLi4vaS1oYXMtc3RhdGUtY2hhbmdlcyc7XG5pbXBvcnQgeyBGX1NFTEVDVEVEX0NMQVNTLCBJU2VsZWN0YWJsZSB9IGZyb20gJy4uLy4uL2ktc2VsZWN0YWJsZSc7XG5pbXBvcnQgeyBGRHJhZ0hhbmRsZURpcmVjdGl2ZSB9IGZyb20gJy4vZi1kcmFnLWhhbmRsZSc7XG5pbXBvcnQgeyBGRm9yZWlnbk9iamVjdEJhc2UgfSBmcm9tICcuL2YtZm9yZWlnbi1vYmplY3QnO1xuaW1wb3J0IHsgRk5vZGVJbnB1dEJhc2UsIEZOb2RlT3V0bGV0QmFzZSwgRk5vZGVPdXRwdXRCYXNlIH0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcblxuZXhwb3J0IGNvbnN0IEZfTk9ERV9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Rk5vZGVCYXNlPignRl9OT0RFX0NPTVBPTkVOVCcpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRk5vZGVCYXNlIGltcGxlbWVudHMgSUhhc1N0YXRlQ2hhbmdlcywgSVNlbGVjdGFibGUsIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGlkOiBhbnk7XG5cbiAgcHVibGljIGFic3RyYWN0IGhhbmRsZXM6IFF1ZXJ5TGlzdDxGRHJhZ0hhbmRsZURpcmVjdGl2ZT47XG5cbiAgcHVibGljIGFic3RyYWN0IGZGb3JlaWduT2JqZWN0OiBGRm9yZWlnbk9iamVjdEJhc2U7XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBTVkdHRWxlbWVudDtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgcG9zaXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUG9pbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBwb3NpdGlvbjogSVBvaW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWZyZXNoKCk6IHZvaWQ7XG5cbiAgcHVibGljIGlzQ29udGFpbnMoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQuY29udGFpbnMoZWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcgKyB0aGlzLnBvc2l0aW9uLnggKyAnLCcgKyB0aGlzLnBvc2l0aW9uLnkgKyAnKScpO1xuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShGX1NFTEVDVEVEX0NMQVNTKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QuYWRkKEZfU0VMRUNURURfQ0xBU1MpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVBvc2l0aW9uKHBvc2l0aW9uOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnBvc2l0aW9uID0gcG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgY29tcGxldGVEcmFnKCk6IHZvaWQge1xuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UuZW1pdCh0aGlzLnBvc2l0aW9uKVxuICB9XG59XG4iXX0=