@foblex/flow 1.5.0 → 1.5.2

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 (203) hide show
  1. package/domain/get-output-rect-in-flow/get-output-rect-in-flow-request.d.ts +4 -0
  2. package/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.d.ts +7 -0
  3. package/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.d.ts +14 -0
  4. package/domain/get-output-rect-in-flow/index.d.ts +3 -0
  5. package/domain/index.d.ts +2 -1
  6. package/domain/providers.d.ts +3 -2
  7. package/domain/redraw-connections/index.d.ts +2 -0
  8. package/domain/redraw-connections/redraw-connections-request.d.ts +3 -0
  9. package/{f-flow/domain → domain}/redraw-connections/redraw-connections.handler.d.ts +8 -6
  10. package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +10 -3
  11. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-request.mjs +6 -0
  12. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.mjs +7 -0
  13. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.mjs +33 -0
  14. package/esm2022/domain/get-output-rect-in-flow/index.mjs +4 -0
  15. package/esm2022/domain/index.mjs +3 -2
  16. package/esm2022/domain/providers.mjs +6 -4
  17. package/esm2022/domain/redraw-connections/index.mjs +3 -0
  18. package/esm2022/domain/redraw-connections/redraw-connections-request.mjs +5 -0
  19. package/esm2022/domain/redraw-connections/redraw-connections.handler.mjs +54 -0
  20. package/esm2022/f-canvas/f-canvas-base.mjs +3 -4
  21. package/esm2022/f-components-store.mjs +1 -1
  22. package/esm2022/f-connection/common/f-connection-base.mjs +5 -3
  23. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +2 -2
  24. package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
  25. package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +1 -1
  26. package/esm2022/f-connection/common/mixins/change-connection-visibility.mixin.mjs +1 -1
  27. package/esm2022/f-connection/f-connection/f-connection.component.mjs +5 -5
  28. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +2 -2
  29. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +2 -1
  30. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
  31. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
  32. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  33. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +6 -7
  34. package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +3 -3
  35. package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +8 -8
  36. package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +7 -0
  37. package/esm2022/f-draggable/connections/create-connection/index.mjs +2 -2
  38. package/esm2022/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +9 -0
  39. package/esm2022/f-draggable/connections/reassign-connection/index.mjs +2 -2
  40. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +8 -9
  41. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs +3 -3
  42. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +7 -7
  43. package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +1 -1
  44. package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +3 -3
  45. package/esm2022/f-draggable/external-item/external-item.prepare-drag-sequence.mjs +3 -3
  46. package/esm2022/f-draggable/external-item/f-create-node.event.mjs +7 -0
  47. package/esm2022/f-draggable/external-item/index.mjs +2 -2
  48. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  49. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
  50. package/esm2022/f-draggable/f-draggable.directive.mjs +3 -3
  51. package/esm2022/f-draggable/index.mjs +13 -0
  52. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +6 -7
  53. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +6 -7
  54. package/esm2022/f-draggable/node/connection.drag-handler.mjs +6 -7
  55. package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +11 -11
  56. package/esm2022/f-draggable/single-select/f-selection-change-event.mjs +7 -0
  57. package/esm2022/f-draggable/single-select/index.mjs +2 -2
  58. package/esm2022/f-external-item/f-external-item-base.mjs +11 -0
  59. package/esm2022/f-external-item/f-external-item.directive.mjs +44 -0
  60. package/esm2022/f-external-item/f-external-item.service.mjs +28 -0
  61. package/esm2022/f-external-item/index.mjs +5 -0
  62. package/esm2022/f-external-item/is-external-item.mjs +7 -0
  63. package/esm2022/f-flow/f-flow.component.mjs +14 -20
  64. package/esm2022/f-flow/index.mjs +1 -2
  65. package/esm2022/f-flow.module.mjs +5 -4
  66. package/esm2022/f-line-alignment/domain/i-line-alignment-rect.mjs +2 -0
  67. package/esm2022/f-line-alignment/domain/i-line-alignment-result.mjs +2 -0
  68. package/esm2022/f-line-alignment/domain/i-nearest-coordinate-result.mjs +2 -0
  69. package/esm2022/f-line-alignment/domain/index.mjs +7 -0
  70. package/esm2022/f-line-alignment/domain/line-element.mjs +23 -0
  71. package/esm2022/f-line-alignment/domain/line-service.mjs +33 -0
  72. package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +100 -0
  73. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +11 -0
  74. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +90 -0
  75. package/esm2022/f-line-alignment/index.mjs +4 -0
  76. package/esm2022/f-mediator/f-flow-mediator.mjs +24 -0
  77. package/esm2022/f-mediator/f-handler-register.mjs +7 -0
  78. package/esm2022/f-mediator/index.mjs +3 -0
  79. package/esm2022/f-node/f-node.directive.mjs +3 -3
  80. package/esm2022/f-selection-area/domain/i-selection-area-rect.mjs +2 -0
  81. package/esm2022/f-selection-area/domain/index.mjs +2 -0
  82. package/esm2022/f-selection-area/f-selection-area-base.mjs +11 -0
  83. package/esm2022/f-selection-area/f-selection-area.component.mjs +44 -0
  84. package/esm2022/f-selection-area/index.mjs +4 -0
  85. package/esm2022/public-api.mjs +6 -3
  86. package/f-canvas/f-canvas-base.d.ts +3 -4
  87. package/f-components-store.d.ts +1 -1
  88. package/f-connection/common/f-connection-base.d.ts +2 -2
  89. package/f-connection/common/i-has-connection-from-to.d.ts +1 -1
  90. package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +1 -2
  91. package/f-connection/common/mixins/change-connection-visibility.mixin.d.ts +1 -2
  92. package/f-connection/f-connection/f-connection.component.d.ts +2 -2
  93. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
  94. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +3 -4
  95. package/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.d.ts +4 -4
  96. package/f-draggable/connections/create-connection/f-create-connection.event.d.ts +5 -0
  97. package/f-draggable/connections/create-connection/index.d.ts +1 -1
  98. package/f-draggable/connections/reassign-connection/f-reassign-connection.event.d.ts +7 -0
  99. package/f-draggable/connections/reassign-connection/index.d.ts +1 -1
  100. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +4 -4
  101. package/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.d.ts +4 -4
  102. package/f-draggable/external-item/external-item.drag-handler.d.ts +1 -1
  103. package/f-draggable/external-item/external-item.prepare-drag-sequence.d.ts +1 -1
  104. package/f-draggable/external-item/{create-node.event.d.ts → f-create-node.event.d.ts} +1 -1
  105. package/f-draggable/external-item/index.d.ts +1 -1
  106. package/f-draggable/f-draggable-base.d.ts +8 -8
  107. package/f-draggable/f-draggable-data-context.d.ts +2 -1
  108. package/f-draggable/f-draggable.directive.d.ts +7 -7
  109. package/f-draggable/{public-api.d.ts → index.d.ts} +0 -1
  110. package/f-draggable/node/connection-source.drag-handler.d.ts +4 -4
  111. package/f-draggable/node/connection-target.drag-handler.d.ts +4 -4
  112. package/f-draggable/node/connection.drag-handler.d.ts +4 -4
  113. package/f-draggable/node/node.prepare-drag-sequence.d.ts +4 -4
  114. package/f-draggable/single-select/{selection-change-event.d.ts → f-selection-change-event.d.ts} +1 -1
  115. package/f-draggable/single-select/index.d.ts +1 -1
  116. package/f-flow/f-flow.component.d.ts +3 -3
  117. package/f-flow/index.d.ts +0 -1
  118. package/f-flow.module.d.ts +3 -3
  119. package/{f-draggable/components/f-line-alignment → f-line-alignment}/f-line-alignment-base.d.ts +1 -1
  120. package/{f-draggable/components/f-line-alignment → f-line-alignment}/f-line-alignment.component.d.ts +4 -4
  121. package/f-mediator/f-flow-mediator.d.ts +12 -0
  122. package/f-mediator/f-handler-register.d.ts +5 -0
  123. package/f-mediator/index.d.ts +2 -0
  124. package/{f-draggable/components/f-selection-area → f-selection-area}/f-selection-area.component.d.ts +1 -1
  125. package/fesm2022/foblex-flow.mjs +1100 -1135
  126. package/fesm2022/foblex-flow.mjs.map +1 -1
  127. package/package.json +2 -2
  128. package/public-api.d.ts +5 -2
  129. package/common-behaviours/change-position.d.ts +0 -10
  130. package/common-behaviours/change-zoom/change-zoom.d.ts +0 -6
  131. package/common-behaviours/change-zoom/i-can-change-zoom.d.ts +0 -6
  132. package/common-behaviours/change-zoom/index.d.ts +0 -2
  133. package/common-behaviours/constructor.d.ts +0 -2
  134. package/common-behaviours/fit-to-parent/fit-to-parent.d.ts +0 -6
  135. package/common-behaviours/fit-to-parent/i-can-fit-to-parent.d.ts +0 -4
  136. package/common-behaviours/fit-to-parent/index.d.ts +0 -2
  137. package/common-behaviours/i-transformable.d.ts +0 -4
  138. package/common-behaviours/index.d.ts +0 -6
  139. package/common-behaviours/one-to-one-centering/i-can-one-to-one-centering.d.ts +0 -4
  140. package/common-behaviours/one-to-one-centering/index.d.ts +0 -2
  141. package/common-behaviours/one-to-one-centering/one-to-one-centering.d.ts +0 -6
  142. package/domain/get-output-rect-in-flow.handler.d.ts +0 -19
  143. package/esm2022/common-behaviours/change-position.mjs +0 -15
  144. package/esm2022/common-behaviours/change-zoom/change-zoom.mjs +0 -25
  145. package/esm2022/common-behaviours/change-zoom/i-can-change-zoom.mjs +0 -2
  146. package/esm2022/common-behaviours/change-zoom/index.mjs +0 -3
  147. package/esm2022/common-behaviours/constructor.mjs +0 -2
  148. package/esm2022/common-behaviours/fit-to-parent/fit-to-parent.mjs +0 -27
  149. package/esm2022/common-behaviours/fit-to-parent/i-can-fit-to-parent.mjs +0 -2
  150. package/esm2022/common-behaviours/fit-to-parent/index.mjs +0 -3
  151. package/esm2022/common-behaviours/i-transformable.mjs +0 -2
  152. package/esm2022/common-behaviours/index.mjs +0 -7
  153. package/esm2022/common-behaviours/one-to-one-centering/i-can-one-to-one-centering.mjs +0 -2
  154. package/esm2022/common-behaviours/one-to-one-centering/index.mjs +0 -3
  155. package/esm2022/common-behaviours/one-to-one-centering/one-to-one-centering.mjs +0 -24
  156. package/esm2022/domain/get-output-rect-in-flow.handler.mjs +0 -25
  157. package/esm2022/f-draggable/components/f-external-item/f-external-item-base.mjs +0 -11
  158. package/esm2022/f-draggable/components/f-external-item/f-external-item.directive.mjs +0 -44
  159. package/esm2022/f-draggable/components/f-external-item/f-external-item.service.mjs +0 -28
  160. package/esm2022/f-draggable/components/f-external-item/index.mjs +0 -5
  161. package/esm2022/f-draggable/components/f-external-item/is-external-item.mjs +0 -7
  162. package/esm2022/f-draggable/components/f-line-alignment/domain/i-line-alignment-rect.mjs +0 -2
  163. package/esm2022/f-draggable/components/f-line-alignment/domain/i-line-alignment-result.mjs +0 -2
  164. package/esm2022/f-draggable/components/f-line-alignment/domain/i-nearest-coordinate-result.mjs +0 -2
  165. package/esm2022/f-draggable/components/f-line-alignment/domain/index.mjs +0 -7
  166. package/esm2022/f-draggable/components/f-line-alignment/domain/line-element.mjs +0 -23
  167. package/esm2022/f-draggable/components/f-line-alignment/domain/line-service.mjs +0 -33
  168. package/esm2022/f-draggable/components/f-line-alignment/domain/nearest-coordinate.mjs +0 -100
  169. package/esm2022/f-draggable/components/f-line-alignment/f-line-alignment-base.mjs +0 -11
  170. package/esm2022/f-draggable/components/f-line-alignment/f-line-alignment.component.mjs +0 -90
  171. package/esm2022/f-draggable/components/f-line-alignment/index.mjs +0 -4
  172. package/esm2022/f-draggable/components/f-selection-area/domain/i-selection-area-rect.mjs +0 -2
  173. package/esm2022/f-draggable/components/f-selection-area/domain/index.mjs +0 -2
  174. package/esm2022/f-draggable/components/f-selection-area/f-selection-area-base.mjs +0 -11
  175. package/esm2022/f-draggable/components/f-selection-area/f-selection-area.component.mjs +0 -44
  176. package/esm2022/f-draggable/components/f-selection-area/index.mjs +0 -4
  177. package/esm2022/f-draggable/components/index.mjs +0 -4
  178. package/esm2022/f-draggable/connections/create-connection/create-connection.event.mjs +0 -7
  179. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.event.mjs +0 -9
  180. package/esm2022/f-draggable/external-item/create-node.event.mjs +0 -7
  181. package/esm2022/f-draggable/public-api.mjs +0 -14
  182. package/esm2022/f-draggable/single-select/selection-change-event.mjs +0 -7
  183. package/esm2022/f-flow/domain/redraw-connections/redraw-connections.handler.mjs +0 -46
  184. package/f-draggable/components/index.d.ts +0 -3
  185. package/f-draggable/connections/create-connection/create-connection.event.d.ts +0 -5
  186. package/f-draggable/connections/reassign-connection/reassign-connection.event.d.ts +0 -7
  187. /package/{f-draggable/components/f-external-item → f-external-item}/f-external-item-base.d.ts +0 -0
  188. /package/{f-draggable/components/f-external-item → f-external-item}/f-external-item.directive.d.ts +0 -0
  189. /package/{f-draggable/components/f-external-item → f-external-item}/f-external-item.service.d.ts +0 -0
  190. /package/{f-draggable/components/f-external-item → f-external-item}/index.d.ts +0 -0
  191. /package/{f-draggable/components/f-external-item → f-external-item}/is-external-item.d.ts +0 -0
  192. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/i-line-alignment-rect.d.ts +0 -0
  193. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/i-line-alignment-result.d.ts +0 -0
  194. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/i-nearest-coordinate-result.d.ts +0 -0
  195. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/index.d.ts +0 -0
  196. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/line-element.d.ts +0 -0
  197. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/line-service.d.ts +0 -0
  198. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/nearest-coordinate.d.ts +0 -0
  199. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/index.d.ts +0 -0
  200. /package/{f-draggable/components/f-selection-area → f-selection-area}/domain/i-selection-area-rect.d.ts +0 -0
  201. /package/{f-draggable/components/f-selection-area → f-selection-area}/domain/index.d.ts +0 -0
  202. /package/{f-draggable/components/f-selection-area → f-selection-area}/f-selection-area-base.d.ts +0 -0
  203. /package/{f-draggable/components/f-selection-area → f-selection-area}/index.d.ts +0 -0
