@foblex/flow 14.0.0 → 16.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 (678) hide show
  1. package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +60 -0
  2. package/esm2022/domain/create-rounded-rect-from-element/create-rounded-rect-from-element.execution.mjs +38 -0
  3. package/esm2022/domain/emit-transform-changes/emit-transform-changes.execution.mjs +23 -0
  4. package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.mjs +46 -0
  5. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +48 -0
  6. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +55 -0
  7. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position.execution.mjs +32 -0
  8. package/esm2022/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.mjs +27 -0
  9. package/esm2022/domain/f-canvas/reset-scale/reset-scale.execution.mjs +28 -0
  10. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +50 -0
  11. package/esm2022/domain/f-canvas/update-scale/update-scale.execution.mjs +33 -0
  12. package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.mjs +38 -0
  13. package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.mjs +54 -0
  14. package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +27 -0
  15. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +25 -0
  16. package/esm2022/domain/f-selection/get-selection/get-selection.execution.mjs +34 -0
  17. package/esm2022/domain/f-selection/select/select.execution.mjs +43 -0
  18. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +37 -0
  19. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +34 -0
  20. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +56 -0
  21. package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +66 -0
  22. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +34 -0
  23. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +42 -0
  24. package/esm2022/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +32 -0
  25. package/esm2022/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +49 -0
  26. package/esm2022/domain/get-flow-state/get-flow-state.execution.mjs +38 -0
  27. package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +30 -0
  28. package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +31 -0
  29. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +33 -0
  30. package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +75 -0
  31. package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +62 -0
  32. package/esm2022/domain/show-connections-after-calculations/show-connections-after-calculations.execution.mjs +25 -0
  33. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +29 -0
  34. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +56 -0
  35. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +58 -0
  36. package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +25 -0
  37. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +29 -0
  38. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +93 -0
  39. package/{esm2020 → esm2022}/f-backgroud/f-background-base.mjs +4 -4
  40. package/{esm2020 → esm2022}/f-backgroud/f-background.component.mjs +7 -7
  41. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +104 -0
  42. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +122 -0
  43. package/{esm2020 → esm2022}/f-canvas/f-canvas-base.mjs +4 -4
  44. package/esm2022/f-canvas/f-canvas.component.mjs +86 -0
  45. package/esm2022/f-connection/common/f-connection-base.mjs +66 -0
  46. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +70 -0
  47. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +66 -0
  48. package/{esm2020 → esm2022}/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +7 -7
  49. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +63 -0
  50. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +59 -0
  51. package/{esm2020 → esm2022}/f-connection/common/f-selection/f-connection-selection.component.mjs +8 -8
  52. package/esm2022/f-connection/f-connection/f-connection.component.mjs +171 -0
  53. package/{esm2020 → esm2022}/f-connection/f-connection-builder/f-connection-factory.mjs +4 -4
  54. package/{esm2020 → esm2022}/f-connection/f-connection-center/f-connection-center.directive.mjs +4 -4
  55. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +136 -0
  56. package/{esm2020 → esm2022}/f-connection/f-marker/f-marker-base.mjs +4 -4
  57. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +58 -0
  58. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +136 -0
  59. package/{esm2020 → esm2022}/f-connectors/f-node-input/f-node-input-base.mjs +4 -4
  60. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +87 -0
  61. package/{esm2020 → esm2022}/f-connectors/f-node-outlet/f-node-outlet-base.mjs +4 -4
  62. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +71 -0
  63. package/{esm2020 → esm2022}/f-connectors/f-node-output/f-node-output-base.mjs +4 -4
  64. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +94 -0
  65. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +23 -0
  66. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +24 -0
  67. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +35 -0
  68. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +42 -0
  69. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +54 -0
  70. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +24 -0
  71. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +43 -0
  72. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +52 -0
  73. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +38 -0
  74. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +33 -0
  75. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +42 -0
  76. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +31 -0
  77. package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +13 -8
  78. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +42 -0
  79. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +26 -0
  80. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +84 -0
  81. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +34 -0
  82. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +49 -0
  83. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +24 -0
  84. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +63 -0
  85. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +43 -0
  86. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +66 -0
  87. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +32 -0
  88. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +28 -0
  89. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +47 -0
  90. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +35 -0
  91. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +33 -0
  92. package/{esm2020 → esm2022}/f-draggable/f-draggable-base.mjs +4 -4
  93. package/{esm2020 → esm2022}/f-draggable/f-draggable-data-context.mjs +4 -4
  94. package/esm2022/f-draggable/f-draggable.directive.mjs +160 -0
  95. package/{esm2020 → esm2022}/f-draggable/node/connection-base-drag-handler.mjs +4 -4
  96. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +84 -0
  97. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +43 -0
  98. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +69 -0
  99. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +69 -0
  100. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +50 -0
  101. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +24 -0
  102. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +58 -0
  103. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +40 -0
  104. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +48 -0
  105. package/{esm2020 → esm2022}/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +1 -1
  106. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +48 -0
  107. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +24 -0
  108. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +33 -0
  109. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +36 -0
  110. package/{esm2020 → esm2022}/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +1 -1
  111. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +37 -0
  112. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +7 -0
  113. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +25 -0
  114. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +24 -0
  115. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +52 -0
  116. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +40 -0
  117. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +49 -0
  118. package/esm2022/f-draggable/single-select/single-select.execution.mjs +88 -0
  119. package/esm2022/f-draggable/single-select/single-select.validator.mjs +26 -0
  120. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +56 -0
  121. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.validator.mjs +24 -0
  122. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +42 -0
  123. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +28 -0
  124. package/{esm2020 → esm2022}/f-external-item/f-external-item-base.mjs +4 -4
  125. package/{esm2020 → esm2022}/f-external-item/f-external-item.directive.mjs +9 -9
  126. package/{esm2020 → esm2022}/f-external-item/f-external-item.service.mjs +4 -4
  127. package/esm2022/f-flow/f-flow.component.mjs +118 -0
  128. package/{esm2020 → esm2022}/f-flow.module.mjs +5 -5
  129. package/{esm2020 → esm2022}/f-line-alignment/f-line-alignment-base.mjs +4 -4
  130. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +92 -0
  131. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +41 -0
  132. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +25 -0
  133. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +24 -0
  134. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +48 -0
  135. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +27 -0
  136. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +66 -0
  137. package/{esm2020 → esm2022}/f-minimap/f-minimap-flow.directive.mjs +10 -10
  138. package/{esm2020 → esm2022}/f-minimap/f-minimap-view.directive.mjs +8 -8
  139. package/{esm2020 → esm2022}/f-minimap/f-minimap.component.mjs +6 -6
  140. package/{esm2020 → esm2022}/f-node/f-drag-handle/f-drag-handle.directive.mjs +7 -7
  141. package/esm2022/f-node/f-group.directive.mjs +145 -0
  142. package/esm2022/f-node/f-node.directive.mjs +146 -0
  143. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +43 -0
  144. package/{esm2020 → esm2022}/f-node/f-rotate-handle/f-rotate-handle.directive.mjs +5 -5
  145. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +25 -0
  146. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +24 -0
  147. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +37 -0
  148. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +30 -0
  149. package/{esm2020 → esm2022}/f-selection-area/domain/selection-area.drag-handle.mjs +4 -4
  150. package/{esm2020 → esm2022}/f-selection-area/f-selection-area-base.mjs +4 -4
  151. package/{esm2020 → esm2022}/f-selection-area/f-selection-area.component.mjs +9 -9
  152. package/{esm2020 → esm2022}/f-storage/f-components-store.mjs +4 -4
  153. package/{esm2020 → esm2022}/f-storage/f-transform-store.mjs +4 -4
  154. package/esm2022/f-zoom/f-zoom-base.mjs +97 -0
  155. package/esm2022/f-zoom/f-zoom.directive.mjs +59 -0
  156. package/esm2022/mixins/change-selection/change-selection.mjs +28 -0
  157. package/f-backgroud/f-background-base.d.ts +1 -1
  158. package/f-backgroud/f-background.component.d.ts +1 -1
  159. package/f-backgroud/f-circle-pattern/f-circle-pattern.component.d.ts +1 -1
  160. package/f-backgroud/f-rect-pattern/f-rect-pattern.component.d.ts +1 -1
  161. package/f-canvas/f-canvas-base.d.ts +1 -1
  162. package/f-canvas/f-canvas.component.d.ts +1 -1
  163. package/f-connection/common/f-connection-base.d.ts +1 -1
  164. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +1 -1
  165. package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +1 -1
  166. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +1 -1
  167. package/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +1 -1
  168. package/f-connection/common/f-path/f-connection-path.component.d.ts +1 -1
  169. package/f-connection/common/f-selection/f-connection-selection.component.d.ts +1 -1
  170. package/f-connection/f-connection/f-connection.component.d.ts +1 -1
  171. package/f-connection/f-connection-center/f-connection-center.directive.d.ts +1 -1
  172. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
  173. package/f-connection/f-marker/f-marker-base.d.ts +1 -1
  174. package/f-connection/f-marker/f-marker.directive.d.ts +1 -1
  175. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +1 -1
  176. package/f-connectors/f-node-input/f-node-input-base.d.ts +1 -1
  177. package/f-connectors/f-node-input/f-node-input.directive.d.ts +1 -1
  178. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -1
  179. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +1 -1
  180. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -1
  181. package/f-connectors/f-node-output/f-node-output.directive.d.ts +1 -1
  182. package/f-draggable/connections/providers.d.ts +1 -1
  183. package/f-draggable/f-draggable-base.d.ts +1 -1
  184. package/f-draggable/f-draggable.directive.d.ts +1 -1
  185. package/f-draggable/node/connection-base-drag-handler.d.ts +1 -1
  186. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
  187. package/f-draggable/node/providers.d.ts +1 -1
  188. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +1 -0
  189. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +2 -1
  190. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +0 -1
  191. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +2 -3
  192. package/f-draggable/node-resize/providers.d.ts +1 -1
  193. package/f-draggable/providers.d.ts +1 -1
  194. package/f-external-item/f-external-item-base.d.ts +1 -1
  195. package/f-external-item/f-external-item.directive.d.ts +1 -1
  196. package/f-flow/f-flow.component.d.ts +1 -1
  197. package/f-line-alignment/f-line-alignment-base.d.ts +1 -1
  198. package/f-line-alignment/f-line-alignment.component.d.ts +1 -1
  199. package/f-minimap/f-minimap-canvas.directive.d.ts +1 -1
  200. package/f-minimap/f-minimap-flow.directive.d.ts +1 -1
  201. package/f-minimap/f-minimap-view.directive.d.ts +1 -1
  202. package/f-minimap/f-minimap.component.d.ts +1 -1
  203. package/f-node/f-drag-handle/f-drag-handle.directive.d.ts +1 -1
  204. package/f-node/f-group.directive.d.ts +1 -1
  205. package/f-node/f-node.directive.d.ts +1 -1
  206. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -1
  207. package/f-selection-area/f-selection-area-base.d.ts +1 -1
  208. package/f-selection-area/f-selection-area.component.d.ts +1 -1
  209. package/f-zoom/f-zoom.directive.d.ts +1 -1
  210. package/{fesm2020 → fesm2022}/foblex-flow.mjs +870 -854
  211. package/fesm2022/foblex-flow.mjs.map +1 -0
  212. package/mixins/change-selection/change-selection.d.ts +1 -1
  213. package/mixins/change-visibility/change-visibility.d.ts +1 -1
  214. package/mixins/constructor.d.ts +2 -2
  215. package/package.json +5 -11
  216. package/esm2020/domain/create-connection-markers/create-connection-markers.execution.mjs +0 -61
  217. package/esm2020/domain/create-rounded-rect-from-element/create-rounded-rect-from-element.execution.mjs +0 -39
  218. package/esm2020/domain/emit-transform-changes/emit-transform-changes.execution.mjs +0 -24
  219. package/esm2020/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.mjs +0 -47
  220. package/esm2020/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +0 -49
  221. package/esm2020/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +0 -56
  222. package/esm2020/domain/f-canvas/input-canvas-position/input-canvas-position.execution.mjs +0 -33
  223. package/esm2020/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.mjs +0 -28
  224. package/esm2020/domain/f-canvas/reset-scale/reset-scale.execution.mjs +0 -29
  225. package/esm2020/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +0 -51
  226. package/esm2020/domain/f-canvas/update-scale/update-scale.execution.mjs +0 -34
  227. package/esm2020/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.mjs +0 -39
  228. package/esm2020/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.mjs +0 -55
  229. package/esm2020/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +0 -28
  230. package/esm2020/domain/f-selection/clear-selection/clear-selection.execution.mjs +0 -26
  231. package/esm2020/domain/f-selection/get-selection/get-selection.execution.mjs +0 -35
  232. package/esm2020/domain/f-selection/select/select.execution.mjs +0 -44
  233. package/esm2020/domain/f-selection/select-all/select-all.execution.mjs +0 -38
  234. package/esm2020/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +0 -35
  235. package/esm2020/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +0 -57
  236. package/esm2020/domain/get-connection-line/get-connection-line.execution.mjs +0 -67
  237. package/esm2020/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +0 -35
  238. package/esm2020/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +0 -43
  239. package/esm2020/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +0 -33
  240. package/esm2020/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +0 -50
  241. package/esm2020/domain/get-flow-state/get-flow-state.execution.mjs +0 -39
  242. package/esm2020/domain/get-nodes-rect/get-nodes-rect.execution.mjs +0 -31
  243. package/esm2020/domain/get-position-in-flow/get-position-in-flow.execution.mjs +0 -32
  244. package/esm2020/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +0 -34
  245. package/esm2020/domain/is-connection-under-node/is-connection-under-node.execution.mjs +0 -76
  246. package/esm2020/domain/redraw-connections/redraw-connections.execution.mjs +0 -63
  247. package/esm2020/domain/show-connections-after-calculations/show-connections-after-calculations.execution.mjs +0 -26
  248. package/esm2020/domain/sort-item-layers/sort-item-layers.execution.mjs +0 -30
  249. package/esm2020/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +0 -57
  250. package/esm2020/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +0 -59
  251. package/esm2020/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +0 -26
  252. package/esm2020/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +0 -30
  253. package/esm2020/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +0 -94
  254. package/esm2020/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +0 -104
  255. package/esm2020/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +0 -122
  256. package/esm2020/f-canvas/f-canvas.component.mjs +0 -86
  257. package/esm2020/f-connection/common/f-connection-base.mjs +0 -66
  258. package/esm2020/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +0 -70
  259. package/esm2020/f-connection/common/f-connection-text/f-connection-text.component.mjs +0 -66
  260. package/esm2020/f-connection/common/f-gradient/f-connection-gradient.component.mjs +0 -63
  261. package/esm2020/f-connection/common/f-path/f-connection-path.component.mjs +0 -59
  262. package/esm2020/f-connection/f-connection/f-connection.component.mjs +0 -171
  263. package/esm2020/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +0 -136
  264. package/esm2020/f-connection/f-marker/f-marker.directive.mjs +0 -58
  265. package/esm2020/f-connection/f-snap-connection/f-snap-connection.component.mjs +0 -136
  266. package/esm2020/f-connectors/f-node-input/f-node-input.directive.mjs +0 -87
  267. package/esm2020/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +0 -71
  268. package/esm2020/f-connectors/f-node-output/f-node-output.directive.mjs +0 -94
  269. package/esm2020/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +0 -24
  270. package/esm2020/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +0 -25
  271. package/esm2020/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +0 -36
  272. package/esm2020/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +0 -43
  273. package/esm2020/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +0 -55
  274. package/esm2020/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +0 -25
  275. package/esm2020/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -44
  276. package/esm2020/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +0 -53
  277. package/esm2020/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +0 -39
  278. package/esm2020/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -34
  279. package/esm2020/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +0 -43
  280. package/esm2020/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +0 -32
  281. package/esm2020/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +0 -43
  282. package/esm2020/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +0 -27
  283. package/esm2020/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +0 -85
  284. package/esm2020/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +0 -35
  285. package/esm2020/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +0 -50
  286. package/esm2020/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +0 -25
  287. package/esm2020/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +0 -64
  288. package/esm2020/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +0 -44
  289. package/esm2020/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +0 -58
  290. package/esm2020/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +0 -33
  291. package/esm2020/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +0 -29
  292. package/esm2020/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +0 -48
  293. package/esm2020/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +0 -36
  294. package/esm2020/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +0 -34
  295. package/esm2020/f-draggable/f-draggable.directive.mjs +0 -160
  296. package/esm2020/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +0 -85
  297. package/esm2020/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +0 -44
  298. package/esm2020/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +0 -70
  299. package/esm2020/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +0 -70
  300. package/esm2020/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +0 -51
  301. package/esm2020/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +0 -25
  302. package/esm2020/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +0 -59
  303. package/esm2020/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +0 -41
  304. package/esm2020/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +0 -49
  305. package/esm2020/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +0 -49
  306. package/esm2020/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +0 -25
  307. package/esm2020/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +0 -34
  308. package/esm2020/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +0 -31
  309. package/esm2020/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +0 -41
  310. package/esm2020/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +0 -7
  311. package/esm2020/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +0 -26
  312. package/esm2020/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +0 -25
  313. package/esm2020/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +0 -53
  314. package/esm2020/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -41
  315. package/esm2020/f-draggable/node-resize/node-resize.drag-handler.mjs +0 -48
  316. package/esm2020/f-draggable/single-select/single-select.execution.mjs +0 -89
  317. package/esm2020/f-draggable/single-select/single-select.validator.mjs +0 -27
  318. package/esm2020/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +0 -57
  319. package/esm2020/f-external-item/domain/external-item-finalize/external-item-finalize.validator.mjs +0 -25
  320. package/esm2020/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +0 -43
  321. package/esm2020/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -29
  322. package/esm2020/f-flow/f-flow.component.mjs +0 -118
  323. package/esm2020/f-line-alignment/f-line-alignment.component.mjs +0 -92
  324. package/esm2020/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +0 -42
  325. package/esm2020/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +0 -26
  326. package/esm2020/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -25
  327. package/esm2020/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +0 -49
  328. package/esm2020/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -28
  329. package/esm2020/f-minimap/f-minimap-canvas.directive.mjs +0 -66
  330. package/esm2020/f-node/f-group.directive.mjs +0 -145
  331. package/esm2020/f-node/f-node.directive.mjs +0 -146
  332. package/esm2020/f-node/f-resize-handle/f-resize-handle.directive.mjs +0 -43
  333. package/esm2020/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +0 -26
  334. package/esm2020/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -25
  335. package/esm2020/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +0 -38
  336. package/esm2020/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -31
  337. package/esm2020/f-zoom/f-zoom-base.mjs +0 -97
  338. package/esm2020/f-zoom/f-zoom.directive.mjs +0 -59
  339. package/esm2020/mixins/change-selection/change-selection.mjs +0 -28
  340. package/fesm2015/foblex-flow.mjs +0 -7927
  341. package/fesm2015/foblex-flow.mjs.map +0 -1
  342. package/fesm2020/foblex-flow.mjs.map +0 -1
  343. /package/{esm2020 → esm2022}/domain/constants.mjs +0 -0
  344. /package/{esm2020 → esm2022}/domain/create-connection-markers/create-connection-markers-request.mjs +0 -0
  345. /package/{esm2020 → esm2022}/domain/create-connection-markers/index.mjs +0 -0
  346. /package/{esm2020 → esm2022}/domain/create-dom-element.mjs +0 -0
  347. /package/{esm2020 → esm2022}/domain/create-rounded-rect-from-element/create-rounded-rect-from-element-request.mjs +0 -0
  348. /package/{esm2020 → esm2022}/domain/create-rounded-rect-from-element/index.mjs +0 -0
  349. /package/{esm2020 → esm2022}/domain/emit-transform-changes/emit-transform-changes.request.mjs +0 -0
  350. /package/{esm2020 → esm2022}/domain/emit-transform-changes/index.mjs +0 -0
  351. /package/{esm2020 → esm2022}/domain/f-background/add-pattern-to-background/add-pattern-to-background.request.mjs +0 -0
  352. /package/{esm2020 → esm2022}/domain/f-background/add-pattern-to-background/index.mjs +0 -0
  353. /package/{esm2020 → esm2022}/domain/f-background/index.mjs +0 -0
  354. /package/{esm2020 → esm2022}/domain/f-background/providers.mjs +0 -0
  355. /package/{esm2020 → esm2022}/domain/f-canvas/center-group-or-node/center-group-or-node-request.mjs +0 -0
  356. /package/{esm2020 → esm2022}/domain/f-canvas/center-group-or-node/index.mjs +0 -0
  357. /package/{esm2020 → esm2022}/domain/f-canvas/fit-to-flow/fit-to-flow-request.mjs +0 -0
  358. /package/{esm2020 → esm2022}/domain/f-canvas/fit-to-flow/index.mjs +0 -0
  359. /package/{esm2020 → esm2022}/domain/f-canvas/index.mjs +0 -0
  360. /package/{esm2020 → esm2022}/domain/f-canvas/input-canvas-position/index.mjs +0 -0
  361. /package/{esm2020 → esm2022}/domain/f-canvas/input-canvas-position/input-canvas-position-request.mjs +0 -0
  362. /package/{esm2020 → esm2022}/domain/f-canvas/input-canvas-scale/index.mjs +0 -0
  363. /package/{esm2020 → esm2022}/domain/f-canvas/input-canvas-scale/input-canvas-scale-request.mjs +0 -0
  364. /package/{esm2020 → esm2022}/domain/f-canvas/providers.mjs +0 -0
  365. /package/{esm2020 → esm2022}/domain/f-canvas/reset-scale/index.mjs +0 -0
  366. /package/{esm2020 → esm2022}/domain/f-canvas/reset-scale/reset-scale-request.mjs +0 -0
  367. /package/{esm2020 → esm2022}/domain/f-canvas/reset-scale-and-center/index.mjs +0 -0
  368. /package/{esm2020 → esm2022}/domain/f-canvas/reset-scale-and-center/reset-scale-and-center-request.mjs +0 -0
  369. /package/{esm2020 → esm2022}/domain/f-canvas/update-scale/index.mjs +0 -0
  370. /package/{esm2020 → esm2022}/domain/f-canvas/update-scale/update-scale-request.mjs +0 -0
  371. /package/{esm2020 → esm2022}/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.mjs +0 -0
  372. /package/{esm2020 → esm2022}/domain/f-connection/find-closest-input-using-snap-threshold/index.mjs +0 -0
  373. /package/{esm2020 → esm2022}/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.request.mjs +0 -0
  374. /package/{esm2020 → esm2022}/domain/f-connection/get-all-can-be-connected-input-positions/index.mjs +0 -0
  375. /package/{esm2020 → esm2022}/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.mjs +0 -0
  376. /package/{esm2020 → esm2022}/domain/f-connection/get-connector-with-rect/i-connector-with-rect.mjs +0 -0
  377. /package/{esm2020 → esm2022}/domain/f-connection/get-connector-with-rect/index.mjs +0 -0
  378. /package/{esm2020 → esm2022}/domain/f-connection/index.mjs +0 -0
  379. /package/{esm2020 → esm2022}/domain/f-connection/providers.mjs +0 -0
  380. /package/{esm2020 → esm2022}/domain/f-selection/clear-selection/clear-selection.request.mjs +0 -0
  381. /package/{esm2020 → esm2022}/domain/f-selection/clear-selection/index.mjs +0 -0
  382. /package/{esm2020 → esm2022}/domain/f-selection/get-selection/get-selection.request.mjs +0 -0
  383. /package/{esm2020 → esm2022}/domain/f-selection/get-selection/index.mjs +0 -0
  384. /package/{esm2020 → esm2022}/domain/f-selection/index.mjs +0 -0
  385. /package/{esm2020 → esm2022}/domain/f-selection/providers.mjs +0 -0
  386. /package/{esm2020 → esm2022}/domain/f-selection/select/index.mjs +0 -0
  387. /package/{esm2020 → esm2022}/domain/f-selection/select/select.request.mjs +0 -0
  388. /package/{esm2020 → esm2022}/domain/f-selection/select-all/index.mjs +0 -0
  389. /package/{esm2020 → esm2022}/domain/f-selection/select-all/select-all.request.mjs +0 -0
  390. /package/{esm2020 → esm2022}/domain/f-selection/select-and-update-node-layer/index.mjs +0 -0
  391. /package/{esm2020 → esm2022}/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.mjs +0 -0
  392. /package/{esm2020 → esm2022}/domain/get-can-be-selected-items/get-can-be-selected-items-request.mjs +0 -0
  393. /package/{esm2020 → esm2022}/domain/get-can-be-selected-items/i-selectable-with-rect.mjs +0 -0
  394. /package/{esm2020 → esm2022}/domain/get-can-be-selected-items/index.mjs +0 -0
  395. /package/{esm2020 → esm2022}/domain/get-connection-line/get-connection-line.request.mjs +0 -0
  396. /package/{esm2020 → esm2022}/domain/get-connection-line/index.mjs +0 -0
  397. /package/{esm2020 → esm2022}/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.mjs +0 -0
  398. /package/{esm2020 → esm2022}/domain/get-deep-children-nodes-and-groups/index.mjs +0 -0
  399. /package/{esm2020 → esm2022}/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.mjs +0 -0
  400. /package/{esm2020 → esm2022}/domain/get-element-rect-in-flow/index.mjs +0 -0
  401. /package/{esm2020 → esm2022}/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.mjs +0 -0
  402. /package/{esm2020 → esm2022}/domain/get-flow-state/get-flow-state-connections/index.mjs +0 -0
  403. /package/{esm2020 → esm2022}/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +0 -0
  404. /package/{esm2020 → esm2022}/domain/get-flow-state/get-flow-state-nodes/index.mjs +0 -0
  405. /package/{esm2020 → esm2022}/domain/get-flow-state/get-flow-state.request.mjs +0 -0
  406. /package/{esm2020 → esm2022}/domain/get-flow-state/i-f-flow-state-connection.mjs +0 -0
  407. /package/{esm2020 → esm2022}/domain/get-flow-state/i-f-flow-state-connector.mjs +0 -0
  408. /package/{esm2020 → esm2022}/domain/get-flow-state/i-f-flow-state-node.mjs +0 -0
  409. /package/{esm2020 → esm2022}/domain/get-flow-state/i-f-flow-state.mjs +0 -0
  410. /package/{esm2020 → esm2022}/domain/get-flow-state/index.mjs +0 -0
  411. /package/{esm2020 → esm2022}/domain/get-flow-state/providers.mjs +0 -0
  412. /package/{esm2020 → esm2022}/domain/get-nodes-rect/get-nodes-rect.request.mjs +0 -0
  413. /package/{esm2020 → esm2022}/domain/get-nodes-rect/index.mjs +0 -0
  414. /package/{esm2020 → esm2022}/domain/get-position-in-flow/get-position-in-flow-request.mjs +0 -0
  415. /package/{esm2020 → esm2022}/domain/get-position-in-flow/index.mjs +0 -0
  416. /package/{esm2020 → esm2022}/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.mjs +0 -0
  417. /package/{esm2020 → esm2022}/domain/get-scaled-node-rects-with-flow-position/index.mjs +0 -0
  418. /package/{esm2020 → esm2022}/domain/i-map.mjs +0 -0
  419. /package/{esm2020 → esm2022}/domain/index.mjs +0 -0
  420. /package/{esm2020 → esm2022}/domain/is-connection-under-node/index.mjs +0 -0
  421. /package/{esm2020 → esm2022}/domain/is-connection-under-node/is-connection-under-node.request.mjs +0 -0
  422. /package/{esm2020 → esm2022}/domain/providers.mjs +0 -0
  423. /package/{esm2020 → esm2022}/domain/redraw-connections/index.mjs +0 -0
  424. /package/{esm2020 → esm2022}/domain/redraw-connections/redraw-connections-request.mjs +0 -0
  425. /package/{esm2020 → esm2022}/domain/show-connections-after-calculations/index.mjs +0 -0
  426. /package/{esm2020 → esm2022}/domain/show-connections-after-calculations/show-connections-after-calculations-request.mjs +0 -0
  427. /package/{esm2020 → esm2022}/domain/sort-item-layers/index.mjs +0 -0
  428. /package/{esm2020 → esm2022}/domain/sort-item-layers/sort-item-layers.request.mjs +0 -0
  429. /package/{esm2020 → esm2022}/domain/sort-item-layers/sort-items-by-parent/index.mjs +0 -0
  430. /package/{esm2020 → esm2022}/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.mjs +0 -0
  431. /package/{esm2020 → esm2022}/domain/sort-item-layers/sort-node-layers-by-groups/index.mjs +0 -0
  432. /package/{esm2020 → esm2022}/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.mjs +0 -0
  433. /package/{esm2020 → esm2022}/domain/subscribe-on-transform-changes/index.mjs +0 -0
  434. /package/{esm2020 → esm2022}/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.mjs +0 -0
  435. /package/{esm2020 → esm2022}/domain/update-item-and-children-layers/index.mjs +0 -0
  436. /package/{esm2020 → esm2022}/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs +0 -0
  437. /package/{esm2020 → esm2022}/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +0 -0
  438. /package/{esm2020 → esm2022}/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +0 -0
  439. /package/{esm2020 → esm2022}/errors/conflict-error.mjs +0 -0
  440. /package/{esm2020 → esm2022}/errors/create-error-class.mjs +0 -0
  441. /package/{esm2020 → esm2022}/errors/errors.mjs +0 -0
  442. /package/{esm2020 → esm2022}/errors/index.mjs +0 -0
  443. /package/{esm2020 → esm2022}/errors/not-found-error.mjs +0 -0
  444. /package/{esm2020 → esm2022}/f-backgroud/domain/i-f-background-pattern.mjs +0 -0
  445. /package/{esm2020 → esm2022}/f-backgroud/domain/index.mjs +0 -0
  446. /package/{esm2020 → esm2022}/f-backgroud/f-circle-pattern/index.mjs +0 -0
  447. /package/{esm2020 → esm2022}/f-backgroud/f-rect-pattern/index.mjs +0 -0
  448. /package/{esm2020 → esm2022}/f-backgroud/index.mjs +0 -0
  449. /package/{esm2020 → esm2022}/f-backgroud/providers.mjs +0 -0
  450. /package/{esm2020 → esm2022}/f-canvas/domain/f-canvas-change.event.mjs +0 -0
  451. /package/{esm2020 → esm2022}/f-canvas/domain/index.mjs +0 -0
  452. /package/{esm2020 → esm2022}/f-canvas/index.mjs +0 -0
  453. /package/{esm2020 → esm2022}/f-canvas/providers.mjs +0 -0
  454. /package/{esm2020 → esm2022}/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +0 -0
  455. /package/{esm2020 → esm2022}/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.mjs +0 -0
  456. /package/{esm2020 → esm2022}/f-connection/common/domain/calculate-center-between-points/index.mjs +0 -0
  457. /package/{esm2020 → esm2022}/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +0 -0
  458. /package/{esm2020 → esm2022}/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +0 -0
  459. /package/{esm2020 → esm2022}/f-connection/common/domain/calculate-connection-center/index.mjs +0 -0
  460. /package/{esm2020 → esm2022}/f-connection/common/domain/f-bezier.path-builder.mjs +0 -0
  461. /package/{esm2020 → esm2022}/f-connection/common/domain/f-segment.path-builder.mjs +0 -0
  462. /package/{esm2020 → esm2022}/f-connection/common/domain/f-straight.path-builder.mjs +0 -0
  463. /package/{esm2020 → esm2022}/f-connection/common/domain/index.mjs +0 -0
  464. /package/{esm2020 → esm2022}/f-connection/common/e-f-connection-behavior.mjs +0 -0
  465. /package/{esm2020 → esm2022}/f-connection/common/e-f-connection-type.mjs +0 -0
  466. /package/{esm2020 → esm2022}/f-connection/common/f-connection-identifiers.mjs +0 -0
  467. /package/{esm2020 → esm2022}/f-connection/common/f-connection-text/i-connection-text.mjs +0 -0
  468. /package/{esm2020 → esm2022}/f-connection/common/f-connection-text/index.mjs +0 -0
  469. /package/{esm2020 → esm2022}/f-connection/common/f-connection.injection-token.mjs +0 -0
  470. /package/{esm2020 → esm2022}/f-connection/common/f-drag-handle/index.mjs +0 -0
  471. /package/{esm2020 → esm2022}/f-connection/common/f-gradient/i-connection-gradient.mjs +0 -0
  472. /package/{esm2020 → esm2022}/f-connection/common/f-gradient/index.mjs +0 -0
  473. /package/{esm2020 → esm2022}/f-connection/common/f-path/get-path-marker-id.mjs +0 -0
  474. /package/{esm2020 → esm2022}/f-connection/common/f-path/i-connection-path.mjs +0 -0
  475. /package/{esm2020 → esm2022}/f-connection/common/f-path/index.mjs +0 -0
  476. /package/{esm2020 → esm2022}/f-connection/common/f-selection/index.mjs +0 -0
  477. /package/{esm2020 → esm2022}/f-connection/common/i-has-connection-color.mjs +0 -0
  478. /package/{esm2020 → esm2022}/f-connection/common/i-has-connection-from-to.mjs +0 -0
  479. /package/{esm2020 → esm2022}/f-connection/common/i-has-connection-text.mjs +0 -0
  480. /package/{esm2020 → esm2022}/f-connection/common/index.mjs +0 -0
  481. /package/{esm2020 → esm2022}/f-connection/f-connection/index.mjs +0 -0
  482. /package/{esm2020 → esm2022}/f-connection/f-connection-builder/f-connection-builders.mjs +0 -0
  483. /package/{esm2020 → esm2022}/f-connection/f-connection-builder/i-f-connection-builder-request.mjs +0 -0
  484. /package/{esm2020 → esm2022}/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +0 -0
  485. /package/{esm2020 → esm2022}/f-connection/f-connection-builder/i-f-connection-builder.mjs +0 -0
  486. /package/{esm2020 → esm2022}/f-connection/f-connection-builder/i-f-connection-factory-request.mjs +0 -0
  487. /package/{esm2020 → esm2022}/f-connection/f-connection-builder/index.mjs +0 -0
  488. /package/{esm2020 → esm2022}/f-connection/f-connection-center/index.mjs +0 -0
  489. /package/{esm2020 → esm2022}/f-connection/f-connection-for-create/index.mjs +0 -0
  490. /package/{esm2020 → esm2022}/f-connection/f-marker/e-f-marker-type.mjs +0 -0
  491. /package/{esm2020 → esm2022}/f-connection/f-marker/index.mjs +0 -0
  492. /package/{esm2020 → esm2022}/f-connection/f-snap-connection/index.mjs +0 -0
  493. /package/{esm2020 → esm2022}/f-connection/index.mjs +0 -0
  494. /package/{esm2020 → esm2022}/f-connection/providers.mjs +0 -0
  495. /package/{esm2020 → esm2022}/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.mjs +0 -0
  496. /package/{esm2020 → esm2022}/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +0 -0
  497. /package/{esm2020 → esm2022}/f-connectors/domain/calculate-connector-connectable-side/index.mjs +0 -0
  498. /package/{esm2020 → esm2022}/f-connectors/domain/index.mjs +0 -0
  499. /package/{esm2020 → esm2022}/f-connectors/e-f-connectable-side.mjs +0 -0
  500. /package/{esm2020 → esm2022}/f-connectors/f-connector-base.mjs +0 -0
  501. /package/{esm2020 → esm2022}/f-connectors/f-node-input/index.mjs +0 -0
  502. /package/{esm2020 → esm2022}/f-connectors/f-node-outlet/index.mjs +0 -0
  503. /package/{esm2020 → esm2022}/f-connectors/f-node-outlet/is-node-outlet.mjs +0 -0
  504. /package/{esm2020 → esm2022}/f-connectors/f-node-output/index.mjs +0 -0
  505. /package/{esm2020 → esm2022}/f-connectors/f-node-output/is-node-output.mjs +0 -0
  506. /package/{esm2020 → esm2022}/f-connectors/index.mjs +0 -0
  507. /package/{esm2020 → esm2022}/f-connectors/providers.mjs +0 -0
  508. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.mjs +0 -0
  509. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas-move-finalize/index.mjs +0 -0
  510. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas-move-finalize/providers.mjs +0 -0
  511. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.mjs +0 -0
  512. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas-move-preparation/index.mjs +0 -0
  513. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas-move-preparation/providers.mjs +0 -0
  514. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas.drag-handler.mjs +0 -0
  515. /package/{esm2020 → esm2022}/f-draggable/canvas/index.mjs +0 -0
  516. /package/{esm2020 → esm2022}/f-draggable/canvas/providers.mjs +0 -0
  517. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.mjs +0 -0
  518. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-finalize/index.mjs +0 -0
  519. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +0 -0
  520. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +0 -0
  521. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +0 -0
  522. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.mjs +0 -0
  523. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +0 -0
  524. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +0 -0
  525. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +0 -0
  526. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +0 -0
  527. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/f-create-connection.event.mjs +0 -0
  528. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +0 -0
  529. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +0 -0
  530. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/index.mjs +0 -0
  531. /package/{esm2020 → esm2022}/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.mjs +0 -0
  532. /package/{esm2020 → esm2022}/f-draggable/connections/get-input-under-pointer/index.mjs +0 -0
  533. /package/{esm2020 → esm2022}/f-draggable/connections/index.mjs +0 -0
  534. /package/{esm2020 → esm2022}/f-draggable/connections/providers.mjs +0 -0
  535. /package/{esm2020 → esm2022}/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +0 -0
  536. /package/{esm2020 → esm2022}/f-draggable/connections/reassign-connection/index.mjs +0 -0
  537. /package/{esm2020 → esm2022}/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs +0 -0
  538. /package/{esm2020 → esm2022}/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.mjs +0 -0
  539. /package/{esm2020 → esm2022}/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs +0 -0
  540. /package/{esm2020 → esm2022}/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +0 -0
  541. /package/{esm2020 → esm2022}/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +0 -0
  542. /package/{esm2020 → esm2022}/f-draggable/domain/get-node-padding/index.mjs +0 -0
  543. /package/{esm2020 → esm2022}/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs +0 -0
  544. /package/{esm2020 → esm2022}/f-draggable/domain/get-normalized-node-rect/index.mjs +0 -0
  545. /package/{esm2020 → esm2022}/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs +0 -0
  546. /package/{esm2020 → esm2022}/f-draggable/domain/get-normalized-parent-node-rect/index.mjs +0 -0
  547. /package/{esm2020 → esm2022}/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs +0 -0
  548. /package/{esm2020 → esm2022}/f-draggable/domain/get-parent-nodes/index.mjs +0 -0
  549. /package/{esm2020 → esm2022}/f-draggable/domain/index.mjs +0 -0
  550. /package/{esm2020 → esm2022}/f-draggable/domain/is-array-has-parent-node/index.mjs +0 -0
  551. /package/{esm2020 → esm2022}/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +0 -0
  552. /package/{esm2020 → esm2022}/f-draggable/domain/providers.mjs +0 -0
  553. /package/{esm2020 → esm2022}/f-draggable/f-selection-change-event.mjs +0 -0
  554. /package/{esm2020 → esm2022}/f-draggable/i-draggable-item.mjs +0 -0
  555. /package/{esm2020 → esm2022}/f-draggable/i-f-drag-and-drop-plugin.mjs +0 -0
  556. /package/{esm2020 → esm2022}/f-draggable/index.mjs +0 -0
  557. /package/{esm2020 → esm2022}/f-draggable/node/connection-source.drag-handler.mjs +0 -0
  558. /package/{esm2020 → esm2022}/f-draggable/node/connection-target.drag-handler.mjs +0 -0
  559. /package/{esm2020 → esm2022}/f-draggable/node/connection.drag-handler.mjs +0 -0
  560. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs +0 -0
  561. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.mjs +0 -0
  562. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs +0 -0
  563. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs +0 -0
  564. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs +0 -0
  565. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs +0 -0
  566. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs +0 -0
  567. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs +0 -0
  568. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +0 -0
  569. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +0 -0
  570. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +0 -0
  571. /package/{esm2020 → esm2022}/f-draggable/node/index.mjs +0 -0
  572. /package/{esm2020 → esm2022}/f-draggable/node/node-move-finalize/index.mjs +0 -0
  573. /package/{esm2020 → esm2022}/f-draggable/node/node-move-finalize/node-move-finalize.request.mjs +0 -0
  574. /package/{esm2020 → esm2022}/f-draggable/node/node-move-finalize/providers.mjs +0 -0
  575. /package/{esm2020 → esm2022}/f-draggable/node/node-move-preparation/index.mjs +0 -0
  576. /package/{esm2020 → esm2022}/f-draggable/node/node-move-preparation/node-move-preparation.request.mjs +0 -0
  577. /package/{esm2020 → esm2022}/f-draggable/node/node-move-preparation/providers.mjs +0 -0
  578. /package/{esm2020 → esm2022}/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -0
  579. /package/{esm2020 → esm2022}/f-draggable/node/node.drag-handler.mjs +0 -0
  580. /package/{esm2020 → esm2022}/f-draggable/node/providers.mjs +0 -0
  581. /package/{esm2020 → esm2022}/f-draggable/node-resize/apply-child-resize-restrictions/index.mjs +0 -0
  582. /package/{esm2020 → esm2022}/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +0 -0
  583. /package/{esm2020 → esm2022}/f-draggable/node-resize/apply-parent-resize-restrictions/index.mjs +0 -0
  584. /package/{esm2020 → esm2022}/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.mjs +0 -0
  585. /package/{esm2020 → esm2022}/f-draggable/node-resize/calculate-changed-position/index.mjs +0 -0
  586. /package/{esm2020 → esm2022}/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.mjs +0 -0
  587. /package/{esm2020 → esm2022}/f-draggable/node-resize/calculate-changed-size/index.mjs +0 -0
  588. /package/{esm2020 → esm2022}/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +0 -0
  589. /package/{esm2020 → esm2022}/f-draggable/node-resize/get-node-resize-restrictions/index.mjs +0 -0
  590. /package/{esm2020 → esm2022}/f-draggable/node-resize/get-normalized-children-nodes-rect/index.mjs +0 -0
  591. /package/{esm2020 → esm2022}/f-draggable/node-resize/index.mjs +0 -0
  592. /package/{esm2020 → esm2022}/f-draggable/node-resize/node-resize-finalize/index.mjs +0 -0
  593. /package/{esm2020 → esm2022}/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.mjs +0 -0
  594. /package/{esm2020 → esm2022}/f-draggable/node-resize/node-resize-finalize/providers.mjs +0 -0
  595. /package/{esm2020 → esm2022}/f-draggable/node-resize/node-resize-preparation/index.mjs +0 -0
  596. /package/{esm2020 → esm2022}/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.mjs +0 -0
  597. /package/{esm2020 → esm2022}/f-draggable/node-resize/node-resize-preparation/providers.mjs +0 -0
  598. /package/{esm2020 → esm2022}/f-draggable/node-resize/providers.mjs +0 -0
  599. /package/{esm2020 → esm2022}/f-draggable/node-resize/resize-direction.mjs +0 -0
  600. /package/{esm2020 → esm2022}/f-draggable/providers.mjs +0 -0
  601. /package/{esm2020 → esm2022}/f-draggable/single-select/index.mjs +0 -0
  602. /package/{esm2020 → esm2022}/f-draggable/single-select/providers.mjs +0 -0
  603. /package/{esm2020 → esm2022}/f-draggable/single-select/single-select.request.mjs +0 -0
  604. /package/{esm2020 → esm2022}/f-external-item/domain/external-item-finalize/external-item-finalize.request.mjs +0 -0
  605. /package/{esm2020 → esm2022}/f-external-item/domain/external-item-finalize/index.mjs +0 -0
  606. /package/{esm2020 → esm2022}/f-external-item/domain/external-item-finalize/providers.mjs +0 -0
  607. /package/{esm2020 → esm2022}/f-external-item/domain/external-item-preparation/external-item-preparation.request.mjs +0 -0
  608. /package/{esm2020 → esm2022}/f-external-item/domain/external-item-preparation/index.mjs +0 -0
  609. /package/{esm2020 → esm2022}/f-external-item/domain/external-item-preparation/providers.mjs +0 -0
  610. /package/{esm2020 → esm2022}/f-external-item/domain/external-item.drag-handler.mjs +0 -0
  611. /package/{esm2020 → esm2022}/f-external-item/domain/f-create-node.event.mjs +0 -0
  612. /package/{esm2020 → esm2022}/f-external-item/domain/index.mjs +0 -0
  613. /package/{esm2020 → esm2022}/f-external-item/domain/providers.mjs +0 -0
  614. /package/{esm2020 → esm2022}/f-external-item/index.mjs +0 -0
  615. /package/{esm2020 → esm2022}/f-external-item/is-external-item.mjs +0 -0
  616. /package/{esm2020 → esm2022}/f-external-item/providers.mjs +0 -0
  617. /package/{esm2020 → esm2022}/f-flow/f-flow-base.mjs +0 -0
  618. /package/{esm2020 → esm2022}/f-flow/index.mjs +0 -0
  619. /package/{esm2020 → esm2022}/f-flow/providers.mjs +0 -0
  620. /package/{esm2020 → esm2022}/f-line-alignment/domain/i-line-alignment-rect.mjs +0 -0
  621. /package/{esm2020 → esm2022}/f-line-alignment/domain/i-line-alignment-result.mjs +0 -0
  622. /package/{esm2020 → esm2022}/f-line-alignment/domain/i-nearest-coordinate-result.mjs +0 -0
  623. /package/{esm2020 → esm2022}/f-line-alignment/domain/index.mjs +0 -0
  624. /package/{esm2020 → esm2022}/f-line-alignment/domain/line-element.mjs +0 -0
  625. /package/{esm2020 → esm2022}/f-line-alignment/domain/line-service.mjs +0 -0
  626. /package/{esm2020 → esm2022}/f-line-alignment/domain/nearest-coordinate.mjs +0 -0
  627. /package/{esm2020 → esm2022}/f-line-alignment/index.mjs +0 -0
  628. /package/{esm2020 → esm2022}/f-line-alignment/providers.mjs +0 -0
  629. /package/{esm2020 → esm2022}/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.mjs +0 -0
  630. /package/{esm2020 → esm2022}/f-minimap/domain/calculate-flow-point-from-minimap-point/index.mjs +0 -0
  631. /package/{esm2020 → esm2022}/f-minimap/domain/check-rect-is-finite.mjs +0 -0
  632. /package/{esm2020 → esm2022}/f-minimap/domain/f-minimap-data.mjs +0 -0
  633. /package/{esm2020 → esm2022}/f-minimap/domain/f-minimap.drag-handler.mjs +0 -0
  634. /package/{esm2020 → esm2022}/f-minimap/domain/index.mjs +0 -0
  635. /package/{esm2020 → esm2022}/f-minimap/domain/minimap-drag-finalize/index.mjs +0 -0
  636. /package/{esm2020 → esm2022}/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.mjs +0 -0
  637. /package/{esm2020 → esm2022}/f-minimap/domain/minimap-drag-finalize/providers.mjs +0 -0
  638. /package/{esm2020 → esm2022}/f-minimap/domain/minimap-drag-preparation/index.mjs +0 -0
  639. /package/{esm2020 → esm2022}/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.mjs +0 -0
  640. /package/{esm2020 → esm2022}/f-minimap/domain/minimap-drag-preparation/providers.mjs +0 -0
  641. /package/{esm2020 → esm2022}/f-minimap/domain/providers.mjs +0 -0
  642. /package/{esm2020 → esm2022}/f-minimap/index.mjs +0 -0
  643. /package/{esm2020 → esm2022}/f-minimap/providers.mjs +0 -0
  644. /package/{esm2020 → esm2022}/f-node/domain/index.mjs +0 -0
  645. /package/{esm2020 → esm2022}/f-node/domain/is-group.mjs +0 -0
  646. /package/{esm2020 → esm2022}/f-node/domain/is-node.mjs +0 -0
  647. /package/{esm2020 → esm2022}/f-node/f-drag-handle/index.mjs +0 -0
  648. /package/{esm2020 → esm2022}/f-node/f-node-base.mjs +0 -0
  649. /package/{esm2020 → esm2022}/f-node/f-resize-handle/e-f-resize-handle-type.mjs +0 -0
  650. /package/{esm2020 → esm2022}/f-node/f-resize-handle/index.mjs +0 -0
  651. /package/{esm2020 → esm2022}/f-node/f-resize-observer.mjs +0 -0
  652. /package/{esm2020 → esm2022}/f-node/f-rotate-handle/index.mjs +0 -0
  653. /package/{esm2020 → esm2022}/f-node/index.mjs +0 -0
  654. /package/{esm2020 → esm2022}/f-node/providers.mjs +0 -0
  655. /package/{esm2020 → esm2022}/f-selection-area/domain/index.mjs +0 -0
  656. /package/{esm2020 → esm2022}/f-selection-area/domain/providers.mjs +0 -0
  657. /package/{esm2020 → esm2022}/f-selection-area/domain/selection-area-finalize/index.mjs +0 -0
  658. /package/{esm2020 → esm2022}/f-selection-area/domain/selection-area-finalize/providers.mjs +0 -0
  659. /package/{esm2020 → esm2022}/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.mjs +0 -0
  660. /package/{esm2020 → esm2022}/f-selection-area/domain/selection-area-preparation/index.mjs +0 -0
  661. /package/{esm2020 → esm2022}/f-selection-area/domain/selection-area-preparation/providers.mjs +0 -0
  662. /package/{esm2020 → esm2022}/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +0 -0
  663. /package/{esm2020 → esm2022}/f-selection-area/index.mjs +0 -0
  664. /package/{esm2020 → esm2022}/f-selection-area/providers.mjs +0 -0
  665. /package/{esm2020 → esm2022}/f-storage/index.mjs +0 -0
  666. /package/{esm2020 → esm2022}/f-zoom/index.mjs +0 -0
  667. /package/{esm2020 → esm2022}/f-zoom/providers.mjs +0 -0
  668. /package/{esm2020 → esm2022}/foblex-flow.mjs +0 -0
  669. /package/{esm2020 → esm2022}/i-has-host-element.mjs +0 -0
  670. /package/{esm2020 → esm2022}/i-has-state-changes.mjs +0 -0
  671. /package/{esm2020 → esm2022}/mixins/change-selection/i-can-change-selection.mjs +0 -0
  672. /package/{esm2020 → esm2022}/mixins/change-selection/index.mjs +0 -0
  673. /package/{esm2020 → esm2022}/mixins/change-visibility/change-visibility.mjs +0 -0
  674. /package/{esm2020 → esm2022}/mixins/change-visibility/i-can-change-visibility.mjs +0 -0
  675. /package/{esm2020 → esm2022}/mixins/change-visibility/index.mjs +0 -0
  676. /package/{esm2020 → esm2022}/mixins/constructor.mjs +0 -0
  677. /package/{esm2020 → esm2022}/mixins/index.mjs +0 -0
  678. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -0,0 +1,86 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from "@angular/core";
