@foblex/flow 12.3.7 → 12.5.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 (128) hide show
  1. package/README.md +25 -9
  2. package/domain/emit-transform-changes/emit-transform-changes.execution.d.ts +11 -0
  3. package/domain/emit-transform-changes/emit-transform-changes.request.d.ts +2 -0
  4. package/domain/emit-transform-changes/index.d.ts +2 -0
  5. package/domain/get-external-nodes-rect/get-external-nodes-rect.execution.d.ts +14 -0
  6. package/domain/get-external-nodes-rect/get-external-nodes-rect.request.d.ts +2 -0
  7. package/domain/get-external-nodes-rect/index.d.ts +2 -0
  8. package/domain/get-nodes-rect/get-nodes-rect.execution.d.ts +2 -0
  9. package/domain/index.d.ts +3 -0
  10. package/domain/intersections/rounded-rect/rounded-rect.d.ts +1 -0
  11. package/domain/providers.d.ts +4 -1
  12. package/domain/subscribe-on-transform-changes/index.d.ts +2 -0
  13. package/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.d.ts +13 -0
  14. package/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.d.ts +2 -0
  15. package/esm2022/domain/emit-transform-changes/emit-transform-changes.execution.mjs +25 -0
  16. package/esm2022/domain/emit-transform-changes/emit-transform-changes.request.mjs +3 -0
  17. package/esm2022/domain/emit-transform-changes/index.mjs +3 -0
  18. package/esm2022/domain/get-external-nodes-rect/get-external-nodes-rect.execution.mjs +35 -0
  19. package/esm2022/domain/get-external-nodes-rect/get-external-nodes-rect.request.mjs +3 -0
  20. package/esm2022/domain/get-external-nodes-rect/index.mjs +3 -0
  21. package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +8 -6
  22. package/esm2022/domain/index.mjs +4 -1
  23. package/esm2022/domain/intersections/rounded-rect/rounded-rect.mjs +31 -5
  24. package/esm2022/domain/providers.mjs +7 -1
  25. package/esm2022/domain/subscribe-on-transform-changes/index.mjs +3 -0
  26. package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +28 -0
  27. package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.mjs +3 -0
  28. package/esm2022/f-canvas/f-canvas.component.mjs +5 -4
  29. package/esm2022/f-canvas/index.mjs +1 -2
  30. package/esm2022/f-canvas/providers.mjs +1 -3
  31. package/esm2022/f-connection/common/f-connection-base.mjs +2 -2
  32. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +10 -2
  33. package/esm2022/f-connection/common/f-path/get-path-marker-id.mjs +2 -2
  34. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +1 -4
  35. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +4 -1
  36. package/esm2022/f-draggable/e-f-draggable-type.mjs +2 -2
  37. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.execution.mjs +1 -1
  38. package/esm2022/f-draggable/f-draggable-base.mjs +4 -4
  39. package/esm2022/f-draggable/f-draggable.directive.mjs +44 -9
  40. package/esm2022/f-draggable/i-f-drag-and-drop-plugin.mjs +3 -0
  41. package/esm2022/f-draggable/index.mjs +2 -1
  42. package/esm2022/f-draggable/providers.mjs +4 -2
  43. package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +3 -1
  44. package/esm2022/f-draggable/single-select/single-select.validator.mjs +9 -5
  45. package/esm2022/f-flow/f-flow.component.mjs +8 -6
  46. package/esm2022/f-flow.module.mjs +17 -7
  47. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +43 -0
  48. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.mjs +13 -0
  49. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/index.mjs +3 -0
  50. package/esm2022/f-minimap/domain/f-minimap-data.mjs +12 -0
  51. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +43 -0
  52. package/esm2022/f-minimap/domain/index.mjs +7 -0
  53. package/esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs +5 -0
  54. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +27 -0
  55. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.mjs +7 -0
  56. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +26 -0
  57. package/esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs +7 -0
  58. package/esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs +5 -0
  59. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +52 -0
  60. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.mjs +9 -0
  61. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +30 -0
  62. package/esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs +7 -0
  63. package/esm2022/f-minimap/domain/providers.mjs +9 -0
  64. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +65 -0
  65. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +78 -0
  66. package/esm2022/f-minimap/f-minimap-view.directive.mjs +40 -0
  67. package/esm2022/f-minimap/f-minimap.component.mjs +72 -0
  68. package/esm2022/f-minimap/index.mjs +7 -0
  69. package/esm2022/f-minimap/providers.mjs +11 -0
  70. package/esm2022/f-node/f-node.directive.mjs +12 -4
  71. package/esm2022/f-storage/f-components-store.mjs +1 -1
  72. package/esm2022/f-storage/f-transform-store.mjs +12 -0
  73. package/esm2022/f-storage/index.mjs +2 -1
  74. package/esm2022/f-zoom/f-zoom-base.mjs +97 -0
  75. package/esm2022/f-zoom/f-zoom.directive.mjs +59 -0
  76. package/esm2022/f-zoom/index.mjs +4 -0
  77. package/esm2022/f-zoom/providers.mjs +5 -0
  78. package/esm2022/infrastructure/pipeline/pipeline.mjs +1 -1
  79. package/esm2022/public-api.mjs +3 -1
  80. package/f-canvas/index.d.ts +0 -1
  81. package/f-canvas/providers.d.ts +1 -2
  82. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +2 -1
  83. package/f-draggable/e-f-draggable-type.d.ts +1 -1
  84. package/f-draggable/f-draggable-base.d.ts +2 -2
  85. package/f-draggable/f-draggable.directive.d.ts +8 -4
  86. package/f-draggable/i-f-drag-and-drop-plugin.d.ts +9 -0
  87. package/f-draggable/index.d.ts +1 -0
  88. package/f-draggable/providers.d.ts +1 -1
  89. package/f-draggable/single-select/single-select.validator.d.ts +3 -1
  90. package/f-flow/f-flow.component.d.ts +1 -1
  91. package/f-flow.module.d.ts +12 -8
  92. package/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.d.ts +18 -0
  93. package/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.d.ts +9 -0
  94. package/f-minimap/domain/calculate-flow-point-from-minimap-point/index.d.ts +2 -0
  95. package/f-minimap/domain/f-minimap-data.d.ts +7 -0
  96. package/f-minimap/domain/f-minimap.drag-handler.d.ts +21 -0
  97. package/f-minimap/domain/index.d.ts +6 -0
  98. package/f-minimap/domain/minimap-drag-finalize/index.d.ts +4 -0
  99. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +11 -0
  100. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.d.ts +5 -0
  101. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.d.ts +11 -0
  102. package/f-minimap/domain/minimap-drag-finalize/providers.d.ts +3 -0
  103. package/f-minimap/domain/minimap-drag-preparation/index.d.ts +4 -0
  104. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +17 -0
  105. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.d.ts +7 -0
  106. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.d.ts +13 -0
  107. package/f-minimap/domain/minimap-drag-preparation/providers.d.ts +3 -0
  108. package/f-minimap/domain/providers.d.ts +2 -0
  109. package/f-minimap/f-minimap-canvas.directive.d.ts +22 -0
  110. package/f-minimap/f-minimap-flow.directive.d.ts +28 -0
  111. package/f-minimap/f-minimap-view.directive.d.ts +14 -0
  112. package/f-minimap/f-minimap.component.d.ts +26 -0
  113. package/f-minimap/index.d.ts +6 -0
  114. package/f-minimap/providers.d.ts +5 -0
  115. package/f-node/f-node.directive.d.ts +4 -1
  116. package/f-storage/f-transform-store.d.ts +7 -0
  117. package/f-storage/index.d.ts +1 -0
  118. package/{f-canvas/f-zoom → f-zoom}/f-zoom-base.d.ts +1 -1
  119. package/{f-canvas/f-zoom → f-zoom}/f-zoom.directive.d.ts +1 -1
  120. package/{f-canvas/f-zoom → f-zoom}/index.d.ts +1 -0
  121. package/f-zoom/providers.d.ts +2 -0
  122. package/fesm2022/foblex-flow.mjs +3434 -2789
  123. package/fesm2022/foblex-flow.mjs.map +1 -1
  124. package/package.json +4 -4
  125. package/public-api.d.ts +2 -0
  126. package/esm2022/f-canvas/f-zoom/f-zoom-base.mjs +0 -95
  127. package/esm2022/f-canvas/f-zoom/f-zoom.directive.mjs +0 -59
  128. package/esm2022/f-canvas/f-zoom/index.mjs +0 -3
package/README.md CHANGED
@@ -1,8 +1,28 @@
1
- ## Welcome to the @foblex/flow
2
1
 
