@foblex/flow 1.3.5 → 1.4.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 (142) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +44 -1
  3. package/domain/get-connection-vector/get-connection-vector.request.d.ts +3 -3
  4. package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +5 -5
  5. package/esm2022/domain/get-connection-vector/get-connection-vector.request.mjs +1 -1
  6. package/esm2022/f-backgroud/domain/i-f-background-pattern.mjs +3 -0
  7. package/esm2022/f-backgroud/domain/index.mjs +2 -0
  8. package/esm2022/f-backgroud/domain/public-api.mjs +2 -0
  9. package/esm2022/f-backgroud/f-background-base.mjs +11 -0
  10. package/esm2022/f-backgroud/f-background.component.mjs +59 -0
  11. package/esm2022/{components/f-flow/f-backgroud → f-backgroud}/f-cell-pattern/f-cell-pattern.component.mjs +1 -1
  12. package/esm2022/f-backgroud/f-cell-pattern/index.mjs +2 -0
  13. package/esm2022/f-backgroud/f-cell-pattern/public-api.mjs +2 -0
  14. package/esm2022/f-backgroud/index.mjs +5 -0
  15. package/esm2022/f-backgroud/public-api.mjs +4 -0
  16. package/esm2022/f-canvas/domain/f-canvas-change.event.mjs +7 -0
  17. package/esm2022/f-canvas/domain/index.mjs +2 -0
  18. package/esm2022/f-canvas/domain/public-api.mjs +2 -0
  19. package/esm2022/f-canvas/f-canvas-base.mjs +26 -0
  20. package/esm2022/{components/f-flow/f-canvas → f-canvas}/f-canvas.component.mjs +3 -3
  21. package/esm2022/f-canvas/f-zoom/f-zoom-base.mjs +94 -0
  22. package/esm2022/f-canvas/f-zoom/f-zoom.directive.mjs +59 -0
  23. package/esm2022/f-canvas/f-zoom/index.mjs +3 -0
  24. package/esm2022/f-canvas/f-zoom/public-api.mjs +2 -0
  25. package/esm2022/f-canvas/index.mjs +5 -0
  26. package/esm2022/f-canvas/public-api.mjs +4 -0
  27. package/esm2022/f-components-store.mjs +1 -1
  28. package/esm2022/f-connection/common/cast-to-connection-behavior.mjs +4 -4
  29. package/esm2022/f-connection/common/cast-to-connection-type.mjs +4 -4
  30. package/esm2022/f-connection/common/e-f-connection-behavior.mjs +6 -0
  31. package/esm2022/f-connection/common/e-f-connection-type.mjs +7 -0
  32. package/esm2022/f-connection/common/f-connection-base.mjs +5 -3
  33. package/esm2022/f-connection/common/index.mjs +3 -3
  34. package/esm2022/f-connection/common/path-constructor/bezier-path/bezier-path.mjs +29 -0
  35. package/esm2022/f-connection/common/path-constructor/bezier-path/index.mjs +2 -0
  36. package/esm2022/f-connection/common/path-constructor/index.mjs +2 -2
  37. package/esm2022/f-connection/common/path-constructor/path-constructor.mjs +6 -5
  38. package/esm2022/f-connection/common/public-api.mjs +3 -3
  39. package/esm2022/f-connection/f-connection/f-connection.component.mjs +5 -5
  40. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +5 -5
  41. package/esm2022/f-connection/f-marker/e-f-marker-type.mjs +3 -3
  42. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +44 -0
  43. package/esm2022/f-connection/f-marker/index.mjs +2 -2
  44. package/esm2022/f-draggable/selection-area/selection-area.prepare-drag-sequence.mjs +1 -1
  45. package/esm2022/f-flow/domain/redraw-connections/redraw-connections.handler.mjs +46 -0
  46. package/esm2022/f-flow/f-flow.component.mjs +95 -0
  47. package/esm2022/f-flow/f-parent.injection-token.mjs +3 -0
  48. package/esm2022/f-flow/i-flow-base.mjs +3 -0
  49. package/esm2022/f-flow/index.mjs +5 -0
  50. package/esm2022/f-flow/public-api.mjs +2 -0
  51. package/esm2022/f-flow.module.mjs +9 -7
  52. package/esm2022/f-node/{f-node.component.mjs → f-node.directive.mjs} +7 -7
  53. package/esm2022/f-node/index.mjs +2 -2
  54. package/esm2022/f-node/public-api.mjs +2 -2
  55. package/esm2022/public-api.mjs +4 -2
  56. package/{components/f-flow/f-backgroud → f-backgroud}/f-background.component.d.ts +3 -4
  57. package/{components/f-flow/f-canvas → f-canvas}/f-canvas-base.d.ts +3 -3
  58. package/{components/f-flow/f-canvas → f-canvas}/f-canvas.component.d.ts +3 -3
  59. package/{components/f-flow/f-canvas → f-canvas}/f-zoom/f-zoom-base.d.ts +1 -1
  60. package/{components/f-flow/f-canvas → f-canvas}/f-zoom/f-zoom.directive.d.ts +1 -1
  61. package/f-components-store.d.ts +3 -1
  62. package/f-connection/common/cast-to-connection-behavior.d.ts +2 -2
  63. package/f-connection/common/cast-to-connection-type.d.ts +2 -2
  64. package/f-connection/common/{e-connection-behavior.d.ts → e-f-connection-behavior.d.ts} +1 -1
  65. package/f-connection/common/{e-connection-type.d.ts → e-f-connection-type.d.ts} +1 -1
  66. package/f-connection/common/f-connection-base.d.ts +4 -4
  67. package/f-connection/common/index.d.ts +2 -2
  68. package/f-connection/common/path-constructor/{bezier-path.d.ts → bezier-path/bezier-path.d.ts} +3 -2
  69. package/f-connection/common/path-constructor/bezier-path/index.d.ts +1 -0
  70. package/f-connection/common/path-constructor/index.d.ts +1 -1
  71. package/f-connection/common/path-constructor/path-constructor.d.ts +2 -2
  72. package/f-connection/common/public-api.d.ts +2 -2
  73. package/f-connection/f-connection/f-connection.component.d.ts +6 -6
  74. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +5 -5
  75. package/f-connection/f-marker/e-f-marker-type.d.ts +2 -2
  76. package/f-connection/f-marker/f-marker.directive.d.ts +15 -0
  77. package/f-connection/f-marker/index.d.ts +1 -1
  78. package/f-flow/domain/redraw-connections/redraw-connections.handler.d.ts +16 -0
  79. package/f-flow/f-flow.component.d.ts +26 -0
  80. package/{components/f-flow → f-flow}/index.d.ts +1 -2
  81. package/f-flow/public-api.d.ts +1 -0
  82. package/f-flow.module.d.ts +6 -6
  83. package/f-node/{f-node.component.d.ts → f-node.directive.d.ts} +3 -3
  84. package/f-node/index.d.ts +1 -1
  85. package/f-node/public-api.d.ts +1 -1
  86. package/fesm2022/foblex-flow.mjs +2581 -2603
  87. package/fesm2022/foblex-flow.mjs.map +1 -1
  88. package/package.json +4 -5
  89. package/public-api.d.ts +3 -1
  90. package/components/f-flow/f-flow.component.d.ts +0 -101
  91. package/components/f-flow/public-api.d.ts +0 -3
  92. package/components/index.d.ts +0 -1
  93. package/components/public-api.d.ts +0 -1
  94. package/esm2022/components/f-flow/f-backgroud/domain/i-f-background-pattern.mjs +0 -3
  95. package/esm2022/components/f-flow/f-backgroud/domain/index.mjs +0 -2
  96. package/esm2022/components/f-flow/f-backgroud/domain/public-api.mjs +0 -2
  97. package/esm2022/components/f-flow/f-backgroud/f-background-base.mjs +0 -11
  98. package/esm2022/components/f-flow/f-backgroud/f-background.component.mjs +0 -60
  99. package/esm2022/components/f-flow/f-backgroud/f-cell-pattern/index.mjs +0 -2
  100. package/esm2022/components/f-flow/f-backgroud/f-cell-pattern/public-api.mjs +0 -2
  101. package/esm2022/components/f-flow/f-backgroud/index.mjs +0 -5
  102. package/esm2022/components/f-flow/f-backgroud/public-api.mjs +0 -4
  103. package/esm2022/components/f-flow/f-canvas/domain/f-canvas-change.event.mjs +0 -7
  104. package/esm2022/components/f-flow/f-canvas/domain/index.mjs +0 -2
  105. package/esm2022/components/f-flow/f-canvas/domain/public-api.mjs +0 -2
  106. package/esm2022/components/f-flow/f-canvas/f-canvas-base.mjs +0 -26
  107. package/esm2022/components/f-flow/f-canvas/f-zoom/f-zoom-base.mjs +0 -94
  108. package/esm2022/components/f-flow/f-canvas/f-zoom/f-zoom.directive.mjs +0 -59
  109. package/esm2022/components/f-flow/f-canvas/f-zoom/index.mjs +0 -3
  110. package/esm2022/components/f-flow/f-canvas/f-zoom/public-api.mjs +0 -2
  111. package/esm2022/components/f-flow/f-canvas/index.mjs +0 -5
  112. package/esm2022/components/f-flow/f-canvas/public-api.mjs +0 -4
  113. package/esm2022/components/f-flow/f-flow.component.mjs +0 -184
  114. package/esm2022/components/f-flow/f-parent.injection-token.mjs +0 -3
  115. package/esm2022/components/f-flow/i-flow-base.mjs +0 -3
  116. package/esm2022/components/f-flow/index.mjs +0 -6
  117. package/esm2022/components/f-flow/public-api.mjs +0 -4
  118. package/esm2022/components/index.mjs +0 -2
  119. package/esm2022/components/public-api.mjs +0 -2
  120. package/esm2022/f-connection/common/e-connection-behavior.mjs +0 -6
  121. package/esm2022/f-connection/common/e-connection-type.mjs +0 -7
  122. package/esm2022/f-connection/common/path-constructor/bezier-path.mjs +0 -7
  123. package/esm2022/f-connection/f-marker/f-marker.component.mjs +0 -39
  124. package/f-connection/f-marker/f-marker.component.d.ts +0 -15
  125. /package/{components/f-flow/f-backgroud → f-backgroud}/domain/i-f-background-pattern.d.ts +0 -0
  126. /package/{components/f-flow/f-backgroud → f-backgroud}/domain/index.d.ts +0 -0
  127. /package/{components/f-flow/f-backgroud → f-backgroud}/domain/public-api.d.ts +0 -0
  128. /package/{components/f-flow/f-backgroud → f-backgroud}/f-background-base.d.ts +0 -0
  129. /package/{components/f-flow/f-backgroud → f-backgroud}/f-cell-pattern/f-cell-pattern.component.d.ts +0 -0
  130. /package/{components/f-flow/f-backgroud → f-backgroud}/f-cell-pattern/index.d.ts +0 -0
  131. /package/{components/f-flow/f-backgroud → f-backgroud}/f-cell-pattern/public-api.d.ts +0 -0
  132. /package/{components/f-flow/f-backgroud → f-backgroud}/index.d.ts +0 -0
  133. /package/{components/f-flow/f-backgroud → f-backgroud}/public-api.d.ts +0 -0
  134. /package/{components/f-flow/f-canvas → f-canvas}/domain/f-canvas-change.event.d.ts +0 -0
  135. /package/{components/f-flow/f-canvas → f-canvas}/domain/index.d.ts +0 -0
  136. /package/{components/f-flow/f-canvas → f-canvas}/domain/public-api.d.ts +0 -0
  137. /package/{components/f-flow/f-canvas → f-canvas}/f-zoom/index.d.ts +0 -0
  138. /package/{components/f-flow/f-canvas → f-canvas}/f-zoom/public-api.d.ts +0 -0
  139. /package/{components/f-flow/f-canvas → f-canvas}/index.d.ts +0 -0
  140. /package/{components/f-flow/f-canvas → f-canvas}/public-api.d.ts +0 -0
  141. /package/{components/f-flow → f-flow}/f-parent.injection-token.d.ts +0 -0
  142. /package/{components/f-flow → f-flow}/i-flow-base.d.ts +0 -0