2
+ import { FCanvasBase, F_CANVAS } from './f-canvas-base';
3
+ import { PointExtensions, TransformModelExtensions } from '@foblex/2d';
4
+ import { CenterGroupOrNodeRequest, EmitTransformChangesRequest, F_CANVAS_ANIMATION_DURATION, FitToFlowRequest, InputCanvasPositionRequest, InputCanvasScaleRequest, ResetScaleAndCenterRequest, ResetScaleRequest, UpdateScaleRequest, } from '../domain';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@foblex/mediator";
7
+ import * as i2 from "../f-storage";
8
+ export class FCanvasComponent extends FCanvasBase {
9
+ set position(value) {
10
+ this.fMediator.send(new InputCanvasPositionRequest(this.transform, value));
11
+ }
12
+ set scale(value) {
13
+ this.fMediator.send(new InputCanvasScaleRequest(this.transform, value));
14
+ }
15
+ get fNodes() {
16
+ return this.fComponentsStore.fNodes;
17
+ }
18
+ get hostElement() {
19
+ return this.elementReference.nativeElement;
20
+ }
21
+ constructor(elementReference, fMediator, fComponentsStore) {
22
+ super();
23
+ this.elementReference = elementReference;
24
+ this.fMediator = fMediator;
25
+ this.fComponentsStore = fComponentsStore;
26
+ this.fCanvasChange = new EventEmitter();
27
+ }
28
+ ngOnInit() {
29
+ this.fComponentsStore.fCanvas = this;
30
+ }
31
+ redraw() {
32
+ this.fComponentsStore.fBackground?.setTransform(this.transform);
33
+ this.hostElement.setAttribute("style", `transform: ${TransformModelExtensions.toString(this.transform)}`);
34
+ this.fMediator.send(new EmitTransformChangesRequest());
35
+ }
36
+ redrawWithAnimation() {
37
+ this.fComponentsStore.fBackground?.setTransform(this.transform);
38
+ this.hostElement.setAttribute("style", `transition: transform ${F_CANVAS_ANIMATION_DURATION}ms ease-in-out; transform: ${TransformModelExtensions.toString(this.transform)}`);
39
+ setTimeout(() => {
40
+ this.redraw();
41
+ }, F_CANVAS_ANIMATION_DURATION);
42
+ }
43
+ centerGroupOrNode(id, animated = true) {
44
+ this.fMediator.send(new CenterGroupOrNodeRequest(id, animated));
45
+ }
46
+ fitToScreen(toCenter = PointExtensions.initialize(), animated = true) {
47
+ this.fMediator.send(new FitToFlowRequest(toCenter, animated));
48
+ }
49
+ resetScaleAndCenter(animated = true) {
50
+ this.fMediator.send(new ResetScaleAndCenterRequest(animated));
51
+ }
52
+ setZoom(scale, toPosition = PointExtensions.initialize()) {
53
+ this.fMediator.send(new UpdateScaleRequest(scale, toPosition));
54
+ }
55
+ resetZoom() {
56
+ this.fMediator.send(new ResetScaleRequest());
57
+ }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FCanvasComponent, deps: [{ token: i0.ElementRef }, { token: i1.FMediator }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FCanvasComponent, selector: "f-canvas", inputs: { position: "position", scale: "scale" }, outputs: { fCanvasChange: "fCanvasChange" }, host: { classAttribute: "f-component f-canvas" }, providers: [
60
+ { provide: F_CANVAS, useExisting: FCanvasComponent }
61
+ ], viewQueries: [{ propertyName: "fGroupsContainer", first: true, predicate: ["fGroupsContainer"], descendants: true, static: true }, { propertyName: "fNodesContainer", first: true, predicate: ["fNodesContainer"], descendants: true, static: true }, { propertyName: "fConnectionsContainer", first: true, predicate: ["fConnectionsContainer"], descendants: true, static: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup]\"></ng-content>\n </div>\n <div #fConnectionsContainer>\n <ng-content select=\"f-snap-connection\"></ng-content>\n <ng-content select=\"f-connection\"></ng-content>\n <ng-content select=\"f-connection-for-create\"></ng-content>\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode]\"></ng-content>\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host.f-scaled-animate{transition:transform .09s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FCanvasComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'f-canvas', exportAs: 'fComponent', host: {
66
+ 'class': 'f-component f-canvas',
67
+ }, providers: [
68
+ { provide: F_CANVAS, useExisting: FCanvasComponent }
69
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup]\"></ng-content>\n </div>\n <div #fConnectionsContainer>\n <ng-content select=\"f-snap-connection\"></ng-content>\n <ng-content select=\"f-connection\"></ng-content>\n <ng-content select=\"f-connection-for-create\"></ng-content>\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode]\"></ng-content>\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host.f-scaled-animate{transition:transform .09s}\n"] }]
70
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FMediator }, { type: i2.FComponentsStore }]; }, propDecorators: { fCanvasChange: [{
71
+ type: Output
72
+ }], position: [{
73
+ type: Input
74
+ }], scale: [{
75
+ type: Input
76
+ }], fGroupsContainer: [{
77
+ type: ViewChild,
78
+ args: ['fGroupsContainer', { static: true }]
79
+ }], fNodesContainer: [{
80
+ type: ViewChild,
81
+ args: ['fNodesContainer', { static: true }]
82
+ }], fConnectionsContainer: [{
83
+ type: ViewChild,
84
+ args: ['fConnectionsContainer', { static: true }]
85
+ }] } });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsR0FDdEUsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFdBQVcsRUFBRSxRQUFRLEVBQ3RCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFVLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQU8vRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEdBQ2xFLE1BQU0sV0FBVyxDQUFDOzs7O0FBZW5CLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBSy9DLElBQ1csUUFBUSxDQUFDLEtBQXlCO1FBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxJQUNXLEtBQUssQ0FBQyxLQUF5QjtRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBb0IsTUFBTTtRQUN4QixPQUFPLElB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USxFQUFFLFdBQVcsa0JBQWtCLEVBQUU7cUJBQ3JELG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO3dKQUsvQixhQUFhO3NCQUQ1QixNQUFNO2dCQUlJLFFBQVE7c0JBRGxCLEtBQUs7Z0JBTUssS0FBSztzQkFEZixLQUFLO2dCQWNVLGdCQUFnQjtzQkFEL0IsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9CLGVBQWU7c0JBRDlCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5QixxQkFBcUI7c0JBRHBDLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIEZDYW52YXNCYXNlLCBGX0NBTlZBU1xufSBmcm9tICcuL2YtY2FudmFzLWJhc2UnO1xuaW1wb3J0IHsgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMsIFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgRkNhbnZhc0NoYW5nZUV2ZW50LFxufSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdCxcbiAgRW1pdFRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0LFxuICBGX0NBTlZBU19BTklNQVRJT05fRFVSQVRJT04sXG4gIEZpdFRvRmxvd1JlcXVlc3QsXG4gIElucHV0Q2FudmFzUG9zaXRpb25SZXF1ZXN0LFxuICBJbnB1dENhbnZhc1NjYWxlUmVxdWVzdCxcbiAgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QsIFJlc2V0U2NhbGVSZXF1ZXN0LCBVcGRhdGVTY2FsZVJlcXVlc3QsXG59IGZyb20gJy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtY2FudmFzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtY2FudmFzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtY2FudmFzLmNvbXBvbmVudC5zY3NzJyBdLFxuICBleHBvcnRBczogJ2ZDb21wb25lbnQnLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2YtY29tcG9uZW50IGYtY2FudmFzJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0NBTlZBUywgdXNlRXhpc3Rpbmc6IEZDYW52YXNDb21wb25lbnQgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRkNhbnZhc0NvbXBvbmVudCBleHRlbmRzIEZDYW52YXNCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDYW52YXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGQ2FudmFzQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGQ2FudmFzQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwb3NpdGlvbih2YWx1ZTogSVBvaW50IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHZhbHVlKSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNjYWxlKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBJbnB1dENhbnZhc1NjYWxlUmVxdWVzdCh0aGlzLnRyYW5zZm9ybSwgdmFsdWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZk5vZGVzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2RlcztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2ZHcm91cHNDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkdyb3Vwc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZOb2Rlc0NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZXNDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdmQ29ubmVjdGlvbnNDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25zQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyA9IHRoaXM7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQmFja2dyb3VuZD8uc2V0VHJhbnNmb3JtKHRoaXMudHJhbnNmb3JtKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2Zvcm06ICR7IFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy50b1N0cmluZyh0aGlzLnRyYW5zZm9ybSkgfWApO1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZWRyYXdXaXRoQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQmFja2dyb3VuZD8uc2V0VHJhbnNmb3JtKHRoaXMudHJhbnNmb3JtKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHsgRl9DQU5WQVNfQU5JTUFUSU9OX0RVUkFUSU9OIH1tcyBlYXNlLWluLW91dDsgdHJhbnNmb3JtOiAkeyBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pIH1gKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucmVkcmF3KCk7XG4gICAgfSwgRl9DQU5WQVNfQU5JTUFUSU9OX0RVUkFUSU9OKTtcbiAgfVxuXG4gIHB1YmxpYyBjZW50ZXJHcm91cE9yTm9kZShpZDogc3RyaW5nLCBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QoaWQsIGFuaW1hdGVkKSk7XG4gIH1cblxuICBwdWJsaWMgZml0VG9TY3JlZW4odG9DZW50ZXI6IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksIGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEZpdFRvRmxvd1JlcXVlc3QodG9DZW50ZXIsIGFuaW1hdGVkKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTY2FsZUFuZENlbnRlcihhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBSZXNldFNjYWxlQW5kQ2VudGVyUmVxdWVzdChhbmltYXRlZCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldFpvb20oc2NhbGU6IG51bWJlciwgdG9Qb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IFVwZGF0ZVNjYWxlUmVxdWVzdChzY2FsZSwgdG9Qb3NpdGlvbikpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlc2V0Wm9vbSgpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBSZXNldFNjYWxlUmVxdWVzdCgpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdiAjZkdyb3Vwc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkdyb3VwXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgI2ZDb25uZWN0aW9uc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLXNuYXAtY29ubmVjdGlvblwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jb25uZWN0aW9uLWZvci1jcmVhdGVcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgI2ZOb2Rlc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZk5vZGVdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,66 @@
1
+ import { Directive } from '@angular/core';
2
+ import { LineExtensions, PointExtensions } from '@foblex/2d';
3
+ import { Subject } from 'rxjs';
4
+ import { mixinChangeSelection, mixinChangeVisibility } from '../../mixins';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../f-connection-builder";
7
+ const MIXIN_BASE = mixinChangeSelection(mixinChangeVisibility(class {
8
+ constructor(hostElement) {
9
+ this.hostElement = hostElement;
10
+ }
11
+ }));
12
+ export class FConnectionBase extends MIXIN_BASE {
13
+ constructor(elementReference, cFactory) {
14
+ super(elementReference.nativeElement);
15
+ this.cFactory = cFactory;
16
+ this.path = '';
17
+ this.line = LineExtensions.initialize();
18
+ this.stateChanges = new Subject();
19
+ this.penultimatePoint = PointExtensions.initialize();
20
+ }
21
+ initialize() {
22
+ this.fPath.initialize();
23
+ this.fGradient.initialize();
24
+ this.redraw();
25
+ }
26
+ isContains(element) {
27
+ return (this.hostElement.firstChild?.lastChild).contains(element);
28
+ }
29
+ setLine(source, sourceSide, target, targetSide) {
30
+ this.line = LineExtensions.initialize(source, target);
31
+ const pathResult = this.getPathResult(source, sourceSide, target, targetSide);
32
+ this.path = pathResult.path;
33
+ this.penultimatePoint = pathResult.penultimatePoint || source;
34
+ this.fConnectionCenter?.nativeElement?.setAttribute('style', this.getTransform(pathResult.connectionCenter));
35
+ }
36
+ getPathResult(source, sourceSide, target, targetSide) {
37
+ const radius = this.fRadius > 0 ? this.fRadius : 0;
38
+ const offset = this.fOffset > 0 ? this.fOffset : 1;
39
+ return this.cFactory.handle({
40
+ type: this.fType,
41
+ payload: { source, sourceSide, target, targetSide, radius, offset }
42
+ });
43
+ }
44
+ getTransform(position) {
45
+ return `position: absolute; pointerEvents: all; transform: translate(-50%, -50%); left: ${position.x}px; top: ${position.y}px`;
46
+ }
47
+ selectChild() {
48
+ this.fPath.select();
49
+ }
50
+ deselectChild() {
51
+ this.fPath.deselect();
52
+ }
53
+ redraw() {
54
+ this.fPath.setPath(this.path);
55
+ this.fSelection.setPath(this.path);
56
+ this.fGradient.redraw(this.line);
57
+ this.fDragHandle.redraw(this.penultimatePoint, this.line.point2);
58
+ this.fTextComponent.redraw(this.line);
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionBase, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }], target: i0.ɵɵFactoryTarget.Directive }); }
61
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FConnectionBase, usesInheritance: true, ngImport: i0 }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionBase, decorators: [{
64
+ type: Directive
65
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }]; } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQWlCLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQWdCL0IsT0FBTyxFQUVMLG9CQUFvQixFQUFFLHFCQUFxQixFQUM1QyxNQUFNLGNBQWMsQ0FBQzs7O0FBRXRCLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUNyQyxxQkFBcUIsQ0FDbkI7SUFDRSxZQUNTLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBRWpDLENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQztBQUdSLE1BQU0sT0FBZ0IsZUFBZ0IsU0FBUSxVQUFVO0lBc0R0RCxZQUNFLGdCQUF5QyxFQUNqQyxRQUE0QjtRQUVwQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFGOUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFwQy9CLFNBQUksR0FBVyxFQUFFLENBQUM7UUFFbEIsU0FBSSxHQUFVLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVqQyxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBNEIxRCxxQkFBZ0IsR0FBVyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFPaEUsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxVQUFVLENBQUMsT0FBaUM7UUFDakQsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFNBQXlCLENBQUEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLE9BQU8sQ0FBQyxNQUFjLEVBQUUsVUFBNkIsRUFBRSxNQUFjLEVBQUUsVUFBNkI7UUFDekcsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQztRQUM5RCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFFTyxhQUFhLENBQUMsTUFBYyxFQUFFLFVBQTZCLEVBQUUsTUFBYyxFQUFFLFVBQTZCO1FBQ2hILE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUN6QjtZQUNFLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztZQUNoQixPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtTQUNwRSxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sWUFBWSxDQUFDLFFBQWdCO1FBQ25DLE9BQU8sbUZBQW9GLFFBQVEsQ0FBQyxDQUFFLFlBQWEsUUFBUSxDQUFDLENBQUUsSUFBSSxDQUFDO0lBQ3JJLENBQUM7SUFFZSxXQUFXO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVlLGFBQWE7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDOytHQTVHbUIsZUFBZTttR0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQURwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTGluZSwgSVBvaW50LCBMaW5lRXh0ZW5zaW9ucywgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tYmVoYXZpb3InO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkNvbG9yIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHsgSUNvbm5lY3Rpb25QYXRoIH0gZnJvbSAnLi9mLXBhdGgnO1xuaW1wb3J0IHsgSUNvbm5lY3Rpb25HcmFkaWVudCB9IGZyb20gJy4vZi1ncmFkaWVudCc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQgfSBmcm9tICcuL2YtZHJhZy1oYW5kbGUnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2Ytc2VsZWN0aW9uJztcbmltcG9ydCB7IElDb25uZWN0aW9uVGV4dCB9IGZyb20gJy4vZi1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHsgSUhhc1N0YXRlQ2hhbmdlcyB9IGZyb20gJy4uLy4uL2ktaGFzLXN0YXRlLWNoYW5nZXMnO1xuaW1wb3J0IHsgRk1hcmtlckJhc2UgfSBmcm9tICcuLi9mLW1hcmtlcic7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuaW1wb3J0IHtcbiAgSUNhbkNoYW5nZVNlbGVjdGlvbiwgSUNhbkNoYW5nZVZpc2liaWxpdHksXG4gIG1peGluQ2hhbmdlU2VsZWN0aW9uLCBtaXhpbkNoYW5nZVZpc2liaWxpdHlcbn0gZnJvbSAnLi4vLi4vbWl4aW5zJztcblxuY29uc3QgTUlYSU5fQkFTRSA9IG1peGluQ2hhbmdlU2VsZWN0aW9uKFxuICBtaXhpbkNoYW5nZVZpc2liaWxpdHkoXG4gICAgY2xhc3Mge1xuICAgICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBob3N0RWxlbWVudDogSFRNTEVsZW1lbnRcbiAgICAgICkge1xuICAgICAgfVxuICAgIH0pKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkNvbm5lY3Rpb25CYXNlIGV4dGVuZHMgTUlYSU5fQkFTRVxuICBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCwgSUNhbkNoYW5nZVNlbGVjdGlvbixcbiAgICAgICAgICAgICBJQ2FuQ2hhbmdlVmlzaWJpbGl0eSxcbiAgICAgICAgICAgICBJSGFzU3RhdGVDaGFuZ2VzLCBJSGFzQ29ubmVjdGlvbkNvbG9yLFxuICAgICAgICAgICAgIElIYXNDb25uZWN0aW9uRnJvbVRvLCBJSGFzQ29ubmVjdGlvblRleHQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBvdmVycmlkZSBmSWQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZlN0YXJ0Q29sb3I6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZkVuZENvbG9yOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZPdXRwdXRJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmSW5wdXRJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUmFkaXVzOiBudW1iZXI7XG5cbiAgcHVibGljIGFic3RyYWN0IGZPZmZzZXQ6IG51bWJlcjtcblxuICBwdWJsaWMgcGF0aDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIGxpbmU6IElMaW5lID0gTGluZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZUNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRHJhZ2dpbmdEaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3Qgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBib3VuZGluZ0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlR5cGU6IEVGQ29ubmVjdGlvblR5cGU7XG5cbiAgcHVibGljIGFic3RyYWN0IGZEZWZzOiBFbGVtZW50UmVmPFNWR0RlZnNFbGVtZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlBhdGg6IElDb25uZWN0aW9uUGF0aDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkdyYWRpZW50OiBJQ29ubmVjdGlvbkdyYWRpZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRHJhZ0hhbmRsZTogRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU2VsZWN0aW9uOiBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlRleHRDb21wb25lbnQ6IElDb25uZWN0aW9uVGV4dDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlRleHQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNvbm5lY3Rpb25DZW50ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIHByaXZhdGUgcGVudWx0aW1hdGVQb2ludDogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBjRmFjdG9yeTogRkNvbm5lY3Rpb25GYWN0b3J5XG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLmZHcmFkaWVudC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0NvbnRhaW5zKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5ob3N0RWxlbWVudC5maXJzdENoaWxkPy5sYXN0Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLmNvbnRhaW5zKGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHNldExpbmUoc291cmNlOiBJUG9pbnQsIHNvdXJjZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLCB0YXJnZXQ6IElQb2ludCwgdGFyZ2V0U2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiB2b2lkIHtcbiAgICB0aGlzLmxpbmUgPSBMaW5lRXh0ZW5zaW9ucy5pbml0aWFsaXplKHNvdXJjZSwgdGFyZ2V0KTtcbiAgICBjb25zdCBwYXRoUmVzdWx0ID0gdGhpcy5nZXRQYXRoUmVzdWx0KHNvdXJjZSwgc291cmNlU2lkZSwgdGFyZ2V0LCB0YXJnZXRTaWRlKTtcbiAgICB0aGlzLnBhdGggPSBwYXRoUmVzdWx0LnBhdGg7XG4gICAgdGhpcy5wZW51bHRpbWF0ZVBvaW50ID0gcGF0aFJlc3VsdC5wZW51bHRpbWF0ZVBvaW50IHx8IHNvdXJjZTtcbiAgICB0aGlzLmZDb25uZWN0aW9uQ2VudGVyPy5uYXRpdmVFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgdGhpcy5nZXRUcmFuc2Zvcm0ocGF0aFJlc3VsdC5jb25uZWN0aW9uQ2VudGVyKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhdGhSZXN1bHQoc291cmNlOiBJUG9pbnQsIHNvdXJjZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLCB0YXJnZXQ6IElQb2ludCwgdGFyZ2V0U2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiBhbnkge1xuICAgIGNvbnN0IHJhZGl1cyA9IHRoaXMuZlJhZGl1cyA+IDAgPyB0aGlzLmZSYWRpdXMgOiAwO1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuZk9mZnNldCA+IDAgPyB0aGlzLmZPZmZzZXQgOiAxO1xuICAgIHJldHVybiB0aGlzLmNGYWN0b3J5LmhhbmRsZShcbiAgICAgIHtcbiAgICAgICAgdHlwZTogdGhpcy5mVHlwZSxcbiAgICAgICAgcGF5bG9hZDogeyBzb3VyY2UsIHNvdXJjZVNpZGUsIHRhcmdldCwgdGFyZ2V0U2lkZSwgcmFkaXVzLCBvZmZzZXQgfVxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFRyYW5zZm9ybShwb3NpdGlvbjogSVBvaW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHBvc2l0aW9uOiBhYnNvbHV0ZTsgcG9pbnRlckV2ZW50czogYWxsOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgbGVmdDogJHsgcG9zaXRpb24ueCB9cHg7IHRvcDogJHsgcG9zaXRpb24ueSB9cHhgO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNlbGVjdENoaWxkKCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGguc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGVzZWxlY3RDaGlsZCgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoLmRlc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGguc2V0UGF0aCh0aGlzLnBhdGgpO1xuICAgIHRoaXMuZlNlbGVjdGlvbi5zZXRQYXRoKHRoaXMucGF0aCk7XG4gICAgdGhpcy5mR3JhZGllbnQucmVkcmF3KHRoaXMubGluZSk7XG4gICAgdGhpcy5mRHJhZ0hhbmRsZS5yZWRyYXcodGhpcy5wZW51bHRpbWF0ZVBvaW50LCB0aGlzLmxpbmUucG9pbnQyKTtcbiAgICB0aGlzLmZUZXh0Q29tcG9uZW50LnJlZHJhdyh0aGlzLmxpbmUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,70 @@
1
+ import { Directive, Inject } from '@angular/core';
2
+ import { F_CONNECTION_IDENTIFIERS } from '../f-connection-identifiers';
3
+ import { F_CONNECTION } from '../f-connection.injection-token';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@foblex/platform";
6
+ export class FConnectionTextPathDirective {
7
+ get linkToConnection() {
8
+ return F_CONNECTION_IDENTIFIERS.linkToConnection(this.base.fId + this.base.fOutputId + this.base.fInputId);
9
+ }
10
+ get hostElement() {
11
+ return this.elementReference.nativeElement;
12
+ }
13
+ constructor(elementReference, base, fBrowser) {
14
+ this.elementReference = elementReference;
15
+ this.base = base;
16
+ this.fBrowser = fBrowser;
17
+ this.symbolWidth = 8;
18
+ this.fontSize = '12px';
19
+ }
20
+ ngOnInit() {
21
+ this.hostElement.setAttribute('startOffset', '50%');
22
+ this.hostElement.setAttribute('text-anchor', `middle`);
23
+ this.symbolWidth = this.getSymbolWidth(this.base.fText || '');
24
+ }
25
+ getBBox() {
26
+ return this.hostElement.getBBox();
27
+ }
28
+ getFontStyles(element) {
29
+ const computedStyles = this.fBrowser.window.getComputedStyle(element);
30
+ return {
31
+ fontSize: computedStyles.fontSize,
32
+ fontFamily: computedStyles.fontFamily
33
+ };
34
+ }
35
+ getSymbolWidth(name) {
36
+ const text = name || 'connection';
37
+ const { fontFamily, fontSize } = this.getFontStyles(this.hostElement);
38
+ this.fontSize = fontSize;
39
+ const canvas = this.fBrowser.document.createElement('canvas');
40
+ let context;
41
+ try {
42
+ context = canvas.getContext('2d');
43
+ }
44
+ catch (e) {
45
+ context = null;
46
+ }
47
+ if (!context) {
48
+ return 0;
49
+ }
50
+ context.font = `${fontSize} ${fontFamily}`;
51
+ const metrics = context.measureText(text);
52
+ const symbolWidth = metrics.width / text.length;
53
+ return symbolWidth;
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionTextPathDirective, deps: [{ token: i0.ElementRef }, { token: F_CONNECTION }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Directive }); }
56
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FConnectionTextPathDirective, selector: "textPath[f-connection-text-path]", host: { properties: { "attr.href": "linkToConnection" } }, ngImport: i0 }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionTextPathDirective, decorators: [{
59
+ type: Directive,
60
+ args: [{
61
+ selector: 'textPath[f-connection-text-path]',
62
+ host: {
63
+ '[attr.href]': 'linkToConnection'
64
+ }
65
+ }]
66
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
67
+ type: Inject,
68
+ args: [F_CONNECTION]
69
+ }] }, { type: i1.BrowserService }]; } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXRleHQtcGF0aC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLXRleHQvZi1jb25uZWN0aW9uLXRleHQtcGF0aC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFZL0QsTUFBTSxPQUFPLDRCQUE0QjtJQUV2QyxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLHdCQUF3QixDQUFDLGdCQUFnQixDQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDekQsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFLRCxZQUNZLGdCQUFnRCxFQUMxQixJQUErQyxFQUNyRSxRQUF3QjtRQUZ4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdDO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQTJDO1FBQ3JFLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBTjdCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBVyxNQUFNLENBQUM7SUFPakMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU8sYUFBYSxDQUFDLE9BQTJCO1FBQy9DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYyxDQUFDLFFBQVE7WUFDakMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxVQUFVO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVk7UUFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLFlBQVksQ0FBQztRQUNsQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RCxJQUFJLE9BQU8sQ0FBQztRQUVaLElBQUk7WUFDRixPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNoQjtRQUNELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsT0FBTyxDQUFDLElBQUksR0FBRyxHQUFJLFFBQVMsSUFBSyxVQUFXLEVBQUUsQ0FBQztRQUUvQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNoRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOytHQTdEVSw0QkFBNEIsNENBaUIzQixZQUFZO21HQWpCYiw0QkFBNEI7OzRGQUE1Qiw0QkFBNEI7a0JBTnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsSUFBSSxFQUFFO3dCQUNKLGFBQWEsRUFBRSxrQkFBa0I7cUJBQ2xDO2lCQUNGOzswQkFrQk0sTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX0lERU5USUZJRVJTIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWlkZW50aWZpZXJzJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICd0ZXh0UGF0aFtmLWNvbm5lY3Rpb24tdGV4dC1wYXRoXScsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaHJlZl0nOiAnbGlua1RvQ29ubmVjdGlvbidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvblRleHRQYXRoRGlyZWN0aXZlIGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50LCBPbkluaXQge1xuXG4gIHB1YmxpYyBnZXQgbGlua1RvQ29ubmVjdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMubGlua1RvQ29ubmVjdGlvbihcbiAgICAgIHRoaXMuYmFzZS5mSWQgKyB0aGlzLmJhc2UuZk91dHB1dElkICsgdGhpcy5iYXNlLmZJbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogU1ZHVGV4dFBhdGhFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgc3ltYm9sV2lkdGg6IG51bWJlciA9IDg7XG4gIHB1YmxpYyBmb250U2l6ZTogc3RyaW5nID0gJzEycHgnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPFNWR1RleHRQYXRoRWxlbWVudD4sXG4gICAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvblRleHQgJiBJSGFzQ29ubmVjdGlvbkZyb21UbyxcbiAgICAgIHByaXZhdGUgZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdzdGFydE9mZnNldCcsICc1MCUnKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgndGV4dC1hbmNob3InLCBgbWlkZGxlYCk7XG4gICAgdGhpcy5zeW1ib2xXaWR0aCA9IHRoaXMuZ2V0U3ltYm9sV2lkdGgodGhpcy5iYXNlLmZUZXh0IHx8ICcnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRCQm94KCk6IERPTVJlY3Qge1xuICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmdldEJCb3goKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9udFN0eWxlcyhlbGVtZW50OiBTVkdUZXh0UGF0aEVsZW1lbnQpOiB7IGZvbnRTaXplOiBzdHJpbmcsIGZvbnRGYW1pbHk6IHN0cmluZyB9IHtcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlcyA9IHRoaXMuZkJyb3dzZXIud2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvbnRTaXplOiBjb21wdXRlZFN0eWxlcy5mb250U2l6ZSxcbiAgICAgIGZvbnRGYW1pbHk6IGNvbXB1dGVkU3R5bGVzLmZvbnRGYW1pbHlcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTeW1ib2xXaWR0aChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHRleHQgPSBuYW1lIHx8ICdjb25uZWN0aW9uJztcbiAgICBjb25zdCB7IGZvbnRGYW1pbHksIGZvbnRTaXplIH0gPSB0aGlzLmdldEZvbnRTdHlsZXModGhpcy5ob3N0RWxlbWVudCk7XG4gICAgdGhpcy5mb250U2l6ZSA9IGZvbnRTaXplO1xuICAgIGNvbnN0IGNhbnZhcyA9IHRoaXMuZkJyb3dzZXIuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgbGV0IGNvbnRleHQ7XG5cbiAgICB0cnkge1xuICAgICAgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnRleHQgPSBudWxsO1xuICAgIH1cbiAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnRleHQuZm9udCA9IGAkeyBmb250U2l6ZSB9ICR7IGZvbnRGYW1pbHkgfWA7XG5cbiAgICBjb25zdCBtZXRyaWNzID0gY29udGV4dC5tZWFzdXJlVGV4dCh0ZXh0KTtcbiAgICBjb25zdCBzeW1ib2xXaWR0aCA9IG1ldHJpY3Mud2lkdGggLyB0ZXh0Lmxlbmd0aDtcbiAgICByZXR1cm4gc3ltYm9sV2lkdGg7XG4gIH1cbn1cblxuIl19
@@ -0,0 +1,66 @@
1
+ import { ChangeDetectionStrategy, Component, Inject, ViewChild } from "@angular/core";
2
+ import { PointExtensions } from '@foblex/2d';
3
+ import { FConnectionTextPathDirective } from './f-connection-text-path.directive';
4
+ import { F_CONNECTION_IDENTIFIERS } from '../f-connection-identifiers';
5
+ import { F_CONNECTION } from '../f-connection.injection-token';
6
+ import { CONNECTION_TEXT } from './i-connection-text';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./f-connection-text-path.directive";
9
+ export class FConnectionTextComponent {
10
+ get textId() {
11
+ return F_CONNECTION_IDENTIFIERS.textId(this.base.fId + this.base.fOutputId + this.base.fInputId);
12
+ }
13
+ get hostElement() {
14
+ return this.elementReference.nativeElement;
15
+ }
16
+ get text() {
17
+ return this.base.fText || '';
18
+ }
19
+ constructor(elementReference, base) {
20
+ this.elementReference = elementReference;
21
+ this.base = base;
22
+ }
23
+ redraw(line) {
24
+ const isTextReverse = FConnectionTextComponent.isTextReverse(line);
25
+ const dyValue = this.calculateDy(this.textPathDirective.fontSize, isTextReverse);
26
+ this.hostElement.setAttribute('dy', dyValue);
27
+ const textRect = this.textPathDirective.getBBox();
28
+ const textRectCenter = [textRect.x + textRect.width / 2, textRect.y + textRect.height / 2];
29
+ this.hostElement.setAttribute('transform', isTextReverse ? `rotate(180, ${textRectCenter})` : '');
30
+ const startOffset = FConnectionTextComponent.getTextStartOffset(line, this.base.fText || '', this.textPathDirective.symbolWidth);
31
+ if (startOffset < 0) {
32
+ this.hostElement.style.display = 'none';
33
+ }
34
+ else {
35
+ this.hostElement.style.display = 'unset';
36
+ }
37
+ }
38
+ calculateDy(fontSize, isTextReverse) {
39
+ const fontSizeNumber = parseFloat(fontSize);
40
+ const dyValue = isTextReverse ? fontSizeNumber * 1.5 : fontSizeNumber * -0.8;
41
+ return dyValue.toString();
42
+ }
43
+ static isTextReverse(line) {
44
+ return line.point1.x > line.point2.x;
45
+ }
46
+ static getTextStartOffset(line, name, symbolWidth) {
47
+ const vectorLength = PointExtensions.hypotenuse(line.point1, line.point2);
48
+ return vectorLength / 2 - ((name || '').length * symbolWidth) / 2;
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionTextComponent, deps: [{ token: i0.ElementRef }, { token: F_CONNECTION }], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FConnectionTextComponent, selector: "text[f-connection-text]", host: { properties: { "attr.id": "textId" }, classAttribute: "f-component f-connection-text" }, providers: [{ provide: CONNECTION_TEXT, useExisting: FConnectionTextComponent }], viewQueries: [{ propertyName: "textPathDirective", first: true, predicate: FConnectionTextPathDirective, descendants: true, static: true }], ngImport: i0, template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:textPath f-connection-text-path>\n {{ text }}\n </svg:textPath>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.FConnectionTextPathDirective, selector: "textPath[f-connection-text-path]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionTextComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: "text[f-connection-text]", changeDetection: ChangeDetectionStrategy.OnPush, host: {
56
+ class: "f-component f-connection-text",
57
+ '[attr.id]': 'textId',
58
+ }, providers: [{ provide: CONNECTION_TEXT, useExisting: FConnectionTextComponent }], template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:textPath f-connection-text-path>\n {{ text }}\n </svg:textPath>\n</ng-container>\n" }]
59
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
60
+ type: Inject,
61
+ args: [F_CONNECTION]
62
+ }] }]; }, propDecorators: { textPathDirective: [{
63
+ type: ViewChild,
64
+ args: [FConnectionTextPathDirective, { static: true }]
65
+ }] } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtY29ubmVjdGlvbi10ZXh0L2YtY29ubmVjdGlvbi10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9mLWNvbm5lY3Rpb24tdGV4dC9mLWNvbm5lY3Rpb24tdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBYyxNQUFNLEVBQUUsU0FBUyxFQUN6QyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQVMsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDOzs7QUFZdkUsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxJQUFXLE1BQU07UUFDZixPQUFPLHdCQUF3QixDQUFDLE1BQU0sQ0FDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQ3pELENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMs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UTtxQkFDdEIsYUFDVSxDQUFFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLDBCQUEwQixFQUFFLENBQUU7OzBCQXVCN0UsTUFBTTsyQkFBQyxZQUFZOzRDQUpqQixpQkFBaUI7c0JBRHZCLFNBQVM7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBWaWV3Q2hpbGRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElMaW5lLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDb25uZWN0aW9uVGV4dFBhdGhEaXJlY3RpdmUgfSBmcm9tICcuL2YtY29ubmVjdGlvbi10ZXh0LXBhdGguZGlyZWN0aXZlJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTl9JREVOVElGSUVSUyB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1pZGVudGlmaWVycyc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvblRleHQgfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8gfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBDT05ORUNUSU9OX1RFWFQsIElDb25uZWN0aW9uVGV4dCB9IGZyb20gJy4vaS1jb25uZWN0aW9uLXRleHQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwidGV4dFtmLWNvbm5lY3Rpb24tdGV4dF1cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9mLWNvbm5lY3Rpb24tdGV4dC5jb21wb25lbnQuaHRtbFwiLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtY29ubmVjdGlvbi10ZXh0XCIsXG4gICAgJ1thdHRyLmlkXSc6ICd0ZXh0SWQnLFxuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBDT05ORUNUSU9OX1RFWFQsIHVzZUV4aXN0aW5nOiBGQ29ubmVjdGlvblRleHRDb21wb25lbnQgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvblRleHRDb21wb25lbnQgaW1wbGVtZW50cyBJQ29ubmVjdGlvblRleHQge1xuXG4gIHB1YmxpYyBnZXQgdGV4dElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZfQ09OTkVDVElPTl9JREVOVElGSUVSUy50ZXh0SWQoXG4gICAgICB0aGlzLmJhc2UuZklkICsgdGhpcy5iYXNlLmZPdXRwdXRJZCArIHRoaXMuYmFzZS5mSW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR1RleHRFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iYXNlLmZUZXh0IHx8ICcnO1xuICB9XG5cbiAgQFZpZXdDaGlsZChGQ29ubmVjdGlvblRleHRQYXRoRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgdGV4dFBhdGhEaXJlY3RpdmUhOiBGQ29ubmVjdGlvblRleHRQYXRoRGlyZWN0aXZlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPFNWR1RleHRFbGVtZW50PixcbiAgICAgIEBJbmplY3QoRl9DT05ORUNUSU9OKSBwcml2YXRlIGJhc2U6IElIYXNDb25uZWN0aW9uVGV4dCAmIElIYXNDb25uZWN0aW9uRnJvbVRvLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcobGluZTogSUxpbmUpOiB2b2lkIHtcblxuICAgIGNvbnN0IGlzVGV4dFJldmVyc2U6IGJvb2xlYW4gPSBGQ29ubmVjdGlvblRleHRDb21wb25lbnQuaXNUZXh0UmV2ZXJzZShsaW5lKTtcbiAgICBjb25zdCBkeVZhbHVlID0gdGhpcy5jYWxjdWxhdGVEeSh0aGlzLnRleHRQYXRoRGlyZWN0aXZlLmZvbnRTaXplLCBpc1RleHRSZXZlcnNlKTtcblxuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdkeScsIGR5VmFsdWUpO1xuXG4gICAgY29uc3QgdGV4dFJlY3QgPSB0aGlzLnRleHRQYXRoRGlyZWN0aXZlLmdldEJCb3goKTtcbiAgICBjb25zdCB0ZXh0UmVjdENlbnRlciA9IFsgdGV4dFJlY3QueCArIHRleHRSZWN0LndpZHRoIC8gMiwgdGV4dFJlY3QueSArIHRleHRSZWN0LmhlaWdodCAvIDIgXTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgndHJhbnNmb3JtJywgaXNUZXh0UmV2ZXJzZSA/IGByb3RhdGUoMTgwLCAkeyB0ZXh0UmVjdENlbnRlciB9KWAgOiAnJyk7XG4gICAgY29uc3Qgc3RhcnRPZmZzZXQgPSBGQ29ubmVjdGlvblRleHRDb21wb25lbnQuZ2V0VGV4dFN0YXJ0T2Zmc2V0KGxpbmUsIHRoaXMuYmFzZS5mVGV4dCB8fCAnJywgdGhpcy50ZXh0UGF0aERpcmVjdGl2ZS5zeW1ib2xXaWR0aCk7XG4gICAgaWYgKHN0YXJ0T2Zmc2V0IDwgMCkge1xuXG4gICAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfSBlbHNlIHtcblxuICAgICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ3Vuc2V0JztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUR5KGZvbnRTaXplOiBzdHJpbmcsIGlzVGV4dFJldmVyc2U6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGZvbnRTaXplTnVtYmVyID0gcGFyc2VGbG9hdChmb250U2l6ZSk7XG5cbiAgICBjb25zdCBkeVZhbHVlID0gaXNUZXh0UmV2ZXJzZSA/IGZvbnRTaXplTnVtYmVyICogMS41IDogZm9udFNpemVOdW1iZXIgKiAtMC44O1xuXG4gICAgcmV0dXJuIGR5VmFsdWUudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVGV4dFJldmVyc2UobGluZTogSUxpbmUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbGluZS5wb2ludDEueCA+IGxpbmUucG9pbnQyLng7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRUZXh0U3RhcnRPZmZzZXQobGluZTogSUxpbmUsIG5hbWU6IHN0cmluZywgc3ltYm9sV2lkdGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgdmVjdG9yTGVuZ3RoOiBudW1iZXIgPSBQb2ludEV4dGVuc2lvbnMuaHlwb3RlbnVzZShsaW5lLnBvaW50MSwgbGluZS5wb2ludDIpO1xuICAgIHJldHVybiB2ZWN0b3JMZW5ndGggLyAyIC0gKChuYW1lIHx8ICcnKS5sZW5ndGggKiBzeW1ib2xXaWR0aCkgLyAyO1xuICB9XG59XG5cbiIsIjxuZy1jb250YWluZXIgeG1sbnM6c3ZnPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8c3ZnOnRleHRQYXRoIGYtY29ubmVjdGlvbi10ZXh0LXBhdGg+XG4gICAgICAgIHt7IHRleHQgfX1cbiAgICA8L3N2Zzp0ZXh0UGF0aD5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -2,13 +2,13 @@ import { ChangeDetectionStrategy, Component } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export const F_CONNECTION_DRAG_HANDLE_CLASS = 'f-connection-drag-handle';
4
4
  export class FConnectionDragHandleComponent {
5
+ get hostElement() {
6
+ return this.elementReference.nativeElement;
7
+ }
5
8
  constructor(elementReference) {
6
9
  this.elementReference = elementReference;
7
10
  this.class = F_CONNECTION_DRAG_HANDLE_CLASS;
8
11
  }
9
- get hostElement() {
10
- return this.elementReference.nativeElement;
11
- }
12
12
  redraw(penultimatePoint, endPoint) {
13
13
  const point = this.calculateCircleCenter(penultimatePoint, endPoint, 8);
14
14
  this.hostElement.setAttribute('cx', point.x.toString());
@@ -21,10 +21,10 @@ export class FConnectionDragHandleComponent {
21
21
  const scaledDirection = { x: unitDirection.x * radius, y: unitDirection.y * radius };
22
22
  return { x: end.x - scaledDirection.x, y: end.y - scaledDirection.y };
23
23
  }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionDragHandleComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]", host: { properties: { "class": "class" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
26
  }