3
- ![Release](https://img.shields.io/npm/v/@foblex/flow.svg?logo=npm&logoColor=fff&label=Release&color=limegreen)
2
+ <p align="center">
3
+ <img height="280px" style="margin: auto" src="https://github.com/user-attachments/assets/0fd21960-ac6c-4f9b-8e9f-214bb08b6236" alt="Foblex Flow Logo"/>
4
+ </p>
4
5
 
5
- `@foblex/flow` is an [Angular](https://angular.dev/) library designed to simplify the creation and manipulation of dynamic flow. Provides components for flows, nodes, and connections, automating node manipulation and inter-node connections.
6
+ <p align="center">
7
+ <a href="https://www.npmjs.com/package/@foblex/flow">
8
+ <img src="https://img.shields.io/npm/v/@foblex/flow.svg?logo=npm&logoColor=fff&label=Release&color=limegreen" alt="NPM Release"/>
9
+ </a>
10
+ <a href="https://github.com/foblex/f-flow/actions/workflows/tests-ci.yml">
11
+ <img src="https://github.com/foblex/f-flow/actions/workflows/tests-ci.yml/badge.svg" alt="Build Status"/>
12
+ </a>
13
+ </p>
14
+
15
+ ## Welcome to @foblex/flow
16
+
17
+ `@foblex/flow` is an [Angular](https://angular.dev/) library designed to simplify the creation and manipulation of
18
+ dynamic flows. It provides components for flows, nodes, and connections, automating node
19
+ manipulation and inter-node connections.
20
+
21
+ ### Examples
22
+
23
+ - [Call Center](https://github.com/Foblex/f-flow-example) - A simple example of a call center flow.
24
+
25
+ - [Scheme Editor](https://github.com/Foblex/f-scheme-editor) - A more complex example of a scheme editor.
6
26
 
7
27
  ### Features
8
28
 
@@ -15,7 +35,7 @@
15
35
 
16
36
  ### Getting Started and Documentation
17
37
 
18
- Visit the [Foblex Flow Documentation](https://foblex.github.io/f-flow/docs/get-started) to learn how to install and use the library in your Angular project.
38
+ Visit our [Documentation](https://flow.foblex.github.com) to learn how to install and use the library in your Angular project.
19
39
 
20
40
  ### Installation
21
41
 
@@ -28,7 +48,7 @@ npm install @foblex/flow
28
48
  ### Usage
29
49
 
30
50
  Example:
31
- ```typescript
51
+ ```html
32
52
  <f-flow fDraggable>
33
53
  <f-canvas>
34
54
  <f-connection fOutputId="output1" fInputId="input1"></f-connection>
@@ -38,10 +58,6 @@ Example:
38
58
  </f-flow>
39
59
  ```
40
60
 
41
- ### Examples
42
-
43
- [Call Center](https://github.com/Foblex/f-flow-example)
44
-
45
61
  ### Support and Community
46
62
 
47
63
  For questions, feedback, and support, visit the [Foblex Portal](https://www.foblex.com/flow/home) to connect with the community and the development team.
@@ -0,0 +1,11 @@
1
+ import { EmitTransformChangesRequest } from './emit-transform-changes.request';
2
+ import { IExecution } from '../../infrastructure';
3
+ import { FTransformStore } from '../../f-storage';
4
+ import * as i0 from "@angular/core";
5
+ export declare class EmitTransformChangesExecution implements IExecution<EmitTransformChangesRequest, void> {
6
+ private fTransformStore;
7
+ constructor(fTransformStore: FTransformStore);
8
+ handle(request: EmitTransformChangesRequest): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<EmitTransformChangesExecution, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<EmitTransformChangesExecution>;
11
+ }
@@ -0,0 +1,2 @@
1
+ export declare class EmitTransformChangesRequest {
2
+ }
@@ -0,0 +1,2 @@
1
+ export * from './emit-transform-changes.execution';
2
+ export * from './emit-transform-changes.request';
@@ -0,0 +1,14 @@
1
+ import { IRect } from '@foblex/core';
2
+ import { GetExternalNodesRectRequest } from './get-external-nodes-rect.request';
3
+ import { FComponentsStore } from '../../f-storage';
4
+ import { IExecution } from '../../infrastructure';
5
+ import * as i0 from "@angular/core";
6
+ export declare class GetExternalNodesRectExecution implements IExecution<GetExternalNodesRectRequest, IRect> {
7
+ private fComponentsStore;
8
+ constructor(fComponentsStore: FComponentsStore);
9
+ handle(request: GetExternalNodesRectRequest): IRect;
10
+ private getNodesRects;
11
+ private getNodes;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<GetExternalNodesRectExecution, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<GetExternalNodesRectExecution>;
14
+ }
@@ -0,0 +1,2 @@
1
+ export declare class GetExternalNodesRectRequest {
2
+ }
@@ -0,0 +1,2 @@
1
+ export * from './get-external-nodes-rect.execution';
2
+ export * from './get-external-nodes-rect.request';
@@ -7,6 +7,8 @@ export declare class GetNodesRectExecution implements IExecution<GetNodesRectReq
7
7
  private fComponentsStore;
8
8
  constructor(fComponentsStore: FComponentsStore);
9
9
  handle(request: GetNodesRectRequest): IRect;
10
+ private getNodesRects;
11
+ private getNodes;
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<GetNodesRectExecution, never>;
11
13
  static ɵprov: i0.ɵɵInjectableDeclaration<GetNodesRectExecution>;
12
14
  }
package/domain/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  export * from './clear-selection';
2
2
  export * from './create-connection-markers';
3
+ export * from './emit-transform-changes';
3
4
  export * from './get-can-be-selected-items';
4
5
  export * from './get-connection-line';
5
6
  export * from './get-element-rect-in-flow';
7
+ export * from './get-external-nodes-rect';
6
8
  export * from './get-input-rect-in-flow';
7
9
  export * from './get-nodes-rect';
8
10
  export * from './get-output-rect-in-flow';
@@ -13,6 +15,7 @@ export * from './redraw-connections';
13
15
  export * from './select';
14
16
  export * from './select-all';
15
17
  export * from './select-and-update-node-layer';
18
+ export * from './subscribe-on-transform-changes';
16
19
  export * from './intersections';
17
20
  export * from './update-item-layer';
18
21
  export * from './cast-to-enum';
@@ -18,5 +18,6 @@ export declare class RoundedRect implements IRoundedRect {
18
18
  static fromRoundedRect(rect: IRoundedRect): RoundedRect;
19
19
  static fromElement(element: HTMLElement | SVGElement): RoundedRect;
20
20
  private static setRadiusFromElement;
21
+ private static convertToPixels;
21
22
  addPoint(point: IPoint): RoundedRect;
22
23
  }
@@ -17,4 +17,7 @@ import { CreateConnectionMarkersExecution } from './create-connection-markers';
17
17
  import { GetCanBeSelectedItemsExecution } from './get-can-be-selected-items';
18
18
  import { IsConnectionUnderNodeExecution } from './is-connection-under-node';
19
19
  import { SelectAndUpdateNodeLayerExecution } from './select-and-update-node-layer';
20
- export declare const COMMON_PROVIDERS: (typeof ClearSelectionExecution | typeof CreateConnectionMarkersExecution | typeof GetElementRectInFlowExecution | typeof GetCanBeSelectedItemsExecution | typeof GetConnectionLineExecution | typeof GetInputRectInFlowExecution | typeof GetNodesRectExecution | typeof GetOutputRectInFlowExecution | typeof GetPositionInFlowExecution | typeof GetSelectionExecution | typeof GetOutgoingConnectionsHandler | typeof GetIncomingConnectionsHandler | typeof IsConnectionUnderNodeExecution | typeof RedrawConnectionsExecution | typeof SelectExecution | typeof SelectAllExecution | typeof UpdateItemLayerExecution | typeof SelectAndUpdateNodeLayerExecution | typeof GetConnectionHandler)[];
20
+ import { GetExternalNodesRectExecution } from './get-external-nodes-rect';
21
+ import { EmitTransformChangesExecution } from './emit-transform-changes';
22
+ import { SubscribeOnTransformChangesExecution } from './subscribe-on-transform-changes';
23
+ export declare const COMMON_PROVIDERS: (typeof ClearSelectionExecution | typeof CreateConnectionMarkersExecution | typeof EmitTransformChangesExecution | typeof GetElementRectInFlowExecution | typeof GetCanBeSelectedItemsExecution | typeof GetConnectionLineExecution | typeof GetExternalNodesRectExecution | typeof GetInputRectInFlowExecution | typeof GetNodesRectExecution | typeof GetOutputRectInFlowExecution | typeof GetPositionInFlowExecution | typeof GetSelectionExecution | typeof GetOutgoingConnectionsHandler | typeof GetIncomingConnectionsHandler | typeof IsConnectionUnderNodeExecution | typeof RedrawConnectionsExecution | typeof SelectExecution | typeof SelectAllExecution | typeof UpdateItemLayerExecution | typeof SelectAndUpdateNodeLayerExecution | typeof SubscribeOnTransformChangesExecution | typeof GetConnectionHandler)[];
@@ -0,0 +1,2 @@
1
+ export * from './subscribe-on-transform-changes.execution';
2
+ export * from './subscribe-on-transform-changes.request';
@@ -0,0 +1,13 @@
1
+ import { SubscribeOnTransformChangesRequest } from './subscribe-on-transform-changes.request';
2
+ import { Observable } from 'rxjs';
3
+ import { FComponentsStore, FTransformStore } from '../../f-storage';
4
+ import { IExecution } from '../../infrastructure';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SubscribeOnTransformChangesExecution implements IExecution<SubscribeOnTransformChangesRequest, Observable<void>> {
7
+ private fTransformStore;
8
+ private fComponentsStore;
9
+ constructor(fTransformStore: FTransformStore, fComponentsStore: FComponentsStore);
10
+ handle(request: SubscribeOnTransformChangesRequest): Observable<void>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<SubscribeOnTransformChangesExecution, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<SubscribeOnTransformChangesExecution>;
13
+ }
@@ -0,0 +1,2 @@
1
+ export declare class SubscribeOnTransformChangesRequest {
2
+ }
@@ -0,0 +1,25 @@
1
+ import { __decorate } from "tslib";
2
+ import { EmitTransformChangesRequest } from './emit-transform-changes.request';
3
+ import { Injectable } from '@angular/core';
4
+ import { FExecutionRegister } from '../../infrastructure';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../f-storage";
7
+ let EmitTransformChangesExecution = class EmitTransformChangesExecution {
8
+ fTransformStore;
9
+ constructor(fTransformStore) {
10
+ this.fTransformStore = fTransformStore;
11
+ }
12
+ handle(request) {
13
+ this.fTransformStore.changes.next();
14
+ }
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EmitTransformChangesExecution, deps: [{ token: i1.FTransformStore }], target: i0.ɵɵFactoryTarget.Injectable });
16
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EmitTransformChangesExecution });
17
+ };
18
+ EmitTransformChangesExecution = __decorate([
19
+ FExecutionRegister(EmitTransformChangesRequest)
20
+ ], EmitTransformChangesExecution);
21
+ export { EmitTransformChangesExecution };
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EmitTransformChangesExecution, decorators: [{
23
+ type: Injectable
24
+ }], ctorParameters: () => [{ type: i1.FTransformStore }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdC10cmFuc2Zvcm0tY2hhbmdlcy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9lbWl0LXRyYW5zZm9ybS1jaGFuZ2VzL2VtaXQtdHJhbnNmb3JtLWNoYW5nZXMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLHNCQUFzQixDQUFDOzs7QUFLL0QsSUFBTSw2QkFBNkIsR0FBbkMsTUFBTSw2QkFBNkI7SUFJOUI7SUFEVixZQUNVLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUUxQyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQW9DO1FBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7dUdBVlUsNkJBQTZCOzJHQUE3Qiw2QkFBNkI7O0FBQTdCLDZCQUE2QjtJQUR6QyxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQztHQUNuQyw2QkFBNkIsQ0FXekM7OzJGQVhZLDZCQUE2QjtrQkFGekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCB9IGZyb20gJy4vZW1pdC10cmFuc2Zvcm0tY2hhbmdlcy5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJy4uLy4uL2luZnJhc3RydWN0dXJlJztcbmltcG9ydCB7IEZUcmFuc2Zvcm1TdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRW1pdFRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEVtaXRUcmFuc2Zvcm1DaGFuZ2VzRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxFbWl0VHJhbnNmb3JtQ2hhbmdlc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZUcmFuc2Zvcm1TdG9yZTogRlRyYW5zZm9ybVN0b3JlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogRW1pdFRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5mVHJhbnNmb3JtU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class EmitTransformChangesRequest {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdC10cmFuc2Zvcm0tY2hhbmdlcy5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZW1pdC10cmFuc2Zvcm0tY2hhbmdlcy9lbWl0LXRyYW5zZm9ybS1jaGFuZ2VzLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDJCQUEyQjtDQUV2QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFbWl0VHJhbnNmb3JtQ2hhbmdlc1JlcXVlc3Qge1xuXG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './emit-transform-changes.execution';
2
+ export * from './emit-transform-changes.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9lbWl0LXRyYW5zZm9ybS1jaGFuZ2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW1pdC10cmFuc2Zvcm0tY2hhbmdlcy5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2VtaXQtdHJhbnNmb3JtLWNoYW5nZXMucmVxdWVzdCc7XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { __decorate } from "tslib";
2
+ import { RectExtensions } from '@foblex/core';
3
+ import { GetExternalNodesRectRequest } from './get-external-nodes-rect.request';
4
+ import { Injectable } from '@angular/core';
5
+ import { FExecutionRegister } from '../../infrastructure';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../f-storage";
8
+ let GetExternalNodesRectExecution = class GetExternalNodesRectExecution {
9
+ fComponentsStore;
10
+ constructor(fComponentsStore) {
11
+ this.fComponentsStore = fComponentsStore;
12
+ }
13
+ handle(request) {
14
+ return RectExtensions.union(this.getNodesRects());
15
+ }
16
+ getNodesRects() {
17
+ return this.getNodes().map((x) => {
18
+ const rect = RectExtensions.fromElement(x.hostElement);
19
+ return RectExtensions.initialize(x.position.x, x.position.y, rect.width, rect.height);
20
+ });
21
+ }
22
+ getNodes() {
23
+ return this.fComponentsStore.fNodes;
24
+ }
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: GetExternalNodesRectExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
26
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: GetExternalNodesRectExecution });
27
+ };
28
+ GetExternalNodesRectExecution = __decorate([
29
+ FExecutionRegister(GetExternalNodesRectRequest)
30
+ ], GetExternalNodesRectExecution);
31
+ export { GetExternalNodesRectExecution };
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: GetExternalNodesRectExecution, decorators: [{
33
+ type: Injectable
34
+ }], ctorParameters: () => [{ type: i1.FComponentsStore }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWV4dGVybmFsLW5vZGVzLXJlY3QuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LWV4dGVybmFsLW5vZGVzLXJlY3QvZ2V0LWV4dGVybmFsLW5vZGVzLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7OztBQUsvRCxJQUFNLDZCQUE2QixHQUFuQyxNQUFNLDZCQUE2QjtJQUc5QjtJQURWLFlBQ1UsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFvQztRQUNoRCxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLGFBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkQsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hGLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVPLFFBQVE7UUFDZCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDdEMsQ0FBQzt1R0FwQlUsNkJBQTZCOzJHQUE3Qiw2QkFBNkI7O0FBQTdCLDZCQUE2QjtJQUR6QyxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQztHQUNuQyw2QkFBNkIsQ0FxQnpDOzsyRkFyQlksNkJBQTZCO2tCQUZ6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEdldEV4dGVybmFsTm9kZXNSZWN0UmVxdWVzdCB9IGZyb20gJy4vZ2V0LWV4dGVybmFsLW5vZGVzLXJlY3QucmVxdWVzdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJy4uLy4uL2luZnJhc3RydWN0dXJlJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0RXh0ZXJuYWxOb2Rlc1JlY3RSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldEV4dGVybmFsTm9kZXNSZWN0RXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXRFeHRlcm5hbE5vZGVzUmVjdFJlcXVlc3QsIElSZWN0PiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0RXh0ZXJuYWxOb2Rlc1JlY3RSZXF1ZXN0KTogSVJlY3Qge1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy51bmlvbih0aGlzLmdldE5vZGVzUmVjdHMoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGVzUmVjdHMoKTogSVJlY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Tm9kZXMoKS5tYXAoKHgpID0+IHtcbiAgICAgIGNvbnN0IHJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudCh4Lmhvc3RFbGVtZW50KTtcbiAgICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKHgucG9zaXRpb24ueCwgeC5wb3NpdGlvbi55LCByZWN0LndpZHRoLCByZWN0LmhlaWdodCk7XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export class GetExternalNodesRectRequest {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWV4dGVybmFsLW5vZGVzLXJlY3QucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2dldC1leHRlcm5hbC1ub2Rlcy1yZWN0L2dldC1leHRlcm5hbC1ub2Rlcy1yZWN0LnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDJCQUEyQjtDQUV2QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBHZXRFeHRlcm5hbE5vZGVzUmVjdFJlcXVlc3Qge1xuXG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './get-external-nodes-rect.execution';
2
+ export * from './get-external-nodes-rect.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtZXh0ZXJuYWwtbm9kZXMtcmVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1leHRlcm5hbC1ub2Rlcy1yZWN0LmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWV4dGVybmFsLW5vZGVzLXJlY3QucmVxdWVzdCc7XG4iXX0=
@@ -11,11 +11,13 @@ let GetNodesRectExecution = class GetNodesRectExecution {
11
11
  this.fComponentsStore = fComponentsStore;
12
12
  }
13
13
  handle(request) {
14
- const fNodes = this.fComponentsStore.fNodes;
15
- const rects = fNodes.map((x) => {
16
- return RectExtensions.fromElement(x.hostElement);
17
- });
18
- return RectExtensions.union(rects);
14
+ return RectExtensions.union(this.getNodesRects());
15
+ }
16
+ getNodesRects() {
17
+ return this.getNodes().map((x) => RectExtensions.fromElement(x.hostElement));
18
+ }
19
+ getNodes() {
20
+ return this.fComponentsStore.fNodes;
19
21
  }
20
22
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: GetNodesRectExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
21
23
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: GetNodesRectExecution });
@@ -27,4 +29,4 @@ export { GetNodesRectExecution };
27
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: GetNodesRectExecution, decorators: [{
28
30
  type: Injectable
29
31
  }], ctorParameters: () => [{ type: i1.FComponentsStore }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGVzLXJlY3QuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LW5vZGVzLXJlY3QvZ2V0LW5vZGVzLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7OztBQUkvRCxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUd0QjtJQURWLFlBQ1UsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUE0QjtRQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1FBQzVDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM3QixPQUFPLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7dUdBYlUscUJBQXFCOzJHQUFyQixxQkFBcUI7O0FBQXJCLHFCQUFxQjtJQURqQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQztHQUMzQixxQkFBcUIsQ0FjakM7OzJGQWRZLHFCQUFxQjtrQkFGakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBHZXROb2Rlc1JlY3RSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtbm9kZXMtcmVjdC5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldE5vZGVzUmVjdFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0Tm9kZXNSZWN0RXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXROb2Rlc1JlY3RSZXF1ZXN0LCBJUmVjdD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldE5vZGVzUmVjdFJlcXVlc3QpOiBJUmVjdCB7XG4gICAgY29uc3QgZk5vZGVzID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2RlcztcbiAgICBjb25zdCByZWN0cyA9IGZOb2Rlcy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudCh4Lmhvc3RFbGVtZW50KTtcbiAgICB9KTtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMudW5pb24ocmVjdHMpO1xuICB9XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGVzLXJlY3QuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LW5vZGVzLXJlY3QvZ2V0LW5vZGVzLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7OztBQUsvRCxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUd0QjtJQURWLFlBQ1UsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUE0QjtRQUN4QyxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLGFBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTyxRQUFRO1FBQ2QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7dUdBakJVLHFCQUFxQjsyR0FBckIscUJBQXFCOztBQUFyQixxQkFBcUI7SUFEakMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUM7R0FDM0IscUJBQXFCLENBa0JqQzs7MkZBbEJZLHFCQUFxQjtrQkFGakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBHZXROb2Rlc1JlY3RSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtbm9kZXMtcmVjdC5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXROb2Rlc1JlY3RSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE5vZGVzUmVjdEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0Tm9kZXNSZWN0UmVxdWVzdCwgSVJlY3Q+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBHZXROb2Rlc1JlY3RSZXF1ZXN0KTogSVJlY3Qge1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy51bmlvbih0aGlzLmdldE5vZGVzUmVjdHMoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGVzUmVjdHMoKTogSVJlY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Tm9kZXMoKS5tYXAoKHgpID0+IFJlY3RFeHRlbnNpb25zLmZyb21FbGVtZW50KHguaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzO1xuICB9XG59XG4iXX0=
@@ -1,8 +1,10 @@
1
1
  export * from './clear-selection';
2
2
  export * from './create-connection-markers';
3
+ export * from './emit-transform-changes';
3
4
  export * from './get-can-be-selected-items';
4
5
  export * from './get-connection-line';
5
6
  export * from './get-element-rect-in-flow';
7
+ export * from './get-external-nodes-rect';
6
8
  export * from './get-input-rect-in-flow';
7
9
  export * from './get-nodes-rect';
8
10
  export * from './get-output-rect-in-flow';
@@ -13,6 +15,7 @@ export * from './redraw-connections';
13
15
  export * from './select';
14
16
  export * from './select-all';
15
17
  export * from './select-and-update-node-layer';
18
+ export * from './subscribe-on-transform-changes';
16
19
  export * from './intersections';
17
20
  export * from './update-item-layer';
18
21
  export * from './cast-to-enum';
@@ -22,4 +25,4 @@ export * from './get-outgoing-connections.handler';
22
25
  export * from './get-value-from-data-attr';
23
26
  export * from './is-element-with-class';
24
27
  export * from './providers';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xlYXItc2VsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1tYXJrZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY29ubmVjdGlvbi1saW5lJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1pbnB1dC1yZWN0LWluLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub2Rlcy1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXBvc2l0aW9uLWluLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVkcmF3LWNvbm5lY3Rpb25zJztcblxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1hbGwnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2ludGVyc2VjdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3VwZGF0ZS1pdGVtLWxheWVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYXN0LXRvLWVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1jb25uZWN0aW9uLmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1pbmNvbWluZy1jb25uZWN0aW9ucy5oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtb3V0Z29pbmctY29ubmVjdGlvbnMuaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXZhbHVlLWZyb20tZGF0YS1hdHRyJztcblxuZXhwb3J0ICogZnJvbSAnLi9pcy1lbGVtZW50LXdpdGgtY2xhc3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xlYXItc2VsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1tYXJrZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9lbWl0LXRyYW5zZm9ybS1jaGFuZ2VzJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY29ubmVjdGlvbi1saW5lJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1leHRlcm5hbC1ub2Rlcy1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtaW5wdXQtcmVjdC1pbi1mbG93JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9kZXMtcmVjdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW91dHB1dC1yZWN0LWluLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1wb3NpdGlvbi1pbi1mbG93JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtc2VsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9pcy1jb25uZWN0aW9uLXVuZGVyLW5vZGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3JlZHJhdy1jb25uZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtYWxsJztcblxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpYmUtb24tdHJhbnNmb3JtLWNoYW5nZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ludGVyc2VjdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3VwZGF0ZS1pdGVtLWxheWVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYXN0LXRvLWVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1jb25uZWN0aW9uLmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1pbmNvbWluZy1jb25uZWN0aW9ucy5oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtb3V0Z29pbmctY29ubmVjdGlvbnMuaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXZhbHVlLWZyb20tZGF0YS1hdHRyJztcblxuZXhwb3J0ICogZnJvbSAnLi9pcy1lbGVtZW50LXdpdGgtY2xhc3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbiJdfQ==
@@ -36,12 +36,38 @@ export class RoundedRect {
36
36
  return this.setRadiusFromElement(new RoundedRect(x, y, width, height), element);
37
37
  }
38
38
  static setRadiusFromElement(rect, element) {
39
- rect.radius1 = parseFloat(element.style.borderTopLeftRadius) || 0;
40
- rect.radius2 = parseFloat(element.style.borderTopRightRadius) || 0;
41
- rect.radius3 = parseFloat(element.style.borderBottomRightRadius) || 0;
42
- rect.radius4 = parseFloat(element.style.borderBottomLeftRadius) || 0;
39
+ const data = getComputedStyle(element);
40
+ rect.radius1 = this.convertToPixels(data.borderTopLeftRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
41
+ rect.radius2 = this.convertToPixels(data.borderTopRightRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
42
+ rect.radius3 = this.convertToPixels(data.borderBottomRightRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
43
+ rect.radius4 = this.convertToPixels(data.borderBottomLeftRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
43
44
  return rect;
44
45
  }
46
+ static convertToPixels(value, clientWidth, clientHeight, fontSize) {
47
+ if (value.endsWith('px')) {
48
+ return parseFloat(value);
49
+ }
50
+ else if (value.endsWith('%')) {
51
+ const percentage = parseFloat(value) / 100;
52
+ return Math.max(clientWidth, clientHeight) * percentage;
53
+ }
54
+ else if (value.endsWith('em')) {
55
+ return parseFloat(value) * parseFloat(fontSize);
56
+ }
57
+ else if (value.endsWith('rem')) {
58
+ return parseFloat(value) * parseFloat(getComputedStyle(document.documentElement).fontSize);
59
+ }
60
+ else if (value.endsWith('vh')) {
61
+ const vh = window.innerHeight / 100;
62
+ return parseFloat(value) * vh;
63
+ }
64
+ else if (value.endsWith('vw')) {
65
+ const vw = window.innerWidth / 100;
66
+ return parseFloat(value) * vw;
67
+ }
68
+ return parseFloat(value) || 0;
69
+ }
70
+ ;
45
71
  addPoint(point) {
46
72
  const copy = RoundedRect.fromRoundedRect(this);
47
73
  copy.x += point.x;
@@ -50,4 +76,4 @@ export class RoundedRect {
50
76
  return copy;
51
77
  }
52
78
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmRlZC1yZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vaW50ZXJzZWN0aW9ucy9yb3VuZGVkLXJlY3Qvcm91bmRlZC1yZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBaUIsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE1BQU0sT0FBTyxXQUFXO0lBT2I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVpPLElBQUksR0FBcUIsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO0lBRWhFLGFBQWEsR0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBRTlDLFlBQ1MsSUFBWSxDQUFDLEVBQ2IsSUFBWSxDQUFDLEVBQ2IsUUFBZ0IsQ0FBQyxFQUNqQixTQUFpQixDQUFDLEVBQ2xCLFVBQWtCLENBQUMsRUFDbkIsVUFBa0IsQ0FBQyxFQUNuQixVQUFrQixDQUFDLEVBQ25CLFVBQWtCLENBQUM7UUFQbkIsTUFBQyxHQUFELENBQUMsQ0FBWTtRQUNiLE1BQUMsR0FBRCxDQUFDLENBQVk7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUUxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsSUFBa0I7UUFDL0MsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFXO1FBQ2hDLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLElBQWtCO1FBQzlDLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBaUM7UUFDekQsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBaUIsRUFBRSxPQUFpQztRQUN0RixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJy4vaS1yb3VuZGVkLXJlY3QnO1xuaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRUZDb25uZWN0b3JTaGFwZSB9IGZyb20gJy4uL2UtZi1jb25uZWN0b3Itc2hhcGUnO1xuXG5leHBvcnQgY2xhc3MgUm91bmRlZFJlY3QgaW1wbGVtZW50cyBJUm91bmRlZFJlY3Qge1xuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBFRkNvbm5lY3RvclNoYXBlID0gRUZDb25uZWN0b3JTaGFwZS5ST1VOREVEX1JFQ1Q7XG5cbiAgcHVibGljIGdyYXZpdHlDZW50ZXI6IElQb2ludCA9IHsgeDogMCwgeTogMCB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB4OiBudW1iZXIgPSAwLFxuICAgIHB1YmxpYyB5OiBudW1iZXIgPSAwLFxuICAgIHB1YmxpYyB3aWR0aDogbnVtYmVyID0gMCxcbiAgICBwdWJsaWMgaGVpZ2h0OiBudW1iZXIgPSAwLFxuICAgIHB1YmxpYyByYWRpdXMxOiBudW1iZXIgPSAwLFxuICAgIHB1YmxpYyByYWRpdXMyOiBudW1iZXIgPSAwLFxuICAgIHB1YmxpYyByYWRpdXMzOiBudW1iZXIgPSAwLFxuICAgIHB1YmxpYyByYWRpdXM0OiBudW1iZXIgPSAwXG4gICkge1xuICAgIHRoaXMuZ3Jhdml0eUNlbnRlciA9IHRoaXMuY2FsY3VsYXRlR3Jhdml0eUNlbnRlcih0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlR3Jhdml0eUNlbnRlcihyZWN0OiBJUm91bmRlZFJlY3QpOiBJUG9pbnQge1xuICAgIHJldHVybiBuZXcgUG9pbnQocmVjdC54ICsgcmVjdC53aWR0aCAvIDIsIHJlY3QueSArIHJlY3QuaGVpZ2h0IC8gMik7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21SZWN0KHJlY3Q6IElSZWN0KTogUm91bmRlZFJlY3Qge1xuICAgIHJldHVybiBuZXcgUm91bmRlZFJlY3QocmVjdC54LCByZWN0LnksIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJvdW5kZWRSZWN0KHJlY3Q6IElSb3VuZGVkUmVjdCk6IFJvdW5kZWRSZWN0IHtcbiAgICByZXR1cm4gbmV3IFJvdW5kZWRSZWN0KHJlY3QueCwgcmVjdC55LCByZWN0LndpZHRoLCByZWN0LmhlaWdodCwgcmVjdC5yYWRpdXMxLCByZWN0LnJhZGl1czIsIHJlY3QucmFkaXVzMywgcmVjdC5yYWRpdXM0KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogUm91bmRlZFJlY3Qge1xuICAgIGNvbnN0IHsgeCwgeSwgd2lkdGgsIGhlaWdodCB9ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4gdGhpcy5zZXRSYWRpdXNGcm9tRWxlbWVudChuZXcgUm91bmRlZFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCksIGVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgc2V0UmFkaXVzRnJvbUVsZW1lbnQocmVjdDogUm91bmRlZFJlY3QsIGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IFJvdW5kZWRSZWN0IHtcbiAgICByZWN0LnJhZGl1czEgPSBwYXJzZUZsb2F0KGVsZW1lbnQuc3R5bGUuYm9yZGVyVG9wTGVmdFJhZGl1cykgfHwgMDtcbiAgICByZWN0LnJhZGl1czIgPSBwYXJzZUZsb2F0KGVsZW1lbnQuc3R5bGUuYm9yZGVyVG9wUmlnaHRSYWRpdXMpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXMzID0gcGFyc2VGbG9hdChlbGVtZW50LnN0eWxlLmJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzKSB8fCAwO1xuICAgIHJlY3QucmFkaXVzNCA9IHBhcnNlRmxvYXQoZWxlbWVudC5zdHlsZS5ib3JkZXJCb3R0b21MZWZ0UmFkaXVzKSB8fCAwO1xuICAgIHJldHVybiByZWN0O1xuICB9XG5cbiAgcHVibGljIGFkZFBvaW50KHBvaW50OiBJUG9pbnQpOiBSb3VuZGVkUmVjdCB7XG4gICAgY29uc3QgY29weSA9IFJvdW5kZWRSZWN0LmZyb21Sb3VuZGVkUmVjdCh0aGlzKTtcbiAgICBjb3B5LnggKz0gcG9pbnQueDtcbiAgICBjb3B5LnkgKz0gcG9pbnQueTtcbiAgICBjb3B5LmdyYXZpdHlDZW50ZXIgPSB0aGlzLmNhbGN1bGF0ZUdyYXZpdHlDZW50ZXIoY29weSk7XG4gICAgcmV0dXJuIGNvcHk7XG4gIH1cbn1cbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmRlZC1yZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vaW50ZXJzZWN0aW9ucy9yb3VuZGVkLXJlY3Qvcm91bmRlZC1yZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBaUIsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE1BQU0sT0FBTyxXQUFXO0lBT2I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVpPLElBQUksR0FBcUIsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO0lBRWhFLGFBQWEsR0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBRTlDLFlBQ1MsSUFBWSxDQUFDLEVBQ2IsSUFBWSxDQUFDLEVBQ2IsUUFBZ0IsQ0FBQyxFQUNqQixTQUFpQixDQUFDLEVBQ2xCLFVBQWtCLENBQUMsRUFDbkIsVUFBa0IsQ0FBQyxFQUNuQixVQUFrQixDQUFDLEVBQ25CLFVBQWtCLENBQUM7UUFQbkIsTUFBQyxHQUFELENBQUMsQ0FBWTtRQUNiLE1BQUMsR0FBRCxDQUFDLENBQVk7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUUxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsSUFBa0I7UUFDL0MsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJ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QUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJvdW5kZWRSZWN0IH0gZnJvbSAnLi9pLXJvdW5kZWQtcmVjdCc7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RvclNoYXBlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3Rvci1zaGFwZSc7XG5cbmV4cG9ydCBjbGFzcyBSb3VuZGVkUmVjdCBpbXBsZW1lbnRzIElSb3VuZGVkUmVjdCB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IEVGQ29ubmVjdG9yU2hhcGUgPSBFRkNvbm5lY3RvclNoYXBlLlJPVU5ERURfUkVDVDtcblxuICBwdWJsaWMgZ3Jhdml0eUNlbnRlcjogSVBvaW50ID0geyB4OiAwLCB5OiAwIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHg6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHk6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHdpZHRoOiBudW1iZXIgPSAwLFxuICAgIHB1YmxpYyBoZWlnaHQ6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czE6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czI6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czM6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czQ6IG51bWJlciA9IDBcbiAgKSB7XG4gICAgdGhpcy5ncmF2aXR5Q2VudGVyID0gdGhpcy5jYWxjdWxhdGVHcmF2aXR5Q2VudGVyKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVHcmF2aXR5Q2VudGVyKHJlY3Q6IElSb3VuZGVkUmVjdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIG5ldyBQb2ludChyZWN0LnggKyByZWN0LndpZHRoIC8gMiwgcmVjdC55ICsgcmVjdC5oZWlnaHQgLyAyKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJlY3QocmVjdDogSVJlY3QpOiBSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIG5ldyBSb3VuZGVkUmVjdChyZWN0LngsIHJlY3QueSwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tUm91bmRlZFJlY3QocmVjdDogSVJvdW5kZWRSZWN0KTogUm91bmRlZFJlY3Qge1xuICAgIHJldHVybiBuZXcgUm91bmRlZFJlY3QocmVjdC54LCByZWN0LnksIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0LCByZWN0LnJhZGl1czEsIHJlY3QucmFkaXVzMiwgcmVjdC5yYWRpdXMzLCByZWN0LnJhZGl1czQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBSb3VuZGVkUmVjdCB7XG4gICAgY29uc3QgeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0gPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHJldHVybiB0aGlzLnNldFJhZGl1c0Zyb21FbGVtZW50KG5ldyBSb3VuZGVkUmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSwgZWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBzZXRSYWRpdXNGcm9tRWxlbWVudChyZWN0OiBSb3VuZGVkUmVjdCwgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogUm91bmRlZFJlY3Qge1xuICAgIGNvbnN0IGRhdGEgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIHJlY3QucmFkaXVzMSA9IHRoaXMuY29udmVydFRvUGl4ZWxzKGRhdGEuYm9yZGVyVG9wTGVmdFJhZGl1cywgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGRhdGEuZm9udFNpemUpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXMyID0gdGhpcy5jb252ZXJ0VG9QaXhlbHMoZGF0YS5ib3JkZXJUb3BSaWdodFJhZGl1cywgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGRhdGEuZm9udFNpemUpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXMzID0gdGhpcy5jb252ZXJ0VG9QaXhlbHMoZGF0YS5ib3JkZXJCb3R0b21SaWdodFJhZGl1cywgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGRhdGEuZm9udFNpemUpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXM0ID0gdGhpcy5jb252ZXJ0VG9QaXhlbHMoZGF0YS5ib3JkZXJCb3R0b21MZWZ0UmFkaXVzLCBlbGVtZW50LmNsaWVudFdpZHRoLCBlbGVtZW50LmNsaWVudEhlaWdodCwgZGF0YS5mb250U2l6ZSkgfHwgMDtcbiAgICByZXR1cm4gcmVjdDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNvbnZlcnRUb1BpeGVscyh2YWx1ZTogc3RyaW5nLCBjbGllbnRXaWR0aDogbnVtYmVyLCBjbGllbnRIZWlnaHQ6IG51bWJlciwgZm9udFNpemU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKHZhbHVlLmVuZHNXaXRoKCdweCcpKSB7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZS5lbmRzV2l0aCgnJScpKSB7XG4gICAgICBjb25zdCBwZXJjZW50YWdlID0gcGFyc2VGbG9hdCh2YWx1ZSkgLyAxMDA7XG4gICAgICByZXR1cm4gTWF0aC5tYXgoY2xpZW50V2lkdGgsIGNsaWVudEhlaWdodCkgKiBwZXJjZW50YWdlO1xuICAgIH0gZWxzZSBpZiAodmFsdWUuZW5kc1dpdGgoJ2VtJykpIHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHZhbHVlKSAqIHBhcnNlRmxvYXQoZm9udFNpemUpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUuZW5kc1dpdGgoJ3JlbScpKSB7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSkgKiBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5mb250U2l6ZSk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZS5lbmRzV2l0aCgndmgnKSkge1xuICAgICAgY29uc3QgdmggPSB3aW5kb3cuaW5uZXJIZWlnaHQgLyAxMDA7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSkgKiB2aDtcbiAgICB9IGVsc2UgaWYgKHZhbHVlLmVuZHNXaXRoKCd2dycpKSB7XG4gICAgICBjb25zdCB2dyA9IHdpbmRvdy5pbm5lcldpZHRoIC8gMTAwO1xuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpICogdnc7XG4gICAgfVxuICAgIHJldHVybiBwYXJzZUZsb2F0KHZhbHVlKSB8fCAwO1xuICB9O1xuXG4gIHB1YmxpYyBhZGRQb2ludChwb2ludDogSVBvaW50KTogUm91bmRlZFJlY3Qge1xuICAgIGNvbnN0IGNvcHkgPSBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcyk7XG4gICAgY29weS54ICs9IHBvaW50Lng7XG4gICAgY29weS55ICs9IHBvaW50Lnk7XG4gICAgY29weS5ncmF2aXR5Q2VudGVyID0gdGhpcy5jYWxjdWxhdGVHcmF2aXR5Q2VudGVyKGNvcHkpO1xuICAgIHJldHVybiBjb3B5O1xuICB9XG59XG4iXX0=
@@ -17,12 +17,17 @@ import { CreateConnectionMarkersExecution } from './create-connection-markers';
17
17
  import { GetCanBeSelectedItemsExecution } from './get-can-be-selected-items';
18
18
  import { IsConnectionUnderNodeExecution } from './is-connection-under-node';
19
19
  import { SelectAndUpdateNodeLayerExecution } from './select-and-update-node-layer';
20
+ import { GetExternalNodesRectExecution } from './get-external-nodes-rect';
21
+ import { EmitTransformChangesExecution } from './emit-transform-changes';
22
+ import { SubscribeOnTransformChangesExecution } from './subscribe-on-transform-changes';
20
23
  export const COMMON_PROVIDERS = [
21
24
  ClearSelectionExecution,
22
25
  CreateConnectionMarkersExecution,
26
+ EmitTransformChangesExecution,
23
27
  GetCanBeSelectedItemsExecution,
24
28
  GetConnectionLineExecution,
25
29
  GetElementRectInFlowExecution,
30
+ GetExternalNodesRectExecution,
26
31
  GetNodesRectExecution,
27
32
  GetOutputRectInFlowExecution,
28
33
  GetPositionInFlowExecution,
@@ -32,10 +37,11 @@ export const COMMON_PROVIDERS = [
32
37
  SelectExecution,
33
38
  SelectAllExecution,
34
39
  SelectAndUpdateNodeLayerExecution,
40
+ SubscribeOnTransformChangesExecution,
35
41
  UpdateItemLayerExecution,
36
42
  GetConnectionHandler,
37
43
  GetInputRectInFlowExecution,
38
44
  GetIncomingConnectionsHandler,
39
45
  GetOutgoingConnectionsHandler,
40
46
  ];
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBRTlCLHVCQUF1QjtJQUV2QixnQ0FBZ0M7SUFFaEMsOEJBQThCO0lBRTlCLDBCQUEwQjtJQUUxQiw2QkFBNkI7SUFFN0IscUJBQXFCO0lBRXJCLDRCQUE0QjtJQUU1QiwwQkFBMEI7SUFFMUIscUJBQXFCO0lBRXJCLDhCQUE4QjtJQUU5QiwwQkFBMEI7SUFFMUIsZUFBZTtJQUVmLGtCQUFrQjtJQUVsQixpQ0FBaUM7SUFFakMsd0JBQXdCO0lBSXhCLG9CQUFvQjtJQUdwQiwyQkFBMkI7SUFFM0IsNkJBQTZCO0lBRTdCLDZCQUE2QjtDQUU5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0SW5jb21pbmdDb25uZWN0aW9uc0hhbmRsZXIgfSBmcm9tICcuL2dldC1pbmNvbWluZy1jb25uZWN0aW9ucy5oYW5kbGVyJztcbmltcG9ydCB7IEdldE91dGdvaW5nQ29ubmVjdGlvbnNIYW5kbGVyIH0gZnJvbSAnLi9nZXQtb3V0Z29pbmctY29ubmVjdGlvbnMuaGFuZGxlcic7XG5pbXBvcnQgeyBHZXRDb25uZWN0aW9uSGFuZGxlciB9IGZyb20gJy4vZ2V0LWNvbm5lY3Rpb24uaGFuZGxlcic7XG5pbXBvcnQgeyBHZXRDb25uZWN0aW9uTGluZUV4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LWNvbm5lY3Rpb24tbGluZSc7XG5pbXBvcnQgeyBSZWRyYXdDb25uZWN0aW9uc0V4ZWN1dGlvbiB9IGZyb20gJy4vcmVkcmF3LWNvbm5lY3Rpb25zJztcbmltcG9ydCB7IEdldE91dHB1dFJlY3RJbkZsb3dFeGVjdXRpb24gfSBmcm9tICcuL2dldC1vdXRwdXQtcmVjdC1pbi1mbG93JztcbmltcG9ydCB7IEdldFNlbGVjdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LXNlbGVjdGlvbic7XG5pbXBvcnQgeyBTZWxlY3RBbGxFeGVjdXRpb24gfSBmcm9tICcuL3NlbGVjdC1hbGwnO1xuaW1wb3J0IHsgQ2xlYXJTZWxlY3Rpb25FeGVjdXRpb24gfSBmcm9tICcuL2NsZWFyLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBHZXROb2Rlc1JlY3RFeGVjdXRpb24gfSBmcm9tICcuL2dldC1ub2Rlcy1yZWN0JztcbmltcG9ydCB7IEdldEVsZW1lbnRSZWN0SW5GbG93RXhlY3V0aW9uIH0gZnJvbSAnLi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cnO1xuaW1wb3J0IHsgR2V0SW5wdXRSZWN0SW5GbG93RXhlY3V0aW9uIH0gZnJvbSAnLi9nZXQtaW5wdXQtcmVjdC1pbi1mbG93JztcbmltcG9ydCB7IFNlbGVjdEV4ZWN1dGlvbiB9IGZyb20gJy4vc2VsZWN0JztcbmltcG9ydCB7IFVwZGF0ZUl0ZW1MYXllckV4ZWN1dGlvbiB9IGZyb20gJy4vdXBkYXRlLWl0ZW0tbGF5ZXInO1xuaW1wb3J0IHsgR2V0UG9zaXRpb25JbkZsb3dFeGVjdXRpb24gfSBmcm9tICcuL2dldC1wb3NpdGlvbi1pbi1mbG93JztcbmltcG9ydCB7IENyZWF0ZUNvbm5lY3Rpb25NYXJrZXJzRXhlY3V0aW9uIH0gZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1tYXJrZXJzJztcbmltcG9ydCB7IEdldENhbkJlU2VsZWN0ZWRJdGVtc0V4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LWNhbi1iZS1zZWxlY3RlZC1pdGVtcyc7XG5pbXBvcnQgeyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVFeGVjdXRpb24gfSBmcm9tICcuL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZSc7XG5pbXBvcnQgeyBTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJFeGVjdXRpb24gfSBmcm9tICcuL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXInO1xuXG5leHBvcnQgY29uc3QgQ09NTU9OX1BST1ZJREVSUyA9IFtcblxuICBDbGVhclNlbGVjdGlvbkV4ZWN1dGlvbixcblxuICBDcmVhdGVDb25uZWN0aW9uTWFya2Vyc0V4ZWN1dGlvbixcblxuICBHZXRDYW5CZVNlbGVjdGVkSXRlbXNFeGVjdXRpb24sXG5cbiAgR2V0Q29ubmVjdGlvbkxpbmVFeGVjdXRpb24sXG5cbiAgR2V0RWxlbWVudFJlY3RJbkZsb3dFeGVjdXRpb24sXG5cbiAgR2V0Tm9kZXNSZWN0RXhlY3V0aW9uLFxuXG4gIEdldE91dHB1dFJlY3RJbkZsb3dFeGVjdXRpb24sXG5cbiAgR2V0UG9zaXRpb25JbkZsb3dFeGVjdXRpb24sXG5cbiAgR2V0U2VsZWN0aW9uRXhlY3V0aW9uLFxuXG4gIElzQ29ubmVjdGlvblVuZGVyTm9kZUV4ZWN1dGlvbixcblxuICBSZWRyYXdDb25uZWN0aW9uc0V4ZWN1dGlvbixcblxuICBTZWxlY3RFeGVjdXRpb24sXG5cbiAgU2VsZWN0QWxsRXhlY3V0aW9uLFxuXG4gIFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllckV4ZWN1dGlvbixcblxuICBVcGRhdGVJdGVtTGF5ZXJFeGVjdXRpb24sXG5cblxuXG4gIEdldENvbm5lY3Rpb25IYW5kbGVyLFxuXG5cbiAgR2V0SW5wdXRSZWN0SW5GbG93RXhlY3V0aW9uLFxuXG4gIEdldEluY29taW5nQ29ubmVjdGlvbnNIYW5kbGVyLFxuXG4gIEdldE91dGdvaW5nQ29ubmVjdGlvbnNIYW5kbGVyLFxuXG5dO1xuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXhGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBRTlCLHVCQUF1QjtJQUV2QixnQ0FBZ0M7SUFFaEMsNkJBQTZCO0lBRTdCLDhCQUE4QjtJQUU5QiwwQkFBMEI7SUFFMUIsNkJBQTZCO0lBRTdCLDZCQUE2QjtJQUU3QixxQkFBcUI7SUFFckIsNEJBQTRCO0lBRTVCLDBCQUEwQjtJQUUxQixxQkFBcUI7SUFFckIsOEJBQThCO0lBRTlCLDBCQUEwQjtJQUUxQixlQUFlO0lBRWYsa0JBQWtCO0lBRWxCLGlDQUFpQztJQUVqQyxvQ0FBb0M7SUFFcEMsd0JBQXdCO0lBSXhCLG9CQUFvQjtJQUdwQiwyQkFBMkI7SUFFM0IsNkJBQTZCO0lBRTdCLDZCQUE2QjtDQUU5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0SW5jb21pbmdDb25uZWN0aW9uc0hhbmRsZXIgfSBmcm9tICcuL2dldC1pbmNvbWluZy1jb25uZWN0aW9ucy5oYW5kbGVyJztcbmltcG9ydCB7IEdldE91dGdvaW5nQ29ubmVjdGlvbnNIYW5kbGVyIH0gZnJvbSAnLi9nZXQtb3V0Z29pbmctY29ubmVjdGlvbnMuaGFuZGxlcic7XG5pbXBvcnQgeyBHZXRDb25uZWN0aW9uSGFuZGxlciB9IGZyb20gJy4vZ2V0LWNvbm5lY3Rpb24uaGFuZGxlcic7XG5pbXBvcnQgeyBHZXRDb25uZWN0aW9uTGluZUV4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LWNvbm5lY3Rpb24tbGluZSc7XG5pbXBvcnQgeyBSZWRyYXdDb25uZWN0aW9uc0V4ZWN1dGlvbiB9IGZyb20gJy4vcmVkcmF3LWNvbm5lY3Rpb25zJztcbmltcG9ydCB7IEdldE91dHB1dFJlY3RJbkZsb3dFeGVjdXRpb24gfSBmcm9tICcuL2dldC1vdXRwdXQtcmVjdC1pbi1mbG93JztcbmltcG9ydCB7IEdldFNlbGVjdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LXNlbGVjdGlvbic7XG5pbXBvcnQgeyBTZWxlY3RBbGxFeGVjdXRpb24gfSBmcm9tICcuL3NlbGVjdC1hbGwnO1xuaW1wb3J0IHsgQ2xlYXJTZWxlY3Rpb25FeGVjdXRpb24gfSBmcm9tICcuL2NsZWFyLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBHZXROb2Rlc1JlY3RFeGVjdXRpb24gfSBmcm9tICcuL2dldC1ub2Rlcy1yZWN0JztcbmltcG9ydCB7IEdldEVsZW1lbnRSZWN0SW5GbG93RXhlY3V0aW9uIH0gZnJvbSAnLi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cnO1xuaW1wb3J0IHsgR2V0SW5wdXRSZWN0SW5GbG93RXhlY3V0aW9uIH0gZnJvbSAnLi9nZXQtaW5wdXQtcmVjdC1pbi1mbG93JztcbmltcG9ydCB7IFNlbGVjdEV4ZWN1dGlvbiB9IGZyb20gJy4vc2VsZWN0JztcbmltcG9ydCB7IFVwZGF0ZUl0ZW1MYXllckV4ZWN1dGlvbiB9IGZyb20gJy4vdXBkYXRlLWl0ZW0tbGF5ZXInO1xuaW1wb3J0IHsgR2V0UG9zaXRpb25JbkZsb3dFeGVjdXRpb24gfSBmcm9tICcuL2dldC1wb3NpdGlvbi1pbi1mbG93JztcbmltcG9ydCB7IENyZWF0ZUNvbm5lY3Rpb25NYXJrZXJzRXhlY3V0aW9uIH0gZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1tYXJrZXJzJztcbmltcG9ydCB7IEdldENhbkJlU2VsZWN0ZWRJdGVtc0V4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LWNhbi1iZS1zZWxlY3RlZC1pdGVtcyc7XG5pbXBvcnQgeyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVFeGVjdXRpb24gfSBmcm9tICcuL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZSc7XG5pbXBvcnQgeyBTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJFeGVjdXRpb24gfSBmcm9tICcuL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXInO1xuaW1wb3J0IHsgR2V0RXh0ZXJuYWxOb2Rlc1JlY3RFeGVjdXRpb24gfSBmcm9tICcuL2dldC1leHRlcm5hbC1ub2Rlcy1yZWN0JztcbmltcG9ydCB7IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzRXhlY3V0aW9uIH0gZnJvbSAnLi9lbWl0LXRyYW5zZm9ybS1jaGFuZ2VzJztcbmltcG9ydCB7IFN1YnNjcmliZU9uVHJhbnNmb3JtQ2hhbmdlc0V4ZWN1dGlvbiB9IGZyb20gJy4vc3Vic2NyaWJlLW9uLXRyYW5zZm9ybS1jaGFuZ2VzJztcblxuZXhwb3J0IGNvbnN0IENPTU1PTl9QUk9WSURFUlMgPSBbXG5cbiAgQ2xlYXJTZWxlY3Rpb25FeGVjdXRpb24sXG5cbiAgQ3JlYXRlQ29ubmVjdGlvbk1hcmtlcnNFeGVjdXRpb24sXG5cbiAgRW1pdFRyYW5zZm9ybUNoYW5nZXNFeGVjdXRpb24sXG5cbiAgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zRXhlY3V0aW9uLFxuXG4gIEdldENvbm5lY3Rpb25MaW5lRXhlY3V0aW9uLFxuXG4gIEdldEVsZW1lbnRSZWN0SW5GbG93RXhlY3V0aW9uLFxuXG4gIEdldEV4dGVybmFsTm9kZXNSZWN0RXhlY3V0aW9uLFxuXG4gIEdldE5vZGVzUmVjdEV4ZWN1dGlvbixcblxuICBHZXRPdXRwdXRSZWN0SW5GbG93RXhlY3V0aW9uLFxuXG4gIEdldFBvc2l0aW9uSW5GbG93RXhlY3V0aW9uLFxuXG4gIEdldFNlbGVjdGlvbkV4ZWN1dGlvbixcblxuICBJc0Nvbm5lY3Rpb25VbmRlck5vZGVFeGVjdXRpb24sXG5cbiAgUmVkcmF3Q29ubmVjdGlvbnNFeGVjdXRpb24sXG5cbiAgU2VsZWN0RXhlY3V0aW9uLFxuXG4gIFNlbGVjdEFsbEV4ZWN1dGlvbixcblxuICBTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJFeGVjdXRpb24sXG5cbiAgU3Vic2NyaWJlT25UcmFuc2Zvcm1DaGFuZ2VzRXhlY3V0aW9uLFxuXG4gIFVwZGF0ZUl0ZW1MYXllckV4ZWN1dGlvbixcblxuXG5cbiAgR2V0Q29ubmVjdGlvbkhhbmRsZXIsXG5cblxuICBHZXRJbnB1dFJlY3RJbkZsb3dFeGVjdXRpb24sXG5cbiAgR2V0SW5jb21pbmdDb25uZWN0aW9uc0hhbmRsZXIsXG5cbiAgR2V0T3V0Z29pbmdDb25uZWN0aW9uc0hhbmRsZXIsXG5cbl07XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './subscribe-on-transform-changes.execution';
2
+ export * from './subscribe-on-transform-changes.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9zdWJzY3JpYmUtb24tdHJhbnNmb3JtLWNoYW5nZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0Q0FBNEMsQ0FBQztBQUUzRCxjQUFjLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpYmUtb24tdHJhbnNmb3JtLWNoYW5nZXMuZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpYmUtb24tdHJhbnNmb3JtLWNoYW5nZXMucmVxdWVzdCc7XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { __decorate } from "tslib";
2
+ import { SubscribeOnTransformChangesRequest } from './subscribe-on-transform-changes.request';
3
+ import { Injectable } from '@angular/core';
4
+ import { merge } from 'rxjs';
5
+ import { FExecutionRegister } from '../../infrastructure';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../f-storage";
8
+ let SubscribeOnTransformChangesExecution = class SubscribeOnTransformChangesExecution {
9
+ fTransformStore;
10
+ fComponentsStore;
11
+ constructor(fTransformStore, fComponentsStore) {
12
+ this.fTransformStore = fTransformStore;
13
+ this.fComponentsStore = fComponentsStore;
14
+ }
15
+ handle(request) {
16
+ return merge(this.fTransformStore.changes, this.fComponentsStore.changes);
17
+ }
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SubscribeOnTransformChangesExecution, deps: [{ token: i1.FTransformStore }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
19
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SubscribeOnTransformChangesExecution });
20
+ };
21
+ SubscribeOnTransformChangesExecution = __decorate([
22
+ FExecutionRegister(SubscribeOnTransformChangesRequest)
23
+ ], SubscribeOnTransformChangesExecution);
24
+ export { SubscribeOnTransformChangesExecution };
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SubscribeOnTransformChangesExecution, decorators: [{
26
+ type: Injectable
27
+ }], ctorParameters: () => [{ type: i1.FTransformStore }, { type: i1.FComponentsStore }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaWJlLW9uLXRyYW5zZm9ybS1jaGFuZ2VzLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3N1YnNjcmliZS1vbi10cmFuc2Zvcm0tY2hhbmdlcy9zdWJzY3JpYmUtb24tdHJhbnNmb3JtLWNoYW5nZXMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFekMsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7OztBQUkvRCxJQUFNLG9DQUFvQyxHQUExQyxNQUFNLG9DQUFvQztJQUlyQztJQUNBO0lBRlYsWUFDVSxlQUFnQyxFQUNoQyxnQkFBa0M7UUFEbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUEyQztRQUN2RCxPQUFPLEtBQUssQ0FDVixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FDOUIsQ0FBQztJQUNKLENBQUM7dUdBZFUsb0NBQW9DOzJHQUFwQyxvQ0FBb0M7O0FBQXBDLG9DQUFvQztJQURoRCxrQkFBa0IsQ0FBQyxrQ0FBa0MsQ0FBQztHQUMxQyxvQ0FBb0MsQ0FlaEQ7OzJGQWZZLG9DQUFvQztrQkFGaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YnNjcmliZU9uVHJhbnNmb3JtQ2hhbmdlc1JlcXVlc3QgfSBmcm9tICcuL3N1YnNjcmliZS1vbi10cmFuc2Zvcm0tY2hhbmdlcy5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlLCBGVHJhbnNmb3JtU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFN1YnNjcmliZU9uVHJhbnNmb3JtQ2hhbmdlc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgU3Vic2NyaWJlT25UcmFuc2Zvcm1DaGFuZ2VzRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxTdWJzY3JpYmVPblRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0LCBPYnNlcnZhYmxlPHZvaWQ+PiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmVHJhbnNmb3JtU3RvcmU6IEZUcmFuc2Zvcm1TdG9yZSxcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmVcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFN1YnNjcmliZU9uVHJhbnNmb3JtQ2hhbmdlc1JlcXVlc3QpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gbWVyZ2UoXG4gICAgICB0aGlzLmZUcmFuc2Zvcm1TdG9yZS5jaGFuZ2VzLFxuICAgICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXNcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export class SubscribeOnTransformChangesRequest {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaWJlLW9uLXRyYW5zZm9ybS1jaGFuZ2VzLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9zdWJzY3JpYmUtb24tdHJhbnNmb3JtLWNoYW5nZXMvc3Vic2NyaWJlLW9uLXRyYW5zZm9ybS1jaGFuZ2VzLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGtDQUFrQztDQUU5QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTdWJzY3JpYmVPblRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0IHtcblxufVxuIl19