@@ -1,184 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
2
- import { F_FLOW } from './i-flow-base';
3
- import { FComponentsStore } from '../../f-components-store';
4
- import { debounceTime, startWith, Subscription } from 'rxjs';
5
- import { CANVAS_PROVIDERS, CONNECTIONS_PROVIDERS, EXTERNAL_ITEM_PROVIDERS, NODE_PROVIDERS, SELECTION_AREA_PROVIDERS, SINGLE_SELECT_PROVIDERS } from '../../f-draggable';
6
- import { FDraggableDataContext } from '../../f-draggable';
7
- import { COMMON_PROVIDERS, GetConnectionVectorRequest } from '../../domain';
8
- import { F_PARENT } from './f-parent.injection-token';
9
- import { FLOW } from '../../get-flow-uid';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../../domain";
12
- import * as i2 from "../../f-components-store";
13
- let uniqueId = 0;
14
- /**
15
- * `FFlowComponent` is an Angular component for managing and visualizing the flow of elements.
16
- * This component provides functionality for initialization, monitoring changes, and managing connections between elements.
17
- *
18
- * @component
19
- * @selector f-flow
20
- * @templateUrl './f-flow.component.html'
21
- * @styleUrls ['./f-flow.component.scss']
22
- * @host { '[attr.id]': 'id', class: "f-component f-flow" }
23
- * @providers {FComponentsStore, FDraggableDataContext, ...}
24
- * @changeDetection ChangeDetectionStrategy.OnPush
25
- * @implements IFlowBase, OnInit, AfterContentInit, OnDestroy
26
- */
27
- export class FFlowComponent {
28
- /**
29
- * Provides access to the host HTML element of the component.
30
- *
31
- * @returns {HTMLElement}
32
- */
33
- get hostElement() {
34
- return this.elementReference.nativeElement;
35
- }
36
- /**
37
- * Constructor for FFlowComponent.
38
- *
39
- * @param elementReference Angular ElementRef for accessing the DOM element.
40
- * @param getElementRectInFlowHandler Handler to get the rectangle of an element in the flow.
41
- * @param getConnectionVectorHandler Handler to get the connection vector.
42
- * @param getAllNodesRectHandler Handler to get the rectangle of all nodes.
43
- * @param fComponentsStore F Components Store.
44
- */
45
- constructor(elementReference, getElementRectInFlowHandler, getConnectionVectorHandler, getAllNodesRectHandler, fComponentsStore) {
46
- this.elementReference = elementReference;
47
- this.getElementRectInFlowHandler = getElementRectInFlowHandler;
48
- this.getConnectionVectorHandler = getConnectionVectorHandler;
49
- this.getAllNodesRectHandler = getAllNodesRectHandler;
50
- this.fComponentsStore = fComponentsStore;
51
- /**
52
- * Subscription for managing observables, especially for cleanup on component destruction.
53
- * @private
54
- * @type {Subscription}
55
- */
56
- this.subscription$ = new Subscription();
57
- /**
58
- * Unique identifier for each instance of the component.
59
- * Automatically generated upon component creation.
60
- *
61
- * @input
62
- * @hostBinding 'attr.id'
63
- * @type {string}
64
- */
65
- this.id = `f-flow-${uniqueId++}`;
66
- /**
67
- * Event emitted after the component has fully loaded and initialized.
68
- *
69
- * @output
70
- * @type {EventEmitter<void>}
71
- */
72
- this.fLoaded = new EventEmitter();
73
- /**
74
- * Flag indicating whether the component has loaded.
75
- * @private
76
- * @type {boolean}
77
- */
78
- this.isLoaded = false;
79
- }
80
- /**
81
- * Initializes the component, setting it as the active flow in `FComponentsStore` and assigning a unique ID.
82
- */
83
- ngOnInit() {
84
- this.fComponentsStore.fFlow = this;
85
- FLOW.UID = this.id;
86
- }
87
- /**
88
- * Called after the content of the component has been initialized.
89
- * Begins the process of monitoring and handling changes in elements.
90
- */
91
- ngAfterContentInit() {
92
- this.subscription$.add(this.subscribeOnElementsChanges());
93
- }
94
- /**
95
- * Subscribes to element changes and performs necessary actions on their change.
96
- * @returns {Subscription}
97
- * @private
98
- */
99
- subscribeOnElementsChanges() {
100
- return this.fComponentsStore.changes.pipe(startWith(null), debounceTime(20)).subscribe(() => {
101
- this.calculateConnections();
102
- if (!this.isLoaded) {
103
- this.isLoaded = true;
104
- this.fLoaded.emit();
105
- }
106
- });
107
- }
108
- /**
109
- * Performs the calculation of connections between output and input elements.
110
- * @private
111
- */
112
- calculateConnections() {
113
- this.fComponentsStore.fOutputs.forEach((output) => output.setConnected(false));
114
- this.fComponentsStore.fInputs.forEach((input) => input.setConnected(false));
115
- this.fComponentsStore.fConnections.forEach((connection) => {
116
- const output = this.fComponentsStore.fOutputs.find((x) => x.id === connection.outputId);
117
- const input = this.fComponentsStore.fInputs.find((x) => x.id === connection.inputId);
118
- if (output && input) {
119
- output.setConnected(true);
120
- input.setConnected(true);
121
- const outputRect = this.getElementRectInFlowHandler.handle(output.hostElement);
122
- const inputRect = this.getElementRectInFlowHandler.handle(input.hostElement);
123
- const vector = this.getConnectionVectorHandler.handle(new GetConnectionVectorRequest(outputRect, inputRect, connection.behavior, output.side, input.side));
124
- connection.setMarkers();
125
- connection.setVector(vector.point1, output.side, vector.point2, input.side);
126
- connection.initialize();
127
- }
128
- });
129
- }
130
- /**
131
- * Returns a rectangle representing the position and size of all nodes in the flow.
132
- * @returns {IRect}
133
- */
134
- getNodesRect() {
135
- return this.getAllNodesRectHandler.handle();
136
- }
137
- /**
138
- * Releases resources and unsubscribes from all subscriptions before the component is destroyed.
139
- */
140
- ngOnDestroy() {
141
- this.subscription$.unsubscribe();
142
- }
143
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FFlowComponent, deps: [{ token: i0.ElementRef }, { token: i1.GetElementRectInFlowHandler }, { token: i1.GetConnectionVectorHandler }, { token: i1.GetAllNodesRectHandler }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component }); }
144
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: FFlowComponent, selector: "f-flow", inputs: { id: "id" }, outputs: { fLoaded: "fLoaded" }, host: { properties: { "attr.id": "this.id" }, classAttribute: "f-component f-flow" }, providers: [
145
- FComponentsStore,
146
- FDraggableDataContext,
147
- ...SINGLE_SELECT_PROVIDERS,
148
- ...SELECTION_AREA_PROVIDERS,
149
- ...NODE_PROVIDERS,
150
- ...CANVAS_PROVIDERS,
151
- ...EXTERNAL_ITEM_PROVIDERS,
152
- ...CONNECTIONS_PROVIDERS,
153
- ...COMMON_PROVIDERS,
154
- { provide: F_FLOW, useExisting: FFlowComponent },
155
- { provide: F_PARENT, useExisting: FFlowComponent },
156
- ], ngImport: i0, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
157
- }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FFlowComponent, decorators: [{
159
- type: Component,
160
- args: [{ selector: 'f-flow', host: {
161
- '[attr.id]': 'id',
162
- class: "f-component f-flow",
163
- }, providers: [
164
- FComponentsStore,
165
- FDraggableDataContext,
166
- ...SINGLE_SELECT_PROVIDERS,
167
- ...SELECTION_AREA_PROVIDERS,
168
- ...NODE_PROVIDERS,
169
- ...CANVAS_PROVIDERS,
170
- ...EXTERNAL_ITEM_PROVIDERS,
171
- ...CONNECTIONS_PROVIDERS,
172
- ...COMMON_PROVIDERS,
173
- { provide: F_FLOW, useExisting: FFlowComponent },
174
- { provide: F_PARENT, useExisting: FFlowComponent },
175
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}\n"] }]
176
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.GetElementRectInFlowHandler }, { type: i1.GetConnectionVectorHandler }, { type: i1.GetAllNodesRectHandler }, { type: i2.FComponentsStore }], propDecorators: { id: [{
177
- type: Input
178
- }, {
179
- type: HostBinding,
180
- args: ['attr.id']
181
- }], fLoaded: [{
182
- type: Output
183
- }] } });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvY29tcG9uZW50cy9mLWZsb3cvZi1mbG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvY29tcG9uZW50cy9mLWZsb3cvZi1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQ2hELEtBQUssRUFBcUIsTUFBTSxFQUNqQyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQ2hFLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3hCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUNMLGdCQUFnQixFQUVoQiwwQkFBMEIsRUFFM0IsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUUxQyxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFHekI7Ozs7Ozs7Ozs7OztHQVlHO0FBd0JILE1BQU0sT0FBTyxjQUFjO0lBcUJ6Qjs7OztPQUlHO0lBQ0gsSUFBVyxXQUFXO1FBQ3BCLE9BQU8s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RSxRQUFRLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRTtTQUNuRCwwQkM5REgsb1VBV0E7OzJGRHNEYSxjQUFjO2tCQXZCMUIsU0FBUzsrQkFDRSxRQUFRLFFBR1o7d0JBQ0osV0FBVyxFQUFFLElBQUk7d0JBQ2pCLEtBQUssRUFBRSxvQkFBb0I7cUJBQzVCLGFBQ1U7d0JBQ1QsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLEdBQUcsdUJBQXVCO3dCQUMxQixHQUFHLHdCQUF3Qjt3QkFDM0IsR0FBRyxjQUFjO3dCQUNqQixHQUFHLGdCQUFnQjt3QkFDbkIsR0FBRyx1QkFBdUI7d0JBQzFCLEdBQUcscUJBQXFCO3dCQUN4QixHQUFHLGdCQUFnQjt3QkFDbkIsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsZ0JBQWdCLEVBQUU7d0JBQ2hELEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLGdCQUFnQixFQUFFO3FCQUNuRCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTtzT0FxQnhDLEVBQUU7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxTQUFTO2dCQW1CZixPQUFPO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLFxuICBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZfRkxPVywgSUZsb3dCYXNlIH0gZnJvbSAnLi9pLWZsb3ctYmFzZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIENBTlZBU19QUk9WSURFUlMsIENPTk5FQ1RJT05TX1BST1ZJREVSUywgRVhURVJOQUxfSVRFTV9QUk9WSURFUlMsXG4gIE5PREVfUFJPVklERVJTLFxuICBTRUxFQ1RJT05fQVJFQV9QUk9WSURFUlMsXG4gIFNJTkdMRV9TRUxFQ1RfUFJPVklERVJTXG59IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7XG4gIENPTU1PTl9QUk9WSURFUlMsIEdldEFsbE5vZGVzUmVjdEhhbmRsZXIsXG4gIEdldENvbm5lY3Rpb25WZWN0b3JIYW5kbGVyLFxuICBHZXRDb25uZWN0aW9uVmVjdG9yUmVxdWVzdCxcbiAgR2V0RWxlbWVudFJlY3RJbkZsb3dIYW5kbGVyXG59IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGX1BBUkVOVCB9IGZyb20gJy4vZi1wYXJlbnQuaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7IEZMT1cgfSBmcm9tICcuLi8uLi9nZXQtZmxvdy11aWQnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cblxuLyoqXG4gKiBgRkZsb3dDb21wb25lbnRgIGlzIGFuIEFuZ3VsYXIgY29tcG9uZW50IGZvciBtYW5hZ2luZyBhbmQgdmlzdWFsaXppbmcgdGhlIGZsb3cgb2YgZWxlbWVudHMuXG4gKiBUaGlzIGNvbXBvbmVudCBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IGZvciBpbml0aWFsaXphdGlvbiwgbW9uaXRvcmluZyBjaGFuZ2VzLCBhbmQgbWFuYWdpbmcgY29ubmVjdGlvbnMgYmV0d2VlbiBlbGVtZW50cy5cbiAqXG4gKiBAY29tcG9uZW50XG4gKiBAc2VsZWN0b3IgZi1mbG93XG4gKiBAdGVtcGxhdGVVcmwgJy4vZi1mbG93LmNvbXBvbmVudC5odG1sJ1xuICogQHN0eWxlVXJscyBbJy4vZi1mbG93LmNvbXBvbmVudC5zY3NzJ11cbiAqIEBob3N0IHsgJ1thdHRyLmlkXSc6ICdpZCcsIGNsYXNzOiBcImYtY29tcG9uZW50IGYtZmxvd1wiIH1cbiAqIEBwcm92aWRlcnMge0ZDb21wb25lbnRzU3RvcmUsIEZEcmFnZ2FibGVEYXRhQ29udGV4dCwgLi4ufVxuICogQGNoYW5nZURldGVjdGlvbiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbiAqIEBpbXBsZW1lbnRzIElGbG93QmFzZSwgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1mbG93JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtZmxvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9mLWZsb3cuY29tcG9uZW50LnNjc3MnIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWZsb3dcIixcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRkNvbXBvbmVudHNTdG9yZSxcbiAgICBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgLi4uU0lOR0xFX1NFTEVDVF9QUk9WSURFUlMsXG4gICAgLi4uU0VMRUNUSU9OX0FSRUFfUFJPVklERVJTLFxuICAgIC4uLk5PREVfUFJPVklERVJTLFxuICAgIC4uLkNBTlZBU19QUk9WSURFUlMsXG4gICAgLi4uRVhURVJOQUxfSVRFTV9QUk9WSURFUlMsXG4gICAgLi4uQ09OTkVDVElPTlNfUFJPVklERVJTLFxuICAgIC4uLkNPTU1PTl9QUk9WSURFUlMsXG4gICAgeyBwcm92aWRlOiBGX0ZMT1csIHVzZUV4aXN0aW5nOiBGRmxvd0NvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogRl9QQVJFTlQsIHVzZUV4aXN0aW5nOiBGRmxvd0NvbXBvbmVudCB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRkZsb3dDb21wb25lbnQgaW1wbGVtZW50cyBJRmxvd0Jhc2UsIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIGZvciBtYW5hZ2luZyBvYnNlcnZhYmxlcywgZXNwZWNpYWxseSBmb3IgY2xlYW51cCBvbiBjb21wb25lbnQgZGVzdHJ1Y3Rpb24uXG4gICAqIEBwcml2YXRlXG4gICAqIEB0eXBlIHtTdWJzY3JpcHRpb259XG4gICAqL1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbiQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAvKipcbiAgICogVW5pcXVlIGlkZW50aWZpZXIgZm9yIGVhY2ggaW5zdGFuY2Ugb2YgdGhlIGNvbXBvbmVudC5cbiAgICogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgdXBvbiBjb21wb25lbnQgY3JlYXRpb24uXG4gICAqXG4gICAqIEBpbnB1dFxuICAgKiBAaG9zdEJpbmRpbmcgJ2F0dHIuaWQnXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICBwdWJsaWMgaWQ6IHN0cmluZyA9IGBmLWZsb3ctJHsgdW5pcXVlSWQrKyB9YDtcblxuICAvKipcbiAgICogUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBob3N0IEhUTUwgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyB7SFRNTEVsZW1lbnR9XG4gICAqL1xuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCBhZnRlciB0aGUgY29tcG9uZW50IGhhcyBmdWxseSBsb2FkZWQgYW5kIGluaXRpYWxpemVkLlxuICAgKlxuICAgKiBAb3V0cHV0XG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8dm9pZD59XG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZMb2FkZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBoYXMgbG9hZGVkLlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHByaXZhdGUgaXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQ29uc3RydWN0b3IgZm9yIEZGbG93Q29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZWxlbWVudFJlZmVyZW5jZSBBbmd1bGFyIEVsZW1lbnRSZWYgZm9yIGFjY2Vzc2luZyB0aGUgRE9NIGVsZW1lbnQuXG4gICAqIEBwYXJhbSBnZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIgSGFuZGxlciB0byBnZXQgdGhlIHJlY3RhbmdsZSBvZiBhbiBlbGVtZW50IGluIHRoZSBmbG93LlxuICAgKiBAcGFyYW0gZ2V0Q29ubmVjdGlvblZlY3RvckhhbmRsZXIgSGFuZGxlciB0byBnZXQgdGhlIGNvbm5lY3Rpb24gdmVjdG9yLlxuICAgKiBAcGFyYW0gZ2V0QWxsTm9kZXNSZWN0SGFuZGxlciBIYW5kbGVyIHRvIGdldCB0aGUgcmVjdGFuZ2xlIG9mIGFsbCBub2Rlcy5cbiAgICogQHBhcmFtIGZDb21wb25lbnRzU3RvcmUgRiBDb21wb25lbnRzIFN0b3JlLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgcHJpdmF0ZSBnZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXI6IEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlcixcbiAgICAgIHByaXZhdGUgZ2V0Q29ubmVjdGlvblZlY3RvckhhbmRsZXI6IEdldENvbm5lY3Rpb25WZWN0b3JIYW5kbGVyLFxuICAgICAgcHJpdmF0ZSBnZXRBbGxOb2Rlc1JlY3RIYW5kbGVyOiBHZXRBbGxOb2Rlc1JlY3RIYW5kbGVyLFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgY29tcG9uZW50LCBzZXR0aW5nIGl0IGFzIHRoZSBhY3RpdmUgZmxvdyBpbiBgRkNvbXBvbmVudHNTdG9yZWAgYW5kIGFzc2lnbmluZyBhIHVuaXF1ZSBJRC5cbiAgICovXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkZsb3cgPSB0aGlzO1xuICAgIEZMT1cuVUlEID0gdGhpcy5pZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYWZ0ZXIgdGhlIGNvbnRlbnQgb2YgdGhlIGNvbXBvbmVudCBoYXMgYmVlbiBpbml0aWFsaXplZC5cbiAgICogQmVnaW5zIHRoZSBwcm9jZXNzIG9mIG1vbml0b3JpbmcgYW5kIGhhbmRsaW5nIGNoYW5nZXMgaW4gZWxlbWVudHMuXG4gICAqL1xuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uJC5hZGQodGhpcy5zdWJzY3JpYmVPbkVsZW1lbnRzQ2hhbmdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIGVsZW1lbnQgY2hhbmdlcyBhbmQgcGVyZm9ybXMgbmVjZXNzYXJ5IGFjdGlvbnMgb24gdGhlaXIgY2hhbmdlLlxuICAgKiBAcmV0dXJucyB7U3Vic2NyaXB0aW9ufVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzdWJzY3JpYmVPbkVsZW1lbnRzQ2hhbmdlcygpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aChudWxsKSwgZGVib3VuY2VUaW1lKDIwKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2FsY3VsYXRlQ29ubmVjdGlvbnMoKTtcbiAgICAgIGlmICghdGhpcy5pc0xvYWRlZCkge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mTG9hZGVkLmVtaXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtcyB0aGUgY2FsY3VsYXRpb24gb2YgY29ubmVjdGlvbnMgYmV0d2VlbiBvdXRwdXQgYW5kIGlucHV0IGVsZW1lbnRzLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBjYWxjdWxhdGVDb25uZWN0aW9ucygpOiB2b2lkIHtcblxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5mb3JFYWNoKChvdXRwdXQpID0+IG91dHB1dC5zZXRDb25uZWN0ZWQoZmFsc2UpKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cy5mb3JFYWNoKChpbnB1dCkgPT4gaW5wdXQuc2V0Q29ubmVjdGVkKGZhbHNlKSk7XG5cbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zLmZvckVhY2goKGNvbm5lY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IG91dHB1dCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB4LmlkID09PSBjb25uZWN0aW9uLm91dHB1dElkKTtcbiAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmluZCgoeCkgPT4geC5pZCA9PT0gY29ubmVjdGlvbi5pbnB1dElkKTtcblxuICAgICAgaWYgKG91dHB1dCAmJiBpbnB1dCkge1xuXG4gICAgICAgIG91dHB1dC5zZXRDb25uZWN0ZWQodHJ1ZSk7XG4gICAgICAgIGlucHV0LnNldENvbm5lY3RlZCh0cnVlKTtcblxuICAgICAgICBjb25zdCBvdXRwdXRSZWN0ID0gdGhpcy5nZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIuaGFuZGxlKG91dHB1dC5ob3N0RWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGlucHV0UmVjdCA9IHRoaXMuZ2V0RWxlbWVudFJlY3RJbkZsb3dIYW5kbGVyLmhhbmRsZShpbnB1dC5ob3N0RWxlbWVudCk7XG5cbiAgICAgICAgY29uc3QgdmVjdG9yID0gdGhpcy5nZXRDb25uZWN0aW9uVmVjdG9ySGFuZGxlci5oYW5kbGUoXG4gICAgICAgICAgICBuZXcgR2V0Q29ubmVjdGlvblZlY3RvclJlcXVlc3QoXG4gICAgICAgICAgICAgICAgb3V0cHV0UmVjdCxcbiAgICAgICAgICAgICAgICBpbnB1dFJlY3QsXG4gICAgICAgICAgICAgICAgY29ubmVjdGlvbi5iZWhhdmlvcixcbiAgICAgICAgICAgICAgICBvdXRwdXQuc2lkZSxcbiAgICAgICAgICAgICAgICBpbnB1dC5zaWRlXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIGNvbm5lY3Rpb24uc2V0TWFya2VycygpO1xuICAgICAgICBjb25uZWN0aW9uLnNldFZlY3Rvcih2ZWN0b3IucG9pbnQxLCBvdXRwdXQuc2lkZSwgdmVjdG9yLnBvaW50MiwgaW5wdXQuc2lkZSk7XG4gICAgICAgIGNvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSByZWN0YW5nbGUgcmVwcmVzZW50aW5nIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiBhbGwgbm9kZXMgaW4gdGhlIGZsb3cuXG4gICAqIEByZXR1cm5zIHtJUmVjdH1cbiAgICovXG4gIHB1YmxpYyBnZXROb2Rlc1JlY3QoKTogSVJlY3Qge1xuICAgIHJldHVybiB0aGlzLmdldEFsbE5vZGVzUmVjdEhhbmRsZXIuaGFuZGxlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVsZWFzZXMgcmVzb3VyY2VzIGFuZCB1bnN1YnNjcmliZXMgZnJvbSBhbGwgc3Vic2NyaXB0aW9ucyBiZWZvcmUgdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQuXG4gICAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24kLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZEZWZpbml0aW9uc11cIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWJhY2tncm91bmRcIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWxpbmUtYWxpZ25tZW50XCI+PC9uZy1jb250ZW50PlxuXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jYW52YXNcIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLXNlbGVjdGlvbi1hcmVhXCI+PC9uZy1jb250ZW50PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const F_PARENT = new InjectionToken('F_PARENT');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1wYXJlbnQuaW5qZWN0aW9uLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9jb21wb25lbnRzL2YtZmxvdy9mLXBhcmVudC5pbmplY3Rpb24tdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgRl9QQVJFTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0ZfUEFSRU5UJyk7XG4iXX0=
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const F_FLOW = new InjectionToken('F_FLOW');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mbG93LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2NvbXBvbmVudHMvZi1mbG93L2ktZmxvdy1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBWSxRQUFRLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBGX0ZMT1cgPSBuZXcgSW5qZWN0aW9uVG9rZW48SUZsb3dCYXNlPignRl9GTE9XJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZsb3dCYXNlIGV4dGVuZHMgSUhhc0hvc3RFbGVtZW50IHtcblxuICBpZDogc3RyaW5nO1xuXG4gIGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBmTG9hZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD47XG59XG4iXX0=
@@ -1,6 +0,0 @@
1
- export * from './f-backgroud';
2
- export * from './f-canvas';
3
- export * from './f-flow.component';
4
- export * from './i-flow-base';
5
- export * from './f-parent.injection-token';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2NvbXBvbmVudHMvZi1mbG93L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsWUFBWSxDQUFDO0FBRTNCLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1iYWNrZ3JvdWQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWZsb3cuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWZsb3ctYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1wYXJlbnQuaW5qZWN0aW9uLXRva2VuJztcbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './f-backgroud/public-api';
2
- export * from './f-canvas/public-api';
3
- export * from './f-flow.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvY29tcG9uZW50cy9mLWZsb3cvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1iYWNrZ3JvdWQvcHVibGljLWFwaSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jYW52YXMvcHVibGljLWFwaSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1mbG93LmNvbXBvbmVudCc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './f-flow';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtZmxvdyc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './f-flow/public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtZmxvdy9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,6 +0,0 @@
1
- export var EConnectionBehavior;
2
- (function (EConnectionBehavior) {
3
- EConnectionBehavior["FIXED"] = "fixed";
4
- EConnectionBehavior["FLOATING"] = "floating";
5
- })(EConnectionBehavior || (EConnectionBehavior = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1jb25uZWN0aW9uLWJlaGF2aW9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2UtY29ubmVjdGlvbi1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxtQkFLWDtBQUxELFdBQVksbUJBQW1CO0lBRTdCLHNDQUFlLENBQUE7SUFFZiw0Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUs5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVDb25uZWN0aW9uQmVoYXZpb3Ige1xuXG4gIEZJWEVEID0gJ2ZpeGVkJyxcblxuICBGTE9BVElORyA9ICdmbG9hdGluZycsXG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- export var EConnectionType;
2
- (function (EConnectionType) {
3
- EConnectionType["SEGMENT"] = "segment";
4
- EConnectionType["STRAIGHT"] = "straight";
5
- EConnectionType["BEZIER"] = "bezier";
6
- })(EConnectionType || (EConnectionType = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1jb25uZWN0aW9uLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZS1jb25uZWN0aW9uLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFPWDtBQVBELFdBQVksZUFBZTtJQUV6QixzQ0FBbUIsQ0FBQTtJQUVuQix3Q0FBcUIsQ0FBQTtJQUVyQixvQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBUFcsZUFBZSxLQUFmLGVBQWUsUUFPMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFQ29ubmVjdGlvblR5cGUge1xuXG4gIFNFR01FTlQgPSAnc2VnbWVudCcsXG5cbiAgU1RSQUlHSFQgPSAnc3RyYWlnaHQnLFxuXG4gIEJFWklFUiA9ICdiZXppZXInLFxufVxuIl19
@@ -1,7 +0,0 @@
1
- import { SegmentPath } from './segment-path';
2
- export class BezierPath {
3
- handle(from, fromSide, to, toSide, borderRadius = 8, offset = 32) {
4
- return new SegmentPath().handle(from, fromSide, to, toSide, borderRadius, offset);
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmV6aWVyLXBhdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vcGF0aC1jb25zdHJ1Y3Rvci9iZXppZXItcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsTUFBTSxPQUFPLFVBQVU7SUFFZCxNQUFNLENBQUMsSUFBWSxFQUFFLFFBQXdCLEVBQUUsRUFBVSxFQUFFLE1BQXNCLEVBQUUsZUFBdUIsQ0FBQyxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBRTdILE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwRixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUGF0aENvbnN0cnVjdG9yLCBJUGF0aENvbnN0cnVjdG9yUmVzdWx0IH0gZnJvbSAnLi9pLXBhdGgtY29uc3RydWN0b3InO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IFNlZ21lbnRQYXRoIH0gZnJvbSAnLi9zZWdtZW50LXBhdGgnO1xuaW1wb3J0IHsgRUNvbm5lY3RvclNpZGUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuXG5leHBvcnQgY2xhc3MgQmV6aWVyUGF0aCBpbXBsZW1lbnRzIElQYXRoQ29uc3RydWN0b3Ige1xuXG4gIHB1YmxpYyBoYW5kbGUoZnJvbTogSVBvaW50LCBmcm9tU2lkZTogRUNvbm5lY3RvclNpZGUsIHRvOiBJUG9pbnQsIHRvU2lkZTogRUNvbm5lY3RvclNpZGUsIGJvcmRlclJhZGl1czogbnVtYmVyID0gOCwgb2Zmc2V0ID0gMzIpOiBJUGF0aENvbnN0cnVjdG9yUmVzdWx0IHtcblxuICAgIHJldHVybiBuZXcgU2VnbWVudFBhdGgoKS5oYW5kbGUoZnJvbSwgZnJvbVNpZGUsIHRvLCB0b1NpZGUsIGJvcmRlclJhZGl1cywgb2Zmc2V0KTtcbiAgfVxufVxuIl19
@@ -1,39 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
2
- import { F_MARKER, FMarkerBase } from './f-marker-base';
3
- import { EFMarkerType } from './e-f-marker-type';
4
- import * as i0 from "@angular/core";
5
- export class FMarkerComponent extends FMarkerBase {
6
- get hostElement() {
7
- return this.elementReference.nativeElement;
8
- }
9
- constructor(elementReference) {
10
- super();
11
- this.elementReference = elementReference;
12
- this.width = 0;
13
- this.height = 0;
14
- this.refX = 0;
15
- this.refY = 0;
16
- this.type = EFMarkerType.START;
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FMarkerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: FMarkerComponent, isStandalone: true, selector: "f-marker", inputs: { hostElement: "hostElement", width: "width", height: "height", refX: "refX", refY: "refY", type: "type" }, host: { classAttribute: "f-component f-marker" }, providers: [{ provide: F_MARKER, useExisting: FMarkerComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FMarkerComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: "f-marker", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
24
- class: "f-component f-marker",
25
- }, providers: [{ provide: F_MARKER, useExisting: FMarkerComponent }], template: "<ng-content></ng-content>\n", styles: [":host{display:none}\n"] }]
26
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { hostElement: [{
27
- type: Input
28
- }], width: [{
29
- type: Input
30
- }], height: [{
31
- type: Input
32
- }], refX: [{
33
- type: Input
34
- }], refY: [{
35
- type: Input
36
- }], type: [{
37
- type: Input
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1tYXJrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1tYXJrZXIvZi1tYXJrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1tYXJrZXIvZi1tYXJrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWFqRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUUvQyxJQUNvQixXQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBa0JELFlBQ1ksZ0JBQXlDO1FBRW5ELEtBQUssRUFBRSxDQUFDO1FBRkUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQWhCckMsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUdsQixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBR25CLFNBQUksR0FBVyxDQUFDLENBQUM7UUFHakIsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUlqQixTQUFJLEdBQVcsWUFBWSxDQUFDLEtBQUssQ0FBQztJQU1sRCxDQUFDOzhHQTNCVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQiw2TkFGaEIsQ0FBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUUsaURDbEJyRSw2QkFDQTs7MkZEbUJhLGdCQUFnQjtrQkFYNUIsU0FBUzsrQkFDRSxVQUFVLGNBR1IsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSxzQkFBc0I7cUJBQzlCLGFBQ1UsQ0FBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxDQUFFOytFQUsvQyxXQUFXO3NCQUQ5QixLQUFLO2dCQU1VLEtBQUs7c0JBRHBCLEtBQUs7Z0JBSVUsTUFBTTtzQkFEckIsS0FBSztnQkFJVSxJQUFJO3NCQURuQixLQUFLO2dCQUlVLElBQUk7c0JBRG5CLEtBQUs7Z0JBS1UsSUFBSTtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGX01BUktFUiwgRk1hcmtlckJhc2UgfSBmcm9tICcuL2YtbWFya2VyLWJhc2UnO1xuaW1wb3J0IHsgRUZNYXJrZXJUeXBlIH0gZnJvbSAnLi9lLWYtbWFya2VyLXR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1tYXJrZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9mLW1hcmtlci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFsgXCIuL2YtbWFya2VyLmNvbXBvbmVudC5zY3NzXCIgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLW1hcmtlclwiLFxuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX01BUktFUiwgdXNlRXhpc3Rpbmc6IEZNYXJrZXJDb21wb25lbnQgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTWFya2VyQ29tcG9uZW50IGV4dGVuZHMgRk1hcmtlckJhc2Uge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSB3aWR0aDogbnVtYmVyID0gMDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgaGVpZ2h0OiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSByZWZYOiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSByZWZZOiBudW1iZXIgPSAwO1xuXG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHR5cGU6IHN0cmluZyA9IEVGTWFya2VyVHlwZS5TVEFSVDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -1,15 +0,0 @@
1
- import { ElementRef } from "@angular/core";
2
- import { FMarkerBase } from './f-marker-base';
3
- import * as i0 from "@angular/core";
4
- export declare class FMarkerComponent extends FMarkerBase {
5
- private elementReference;
6
- get hostElement(): HTMLElement;
7
- width: number;
8
- height: number;
9
- refX: number;
10
- refY: number;
11
- type: string;
12
- constructor(elementReference: ElementRef<HTMLElement>);
13
- static ɵfac: i0.ɵɵFactoryDeclaration<FMarkerComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<FMarkerComponent, "f-marker", never, { "hostElement": { "alias": "hostElement"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "refX": { "alias": "refX"; "required": false; }; "refY": { "alias": "refY"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, {}, never, ["*"], true, never>;
15
- }
File without changes