@foblex/flow 18.1.1 → 18.2.0

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 (1061) hide show
  1. package/README.md +71 -35
  2. package/domain/f-canvas/add-canvas-to-store/add-canvas-to-store-request.d.ts +2 -2
  3. package/domain/f-canvas/add-canvas-to-store/add-canvas-to-store.d.ts +12 -0
  4. package/domain/f-canvas/add-canvas-to-store/index.d.ts +1 -1
  5. package/domain/f-canvas/center-group-or-node/center-group-or-node.d.ts +17 -0
  6. package/domain/f-canvas/center-group-or-node/index.d.ts +1 -1
  7. package/domain/f-canvas/fit-to-flow/fit-to-flow-request.d.ts +2 -2
  8. package/domain/f-canvas/fit-to-flow/fit-to-flow.d.ts +17 -0
  9. package/domain/f-canvas/fit-to-flow/index.d.ts +1 -1
  10. package/domain/f-canvas/index.d.ts +0 -1
  11. package/domain/f-canvas/input-canvas-position/index.d.ts +1 -1
  12. package/domain/f-canvas/input-canvas-position/input-canvas-position-request.d.ts +2 -2
  13. package/domain/f-canvas/input-canvas-position/input-canvas-position.d.ts +13 -0
  14. package/domain/f-canvas/input-canvas-scale/index.d.ts +1 -1
  15. package/domain/f-canvas/input-canvas-scale/input-canvas-scale.d.ts +13 -0
  16. package/domain/f-canvas/providers.d.ts +11 -12
  17. package/domain/f-canvas/redraw-canvas-with-animation/index.d.ts +1 -1
  18. package/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation.d.ts +17 -0
  19. package/domain/f-canvas/remove-canvas-from-store/index.d.ts +1 -1
  20. package/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store.d.ts +12 -0
  21. package/domain/f-canvas/reset-scale/index.d.ts +1 -1
  22. package/domain/f-canvas/reset-scale/reset-scale.d.ts +13 -0
  23. package/domain/f-canvas/reset-scale-and-center/index.d.ts +1 -1
  24. package/domain/f-canvas/reset-scale-and-center/reset-scale-and-center-request.d.ts +1 -1
  25. package/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.d.ts +17 -0
  26. package/domain/f-canvas/update-scale/index.d.ts +1 -1
  27. package/domain/f-canvas/update-scale/update-scale-request.d.ts +2 -2
  28. package/domain/f-canvas/update-scale/update-scale.d.ts +14 -0
  29. package/domain/f-connection/redraw-connections/redraw-connections.d.ts +17 -2
  30. package/domain/f-connectors/add-connector-to-store/add-connector-to-store.d.ts +2 -0
  31. package/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.d.ts +30 -0
  32. package/domain/f-connectors/find-connectable-connector-using-priority-and-position/index.d.ts +2 -2
  33. package/domain/f-connectors/providers.d.ts +2 -2
  34. package/domain/f-connectors/remove-connector-from-store/remove-connector-from-store.d.ts +2 -0
  35. package/domain/f-draggable/add-dnd-to-store/add-dnd-to-store.d.ts +12 -0
  36. package/domain/f-draggable/add-dnd-to-store/index.d.ts +1 -1
  37. package/domain/f-draggable/initialize-drag-sequence/index.d.ts +1 -1
  38. package/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.d.ts +12 -0
  39. package/domain/f-draggable/is-drag-started/is-drag-started.d.ts +1 -1
  40. package/domain/f-draggable/on-pointer-move/index.d.ts +1 -1
  41. package/domain/f-draggable/on-pointer-move/on-pointer-move.d.ts +19 -0
  42. package/domain/f-draggable/prepare-drag-sequence/index.d.ts +1 -1
  43. package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.d.ts +14 -0
  44. package/domain/f-draggable/providers.d.ts +6 -6
  45. package/domain/f-draggable/remove-dnd-from-store/index.d.ts +1 -1
  46. package/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store.d.ts +12 -0
  47. package/domain/f-flow/add-flow-to-store/add-flow-to-store.d.ts +12 -0
  48. package/domain/f-flow/add-flow-to-store/index.d.ts +1 -1
  49. package/domain/f-flow/get-flow/get-flow.d.ts +13 -0
  50. package/domain/f-flow/get-flow/index.d.ts +1 -1
  51. package/domain/f-flow/providers.d.ts +4 -4
  52. package/domain/f-flow/remove-flow-from-store/index.d.ts +1 -1
  53. package/domain/f-flow/remove-flow-from-store/remove-flow-from-store.d.ts +12 -0
  54. package/domain/f-node/add-node-to-store/add-node-to-store.d.ts +1 -0
  55. package/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.d.ts +2 -2
  56. package/domain/f-node/calculate-nodes-bounding-box/index.d.ts +1 -1
  57. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.d.ts +3 -1
  58. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.d.ts +1 -1
  59. package/domain/f-node/get-child-node-ids/get-child-node-ids.d.ts +1 -1
  60. package/domain/f-node/get-child-node-ids/index.d.ts +1 -1
  61. package/domain/f-node/get-node-padding/get-node-padding.d.ts +8 -3
  62. package/domain/f-node/get-node-padding/index.d.ts +1 -1
  63. package/domain/f-node/get-parent-nodes/get-parent-nodes.d.ts +1 -1
  64. package/domain/f-node/get-parent-nodes/index.d.ts +1 -1
  65. package/domain/f-node/remove-node-from-store/remove-node-from-store.d.ts +1 -0
  66. package/domain/f-selection/calculate-selectable-items/calculate-selectable-items.d.ts +0 -1
  67. package/domain/f-selection/clear-selection/clear-selection.d.ts +12 -0
  68. package/domain/f-selection/clear-selection/index.d.ts +2 -2
  69. package/domain/f-selection/get-current-selection/get-current-selection.d.ts +16 -0
  70. package/domain/f-selection/get-current-selection/index.d.ts +2 -2
  71. package/domain/f-selection/index.d.ts +1 -1
  72. package/domain/f-selection/providers.d.ts +4 -4
  73. package/domain/f-selection/select-items/index.d.ts +2 -0
  74. package/domain/f-selection/select-items/select.d.ts +13 -0
  75. package/domain/f-zoom/set-zoom/set-zoom-request.d.ts +4 -4
  76. package/domain/f-zoom/set-zoom/set-zoom.d.ts +3 -0
  77. package/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups-request.d.ts +5 -0
  78. package/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.d.ts +15 -0
  79. package/domain/get-deep-children-nodes-and-groups/index.d.ts +2 -2
  80. package/domain/get-normalized-connector-rect/get-normalized-connector-rect-request.d.ts +3 -2
  81. package/domain/get-normalized-connector-rect/get-normalized-connector-rect.d.ts +26 -0
  82. package/domain/get-normalized-connector-rect/index.d.ts +1 -1
  83. package/domain/get-normalized-element-rect/get-normalized-element-rect.d.ts +22 -0
  84. package/domain/get-normalized-element-rect/index.d.ts +1 -1
  85. package/domain/get-normalized-point/get-normalized-point-request.d.ts +1 -1
  86. package/domain/get-normalized-point/get-normalized-point.d.ts +15 -0
  87. package/domain/get-normalized-point/index.d.ts +1 -1
  88. package/domain/index.d.ts +1 -2
  89. package/domain/minimap/f-minimap-state.d.ts +7 -0
  90. package/domain/minimap/index.d.ts +5 -0
  91. package/domain/minimap/minimap-calculate-view-rect/index.d.ts +2 -0
  92. package/domain/minimap/minimap-calculate-view-rect/minimap-calculate-view-rect-request.d.ts +3 -0
  93. package/domain/minimap/minimap-calculate-view-rect/minimap-calculate-view-rect.d.ts +10 -0
  94. package/domain/minimap/minimap-calculate-viewport/i-minimap-viewport.d.ts +5 -0
  95. package/domain/minimap/minimap-calculate-viewport/index.d.ts +3 -0
  96. package/domain/minimap/minimap-calculate-viewport/minimap-calculate-viewport-request.d.ts +6 -0
  97. package/domain/minimap/minimap-calculate-viewport/minimap-calculate-viewport.d.ts +17 -0
  98. package/domain/minimap/minimap-draw-nodes/index.d.ts +2 -0
  99. package/domain/minimap/minimap-draw-nodes/minimap-draw-nodes.d.ts +13 -0
  100. package/domain/minimap/providers.d.ts +4 -0
  101. package/domain/providers.d.ts +6 -7
  102. package/domain/sort-item-layers/sort-item-layers.d.ts +1 -1
  103. package/domain/sort-item-layers/sort-items-by-parent/index.d.ts +2 -2
  104. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent-request.d.ts +5 -0
  105. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.d.ts +20 -0
  106. package/domain/sort-item-layers/sort-node-layers-by-groups/index.d.ts +2 -2
  107. package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.d.ts +24 -0
  108. package/esm2022/domain/f-canvas/add-canvas-to-store/add-canvas-to-store-request.mjs +4 -4
  109. package/esm2022/domain/f-canvas/add-canvas-to-store/add-canvas-to-store.mjs +25 -0
  110. package/esm2022/domain/f-canvas/add-canvas-to-store/index.mjs +2 -2
  111. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.mjs +46 -0
  112. package/esm2022/domain/f-canvas/center-group-or-node/index.mjs +2 -2
  113. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow-request.mjs +1 -1
  114. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.mjs +58 -0
  115. package/esm2022/domain/f-canvas/fit-to-flow/index.mjs +2 -2
  116. package/esm2022/domain/f-canvas/index.mjs +1 -2
  117. package/esm2022/domain/f-canvas/input-canvas-position/index.mjs +2 -2
  118. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position-request.mjs +1 -1
  119. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position.mjs +36 -0
  120. package/esm2022/domain/f-canvas/input-canvas-scale/index.mjs +2 -2
  121. package/esm2022/domain/f-canvas/input-canvas-scale/input-canvas-scale.mjs +30 -0
  122. package/esm2022/domain/f-canvas/providers.mjs +21 -23
  123. package/esm2022/domain/f-canvas/redraw-canvas-with-animation/index.mjs +2 -2
  124. package/esm2022/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation.mjs +40 -0
  125. package/esm2022/domain/f-canvas/remove-canvas-from-store/index.mjs +2 -2
  126. package/esm2022/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store.mjs +25 -0
  127. package/esm2022/domain/f-canvas/reset-scale/index.mjs +2 -2
  128. package/esm2022/domain/f-canvas/reset-scale/reset-scale.mjs +30 -0
  129. package/esm2022/domain/f-canvas/reset-scale-and-center/index.mjs +2 -2
  130. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center-request.mjs +1 -1
  131. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.mjs +50 -0
  132. package/esm2022/domain/f-canvas/update-scale/index.mjs +2 -2
  133. package/esm2022/domain/f-canvas/update-scale/update-scale-request.mjs +1 -1
  134. package/esm2022/domain/f-canvas/update-scale/update-scale.mjs +37 -0
  135. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.mjs +2 -2
  136. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.mjs +2 -2
  137. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +173 -17
  138. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.mjs +2 -2
  139. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.mjs +2 -2
  140. package/esm2022/domain/f-connectors/add-connector-to-store/add-connector-to-store.mjs +13 -5
  141. package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position-request.mjs +10 -0
  142. package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.mjs +98 -0
  143. package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/index.mjs +3 -3
  144. package/esm2022/domain/f-connectors/get-connector-rect-reference/get-connector-rect-reference.mjs +1 -1
  145. package/esm2022/domain/f-connectors/providers.mjs +3 -3
  146. package/esm2022/domain/f-connectors/remove-connector-from-store/remove-connector-from-store.mjs +13 -5
  147. package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store.mjs +25 -0
  148. package/esm2022/domain/f-draggable/add-dnd-to-store/index.mjs +2 -2
  149. package/esm2022/domain/f-draggable/initialize-drag-sequence/index.mjs +2 -2
  150. package/esm2022/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.mjs +25 -0
  151. package/esm2022/domain/f-draggable/is-drag-started/is-drag-started.mjs +2 -2
  152. package/esm2022/domain/f-draggable/on-pointer-move/index.mjs +2 -2
  153. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.mjs +46 -0
  154. package/esm2022/domain/f-draggable/prepare-drag-sequence/index.mjs +2 -2
  155. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.mjs +30 -0
  156. package/esm2022/domain/f-draggable/providers.mjs +11 -11
  157. package/esm2022/domain/f-draggable/remove-dnd-from-store/index.mjs +2 -2
  158. package/esm2022/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store.mjs +25 -0
  159. package/esm2022/domain/f-flow/add-flow-to-store/add-flow-to-store.mjs +25 -0
  160. package/esm2022/domain/f-flow/add-flow-to-store/index.mjs +2 -2
  161. package/esm2022/domain/f-flow/get-flow/get-flow.mjs +29 -0
  162. package/esm2022/domain/f-flow/get-flow/index.mjs +2 -2
  163. package/esm2022/domain/f-flow/providers.mjs +7 -7
  164. package/esm2022/domain/f-flow/remove-flow-from-store/index.mjs +2 -2
  165. package/esm2022/domain/f-flow/remove-flow-from-store/remove-flow-from-store.mjs +25 -0
  166. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.mjs +6 -3
  167. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +1 -1
  168. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box-request.mjs +4 -0
  169. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.mjs +3 -3
  170. package/esm2022/domain/f-node/calculate-nodes-bounding-box/index.mjs +2 -2
  171. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position-request.mjs +8 -0
  172. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.mjs +17 -8
  173. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.mjs +2 -2
  174. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups.mjs +2 -2
  175. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids-request.mjs +8 -0
  176. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.mjs +2 -2
  177. package/esm2022/domain/f-node/get-child-node-ids/index.mjs +2 -2
  178. package/esm2022/domain/f-node/get-node-padding/get-node-padding-request.mjs +10 -0
  179. package/esm2022/domain/f-node/get-node-padding/get-node-padding.mjs +6 -4
  180. package/esm2022/domain/f-node/get-node-padding/index.mjs +2 -2
  181. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes-request.mjs +8 -0
  182. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +2 -2
  183. package/esm2022/domain/f-node/get-parent-nodes/index.mjs +2 -2
  184. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.mjs +6 -3
  185. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +7 -6
  186. package/esm2022/domain/f-selection/calculate-selectable-items/calculate-selectable-items.mjs +3 -7
  187. package/esm2022/domain/f-selection/clear-selection/clear-selection-request.mjs +4 -0
  188. package/esm2022/domain/f-selection/clear-selection/clear-selection.mjs +27 -0
  189. package/esm2022/domain/f-selection/clear-selection/index.mjs +3 -3
  190. package/esm2022/domain/f-selection/get-current-selection/get-current-selection-request.mjs +4 -0
  191. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.mjs +45 -0
  192. package/esm2022/domain/f-selection/get-current-selection/index.mjs +3 -3
  193. package/esm2022/domain/f-selection/index.mjs +2 -2
  194. package/esm2022/domain/f-selection/providers.mjs +7 -7
  195. package/esm2022/domain/f-selection/select-items/index.mjs +3 -0
  196. package/esm2022/domain/f-selection/select-items/select-request.mjs +12 -0
  197. package/esm2022/domain/f-selection/select-items/select.mjs +45 -0
  198. package/esm2022/domain/f-zoom/set-zoom/set-zoom-request.mjs +1 -1
  199. package/esm2022/domain/f-zoom/set-zoom/set-zoom.mjs +62 -4
  200. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups-request.mjs +8 -0
  201. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.mjs +38 -0
  202. package/esm2022/domain/get-deep-children-nodes-and-groups/index.mjs +3 -3
  203. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect-request.mjs +4 -2
  204. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect.mjs +71 -0
  205. package/esm2022/domain/get-normalized-connector-rect/index.mjs +2 -2
  206. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.mjs +60 -0
  207. package/esm2022/domain/get-normalized-element-rect/index.mjs +2 -2
  208. package/esm2022/domain/get-normalized-point/get-normalized-point-request.mjs +1 -1
  209. package/esm2022/domain/get-normalized-point/get-normalized-point.mjs +28 -0
  210. package/esm2022/domain/get-normalized-point/index.mjs +2 -2
  211. package/esm2022/domain/index.mjs +2 -3
  212. package/esm2022/domain/minimap/f-minimap-state.mjs +12 -0
  213. package/esm2022/domain/minimap/index.mjs +6 -0
  214. package/esm2022/domain/minimap/minimap-calculate-view-rect/index.mjs +3 -0
  215. package/esm2022/domain/minimap/minimap-calculate-view-rect/minimap-calculate-view-rect-request.mjs +4 -0
  216. package/esm2022/domain/minimap/minimap-calculate-view-rect/minimap-calculate-view-rect.mjs +32 -0
  217. package/esm2022/domain/minimap/minimap-calculate-viewport/i-minimap-viewport.mjs +2 -0
  218. package/esm2022/domain/minimap/minimap-calculate-viewport/index.mjs +4 -0
  219. package/esm2022/domain/minimap/minimap-calculate-viewport/minimap-calculate-viewport-request.mjs +10 -0
  220. package/esm2022/domain/minimap/minimap-calculate-viewport/minimap-calculate-viewport.mjs +62 -0
  221. package/esm2022/domain/minimap/minimap-draw-nodes/index.mjs +3 -0
  222. package/esm2022/domain/minimap/minimap-draw-nodes/minimap-draw-nodes-request.mjs +4 -0
  223. package/esm2022/domain/minimap/minimap-draw-nodes/minimap-draw-nodes.mjs +52 -0
  224. package/esm2022/domain/minimap/providers.mjs +9 -0
  225. package/esm2022/domain/providers.mjs +16 -14
  226. package/esm2022/domain/sort-item-layers/sort-item-layers.mjs +9 -5
  227. package/esm2022/domain/sort-item-layers/sort-items-by-parent/index.mjs +3 -3
  228. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent-request.mjs +8 -0
  229. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.mjs +124 -0
  230. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/index.mjs +3 -3
  231. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers-request.mjs +4 -0
  232. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.mjs +65 -0
  233. package/esm2022/f-cache/config/f-cache-options.mjs +20 -0
  234. package/esm2022/f-cache/config/index.mjs +2 -0
  235. package/esm2022/f-cache/features/f-cache-connectors/index.mjs +3 -0
  236. package/esm2022/f-cache/features/f-cache-connectors/register-connector/index.mjs +3 -0
  237. package/esm2022/f-cache/features/f-cache-connectors/register-connector/register-connector-request.mjs +14 -0
  238. package/esm2022/f-cache/features/f-cache-connectors/register-connector/register-connector.mjs +51 -0
  239. package/esm2022/f-cache/features/f-cache-connectors/unregister-connector/index.mjs +3 -0
  240. package/esm2022/f-cache/features/f-cache-connectors/unregister-connector/unregister-connector-request.mjs +10 -0
  241. package/esm2022/f-cache/features/f-cache-connectors/unregister-connector/unregister-connector.mjs +49 -0
  242. package/esm2022/f-cache/features/f-cache-nodes/index.mjs +4 -0
  243. package/esm2022/f-cache/features/f-cache-nodes/invalidate-node/index.mjs +3 -0
  244. package/esm2022/f-cache/features/f-cache-nodes/invalidate-node/invalidate-node-request.mjs +10 -0
  245. package/esm2022/f-cache/features/f-cache-nodes/invalidate-node/invalidate-node.mjs +41 -0
  246. package/esm2022/f-cache/features/f-cache-nodes/register-node/index.mjs +3 -0
  247. package/esm2022/f-cache/features/f-cache-nodes/register-node/register-node-request.mjs +12 -0
  248. package/esm2022/f-cache/features/f-cache-nodes/register-node/register-node.mjs +30 -0
  249. package/esm2022/f-cache/features/f-cache-nodes/unregister-node/index.mjs +3 -0
  250. package/esm2022/f-cache/features/f-cache-nodes/unregister-node/unregister-node-request.mjs +8 -0
  251. package/esm2022/f-cache/features/f-cache-nodes/unregister-node/unregister-node.mjs +43 -0
  252. package/esm2022/f-cache/features/f-cache-rects/get-cached-rect/get-cached-rect-request.mjs +8 -0
  253. package/esm2022/f-cache/features/f-cache-rects/get-cached-rect/get-cached-rect.mjs +38 -0
  254. package/esm2022/f-cache/features/f-cache-rects/get-cached-rect/index.mjs +3 -0
  255. package/esm2022/f-cache/features/f-cache-rects/index.mjs +5 -0
  256. package/esm2022/f-cache/features/f-cache-rects/set-connector-rect/index.mjs +3 -0
  257. package/esm2022/f-cache/features/f-cache-rects/set-connector-rect/set-connector-rect-request.mjs +12 -0
  258. package/esm2022/f-cache/features/f-cache-rects/set-connector-rect/set-connector-rect.mjs +33 -0
  259. package/esm2022/f-cache/features/f-cache-rects/set-node-rect/index.mjs +3 -0
  260. package/esm2022/f-cache/features/f-cache-rects/set-node-rect/set-node-rect-request.mjs +10 -0
  261. package/esm2022/f-cache/features/f-cache-rects/set-node-rect/set-node-rect.mjs +64 -0
  262. package/esm2022/f-cache/features/f-cache-rects/update-rect-by-element/index.mjs +3 -0
  263. package/esm2022/f-cache/features/f-cache-rects/update-rect-by-element/update-rect-by-element-request.mjs +10 -0
  264. package/esm2022/f-cache/features/f-cache-rects/update-rect-by-element/update-rect-by-element.mjs +42 -0
  265. package/esm2022/f-cache/features/index.mjs +4 -0
  266. package/esm2022/f-cache/index.mjs +5 -0
  267. package/esm2022/f-cache/model/f-cache-connector-key.mjs +6 -0
  268. package/esm2022/f-cache/model/f-cache-connector.mjs +17 -0
  269. package/esm2022/f-cache/model/f-cache-node.mjs +13 -0
  270. package/esm2022/f-cache/model/f-cache.mjs +15 -0
  271. package/esm2022/f-cache/model/i-f-cache-node-ref.mjs +2 -0
  272. package/esm2022/f-cache/model/index.mjs +6 -0
  273. package/esm2022/f-cache/providers.mjs +15 -0
  274. package/esm2022/f-canvas/f-canvas.component.mjs +14 -7
  275. package/esm2022/f-connection/f-connection/f-connection.component.mjs +3 -3
  276. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +3 -3
  277. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +3 -3
  278. package/esm2022/f-connection-v2/components/connection-content/f-connection-content.mjs +3 -3
  279. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-content-place.mjs +3 -3
  280. package/esm2022/f-connection-v2/components/connection-waypoints/f-connection-waypoints.mjs +3 -3
  281. package/esm2022/f-connection-worker/features/calculate-connection-worker-connector-rect/calculate-connection-worker-connector-rect-request.mjs +10 -0
  282. package/esm2022/f-connection-worker/features/calculate-connection-worker-connector-rect/calculate-connection-worker-connector-rect.mjs +31 -0
  283. package/esm2022/f-connection-worker/features/calculate-connection-worker-connector-rect/index.mjs +3 -0
  284. package/esm2022/f-connection-worker/features/calculate-connection-worker-payload-item/calculate-connection-worker-payload-item-request.mjs +10 -0
  285. package/esm2022/f-connection-worker/features/calculate-connection-worker-payload-item/calculate-connection-worker-payload-item.mjs +45 -0
  286. package/esm2022/f-connection-worker/features/calculate-connection-worker-payload-item/index.mjs +3 -0
  287. package/esm2022/f-connection-worker/features/calculate-connections-using-connection-worker/calculate-connections-using-connection-worker-request.mjs +10 -0
  288. package/esm2022/f-connection-worker/features/calculate-connections-using-connection-worker/calculate-connections-using-connection-worker.mjs +41 -0
  289. package/esm2022/f-connection-worker/features/calculate-connections-using-connection-worker/index.mjs +3 -0
  290. package/esm2022/f-connection-worker/features/connection-worker-run/connection-worker-run-request.mjs +8 -0
  291. package/esm2022/f-connection-worker/features/connection-worker-run/connection-worker-run.mjs +59 -0
  292. package/esm2022/f-connection-worker/features/connection-worker-run/index.mjs +3 -0
  293. package/esm2022/f-connection-worker/features/disable-connection-worker/disable-connection-worker-request.mjs +8 -0
  294. package/esm2022/f-connection-worker/features/disable-connection-worker/disable-connection-worker.mjs +25 -0
  295. package/esm2022/f-connection-worker/features/disable-connection-worker/index.mjs +3 -0
  296. package/esm2022/f-connection-worker/features/ensure-connection-worker/ensure-connection-worker-request.mjs +4 -0
  297. package/esm2022/f-connection-worker/features/ensure-connection-worker/ensure-connection-worker.mjs +61 -0
  298. package/esm2022/f-connection-worker/features/ensure-connection-worker/index.mjs +3 -0
  299. package/esm2022/f-connection-worker/features/handle-connection-worker-message/handle-connection-worker-message-request.mjs +8 -0
  300. package/esm2022/f-connection-worker/features/handle-connection-worker-message/handle-connection-worker-message.mjs +34 -0
  301. package/esm2022/f-connection-worker/features/handle-connection-worker-message/index.mjs +3 -0
  302. package/esm2022/f-connection-worker/features/index.mjs +13 -0
  303. package/esm2022/f-connection-worker/features/is-connection-worker-enabled/index.mjs +3 -0
  304. package/esm2022/f-connection-worker/features/is-connection-worker-enabled/is-connection-worker-enabled-request.mjs +4 -0
  305. package/esm2022/f-connection-worker/features/is-connection-worker-enabled/is-connection-worker-enabled.mjs +34 -0
  306. package/esm2022/f-connection-worker/features/reset-connection-worker-runtime/index.mjs +3 -0
  307. package/esm2022/f-connection-worker/features/reset-connection-worker-runtime/reset-connection-worker-runtime-request.mjs +8 -0
  308. package/esm2022/f-connection-worker/features/reset-connection-worker-runtime/reset-connection-worker-runtime.mjs +22 -0
  309. package/esm2022/f-connection-worker/features/resolve-connection-worker-connectors/index.mjs +3 -0
  310. package/esm2022/f-connection-worker/features/resolve-connection-worker-connectors/resolve-connection-worker-connectors-request.mjs +8 -0
  311. package/esm2022/f-connection-worker/features/resolve-connection-worker-connectors/resolve-connection-worker-connectors.mjs +27 -0
  312. package/esm2022/f-connection-worker/features/resolve-connection-worker-context/index.mjs +3 -0
  313. package/esm2022/f-connection-worker/features/resolve-connection-worker-context/resolve-connection-worker-context-request.mjs +10 -0
  314. package/esm2022/f-connection-worker/features/resolve-connection-worker-context/resolve-connection-worker-context.mjs +36 -0
  315. package/esm2022/f-connection-worker/features/should-use-connection-worker/index.mjs +3 -0
  316. package/esm2022/f-connection-worker/features/should-use-connection-worker/should-use-connection-worker-request.mjs +8 -0
  317. package/esm2022/f-connection-worker/features/should-use-connection-worker/should-use-connection-worker.mjs +22 -0
  318. package/esm2022/f-connection-worker/index.mjs +4 -0
  319. package/esm2022/f-connection-worker/model/f-connection-worker.mjs +23 -0
  320. package/esm2022/f-connection-worker/model/i-f-connection-worker-rect.mjs +2 -0
  321. package/esm2022/f-connection-worker/model/i-f-connection-worker-request-item.mjs +2 -0
  322. package/esm2022/f-connection-worker/model/i-f-connection-worker-response.mjs +2 -0
  323. package/esm2022/f-connection-worker/model/i-f-connection-worker-result-item.mjs +2 -0
  324. package/esm2022/f-connection-worker/model/index.mjs +7 -0
  325. package/esm2022/f-connection-worker/model/t-f-connection-worker-pending-request.mjs +2 -0
  326. package/esm2022/f-connection-worker/providers.mjs +18 -0
  327. package/esm2022/f-draggable/connection/drag-connection-waypoint/drag-connection-waypoint-preparation/drag-connection-waypoint-preparation.mjs +2 -2
  328. package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.mjs +2 -2
  329. package/esm2022/f-draggable/domain/detect-connections-under-drag-node/detect-connections-under-drag-node.mjs +2 -2
  330. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect-request.mjs +8 -0
  331. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.mjs +67 -0
  332. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/index.mjs +3 -3
  333. package/esm2022/f-draggable/domain/is-array-has-parent-node/index.mjs +3 -3
  334. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node-request.mjs +10 -0
  335. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.mjs +26 -0
  336. package/esm2022/f-draggable/domain/providers.mjs +5 -5
  337. package/esm2022/f-draggable/drag-external-item/constraints/external-rect-constraint.mjs +46 -0
  338. package/esm2022/f-draggable/drag-external-item/constraints/index.mjs +2 -0
  339. package/esm2022/f-draggable/drag-external-item/drag-external-item-create-placeholder/drag-external-item-create-placeholder-request.mjs +8 -0
  340. package/esm2022/f-draggable/drag-external-item/drag-external-item-create-placeholder/drag-external-item-create-placeholder.mjs +42 -0
  341. package/esm2022/f-draggable/drag-external-item/drag-external-item-create-placeholder/index.mjs +3 -0
  342. package/esm2022/f-draggable/drag-external-item/drag-external-item-create-preview/drag-external-item-create-preview-request.mjs +8 -0
  343. package/esm2022/f-draggable/drag-external-item/drag-external-item-create-preview/drag-external-item-create-preview.mjs +53 -0
  344. package/esm2022/f-draggable/drag-external-item/drag-external-item-create-preview/index.mjs +3 -0
  345. package/esm2022/f-draggable/drag-external-item/drag-external-item-finalize/drag-external-item-finalize-request.mjs +8 -0
  346. package/esm2022/f-draggable/drag-external-item/drag-external-item-finalize/drag-external-item-finalize.mjs +75 -0
  347. package/esm2022/f-draggable/drag-external-item/drag-external-item-finalize/index.mjs +3 -0
  348. package/esm2022/f-draggable/drag-external-item/drag-external-item-handler/drag-external-item-handler.mjs +206 -0
  349. package/esm2022/f-draggable/drag-external-item/drag-external-item-handler/index.mjs +2 -0
  350. package/esm2022/f-draggable/drag-external-item/drag-external-item-preparation/drag-external-item-preparation-request.mjs +10 -0
  351. package/esm2022/f-draggable/drag-external-item/drag-external-item-preparation/drag-external-item-preparation.mjs +55 -0
  352. package/esm2022/f-draggable/drag-external-item/drag-external-item-preparation/index.mjs +3 -0
  353. package/esm2022/f-draggable/drag-external-item/f-create-node-event.mjs +35 -0
  354. package/esm2022/f-draggable/drag-external-item/f-drag-external-item-start-event-data.mjs +7 -0
  355. package/esm2022/f-draggable/drag-external-item/i-drag-external-item-drag-result.mjs +2 -0
  356. package/esm2022/f-draggable/drag-external-item/index.mjs +13 -0
  357. package/esm2022/f-draggable/drag-external-item/is-drag-external-item-handler.mjs +7 -0
  358. package/esm2022/f-draggable/drag-external-item/prevent-default-is-external-item/index.mjs +3 -0
  359. package/esm2022/f-draggable/drag-external-item/prevent-default-is-external-item/prevent-default-is-external-item-request.mjs +8 -0
  360. package/esm2022/f-draggable/drag-external-item/prevent-default-is-external-item/prevent-default-is-external-item.mjs +38 -0
  361. package/esm2022/f-draggable/drag-external-item/providers.mjs +13 -0
  362. package/esm2022/f-draggable/drag-minimap/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point-request.mjs +14 -0
  363. package/esm2022/f-draggable/drag-minimap/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.mjs +39 -0
  364. package/esm2022/f-draggable/drag-minimap/calculate-flow-point-from-minimap-point/index.mjs +3 -0
  365. package/esm2022/f-draggable/drag-minimap/drag-minimap-finalize/drag-minimap-finalize-request.mjs +8 -0
  366. package/esm2022/f-draggable/drag-minimap/drag-minimap-finalize/drag-minimap-finalize.mjs +30 -0
  367. package/esm2022/f-draggable/drag-minimap/drag-minimap-finalize/index.mjs +3 -0
  368. package/esm2022/f-draggable/drag-minimap/drag-minimap-handler/drag-minimap-handler.mjs +52 -0
  369. package/esm2022/f-draggable/drag-minimap/drag-minimap-handler/index.mjs +2 -0
  370. package/esm2022/f-draggable/drag-minimap/drag-minimap-preparation/drag-minimap-preparation-request.mjs +8 -0
  371. package/esm2022/f-draggable/drag-minimap/drag-minimap-preparation/drag-minimap-preparation.mjs +68 -0
  372. package/esm2022/f-draggable/drag-minimap/drag-minimap-preparation/index.mjs +3 -0
  373. package/esm2022/f-draggable/drag-minimap/index.mjs +7 -0
  374. package/esm2022/f-draggable/drag-minimap/is-drag-minimap-handler.mjs +7 -0
  375. package/esm2022/f-draggable/drag-minimap/providers.mjs +9 -0
  376. package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-drag-node-handler-from-selection.mjs +1 -1
  377. package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-soft-parent-connection-drag-handlers-to-node/attach-soft-parent-connection-drag-handlers-to-node-request.mjs +18 -0
  378. package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-soft-parent-connection-drag-handlers-to-node/attach-soft-parent-connection-drag-handlers-to-node.mjs +95 -0
  379. package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-soft-parent-connection-drag-handlers-to-node/index.mjs +3 -0
  380. package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-handler/create-drag-node-handler.mjs +23 -4
  381. package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/index.mjs +2 -1
  382. package/esm2022/f-draggable/drag-node/attach-drag-node-handler-from-selection/providers.mjs +3 -1
  383. package/esm2022/f-draggable/drag-node/drag-node-dependent-connection-handlers/drag-node-connection-handler-base.mjs +7 -1
  384. package/esm2022/f-draggable/drag-node/drag-node-finalize/drag-node-finalize.mjs +3 -3
  385. package/esm2022/f-draggable/drag-node/drag-node-handler/drag-node-handler.mjs +5 -4
  386. package/esm2022/f-draggable/drag-node/drag-node-handler/drag-node-item-handler.mjs +49 -5
  387. package/esm2022/f-draggable/drag-node/drag-node-handler/i-soft-parent-connection-handlers.mjs +2 -0
  388. package/esm2022/f-draggable/drag-node/drag-node-handler/index.mjs +2 -1
  389. package/esm2022/f-draggable/drag-node/index.mjs +2 -1
  390. package/esm2022/f-draggable/drag-node/is-drag-node-handler.mjs +7 -0
  391. package/esm2022/f-draggable/drop-to-group/drop-to-group-handler/drop-to-group-handler.mjs +11 -9
  392. package/esm2022/f-draggable/drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +4 -15
  393. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  394. package/esm2022/f-draggable/f-draggable.directive.mjs +16 -29
  395. package/esm2022/f-draggable/index.mjs +5 -4
  396. package/esm2022/f-draggable/infrastructure/drag-handler-injector.mjs +16 -1
  397. package/esm2022/f-draggable/pinch-to-zoom/index.mjs +3 -3
  398. package/esm2022/f-draggable/pinch-to-zoom/pinch-to-zoom-finalize/index.mjs +3 -0
  399. package/esm2022/f-draggable/pinch-to-zoom/pinch-to-zoom-finalize/pinch-to-zoom-finalize-request.mjs +8 -0
  400. package/esm2022/f-draggable/pinch-to-zoom/pinch-to-zoom-finalize/pinch-to-zoom-finalize.mjs +31 -0
  401. package/esm2022/f-draggable/pinch-to-zoom/pinch-to-zoom-preparation/index.mjs +3 -0
  402. package/esm2022/f-draggable/pinch-to-zoom/pinch-to-zoom-preparation/pinch-to-zoom-preparation-request.mjs +8 -0
  403. package/esm2022/f-draggable/pinch-to-zoom/pinch-to-zoom-preparation/pinch-to-zoom-preparation.mjs +47 -0
  404. package/esm2022/f-draggable/pinch-to-zoom/providers.mjs +3 -3
  405. package/esm2022/f-draggable/providers.mjs +7 -7
  406. package/esm2022/f-draggable/resize-node/apply-child-resize-constraints/apply-child-resize-constraints-request.mjs +10 -0
  407. package/esm2022/f-draggable/resize-node/apply-child-resize-constraints/apply-child-resize-constraints.mjs +57 -0
  408. package/esm2022/f-draggable/resize-node/apply-child-resize-constraints/index.mjs +3 -0
  409. package/esm2022/f-draggable/resize-node/apply-parent-resize-constraints/apply-parent-resize-constraints-request.mjs +10 -0
  410. package/esm2022/f-draggable/resize-node/apply-parent-resize-constraints/apply-parent-resize-constraints.mjs +150 -0
  411. package/esm2022/f-draggable/resize-node/apply-parent-resize-constraints/index.mjs +3 -0
  412. package/esm2022/f-draggable/resize-node/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.mjs +14 -0
  413. package/esm2022/f-draggable/resize-node/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.mjs +55 -0
  414. package/esm2022/f-draggable/resize-node/calculate-changed-rect-from-difference/index.mjs +3 -0
  415. package/esm2022/f-draggable/resize-node/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.mjs +10 -0
  416. package/esm2022/f-draggable/resize-node/calculate-direct-children-union-rect/calculate-direct-children-union-rect.mjs +38 -0
  417. package/esm2022/f-draggable/resize-node/calculate-direct-children-union-rect/index.mjs +3 -0
  418. package/esm2022/f-draggable/resize-node/calculate-resize-limits/calculate-resize-limits-request.mjs +10 -0
  419. package/esm2022/f-draggable/resize-node/calculate-resize-limits/calculate-resize-limits.mjs +69 -0
  420. package/esm2022/f-draggable/resize-node/calculate-resize-limits/index.mjs +3 -0
  421. package/esm2022/f-draggable/resize-node/constraint/i-resize-constraint.mjs +2 -0
  422. package/esm2022/f-draggable/resize-node/constraint/i-resize-limit.mjs +2 -0
  423. package/esm2022/f-draggable/resize-node/constraint/i-resize-limits.mjs +2 -0
  424. package/esm2022/f-draggable/resize-node/constraint/i-resize-overflow.mjs +2 -0
  425. package/esm2022/f-draggable/resize-node/constraint/index.mjs +6 -0
  426. package/esm2022/f-draggable/resize-node/constraint/resize-direction.mjs +12 -0
  427. package/esm2022/f-draggable/resize-node/f-resize-node-start-event-data.mjs +7 -0
  428. package/esm2022/f-draggable/resize-node/index.mjs +13 -0
  429. package/esm2022/f-draggable/resize-node/is-resize-node-handler.mjs +7 -0
  430. package/esm2022/f-draggable/resize-node/providers.mjs +19 -0
  431. package/esm2022/f-draggable/resize-node/resize-node-finalize/index.mjs +3 -0
  432. package/esm2022/f-draggable/resize-node/resize-node-finalize/resize-node-finalize-request.mjs +8 -0
  433. package/esm2022/f-draggable/resize-node/resize-node-finalize/resize-node-finalize.mjs +29 -0
  434. package/esm2022/f-draggable/resize-node/resize-node-handler/i-resize-node-connection-handlers.mjs +2 -0
  435. package/esm2022/f-draggable/resize-node/resize-node-handler/index.mjs +4 -0
  436. package/esm2022/f-draggable/resize-node/resize-node-handler/resize-node-dependent-connection-handlers/index.mjs +5 -0
  437. package/esm2022/f-draggable/resize-node/resize-node-handler/resize-node-dependent-connection-handlers/resize-node-connection-both-sides-handler.mjs +31 -0
  438. package/esm2022/f-draggable/resize-node/resize-node-handler/resize-node-dependent-connection-handlers/resize-node-connection-handler-base.mjs +53 -0
  439. package/esm2022/f-draggable/resize-node/resize-node-handler/resize-node-dependent-connection-handlers/resize-node-connection-source-handler.mjs +15 -0
  440. package/esm2022/f-draggable/resize-node/resize-node-handler/resize-node-dependent-connection-handlers/resize-node-connection-target-handler.mjs +15 -0
  441. package/esm2022/f-draggable/resize-node/resize-node-handler/resize-node-handler.mjs +116 -0
  442. package/esm2022/f-draggable/resize-node/resize-preparation/attach-resize-connection-drag-handlers-to-node/attach-resize-connection-drag-handlers-to-node-request.mjs +10 -0
  443. package/esm2022/f-draggable/resize-node/resize-preparation/attach-resize-connection-drag-handlers-to-node/attach-resize-connection-drag-handlers-to-node.mjs +99 -0
  444. package/esm2022/f-draggable/resize-node/resize-preparation/attach-resize-connection-drag-handlers-to-node/index.mjs +3 -0
  445. package/esm2022/f-draggable/resize-node/resize-preparation/index.mjs +4 -0
  446. package/esm2022/f-draggable/resize-node/resize-preparation/resize-node-preparation-request.mjs +10 -0
  447. package/esm2022/f-draggable/resize-node/resize-preparation/resize-node-preparation.mjs +77 -0
  448. package/esm2022/f-draggable/rotate-node/calculate-difference-after-rotation.mjs +19 -0
  449. package/esm2022/f-draggable/rotate-node/f-rotate-node-start-event-data.mjs +7 -0
  450. package/esm2022/f-draggable/rotate-node/index.mjs +8 -0
  451. package/esm2022/f-draggable/rotate-node/is-rotate-node-handler.mjs +7 -0
  452. package/esm2022/f-draggable/rotate-node/providers.mjs +4 -0
  453. package/esm2022/f-draggable/rotate-node/rotate-node-finalize/index.mjs +3 -0
  454. package/esm2022/f-draggable/rotate-node/rotate-node-finalize/rotate-node-finalize-request.mjs +8 -0
  455. package/esm2022/f-draggable/rotate-node/rotate-node-finalize/rotate-node-finalize.mjs +31 -0
  456. package/esm2022/f-draggable/rotate-node/rotate-node-handler/index.mjs +2 -0
  457. package/esm2022/f-draggable/rotate-node/rotate-node-handler/rotate-node-handler.mjs +89 -0
  458. package/esm2022/f-draggable/rotate-node/rotate-node-preparation/index.mjs +3 -0
  459. package/esm2022/f-draggable/rotate-node/rotate-node-preparation/rotate-node-preparation-request.mjs +10 -0
  460. package/esm2022/f-draggable/rotate-node/rotate-node-preparation/rotate-node-preparation.mjs +99 -0
  461. package/esm2022/f-draggable/selection-area/selection-area-handler/selection-area-handler.mjs +2 -2
  462. package/esm2022/f-external-item/f-external-item-base.mjs +5 -2
  463. package/esm2022/f-external-item/f-external-item-placeholder.mjs +26 -0
  464. package/esm2022/f-external-item/f-external-item-preview.mjs +26 -0
  465. package/esm2022/f-external-item/f-external-item.mjs +63 -0
  466. package/esm2022/f-external-item/f-external-item.service.mjs +37 -11
  467. package/esm2022/f-external-item/index.mjs +4 -6
  468. package/esm2022/f-external-item/is-external-item.mjs +6 -3
  469. package/esm2022/f-external-item/providers.mjs +3 -5
  470. package/esm2022/f-flow/f-flow-base.mjs +2 -2
  471. package/esm2022/f-flow/f-flow.component.mjs +47 -27
  472. package/esm2022/f-flow.module.mjs +24 -20
  473. package/esm2022/f-magnetic-lines/f-magnetic-lines.mjs +4 -4
  474. package/esm2022/f-magnetic-rects/f-magnetic-rects.mjs +4 -4
  475. package/esm2022/f-minimap/f-minimap-base.mjs +12 -0
  476. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +12 -8
  477. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +7 -6
  478. package/esm2022/f-minimap/f-minimap-view.directive.mjs +5 -4
  479. package/esm2022/f-minimap/f-minimap.component.mjs +25 -16
  480. package/esm2022/f-minimap/index.mjs +2 -2
  481. package/esm2022/f-node/f-group.directive.mjs +4 -1
  482. package/esm2022/f-node/f-node.directive.mjs +4 -1
  483. package/esm2022/f-storage/f-components-store.mjs +19 -7
  484. package/esm2022/f-storage/features/emit-connections-changes/emit-connections-changes-request.mjs +4 -0
  485. package/esm2022/f-storage/features/emit-connections-changes/emit-connections-changes.mjs +22 -0
  486. package/esm2022/f-storage/features/emit-connections-changes/index.mjs +3 -0
  487. package/esm2022/f-storage/features/index.mjs +4 -4
  488. package/esm2022/f-storage/features/listen-connections-changes/index.mjs +3 -0
  489. package/esm2022/f-storage/features/listen-connections-changes/listen-connections-changes-request.mjs +8 -0
  490. package/esm2022/f-storage/features/listen-connections-changes/listen-connections-changes.mjs +25 -0
  491. package/esm2022/f-storage/features/listen-nodes-changes/index.mjs +3 -0
  492. package/esm2022/f-storage/features/listen-nodes-changes/listen-nodes-changes-request.mjs +4 -0
  493. package/esm2022/f-storage/features/listen-nodes-changes/listen-nodes-changes.mjs +23 -0
  494. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.mjs +3 -3
  495. package/esm2022/f-storage/providers.mjs +6 -6
  496. package/esm2022/f-virtual/f-virtual-for.mjs +56 -0
  497. package/esm2022/f-virtual/index.mjs +3 -0
  498. package/esm2022/f-virtual/providers.mjs +3 -0
  499. package/esm2022/f-zoom/f-zoom.directive.mjs +17 -9
  500. package/esm2022/public-api.mjs +4 -1
  501. package/esm2022/reactivity/after-next-paint.mjs +27 -0
  502. package/esm2022/reactivity/f-channel-hub.mjs +5 -2
  503. package/esm2022/reactivity/index.mjs +2 -1
  504. package/esm2022/reactivity/notify-on-start.mjs +17 -5
  505. package/esm2022/reactivity/take-one.mjs +7 -3
  506. package/esm2022/utils/calculate-pointer-in-flow.mjs +6 -3
  507. package/f-cache/config/f-cache-options.d.ts +6 -0
  508. package/f-cache/config/index.d.ts +1 -0
  509. package/f-cache/features/f-cache-connectors/index.d.ts +2 -0
  510. package/f-cache/features/f-cache-connectors/register-connector/index.d.ts +2 -0
  511. package/f-cache/features/f-cache-connectors/register-connector/register-connector-request.d.ts +8 -0
  512. package/f-cache/features/f-cache-connectors/register-connector/register-connector.d.ts +12 -0
  513. package/f-cache/features/f-cache-connectors/unregister-connector/index.d.ts +2 -0
  514. package/f-cache/features/f-cache-connectors/unregister-connector/unregister-connector-request.d.ts +6 -0
  515. package/f-cache/features/f-cache-connectors/unregister-connector/unregister-connector.d.ts +12 -0
  516. package/f-cache/features/f-cache-nodes/index.d.ts +3 -0
  517. package/f-cache/features/f-cache-nodes/invalidate-node/index.d.ts +2 -0
  518. package/f-cache/features/f-cache-nodes/invalidate-node/invalidate-node-request.d.ts +6 -0
  519. package/f-cache/features/f-cache-nodes/invalidate-node/invalidate-node.d.ts +10 -0
  520. package/f-cache/features/f-cache-nodes/register-node/index.d.ts +2 -0
  521. package/f-cache/features/f-cache-nodes/register-node/register-node-request.d.ts +8 -0
  522. package/f-cache/features/f-cache-nodes/register-node/register-node.d.ts +10 -0
  523. package/f-cache/features/f-cache-nodes/unregister-node/index.d.ts +2 -0
  524. package/f-cache/features/f-cache-nodes/unregister-node/unregister-node-request.d.ts +5 -0
  525. package/f-cache/features/f-cache-nodes/unregister-node/unregister-node.d.ts +11 -0
  526. package/f-cache/features/f-cache-rects/get-cached-rect/get-cached-rect-request.d.ts +5 -0
  527. package/f-cache/features/f-cache-rects/get-cached-rect/get-cached-rect.d.ts +11 -0
  528. package/f-cache/features/f-cache-rects/get-cached-rect/index.d.ts +2 -0
  529. package/f-cache/features/f-cache-rects/index.d.ts +4 -0
  530. package/f-cache/features/f-cache-rects/set-connector-rect/index.d.ts +2 -0
  531. package/f-cache/features/f-cache-rects/set-connector-rect/set-connector-rect-request.d.ts +8 -0
  532. package/f-cache/features/f-cache-rects/set-connector-rect/set-connector-rect.d.ts +10 -0
  533. package/f-cache/features/f-cache-rects/set-node-rect/index.d.ts +2 -0
  534. package/f-cache/features/f-cache-rects/set-node-rect/set-node-rect-request.d.ts +7 -0
  535. package/f-cache/features/f-cache-rects/set-node-rect/set-node-rect.d.ts +11 -0
  536. package/f-cache/features/f-cache-rects/update-rect-by-element/index.d.ts +2 -0
  537. package/f-cache/features/f-cache-rects/update-rect-by-element/update-rect-by-element-request.d.ts +7 -0
  538. package/f-cache/features/f-cache-rects/update-rect-by-element/update-rect-by-element.d.ts +10 -0
  539. package/f-cache/features/index.d.ts +3 -0
  540. package/f-cache/index.d.ts +4 -0
  541. package/f-cache/model/f-cache-connector-key.d.ts +4 -0
  542. package/f-cache/model/f-cache-connector.d.ts +11 -0
  543. package/f-cache/model/f-cache-node.d.ts +9 -0
  544. package/f-cache/model/f-cache.d.ts +12 -0
  545. package/f-cache/model/i-f-cache-node-ref.d.ts +6 -0
  546. package/f-cache/model/index.d.ts +5 -0
  547. package/f-cache/providers.d.ts +3 -0
  548. package/f-canvas/f-canvas.component.d.ts +1 -0
  549. package/f-connection-worker/features/calculate-connection-worker-connector-rect/calculate-connection-worker-connector-rect-request.d.ts +8 -0
  550. package/f-connection-worker/features/calculate-connection-worker-connector-rect/calculate-connection-worker-connector-rect.d.ts +12 -0
  551. package/f-connection-worker/features/calculate-connection-worker-connector-rect/index.d.ts +2 -0
  552. package/f-connection-worker/features/calculate-connection-worker-payload-item/calculate-connection-worker-payload-item-request.d.ts +8 -0
  553. package/f-connection-worker/features/calculate-connection-worker-payload-item/calculate-connection-worker-payload-item.d.ts +10 -0
  554. package/f-connection-worker/features/calculate-connection-worker-payload-item/index.d.ts +2 -0
  555. package/f-connection-worker/features/calculate-connections-using-connection-worker/calculate-connections-using-connection-worker-request.d.ts +8 -0
  556. package/f-connection-worker/features/calculate-connections-using-connection-worker/calculate-connections-using-connection-worker.d.ts +12 -0
  557. package/f-connection-worker/features/calculate-connections-using-connection-worker/index.d.ts +2 -0
  558. package/f-connection-worker/features/connection-worker-run/connection-worker-run-request.d.ts +6 -0
  559. package/f-connection-worker/features/connection-worker-run/connection-worker-run.d.ts +12 -0
  560. package/f-connection-worker/features/connection-worker-run/index.d.ts +2 -0
  561. package/f-connection-worker/features/disable-connection-worker/disable-connection-worker-request.d.ts +5 -0
  562. package/f-connection-worker/features/disable-connection-worker/disable-connection-worker.d.ts +10 -0
  563. package/f-connection-worker/features/disable-connection-worker/index.d.ts +2 -0
  564. package/f-connection-worker/features/ensure-connection-worker/ensure-connection-worker-request.d.ts +3 -0
  565. package/f-connection-worker/features/ensure-connection-worker/ensure-connection-worker.d.ts +13 -0
  566. package/f-connection-worker/features/ensure-connection-worker/index.d.ts +2 -0
  567. package/f-connection-worker/features/handle-connection-worker-message/handle-connection-worker-message-request.d.ts +6 -0
  568. package/f-connection-worker/features/handle-connection-worker-message/handle-connection-worker-message.d.ts +9 -0
  569. package/f-connection-worker/features/handle-connection-worker-message/index.d.ts +2 -0
  570. package/f-connection-worker/features/index.d.ts +12 -0
  571. package/f-connection-worker/features/is-connection-worker-enabled/index.d.ts +2 -0
  572. package/f-connection-worker/features/is-connection-worker-enabled/is-connection-worker-enabled-request.d.ts +3 -0
  573. package/f-connection-worker/features/is-connection-worker-enabled/is-connection-worker-enabled.d.ts +11 -0
  574. package/f-connection-worker/features/reset-connection-worker-runtime/index.d.ts +2 -0
  575. package/f-connection-worker/features/reset-connection-worker-runtime/reset-connection-worker-runtime-request.d.ts +5 -0
  576. package/f-connection-worker/features/reset-connection-worker-runtime/reset-connection-worker-runtime.d.ts +9 -0
  577. package/f-connection-worker/features/resolve-connection-worker-connectors/index.d.ts +2 -0
  578. package/f-connection-worker/features/resolve-connection-worker-connectors/resolve-connection-worker-connectors-request.d.ts +11 -0
  579. package/f-connection-worker/features/resolve-connection-worker-connectors/resolve-connection-worker-connectors.d.ts +9 -0
  580. package/f-connection-worker/features/resolve-connection-worker-context/index.d.ts +2 -0
  581. package/f-connection-worker/features/resolve-connection-worker-context/resolve-connection-worker-context-request.d.ts +13 -0
  582. package/f-connection-worker/features/resolve-connection-worker-context/resolve-connection-worker-context.d.ts +10 -0
  583. package/f-connection-worker/features/should-use-connection-worker/index.d.ts +2 -0
  584. package/f-connection-worker/features/should-use-connection-worker/should-use-connection-worker-request.d.ts +5 -0
  585. package/f-connection-worker/features/should-use-connection-worker/should-use-connection-worker.d.ts +9 -0
  586. package/f-connection-worker/index.d.ts +3 -0
  587. package/f-connection-worker/model/f-connection-worker.d.ts +12 -0
  588. package/f-connection-worker/model/i-f-connection-worker-rect.d.ts +6 -0
  589. package/f-connection-worker/model/i-f-connection-worker-request-item.d.ts +11 -0
  590. package/f-connection-worker/model/i-f-connection-worker-response.d.ts +6 -0
  591. package/f-connection-worker/model/i-f-connection-worker-result-item.d.ts +8 -0
  592. package/f-connection-worker/model/index.d.ts +6 -0
  593. package/f-connection-worker/model/t-f-connection-worker-pending-request.d.ts +5 -0
  594. package/f-connection-worker/providers.d.ts +3 -0
  595. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.d.ts +15 -0
  596. package/f-draggable/domain/get-normalized-parent-node-rect/index.d.ts +2 -2
  597. package/f-draggable/domain/is-array-has-parent-node/index.d.ts +2 -2
  598. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.d.ts +10 -0
  599. package/f-draggable/domain/providers.d.ts +3 -3
  600. package/f-draggable/drag-external-item/drag-external-item-create-placeholder/drag-external-item-create-placeholder-request.d.ts +6 -0
  601. package/f-draggable/drag-external-item/drag-external-item-create-placeholder/drag-external-item-create-placeholder.d.ts +13 -0
  602. package/f-draggable/drag-external-item/drag-external-item-create-placeholder/index.d.ts +2 -0
  603. package/f-draggable/drag-external-item/drag-external-item-create-preview/drag-external-item-create-preview-request.d.ts +6 -0
  604. package/f-draggable/drag-external-item/drag-external-item-create-preview/drag-external-item-create-preview.d.ts +14 -0
  605. package/f-draggable/drag-external-item/drag-external-item-create-preview/index.d.ts +2 -0
  606. package/f-draggable/drag-external-item/drag-external-item-finalize/drag-external-item-finalize-request.d.ts +6 -0
  607. package/f-draggable/drag-external-item/drag-external-item-finalize/drag-external-item-finalize.d.ts +21 -0
  608. package/f-draggable/drag-external-item/drag-external-item-finalize/index.d.ts +2 -0
  609. package/f-draggable/drag-external-item/drag-external-item-handler/drag-external-item-handler.d.ts +50 -0
  610. package/f-draggable/drag-external-item/drag-external-item-handler/index.d.ts +1 -0
  611. package/f-draggable/drag-external-item/drag-external-item-preparation/drag-external-item-preparation-request.d.ts +8 -0
  612. package/f-draggable/drag-external-item/drag-external-item-preparation/drag-external-item-preparation.d.ts +15 -0
  613. package/f-draggable/drag-external-item/drag-external-item-preparation/index.d.ts +2 -0
  614. package/f-draggable/drag-external-item/f-create-node-event.d.ts +18 -0
  615. package/f-draggable/drag-external-item/f-drag-external-item-start-event-data.d.ts +4 -0
  616. package/f-draggable/drag-external-item/i-drag-external-item-drag-result.d.ts +5 -0
  617. package/f-draggable/drag-external-item/index.d.ts +12 -0
  618. package/f-draggable/drag-external-item/is-drag-external-item-handler.d.ts +5 -0
  619. package/f-draggable/drag-external-item/prevent-default-is-external-item/index.d.ts +2 -0
  620. package/f-draggable/drag-external-item/prevent-default-is-external-item/prevent-default-is-external-item-request.d.ts +5 -0
  621. package/f-draggable/drag-external-item/prevent-default-is-external-item/prevent-default-is-external-item.d.ts +10 -0
  622. package/f-draggable/drag-external-item/providers.d.ts +6 -0
  623. package/f-draggable/drag-minimap/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point-request.d.ts +10 -0
  624. package/f-draggable/drag-minimap/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.d.ts +16 -0
  625. package/f-draggable/drag-minimap/calculate-flow-point-from-minimap-point/index.d.ts +2 -0
  626. package/f-draggable/drag-minimap/drag-minimap-finalize/drag-minimap-finalize-request.d.ts +6 -0
  627. package/f-draggable/drag-minimap/drag-minimap-finalize/drag-minimap-finalize.d.ts +10 -0
  628. package/f-draggable/drag-minimap/drag-minimap-finalize/index.d.ts +2 -0
  629. package/f-draggable/drag-minimap/drag-minimap-handler/drag-minimap-handler.d.ts +23 -0
  630. package/f-draggable/drag-minimap/drag-minimap-handler/index.d.ts +1 -0
  631. package/f-draggable/drag-minimap/drag-minimap-preparation/drag-minimap-preparation-request.d.ts +6 -0
  632. package/f-draggable/drag-minimap/drag-minimap-preparation/drag-minimap-preparation.d.ts +16 -0
  633. package/f-draggable/drag-minimap/drag-minimap-preparation/index.d.ts +2 -0
  634. package/f-draggable/drag-minimap/index.d.ts +6 -0
  635. package/f-draggable/drag-minimap/is-drag-minimap-handler.d.ts +5 -0
  636. package/f-draggable/drag-minimap/providers.d.ts +4 -0
  637. package/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-soft-parent-connection-drag-handlers-to-node/attach-soft-parent-connection-drag-handlers-to-node-request.d.ts +19 -0
  638. package/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-soft-parent-connection-drag-handlers-to-node/attach-soft-parent-connection-drag-handlers-to-node.d.ts +15 -0
  639. package/f-draggable/drag-node/attach-drag-node-handler-from-selection/attach-soft-parent-connection-drag-handlers-to-node/index.d.ts +2 -0
  640. package/f-draggable/drag-node/attach-drag-node-handler-from-selection/create-drag-node-handler/create-drag-node-handler.d.ts +2 -0
  641. package/f-draggable/drag-node/attach-drag-node-handler-from-selection/index.d.ts +1 -0
  642. package/f-draggable/drag-node/attach-drag-node-handler-from-selection/providers.d.ts +2 -1
  643. package/f-draggable/drag-node/drag-node-dependent-connection-handlers/drag-node-connection-handler-base.d.ts +1 -0
  644. package/f-draggable/drag-node/drag-node-handler/drag-node-item-handler.d.ts +6 -0
  645. package/f-draggable/drag-node/drag-node-handler/i-soft-parent-connection-handlers.d.ts +12 -0
  646. package/f-draggable/drag-node/drag-node-handler/index.d.ts +1 -0
  647. package/f-draggable/drag-node/index.d.ts +1 -0
  648. package/f-draggable/drag-node/is-drag-node-handler.d.ts +5 -0
  649. package/f-draggable/drag-node/providers.d.ts +1 -1
  650. package/f-draggable/drop-to-group/drop-to-group-handler/drop-to-group-handler.d.ts +2 -3
  651. package/f-draggable/drop-to-group/drop-to-group-preparation/drop-to-group-preparation.d.ts +0 -3
  652. package/f-draggable/f-draggable-base.d.ts +1 -1
  653. package/f-draggable/f-draggable.directive.d.ts +2 -4
  654. package/f-draggable/index.d.ts +4 -3
  655. package/f-draggable/pinch-to-zoom/index.d.ts +2 -2
  656. package/f-draggable/pinch-to-zoom/providers.d.ts +2 -2
  657. package/f-draggable/providers.d.ts +1 -1
  658. package/f-draggable/resize-node/apply-parent-resize-constraints/apply-parent-resize-constraints-request.d.ts +8 -0
  659. package/f-draggable/resize-node/apply-parent-resize-constraints/apply-parent-resize-constraints.d.ts +37 -0
  660. package/f-draggable/resize-node/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.d.ts +11 -0
  661. package/f-draggable/resize-node/calculate-resize-limits/calculate-resize-limits-request.d.ts +8 -0
  662. package/f-draggable/resize-node/constraint/i-resize-constraint.d.ts +7 -0
  663. package/f-draggable/resize-node/constraint/i-resize-limit.d.ts +7 -0
  664. package/f-draggable/resize-node/constraint/i-resize-limits.d.ts +5 -0
  665. package/f-draggable/resize-node/constraint/index.d.ts +5 -0
  666. package/f-draggable/resize-node/f-resize-node-start-event-data.d.ts +4 -0
  667. package/f-draggable/resize-node/index.d.ts +12 -0
  668. package/f-draggable/resize-node/is-resize-node-handler.d.ts +5 -0
  669. package/f-draggable/resize-node/providers.d.ts +9 -0
  670. package/f-draggable/resize-node/resize-node-finalize/index.d.ts +2 -0
  671. package/f-draggable/resize-node/resize-node-finalize/resize-node-finalize-request.d.ts +6 -0
  672. package/f-draggable/resize-node/resize-node-finalize/resize-node-finalize.d.ts +10 -0
  673. package/f-draggable/resize-node/resize-node-handler/i-resize-node-connection-handlers.d.ts +10 -0
  674. package/f-draggable/resize-node/resize-node-handler/index.d.ts +3 -0
  675. package/f-draggable/resize-node/resize-node-handler/resize-node-dependent-connection-handlers/index.d.ts +4 -0
  676. package/f-draggable/resize-node/resize-node-handler/resize-node-dependent-connection-handlers/resize-node-connection-both-sides-handler.d.ts +12 -0
  677. package/f-draggable/resize-node/resize-node-handler/resize-node-dependent-connection-handlers/resize-node-connection-handler-base.d.ts +20 -0
  678. package/f-draggable/resize-node/resize-node-handler/resize-node-dependent-connection-handlers/resize-node-connection-source-handler.d.ts +8 -0
  679. package/f-draggable/resize-node/resize-node-handler/resize-node-dependent-connection-handlers/resize-node-connection-target-handler.d.ts +8 -0
  680. package/f-draggable/resize-node/resize-node-handler/resize-node-handler.d.ts +35 -0
  681. package/f-draggable/resize-node/resize-preparation/attach-resize-connection-drag-handlers-to-node/attach-resize-connection-drag-handlers-to-node-request.d.ts +8 -0
  682. package/f-draggable/resize-node/resize-preparation/attach-resize-connection-drag-handlers-to-node/attach-resize-connection-drag-handlers-to-node.d.ts +16 -0
  683. package/f-draggable/resize-node/resize-preparation/attach-resize-connection-drag-handlers-to-node/index.d.ts +2 -0
  684. package/f-draggable/resize-node/resize-preparation/index.d.ts +3 -0
  685. package/f-draggable/resize-node/resize-preparation/resize-node-preparation-request.d.ts +8 -0
  686. package/f-draggable/resize-node/resize-preparation/resize-node-preparation.d.ts +17 -0
  687. package/f-draggable/rotate-node/f-rotate-node-start-event-data.d.ts +4 -0
  688. package/f-draggable/rotate-node/index.d.ts +7 -0
  689. package/f-draggable/rotate-node/is-rotate-node-handler.d.ts +5 -0
  690. package/f-draggable/rotate-node/providers.d.ts +3 -0
  691. package/f-draggable/rotate-node/rotate-node-finalize/index.d.ts +2 -0
  692. package/f-draggable/rotate-node/rotate-node-finalize/rotate-node-finalize-request.d.ts +6 -0
  693. package/f-draggable/rotate-node/rotate-node-finalize/rotate-node-finalize.d.ts +10 -0
  694. package/f-draggable/rotate-node/rotate-node-handler/index.d.ts +1 -0
  695. package/f-draggable/rotate-node/rotate-node-handler/rotate-node-handler.d.ts +43 -0
  696. package/f-draggable/rotate-node/rotate-node-preparation/index.d.ts +2 -0
  697. package/f-draggable/rotate-node/rotate-node-preparation/rotate-node-preparation-request.d.ts +8 -0
  698. package/f-draggable/rotate-node/rotate-node-preparation/rotate-node-preparation.d.ts +18 -0
  699. package/f-external-item/f-external-item-base.d.ts +10 -10
  700. package/f-external-item/f-external-item-placeholder.d.ts +10 -0
  701. package/f-external-item/f-external-item-preview.d.ts +10 -0
  702. package/f-external-item/f-external-item.d.ts +23 -0
  703. package/f-external-item/f-external-item.service.d.ts +10 -3
  704. package/f-external-item/index.d.ts +3 -5
  705. package/f-external-item/is-external-item.d.ts +1 -1
  706. package/f-external-item/providers.d.ts +2 -2
  707. package/f-flow/f-flow-base.d.ts +2 -1
  708. package/f-flow/f-flow.component.d.ts +11 -7
  709. package/f-flow.module.d.ts +21 -20
  710. package/f-minimap/f-minimap-base.d.ts +10 -0
  711. package/f-minimap/f-minimap-canvas.directive.d.ts +3 -2
  712. package/f-minimap/f-minimap-flow.directive.d.ts +3 -3
  713. package/f-minimap/f-minimap-view.directive.d.ts +1 -1
  714. package/f-minimap/f-minimap.component.d.ts +10 -7
  715. package/f-minimap/index.d.ts +1 -1
  716. package/f-storage/f-components-store.d.ts +10 -4
  717. package/f-storage/features/emit-connections-changes/emit-connections-changes-request.d.ts +3 -0
  718. package/f-storage/features/emit-connections-changes/emit-connections-changes.d.ts +9 -0
  719. package/f-storage/features/emit-connections-changes/index.d.ts +2 -0
  720. package/f-storage/features/index.d.ts +3 -3
  721. package/f-storage/features/listen-connections-changes/index.d.ts +2 -0
  722. package/f-storage/features/listen-connections-changes/listen-connections-changes-request.d.ts +5 -0
  723. package/f-storage/features/listen-connections-changes/listen-connections-changes.d.ts +10 -0
  724. package/f-storage/features/listen-nodes-changes/index.d.ts +2 -0
  725. package/f-storage/features/listen-nodes-changes/listen-nodes-changes-request.d.ts +3 -0
  726. package/f-storage/features/listen-nodes-changes/listen-nodes-changes.d.ts +10 -0
  727. package/f-storage/features/listen-transform-changes/listen-transform-changes.d.ts +1 -1
  728. package/f-storage/providers.d.ts +3 -3
  729. package/f-virtual/f-virtual-for.d.ts +15 -0
  730. package/f-virtual/index.d.ts +2 -0
  731. package/f-virtual/providers.d.ts +2 -0
  732. package/f-zoom/f-zoom.directive.d.ts +1 -0
  733. package/fesm2022/foblex-flow.mjs +8266 -6285
  734. package/fesm2022/foblex-flow.mjs.map +1 -1
  735. package/package.json +8 -5
  736. package/public-api.d.ts +3 -0
  737. package/reactivity/after-next-paint.d.ts +2 -0
  738. package/reactivity/index.d.ts +1 -0
  739. package/utils/calculate-pointer-in-flow.d.ts +1 -3
  740. package/domain/drag-rect-cache.d.ts +0 -8
  741. package/domain/f-canvas/add-canvas-to-store/add-canvas-to-store.execution.d.ts +0 -12
  742. package/domain/f-canvas/center-group-or-node/center-group-or-node.execution.d.ts +0 -18
  743. package/domain/f-canvas/fit-to-flow/fit-to-flow.execution.d.ts +0 -17
  744. package/domain/f-canvas/get-canvas/get-canvas-request.d.ts +0 -3
  745. package/domain/f-canvas/get-canvas/get-canvas.execution.d.ts +0 -13
  746. package/domain/f-canvas/get-canvas/index.d.ts +0 -2
  747. package/domain/f-canvas/input-canvas-position/input-canvas-position.execution.d.ts +0 -12
  748. package/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.d.ts +0 -13
  749. package/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation.execution.d.ts +0 -17
  750. package/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store.execution.d.ts +0 -12
  751. package/domain/f-canvas/reset-scale/reset-scale.execution.d.ts +0 -13
  752. package/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.d.ts +0 -17
  753. package/domain/f-canvas/update-scale/update-scale.execution.d.ts +0 -14
  754. package/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.d.ts +0 -30
  755. package/domain/f-draggable/add-dnd-to-store/add-dnd-to-store.execution.d.ts +0 -12
  756. package/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.d.ts +0 -12
  757. package/domain/f-draggable/on-pointer-move/on-pointer-move.execution.d.ts +0 -19
  758. package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.d.ts +0 -14
  759. package/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store.execution.d.ts +0 -12
  760. package/domain/f-flow/add-flow-to-store/add-flow-to-store.execution.d.ts +0 -12
  761. package/domain/f-flow/get-flow/get-flow.execution.d.ts +0 -13
  762. package/domain/f-flow/remove-flow-from-store/remove-flow-from-store.execution.d.ts +0 -12
  763. package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +0 -12
  764. package/domain/f-selection/get-current-selection/get-current-selection.execution.d.ts +0 -16
  765. package/domain/f-selection/select/index.d.ts +0 -2
  766. package/domain/f-selection/select/select.execution.d.ts +0 -13
  767. package/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.d.ts +0 -15
  768. package/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.d.ts +0 -5
  769. package/domain/get-element-rounded-rect/get-element-rounded-rect-request.d.ts +0 -5
  770. package/domain/get-element-rounded-rect/get-element-rounded-rect.execution.d.ts +0 -17
  771. package/domain/get-element-rounded-rect/index.d.ts +0 -2
  772. package/domain/get-normalized-connector-rect/get-normalized-connector-rect.execution.d.ts +0 -22
  773. package/domain/get-normalized-element-rect/get-normalized-element-rect.execution.d.ts +0 -22
  774. package/domain/get-normalized-point/get-normalized-point.execution.d.ts +0 -16
  775. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +0 -22
  776. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.d.ts +0 -5
  777. package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.d.ts +0 -24
  778. package/esm2022/domain/drag-rect-cache.mjs +0 -19
  779. package/esm2022/domain/f-canvas/add-canvas-to-store/add-canvas-to-store.execution.mjs +0 -25
  780. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +0 -46
  781. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +0 -58
  782. package/esm2022/domain/f-canvas/get-canvas/get-canvas-request.mjs +0 -4
  783. package/esm2022/domain/f-canvas/get-canvas/get-canvas.execution.mjs +0 -29
  784. package/esm2022/domain/f-canvas/get-canvas/index.mjs +0 -3
  785. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position.execution.mjs +0 -35
  786. package/esm2022/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.mjs +0 -30
  787. package/esm2022/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation.execution.mjs +0 -40
  788. package/esm2022/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store.execution.mjs +0 -25
  789. package/esm2022/domain/f-canvas/reset-scale/reset-scale.execution.mjs +0 -30
  790. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +0 -50
  791. package/esm2022/domain/f-canvas/update-scale/update-scale.execution.mjs +0 -36
  792. package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.mjs +0 -101
  793. package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.request.mjs +0 -10
  794. package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store.execution.mjs +0 -25
  795. package/esm2022/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.mjs +0 -25
  796. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +0 -46
  797. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +0 -30
  798. package/esm2022/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store.execution.mjs +0 -25
  799. package/esm2022/domain/f-flow/add-flow-to-store/add-flow-to-store.execution.mjs +0 -25
  800. package/esm2022/domain/f-flow/get-flow/get-flow.execution.mjs +0 -29
  801. package/esm2022/domain/f-flow/remove-flow-from-store/remove-flow-from-store.execution.mjs +0 -25
  802. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.request.mjs +0 -4
  803. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.mjs +0 -8
  804. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.request.mjs +0 -8
  805. package/esm2022/domain/f-node/get-node-padding/get-node-padding.request.mjs +0 -10
  806. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +0 -8
  807. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +0 -27
  808. package/esm2022/domain/f-selection/clear-selection/clear-selection.request.mjs +0 -4
  809. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +0 -44
  810. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.request.mjs +0 -4
  811. package/esm2022/domain/f-selection/select/index.mjs +0 -3
  812. package/esm2022/domain/f-selection/select/select.execution.mjs +0 -45
  813. package/esm2022/domain/f-selection/select/select.request.mjs +0 -12
  814. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +0 -36
  815. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.mjs +0 -8
  816. package/esm2022/domain/get-element-rounded-rect/get-element-rounded-rect-request.mjs +0 -8
  817. package/esm2022/domain/get-element-rounded-rect/get-element-rounded-rect.execution.mjs +0 -36
  818. package/esm2022/domain/get-element-rounded-rect/index.mjs +0 -3
  819. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect.execution.mjs +0 -54
  820. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +0 -53
  821. package/esm2022/domain/get-normalized-point/get-normalized-point.execution.mjs +0 -56
  822. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +0 -61
  823. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.mjs +0 -8
  824. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +0 -65
  825. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.mjs +0 -4
  826. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +0 -67
  827. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs +0 -8
  828. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +0 -26
  829. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +0 -10
  830. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints-request.mjs +0 -10
  831. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints.mjs +0 -57
  832. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/index.mjs +0 -3
  833. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints-request.mjs +0 -10
  834. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.mjs +0 -147
  835. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/index.mjs +0 -3
  836. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.mjs +0 -14
  837. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.mjs +0 -55
  838. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/index.mjs +0 -3
  839. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.mjs +0 -10
  840. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect.mjs +0 -38
  841. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/index.mjs +0 -3
  842. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits-request.mjs +0 -10
  843. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits.mjs +0 -69
  844. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/index.mjs +0 -3
  845. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-constraint.mjs +0 -2
  846. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limit.mjs +0 -2
  847. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limits.mjs +0 -2
  848. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-overflow.mjs +0 -2
  849. package/esm2022/f-draggable/f-node-resize/constraint/index.mjs +0 -5
  850. package/esm2022/f-draggable/f-node-resize/i-node-resize-event-data.mjs +0 -2
  851. package/esm2022/f-draggable/f-node-resize/index.mjs +0 -13
  852. package/esm2022/f-draggable/f-node-resize/node-resize.drag-handler.mjs +0 -66
  853. package/esm2022/f-draggable/f-node-resize/providers.mjs +0 -17
  854. package/esm2022/f-draggable/f-node-resize/resize-direction.mjs +0 -12
  855. package/esm2022/f-draggable/f-node-resize/resize-finalize/index.mjs +0 -3
  856. package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize-request.mjs +0 -8
  857. package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.mjs +0 -29
  858. package/esm2022/f-draggable/f-node-resize/resize-preparation/index.mjs +0 -3
  859. package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation-request.mjs +0 -10
  860. package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.mjs +0 -69
  861. package/esm2022/f-draggable/f-node-rotate/calculate-difference-after-rotation.mjs +0 -19
  862. package/esm2022/f-draggable/f-node-rotate/f-node-rotate.drag-handler.mjs +0 -75
  863. package/esm2022/f-draggable/f-node-rotate/i-node-rotate-event-data.mjs +0 -2
  864. package/esm2022/f-draggable/f-node-rotate/index.mjs +0 -6
  865. package/esm2022/f-draggable/f-node-rotate/providers.mjs +0 -7
  866. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.mjs +0 -32
  867. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.request.mjs +0 -8
  868. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/index.mjs +0 -3
  869. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +0 -94
  870. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.request.mjs +0 -10
  871. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/index.mjs +0 -3
  872. package/esm2022/f-draggable/i-f-drag-and-drop-plugin.mjs +0 -4
  873. package/esm2022/f-draggable/pinch-to-zoom/finalize/index.mjs +0 -3
  874. package/esm2022/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize-request.mjs +0 -8
  875. package/esm2022/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize.mjs +0 -31
  876. package/esm2022/f-draggable/pinch-to-zoom/preparation/index.mjs +0 -3
  877. package/esm2022/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation-request.mjs +0 -8
  878. package/esm2022/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation.mjs +0 -47
  879. package/esm2022/f-external-item/domain/constraint/external-rect-constraint.mjs +0 -44
  880. package/esm2022/f-external-item/domain/constraint/index.mjs +0 -2
  881. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.mjs +0 -41
  882. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.request.mjs +0 -8
  883. package/esm2022/f-external-item/domain/create-placeholder/index.mjs +0 -3
  884. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.execution.mjs +0 -52
  885. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.request.mjs +0 -8
  886. package/esm2022/f-external-item/domain/create-preview/index.mjs +0 -3
  887. package/esm2022/f-external-item/domain/f-create-node.event.mjs +0 -13
  888. package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +0 -104
  889. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +0 -75
  890. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.request.mjs +0 -8
  891. package/esm2022/f-external-item/domain/finalize/index.mjs +0 -3
  892. package/esm2022/f-external-item/domain/i-f-external-item-drag-result.mjs +0 -2
  893. package/esm2022/f-external-item/domain/index.mjs +0 -11
  894. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +0 -56
  895. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.request.mjs +0 -10
  896. package/esm2022/f-external-item/domain/preparation/index.mjs +0 -3
  897. package/esm2022/f-external-item/domain/prevent-default-is-external-item/index.mjs +0 -3
  898. package/esm2022/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.execution.mjs +0 -37
  899. package/esm2022/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.request.mjs +0 -8
  900. package/esm2022/f-external-item/domain/providers.mjs +0 -13
  901. package/esm2022/f-external-item/f-external-item-placeholder.directive.mjs +0 -26
  902. package/esm2022/f-external-item/f-external-item-preview.directive.mjs +0 -26
  903. package/esm2022/f-external-item/f-external-item-token.mjs +0 -3
  904. package/esm2022/f-external-item/f-external-item.directive.mjs +0 -59
  905. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +0 -39
  906. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.mjs +0 -14
  907. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/index.mjs +0 -3
  908. package/esm2022/f-minimap/domain/f-minimap-data.mjs +0 -12
  909. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +0 -45
  910. package/esm2022/f-minimap/domain/index.mjs +0 -10
  911. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/i-f-minimap-scale-and-view-box.mjs +0 -2
  912. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/index.mjs +0 -4
  913. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +0 -73
  914. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.request.mjs +0 -10
  915. package/esm2022/f-minimap/domain/minimap-calculate-view-box/index.mjs +0 -3
  916. package/esm2022/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.mjs +0 -42
  917. package/esm2022/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.request.mjs +0 -4
  918. package/esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs +0 -4
  919. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +0 -32
  920. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.mjs +0 -8
  921. package/esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs +0 -5
  922. package/esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs +0 -4
  923. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +0 -54
  924. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.mjs +0 -10
  925. package/esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs +0 -5
  926. package/esm2022/f-minimap/domain/minimap-draw-nodes/index.mjs +0 -3
  927. package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.mjs +0 -70
  928. package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.request.mjs +0 -4
  929. package/esm2022/f-minimap/domain/providers.mjs +0 -15
  930. package/esm2022/f-storage/features/listen-count-changes/index.mjs +0 -3
  931. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes-request.mjs +0 -4
  932. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.mjs +0 -23
  933. package/esm2022/f-storage/features/listen-data-changed/index.mjs +0 -3
  934. package/esm2022/f-storage/features/listen-data-changed/listen-data-changes-request.mjs +0 -4
  935. package/esm2022/f-storage/features/listen-data-changed/listen-data-changes.mjs +0 -23
  936. package/esm2022/f-storage/features/notify-data-changed/index.mjs +0 -3
  937. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed-request.mjs +0 -4
  938. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.mjs +0 -22
  939. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +0 -15
  940. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.d.ts +0 -10
  941. package/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints-request.d.ts +0 -8
  942. package/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.d.ts +0 -36
  943. package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.d.ts +0 -11
  944. package/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits-request.d.ts +0 -8
  945. package/f-draggable/f-node-resize/constraint/i-resize-constraint.d.ts +0 -7
  946. package/f-draggable/f-node-resize/constraint/i-resize-limit.d.ts +0 -7
  947. package/f-draggable/f-node-resize/constraint/i-resize-limits.d.ts +0 -5
  948. package/f-draggable/f-node-resize/constraint/index.d.ts +0 -4
  949. package/f-draggable/f-node-resize/i-node-resize-event-data.d.ts +0 -3
  950. package/f-draggable/f-node-resize/index.d.ts +0 -12
  951. package/f-draggable/f-node-resize/node-resize.drag-handler.d.ts +0 -29
  952. package/f-draggable/f-node-resize/providers.d.ts +0 -8
  953. package/f-draggable/f-node-resize/resize-finalize/index.d.ts +0 -2
  954. package/f-draggable/f-node-resize/resize-finalize/node-resize-finalize-request.d.ts +0 -6
  955. package/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.d.ts +0 -10
  956. package/f-draggable/f-node-resize/resize-preparation/index.d.ts +0 -2
  957. package/f-draggable/f-node-resize/resize-preparation/node-resize-preparation-request.d.ts +0 -8
  958. package/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.d.ts +0 -21
  959. package/f-draggable/f-node-rotate/f-node-rotate.drag-handler.d.ts +0 -39
  960. package/f-draggable/f-node-rotate/i-node-rotate-event-data.d.ts +0 -3
  961. package/f-draggable/f-node-rotate/index.d.ts +0 -5
  962. package/f-draggable/f-node-rotate/providers.d.ts +0 -3
  963. package/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.d.ts +0 -10
  964. package/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.request.d.ts +0 -6
  965. package/f-draggable/f-node-rotate/rotate-finalize/index.d.ts +0 -2
  966. package/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.d.ts +0 -23
  967. package/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.request.d.ts +0 -8
  968. package/f-draggable/f-node-rotate/rotate-preparation/index.d.ts +0 -2
  969. package/f-draggable/i-f-drag-and-drop-plugin.d.ts +0 -10
  970. package/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.d.ts +0 -13
  971. package/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.request.d.ts +0 -6
  972. package/f-external-item/domain/create-placeholder/index.d.ts +0 -2
  973. package/f-external-item/domain/create-preview/f-external-item-create-preview.execution.d.ts +0 -14
  974. package/f-external-item/domain/create-preview/f-external-item-create-preview.request.d.ts +0 -6
  975. package/f-external-item/domain/create-preview/index.d.ts +0 -2
  976. package/f-external-item/domain/f-create-node.event.d.ts +0 -8
  977. package/f-external-item/domain/f-external-item.drag-handler.d.ts +0 -35
  978. package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +0 -22
  979. package/f-external-item/domain/finalize/f-external-item-finalize.request.d.ts +0 -6
  980. package/f-external-item/domain/finalize/index.d.ts +0 -2
  981. package/f-external-item/domain/i-f-external-item-drag-result.d.ts +0 -5
  982. package/f-external-item/domain/index.d.ts +0 -10
  983. package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +0 -18
  984. package/f-external-item/domain/preparation/f-external-item-preparation.request.d.ts +0 -8
  985. package/f-external-item/domain/preparation/index.d.ts +0 -2
  986. package/f-external-item/domain/prevent-default-is-external-item/index.d.ts +0 -2
  987. package/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.execution.d.ts +0 -10
  988. package/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.request.d.ts +0 -5
  989. package/f-external-item/domain/providers.d.ts +0 -6
  990. package/f-external-item/f-external-item-placeholder.directive.d.ts +0 -10
  991. package/f-external-item/f-external-item-preview.directive.d.ts +0 -10
  992. package/f-external-item/f-external-item-token.d.ts +0 -3
  993. package/f-external-item/f-external-item.directive.d.ts +0 -20
  994. package/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.d.ts +0 -16
  995. package/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.d.ts +0 -10
  996. package/f-minimap/domain/calculate-flow-point-from-minimap-point/index.d.ts +0 -2
  997. package/f-minimap/domain/f-minimap-data.d.ts +0 -7
  998. package/f-minimap/domain/f-minimap.drag-handler.d.ts +0 -22
  999. package/f-minimap/domain/index.d.ts +0 -9
  1000. package/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/i-f-minimap-scale-and-view-box.d.ts +0 -5
  1001. package/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/index.d.ts +0 -3
  1002. package/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.d.ts +0 -22
  1003. package/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.request.d.ts +0 -6
  1004. package/f-minimap/domain/minimap-calculate-view-box/index.d.ts +0 -2
  1005. package/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.d.ts +0 -14
  1006. package/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.request.d.ts +0 -3
  1007. package/f-minimap/domain/minimap-drag-finalize/index.d.ts +0 -3
  1008. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +0 -10
  1009. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.d.ts +0 -6
  1010. package/f-minimap/domain/minimap-drag-finalize/providers.d.ts +0 -2
  1011. package/f-minimap/domain/minimap-drag-preparation/index.d.ts +0 -3
  1012. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +0 -15
  1013. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.d.ts +0 -8
  1014. package/f-minimap/domain/minimap-drag-preparation/providers.d.ts +0 -2
  1015. package/f-minimap/domain/minimap-draw-nodes/index.d.ts +0 -2
  1016. package/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.d.ts +0 -19
  1017. package/f-minimap/domain/providers.d.ts +0 -5
  1018. package/f-storage/features/listen-count-changes/index.d.ts +0 -2
  1019. package/f-storage/features/listen-count-changes/listen-count-changes-request.d.ts +0 -3
  1020. package/f-storage/features/listen-count-changes/listen-count-changes.d.ts +0 -10
  1021. package/f-storage/features/listen-data-changed/index.d.ts +0 -2
  1022. package/f-storage/features/listen-data-changed/listen-data-changes-request.d.ts +0 -3
  1023. package/f-storage/features/listen-data-changed/listen-data-changes.d.ts +0 -10
  1024. package/f-storage/features/notify-data-changed/index.d.ts +0 -2
  1025. package/f-storage/features/notify-data-changed/notify-data-changed-request.d.ts +0 -3
  1026. package/f-storage/features/notify-data-changed/notify-data-changed.d.ts +0 -9
  1027. /package/domain/f-connectors/find-connectable-connector-using-priority-and-position/{find-connectable-connector-using-priority-and-position.request.d.ts → find-connectable-connector-using-priority-and-position-request.d.ts} +0 -0
  1028. /package/domain/f-node/calculate-nodes-bounding-box/{calculate-nodes-bounding-box.request.d.ts → calculate-nodes-bounding-box-request.d.ts} +0 -0
  1029. /package/domain/f-node/calculate-nodes-bounding-box-normalized-position/{calculate-nodes-bounding-box-normalized-position.request.d.ts → calculate-nodes-bounding-box-normalized-position-request.d.ts} +0 -0
  1030. /package/domain/f-node/get-child-node-ids/{get-child-node-ids.request.d.ts → get-child-node-ids-request.d.ts} +0 -0
  1031. /package/domain/f-node/get-node-padding/{get-node-padding.request.d.ts → get-node-padding-request.d.ts} +0 -0
  1032. /package/domain/f-node/get-parent-nodes/{get-parent-nodes.request.d.ts → get-parent-nodes-request.d.ts} +0 -0
  1033. /package/domain/f-selection/clear-selection/{clear-selection.request.d.ts → clear-selection-request.d.ts} +0 -0
  1034. /package/domain/f-selection/get-current-selection/{get-current-selection.request.d.ts → get-current-selection-request.d.ts} +0 -0
  1035. /package/domain/f-selection/{select/select.request.d.ts → select-items/select-request.d.ts} +0 -0
  1036. /package/{f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.request.d.ts → domain/minimap/minimap-draw-nodes/minimap-draw-nodes-request.d.ts} +0 -0
  1037. /package/domain/sort-item-layers/sort-node-layers-by-groups/{sort-node-layers.request.d.ts → sort-node-layers-request.d.ts} +0 -0
  1038. /package/f-draggable/domain/get-normalized-parent-node-rect/{get-normalized-parent-node-rect.request.d.ts → get-normalized-parent-node-rect-request.d.ts} +0 -0
  1039. /package/f-draggable/domain/is-array-has-parent-node/{is-array-has-parent-node.request.d.ts → is-array-has-parent-node-request.d.ts} +0 -0
  1040. /package/{f-external-item/domain/constraint → f-draggable/drag-external-item/constraints}/external-rect-constraint.d.ts +0 -0
  1041. /package/{f-external-item/domain/constraint → f-draggable/drag-external-item/constraints}/index.d.ts +0 -0
  1042. /package/f-draggable/pinch-to-zoom/{finalize → pinch-to-zoom-finalize}/index.d.ts +0 -0
  1043. /package/f-draggable/pinch-to-zoom/{finalize → pinch-to-zoom-finalize}/pinch-to-zoom-finalize-request.d.ts +0 -0
  1044. /package/f-draggable/pinch-to-zoom/{finalize → pinch-to-zoom-finalize}/pinch-to-zoom-finalize.d.ts +0 -0
  1045. /package/f-draggable/pinch-to-zoom/{preparation → pinch-to-zoom-preparation}/index.d.ts +0 -0
  1046. /package/f-draggable/pinch-to-zoom/{preparation → pinch-to-zoom-preparation}/pinch-to-zoom-preparation-request.d.ts +0 -0
  1047. /package/f-draggable/pinch-to-zoom/{preparation → pinch-to-zoom-preparation}/pinch-to-zoom-preparation.d.ts +0 -0
  1048. /package/f-draggable/{f-node-resize → resize-node}/apply-child-resize-constraints/apply-child-resize-constraints-request.d.ts +0 -0
  1049. /package/f-draggable/{f-node-resize → resize-node}/apply-child-resize-constraints/apply-child-resize-constraints.d.ts +0 -0
  1050. /package/f-draggable/{f-node-resize → resize-node}/apply-child-resize-constraints/index.d.ts +0 -0
  1051. /package/f-draggable/{f-node-resize → resize-node}/apply-parent-resize-constraints/index.d.ts +0 -0
  1052. /package/f-draggable/{f-node-resize → resize-node}/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.d.ts +0 -0
  1053. /package/f-draggable/{f-node-resize → resize-node}/calculate-changed-rect-from-difference/index.d.ts +0 -0
  1054. /package/f-draggable/{f-node-resize → resize-node}/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.d.ts +0 -0
  1055. /package/f-draggable/{f-node-resize → resize-node}/calculate-direct-children-union-rect/calculate-direct-children-union-rect.d.ts +0 -0
  1056. /package/f-draggable/{f-node-resize → resize-node}/calculate-direct-children-union-rect/index.d.ts +0 -0
  1057. /package/f-draggable/{f-node-resize → resize-node}/calculate-resize-limits/calculate-resize-limits.d.ts +0 -0
  1058. /package/f-draggable/{f-node-resize → resize-node}/calculate-resize-limits/index.d.ts +0 -0
  1059. /package/f-draggable/{f-node-resize → resize-node}/constraint/i-resize-overflow.d.ts +0 -0
  1060. /package/f-draggable/{f-node-resize → resize-node/constraint}/resize-direction.d.ts +0 -0
  1061. /package/f-draggable/{f-node-rotate → rotate-node}/calculate-difference-after-rotation.d.ts +0 -0