@@ -0,0 +1,23 @@
1
+ import { DomElementExtensions } from '@foblex/core';
2
+ export class LineElement {
3
+ constructor(hostElement) {
4
+ this.hostElement = hostElement;
5
+ this.element = DomElementExtensions.createHtmlElement('div');
6
+ this.hostElement.appendChild(this.element);
7
+ this.element.classList.add('f-line');
8
+ }
9
+ hide() {
10
+ this.element.style.display = 'none';
11
+ }
12
+ show() {
13
+ this.element.style.display = 'block';
14
+ }
15
+ draw(object) {
16
+ this.element.style.position = 'absolute';
17
+ Object.keys(object).forEach((key) => {
18
+ // @ts-ignore
19
+ this.element.style[key] = object[key] + 'px';
20
+ });
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1lbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWxpbmUtYWxpZ25tZW50L2RvbWFpbi9saW5lLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3BELE1BQU0sT0FBTyxXQUFXO0lBSXRCLFlBQ3FCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSDVCLFlBQU8sR0FBZ0Isb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFLcEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO0lBQ3RDLENBQUM7SUFFTSxJQUFJLENBQUMsTUFBbUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQzFDLGFBQWE7WUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBRSxHQUFHLENBQUUsR0FBRyxNQUFNLENBQUUsR0FBRyxDQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG9tRWxlbWVudEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSUxpbmVBbGlnbm1lbnRSZWN0IH0gZnJvbSAnLi9pLWxpbmUtYWxpZ25tZW50LXJlY3QnO1xuXG5leHBvcnQgY2xhc3MgTGluZUVsZW1lbnQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudDogSFRNTEVsZW1lbnQgPSBEb21FbGVtZW50RXh0ZW5zaW9ucy5jcmVhdGVIdG1sRWxlbWVudCgnZGl2Jyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgKSB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQpO1xuICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmLWxpbmUnKTtcbiAgfVxuXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9XG5cbiAgcHVibGljIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG4gIH1cblxuICBwdWJsaWMgZHJhdyhvYmplY3Q6IFBhcnRpYWw8SUxpbmVBbGlnbm1lbnRSZWN0Pik6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgT2JqZWN0LmtleXMob2JqZWN0KS5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgdGhpcy5lbGVtZW50LnN0eWxlWyBrZXkgXSA9IG9iamVjdFsga2V5IF0gKyAncHgnO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { LineElement } from './line-element';
2
+ export class LineService {
3
+ constructor(hostElement) {
4
+ this.hostElement = hostElement;
5
+ this.fHorizontalLine = new LineElement(this.hostElement);
6
+ this.fVerticalLine = new LineElement(this.hostElement);
7
+ }
8
+ drawVerticalLine(x, size, transform) {
9
+ this.fVerticalLine.show();
10
+ this.fVerticalLine.draw({
11
+ left: x * transform.scale + transform.position.x + transform.scaledPosition.x,
12
+ top: 0,
13
+ width: 1,
14
+ height: size.height
15
+ });
16
+ }
17
+ drawHorizontalLine(y, size, transform) {
18
+ this.fHorizontalLine.show();
19
+ this.fHorizontalLine.draw({
20
+ left: 0,
21
+ top: y * transform.scale + transform.position.y + transform.scaledPosition.y,
22
+ width: size.width,
23
+ height: 1
24
+ });
25
+ }
26
+ hideVerticalLine() {
27
+ this.fVerticalLine.hide();
28
+ }
29
+ hideHorizontalLine() {
30
+ this.fHorizontalLine.hide();
31
+ }
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWxpbmUtYWxpZ25tZW50L2RvbWFpbi9saW5lLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sT0FBTyxXQUFXO0lBS3RCLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxDQUFTLEVBQUUsSUFBVyxFQUFFLFNBQTBCO1FBQ3hFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM3RSxHQUFHLEVBQUUsQ0FBQztZQUNOLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxDQUFTLEVBQUUsSUFBVyxFQUFFLFNBQTBCO1FBQzFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxFQUFFLENBQUM7WUFDUCxHQUFHLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzVFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVNpemUsIElUcmFuc2Zvcm1Nb2RlbCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBMaW5lRWxlbWVudCB9IGZyb20gJy4vbGluZS1lbGVtZW50JztcblxuZXhwb3J0IGNsYXNzIExpbmVTZXJ2aWNlIHtcblxuICBwcml2YXRlIGZIb3Jpem9udGFsTGluZTogTGluZUVsZW1lbnQ7XG4gIHByaXZhdGUgZlZlcnRpY2FsTGluZTogTGluZUVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLmZIb3Jpem9udGFsTGluZSA9IG5ldyBMaW5lRWxlbWVudCh0aGlzLmhvc3RFbGVtZW50KTtcbiAgICB0aGlzLmZWZXJ0aWNhbExpbmUgPSBuZXcgTGluZUVsZW1lbnQodGhpcy5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgZHJhd1ZlcnRpY2FsTGluZSh4OiBudW1iZXIsIHNpemU6IElTaXplLCB0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuZlZlcnRpY2FsTGluZS5zaG93KCk7XG4gICAgdGhpcy5mVmVydGljYWxMaW5lLmRyYXcoe1xuICAgICAgbGVmdDogeCAqIHRyYW5zZm9ybS5zY2FsZSArIHRyYW5zZm9ybS5wb3NpdGlvbi54ICsgdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLngsXG4gICAgICB0b3A6IDAsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIGhlaWdodDogc2l6ZS5oZWlnaHRcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkcmF3SG9yaXpvbnRhbExpbmUoeTogbnVtYmVyLCBzaXplOiBJU2l6ZSwgdHJhbnNmb3JtOiBJVHJhbnNmb3JtTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLmZIb3Jpem9udGFsTGluZS5zaG93KCk7XG4gICAgdGhpcy5mSG9yaXpvbnRhbExpbmUuZHJhdyh7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgdG9wOiB5ICogdHJhbnNmb3JtLnNjYWxlICsgdHJhbnNmb3JtLnBvc2l0aW9uLnkgKyB0cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueSxcbiAgICAgIHdpZHRoOiBzaXplLndpZHRoLFxuICAgICAgaGVpZ2h0OiAxXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGlkZVZlcnRpY2FsTGluZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZWZXJ0aWNhbExpbmUuaGlkZSgpO1xuICB9XG5cbiAgcHVibGljIGhpZGVIb3Jpem9udGFsTGluZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZIb3Jpem9udGFsTGluZS5oaWRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,100 @@
1
+ const ALIGN_THRESHOLD = 10;
2
+ /**
3
+ * A class to find the nearest coordinate.
4
+ */
5
+ export class NearestCoordinateFinder {
6
+ /**
7
+ * Constructor to initialize the NearestCoordinateFinder.
8
+ * @param elements - The array of IRect elements.
9
+ * @param target - The target IRect element.
10
+ */
11
+ constructor(elements, target) {
12
+ this.elements = elements;
13
+ this.target = target;
14
+ }
15
+ /**
16
+ * Finds the nearest coordinate on a specified axis.
17
+ * @returns The nearest coordinate and its distance.
18
+ */
19
+ findNearestCoordinateByX() {
20
+ let nearest;
21
+ let minDistance;
22
+ for (const element of this.elements) {
23
+ const distanceLeftLeft = this.target.x - element.x;
24
+ const distanceLeftRight = this.target.x - (element.x + element.width);
25
+ const distanceCenterCenter = this.target.gravityCenter.x - element.gravityCenter.x;
26
+ const distanceRightLeft = (this.target.x + this.target.width) - element.x;
27
+ const distanceRightRight = (this.target.x + this.target.width) - (element.x + element.width);
28
+ if (Math.abs(distanceLeftLeft) <= ALIGN_THRESHOLD ||
29
+ Math.abs(distanceLeftRight) <= ALIGN_THRESHOLD ||
30
+ Math.abs(distanceCenterCenter) <= ALIGN_THRESHOLD ||
31
+ Math.abs(distanceRightLeft) <= ALIGN_THRESHOLD ||
32
+ Math.abs(distanceRightRight) <= ALIGN_THRESHOLD) {
33
+ if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
34
+ minDistance = distanceCenterCenter;
35
+ nearest = element.gravityCenter.x;
36
+ }
37
+ if (Math.abs(distanceLeftLeft) < Math.abs(minDistance)) {
38
+ minDistance = distanceLeftLeft;
39
+ nearest = element.x;
40
+ }
41
+ if (Math.abs(distanceRightRight) < Math.abs(minDistance)) {
42
+ minDistance = distanceRightRight;
43
+ nearest = element.x + element.width;
44
+ }
45
+ if (Math.abs(distanceLeftRight) < Math.abs(minDistance)) {
46
+ minDistance = distanceLeftRight;
47
+ nearest = element.x + element.width;
48
+ }
49
+ if (Math.abs(distanceRightLeft) < Math.abs(minDistance)) {
50
+ minDistance = distanceRightLeft;
51
+ nearest = element.x;
52
+ }
53
+ }
54
+ }
55
+ return { value: nearest, distance: minDistance };
56
+ }
57
+ /**
58
+ * Finds the nearest coordinate on a specified axis.
59
+ * @returns The nearest coordinate and its distance.
60
+ */
61
+ findNearestCoordinateByY() {
62
+ let nearest;
63
+ let minDistance;
64
+ for (const element of this.elements) {
65
+ const distanceTopTop = this.target.y - element.y;
66
+ const distanceTopBottom = this.target.y - (element.y + element.height);
67
+ const distanceCenterCenter = this.target.gravityCenter.y - element.gravityCenter.y;
68
+ const distanceBottomTop = (this.target.y + this.target.height) - element.y;
69
+ const distanceBottomBottom = (this.target.y + this.target.height) - (element.y + element.height);
70
+ if (Math.abs(distanceTopTop) <= ALIGN_THRESHOLD ||
71
+ Math.abs(distanceTopBottom) <= ALIGN_THRESHOLD ||
72
+ Math.abs(distanceCenterCenter) <= ALIGN_THRESHOLD ||
73
+ Math.abs(distanceBottomTop) <= ALIGN_THRESHOLD ||
74
+ Math.abs(distanceBottomBottom) <= ALIGN_THRESHOLD) {
75
+ if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
76
+ minDistance = distanceCenterCenter;
77
+ nearest = element.gravityCenter.y;
78
+ }
79
+ if (Math.abs(distanceTopTop) < Math.abs(minDistance)) {
80
+ minDistance = distanceTopTop;
81
+ nearest = element.y;
82
+ }
83
+ if (Math.abs(distanceBottomBottom) < Math.abs(minDistance)) {
84
+ minDistance = distanceBottomBottom;
85
+ nearest = element.y + element.height;
86
+ }
87
+ if (Math.abs(distanceTopBottom) < Math.abs(minDistance)) {
88
+ minDistance = distanceTopBottom;
89
+ nearest = element.y + element.height;
90
+ }
91
+ if (Math.abs(distanceBottomTop) < Math.abs(minDistance)) {
92
+ minDistance = distanceBottomTop;
93
+ nearest = element.y;
94
+ }
95
+ }
96
+ }
97
+ return { value: nearest, distance: minDistance };
98
+ }
99
+ }
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVhcmVzdC1jb29yZGluYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWxpbmUtYWxpZ25tZW50L2RvbWFpbi9uZWFyZXN0LWNvb3JkaW5hdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO0FBRTNCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQU1sQzs7OztPQUlHO0lBQ0gsWUFBWSxRQUFpQixFQUFFLE1BQWE7UUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLHdCQUF3QjtRQUM3QixJQUFJLE9BQTJCLENBQUM7UUFDaEMsSUFBSSxXQUErQixDQUFDO1FBRXBDLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNuQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbkQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ25GLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDMUUsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQUksQ0FBQyxN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SUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtvQkFDdkQsV0FBVyxHQUFHLGlCQUFpQixDQUFDO29CQUNoQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO2lCQUN0QztnQkFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO29CQUN2RCxXQUFXLEdBQUcsaUJBQWlCLENBQUM7b0JBQ2hDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO2lCQUNyQjthQUNGO1NBQ0Y7UUFFRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSU5lYXJlc3RDb29yZGluYXRlUmVzdWx0IH0gZnJvbSAnLi9pLW5lYXJlc3QtY29vcmRpbmF0ZS1yZXN1bHQnO1xuXG5jb25zdCBBTElHTl9USFJFU0hPTEQgPSAxMDtcblxuLyoqXG4gKiBBIGNsYXNzIHRvIGZpbmQgdGhlIG5lYXJlc3QgY29vcmRpbmF0ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE5lYXJlc3RDb29yZGluYXRlRmluZGVyIHtcblxuXG4gIHByaXZhdGUgZWxlbWVudHM6IElSZWN0W107XG4gIHByaXZhdGUgdGFyZ2V0OiBJUmVjdDtcblxuICAvKipcbiAgICogQ29uc3RydWN0b3IgdG8gaW5pdGlhbGl6ZSB0aGUgTmVhcmVzdENvb3JkaW5hdGVGaW5kZXIuXG4gICAqIEBwYXJhbSBlbGVtZW50cyAtIFRoZSBhcnJheSBvZiBJUmVjdCBlbGVtZW50cy5cbiAgICogQHBhcmFtIHRhcmdldCAtIFRoZSB0YXJnZXQgSVJlY3QgZWxlbWVudC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRzOiBJUmVjdFtdLCB0YXJnZXQ6IElSZWN0KSB7XG4gICAgdGhpcy5lbGVtZW50cyA9IGVsZW1lbnRzO1xuICAgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0O1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBuZWFyZXN0IGNvb3JkaW5hdGUgb24gYSBzcGVjaWZpZWQgYXhpcy5cbiAgICogQHJldHVybnMgVGhlIG5lYXJlc3QgY29vcmRpbmF0ZSBhbmQgaXRzIGRpc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGZpbmROZWFyZXN0Q29vcmRpbmF0ZUJ5WCgpOiBJTmVhcmVzdENvb3JkaW5hdGVSZXN1bHQge1xuICAgIGxldCBuZWFyZXN0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgbGV0IG1pbkRpc3RhbmNlOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdGhpcy5lbGVtZW50cykge1xuICAgICAgY29uc3QgZGlzdGFuY2VMZWZ0TGVmdCA9IHRoaXMudGFyZ2V0LnggLSBlbGVtZW50Lng7XG4gICAgICBjb25zdCBkaXN0YW5jZUxlZnRSaWdodCA9IHRoaXMudGFyZ2V0LnggLSAoZWxlbWVudC54ICsgZWxlbWVudC53aWR0aCk7XG4gICAgICBjb25zdCBkaXN0YW5jZUNlbnRlckNlbnRlciA9IHRoaXMudGFyZ2V0LmdyYXZpdHlDZW50ZXIueCAtIGVsZW1lbnQuZ3Jhdml0eUNlbnRlci54O1xuICAgICAgY29uc3QgZGlzdGFuY2VSaWdodExlZnQgPSAodGhpcy50YXJnZXQueCArIHRoaXMudGFyZ2V0LndpZHRoKSAtIGVsZW1lbnQueDtcbiAgICAgIGNvbnN0IGRpc3RhbmNlUmlnaHRSaWdodCA9ICh0aGlzLnRhcmdldC54ICsgdGhpcy50YXJnZXQud2lkdGgpIC0gKGVsZW1lbnQueCArIGVsZW1lbnQud2lkdGgpO1xuXG4gICAgICBpZiAoXG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VMZWZ0TGVmdCkgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VMZWZ0UmlnaHQpIDw9IEFMSUdOX1RIUkVTSE9MRCB8fFxuICAgICAgICAgIE1hdGguYWJzKGRpc3RhbmNlQ2VudGVyQ2VudGVyKSA8PSBBTElHTl9USFJFU0hPTEQgfHxcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVJpZ2h0TGVmdCkgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VSaWdodFJpZ2h0KSA8PSBBTElHTl9USFJFU0hPTERcbiAgICAgICkge1xuICAgICAgICBpZiAobWluRGlzdGFuY2UgPT09IHVuZGVmaW5lZCB8fCBNYXRoLmFicyhkaXN0YW5jZUNlbnRlckNlbnRlcikgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlQ2VudGVyQ2VudGVyO1xuICAgICAgICAgIG5lYXJlc3QgPSBlbGVtZW50LmdyYXZpdHlDZW50ZXIueDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2VMZWZ0TGVmdCkgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlTGVmdExlZnQ7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2VSaWdodFJpZ2h0KSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VSaWdodFJpZ2h0O1xuICAgICAgICAgIG5lYXJlc3QgPSBlbGVtZW50LnggKyBlbGVtZW50LndpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZUxlZnRSaWdodCkgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlTGVmdFJpZ2h0O1xuICAgICAgICAgIG5lYXJlc3QgPSBlbGVtZW50LnggKyBlbGVtZW50LndpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZVJpZ2h0TGVmdCkgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlUmlnaHRMZWZ0O1xuICAgICAgICAgIG5lYXJlc3QgPSBlbGVtZW50Lng7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgdmFsdWU6IG5lYXJlc3QsIGRpc3RhbmNlOiBtaW5EaXN0YW5jZSB9O1xuICB9XG5cblxuICAvKipcbiAgICogRmluZHMgdGhlIG5lYXJlc3QgY29vcmRpbmF0ZSBvbiBhIHNwZWNpZmllZCBheGlzLlxuICAgKiBAcmV0dXJucyBUaGUgbmVhcmVzdCBjb29yZGluYXRlIGFuZCBpdHMgZGlzdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgZmluZE5lYXJlc3RDb29yZGluYXRlQnlZKCk6IElOZWFyZXN0Q29vcmRpbmF0ZVJlc3VsdCB7XG4gICAgbGV0IG5lYXJlc3Q6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBsZXQgbWluRGlzdGFuY2U6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB0aGlzLmVsZW1lbnRzKSB7XG4gICAgICBjb25zdCBkaXN0YW5jZVRvcFRvcCA9IHRoaXMudGFyZ2V0LnkgLSBlbGVtZW50Lnk7XG4gICAgICBjb25zdCBkaXN0YW5jZVRvcEJvdHRvbSA9IHRoaXMudGFyZ2V0LnkgLSAoZWxlbWVudC55ICsgZWxlbWVudC5oZWlnaHQpO1xuICAgICAgY29uc3QgZGlzdGFuY2VDZW50ZXJDZW50ZXIgPSB0aGlzLnRhcmdldC5ncmF2aXR5Q2VudGVyLnkgLSBlbGVtZW50LmdyYXZpdHlDZW50ZXIueTtcbiAgICAgIGNvbnN0IGRpc3RhbmNlQm90dG9tVG9wID0gKHRoaXMudGFyZ2V0LnkgKyB0aGlzLnRhcmdldC5oZWlnaHQpIC0gZWxlbWVudC55O1xuICAgICAgY29uc3QgZGlzdGFuY2VCb3R0b21Cb3R0b20gPSAodGhpcy50YXJnZXQueSArIHRoaXMudGFyZ2V0LmhlaWdodCkgLSAoZWxlbWVudC55ICsgZWxlbWVudC5oZWlnaHQpO1xuXG4gICAgICBpZiAoXG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VUb3BUb3ApIDw9IEFMSUdOX1RIUkVTSE9MRCB8fFxuICAgICAgICAgIE1hdGguYWJzKGRpc3RhbmNlVG9wQm90dG9tKSA8PSBBTElHTl9USFJFU0hPTEQgfHxcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZUNlbnRlckNlbnRlcikgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VCb3R0b21Ub3ApIDw9IEFMSUdOX1RIUkVTSE9MRCB8fFxuICAgICAgICAgIE1hdGguYWJzKGRpc3RhbmNlQm90dG9tQm90dG9tKSA8PSBBTElHTl9USFJFU0hPTERcbiAgICAgICkge1xuICAgICAgICBpZiAobWluRGlzdGFuY2UgPT09IHVuZGVmaW5lZCB8fCBNYXRoLmFicyhkaXN0YW5jZUNlbnRlckNlbnRlcikgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlQ2VudGVyQ2VudGVyO1xuICAgICAgICAgIG5lYXJlc3QgPSBlbGVtZW50LmdyYXZpdHlDZW50ZXIueTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2VUb3BUb3ApIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZVRvcFRvcDtcbiAgICAgICAgICBuZWFyZXN0ID0gZWxlbWVudC55O1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZUJvdHRvbUJvdHRvbSkgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlQm90dG9tQm90dG9tO1xuICAgICAgICAgIG5lYXJlc3QgPSBlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2VUb3BCb3R0b20pIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZVRvcEJvdHRvbTtcbiAgICAgICAgICBuZWFyZXN0ID0gZWxlbWVudC55ICsgZWxlbWVudC5oZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlQm90dG9tVG9wKSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VCb3R0b21Ub3A7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IHZhbHVlOiBuZWFyZXN0LCBkaXN0YW5jZTogbWluRGlzdGFuY2UgfTtcbiAgfVxufVxuXG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { Directive, InjectionToken } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export const F_LINE_ALIGNMENT = new InjectionToken('F_LINE_ALIGNMENT');
4
+ export class FLineAlignmentBase {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FLineAlignmentBase, ngImport: i0 }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentBase, decorators: [{
9
+ type: Directive
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWxpbmUtYWxpZ25tZW50L2YtbGluZS1hbGlnbm1lbnQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJMUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQXFCLGtCQUFrQixDQUFDLENBQUM7QUFHM0YsTUFBTSxPQUFnQixrQkFBa0I7OEdBQWxCLGtCQUFrQjtrR0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUR2QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50LCBJUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUxpbmVBbGlnbm1lbnRSZXN1bHQgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi9mLW5vZGUnO1xuXG5leHBvcnQgY29uc3QgRl9MSU5FX0FMSUdOTUVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGTGluZUFsaWdubWVudEJhc2U+KCdGX0xJTkVfQUxJR05NRU5UJyk7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZMaW5lQWxpZ25tZW50QmFzZSBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGluaXRpYWxpemUoYWxsTm9kZXM6IEZOb2RlQmFzZVtdLCBjdXJyZW50Tm9kZXM6IEZOb2RlQmFzZVtdKTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZmluZE5lYXJlc3RDb29yZGluYXRlKGRpZmZlcmVuY2U6IElQb2ludCk6IElMaW5lQWxpZ25tZW50UmVzdWx0O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBoYW5kbGUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgY29tcGxldGUoKTogdm9pZDtcbn1cbiJdfQ==
@@ -0,0 +1,90 @@
1
+ import { Component } from '@angular/core';
2
+ import { RectExtensions, SizeExtensions } from '@foblex/core';
3
+ import { LineService, NearestCoordinateFinder } from './domain';
4
+ import { F_LINE_ALIGNMENT, FLineAlignmentBase } from './f-line-alignment-base';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../f-components-store";
7
+ import * as i2 from "../f-draggable";
8
+ import * as i3 from "../domain";
9
+ export class FLineAlignmentComponent extends FLineAlignmentBase {
10
+ get hostElement() {
11
+ return this.elementReference.nativeElement;
12
+ }
13
+ get transform() {
14
+ return this.fComponentsStore.fCanvas.transform;
15
+ }
16
+ get flowHost() {
17
+ return this.fComponentsStore.fFlow.hostElement;
18
+ }
19
+ constructor(elementReference, fComponentsStore, fDraggableDataContext, getElementRectInFlowHandler) {
20
+ super();
21
+ this.elementReference = elementReference;
22
+ this.fComponentsStore = fComponentsStore;
23
+ this.fDraggableDataContext = fDraggableDataContext;
24
+ this.getElementRectInFlowHandler = getElementRectInFlowHandler;
25
+ this.size = SizeExtensions.initialize();
26
+ this.draggedNodeRect = RectExtensions.initialize();
27
+ this.rects = [];
28
+ this.lineService = new LineService(this.hostElement);
29
+ }
30
+ ngOnInit() {
31
+ this.fDraggableDataContext.fLineAlignment = this;
32
+ }
33
+ initialize(allNodes, currentNodes) {
34
+ this.size = this.flowHost.getBoundingClientRect();
35
+ this.rects = [];
36
+ const draggedNodeRects = currentNodes.map((x) => {
37
+ return this.getElementRectInFlowHandler.handle(x.hostElement);
38
+ });
39
+ this.draggedNodeRect = RectExtensions.union(draggedNodeRects);
40
+ const allNodesExcludeCurrents = allNodes.filter((x) => {
41
+ return !currentNodes.includes(x);
42
+ });
43
+ this.rects = allNodesExcludeCurrents.map((x) => {
44
+ return this.getElementRectInFlowHandler.handle(x.hostElement);
45
+ });
46
+ }
47
+ handle(difference) {
48
+ this.drawIntersectingLines(difference);
49
+ }
50
+ drawIntersectingLines(difference) {
51
+ const intersect = this.findNearestCoordinate(difference);
52
+ if (intersect.xResult.value !== undefined) {
53
+ this.lineService.drawVerticalLine(intersect.xResult.value, this.size, this.transform);
54
+ }
55
+ else {
56
+ this.lineService.hideVerticalLine();
57
+ }
58
+ if (intersect.yResult.value !== undefined) {
59
+ this.lineService.drawHorizontalLine(intersect.yResult.value, this.size, this.transform);
60
+ }
61
+ else {
62
+ this.lineService.hideHorizontalLine();
63
+ }
64
+ }
65
+ findNearestCoordinate(difference) {
66
+ const rect = RectExtensions.addPoint(this.draggedNodeRect, difference);
67
+ const finder = new NearestCoordinateFinder(this.rects, rect);
68
+ const xResult = finder.findNearestCoordinateByX();
69
+ const yResult = finder.findNearestCoordinateByY();
70
+ const result = { xResult, yResult };
71
+ return result;
72
+ }
73
+ complete() {
74
+ this.lineService.hideVerticalLine();
75
+ this.lineService.hideHorizontalLine();
76
+ }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentComponent, deps: [{ token: i0.ElementRef }, { token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.GetElementRectInFlowHandler }], target: i0.ɵɵFactoryTarget.Component }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: FLineAlignmentComponent, selector: "f-line-alignment", host: { classAttribute: "f-line-alignment f-component" }, providers: [
79
+ { provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentComponent }
80
+ ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "", isInline: true, styles: [":host{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}\n"] }); }
81
+ }
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentComponent, decorators: [{
83
+ type: Component,
84
+ args: [{ selector: "f-line-alignment", template: "", exportAs: "fComponent", host: {
85
+ 'class': 'f-line-alignment f-component'
86
+ }, providers: [
87
+ { provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentComponent }
88
+ ], styles: [":host{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}\n"] }]
89
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.GetElementRectInFlowHandler }] });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbGluZS1hbGlnbm1lbnQvZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUF5QyxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JHLE9BQU8sRUFBd0IsV0FBVyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQWtCL0UsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGtCQUFrQjtJQUU3RCxJQUFvQixXQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBVUQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUNZLGdCQUF5QyxFQUN6QyxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLDJCQUF3RDtRQUVsRSxLQUFLLEVBQUUsQ0FBQztRQUxFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7UUFsQjVELFNBQUksR0FBVSxjQUFjLENBQUMsVUFBVSxFQUFFLENB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T0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVlLFFBQVE7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzhHQXBGVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixxR0FKdkI7WUFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUU7U0FDcEUsMkVBUlMsRUFBRTs7MkZBVUQsdUJBQXVCO2tCQVpuQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixFQUFFLFlBRUYsWUFBWSxRQUNoQjt3QkFDSixPQUFPLEVBQUUsOEJBQThCO3FCQUN4QyxhQUNVO3dCQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7cUJBQ3BFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIElTaXplLCBJVHJhbnNmb3JtTW9kZWwsIFJlY3RFeHRlbnNpb25zLCBTaXplRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJTGluZUFsaWdubWVudFJlc3VsdCwgTGluZVNlcnZpY2UsIE5lYXJlc3RDb29yZGluYXRlRmluZGVyIH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgRl9MSU5FX0FMSUdOTUVOVCwgRkxpbmVBbGlnbm1lbnRCYXNlIH0gZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50LWJhc2UnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBHZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIgfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vZi1ub2RlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtbGluZS1hbGlnbm1lbnRcIixcbiAgdGVtcGxhdGU6IFwiXCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuc2Nzc1wiIF0sXG4gIGV4cG9ydEFzOiBcImZDb21wb25lbnRcIixcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWxpbmUtYWxpZ25tZW50IGYtY29tcG9uZW50J1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfTElORV9BTElHTk1FTlQsIHVzZUV4aXN0aW5nOiBGTGluZUFsaWdubWVudENvbXBvbmVudCB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZMaW5lQWxpZ25tZW50Q29tcG9uZW50IGV4dGVuZHMgRkxpbmVBbGlnbm1lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGxpbmVTZXJ2aWNlOiBMaW5lU2VydmljZTtcblxuICBwcml2YXRlIHNpemU6IElTaXplID0gU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgZHJhZ2dlZE5vZGVSZWN0OiBJUmVjdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcml2YXRlIHJlY3RzOiBJUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgICAgcHJpdmF0ZSBnZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXI6IEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlclxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubGluZVNlcnZpY2UgPSBuZXcgTGluZVNlcnZpY2UodGhpcy5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZkxpbmVBbGlnbm1lbnQgPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGluaXRpYWxpemUoYWxsTm9kZXM6IEZOb2RlQmFzZVtdLCBjdXJyZW50Tm9kZXM6IEZOb2RlQmFzZVtdKTogdm9pZCB7XG4gICAgdGhpcy5zaXplID0gdGhpcy5mbG93SG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLnJlY3RzID0gW107XG4gICAgY29uc3QgZHJhZ2dlZE5vZGVSZWN0cyA9IGN1cnJlbnROb2Rlcy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUoeC5ob3N0RWxlbWVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5kcmFnZ2VkTm9kZVJlY3QgPSBSZWN0RXh0ZW5zaW9ucy51bmlvbihkcmFnZ2VkTm9kZVJlY3RzKTtcblxuICAgIGNvbnN0IGFsbE5vZGVzRXhjbHVkZUN1cnJlbnRzID0gYWxsTm9kZXMuZmlsdGVyKCh4KSA9PiB7XG4gICAgICByZXR1cm4gIWN1cnJlbnROb2Rlcy5pbmNsdWRlcyh4KTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVjdHMgPSBhbGxOb2Rlc0V4Y2x1ZGVDdXJyZW50cy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUoeC5ob3N0RWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaGFuZGxlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuZHJhd0ludGVyc2VjdGluZ0xpbmVzKGRpZmZlcmVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3SW50ZXJzZWN0aW5nTGluZXMoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgaW50ZXJzZWN0ID0gdGhpcy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gICAgaWYgKGludGVyc2VjdC54UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZHJhd1ZlcnRpY2FsTGluZShpbnRlcnNlY3QueFJlc3VsdC52YWx1ZSwgdGhpcy5zaXplLCB0aGlzLnRyYW5zZm9ybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIH1cbiAgICBpZiAoaW50ZXJzZWN0LnlSZXN1bHQudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5saW5lU2VydmljZS5kcmF3SG9yaXpvbnRhbExpbmUoaW50ZXJzZWN0LnlSZXN1bHQudmFsdWUsIHRoaXMuc2l6ZSwgdGhpcy50cmFuc2Zvcm0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmhpZGVIb3Jpem9udGFsTGluZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmVBbGlnbm1lbnRSZXN1bHQge1xuICAgIGNvbnN0IHJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5hZGRQb2ludCh0aGlzLmRyYWdnZWROb2RlUmVjdCwgZGlmZmVyZW5jZSk7XG4gICAgY29uc3QgZmluZGVyID0gbmV3IE5lYXJlc3RDb29yZGluYXRlRmluZGVyKHRoaXMucmVjdHMsIHJlY3QpO1xuICAgIGNvbnN0IHhSZXN1bHQgPSBmaW5kZXIuZmluZE5lYXJlc3RDb29yZGluYXRlQnlYKCk7XG4gICAgY29uc3QgeVJlc3VsdCA9IGZpbmRlci5maW5kTmVhcmVzdENvb3JkaW5hdGVCeVkoKTtcblxuICAgIGNvbnN0IHJlc3VsdDogSUxpbmVBbGlnbm1lbnRSZXN1bHQgPSB7IHhSZXN1bHQsIHlSZXN1bHQgfTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZUhvcml6b250YWxMaW5lKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './domain';
2
+ export * from './f-line-alignment.component';
3
+ export * from './f-line-alignment-base';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbGluZS1hbGlnbm1lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kb21haW4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtbGluZS1hbGlnbm1lbnQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50LWJhc2UnO1xuIl19
@@ -0,0 +1,24 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FFlowMediator {
4
+ constructor(injector) {
5
+ this.injector = injector;
6
+ }
7
+ static { this.handlers = new Map(); }
8
+ static register(type, handler) {
9
+ this.handlers.set(type.name, handler);
10
+ }
11
+ send(request) {
12
+ const handler = FFlowMediator.handlers.get(request.constructor.name);
13
+ if (!handler) {
14
+ throw new Error('Handler not registered for request type.');
15
+ }
16
+ return this.injector.get(handler).handle(request);
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FFlowMediator, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
19
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FFlowMediator }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FFlowMediator, decorators: [{
22
+ type: Injectable
23
+ }], ctorParameters: () => [{ type: i0.Injector }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93LW1lZGlhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLW1lZGlhdG9yL2YtZmxvdy1tZWRpYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFrQixNQUFNLGVBQWUsQ0FBQzs7QUFJM0QsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFDWSxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRTlCLENBQUM7YUFFYyxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQW9DLEFBQTlDLENBQStDO0lBRS9ELE1BQU0sQ0FBQyxRQUFRLENBQ2xCLElBQW9CLEVBQ3BCLE9BQTRDO1FBRTlDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLElBQUksQ0FBWSxPQUFZO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztTQUM3RDtRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7OEdBdEJVLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGRmxvd01lZGlhdG9yIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGhhbmRsZXJzID0gbmV3IE1hcDxzdHJpbmcsIFR5cGU8SUhhbmRsZXI8YW55LCBhbnk+Pj4oKTtcblxuICBwdWJsaWMgc3RhdGljIHJlZ2lzdGVyPFRSZXF1ZXN0LCBUUmVzcG9uc2U+KFxuICAgICAgdHlwZTogVHlwZTxUUmVxdWVzdD4sXG4gICAgICBoYW5kbGVyOiBUeXBlPElIYW5kbGVyPFRSZXF1ZXN0LCBUUmVzcG9uc2U+PlxuICApOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZXJzLnNldCh0eXBlLm5hbWUsIGhhbmRsZXIpO1xuICB9XG5cbiAgcHVibGljIHNlbmQ8VFJlc3BvbnNlPihyZXF1ZXN0OiBhbnkpOiBUUmVzcG9uc2Uge1xuICAgIGNvbnN0IGhhbmRsZXIgPSBGRmxvd01lZGlhdG9yLmhhbmRsZXJzLmdldChyZXF1ZXN0LmNvbnN0cnVjdG9yLm5hbWUpO1xuICAgIGlmICghaGFuZGxlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdIYW5kbGVyIG5vdCByZWdpc3RlcmVkIGZvciByZXF1ZXN0IHR5cGUuJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChoYW5kbGVyKS5oYW5kbGUocmVxdWVzdCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { FFlowMediator } from './f-flow-mediator';
2
+ export function FHandlerRegister(requestType) {
3
+ return function (constructor) {
4
+ FFlowMediator.register(requestType, constructor);
5
+ };
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1oYW5kbGVyLXJlZ2lzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLW1lZGlhdG9yL2YtaGFuZGxlci1yZWdpc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFLbEQsTUFBTSxVQUFVLGdCQUFnQixDQUFzQixXQUEyQjtJQUMvRSxPQUFPLFVBQVUsV0FBdUQ7UUFDdEUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZGbG93TWVkaWF0b3IgfSBmcm9tICcuL2YtZmxvdy1tZWRpYXRvcic7XG5pbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5cbnR5cGUgQ29uc3RydWN0b3I8VCA9IGFueT4gPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xuXG5leHBvcnQgZnVuY3Rpb24gRkhhbmRsZXJSZWdpc3RlcjxUUmVxdWVzdCwgVFJlc3BvbnNlPihyZXF1ZXN0VHlwZTogVHlwZTxUUmVxdWVzdD4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChjb25zdHJ1Y3RvcjogQ29uc3RydWN0b3I8SUhhbmRsZXI8VFJlcXVlc3QsIFRSZXNwb25zZT4+KSB7XG4gICAgRkZsb3dNZWRpYXRvci5yZWdpc3RlcihyZXF1ZXN0VHlwZSwgY29uc3RydWN0b3IpO1xuICB9O1xufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './f-flow-mediator';
2
+ export * from './f-handler-register';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbWVkaWF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLWZsb3ctbWVkaWF0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtaGFuZGxlci1yZWdpc3Rlcic7XG4iXX0=
@@ -71,7 +71,7 @@ export class FNodeDirective extends FNodeBase {
71
71
  this.subscriptions$.unsubscribe();
72
72
  }
73
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive }); }
74
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FNodeDirective, selector: "[fNode]", inputs: { fNodeId: "fNodeId", position: ["fNodePosition", "position"], disabled: "disabled" }, outputs: { positionChange: "fNodePositionChange" }, host: { properties: { "attr.id": "fNodeId", "class.f-node-disabled": "disabled" }, classAttribute: "f-node f-component" }, providers: [
74
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FNodeDirective, selector: "[fNode]", inputs: { fNodeId: "fNodeId", position: ["fNodePosition", "position"], disabled: "disabled" }, outputs: { positionChange: "fNodePositionChange" }, host: { properties: { "attr.data-f-node-id": "fNodeId", "class.f-node-disabled": "disabled" }, classAttribute: "f-node f-component" }, providers: [
75
75
  { provide: F_NODE, useExisting: FNodeDirective }
76
76
  ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 }); }