25
- FConnectionDragHandleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FConnectionDragHandleComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
26
- FConnectionDragHandleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]", host: { properties: { "class": "class" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FConnectionDragHandleComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionDragHandleComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{
30
30
  selector: "circle[f-connection-drag-handle]",
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
35
35
  }
36
36
  }]
37
37
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9mLWRyYWctaGFuZGxlL2YtY29ubmVjdGlvbi1kcmFnLWhhbmRsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7O0FBSXZCLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLDBCQUEwQixDQUFDO0FBVXpFLE1BQU0sT0FBTyw4QkFBOEI7SUFRekMsWUFDVSxnQkFBOEM7UUFBOUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE4QjtRQVB4QyxVQUFLLEdBQVcsOEJBQThCLENBQUM7SUFTL0QsQ0FBQztJQVBELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQU9NLE1BQU0sQ0FBQyxnQkFBd0IsRUFBRSxRQUFnQjtRQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8scUJBQXFCLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxNQUFjO1FBQ3RFLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDN0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQzNFLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ3JGLE9BQU8sRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4RSxDQUFDOzsySEF6QlUsOEJBQThCOytHQUE5Qiw4QkFBOEIsb0hBTi9CLEVBQUU7MkZBTUQsOEJBQThCO2tCQVIxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0osU0FBUyxFQUFFLE9BQU87cUJBQ25CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuXG5leHBvcnQgY29uc3QgRl9DT05ORUNUSU9OX0RSQUdfSEFORExFX0NMQVNTID0gJ2YtY29ubmVjdGlvbi1kcmFnLWhhbmRsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjaXJjbGVbZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlXVwiLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzc10nOiAnY2xhc3MnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50IGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgY2xhc3M6IHN0cmluZyA9IEZfQ09OTkVDVElPTl9EUkFHX0hBTkRMRV9DTEFTUztcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR0NpcmNsZUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxTVkdDaXJjbGVFbGVtZW50PlxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcocGVudWx0aW1hdGVQb2ludDogSVBvaW50LCBlbmRQb2ludDogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgcG9pbnQgPSB0aGlzLmNhbGN1bGF0ZUNpcmNsZUNlbnRlcihwZW51bHRpbWF0ZVBvaW50LCBlbmRQb2ludCwgOCk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2N4JywgcG9pbnQueC50b1N0cmluZygpKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnY3knLCBwb2ludC55LnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVDaXJjbGVDZW50ZXIoc3RhcnQ6IElQb2ludCwgZW5kOiBJUG9pbnQsIHJhZGl1czogbnVtYmVyKTogSVBvaW50IHtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB7IHg6IGVuZC54IC0gc3RhcnQueCwgeTogZW5kLnkgLSBzdGFydC55IH07XG4gICAgY29uc3QgbGVuZ3RoID0gTWF0aC5zcXJ0KGRpcmVjdGlvbi54ICogZGlyZWN0aW9uLnggKyBkaXJlY3Rpb24ueSAqIGRpcmVjdGlvbi55KSB8fCAxO1xuICAgIGNvbnN0IHVuaXREaXJlY3Rpb24gPSB7IHg6IGRpcmVjdGlvbi54IC8gbGVuZ3RoLCB5OiBkaXJlY3Rpb24ueSAvIGxlbmd0aCB9O1xuICAgIGNvbnN0IHNjYWxlZERpcmVjdGlvbiA9IHsgeDogdW5pdERpcmVjdGlvbi54ICogcmFkaXVzLCB5OiB1bml0RGlyZWN0aW9uLnkgKiByYWRpdXMgfTtcbiAgICByZXR1cm4geyB4OiBlbmQueCAtIHNjYWxlZERpcmVjdGlvbi54LCB5OiBlbmQueSAtIHNjYWxlZERpcmVjdGlvbi55IH07XG4gIH1cbn1cblxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9mLWRyYWctaGFuZGxlL2YtY29ubmVjdGlvbi1kcmFnLWhhbmRsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7O0FBSXZCLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLDBCQUEwQixDQUFDO0FBVXpFLE1BQU0sT0FBTyw4QkFBOEI7SUFJekMsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDVSxnQkFBOEM7UUFBOUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE4QjtRQVB4QyxVQUFLLEdBQVcsOEJBQThCLENBQUM7SUFTL0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxnQkFBd0IsRUFBRSxRQUFnQjtRQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8scUJBQXFCLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxNQUFjO1FBQ3RFLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDN0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQzNFLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ3JGLE9BQU8sRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4RSxDQUFDOytHQXpCVSw4QkFBOEI7bUdBQTlCLDhCQUE4QixvSEFOL0IsRUFBRTs7NEZBTUQsOEJBQThCO2tCQVIxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0osU0FBUyxFQUFFLE9BQU87cUJBQ25CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuXG5leHBvcnQgY29uc3QgRl9DT05ORUNUSU9OX0RSQUdfSEFORExFX0NMQVNTID0gJ2YtY29ubmVjdGlvbi1kcmFnLWhhbmRsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjaXJjbGVbZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlXVwiLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzc10nOiAnY2xhc3MnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50IGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgY2xhc3M6IHN0cmluZyA9IEZfQ09OTkVDVElPTl9EUkFHX0hBTkRMRV9DTEFTUztcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR0NpcmNsZUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxTVkdDaXJjbGVFbGVtZW50PlxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcocGVudWx0aW1hdGVQb2ludDogSVBvaW50LCBlbmRQb2ludDogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgcG9pbnQgPSB0aGlzLmNhbGN1bGF0ZUNpcmNsZUNlbnRlcihwZW51bHRpbWF0ZVBvaW50LCBlbmRQb2ludCwgOCk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2N4JywgcG9pbnQueC50b1N0cmluZygpKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnY3knLCBwb2ludC55LnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVDaXJjbGVDZW50ZXIoc3RhcnQ6IElQb2ludCwgZW5kOiBJUG9pbnQsIHJhZGl1czogbnVtYmVyKTogSVBvaW50IHtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB7IHg6IGVuZC54IC0gc3RhcnQueCwgeTogZW5kLnkgLSBzdGFydC55IH07XG4gICAgY29uc3QgbGVuZ3RoID0gTWF0aC5zcXJ0KGRpcmVjdGlvbi54ICogZGlyZWN0aW9uLnggKyBkaXJlY3Rpb24ueSAqIGRpcmVjdGlvbi55KSB8fCAxO1xuICAgIGNvbnN0IHVuaXREaXJlY3Rpb24gPSB7IHg6IGRpcmVjdGlvbi54IC8gbGVuZ3RoLCB5OiBkaXJlY3Rpb24ueSAvIGxlbmd0aCB9O1xuICAgIGNvbnN0IHNjYWxlZERpcmVjdGlvbiA9IHsgeDogdW5pdERpcmVjdGlvbi54ICogcmFkaXVzLCB5OiB1bml0RGlyZWN0aW9uLnkgKiByYWRpdXMgfTtcbiAgICByZXR1cm4geyB4OiBlbmQueCAtIHNjYWxlZERpcmVjdGlvbi54LCB5OiBlbmQueSAtIHNjYWxlZERpcmVjdGlvbi55IH07XG4gIH1cbn1cblxuIl19
@@ -0,0 +1,63 @@
1
+ import { ChangeDetectionStrategy, Component, Inject } from "@angular/core";
2
+ import { Point } from '@foblex/2d';
3
+ import { F_CONNECTION_IDENTIFIERS } from '../f-connection-identifiers';
4
+ import { F_CONNECTION } from '../f-connection.injection-token';
5
+ import { CONNECTION_GRADIENT } from './i-connection-gradient';
6
+ import * as i0 from "@angular/core";
7
+ export class FConnectionGradientComponent {
8
+ get gradientId() {
9
+ return F_CONNECTION_IDENTIFIERS.gradientId(this.base.fId + this.base.fOutputId + this.base.fInputId);
10
+ }
11
+ get hostElement() {
12
+ return this.elementReference.nativeElement;
13
+ }
14
+ get stop1Element() {
15
+ return this.elementReference.nativeElement.children.item(0);
16
+ }
17
+ get stop2Element() {
18
+ return this.elementReference.nativeElement.children.item(1);
19
+ }
20
+ constructor(elementReference, base) {
21
+ this.elementReference = elementReference;
22
+ this.base = base;
23
+ }
24
+ initialize() {
25
+ this.stop1Element.setAttribute('offset', '0%');
26
+ this.stop2Element.setAttribute('offset', '100%');
27
+ }
28
+ updateGradient() {
29
+ this.setFromColor(this.base.fStartColor);
30
+ this.setToColor(this.base.fEndColor);
31
+ }
32
+ setFromColor(color) {
33
+ this.stop1Element.setAttribute('stop-color', color || 'transparent');
34
+ }
35
+ setToColor(color) {
36
+ this.stop2Element.setAttribute('stop-color', color || 'transparent');
37
+ }
38
+ redraw(line) {
39
+ const x = line.point2.x - line.point1.x;
40
+ const y = line.point2.y - line.point1.y;
41
+ const distance = Math.sqrt(x * x + y * y) || 0.01;
42
+ const from = new Point(0.5 - (0.5 * x) / distance, 0.5 - (0.5 * y) / distance);
43
+ this.hostElement.setAttribute('x1', from.x.toString());
44
+ this.hostElement.setAttribute('y1', from.y.toString());
45
+ const to = new Point(0.5 + (0.5 * x) / distance, 0.5 + (0.5 * y) / distance);
46
+ this.hostElement.setAttribute('x2', to.x.toString());
47
+ this.hostElement.setAttribute('y2', to.y.toString());
48
+ this.updateGradient();
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionGradientComponent, deps: [{ token: i0.ElementRef }, { token: F_CONNECTION }], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]", host: { properties: { "attr.id": "gradientId" }, classAttribute: "f-component f-connection-gradient" }, providers: [{ provide: CONNECTION_GRADIENT, useExisting: FConnectionGradientComponent }], ngImport: i0, template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:stop/>\n <svg:stop/>\n</ng-container>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionGradientComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: "linearGradient[fConnectionGradient]", changeDetection: ChangeDetectionStrategy.OnPush, host: {
56
+ class: "f-component f-connection-gradient",
57
+ '[attr.id]': 'gradientId'
58
+ }, providers: [{ provide: CONNECTION_GRADIENT, useExisting: FConnectionGradientComponent }], template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:stop/>\n <svg:stop/>\n</ng-container>\n" }]
59
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
60
+ type: Inject,
61
+ args: [F_CONNECTION]
62
+ }] }]; } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWdyYWRpZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9mLWdyYWRpZW50L2YtY29ubmVjdGlvbi1ncmFkaWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1ncmFkaWVudC9mLWNvbm5lY3Rpb24tZ3JhZGllbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFTLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUF1QixNQUFNLHlCQUF5QixDQUFDOztBQVluRixNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLElBQVcsVUFBVTtRQUNuQixPQUFPLHdCQUF3QixDQUFDLFVBQVUsQ0FDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQ3pELENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBbUIsQ0FB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OytCQUNFLHFDQUFxQyxtQkFFOUIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsbUNBQW1DO3dCQUMxQyxXQUFXLEVBQUUsWUFBWTtxQkFDMUIsYUFDVSxDQUFFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsOEJBQThCLEVBQUUsQ0FBRTs7MEJBd0J2RixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSUxpbmUsIFBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24taWRlbnRpZmllcnMnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8gfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Db2xvciB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tY29sb3InO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBDT05ORUNUSU9OX0dSQURJRU5ULCBJQ29ubmVjdGlvbkdyYWRpZW50IH0gZnJvbSAnLi9pLWNvbm5lY3Rpb24tZ3JhZGllbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibGluZWFyR3JhZGllbnRbZkNvbm5lY3Rpb25HcmFkaWVudF1cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9mLWNvbm5lY3Rpb24tZ3JhZGllbnQuY29tcG9uZW50Lmh0bWxcIixcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb24tZ3JhZGllbnRcIixcbiAgICAnW2F0dHIuaWRdJzogJ2dyYWRpZW50SWQnXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IENPTk5FQ1RJT05fR1JBRElFTlQsIHVzZUV4aXN0aW5nOiBGQ29ubmVjdGlvbkdyYWRpZW50Q29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25HcmFkaWVudENvbXBvbmVudCBpbXBsZW1lbnRzIElDb25uZWN0aW9uR3JhZGllbnQge1xuXG4gIHB1YmxpYyBnZXQgZ3JhZGllbnRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMuZ3JhZGllbnRJZChcbiAgICAgIHRoaXMuYmFzZS5mSWQgKyB0aGlzLmJhc2UuZk91dHB1dElkICsgdGhpcy5iYXNlLmZJbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0b3AxRWxlbWVudCgpOiBTVkdTdG9wRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCkgYXMgU1ZHU3RvcEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0b3AyRWxlbWVudCgpOiBTVkdTdG9wRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMSkgYXMgU1ZHU3RvcEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50PixcbiAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvbkNvbG9yICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8sXG4gICkge1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wMUVsZW1lbnQuc2V0QXR0cmlidXRlKCdvZmZzZXQnLCAnMCUnKTtcbiAgICB0aGlzLnN0b3AyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ29mZnNldCcsICcxMDAlJyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUdyYWRpZW50KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RnJvbUNvbG9yKHRoaXMuYmFzZS5mU3RhcnRDb2xvcik7XG4gICAgdGhpcy5zZXRUb0NvbG9yKHRoaXMuYmFzZS5mRW5kQ29sb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGcm9tQ29sb3IoY29sb3I6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcDFFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3RvcC1jb2xvcicsIGNvbG9yIHx8ICd0cmFuc3BhcmVudCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUb0NvbG9yKGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3N0b3AtY29sb3InLCBjb2xvciB8fCAndHJhbnNwYXJlbnQnKTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcobGluZTogSUxpbmUpOiB2b2lkIHtcbiAgICBjb25zdCB4OiBudW1iZXIgPSBsaW5lLnBvaW50Mi54IC0gbGluZS5wb2ludDEueDtcbiAgICBjb25zdCB5OiBudW1iZXIgPSBsaW5lLnBvaW50Mi55IC0gbGluZS5wb2ludDEueTtcbiAgICBjb25zdCBkaXN0YW5jZTogbnVtYmVyID0gTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkpIHx8IDAuMDE7XG5cbiAgICBjb25zdCBmcm9tID0gbmV3IFBvaW50KDAuNSAtICgwLjUgKiB4KSAvIGRpc3RhbmNlLCAwLjUgLSAoMC41ICogeSkgLyBkaXN0YW5jZSk7XG5cbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgneDEnLCBmcm9tLngudG9TdHJpbmcoKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3kxJywgZnJvbS55LnRvU3RyaW5nKCkpO1xuXG4gICAgY29uc3QgdG8gPSBuZXcgUG9pbnQoMC41ICsgKDAuNSAqIHgpIC8gZGlzdGFuY2UsIDAuNSArICgwLjUgKiB5KSAvIGRpc3RhbmNlKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgneDInLCB0by54LnRvU3RyaW5nKCkpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd5MicsIHRvLnkudG9TdHJpbmcoKSk7XG4gICAgdGhpcy51cGRhdGVHcmFkaWVudCgpO1xuICB9XG59XG5cbiIsIjxuZy1jb250YWluZXIgeG1sbnM6c3ZnPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8c3ZnOnN0b3AvPlxuICAgIDxzdmc6c3RvcC8+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { ChangeDetectionStrategy, Component, Inject } from "@angular/core";
2
+ import { F_CONNECTION_IDENTIFIERS } from '../f-connection-identifiers';
3
+ import { F_CONNECTION } from '../f-connection.injection-token';
4
+ import { CONNECTION_PATH } from './i-connection-path';
5
+ import { getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, } from './get-path-marker-id';
6
+ import * as i0 from "@angular/core";
7
+ export class FConnectionPathComponent {
8
+ get fPathId() {
9
+ return this.base.fId;
10
+ }
11
+ get linkToGradient() {
12
+ return F_CONNECTION_IDENTIFIERS.linkToGradient(this.base.fId + this.base.fOutputId + this.base.fInputId);
13
+ }
14
+ get attrConnectionId() {
15
+ return F_CONNECTION_IDENTIFIERS.connectionId(this.base.fId + this.base.fOutputId + this.base.fInputId);
16
+ }
17
+ get hostElement() {
18
+ return this.elementReference.nativeElement;
19
+ }
20
+ constructor(elementReference, base) {
21
+ this.elementReference = elementReference;
22
+ this.base = base;
23
+ }
24
+ initialize() {
25
+ this.deselect();
26
+ }
27
+ setPath(path) {
28
+ this.hostElement.setAttribute("d", `${path}`);
29
+ }
30
+ select() {
31
+ this.hostElement.setAttribute('marker-start', `url(#${getMarkerSelectedStartId(this.base.fId)})`);
32
+ this.hostElement.setAttribute('marker-end', `url(#${getMarkerSelectedEndId(this.base.fId)})`);
33
+ }
34
+ deselect() {
35
+ this.hostElement.setAttribute('marker-start', `url(#${getMarkerStartId(this.base.fId)})`);
36
+ this.hostElement.setAttribute('marker-end', `url(#${getMarkerEndId(this.base.fId)})`);
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionPathComponent, deps: [{ token: i0.ElementRef }, { token: F_CONNECTION }], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FConnectionPathComponent, selector: "path[f-connection-path]", host: { properties: { "attr.id": "attrConnectionId", "attr.data-f-path-id": "fPathId", "attr.stroke": "linkToGradient" }, classAttribute: "f-component f-connection-path" }, providers: [{ provide: CONNECTION_PATH, useExisting: FConnectionPathComponent }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionPathComponent, decorators: [{
42
+ type: Component,
43
+ args: [{
44
+ selector: "path[f-connection-path]",
45
+ template: '',
46
+ changeDetection: ChangeDetectionStrategy.OnPush,
47
+ host: {
48
+ class: "f-component f-connection-path",
49
+ '[attr.id]': 'attrConnectionId',
50
+ '[attr.data-f-path-id]': 'fPathId',
51
+ '[attr.stroke]': 'linkToGradient',
52
+ },
53
+ providers: [{ provide: CONNECTION_PATH, useExisting: FConnectionPathComponent }],
54
+ }]
55
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
56
+ type: Inject,
57
+ args: [F_CONNECTION]
58
+ }] }]; } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXBhdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtcGF0aC9mLWNvbm5lY3Rpb24tcGF0aC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUNMLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLGdCQUFnQixHQUNqQixNQUFNLHNCQUFzQixDQUFDOztBQWM5QixNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyx3QkFBd0IsQ0FBQyxjQUFjLENBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sd0JBQXdCLENBQUMsWUFBWSxDQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDekQsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUNVLGdCQUE0QyxFQUN0QixJQUFnRDtRQUR0RSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTRCO1FBQ3RCLFNBQUksR0FBSixJQUFJLENBQTRDO0lBRWhGLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBWTtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBSSxJQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLFFBQVMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUUsR0FBRyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsUUFBUyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBRSxHQUFHLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUYsQ0FBQzsrR0E1Q1Usd0JBQXdCLDRDQXdCekIsWUFBWTttR0F4Qlgsd0JBQXdCLCtOQUZ4QixDQUFFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsQ0FBRSwwQkFSeEUsRUFBRTs7NEZBVUQsd0JBQXdCO2tCQVpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLCtCQUErQjt3QkFDdEMsV0FBVyxFQUFFLGtCQUFrQjt3QkFDL0IsdUJBQXVCLEVBQUUsU0FBUzt3QkFDbEMsZUFBZSxFQUFFLGdCQUFnQjtxQkFDbEM7b0JBQ0QsU0FBUyxFQUFFLENBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsMEJBQTBCLEVBQUUsQ0FBRTtpQkFDbkY7OzBCQXlCSSxNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX0lERU5USUZJRVJTIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWlkZW50aWZpZXJzJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uQ29sb3IgfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgQ09OTkVDVElPTl9QQVRILCBJQ29ubmVjdGlvblBhdGggfSBmcm9tICcuL2ktY29ubmVjdGlvbi1wYXRoJztcbmltcG9ydCB7XG4gIGdldE1hcmtlckVuZElkLFxuICBnZXRNYXJrZXJTZWxlY3RlZEVuZElkLFxuICBnZXRNYXJrZXJTZWxlY3RlZFN0YXJ0SWQsXG4gIGdldE1hcmtlclN0YXJ0SWQsXG59IGZyb20gJy4vZ2V0LXBhdGgtbWFya2VyLWlkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInBhdGhbZi1jb25uZWN0aW9uLXBhdGhdXCIsXG4gIHRlbXBsYXRlOiAnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb24tcGF0aFwiLFxuICAgICdbYXR0ci5pZF0nOiAnYXR0ckNvbm5lY3Rpb25JZCcsXG4gICAgJ1thdHRyLmRhdGEtZi1wYXRoLWlkXSc6ICdmUGF0aElkJyxcbiAgICAnW2F0dHIuc3Ryb2tlXSc6ICdsaW5rVG9HcmFkaWVudCcsXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IENPTk5FQ1RJT05fUEFUSCwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uUGF0aENvbXBvbmVudCB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uUGF0aENvbXBvbmVudCBpbXBsZW1lbnRzIElDb25uZWN0aW9uUGF0aCB7XG5cbiAgcHVibGljIGdldCBmUGF0aElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZS5mSWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxpbmtUb0dyYWRpZW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZfQ09OTkVDVElPTl9JREVOVElGSUVSUy5saW5rVG9HcmFkaWVudChcbiAgICAgIHRoaXMuYmFzZS5mSWQgKyB0aGlzLmJhc2UuZk91dHB1dElkICsgdGhpcy5iYXNlLmZJbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXR0ckNvbm5lY3Rpb25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMuY29ubmVjdGlvbklkKFxuICAgICAgdGhpcy5iYXNlLmZJZCArIHRoaXMuYmFzZS5mT3V0cHV0SWQgKyB0aGlzLmJhc2UuZklucHV0SWRcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBTVkdQYXRoRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPFNWR1BhdGhFbGVtZW50PixcbiAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvbkNvbG9yICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG9cbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGF0aChwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcImRcIiwgYCR7IHBhdGggfWApO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLXN0YXJ0JywgYHVybCgjJHsgZ2V0TWFya2VyU2VsZWN0ZWRTdGFydElkKHRoaXMuYmFzZS5mSWQpIH0pYCk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1lbmQnLCBgdXJsKCMkeyBnZXRNYXJrZXJTZWxlY3RlZEVuZElkKHRoaXMuYmFzZS5mSWQpIH0pYCk7XG4gIH1cblxuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1zdGFydCcsIGB1cmwoIyR7IGdldE1hcmtlclN0YXJ0SWQodGhpcy5iYXNlLmZJZCkgfSlgKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLWVuZCcsIGB1cmwoIyR7IGdldE1hcmtlckVuZElkKHRoaXMuYmFzZS5mSWQpIH0pYCk7XG4gIH1cbn1cbiJdfQ==