@@ -0,0 +1,43 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
4
+ import { UnregisterFCacheNodeRequest } from './unregister-node-request';
5
+ import { FCache } from '../../../model';
6
+ import { UnregisterFCacheConnectorRequest } from '../../f-cache-connectors';
7
+ import { F_CACHE_OPTIONS } from '../../../config';
8
+ import * as i0 from "@angular/core";
9
+ let UnregisterFCacheNode = class UnregisterFCacheNode {
10
+ _store = inject(FCache);
11
+ _mediator = inject(FMediator);
12
+ _options = inject(F_CACHE_OPTIONS);
13
+ handle({ id }) {
14
+ if (!this._options.enabled) {
15
+ return;
16
+ }
17
+ const entry = this._store.nodeEntries.get(id);
18
+ if (!entry) {
19
+ return;
20
+ }
21
+ this._store.nodeEntries.delete(id);
22
+ this._store.nodeIdByElement.delete(entry.element);
23
+ const connectorKeys = Array.from(this._store.connectorKeysByNodeId.get(id) ?? []);
24
+ for (const connectorKey of connectorKeys) {
25
+ const connector = this._store.connectorEntries.get(connectorKey);
26
+ if (!connector) {
27
+ continue;
28
+ }
29
+ this._mediator.execute(new UnregisterFCacheConnectorRequest(connector.id, connector.kind));
30
+ }
31
+ this._store.connectorKeysByNodeId.delete(id);
32
+ }
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnregisterFCacheNode, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnregisterFCacheNode });
35
+ };
36
+ UnregisterFCacheNode = __decorate([
37
+ FExecutionRegister(UnregisterFCacheNodeRequest)
38
+ ], UnregisterFCacheNode);
39
+ export { UnregisterFCacheNode };
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnregisterFCacheNode, decorators: [{
41
+ type: Injectable
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5yZWdpc3Rlci1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhY2hlL2ZlYXR1cmVzL2YtY2FjaGUtbm9kZXMvdW5yZWdpc3Rlci1ub2RlL3VucmVnaXN0ZXItbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSTNDLElBQU0sb0JBQW9CLEdBQTFCLE1BQU0sb0JBQW9CO0lBQ2QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLFFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFN0MsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUErQjtRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWxELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFFbEYsS0FBSyxNQUFNLFlBQVksSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUN6QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2YsU0FBUztZQUNYLENBQUM7WUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLGdDQUFnQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0YsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7d0dBOUJVLG9CQUFvQjs0R0FBcEIsb0JBQW9COztBQUFwQixvQkFBb0I7SUFEaEMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUM7R0FDbkMsb0JBQW9CLENBK0JoQzs7NEZBL0JZLG9CQUFvQjtrQkFGaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IFVucmVnaXN0ZXJGQ2FjaGVOb2RlUmVxdWVzdCB9IGZyb20gJy4vdW5yZWdpc3Rlci1ub2RlLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNhY2hlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgVW5yZWdpc3RlckZDYWNoZUNvbm5lY3RvclJlcXVlc3QgfSBmcm9tICcuLi8uLi9mLWNhY2hlLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRl9DQUNIRV9PUFRJT05TIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlnJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihVbnJlZ2lzdGVyRkNhY2hlTm9kZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgVW5yZWdpc3RlckZDYWNoZU5vZGUgaW1wbGVtZW50cyBJRXhlY3V0aW9uPFVucmVnaXN0ZXJGQ2FjaGVOb2RlUmVxdWVzdCwgdm9pZD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ2FjaGUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vcHRpb25zID0gaW5qZWN0KEZfQ0FDSEVfT1BUSU9OUyk7XG5cbiAgcHVibGljIGhhbmRsZSh7IGlkIH06IFVucmVnaXN0ZXJGQ2FjaGVOb2RlUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fb3B0aW9ucy5lbmFibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZW50cnkgPSB0aGlzLl9zdG9yZS5ub2RlRW50cmllcy5nZXQoaWQpO1xuICAgIGlmICghZW50cnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zdG9yZS5ub2RlRW50cmllcy5kZWxldGUoaWQpO1xuICAgIHRoaXMuX3N0b3JlLm5vZGVJZEJ5RWxlbWVudC5kZWxldGUoZW50cnkuZWxlbWVudCk7XG5cbiAgICBjb25zdCBjb25uZWN0b3JLZXlzID0gQXJyYXkuZnJvbSh0aGlzLl9zdG9yZS5jb25uZWN0b3JLZXlzQnlOb2RlSWQuZ2V0KGlkKSA/PyBbXSk7XG5cbiAgICBmb3IgKGNvbnN0IGNvbm5lY3RvcktleSBvZiBjb25uZWN0b3JLZXlzKSB7XG4gICAgICBjb25zdCBjb25uZWN0b3IgPSB0aGlzLl9zdG9yZS5jb25uZWN0b3JFbnRyaWVzLmdldChjb25uZWN0b3JLZXkpO1xuICAgICAgaWYgKCFjb25uZWN0b3IpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFVucmVnaXN0ZXJGQ2FjaGVDb25uZWN0b3JSZXF1ZXN0KGNvbm5lY3Rvci5pZCwgY29ubmVjdG9yLmtpbmQpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdG9yZS5jb25uZWN0b3JLZXlzQnlOb2RlSWQuZGVsZXRlKGlkKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,8 @@
1
+ export class GetCachedFCacheRectRequest {
2
+ element;
3
+ static fToken = Symbol('GetCachedFCacheRectRequest');
4
+ constructor(element) {
5
+ this.element = element;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNhY2hlZC1yZWN0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FjaGUvZmVhdHVyZXMvZi1jYWNoZS1yZWN0cy9nZXQtY2FjaGVkLXJlY3QvZ2V0LWNhY2hlZC1yZWN0LXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDBCQUEwQjtJQUdUO0lBRjVCLE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFFOUQsWUFBNEIsT0FBaUM7UUFBakMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7SUFBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEdldENhY2hlZEZDYWNoZVJlY3RSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnR2V0Q2FjaGVkRkNhY2hlUmVjdFJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KSB7fVxufVxuIl19
@@ -0,0 +1,38 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { FExecutionRegister } from '@foblex/mediator';
4
+ import { GetCachedFCacheRectRequest } from './get-cached-rect-request';
5
+ import { FCache } from '../../../model';
6
+ import { F_CACHE_OPTIONS } from '../../../config';
7
+ import * as i0 from "@angular/core";
8
+ let GetCachedFCacheRect = class GetCachedFCacheRect {
9
+ _store = inject(FCache);
10
+ _options = inject(F_CACHE_OPTIONS);
11
+ handle({ element }) {
12
+ if (!this._options.enabled) {
13
+ return undefined;
14
+ }
15
+ const nodeId = this._store.nodeIdByElement.get(element);
16
+ if (nodeId) {
17
+ const nodeRect = this._store.nodeEntries.get(nodeId)?.rect;
18
+ if (nodeRect) {
19
+ return nodeRect;
20
+ }
21
+ }
22
+ const key = this._store.connectorKeyByElement.get(element);
23
+ if (!key) {
24
+ return undefined;
25
+ }
26
+ return this._store.connectorEntries.get(key)?.rect ?? undefined;
27
+ }
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetCachedFCacheRect, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetCachedFCacheRect });
30
+ };
31
+ GetCachedFCacheRect = __decorate([
32
+ FExecutionRegister(GetCachedFCacheRectRequest)
33
+ ], GetCachedFCacheRect);
34
+ export { GetCachedFCacheRect };
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetCachedFCacheRect, decorators: [{
36
+ type: Injectable
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNhY2hlZC1yZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhY2hlL2ZlYXR1cmVzL2YtY2FjaGUtcmVjdHMvZ2V0LWNhY2hlZC1yZWN0L2dldC1jYWNoZWQtcmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJM0MsSUFBTSxtQkFBbUIsR0FBekIsTUFBTSxtQkFBbUI7SUFJYixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLFFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFN0MsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUE4QjtRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDO1lBQzNELElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDVCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLElBQUksU0FBUyxDQUFDO0lBQ2xFLENBQUM7d0dBMUJVLG1CQUFtQjs0R0FBbkIsbUJBQW1COztBQUFuQixtQkFBbUI7SUFEL0Isa0JBQWtCLENBQUMsMEJBQTBCLENBQUM7R0FDbEMsbUJBQW1CLENBMkIvQjs7NEZBM0JZLG1CQUFtQjtrQkFGL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgR2V0Q2FjaGVkRkNhY2hlUmVjdFJlcXVlc3QgfSBmcm9tICcuL2dldC1jYWNoZWQtcmVjdC1yZXF1ZXN0JztcbmltcG9ydCB7IEZDYWNoZSB9IGZyb20gJy4uLy4uLy4uL21vZGVsJztcbmltcG9ydCB7IEZfQ0FDSEVfT1BUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Q2FjaGVkRkNhY2hlUmVjdFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0Q2FjaGVkRkNhY2hlUmVjdCBpbXBsZW1lbnRzIElFeGVjdXRpb248XG4gIEdldENhY2hlZEZDYWNoZVJlY3RSZXF1ZXN0LFxuICBJUmVjdCB8IHVuZGVmaW5lZFxuPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDYWNoZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29wdGlvbnMgPSBpbmplY3QoRl9DQUNIRV9PUFRJT05TKTtcblxuICBwdWJsaWMgaGFuZGxlKHsgZWxlbWVudCB9OiBHZXRDYWNoZWRGQ2FjaGVSZWN0UmVxdWVzdCk6IElSZWN0IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuX29wdGlvbnMuZW5hYmxlZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlSWQgPSB0aGlzLl9zdG9yZS5ub2RlSWRCeUVsZW1lbnQuZ2V0KGVsZW1lbnQpO1xuICAgIGlmIChub2RlSWQpIHtcbiAgICAgIGNvbnN0IG5vZGVSZWN0ID0gdGhpcy5fc3RvcmUubm9kZUVudHJpZXMuZ2V0KG5vZGVJZCk/LnJlY3Q7XG4gICAgICBpZiAobm9kZVJlY3QpIHtcbiAgICAgICAgcmV0dXJuIG5vZGVSZWN0O1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGtleSA9IHRoaXMuX3N0b3JlLmNvbm5lY3RvcktleUJ5RWxlbWVudC5nZXQoZWxlbWVudCk7XG4gICAgaWYgKCFrZXkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmNvbm5lY3RvckVudHJpZXMuZ2V0KGtleSk/LnJlY3QgPz8gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './get-cached-rect';
2
+ export * from './get-cached-rect-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FjaGUvZmVhdHVyZXMvZi1jYWNoZS1yZWN0cy9nZXQtY2FjaGVkLXJlY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtY2FjaGVkLXJlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1jYWNoZWQtcmVjdC1yZXF1ZXN0JztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './get-cached-rect';
2
+ export * from './set-connector-rect';
3
+ export * from './set-node-rect';
4
+ export * from './update-rect-by-element';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FjaGUvZmVhdHVyZXMvZi1jYWNoZS1yZWN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtY2FjaGVkLXJlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NldC1jb25uZWN0b3ItcmVjdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2V0LW5vZGUtcmVjdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdXBkYXRlLXJlY3QtYnktZWxlbWVudCc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './set-connector-rect';
2
+ export * from './set-connector-rect-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FjaGUvZmVhdHVyZXMvZi1jYWNoZS1yZWN0cy9zZXQtY29ubmVjdG9yLXJlY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZXQtY29ubmVjdG9yLXJlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NldC1jb25uZWN0b3ItcmVjdC1yZXF1ZXN0JztcbiJdfQ==
@@ -0,0 +1,12 @@
1
+ export class SetFCacheConnectorRectRequest {
2
+ connectorId;
3
+ kind;
4
+ rect;
5
+ static fToken = Symbol('SetFCacheConnectorRectRequest');
6
+ constructor(connectorId, kind, rect) {
7
+ this.connectorId = connectorId;
8
+ this.kind = kind;
9
+ this.rect = rect;
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWNvbm5lY3Rvci1yZWN0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FjaGUvZmVhdHVyZXMvZi1jYWNoZS1yZWN0cy9zZXQtY29ubmVjdG9yLXJlY3Qvc2V0LWNvbm5lY3Rvci1yZWN0LXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLDZCQUE2QjtJQUl0QjtJQUNBO0lBQ0E7SUFMbEIsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUVqRSxZQUNrQixXQUFtQixFQUNuQixJQUFZLEVBQ1osSUFBa0I7UUFGbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFNBQUksR0FBSixJQUFJLENBQWM7SUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgY2xhc3MgU2V0RkNhY2hlQ29ubmVjdG9yUmVjdFJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdTZXRGQ2FjaGVDb25uZWN0b3JSZWN0UmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBjb25uZWN0b3JJZDogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBraW5kOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IHJlY3Q6IElSb3VuZGVkUmVjdCxcbiAgKSB7fVxufVxuIl19
@@ -0,0 +1,33 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { RoundedRect } from '@foblex/2d';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import { SetFCacheConnectorRectRequest } from './set-connector-rect-request';
6
+ import { FCache, FCacheConnectorKeyFactory } from '../../../model';
7
+ import { F_CACHE_OPTIONS } from '../../../config';
8
+ import * as i0 from "@angular/core";
9
+ let SetFCacheConnectorRect = class SetFCacheConnectorRect {
10
+ _store = inject(FCache);
11
+ _options = inject(F_CACHE_OPTIONS);
12
+ handle({ connectorId, kind, rect }) {
13
+ if (!this._options.enabled) {
14
+ return;
15
+ }
16
+ const key = FCacheConnectorKeyFactory.build(connectorId, kind);
17
+ const connector = this._store.connectorEntries.get(key);
18
+ if (!connector) {
19
+ return;
20
+ }
21
+ connector.rect = RoundedRect.fromRoundedRect(rect);
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetFCacheConnectorRect, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetFCacheConnectorRect });
25
+ };
26
+ SetFCacheConnectorRect = __decorate([
27
+ FExecutionRegister(SetFCacheConnectorRectRequest)
28
+ ], SetFCacheConnectorRect);
29
+ export { SetFCacheConnectorRect };
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetFCacheConnectorRect, decorators: [{
31
+ type: Injectable
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWNvbm5lY3Rvci1yZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhY2hlL2ZlYXR1cmVzL2YtY2FjaGUtcmVjdHMvc2V0LWNvbm5lY3Rvci1yZWN0L3NldC1jb25uZWN0b3ItcmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUkzQyxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUFzQjtJQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLFFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFN0MsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQWlDO1FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcseUJBQXlCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPO1FBQ1QsQ0FBQztRQUVELFNBQVMsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO3dHQWhCVSxzQkFBc0I7NEdBQXRCLHNCQUFzQjs7QUFBdEIsc0JBQXNCO0lBRGxDLGtCQUFrQixDQUFDLDZCQUE2QixDQUFDO0dBQ3JDLHNCQUFzQixDQWlCbEM7OzRGQWpCWSxzQkFBc0I7a0JBRmxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IFNldEZDYWNoZUNvbm5lY3RvclJlY3RSZXF1ZXN0IH0gZnJvbSAnLi9zZXQtY29ubmVjdG9yLXJlY3QtcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ2FjaGUsIEZDYWNoZUNvbm5lY3RvcktleUZhY3RvcnkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBGX0NBQ0hFX09QVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25maWcnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNldEZDYWNoZUNvbm5lY3RvclJlY3RSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNldEZDYWNoZUNvbm5lY3RvclJlY3QgaW1wbGVtZW50cyBJRXhlY3V0aW9uPFNldEZDYWNoZUNvbm5lY3RvclJlY3RSZXF1ZXN0LCB2b2lkPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDYWNoZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29wdGlvbnMgPSBpbmplY3QoRl9DQUNIRV9PUFRJT05TKTtcblxuICBwdWJsaWMgaGFuZGxlKHsgY29ubmVjdG9ySWQsIGtpbmQsIHJlY3QgfTogU2V0RkNhY2hlQ29ubmVjdG9yUmVjdFJlcXVlc3QpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX29wdGlvbnMuZW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGtleSA9IEZDYWNoZUNvbm5lY3RvcktleUZhY3RvcnkuYnVpbGQoY29ubmVjdG9ySWQsIGtpbmQpO1xuICAgIGNvbnN0IGNvbm5lY3RvciA9IHRoaXMuX3N0b3JlLmNvbm5lY3RvckVudHJpZXMuZ2V0KGtleSk7XG4gICAgaWYgKCFjb25uZWN0b3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25uZWN0b3IucmVjdCA9IFJvdW5kZWRSZWN0LmZyb21Sb3VuZGVkUmVjdChyZWN0KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './set-node-rect';
2
+ export * from './set-node-rect-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FjaGUvZmVhdHVyZXMvZi1jYWNoZS1yZWN0cy9zZXQtbm9kZS1yZWN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2V0LW5vZGUtcmVjdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2V0LW5vZGUtcmVjdC1yZXF1ZXN0JztcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export class SetFCacheNodeRectRequest {
2
+ nodeId;
3
+ rect;
4
+ static fToken = Symbol('SetFCacheNodeRectRequest');
5
+ constructor(nodeId, rect) {
6
+ this.nodeId = nodeId;
7
+ this.rect = rect;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW5vZGUtcmVjdC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhY2hlL2ZlYXR1cmVzL2YtY2FjaGUtcmVjdHMvc2V0LW5vZGUtcmVjdC9zZXQtbm9kZS1yZWN0LXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHdCQUF3QjtJQUlqQjtJQUNBO0lBSmxCLE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFFNUQsWUFDa0IsTUFBYyxFQUNkLElBQVc7UUFEWCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBTztJQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcblxuZXhwb3J0IGNsYXNzIFNldEZDYWNoZU5vZGVSZWN0UmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ1NldEZDYWNoZU5vZGVSZWN0UmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBub2RlSWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVjdDogSVJlY3QsXG4gICkge31cbn1cbiJdfQ==
@@ -0,0 +1,64 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { RectExtensions, RoundedRect } from '@foblex/2d';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import { SetFCacheNodeRectRequest } from './set-node-rect-request';
6
+ import { FCache } from '../../../model';
7
+ import { F_CACHE_OPTIONS } from '../../../config';
8
+ import * as i0 from "@angular/core";
9
+ let SetFCacheNodeRect = class SetFCacheNodeRect {
10
+ _store = inject(FCache);
11
+ _options = inject(F_CACHE_OPTIONS);
12
+ handle({ nodeId, rect }) {
13
+ if (!this._options.enabled) {
14
+ return;
15
+ }
16
+ const node = this._store.nodeEntries.get(nodeId);
17
+ if (!node) {
18
+ return;
19
+ }
20
+ const previousRect = node.rect;
21
+ node.rect = RectExtensions.initialize(rect.x, rect.y, rect.width, rect.height);
22
+ if (!previousRect) {
23
+ return;
24
+ }
25
+ this._updateConnectorRectsByNodeRect(nodeId, previousRect, node.rect);
26
+ }
27
+ _updateConnectorRectsByNodeRect(nodeId, previousRect, nextRect) {
28
+ const connectorKeys = this._store.connectorKeysByNodeId.get(nodeId);
29
+ if (!connectorKeys?.size) {
30
+ return;
31
+ }
32
+ const dx = nextRect.x - previousRect.x;
33
+ const dy = nextRect.y - previousRect.y;
34
+ const hasScaleX = previousRect.width !== 0;
35
+ const hasScaleY = previousRect.height !== 0;
36
+ const scaleX = hasScaleX ? nextRect.width / previousRect.width : 1;
37
+ const scaleY = hasScaleY ? nextRect.height / previousRect.height : 1;
38
+ for (const key of connectorKeys) {
39
+ const connector = this._store.connectorEntries.get(key);
40
+ if (!connector?.rect) {
41
+ continue;
42
+ }
43
+ const previousConnectorRect = connector.rect;
44
+ const previousCenter = previousConnectorRect.gravityCenter;
45
+ const nextCenterX = hasScaleX
46
+ ? nextRect.x + (previousCenter.x - previousRect.x) * scaleX
47
+ : previousCenter.x + dx;
48
+ const nextCenterY = hasScaleY
49
+ ? nextRect.y + (previousCenter.y - previousRect.y) * scaleY
50
+ : previousCenter.y + dy;
51
+ connector.rect = new RoundedRect(nextCenterX - previousConnectorRect.width / 2, nextCenterY - previousConnectorRect.height / 2, previousConnectorRect.width, previousConnectorRect.height, previousConnectorRect.radius1, previousConnectorRect.radius2, previousConnectorRect.radius3, previousConnectorRect.radius4);
52
+ }
53
+ }
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetFCacheNodeRect, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
55
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetFCacheNodeRect });
56
+ };
57
+ SetFCacheNodeRect = __decorate([
58
+ FExecutionRegister(SetFCacheNodeRectRequest)
59
+ ], SetFCacheNodeRect);
60
+ export { SetFCacheNodeRect };
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetFCacheNodeRect, decorators: [{
62
+ type: Injectable
63
+ }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW5vZGUtcmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jYWNoZS9mZWF0dXJlcy9mLWNhY2hlLXJlY3RzL3NldC1ub2RlLXJlY3Qvc2V0LW5vZGUtcmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFTLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJM0MsSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFDWCxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLFFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFN0MsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBNEI7UUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FB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LENBQUM7R0FDaEMsaUJBQWlCLENBc0U3Qjs7NEZBdEVZLGlCQUFpQjtrQkFGN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVJlY3QsIFJlY3RFeHRlbnNpb25zLCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBTZXRGQ2FjaGVOb2RlUmVjdFJlcXVlc3QgfSBmcm9tICcuL3NldC1ub2RlLXJlY3QtcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ2FjaGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBGX0NBQ0hFX09QVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25maWcnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNldEZDYWNoZU5vZGVSZWN0UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBTZXRGQ2FjaGVOb2RlUmVjdCBpbXBsZW1lbnRzIElFeGVjdXRpb248U2V0RkNhY2hlTm9kZVJlY3RSZXF1ZXN0LCB2b2lkPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDYWNoZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29wdGlvbnMgPSBpbmplY3QoRl9DQUNIRV9PUFRJT05TKTtcblxuICBwdWJsaWMgaGFuZGxlKHsgbm9kZUlkLCByZWN0IH06IFNldEZDYWNoZU5vZGVSZWN0UmVxdWVzdCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fb3B0aW9ucy5lbmFibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuX3N0b3JlLm5vZGVFbnRyaWVzLmdldChub2RlSWQpO1xuICAgIGlmICghbm9kZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXZpb3VzUmVjdCA9IG5vZGUucmVjdDtcbiAgICBub2RlLnJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKHJlY3QueCwgcmVjdC55LCByZWN0LndpZHRoLCByZWN0LmhlaWdodCk7XG5cbiAgICBpZiAoIXByZXZpb3VzUmVjdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3VwZGF0ZUNvbm5lY3RvclJlY3RzQnlOb2RlUmVjdChub2RlSWQsIHByZXZpb3VzUmVjdCwgbm9kZS5yZWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUNvbm5lY3RvclJlY3RzQnlOb2RlUmVjdChcbiAgICBub2RlSWQ6IHN0cmluZyxcbiAgICBwcmV2aW91c1JlY3Q6IElSZWN0LFxuICAgIG5leHRSZWN0OiBJUmVjdCxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgY29ubmVjdG9yS2V5cyA9IHRoaXMuX3N0b3JlLmNvbm5lY3RvcktleXNCeU5vZGVJZC5nZXQobm9kZUlkKTtcbiAgICBpZiAoIWNvbm5lY3RvcktleXM/LnNpemUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkeCA9IG5leHRSZWN0LnggLSBwcmV2aW91c1JlY3QueDtcbiAgICBjb25zdCBkeSA9IG5leHRSZWN0LnkgLSBwcmV2aW91c1JlY3QueTtcblxuICAgIGNvbnN0IGhhc1NjYWxlWCA9IHByZXZpb3VzUmVjdC53aWR0aCAhPT0gMDtcbiAgICBjb25zdCBoYXNTY2FsZVkgPSBwcmV2aW91c1JlY3QuaGVpZ2h0ICE9PSAwO1xuICAgIGNvbnN0IHNjYWxlWCA9IGhhc1NjYWxlWCA/IG5leHRSZWN0LndpZHRoIC8gcHJldmlvdXNSZWN0LndpZHRoIDogMTtcbiAgICBjb25zdCBzY2FsZVkgPSBoYXNTY2FsZVkgPyBuZXh0UmVjdC5oZWlnaHQgLyBwcmV2aW91c1JlY3QuaGVpZ2h0IDogMTtcblxuICAgIGZvciAoY29uc3Qga2V5IG9mIGNvbm5lY3RvcktleXMpIHtcbiAgICAgIGNvbnN0IGNvbm5lY3RvciA9IHRoaXMuX3N0b3JlLmNvbm5lY3RvckVudHJpZXMuZ2V0KGtleSk7XG4gICAgICBpZiAoIWNvbm5lY3Rvcj8ucmVjdCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcHJldmlvdXNDb25uZWN0b3JSZWN0ID0gY29ubmVjdG9yLnJlY3Q7XG4gICAgICBjb25zdCBwcmV2aW91c0NlbnRlciA9IHByZXZpb3VzQ29ubmVjdG9yUmVjdC5ncmF2aXR5Q2VudGVyO1xuXG4gICAgICBjb25zdCBuZXh0Q2VudGVyWCA9IGhhc1NjYWxlWFxuICAgICAgICA/IG5leHRSZWN0LnggKyAocHJldmlvdXNDZW50ZXIueCAtIHByZXZpb3VzUmVjdC54KSAqIHNjYWxlWFxuICAgICAgICA6IHByZXZpb3VzQ2VudGVyLnggKyBkeDtcbiAgICAgIGNvbnN0IG5leHRDZW50ZXJZID0gaGFzU2NhbGVZXG4gICAgICAgID8gbmV4dFJlY3QueSArIChwcmV2aW91c0NlbnRlci55IC0gcHJldmlvdXNSZWN0LnkpICogc2NhbGVZXG4gICAgICAgIDogcHJldmlvdXNDZW50ZXIueSArIGR5O1xuXG4gICAgICBjb25uZWN0b3IucmVjdCA9IG5ldyBSb3VuZGVkUmVjdChcbiAgICAgICAgbmV4dENlbnRlclggLSBwcmV2aW91c0Nvbm5lY3RvclJlY3Qud2lkdGggLyAyLFxuICAgICAgICBuZXh0Q2VudGVyWSAtIHByZXZpb3VzQ29ubmVjdG9yUmVjdC5oZWlnaHQgLyAyLFxuICAgICAgICBwcmV2aW91c0Nvbm5lY3RvclJlY3Qud2lkdGgsXG4gICAgICAgIHByZXZpb3VzQ29ubmVjdG9yUmVjdC5oZWlnaHQsXG4gICAgICAgIHByZXZpb3VzQ29ubmVjdG9yUmVjdC5yYWRpdXMxLFxuICAgICAgICBwcmV2aW91c0Nvbm5lY3RvclJlY3QucmFkaXVzMixcbiAgICAgICAgcHJldmlvdXNDb25uZWN0b3JSZWN0LnJhZGl1czMsXG4gICAgICAgIHByZXZpb3VzQ29ubmVjdG9yUmVjdC5yYWRpdXM0LFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './update-rect-by-element';
2
+ export * from './update-rect-by-element-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FjaGUvZmVhdHVyZXMvZi1jYWNoZS1yZWN0cy91cGRhdGUtcmVjdC1ieS1lbGVtZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdXBkYXRlLXJlY3QtYnktZWxlbWVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdXBkYXRlLXJlY3QtYnktZWxlbWVudC1yZXF1ZXN0JztcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export class UpdateFCacheRectByElementRequest {
2
+ element;
3
+ rect;
4
+ static fToken = Symbol('UpdateFCacheRectByElementRequest');
5
+ constructor(element, rect) {
6
+ this.element = element;
7
+ this.rect = rect;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXJlY3QtYnktZWxlbWVudC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhY2hlL2ZlYXR1cmVzL2YtY2FjaGUtcmVjdHMvdXBkYXRlLXJlY3QtYnktZWxlbWVudC91cGRhdGUtcmVjdC1ieS1lbGVtZW50LXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGdDQUFnQztJQUl6QjtJQUNBO0lBSmxCLE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFFcEUsWUFDa0IsT0FBaUMsRUFDakMsSUFBMEI7UUFEMUIsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFDakMsU0FBSSxHQUFKLElBQUksQ0FBc0I7SUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0LCBJUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcblxuZXhwb3J0IGNsYXNzIFVwZGF0ZUZDYWNoZVJlY3RCeUVsZW1lbnRSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnVXBkYXRlRkNhY2hlUmVjdEJ5RWxlbWVudFJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50LFxuICAgIHB1YmxpYyByZWFkb25seSByZWN0OiBJUmVjdCB8IElSb3VuZGVkUmVjdCxcbiAgKSB7fVxufVxuIl19
@@ -0,0 +1,42 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { FExecutionRegister } from '@foblex/mediator';
4
+ import { UpdateFCacheRectByElementRequest } from './update-rect-by-element-request';
5
+ import { FCache } from '../../../model';
6
+ import { F_CACHE_OPTIONS } from '../../../config';
7
+ import * as i0 from "@angular/core";
8
+ let UpdateFCacheRectByElement = class UpdateFCacheRectByElement {
9
+ _store = inject(FCache);
10
+ _options = inject(F_CACHE_OPTIONS);
11
+ handle({ element, rect }) {
12
+ if (!this._options.enabled) {
13
+ return;
14
+ }
15
+ const nodeId = this._store.nodeIdByElement.get(element);
16
+ if (nodeId) {
17
+ const node = this._store.nodeEntries.get(nodeId);
18
+ if (node) {
19
+ node.rect = rect;
20
+ }
21
+ return;
22
+ }
23
+ const key = this._store.connectorKeyByElement.get(element);
24
+ if (!key) {
25
+ return;
26
+ }
27
+ const connector = this._store.connectorEntries.get(key);
28
+ if (connector) {
29
+ connector.rect = rect;
30
+ }
31
+ }
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateFCacheRectByElement, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
33
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateFCacheRectByElement });
34
+ };
35
+ UpdateFCacheRectByElement = __decorate([
36
+ FExecutionRegister(UpdateFCacheRectByElementRequest)
37
+ ], UpdateFCacheRectByElement);
38
+ export { UpdateFCacheRectByElement };
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateFCacheRectByElement, decorators: [{
40
+ type: Injectable
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXJlY3QtYnktZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jYWNoZS9mZWF0dXJlcy9mLWNhY2hlLXJlY3RzL3VwZGF0ZS1yZWN0LWJ5LWVsZW1lbnQvdXBkYXRlLXJlY3QtYnktZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJM0MsSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBeUI7SUFJbkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixRQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRTdDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQW9DO1FBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakQsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNuQixDQUFDO1lBRUQsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDVCxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxTQUFTLENBQUMsSUFBSSxHQUFHLElBQW9CLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7d0dBL0JVLHlCQUF5Qjs0R0FBekIseUJBQXlCOztBQUF6Qix5QkFBeUI7SUFEckMsa0JBQWtCLENBQUMsZ0NBQWdDLENBQUM7R0FDeEMseUJBQXlCLENBZ0NyQzs7NEZBaENZLHlCQUF5QjtrQkFGckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IFVwZGF0ZUZDYWNoZVJlY3RCeUVsZW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi91cGRhdGUtcmVjdC1ieS1lbGVtZW50LXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNhY2hlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgRl9DQUNIRV9PUFRJT05TIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlnJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihVcGRhdGVGQ2FjaGVSZWN0QnlFbGVtZW50UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBVcGRhdGVGQ2FjaGVSZWN0QnlFbGVtZW50IGltcGxlbWVudHMgSUV4ZWN1dGlvbjxcbiAgVXBkYXRlRkNhY2hlUmVjdEJ5RWxlbWVudFJlcXVlc3QsXG4gIHZvaWRcbj4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ2FjaGUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vcHRpb25zID0gaW5qZWN0KEZfQ0FDSEVfT1BUSU9OUyk7XG5cbiAgcHVibGljIGhhbmRsZSh7IGVsZW1lbnQsIHJlY3QgfTogVXBkYXRlRkNhY2hlUmVjdEJ5RWxlbWVudFJlcXVlc3QpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX29wdGlvbnMuZW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGVJZCA9IHRoaXMuX3N0b3JlLm5vZGVJZEJ5RWxlbWVudC5nZXQoZWxlbWVudCk7XG4gICAgaWYgKG5vZGVJZCkge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuX3N0b3JlLm5vZGVFbnRyaWVzLmdldChub2RlSWQpO1xuICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgbm9kZS5yZWN0ID0gcmVjdDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGtleSA9IHRoaXMuX3N0b3JlLmNvbm5lY3RvcktleUJ5RWxlbWVudC5nZXQoZWxlbWVudCk7XG4gICAgaWYgKCFrZXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb25uZWN0b3IgPSB0aGlzLl9zdG9yZS5jb25uZWN0b3JFbnRyaWVzLmdldChrZXkpO1xuICAgIGlmIChjb25uZWN0b3IpIHtcbiAgICAgIGNvbm5lY3Rvci5yZWN0ID0gcmVjdCBhcyBJUm91bmRlZFJlY3Q7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './f-cache-connectors';
2
+ export * from './f-cache-nodes';
3
+ export * from './f-cache-rects';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FjaGUvZmVhdHVyZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtY2FjaGUtY29ubmVjdG9ycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jYWNoZS1ub2Rlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jYWNoZS1yZWN0cyc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './config';
2
+ export * from './features';
3
+ export * from './model';
4
+ export * from './providers';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FjaGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxZQUFZLENBQUM7QUFFM0IsY0FBYyxTQUFTLENBQUM7QUFFeEIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL21vZGVsJztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuIl19
@@ -0,0 +1,6 @@
1
+ export class FCacheConnectorKeyFactory {
2
+ static build(connectorId, kind) {
3
+ return `${connectorId}:${kind}`;
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYWNoZS1jb25uZWN0b3Ita2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhY2hlL21vZGVsL2YtY2FjaGUtY29ubmVjdG9yLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8seUJBQXlCO0lBQzdCLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBbUIsRUFBRSxJQUFZO1FBQ25ELE9BQU8sR0FBRyxXQUFXLElBQUksSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRkNhY2hlQ29ubmVjdG9yS2V5ID0gc3RyaW5nO1xuXG5leHBvcnQgY2xhc3MgRkNhY2hlQ29ubmVjdG9yS2V5RmFjdG9yeSB7XG4gIHB1YmxpYyBzdGF0aWMgYnVpbGQoY29ubmVjdG9ySWQ6IHN0cmluZywga2luZDogc3RyaW5nKTogRkNhY2hlQ29ubmVjdG9yS2V5IHtcbiAgICByZXR1cm4gYCR7Y29ubmVjdG9ySWR9OiR7a2luZH1gO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,17 @@
1
+ export class FCacheConnector {
2
+ key;
3
+ id;
4
+ kind;
5
+ nodeId;
6
+ element;
7
+ rect;
8
+ constructor(key, id, kind, nodeId, element, rect) {
9
+ this.key = key;
10
+ this.id = id;
11
+ this.kind = kind;
12
+ this.nodeId = nodeId;
13
+ this.element = element;
14
+ this.rect = rect;
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYWNoZS1jb25uZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FjaGUvbW9kZWwvZi1jYWNoZS1jb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGVBQWU7SUFFUjtJQUNBO0lBQ0E7SUFDQTtJQUNUO0lBQ0E7SUFOVCxZQUNrQixHQUF1QixFQUN2QixFQUFVLEVBQ1YsSUFBWSxFQUNaLE1BQWMsRUFDdkIsT0FBaUMsRUFDakMsSUFBMEI7UUFMakIsUUFBRyxHQUFILEdBQUcsQ0FBb0I7UUFDdkIsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBQ2pDLFNBQUksR0FBSixJQUFJLENBQXNCO0lBQ2hDLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNhY2hlQ29ubmVjdG9yS2V5IH0gZnJvbSAnLi9mLWNhY2hlLWNvbm5lY3Rvci1rZXknO1xuXG5leHBvcnQgY2xhc3MgRkNhY2hlQ29ubmVjdG9yIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGtleTogRkNhY2hlQ29ubmVjdG9yS2V5LFxuICAgIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBraW5kOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IG5vZGVJZDogc3RyaW5nLFxuICAgIHB1YmxpYyBlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQsXG4gICAgcHVibGljIHJlY3Q/OiBJUm91bmRlZFJlY3QgfCBudWxsLFxuICApIHt9XG59XG4iXX0=
@@ -0,0 +1,13 @@
1
+ export class FCacheNode {
2
+ id;
3
+ element;
4
+ reference;
5
+ rect;
6
+ constructor(id, element, reference, rect) {
7
+ this.id = id;
8
+ this.element = element;
9
+ this.reference = reference;
10
+ this.rect = rect;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYWNoZS1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhY2hlL21vZGVsL2YtY2FjaGUtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sVUFBVTtJQUVIO0lBQ0E7SUFDQTtJQUNUO0lBSlQsWUFDa0IsRUFBVSxFQUNWLE9BQWlDLEVBQ2pDLFNBQXlCLEVBQ2xDLElBQW1CO1FBSFYsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ2xDLFNBQUksR0FBSixJQUFJLENBQWU7SUFDekIsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElGQ2FjaGVOb2RlUmVmIH0gZnJvbSAnLi9pLWYtY2FjaGUtbm9kZS1yZWYnO1xuXG5leHBvcnQgY2xhc3MgRkNhY2hlTm9kZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQsXG4gICAgcHVibGljIHJlYWRvbmx5IHJlZmVyZW5jZTogSUZDYWNoZU5vZGVSZWYsXG4gICAgcHVibGljIHJlY3Q/OiBJUmVjdCB8IG51bGwsXG4gICkge31cbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FCache {
4
+ nodeEntries = new Map();
5
+ nodeIdByElement = new WeakMap();
6
+ connectorEntries = new Map();
7
+ connectorKeysByNodeId = new Map();
8
+ connectorKeyByElement = new WeakMap();
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCache, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCache });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCache, decorators: [{
13
+ type: Injectable
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jYWNoZS9tb2RlbC9mLWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxNQUFNO0lBQ0QsV0FBVyxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO0lBQzVDLGVBQWUsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztJQUVqRCxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBdUMsQ0FBQztJQUNsRSxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsRUFBbUMsQ0FBQztJQUNuRSxxQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBK0IsQ0FBQzt3R0FOeEUsTUFBTTs0R0FBTixNQUFNOzs0RkFBTixNQUFNO2tCQURsQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNhY2hlQ29ubmVjdG9yIH0gZnJvbSAnLi9mLWNhY2hlLWNvbm5lY3Rvcic7XG5pbXBvcnQgeyBGQ2FjaGVDb25uZWN0b3JLZXkgfSBmcm9tICcuL2YtY2FjaGUtY29ubmVjdG9yLWtleSc7XG5pbXBvcnQgeyBGQ2FjaGVOb2RlIH0gZnJvbSAnLi9mLWNhY2hlLW5vZGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRkNhY2hlIHtcbiAgcHVibGljIHJlYWRvbmx5IG5vZGVFbnRyaWVzID0gbmV3IE1hcDxzdHJpbmcsIEZDYWNoZU5vZGU+KCk7XG4gIHB1YmxpYyByZWFkb25seSBub2RlSWRCeUVsZW1lbnQgPSBuZXcgV2Vha01hcDxFbGVtZW50LCBzdHJpbmc+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3RvckVudHJpZXMgPSBuZXcgTWFwPEZDYWNoZUNvbm5lY3RvcktleSwgRkNhY2hlQ29ubmVjdG9yPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY29ubmVjdG9yS2V5c0J5Tm9kZUlkID0gbmV3IE1hcDxzdHJpbmcsIFNldDxGQ2FjaGVDb25uZWN0b3JLZXk+PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY29ubmVjdG9yS2V5QnlFbGVtZW50ID0gbmV3IFdlYWtNYXA8RWxlbWVudCwgRkNhY2hlQ29ubmVjdG9yS2V5PigpO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLWNhY2hlLW5vZGUtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhY2hlL21vZGVsL2ktZi1jYWNoZS1ub2RlLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRkNhY2hlTm9kZVJlZiB7XG4gIF9wb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xufVxuIl19
@@ -0,0 +1,6 @@
1
+ export * from './f-cache';
2
+ export * from './f-cache-connector';
3
+ export * from './f-cache-connector-key';
4
+ export * from './f-cache-node';
5
+ export * from './i-f-cache-node-ref';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FjaGUvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFFMUIsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1jYWNoZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jYWNoZS1jb25uZWN0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY2FjaGUtY29ubmVjdG9yLWtleSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jYWNoZS1ub2RlJztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWYtY2FjaGUtbm9kZS1yZWYnO1xuIl19
@@ -0,0 +1,15 @@
1
+ import { FCache } from './model';
2
+ import { GetCachedFCacheRect, InvalidateFCacheNode, RegisterFCacheConnector, RegisterFCacheNode, SetFCacheConnectorRect, SetFCacheNodeRect, UnregisterFCacheConnector, UnregisterFCacheNode, UpdateFCacheRectByElement, } from './features';
3
+ export const F_CACHE_FEATURES = [
4
+ FCache,
5
+ RegisterFCacheNode,
6
+ UnregisterFCacheNode,
7
+ InvalidateFCacheNode,
8
+ RegisterFCacheConnector,
9
+ UnregisterFCacheConnector,
10
+ GetCachedFCacheRect,
11
+ SetFCacheNodeRect,
12
+ SetFCacheConnectorRect,
13
+ UpdateFCacheRectByElement,
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhY2hlL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsb0JBQW9CLEVBQ3BCLHlCQUF5QixHQUMxQixNQUFNLFlBQVksQ0FBQztBQUVwQixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixNQUFNO0lBRU4sa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFFcEIsdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUV6QixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLHNCQUFzQjtJQUN0Qix5QkFBeUI7Q0FDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZDYWNoZSB9IGZyb20gJy4vbW9kZWwnO1xuaW1wb3J0IHtcbiAgR2V0Q2FjaGVkRkNhY2hlUmVjdCxcbiAgSW52YWxpZGF0ZUZDYWNoZU5vZGUsXG4gIFJlZ2lzdGVyRkNhY2hlQ29ubmVjdG9yLFxuICBSZWdpc3RlckZDYWNoZU5vZGUsXG4gIFNldEZDYWNoZUNvbm5lY3RvclJlY3QsXG4gIFNldEZDYWNoZU5vZGVSZWN0LFxuICBVbnJlZ2lzdGVyRkNhY2hlQ29ubmVjdG9yLFxuICBVbnJlZ2lzdGVyRkNhY2hlTm9kZSxcbiAgVXBkYXRlRkNhY2hlUmVjdEJ5RWxlbWVudCxcbn0gZnJvbSAnLi9mZWF0dXJlcyc7XG5cbmV4cG9ydCBjb25zdCBGX0NBQ0hFX0ZFQVRVUkVTID0gW1xuICBGQ2FjaGUsXG5cbiAgUmVnaXN0ZXJGQ2FjaGVOb2RlLFxuICBVbnJlZ2lzdGVyRkNhY2hlTm9kZSxcbiAgSW52YWxpZGF0ZUZDYWNoZU5vZGUsXG5cbiAgUmVnaXN0ZXJGQ2FjaGVDb25uZWN0b3IsXG4gIFVucmVnaXN0ZXJGQ2FjaGVDb25uZWN0b3IsXG5cbiAgR2V0Q2FjaGVkRkNhY2hlUmVjdCxcbiAgU2V0RkNhY2hlTm9kZVJlY3QsXG4gIFNldEZDYWNoZUNvbm5lY3RvclJlY3QsXG4gIFVwZGF0ZUZDYWNoZVJlY3RCeUVsZW1lbnQsXG5dO1xuIl19
@@ -1,9 +1,9 @@
1
- import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, Injector, input, numberAttribute, output, viewChild, } from '@angular/core';
1
+ import { afterNextRender, ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, Injector, input, numberAttribute, output, viewChild, } from '@angular/core';
2
2
  import { F_CANVAS, FCanvasBase } from './f-canvas-base';
3
3
  import { PointExtensions, TransformModelExtensions } from '@foblex/2d';
4
4
  import { FMediator } from '@foblex/mediator';
5
5
  import { AddCanvasToStoreRequest, CenterGroupOrNodeRequest, FitToFlowRequest, GetFlowRequest, InputCanvasPositionRequest, InputCanvasScaleRequest, isMobile, RemoveCanvasFromStoreRequest, ResetScaleAndCenterRequest, ResetScaleRequest, SetBackgroundTransformRequest, transitionEnd, UpdateScaleRequest, } from '../domain';
6
- import { ListenDataChangesRequest, NotifyTransformChangedRequest } from '../f-storage';
6
+ import { FComponentsStore, ListenConnectionsChangesRequest, NotifyTransformChangedRequest, } from '../f-storage';
7
7
  import { takeOne } from '../reactivity';
8
8
  import * as i0 from "@angular/core";
9
9
  /**
@@ -17,6 +17,7 @@ import * as i0 from "@angular/core";
17
17
  */
18
18
  export class FCanvasComponent extends FCanvasBase {
19
19
  _mediator = inject(FMediator);
20
+ _componentsStore = inject(FComponentsStore);
20
21
  _elementReference = inject(ElementRef);
21
22
  _injector = inject(Injector);
22
23
  _flowId;
@@ -32,7 +33,7 @@ export class FCanvasComponent extends FCanvasBase {
32
33
  fNodesContainer = viewChild.required('fNodesContainer');
33
34
  fConnectionsContainer = viewChild.required('fConnectionsContainer');
34
35
  get flowId() {
35
- return this._flowId;
36
+ return this._flowId || '';
36
37
  }
37
38
  ngOnInit() {
38
39
  this._flowId = this._mediator.execute(new GetFlowRequest()).fId();
@@ -56,7 +57,8 @@ export class FCanvasComponent extends FCanvasBase {
56
57
  */
57
58
  redraw() {
58
59
  this._mediator.execute(new SetBackgroundTransformRequest(this.transform));
59
- this.hostElement.setAttribute('style', `transform: ${TransformModelExtensions.toString(this.transform)}`);
60
+ this.hostElement.style.removeProperty('transition');
61
+ this.hostElement.style.transform = TransformModelExtensions.toString(this.transform);
60
62
  this._mediator.execute(new NotifyTransformChangedRequest());
61
63
  }
62
64
  /**
@@ -66,7 +68,8 @@ export class FCanvasComponent extends FCanvasBase {
66
68
  */
67
69
  redrawWithAnimation() {
68
70
  this._mediator.execute(new SetBackgroundTransformRequest(this.transform));
69
- this.hostElement.setAttribute('style', `transition: transform ${isMobile() ? 80 : 150}ms ease-in-out; transform: ${TransformModelExtensions.toString(this.transform)}`);
71
+ this.hostElement.style.transition = `transform ${isMobile() ? 80 : 150}ms ease-in-out`;
72
+ this.hostElement.style.transform = TransformModelExtensions.toString(this.transform);
70
73
  transitionEnd(this.hostElement, () => this.redraw());
71
74
  }
72
75
  /**
@@ -128,8 +131,12 @@ export class FCanvasComponent extends FCanvasBase {
128
131
  this._mediator.execute(new RemoveCanvasFromStoreRequest());
129
132
  }
130
133
  _afterRedraw(callback) {
134
+ if (this._componentsStore.connectionsRevision > 0) {
135
+ afterNextRender(callback, { injector: this._injector });
136
+ return;
137
+ }
131
138
  this._mediator
132
- .execute(new ListenDataChangesRequest())
139
+ .execute(new ListenConnectionsChangesRequest(false))
133
140
  .pipe(takeOne())
134
141
  .listen(this.destroyRef, callback);
135
142
  }
@@ -142,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
142
149
  'class': 'f-component f-canvas',
143
150
  }, providers: [{ provide: F_CANVAS, useExisting: FCanvasComponent }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup], [fGroups]\" />\n </div>\n <div #fConnectionsContainer class=\"f-connections-container\">\n <ng-content select=\"f-snap-connection\" />\n <ng-content select=\"f-connection, [fConnections]\" />\n <ng-content select=\"f-connection-for-create\" />\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode], [fNodes]\" />\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.canvas-dragging{transform:translateZ(0)}.f-connections-container{position:absolute;z-index:2}\n"] }]
144
151
  }] });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLGVBQWUsRUFHZixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFVLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUiw0QkFBNEIsRUFDNUIsMEJBQTBCLEVBQzFCLGlCQUFpQixFQUNqQiw2QkFBNkIsRUFDN0IsYUFBYSxFQUNiLGtCQUFrQixHQUNuQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkYsT0FBTyxFQUFlLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFckQ7Ozs7Ozs7O0dBUUc7QUFZSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUM5QixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lB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QVEsRUFBRSxXQUFXLGtCQUFrQixFQUFFLENBQUMsbUJBQ2hELHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBpbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRl9DQU5WQVMsIEZDYW52YXNCYXNlIH0gZnJvbSAnLi9mLWNhbnZhcy1iYXNlJztcbmltcG9ydCB7IElQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDYW52YXNDaGFuZ2VFdmVudCB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkQ2FudmFzVG9TdG9yZVJlcXVlc3QsXG4gIENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdCxcbiAgRml0VG9GbG93UmVxdWVzdCxcbiAgR2V0Rmxvd1JlcXVlc3QsXG4gIElucHV0Q2FudmFzUG9zaXRpb25SZXF1ZXN0LFxuICBJbnB1dENhbnZhc1NjYWxlUmVxdWVzdCxcbiAgaXNNb2JpbGUsXG4gIFJlbW92ZUNhbnZhc0Zyb21TdG9yZVJlcXVlc3QsXG4gIFJlc2V0U2NhbGVBbmRDZW50ZXJSZXF1ZXN0LFxuICBSZXNldFNjYWxlUmVxdWVzdCxcbiAgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QsXG4gIHRyYW5zaXRpb25FbmQsXG4gIFVwZGF0ZVNjYWxlUmVxdWVzdCxcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IExpc3RlbkRhdGFDaGFuZ2VzUmVxdWVzdCwgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkZsb3dCYXNlIH0gZnJvbSAnLi4vZi1mbG93JztcbmltcG9ydCB7IEZDaGFubmVsSHViLCB0YWtlT25lIH0gZnJvbSAnLi4vcmVhY3Rpdml0eSc7XG5cbi8qKlxuICogQ29tcG9uZW50IHJlcHJlc2VudGluZyBhIGNhbnZhcyBpbiB0aGUgRi1GbG93IGZyYW1ld29yay5cbiAqIEl0IGhhbmRsZXMgdGhlIHJlbmRlcmluZyBvZiBub2RlcywgY29ubmVjdGlvbnMsIGFuZCBncm91cHMsXG4gKiBhcyB3ZWxsIGFzIHVzZXIgaW50ZXJhY3Rpb25zIHN1Y2ggYXMgem9vbWluZyBhbmQgcGFubmluZy5cbiAqIEl0IGV4dGVuZHMgdGhlIEZDYW52YXNCYXNlIGNsYXNzIGFuZCBpbXBsZW1lbnRzIE9uSW5pdCBhbmQgT25EZXN0cm95IGxpZmVjeWNsZSBob29rcy5cbiAqIEl0IHByb3ZpZGVzIG1ldGhvZHMgdG8gbWFuaXB1bGF0ZSB0aGUgY2FudmFzLCBzdWNoIGFzIGNlbnRlcmluZyBub2RlcyBvciBncm91cHMsXG4gKiBmaXR0aW5nIHRoZSBjYW52YXMgdG8gdGhlIHNjcmVlbiwgYW5kIHJlc2V0dGluZyB0aGUgc2NhbGUuXG4gKiBJdCBhbHNvIGVtaXRzIGV2ZW50cyB3aGVuIHRoZSBjYW52YXMgY2hhbmdlcywgYWxsb3dpbmcgb3RoZXIgY29tcG9uZW50cyB0byByZWFjdCB0byB0aGVzZSBjaGFuZ2VzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLWNhbnZhcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWNhbnZhcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2YtY2FudmFzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1jb21wb25lbnQgZi1jYW52YXMnLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfQ0FOVkFTLCB1c2VFeGlzdGluZzogRkNhbnZhc0NvbXBvbmVudCB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZDYW52YXNDb21wb25lbnQgZXh0ZW5kcyBGQ2FudmFzQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByaXZhdGUgX2Zsb3dJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmQ2FudmFzQ2hhbmdlID0gb3V0cHV0PEZDYW52YXNDaGFuZ2VFdmVudD4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcG9zaXRpb24gPSBpbnB1dDxJUG9pbnQsIElQb2ludCB8IG51bGwgfCB1bmRlZmluZWQ+KFxuICAgIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksXG4gICAgeyB0cmFuc2Zvcm06IFBvaW50RXh0ZW5zaW9ucy5jYXN0VG9Qb2ludCB9LFxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgc2NhbGUgPSBpbnB1dDxudW1iZXIsIHVua25vd24+KDEsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIHB1YmxpYyByZWFkb25seSBkZWJvdW5jZVRpbWUgPSBpbnB1dDxudW1iZXIsIHVua25vd24+KDAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIHB1YmxpYyBvdmVycmlkZSBkZWJvdW5jZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmRlYm91bmNlVGltZSgpIDwgMCA/IDAgOiB0aGlzLmRlYm91bmNlVGltZSgpKSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JvdXBzQ29udGFpbmVyID1cbiAgICB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmR3JvdXBzQ29udGFpbmVyJyk7XG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZXNDb250YWluZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmTm9kZXNDb250YWluZXInKTtcbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uc0NvbnRhaW5lciA9XG4gICAgdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZkNvbm5lY3Rpb25zQ29udGFpbmVyJyk7XG5cbiAgcHVibGljIGdldCBmbG93SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZmxvd0lkITtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mbG93SWQgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPEZGbG93QmFzZT4obmV3IEdldEZsb3dSZXF1ZXN0KCkpLmZJZCgpO1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZENhbnZhc1RvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgICB0aGlzLl9wb3NpdGlvbkNoYW5nZSgpO1xuICAgIHRoaXMuX3NjYWxlQ2hhbmdlKCk7XG4gICAgc3VwZXIuc3Vic2NyaWJlT25DYW52YXNDaGFuZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Bvc2l0aW9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMucG9zaXRpb24oKSkpO1xuICAgICAgfSxcbiAgICAgIHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NjYWxlQ2hhbmdlKCk6IHZvaWQge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNTY2FsZVJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMuc2NhbGUoKSkpO1xuICAgICAgfSxcbiAgICAgIHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgYnkgYXBwbHlpbmcgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFNldEJhY2tncm91bmRUcmFuc2Zvcm1SZXF1ZXN0KHRoaXMudHJhbnNmb3JtKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAnc3R5bGUnLFxuICAgICAgYHRyYW5zZm9ybTogJHtUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pfWAsXG4gICAgKTtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgd2l0aCBhbiBhbmltYXRpb24gZWZmZWN0LlxuICAgKiBUaGlzIG1ldGhvZCBhcHBsaWVzIGEgQ1NTIHRyYW5zaXRpb24gdG8gdGhlIGNhbnZhcyBlbGVtZW50LFxuICAgKiBhbGxvd2luZyBmb3IgYSBzbW9vdGggdmlzdWFsIHVwZGF0ZSBvZiB0aGUgY2FudmFzJ3MgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3V2l0aEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBTZXRCYWNrZ3JvdW5kVHJhbnNmb3JtUmVxdWVzdCh0aGlzLnRyYW5zZm9ybSkpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgJ3N0eWxlJyxcbiAgICAgIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHtpc01vYmlsZSgpID8gODAgOiAxNTB9bXMgZWFzZS1pbi1vdXQ7IHRyYW5zZm9ybTogJHtUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pfWAsXG4gICAgKTtcbiAgICB0cmFuc2l0aW9uRW5kKHRoaXMuaG9zdEVsZW1lbnQsICgpID0+IHRoaXMucmVkcmF3KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENlbnRlcnMgdGhlIHNwZWNpZmllZCBncm91cCBvciBub2RlIG9uIHRoZSBjYW52YXMuXG4gICAqIEBwYXJhbSBncm91cE9yTm9kZUlkIC0gVGhlIElEIG9mIHRoZSBncm91cCBvciBub2RlIHRvIGNlbnRlci5cbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIGNlbnRlcmluZyB3aWxsIGJlIGFuaW1hdGVkOyBvdGhlcndpc2UsIGl0IHdpbGwgYmUgaW5zdGFudGFuZW91cy5cbiAgICovXG4gIHB1YmxpYyBjZW50ZXJHcm91cE9yTm9kZShncm91cE9yTm9kZUlkOiBzdHJpbmcsIGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuX2FmdGVyUmVkcmF3KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdChncm91cE9yTm9kZUlkLCBhbmltYXRlZCkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpdHMgdGhlIGNhbnZhcyB0byB0aGUgc2NyZWVuIGJ5IGFkanVzdGluZyB0aGUgc2NhbGUgYW5kIHBvc2l0aW9uLlxuICAgKiBAcGFyYW0gcGFkZGluZyAtIHBhZGRpbmdzIGZyb20gdGhlIGJvdW5kcyBvZiB0aGUgY2FudmFzXG4gICAqIEBwYXJhbSBhbmltYXRlZCAtIElmIHRydWUsIHRoZSBmaXQgd2lsbCBiZSBhbmltYXRlZDsgb3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGluc3RhbnRhbmVvdXMuXG4gICAqL1xuICBwdWJsaWMgZml0VG9TY3JlZW4oXG4gICAgcGFkZGluZzogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSxcbiAgICBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuX2FmdGVyUmVkcmF3KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEZpdFRvRmxvd1JlcXVlc3QocGFkZGluZywgYW5pbWF0ZWQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIHNjYWxlIGFuZCBjZW50ZXIgYWxsIG5vZGVzIGFuZCBncm91cHMgb24gdGhlIGNhbnZhcy5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZXN0b3JlIHRoZSBjYW52YXMgdG8gaXRzIGRlZmF1bHQgc2NhbGUgYW5kIHBvc2l0aW9uLFxuICAgKiBhbGxvd2luZyB1c2VycyB0byBxdWlja2x5IHJldHVybiB0byBhIHN0YW5kYXJkIHZpZXcgb2YgdGhlIGNhbnZhcyBjb250ZW50LlxuICAgKiBAcGFyYW0gYW5pbWF0ZWQgLSBJZiB0cnVlLCB0aGUgcmVzZXQgd2lsbCBiZSBhbmltYXRlZDsgb3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGluc3RhbnRhbmVvdXMuXG4gICAqIFRoaXMgaXMgdXNlZnVsIGZvciBwcm92aWRpbmcgYSBzbW9vdGggdXNlciBleHBlcmllbmNlIHdoZW4gcmVzZXR0aW5nIHRoZSB2aWV3LlxuICAgKi9cbiAgcHVibGljIHJlc2V0U2NhbGVBbmRDZW50ZXIoYW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5fYWZ0ZXJSZWRyYXcoKCkgPT4ge1xuICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QoYW5pbWF0ZWQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgR2V0cyB0aGUgY3VycmVudCBzY2FsZSBvZiB0aGUgY2FudmFzLlxuICAgKi9cbiAgcHVibGljIGdldFNjYWxlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtLnNjYWxlIHx8IDE7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2NhbGUgb2YgdGhlIGNhbnZhcyB0byBhIHNwZWNpZmllZCB2YWx1ZS5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byB6b29tIGluIG9yIG91dCBvZiB0aGUgY2FudmFzLFxuICAgKiBhbGxvd2luZyB1c2VycyB0byBhZGp1c3QgdGhlIHZpZXcgb2YgdGhlIGNhbnZhcyBjb250ZW50LlxuICAgKiBAcGFyYW0gc2NhbGUgLSBUaGUgc2NhbGUgZmFjdG9yIHRvIHNldCBmb3IgdGhlIGNhbnZhcy5cbiAgICogQHBhcmFtIHRvUG9zaXRpb24gLSBUaGUgcG9zaXRpb24gdG8gd2hpY2ggdGhlIGNhbnZhcyBzaG91bGQgYmUgY2VudGVyZWQgYWZ0ZXIgc2NhbGluZy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRTY2FsZShzY2FsZTogbnVtYmVyLCB0b1Bvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgVXBkYXRlU2NhbGVSZXF1ZXN0KHNjYWxlLCB0b1Bvc2l0aW9uKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBzY2FsZSBvZiB0aGUgY2FudmFzIHRvIGl0cyBkZWZhdWx0IHZhbHVlLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIHJlc3RvcmUgdGhlIGNhbnZhcyB0byBpdHMgb3JpZ2luYWwgc2NhbGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVzZXRTY2FsZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBSZXNldFNjYWxlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBSZW1vdmVDYW52YXNGcm9tU3RvcmVSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWZ0ZXJSZWRyYXcoY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvclxuICAgICAgLmV4ZWN1dGU8RkNoYW5uZWxIdWI+KG5ldyBMaXN0ZW5EYXRhQ2hhbmdlc1JlcXVlc3QoKSlcbiAgICAgIC5waXBlKHRha2VPbmUoKSlcbiAgICAgIC5saXN0ZW4odGhpcy5kZXN0cm95UmVmLCBjYWxsYmFjayk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXYgI2ZHcm91cHNDb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZHcm91cF0sIFtmR3JvdXBzXVwiIC8+XG4gIDwvZGl2PlxuICA8ZGl2ICNmQ29ubmVjdGlvbnNDb250YWluZXIgY2xhc3M9XCJmLWNvbm5lY3Rpb25zLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtc25hcC1jb25uZWN0aW9uXCIgLz5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb24sIFtmQ29ubmVjdGlvbnNdXCIgLz5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZVwiIC8+XG4gIDwvZGl2PlxuXG4gIDxkaXYgI2ZOb2Rlc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZk5vZGVdLCBbZk5vZGVzXVwiIC8+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxlQUFlLEVBR2YsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBVSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2QixRQUFRLEVBQ1IsNEJBQTRCLEVBQzVCLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzdCLGFBQWEsRUFDYixrQkFBa0IsR0FDbkIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQiwrQkFBK0IsRUFDL0IsNkJBQTZCLEdBQzlCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBZSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXJEOzs7Ozs7OztHQVFHO0FBWUgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQVc7SUFDOUIsU0FBUyxHQUFHLE1B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S0FBSyxDQUFDLENBQUM7YUFDaEUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQzt3R0EvSlUsZ0JBQWdCOzRGQUFoQixnQkFBZ0Isd2lCQUhoQixDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyw2YUM1RG5FLGtjQWNBOzs0RkRpRGEsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNFLFVBQVUsY0FHUixJQUFJLFFBQ1Y7d0JBQ0osT0FBTyxFQUFFLHNCQUFzQjtxQkFDaEMsYUFDVSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLGtCQUFrQixFQUFFLENBQUMsbUJBQ2hELHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGlucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBvdXRwdXQsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGX0NBTlZBUywgRkNhbnZhc0Jhc2UgfSBmcm9tICcuL2YtY2FudmFzLWJhc2UnO1xuaW1wb3J0IHsgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMsIFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNhbnZhc0NoYW5nZUV2ZW50IH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBBZGRDYW52YXNUb1N0b3JlUmVxdWVzdCxcbiAgQ2VudGVyR3JvdXBPck5vZGVSZXF1ZXN0LFxuICBGaXRUb0Zsb3dSZXF1ZXN0LFxuICBHZXRGbG93UmVxdWVzdCxcbiAgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QsXG4gIElucHV0Q2FudmFzU2NhbGVSZXF1ZXN0LFxuICBpc01vYmlsZSxcbiAgUmVtb3ZlQ2FudmFzRnJvbVN0b3JlUmVxdWVzdCxcbiAgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QsXG4gIFJlc2V0U2NhbGVSZXF1ZXN0LFxuICBTZXRCYWNrZ3JvdW5kVHJhbnNmb3JtUmVxdWVzdCxcbiAgdHJhbnNpdGlvbkVuZCxcbiAgVXBkYXRlU2NhbGVSZXF1ZXN0LFxufSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgRkNvbXBvbmVudHNTdG9yZSxcbiAgTGlzdGVuQ29ubmVjdGlvbnNDaGFuZ2VzUmVxdWVzdCxcbiAgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QsXG59IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRmxvd0Jhc2UgfSBmcm9tICcuLi9mLWZsb3cnO1xuaW1wb3J0IHsgRkNoYW5uZWxIdWIsIHRha2VPbmUgfSBmcm9tICcuLi9yZWFjdGl2aXR5JztcblxuLyoqXG4gKiBDb21wb25lbnQgcmVwcmVzZW50aW5nIGEgY2FudmFzIGluIHRoZSBGLUZsb3cgZnJhbWV3b3JrLlxuICogSXQgaGFuZGxlcyB0aGUgcmVuZGVyaW5nIG9mIG5vZGVzLCBjb25uZWN0aW9ucywgYW5kIGdyb3VwcyxcbiAqIGFzIHdlbGwgYXMgdXNlciBpbnRlcmFjdGlvbnMgc3VjaCBhcyB6b29taW5nIGFuZCBwYW5uaW5nLlxuICogSXQgZXh0ZW5kcyB0aGUgRkNhbnZhc0Jhc2UgY2xhc3MgYW5kIGltcGxlbWVudHMgT25Jbml0IGFuZCBPbkRlc3Ryb3kgbGlmZWN5Y2xlIGhvb2tzLlxuICogSXQgcHJvdmlkZXMgbWV0aG9kcyB0byBtYW5pcHVsYXRlIHRoZSBjYW52YXMsIHN1Y2ggYXMgY2VudGVyaW5nIG5vZGVzIG9yIGdyb3VwcyxcbiAqIGZpdHRpbmcgdGhlIGNhbnZhcyB0byB0aGUgc2NyZWVuLCBhbmQgcmVzZXR0aW5nIHRoZSBzY2FsZS5cbiAqIEl0IGFsc28gZW1pdHMgZXZlbnRzIHdoZW4gdGhlIGNhbnZhcyBjaGFuZ2VzLCBhbGxvd2luZyBvdGhlciBjb21wb25lbnRzIHRvIHJlYWN0IHRvIHRoZXNlIGNoYW5nZXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtY2FudmFzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtY2FudmFzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZi1jYW52YXMuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWNvbXBvbmVudCBmLWNhbnZhcycsXG4gIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRl9DQU5WQVMsIHVzZUV4aXN0aW5nOiBGQ2FudmFzQ29tcG9uZW50IH1dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRkNhbnZhc0NvbXBvbmVudCBleHRlbmRzIEZDYW52YXNCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwcml2YXRlIF9mbG93SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZkNhbnZhc0NoYW5nZSA9IG91dHB1dDxGQ2FudmFzQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBvc2l0aW9uID0gaW5wdXQ8SVBvaW50LCBJUG9pbnQgfCBudWxsIHwgdW5kZWZpbmVkPihcbiAgICBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpLFxuICAgIHsgdHJhbnNmb3JtOiBQb2ludEV4dGVuc2lvbnMuY2FzdFRvUG9pbnQgfSxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHNjYWxlID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigxLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVib3VuY2VUaW1lID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigwLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBwdWJsaWMgb3ZlcnJpZGUgZGVib3VuY2UgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5kZWJvdW5jZVRpbWUoKSA8IDAgPyAwIDogdGhpcy5kZWJvdW5jZVRpbWUoKSkpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZkdyb3Vwc0NvbnRhaW5lciA9XG4gICAgdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZkdyb3Vwc0NvbnRhaW5lcicpO1xuICBwdWJsaWMgb3ZlcnJpZGUgZk5vZGVzQ29udGFpbmVyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZk5vZGVzQ29udGFpbmVyJyk7XG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbnNDb250YWluZXIgPVxuICAgIHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ2ZDb25uZWN0aW9uc0NvbnRhaW5lcicpO1xuXG4gIHB1YmxpYyBnZXQgZmxvd0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Zsb3dJZCB8fCAnJztcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mbG93SWQgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPEZGbG93QmFzZT4obmV3IEdldEZsb3dSZXF1ZXN0KCkpLmZJZCgpO1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZENhbnZhc1RvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgICB0aGlzLl9wb3NpdGlvbkNoYW5nZSgpO1xuICAgIHRoaXMuX3NjYWxlQ2hhbmdlKCk7XG4gICAgc3VwZXIuc3Vic2NyaWJlT25DYW52YXNDaGFuZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Bvc2l0aW9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMucG9zaXRpb24oKSkpO1xuICAgICAgfSxcbiAgICAgIHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NjYWxlQ2hhbmdlKCk6IHZvaWQge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNTY2FsZVJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMuc2NhbGUoKSkpO1xuICAgICAgfSxcbiAgICAgIHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgYnkgYXBwbHlpbmcgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFNldEJhY2tncm91bmRUcmFuc2Zvcm1SZXF1ZXN0KHRoaXMudHJhbnNmb3JtKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgndHJhbnNpdGlvbicpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLnRvU3RyaW5nKHRoaXMudHJhbnNmb3JtKTtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgd2l0aCBhbiBhbmltYXRpb24gZWZmZWN0LlxuICAgKiBUaGlzIG1ldGhvZCBhcHBsaWVzIGEgQ1NTIHRyYW5zaXRpb24gdG8gdGhlIGNhbnZhcyBlbGVtZW50LFxuICAgKiBhbGxvd2luZyBmb3IgYSBzbW9vdGggdmlzdWFsIHVwZGF0ZSBvZiB0aGUgY2FudmFzJ3MgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3V2l0aEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBTZXRCYWNrZ3JvdW5kVHJhbnNmb3JtUmVxdWVzdCh0aGlzLnRyYW5zZm9ybSkpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUudHJhbnNpdGlvbiA9IGB0cmFuc2Zvcm0gJHtpc01vYmlsZSgpID8gODAgOiAxNTB9bXMgZWFzZS1pbi1vdXRgO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLnRvU3RyaW5nKHRoaXMudHJhbnNmb3JtKTtcbiAgICB0cmFuc2l0aW9uRW5kKHRoaXMuaG9zdEVsZW1lbnQsICgpID0+IHRoaXMucmVkcmF3KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENlbnRlcnMgdGhlIHNwZWNpZmllZCBncm91cCBvciBub2RlIG9uIHRoZSBjYW52YXMuXG4gICAqIEBwYXJhbSBncm91cE9yTm9kZUlkIC0gVGhlIElEIG9mIHRoZSBncm91cCBvciBub2RlIHRvIGNlbnRlci5cbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIGNlbnRlcmluZyB3aWxsIGJlIGFuaW1hdGVkOyBvdGhlcndpc2UsIGl0IHdpbGwgYmUgaW5zdGFudGFuZW91cy5cbiAgICovXG4gIHB1YmxpYyBjZW50ZXJHcm91cE9yTm9kZShncm91cE9yTm9kZUlkOiBzdHJpbmcsIGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuX2FmdGVyUmVkcmF3KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdChncm91cE9yTm9kZUlkLCBhbmltYXRlZCkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpdHMgdGhlIGNhbnZhcyB0byB0aGUgc2NyZWVuIGJ5IGFkanVzdGluZyB0aGUgc2NhbGUgYW5kIHBvc2l0aW9uLlxuICAgKiBAcGFyYW0gcGFkZGluZyAtIHBhZGRpbmdzIGZyb20gdGhlIGJvdW5kcyBvZiB0aGUgY2FudmFzXG4gICAqIEBwYXJhbSBhbmltYXRlZCAtIElmIHRydWUsIHRoZSBmaXQgd2lsbCBiZSBhbmltYXRlZDsgb3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGluc3RhbnRhbmVvdXMuXG4gICAqL1xuICBwdWJsaWMgZml0VG9TY3JlZW4oXG4gICAgcGFkZGluZzogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSxcbiAgICBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuX2FmdGVyUmVkcmF3KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEZpdFRvRmxvd1JlcXVlc3QocGFkZGluZywgYW5pbWF0ZWQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIHNjYWxlIGFuZCBjZW50ZXIgYWxsIG5vZGVzIGFuZCBncm91cHMgb24gdGhlIGNhbnZhcy5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZXN0b3JlIHRoZSBjYW52YXMgdG8gaXRzIGRlZmF1bHQgc2NhbGUgYW5kIHBvc2l0aW9uLFxuICAgKiBhbGxvd2luZyB1c2VycyB0byBxdWlja2x5IHJldHVybiB0byBhIHN0YW5kYXJkIHZpZXcgb2YgdGhlIGNhbnZhcyBjb250ZW50LlxuICAgKiBAcGFyYW0gYW5pbWF0ZWQgLSBJZiB0cnVlLCB0aGUgcmVzZXQgd2lsbCBiZSBhbmltYXRlZDsgb3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGluc3RhbnRhbmVvdXMuXG4gICAqIFRoaXMgaXMgdXNlZnVsIGZvciBwcm92aWRpbmcgYSBzbW9vdGggdXNlciBleHBlcmllbmNlIHdoZW4gcmVzZXR0aW5nIHRoZSB2aWV3LlxuICAgKi9cbiAgcHVibGljIHJlc2V0U2NhbGVBbmRDZW50ZXIoYW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5fYWZ0ZXJSZWRyYXcoKCkgPT4ge1xuICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QoYW5pbWF0ZWQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgR2V0cyB0aGUgY3VycmVudCBzY2FsZSBvZiB0aGUgY2FudmFzLlxuICAgKi9cbiAgcHVibGljIGdldFNjYWxlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtLnNjYWxlIHx8IDE7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2NhbGUgb2YgdGhlIGNhbnZhcyB0byBhIHNwZWNpZmllZCB2YWx1ZS5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byB6b29tIGluIG9yIG91dCBvZiB0aGUgY2FudmFzLFxuICAgKiBhbGxvd2luZyB1c2VycyB0byBhZGp1c3QgdGhlIHZpZXcgb2YgdGhlIGNhbnZhcyBjb250ZW50LlxuICAgKiBAcGFyYW0gc2NhbGUgLSBUaGUgc2NhbGUgZmFjdG9yIHRvIHNldCBmb3IgdGhlIGNhbnZhcy5cbiAgICogQHBhcmFtIHRvUG9zaXRpb24gLSBUaGUgcG9zaXRpb24gdG8gd2hpY2ggdGhlIGNhbnZhcyBzaG91bGQgYmUgY2VudGVyZWQgYWZ0ZXIgc2NhbGluZy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRTY2FsZShzY2FsZTogbnVtYmVyLCB0b1Bvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgVXBkYXRlU2NhbGVSZXF1ZXN0KHNjYWxlLCB0b1Bvc2l0aW9uKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBzY2FsZSBvZiB0aGUgY2FudmFzIHRvIGl0cyBkZWZhdWx0IHZhbHVlLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIHJlc3RvcmUgdGhlIGNhbnZhcyB0byBpdHMgb3JpZ2luYWwgc2NhbGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVzZXRTY2FsZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBSZXNldFNjYWxlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBSZW1vdmVDYW52YXNGcm9tU3RvcmVSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWZ0ZXJSZWRyYXcoY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY29tcG9uZW50c1N0b3JlLmNvbm5lY3Rpb25zUmV2aXNpb24gPiAwKSB7XG4gICAgICBhZnRlck5leHRSZW5kZXIoY2FsbGJhY2ssIHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0pO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbWVkaWF0b3JcbiAgICAgIC5leGVjdXRlPEZDaGFubmVsSHViPihuZXcgTGlzdGVuQ29ubmVjdGlvbnNDaGFuZ2VzUmVxdWVzdChmYWxzZSkpXG4gICAgICAucGlwZSh0YWtlT25lKCkpXG4gICAgICAubGlzdGVuKHRoaXMuZGVzdHJveVJlZiwgY2FsbGJhY2spO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2ICNmR3JvdXBzQ29udGFpbmVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmR3JvdXBdLCBbZkdyb3Vwc11cIiAvPlxuICA8L2Rpdj5cbiAgPGRpdiAjZkNvbm5lY3Rpb25zQ29udGFpbmVyIGNsYXNzPVwiZi1jb25uZWN0aW9ucy1jb250YWluZXJcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLXNuYXAtY29ubmVjdGlvblwiIC8+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jb25uZWN0aW9uLCBbZkNvbm5lY3Rpb25zXVwiIC8+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jb25uZWN0aW9uLWZvci1jcmVhdGVcIiAvPlxuICA8L2Rpdj5cblxuICA8ZGl2ICNmTm9kZXNDb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZOb2RlXSwgW2ZOb2Rlc11cIiAvPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19