77
77
  }
@@ -81,7 +81,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
81
81
  selector: "[fNode]",
82
82
  exportAs: "fComponent",
83
83
  host: {
84
- '[attr.id]': 'fNodeId',
84
+ '[attr.data-f-node-id]': 'fNodeId',
85
85
  class: "f-node f-component",
86
86
  '[class.f-node-disabled]': 'disabled'
87
87
  },
@@ -100,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
100
100
  }], disabled: [{
101
101
  type: Input
102
102
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1ub2RlL2Ytbm9kZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTJCLGVBQWUsRUFBYyxNQUFNLGNBQWMsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUNMLHdDQUF3QyxFQUN4Qyx3Q0FBd0MsRUFFekMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRXpCLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWN6QixNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQVM7SUFPM0MsSUFDb0IsUUFBUSxDQUFDLEtBQWlCO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELElBQW9CLFFBQVE7UUFDMUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFRRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFJRCxZQUNZLGdCQUF5QyxFQUN6QyxRQUFtQixFQUNuQixnQkFBa0M7UUFFNUMsS0FBSyxFQUFFLENBQUM7UUFKRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ3pDLGFBQVEsR0FB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LEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUU7U0FDakQ7OzJGQUVVLGNBQWM7a0JBWjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSxZQUFZO29CQUN0QixJQUFJLEVBQUU7d0JBQ0osV0FBVyxFQUFFLFNBQVM7d0JBQ3RCLEtBQUssRUFBRSxvQkFBb0I7d0JBQzNCLHlCQUF5QixFQUFFLFVBQVU7cUJBQ3RDO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRTtxQkFDakQ7aUJBQ0Y7c0lBTWlCLE9BQU87c0JBRHRCLEtBQUs7Z0JBSWMsUUFBUTtzQkFEM0IsS0FBSzt1QkFBQyxlQUFlO2dCQVdOLGNBQWM7c0JBRDdCLE1BQU07dUJBQUMscUJBQXFCO2dCQUliLFFBQVE7c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCwgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMsIFBvaW50SW5wdXQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9OT0RFLCBGTm9kZUJhc2UgfSBmcm9tICcuL2Ytbm9kZS1iYXNlJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuL2YtcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlSGFuZGxlcixcbiAgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlUmVxdWVzdCxcbiAgRkNvbm5lY3RvckJhc2Vcbn0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2ZOb2RlXVwiLFxuICBleHBvcnRBczogXCJmQ29tcG9uZW50XCIsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2ZOb2RlSWQnLFxuICAgIGNsYXNzOiBcImYtbm9kZSBmLWNvbXBvbmVudFwiLFxuICAgICdbY2xhc3MuZi1ub2RlLWRpc2FibGVkXSc6ICdkaXNhYmxlZCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX05PREUsIHVzZUV4aXN0aW5nOiBGTm9kZURpcmVjdGl2ZSB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZOb2RlRGlyZWN0aXZlIGV4dGVuZHMgRk5vZGVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBJSGFzSG9zdEVsZW1lbnQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZUlkOiBzdHJpbmcgPSBgZi1ub2RlLSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQElucHV0KCdmTm9kZVBvc2l0aW9uJylcbiAgcHVibGljIG92ZXJyaWRlIHNldCBwb3NpdGlvbih2YWx1ZTogUG9pbnRJbnB1dCkge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmNhc3RUb1BvaW50KHZhbHVlKTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgcG9zaXRpb24oKTogSVBvaW50IHtcbiAgICByZXR1cm4gdGhpcy5fcG9zaXRpb247XG4gIH1cblxuICBAT3V0cHV0KCdmTm9kZVBvc2l0aW9uQ2hhbmdlJylcbiAgcHVibGljIG92ZXJyaWRlIHBvc2l0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBvaW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBvaW50PigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0b3JzOiBGQ29ubmVjdG9yQmFzZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdHlsZSgncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0cmFuc2Zvcm0tb3JpZ2luJywgJzAgMCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3VzZXItc2VsZWN0JywgJ25vbmUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdwb2ludGVyLWV2ZW50cycsICdhbGwnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdsZWZ0JywgJzAnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0b3AnLCAnMCcpO1xuICAgIHN1cGVyLnJlZHJhdygpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGROb2RlKHRoaXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNldFN0eWxlKHN0eWxlTmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50LCBzdHlsZU5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5hZGQoXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlT25SZXNpemVDaGFuZ2VzKClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVPblJlc2l6ZUNoYW5nZXMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gbmV3IEZSZXNpemVPYnNlcnZlcih0aGlzLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5waXBlKHN0YXJ0V2l0aChudWxsKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdG9ycy5mb3JFYWNoKChmQ29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSkgPT4ge1xuXG4gICAgICAgIGZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSA9IG5ldyBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZVJlcXVlc3QoZkNvbm5lY3RvciwgdGhpcy5ob3N0RWxlbWVudClcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGFkZENvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JzLnB1c2goY29ubmVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZW1vdmVDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jb25uZWN0b3JzLmluZGV4T2YoY29ubmVjdG9yKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLmNvbm5lY3RvcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZU5vZGUodGhpcyk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1ub2RlL2Ytbm9kZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTJCLGVBQWUsRUFBYyxNQUFNLGNBQWMsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUNMLHdDQUF3QyxFQUN4Qyx3Q0FBd0MsRUFFekMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRXpCLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWN6QixNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQVM7SUFPM0MsSUFDb0IsUUFBUSxDQUFDLEtBQWlCO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELElBQW9CLFFBQVE7UUFDMUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFRRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFJRCxZQUNZLGdCQUF5QyxFQUN6QyxRQUFtQixFQUNuQixnQkFBa0M7UUFFNUMsS0FBSyxFQUFFLENBQUM7UUFKRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ3pDLGFBQVEsR0FB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LEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUU7U0FDakQ7OzJGQUVVLGNBQWM7a0JBWjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSxZQUFZO29CQUN0QixJQUFJLEVBQUU7d0JBQ0osdUJBQXVCLEVBQUUsU0FBUzt3QkFDbEMsS0FBSyxFQUFFLG9CQUFvQjt3QkFDM0IseUJBQXlCLEVBQUUsVUFBVTtxQkFDdEM7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLGdCQUFnQixFQUFFO3FCQUNqRDtpQkFDRjtzSUFNaUIsT0FBTztzQkFEdEIsS0FBSztnQkFJYyxRQUFRO3NCQUQzQixLQUFLO3VCQUFDLGVBQWU7Z0JBV04sY0FBYztzQkFEN0IsTUFBTTt1QkFBQyxxQkFBcUI7Z0JBSWIsUUFBUTtzQkFEdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50LCBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgUG9pbnRJbnB1dCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGX05PREUsIEZOb2RlQmFzZSB9IGZyb20gJy4vZi1ub2RlLWJhc2UnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZSZXNpemVPYnNlcnZlciB9IGZyb20gJy4vZi1yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVIYW5kbGVyLFxuICBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVSZXF1ZXN0LFxuICBGQ29ubmVjdG9yQmFzZVxufSBmcm9tICcuLi9mLWNvbm5lY3RvcnMnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZk5vZGVdXCIsXG4gIGV4cG9ydEFzOiBcImZDb21wb25lbnRcIixcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtbm9kZS1pZF0nOiAnZk5vZGVJZCcsXG4gICAgY2xhc3M6IFwiZi1ub2RlIGYtY29tcG9uZW50XCIsXG4gICAgJ1tjbGFzcy5mLW5vZGUtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJ1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfTk9ERSwgdXNlRXhpc3Rpbmc6IEZOb2RlRGlyZWN0aXZlIH1cbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRk5vZGVEaXJlY3RpdmUgZXh0ZW5kcyBGTm9kZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIElIYXNIb3N0RWxlbWVudCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZOb2RlSWQ6IHN0cmluZyA9IGBmLW5vZGUtJHsgdW5pcXVlSWQrKyB9YDtcblxuICBASW5wdXQoJ2ZOb2RlUG9zaXRpb24nKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHBvc2l0aW9uKHZhbHVlOiBQb2ludElucHV0KSB7XG4gICAgdGhpcy5fcG9zaXRpb24gPSBQb2ludEV4dGVuc2lvbnMuY2FzdFRvUG9pbnQodmFsdWUpO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBwb3NpdGlvbigpOiBJUG9pbnQge1xuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvbjtcbiAgfVxuXG4gIEBPdXRwdXQoJ2ZOb2RlUG9zaXRpb25DaGFuZ2UnKVxuICBwdWJsaWMgb3ZlcnJpZGUgcG9zaXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUG9pbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUG9pbnQ+KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmVcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0U3R5bGUoJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndHJhbnNmb3JtLW9yaWdpbicsICcwIDAnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd1c2VyLXNlbGVjdCcsICdub25lJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgncG9pbnRlci1ldmVudHMnLCAnYWxsJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgnbGVmdCcsICcwJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndG9wJywgJzAnKTtcbiAgICBzdXBlci5yZWRyYXcoKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuYWRkTm9kZSh0aGlzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzZXRTdHlsZShzdHlsZU5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudCwgc3R5bGVOYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQuYWRkKFxuICAgICAgICB0aGlzLnN1YnNjcmliZU9uUmVzaXplQ2hhbmdlcygpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlT25SZXNpemVDaGFuZ2VzKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBGUmVzaXplT2JzZXJ2ZXIodGhpcy5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCkucGlwZShzdGFydFdpdGgobnVsbCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNvbm5lY3RvcnMuZm9yRWFjaCgoZkNvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UpID0+IHtcblxuICAgICAgICBmQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUgPSBuZXcgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlSGFuZGxlcigpLmhhbmRsZShcbiAgICAgICAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVSZXF1ZXN0KGZDb25uZWN0b3IsIHRoaXMuaG9zdEVsZW1lbnQpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBhZGRDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuY29ubmVjdG9ycy5wdXNoKGNvbm5lY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ29ubmVjdG9yKGNvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY29ubmVjdG9ycy5pbmRleE9mKGNvbm5lY3Rvcik7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5jb25uZWN0b3JzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5yZW1vdmVOb2RlKHRoaXMpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1zZWxlY3Rpb24tYXJlYS1yZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2RvbWFpbi9pLXNlbGVjdGlvbi1hcmVhLXJlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVNlbGVjdGlvbkFyZWFSZWN0IHtcblxuICBsZWZ0OiBudW1iZXI7XG5cbiAgdG9wOiBudW1iZXI7XG5cbiAgd2lkdGg6IG51bWJlcjtcblxuICBoZWlnaHQ6IG51bWJlcjtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './i-selection-area-rect';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ktc2VsZWN0aW9uLWFyZWEtcmVjdCc7XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { Directive, InjectionToken } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export const F_SELECTION_AREA = new InjectionToken('F_SELECTION_AREA');
4
+ export class FSelectionAreaBase {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FSelectionAreaBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FSelectionAreaBase, ngImport: i0 }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FSelectionAreaBase, decorators: [{
9
+ type: Directive
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2Ytc2VsZWN0aW9uLWFyZWEtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHMUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQXFCLGtCQUFrQixDQUFDLENBQUM7QUFHM0YsTUFBTSxPQUFnQixrQkFBa0I7OEdBQWxCLGtCQUFrQjtrR0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUR2QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElTZWxlY3Rpb25BcmVhUmVjdCB9IGZyb20gJy4vZG9tYWluJztcblxuZXhwb3J0IGNvbnN0IEZfU0VMRUNUSU9OX0FSRUEgPSBuZXcgSW5qZWN0aW9uVG9rZW48RlNlbGVjdGlvbkFyZWFCYXNlPignRl9TRUxFQ1RJT05fQVJFQScpO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGU2VsZWN0aW9uQXJlYUJhc2UgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBoaWRlKCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHNob3coKTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZHJhdyhvYmplY3Q6IElTZWxlY3Rpb25BcmVhUmVjdCk6IHZvaWQ7XG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { Component } from '@angular/core';
2
+ import { F_SELECTION_AREA, FSelectionAreaBase } from './f-selection-area-base';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../f-draggable";
5
+ export class FSelectionAreaComponent extends FSelectionAreaBase {
6
+ get hostElement() {
7
+ return this.elementReference.nativeElement;
8
+ }
9
+ constructor(elementReference, fDraggableDataContext) {
10
+ super();
11
+ this.elementReference = elementReference;
12
+ this.fDraggableDataContext = fDraggableDataContext;
13
+ }
14
+ ngOnInit() {
15
+ this.fDraggableDataContext.fSelectionArea = this;
16
+ this.hostElement.style.display = 'none';
17
+ }
18
+ hide() {
19
+ this.hostElement.style.display = 'none';
20
+ }
21
+ show() {
22
+ this.hostElement.style.display = 'block';
23
+ }
24
+ draw(object) {
25
+ const style = this.hostElement.style;
26
+ style.left = object.left + 'px';
27
+ style.top = object.top + 'px';
28
+ style.width = object.width + 'px';
29
+ style.height = object.height + 'px';
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FSelectionAreaComponent, deps: [{ token: i0.ElementRef }, { token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: FSelectionAreaComponent, selector: "f-selection-area", host: { classAttribute: "f-selection-area f-component" }, providers: [
33
+ { provide: F_SELECTION_AREA, useExisting: FSelectionAreaComponent }
34
+ ], usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [":host{position:absolute}\n"] }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FSelectionAreaComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: "f-selection-area", template: ``, host: {
39
+ 'class': 'f-selection-area f-component'
40
+ }, providers: [
41
+ { provide: F_SELECTION_AREA, useExisting: FSelectionAreaComponent }
42
+ ], styles: [":host{position:absolute}\n"] }]
43
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FDraggableDataContext }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQWUvRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBRTdELElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUNZLGdCQUF5QyxFQUN6QyxxQkFBNEM7UUFFdEQsS0FBSyxFQUFFLENBQUM7UUFIRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ3pDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFHeEQsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFZSxJQUFJO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUMsQ0FBQztJQUVlLElBQUk7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQyxDQUFDO0lBRWUsSUFBSSxDQUFDLE1BQTBCO1FBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEMsS0FBSyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztRQUM5QixLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDdEMsQ0FBQzs4R0FoQ1UsdUJBQXVCO2tHQUF2Qix1QkFBdUIscUdBSnZCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFO1NBQ3BFLGlEQVBTLEVBQUU7OzJGQVNELHVCQUF1QjtrQkFYbkMsU0FBUzsrQkFDRSxrQkFBa0IsWUFDbEIsRUFBRSxRQUVOO3dCQUNKLE9BQU8sRUFBRSw4QkFBOEI7cUJBQ3hDLGFBQ1U7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyx5QkFBeUIsRUFBRTtxQkFDcEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRl9TRUxFQ1RJT05fQVJFQSwgRlNlbGVjdGlvbkFyZWFCYXNlIH0gZnJvbSAnLi9mLXNlbGVjdGlvbi1hcmVhLWJhc2UnO1xuaW1wb3J0IHsgSVNlbGVjdGlvbkFyZWFSZWN0IH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1zZWxlY3Rpb24tYXJlYVwiLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlVXJsczogWyAnLi9mLXNlbGVjdGlvbi1hcmVhLmNvbXBvbmVudC5zY3NzJyBdLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2Ytc2VsZWN0aW9uLWFyZWEgZi1jb21wb25lbnQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9TRUxFQ1RJT05fQVJFQSwgdXNlRXhpc3Rpbmc6IEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50IH1cbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRlNlbGVjdGlvbkFyZWFDb21wb25lbnQgZXh0ZW5kcyBGU2VsZWN0aW9uQXJlYUJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHRcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5mU2VsZWN0aW9uQXJlYSA9IHRoaXM7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkcmF3KG9iamVjdDogSVNlbGVjdGlvbkFyZWFSZWN0KTogdm9pZCB7XG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLmhvc3RFbGVtZW50LnN0eWxlO1xuICAgIHN0eWxlLmxlZnQgPSBvYmplY3QubGVmdCArICdweCc7XG4gICAgc3R5bGUudG9wID0gb2JqZWN0LnRvcCArICdweCc7XG4gICAgc3R5bGUud2lkdGggPSBvYmplY3Qud2lkdGggKyAncHgnO1xuICAgIHN0eWxlLmhlaWdodCA9IG9iamVjdC5oZWlnaHQgKyAncHgnO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './domain';
2
+ export * from './f-selection-area.component';
3
+ export * from './f-selection-area-base';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kb21haW4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2VsZWN0aW9uLWFyZWEuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbi1hcmVhLWJhc2UnO1xuIl19
@@ -1,14 +1,17 @@
1
- export * from './common-behaviours';
2
1
  export * from './f-backgroud';
3
2
  export * from './f-canvas';
4
3
  export * from './domain';
5
4
  export * from './f-connection';
6
5
  export * from './f-connectors';
7
- export * from './f-draggable/public-api';
6
+ export * from './f-draggable';
7
+ export * from './f-external-item';
8
+ export * from './f-line-alignment';
9
+ export * from './f-selection-area';
8
10
  export * from './f-flow';
9
11
  export * from './f-node';
12
+ export * from './f-mediator';
10
13
  export * from './f-components-store';
11
14
  export * from './f-flow.module';
12
15
  export * from './get-flow-uid';
13
16
  export * from './i-has-state-changes';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsWUFBWSxDQUFDO0FBRTNCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1vbi1iZWhhdmlvdXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWJhY2tncm91ZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jYW52YXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2RvbWFpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jb25uZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZHJhZ2dhYmxlL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZmxvdyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1ub2RlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZmxvdy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1mbG93LXVpZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1oYXMtc3RhdGUtY2hhbmdlcyc7XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUU5QixjQUFjLFlBQVksQ0FBQztBQUUzQixjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1iYWNrZ3JvdWQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9kb21haW4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jb25uZWN0b3JzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1leHRlcm5hbC1pdGVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbi1hcmVhJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1tZWRpYXRvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jb21wb25lbnRzLXN0b3JlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWZsb3cubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtZmxvdy11aWQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktaGFzLXN0YXRlLWNoYW5nZXMnO1xuIl19
@@ -1,11 +1,10 @@
1
- import { IHasHostElement, ITransformModel } from '@foblex/core';
1
+ import { IHasHostElement, ITransformModel, ICanChangePosition, ICanChangeZoom, ICanFitToParent, ICanOneToOneCentering } from '@foblex/core';
2
2
  import { ElementRef, EventEmitter, InjectionToken } from '@angular/core';
3
- import { ICanChangePosition, ICanChangeZoom, ICanFitToParent, ICanOneToOneCentering } from '../common-behaviours';
4
- import { FCanvasChangeEvent } from './domain/f-canvas-change.event';
3
+ import { FCanvasChangeEvent } from './domain';
5
4
  import { FNodeBase } from '../f-node';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare const F_CANVAS: InjectionToken<FCanvasBase>;
8
- declare const MIXIN_BASE: import("../common-behaviours").Constructor<ICanChangePosition> & import("../common-behaviours").AbstractConstructor<ICanChangePosition> & import("../common-behaviours").Constructor<ICanFitToParent> & import("../common-behaviours").AbstractConstructor<ICanFitToParent> & import("../common-behaviours").Constructor<ICanOneToOneCentering> & import("../common-behaviours").AbstractConstructor<ICanOneToOneCentering> & import("../common-behaviours").Constructor<ICanChangeZoom> & import("../common-behaviours").AbstractConstructor<ICanChangeZoom> & {
7
+ declare const MIXIN_BASE: import("@foblex/core").Constructor<ICanChangePosition> & import("@foblex/core").AbstractConstructor<ICanChangePosition> & import("@foblex/core").Constructor<ICanFitToParent> & import("@foblex/core").AbstractConstructor<ICanFitToParent> & import("@foblex/core").Constructor<ICanOneToOneCentering> & import("@foblex/core").AbstractConstructor<ICanOneToOneCentering> & import("@foblex/core").Constructor<ICanChangeZoom> & import("@foblex/core").AbstractConstructor<ICanChangeZoom> & {
9
8
  new (transform: ITransformModel): {
10
9
  transform: ITransformModel;
11
10
  };
@@ -6,7 +6,7 @@ import { FCanvasBase } from './f-canvas';
6
6
  import { FBackgroundBase } from './f-backgroud';
7
7
  import { FNodeBase } from './f-node';
8
8
  import { FConnectorBase, FNodeInputBase, FNodeOutletBase, FNodeOutputBase } from './f-connectors';
9
- import { FDraggableBase } from './f-draggable/f-draggable-base';
9
+ import { FDraggableBase } from './f-draggable';
10
10
  import * as i0 from "@angular/core";
11
11
  export declare class FComponentsStore {
12
12
  readonly changes: Subject<void>;
@@ -17,13 +17,13 @@ import { FMarkerBase } from '../f-marker';
17
17
  import { EFConnectableSide } from '../../f-connectors';
18
18
  import { FPathBuilderBase } from './domain';
19
19
  import * as i0 from "@angular/core";
20
- declare const MIXIN_BASE: import("@foblex/flow").Constructor<ISelectable> & import("@foblex/flow").AbstractConstructor<ISelectable> & import("@foblex/flow").Constructor<ICanChangeConnectionVisibility> & import("@foblex/flow").AbstractConstructor<ICanChangeConnectionVisibility> & {
20
+ declare const MIXIN_BASE: import("@foblex/core").Constructor<ISelectable> & import("@foblex/core").AbstractConstructor<ISelectable> & import("@foblex/core").Constructor<ICanChangeConnectionVisibility> & import("@foblex/core").AbstractConstructor<ICanChangeConnectionVisibility> & {
21
21
  new (hostElement: HTMLElement): {
22
22
  hostElement: HTMLElement;
23
23
  };
24
24
  };
25
25
  export declare abstract class FConnectionBase extends MIXIN_BASE implements IHasHostElement, ISelectable, ICanChangeConnectionVisibility, IHasStateChanges, IHasConnectionColor, IHasConnectionFromTo, IHasConnectionText {
26
- abstract id: string;
26
+ abstract fConnectionId: string;
27
27
  abstract fStartColor: string;
28
28
  abstract fEndColor: string;
29
29
  abstract fOutputId: string;
@@ -1,5 +1,5 @@
1
1
  export interface IHasConnectionFromTo {
2
- id: string;
2
+ fConnectionId: string;
3
3
  fOutputId: string;
4
4
  fInputId: string;
5
5
  }
@@ -1,5 +1,4 @@
1
- import { IHasHostElement } from '@foblex/core';
2
- import { AbstractConstructor, Constructor } from '../../../common-behaviours';
1
+ import { IHasHostElement, AbstractConstructor, Constructor } from '@foblex/core';
3
2
  export interface ISelectable {
4
3
  hostElement: HTMLElement | SVGElement;
5
4
  select(): void;
@@ -1,5 +1,4 @@
1
- import { IHasHostElement } from '@foblex/core';
2
- import { AbstractConstructor, Constructor } from '../../../common-behaviours';
1
+ import { IHasHostElement, AbstractConstructor, Constructor } from '@foblex/core';
3
2
  export interface ICanChangeConnectionVisibility {
4
3
  hostElement: HTMLElement | SVGElement;
5
4
  show(): void;