@fundamental-ngx/cdk 0.44.0-rc.2 → 0.44.0-rc.3

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 (37) hide show
  1. package/data-source/data-source.directive.d.ts +20 -21
  2. package/esm2022/data-source/data-source.directive.mjs +30 -32
  3. package/esm2022/forms/cva/cva-control.class.mjs +6 -7
  4. package/esm2022/utils/directives/breakpoints/breakpoint.directive.mjs +17 -13
  5. package/esm2022/utils/directives/disabled/disabled-behavior.directive.mjs +11 -17
  6. package/esm2022/utils/directives/focusable-grid/focusable-grid.directive.mjs +14 -17
  7. package/esm2022/utils/directives/focusable-item/focusable-item.directive.mjs +17 -18
  8. package/esm2022/utils/directives/focusable-list/focusable-list.directive.mjs +69 -71
  9. package/esm2022/utils/directives/initial-focus/initial-focus.directive.mjs +9 -12
  10. package/esm2022/utils/directives/intersection-spy/intersection-spy.directive.mjs +8 -9
  11. package/esm2022/utils/directives/line-clamp/line-clamp.directive.mjs +10 -11
  12. package/esm2022/utils/directives/readonly/readonly-behavior.directive.mjs +12 -18
  13. package/esm2022/utils/helpers/destroy-observable.mjs +12 -0
  14. package/esm2022/utils/helpers/index.mjs +2 -1
  15. package/esm2022/utils/services/destroyed.service.mjs +6 -1
  16. package/fesm2022/fundamental-ngx-cdk-data-source.mjs +31 -31
  17. package/fesm2022/fundamental-ngx-cdk-data-source.mjs.map +1 -1
  18. package/fesm2022/fundamental-ngx-cdk-forms.mjs +6 -6
  19. package/fesm2022/fundamental-ngx-cdk-forms.mjs.map +1 -1
  20. package/fesm2022/fundamental-ngx-cdk-utils.mjs +1827 -1830
  21. package/fesm2022/fundamental-ngx-cdk-utils.mjs.map +1 -1
  22. package/forms/cva/cva-control.class.d.ts +2 -3
  23. package/fundamental-ngx-cdk-v0.44.0-rc.3.tgz +0 -0
  24. package/package.json +2 -2
  25. package/utils/directives/breakpoints/breakpoint.directive.d.ts +5 -5
  26. package/utils/directives/disabled/disabled-behavior.directive.d.ts +4 -7
  27. package/utils/directives/focusable-grid/focusable-grid.directive.d.ts +3 -4
  28. package/utils/directives/focusable-item/focusable-item.directive.d.ts +7 -8
  29. package/utils/directives/focusable-list/focusable-list.directive.d.ts +13 -14
  30. package/utils/directives/initial-focus/initial-focus.directive.d.ts +4 -4
  31. package/utils/directives/intersection-spy/intersection-spy.directive.d.ts +3 -3
  32. package/utils/directives/line-clamp/line-clamp.directive.d.ts +6 -6
  33. package/utils/directives/readonly/readonly-behavior.directive.d.ts +4 -7
  34. package/utils/helpers/destroy-observable.d.ts +7 -0
  35. package/utils/helpers/index.d.ts +1 -0
  36. package/utils/services/destroyed.service.d.ts +4 -0
  37. package/fundamental-ngx-cdk-v0.44.0-rc.2.tgz +0 -0
@@ -1,25 +1,8 @@
1
- import { EventEmitter, OnDestroy } from '@angular/core';
2
- import { DestroyedService } from '@fundamental-ngx/cdk/utils';
1
+ import { DestroyRef, EventEmitter, OnDestroy } from '@angular/core';
3
2
  import { BehaviorSubject } from 'rxjs';
4
3
  import { DataSource, DataSourceProvider } from './models';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class DataSourceDirective<T = any, P extends DataSourceProvider<T> = DataSourceProvider<T>> implements OnDestroy {
7
- /**
8
- * Data source.
9
- * @param source
10
- */
11
- set dataSource(source: DataSource<T, P> | null);
12
- get dataSource(): DataSource<T, P> | null;
13
- /** @hidden */
14
- private _dataSource;
15
- /** @hidden */
16
- dataSourceProvider: P | undefined;
17
- /** @hidden */
18
- private _dsSubscription;
19
- /**
20
- * Data stream. Emits when new data retrieved.
21
- */
22
- readonly dataChanged$: BehaviorSubject<T[]>;
23
6
  /**
24
7
  * Emits when the data source object has been changed.
25
8
  */
@@ -32,16 +15,32 @@ export declare class DataSourceDirective<T = any, P extends DataSourceProvider<T
32
15
  * Event emitted when data provider loading state has been changed.
33
16
  */
34
17
  readonly isLoading: EventEmitter<boolean>;
18
+ /**
19
+ * Data source.
20
+ * @param source
21
+ */
22
+ set dataSource(source: DataSource<T, P> | null);
23
+ get dataSource(): DataSource<T, P> | null;
24
+ /** @hidden */
25
+ dataSourceProvider: P | undefined;
26
+ /**
27
+ * Data stream. Emits when new data retrieved.
28
+ */
29
+ readonly dataChanged$: BehaviorSubject<T[]>;
35
30
  /** @hidden */
36
- protected readonly _destroyed$: DestroyedService;
31
+ protected readonly _destroyRef: DestroyRef;
37
32
  /** @hidden */
38
- private readonly _dataSourceTransformer;
33
+ private _dataSource;
39
34
  /** @hidden */
40
- private _initializeDataSource;
35
+ private _dsSubscription;
36
+ /** @hidden */
37
+ private readonly _dataSourceTransformer;
41
38
  /** @hidden */
42
39
  ngOnDestroy(): void;
43
40
  /** @Hidden */
44
41
  protected _toDataStream(source: DataSource<T> | null): P | undefined;
42
+ /** @hidden */
43
+ private _initializeDataSource;
45
44
  static ɵfac: i0.ɵɵFactoryDeclaration<DataSourceDirective<any, any>, never>;
46
45
  static ɵdir: i0.ɵɵDirectiveDeclaration<DataSourceDirective<any, any>, "[fdkDataSource]", never, { "dataSource": { "alias": "dataSource"; "required": false; }; }, { "dataSourceChanged": "dataSourceChanged"; "dataChanged": "dataChanged"; "isLoading": "isLoading"; }, never, never, true, never, false>;
47
46
  }
@@ -1,18 +1,11 @@
1
- import { Directive, EventEmitter, inject, Input, Output } from '@angular/core';
2
- import { DestroyedService } from '@fundamental-ngx/cdk/utils';
1
+ import { DestroyRef, Directive, EventEmitter, inject, Input, Output } from '@angular/core';
3
2
  import { BehaviorSubject, Subscription } from 'rxjs';
4
- import { takeUntil } from 'rxjs/operators';
5
3
  import { isDataSource } from './helpers/is-datasource';
6
4
  import { FD_DATA_SOURCE_TRANSFORMER } from './tokens';
5
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
6
  import * as i0 from "@angular/core";
8
7
  export class DataSourceDirective {
9
8
  constructor() {
10
- /** @hidden */
11
- this._dsSubscription = new Subscription();
12
- /**
13
- * Data stream. Emits when new data retrieved.
14
- */
15
- this.dataChanged$ = new BehaviorSubject([]);
16
9
  /**
17
10
  * Emits when the data source object has been changed.
18
11
  */
@@ -25,8 +18,14 @@ export class DataSourceDirective {
25
18
  * Event emitted when data provider loading state has been changed.
26
19
  */
27
20
  this.isLoading = new EventEmitter();
21
+ /**
22
+ * Data stream. Emits when new data retrieved.
23
+ */
24
+ this.dataChanged$ = new BehaviorSubject([]);
28
25
  /** @hidden */
29
- this._destroyed$ = inject(DestroyedService);
26
+ this._destroyRef = inject(DestroyRef);
27
+ /** @hidden */
28
+ this._dsSubscription = new Subscription();
30
29
  /** @hidden */
31
30
  this._dataSourceTransformer = inject(FD_DATA_SOURCE_TRANSFORMER);
32
31
  }
@@ -43,6 +42,19 @@ export class DataSourceDirective {
43
42
  return this._dataSource;
44
43
  }
45
44
  /** @hidden */
45
+ ngOnDestroy() {
46
+ this.dataSourceProvider?.unsubscribe();
47
+ this._dsSubscription?.unsubscribe();
48
+ }
49
+ /** @Hidden */
50
+ _toDataStream(source) {
51
+ return !source
52
+ ? undefined
53
+ : this._dataSourceTransformer
54
+ ? this._dataSourceTransformer.parse(source)
55
+ : undefined;
56
+ }
57
+ /** @hidden */
46
58
  _initializeDataSource() {
47
59
  if (isDataSource(this.dataSource)) {
48
60
  this.dataSourceProvider?.unsubscribe();
@@ -55,43 +67,29 @@ export class DataSourceDirective {
55
67
  }
56
68
  this._dsSubscription = new Subscription();
57
69
  this._dsSubscription.add(this.dataSourceProvider.dataLoading
58
- .pipe(takeUntil(this._destroyed$))
70
+ .pipe(takeUntilDestroyed(this._destroyRef))
59
71
  .subscribe((isLoading) => this.isLoading.emit(isLoading)));
60
- this._dsSubscription.add(this.dataSourceProvider.dataChanges.pipe(takeUntil(this._destroyed$)).subscribe((data) => {
72
+ this._dsSubscription.add(this.dataSourceProvider.dataChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((data) => {
61
73
  this.dataChanged.emit(data);
62
74
  this.dataChanged$.next(data);
63
75
  }));
64
76
  }
65
- /** @hidden */
66
- ngOnDestroy() {
67
- this.dataSourceProvider?.unsubscribe();
68
- this._dsSubscription?.unsubscribe();
69
- }
70
- /** @Hidden */
71
- _toDataStream(source) {
72
- return !source
73
- ? undefined
74
- : this._dataSourceTransformer
75
- ? this._dataSourceTransformer.parse(source)
76
- : undefined;
77
- }
78
77
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DataSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
79
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: DataSourceDirective, isStandalone: true, selector: "[fdkDataSource]", inputs: { dataSource: "dataSource" }, outputs: { dataSourceChanged: "dataSourceChanged", dataChanged: "dataChanged", isLoading: "isLoading" }, providers: [DestroyedService], ngImport: i0 }); }
78
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: DataSourceDirective, isStandalone: true, selector: "[fdkDataSource]", inputs: { dataSource: "dataSource" }, outputs: { dataSourceChanged: "dataSourceChanged", dataChanged: "dataChanged", isLoading: "isLoading" }, ngImport: i0 }); }
80
79
  }
81
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DataSourceDirective, decorators: [{
82
81
  type: Directive,
83
82
  args: [{
84
83
  selector: '[fdkDataSource]',
85
- standalone: true,
86
- providers: [DestroyedService]
84
+ standalone: true
87
85
  }]
88
- }], propDecorators: { dataSource: [{
89
- type: Input
90
- }], dataSourceChanged: [{
86
+ }], propDecorators: { dataSourceChanged: [{
91
87
  type: Output
92
88
  }], dataChanged: [{
93
89
  type: Output
94
90
  }], isLoading: [{
95
91
  type: Output
92
+ }], dataSource: [{
93
+ type: Input
96
94
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBT3RELE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUE2QkksY0FBYztRQUNOLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3Qzs7V0FFRztRQUNNLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFFckQ7O1dBRUc7UUFFTSxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXREOztXQUVHO1FBRU0sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRS9DOztXQUVHO1FBRU0sY0FBUyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFakQsY0FBYztRQUNLLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFMUQsY0FBYztRQUNHLDJCQUFzQixHQUFHLE1BQU0sQ0FBeUIsMEJBQTBCLENBQUMsQ0FBQztLQThDeEc7SUFqR0c7OztPQUdHO0lBQ0gsSUFDSSxVQUFVLENBQUMsTUFBK0I7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQXdDRCxjQUFjO0lBQ04scUJBQXFCO1FBQ3pCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFFdkMsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsQ0FBQztTQUN2QztRQUNELDhFQUE4RTtRQUM5RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXO2FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2pDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDaEUsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxjQUFjO0lBQ0osYUFBYSxDQUFDLE1BQTRCO1FBQ2hELE9BQU8sQ0FBQyxNQUFNO1lBQ1YsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQjtnQkFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUMzQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3BCLENBQUM7OEdBbkdRLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDZNQUZqQixDQUFDLGdCQUFnQixDQUFDOzsyRkFFcEIsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDaEM7OEJBU08sVUFBVTtzQkFEYixLQUFLO2dCQTZCRyxpQkFBaUI7c0JBRHpCLE1BQU07Z0JBT0UsV0FBVztzQkFEbkIsTUFBTTtnQkFPRSxTQUFTO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cm95ZWRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGlzRGF0YVNvdXJjZSB9IGZyb20gJy4vaGVscGVycy9pcy1kYXRhc291cmNlJztcbmltcG9ydCB7IERhdGFTb3VyY2UsIERhdGFTb3VyY2VQYXJzZXIsIERhdGFTb3VyY2VQcm92aWRlciB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IEZEX0RBVEFfU09VUkNFX1RSQU5TRk9STUVSIH0gZnJvbSAnLi90b2tlbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtEYXRhU291cmNlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtEZXN0cm95ZWRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhU291cmNlRGlyZWN0aXZlPFQgPSBhbnksIFAgZXh0ZW5kcyBEYXRhU291cmNlUHJvdmlkZXI8VD4gPSBEYXRhU291cmNlUHJvdmlkZXI8VD4+XG4gICAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgICAvKipcbiAgICAgKiBEYXRhIHNvdXJjZS5cbiAgICAgKiBAcGFyYW0gc291cmNlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZGF0YVNvdXJjZShzb3VyY2U6IERhdGFTb3VyY2U8VCwgUD4gfCBudWxsKSB7XG4gICAgICAgIHRoaXMuX2RhdGFTb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVEYXRhU291cmNlKCk7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZUNoYW5nZWQubmV4dCgpO1xuICAgIH1cblxuICAgIGdldCBkYXRhU291cmNlKCk6IERhdGFTb3VyY2U8VCwgUD4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kYXRhU291cmNlOiBEYXRhU291cmNlPFQsIFA+IHwgbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZGF0YVNvdXJjZVByb3ZpZGVyOiBQIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kc1N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKlxuICAgICAqIERhdGEgc3RyZWFtLiBFbWl0cyB3aGVuIG5ldyBkYXRhIHJldHJpZXZlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBkYXRhQ2hhbmdlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRbXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiB0aGUgZGF0YSBzb3VyY2Ugb2JqZWN0IGhhcyBiZWVuIGNoYW5nZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZGF0YVNvdXJjZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gZGF0YXNvdXJjZSBjb250ZW50IGhhcyBiZWVuIGNoYW5nZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZGF0YUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBkYXRhIHByb3ZpZGVyIGxvYWRpbmcgc3RhdGUgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBpc0xvYWRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfZGVzdHJveWVkJCA9IGluamVjdChEZXN0cm95ZWRTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGF0YVNvdXJjZVRyYW5zZm9ybWVyID0gaW5qZWN0PERhdGFTb3VyY2VQYXJzZXI8VCwgUD4+KEZEX0RBVEFfU09VUkNFX1RSQU5TRk9STUVSKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZURhdGFTb3VyY2UoKTogdm9pZCB7XG4gICAgICAgIGlmIChpc0RhdGFTb3VyY2UodGhpcy5kYXRhU291cmNlKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlUHJvdmlkZXI/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2RzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIENvbnZlcnQgd2hhdGV2ZXIgY29tZXMgaW4gYXMgRGF0YVNvdXJjZSwgc28gd2UgY2FuIHdvcmsgd2l0aCBpdCBpZGVudGljYWxseVxuICAgICAgICB0aGlzLmRhdGFTb3VyY2VQcm92aWRlciA9IHRoaXMuX3RvRGF0YVN0cmVhbSh0aGlzLmRhdGFTb3VyY2UpO1xuXG4gICAgICAgIGlmICghdGhpcy5kYXRhU291cmNlUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2RzU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgICAgIHRoaXMuX2RzU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZVByb3ZpZGVyLmRhdGFMb2FkaW5nXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGlzTG9hZGluZykgPT4gdGhpcy5pc0xvYWRpbmcuZW1pdChpc0xvYWRpbmcpKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX2RzU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZVByb3ZpZGVyLmRhdGFDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFDaGFuZ2VkLmVtaXQoZGF0YSk7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhQ2hhbmdlZCQubmV4dChkYXRhKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlUHJvdmlkZXI/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2RzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBASGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF90b0RhdGFTdHJlYW0oc291cmNlOiBEYXRhU291cmNlPFQ+IHwgbnVsbCk6IFAgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gIXNvdXJjZVxuICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgIDogdGhpcy5fZGF0YVNvdXJjZVRyYW5zZm9ybWVyXG4gICAgICAgICAgICA/IHRoaXMuX2RhdGFTb3VyY2VUcmFuc2Zvcm1lci5wYXJzZShzb3VyY2UpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBTWhFLE1BQU0sT0FBTyxtQkFBbUI7SUFKaEM7UUFPSTs7V0FFRztRQUVNLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFdEQ7O1dBRUc7UUFFTSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFL0M7O1dBRUc7UUFFTSxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQW9CakQ7O1dBRUc7UUFDTSxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXJELGNBQWM7UUFDSyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUtwRCxjQUFjO1FBQ04sb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdDLGNBQWM7UUFDRywyQkFBc0IsR0FBRyxNQUFNLENBQXlCLDBCQUEwQixDQUFDLENBQUM7S0E4Q3hHO0lBL0VHOzs7T0FHRztJQUNILElBQ0ksVUFBVSxDQUFDLE1BQStCO1FBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFzQkQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsY0FBYztJQUNKLGFBQWEsQ0FBQyxNQUE0QjtRQUNoRCxPQUFPLENBQUMsTUFBTTtZQUNWLENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0I7Z0JBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNwQixDQUFDO0lBRUQsY0FBYztJQUNOLHFCQUFxQjtRQUN6QixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxDQUFDO1lBRXZDLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7U0FDdkM7UUFDRCw4RUFBOEU7UUFDOUUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDMUIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVzthQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDaEUsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM5RixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs4R0FuR1EsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQVFZLGlCQUFpQjtzQkFEekIsTUFBTTtnQkFPRSxXQUFXO3NCQURuQixNQUFNO2dCQU9FLFNBQVM7c0JBRGpCLE1BQU07Z0JBUUgsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaXNEYXRhU291cmNlIH0gZnJvbSAnLi9oZWxwZXJzL2lzLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSwgRGF0YVNvdXJjZVBhcnNlciwgRGF0YVNvdXJjZVByb3ZpZGVyIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgRkRfREFUQV9TT1VSQ0VfVFJBTlNGT1JNRVIgfSBmcm9tICcuL3Rva2Vucyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2Zka0RhdGFTb3VyY2VdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VEaXJlY3RpdmU8VCA9IGFueSwgUCBleHRlbmRzIERhdGFTb3VyY2VQcm92aWRlcjxUPiA9IERhdGFTb3VyY2VQcm92aWRlcjxUPj5cbiAgICBpbXBsZW1lbnRzIE9uRGVzdHJveVxue1xuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gdGhlIGRhdGEgc291cmNlIG9iamVjdCBoYXMgYmVlbiBjaGFuZ2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGRhdGFTb3VyY2VDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGRhdGFzb3VyY2UgY29udGVudCBoYXMgYmVlbiBjaGFuZ2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGRhdGFDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxUW10+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gZGF0YSBwcm92aWRlciBsb2FkaW5nIHN0YXRlIGhhcyBiZWVuIGNoYW5nZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaXNMb2FkaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqXG4gICAgICogRGF0YSBzb3VyY2UuXG4gICAgICogQHBhcmFtIHNvdXJjZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRhdGFTb3VyY2Uoc291cmNlOiBEYXRhU291cmNlPFQsIFA+IHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9kYXRhU291cmNlID0gc291cmNlO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplRGF0YVNvdXJjZSgpO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2VDaGFuZ2VkLm5leHQoKTtcbiAgICB9XG5cbiAgICBnZXQgZGF0YVNvdXJjZSgpOiBEYXRhU291cmNlPFQsIFA+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZGF0YVNvdXJjZVByb3ZpZGVyOiBQIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogRGF0YSBzdHJlYW0uIEVtaXRzIHdoZW4gbmV3IGRhdGEgcmV0cmlldmVkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRhdGFDaGFuZ2VkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGF0YVNvdXJjZTogRGF0YVNvdXJjZTxULCBQPiB8IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RzU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhU291cmNlVHJhbnNmb3JtZXIgPSBpbmplY3Q8RGF0YVNvdXJjZVBhcnNlcjxULCBQPj4oRkRfREFUQV9TT1VSQ0VfVFJBTlNGT1JNRVIpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlUHJvdmlkZXI/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2RzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBASGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF90b0RhdGFTdHJlYW0oc291cmNlOiBEYXRhU291cmNlPFQ+IHwgbnVsbCk6IFAgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gIXNvdXJjZVxuICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgIDogdGhpcy5fZGF0YVNvdXJjZVRyYW5zZm9ybWVyXG4gICAgICAgICAgICA/IHRoaXMuX2RhdGFTb3VyY2VUcmFuc2Zvcm1lci5wYXJzZShzb3VyY2UpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2luaXRpYWxpemVEYXRhU291cmNlKCk6IHZvaWQge1xuICAgICAgICBpZiAoaXNEYXRhU291cmNlKHRoaXMuZGF0YVNvdXJjZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZVByb3ZpZGVyPy51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgICB0aGlzLl9kc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBDb252ZXJ0IHdoYXRldmVyIGNvbWVzIGluIGFzIERhdGFTb3VyY2UsIHNvIHdlIGNhbiB3b3JrIHdpdGggaXQgaWRlbnRpY2FsbHlcbiAgICAgICAgdGhpcy5kYXRhU291cmNlUHJvdmlkZXIgPSB0aGlzLl90b0RhdGFTdHJlYW0odGhpcy5kYXRhU291cmNlKTtcblxuICAgICAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZVByb3ZpZGVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9kc1N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgICAgICB0aGlzLl9kc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2VQcm92aWRlci5kYXRhTG9hZGluZ1xuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChpc0xvYWRpbmcpID0+IHRoaXMuaXNMb2FkaW5nLmVtaXQoaXNMb2FkaW5nKSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9kc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2VQcm92aWRlci5kYXRhQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhQ2hhbmdlZC5lbWl0KGRhdGEpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YUNoYW5nZWQkLm5leHQoZGF0YSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,7 +1,6 @@
1
- import { ChangeDetectorRef, inject, Injectable } from '@angular/core';
2
- import { takeUntil } from 'rxjs';
1
+ import { ChangeDetectorRef, DestroyRef, inject, Injectable } from '@angular/core';
3
2
  import { CvaDirective } from './cva.directive';
4
- import { DestroyedService } from '@fundamental-ngx/cdk/utils';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
4
  import * as i0 from "@angular/core";
6
5
  /**
7
6
  * Base ControlValueAccessor control class.
@@ -23,14 +22,14 @@ export class CvaControl {
23
22
  */
24
23
  this._changeDetector = inject(ChangeDetectorRef);
25
24
  /** @Hidden */
26
- this._destroy$ = inject(DestroyedService);
25
+ this._destroyRef = inject(DestroyRef);
27
26
  }
28
27
  /** @hidden */
29
28
  listenToChanges() {
30
- this.cvaDirective?.markForCheck.pipe(takeUntil(this._destroy$)).subscribe(() => {
29
+ this.cvaDirective?.markForCheck.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {
31
30
  this._changeDetector.detectChanges();
32
31
  });
33
- this.cvaDirective?.detectChanges.pipe(takeUntil(this._destroy$)).subscribe(() => {
32
+ this.cvaDirective?.detectChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {
34
33
  this._changeDetector.detectChanges();
35
34
  });
36
35
  }
@@ -40,4 +39,4 @@ export class CvaControl {
40
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: CvaControl, decorators: [{
41
40
  type: Injectable
42
41
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ZhLWNvbnRyb2wuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2Zvcm1zL2N2YS9jdmEtY29udHJvbC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFOUQ7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sVUFBVTtJQUR2QjtRQUVJOztXQUVHO1FBQ0ksaUJBQVksR0FBRyxNQUFNLENBQWtCLFlBQVksRUFBRTtZQUN4RCxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ08sb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV0RCxjQUFjO1FBQ0osY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBWWxEO0lBVkcsY0FBYztJQUNkLGVBQWU7UUFDWCxJQUFJLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDM0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM1RSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0ExQlEsVUFBVTtrSEFBVixVQUFVOzsyRkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDdmFEaXJlY3RpdmUgfSBmcm9tICcuL2N2YS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGVzdHJveWVkU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcblxuLyoqXG4gKiBCYXNlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGNvbnRyb2wgY2xhc3MuXG4gKiBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggQ3ZhRGlyZWN0aXZlLlxuICpcbiAqIFRoaXMgY2xhc3MgcGVyZm9ybXMgZ2VuZXJpYyBjaGFuZ2UgZGV0ZWN0aW9uIGJhc2VkIG9uIGBDdmFEaXJlY3RpdmVgIG91dHB1dHMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdmFDb250cm9sPFQ+IHtcbiAgICAvKipcbiAgICAgKiBDb250cm9sIHZhbHVlIGFjY2Vzc29yIGRpcmVjdGl2ZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3ZhRGlyZWN0aXZlID0gaW5qZWN0PEN2YURpcmVjdGl2ZTxUPj4oQ3ZhRGlyZWN0aXZlLCB7XG4gICAgICAgIHNlbGY6IHRydWUsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgZGV0ZWN0b3IgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9jaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBfZGVzdHJveSQgPSBpbmplY3QoRGVzdHJveWVkU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGxpc3RlblRvQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdmFEaXJlY3RpdmU/Lm1hcmtGb3JDaGVjay5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY3ZhRGlyZWN0aXZlPy5kZXRlY3RDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ZhLWNvbnRyb2wuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2Zvcm1zL2N2YS9jdmEtY29udHJvbC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVoRTs7Ozs7R0FLRztBQUVILE1BQU0sT0FBTyxVQUFVO0lBRHZCO1FBRUk7O1dBRUc7UUFDSSxpQkFBWSxHQUFHLE1BQU0sQ0FBa0IsWUFBWSxFQUFFO1lBQ3hELElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDTyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXRELGNBQWM7UUFDSixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQVk5QztJQVZHLGNBQWM7SUFDZCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZGLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTFCUSxVQUFVO2tIQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDdmFEaXJlY3RpdmUgfSBmcm9tICcuL2N2YS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vKipcbiAqIEJhc2UgQ29udHJvbFZhbHVlQWNjZXNzb3IgY29udHJvbCBjbGFzcy5cbiAqIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBDdmFEaXJlY3RpdmUuXG4gKlxuICogVGhpcyBjbGFzcyBwZXJmb3JtcyBnZW5lcmljIGNoYW5nZSBkZXRlY3Rpb24gYmFzZWQgb24gYEN2YURpcmVjdGl2ZWAgb3V0cHV0cy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEN2YUNvbnRyb2w8VD4ge1xuICAgIC8qKlxuICAgICAqIENvbnRyb2wgdmFsdWUgYWNjZXNzb3IgZGlyZWN0aXZlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBjdmFEaXJlY3RpdmUgPSBpbmplY3Q8Q3ZhRGlyZWN0aXZlPFQ+PihDdmFEaXJlY3RpdmUsIHtcbiAgICAgICAgc2VsZjogdHJ1ZSxcbiAgICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoYW5nZSBkZXRlY3RvciBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIC8qKiBASGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBsaXN0ZW5Ub0NoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3ZhRGlyZWN0aXZlPy5tYXJrRm9yQ2hlY2sucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY3ZhRGlyZWN0aXZlPy5kZXRlY3RDaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -1,11 +1,12 @@
1
1
  /* eslint-disable @angular-eslint/no-input-rename */
2
- import { Directive, inject, Input, NgModule, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { DestroyRef, Directive, inject, Input, NgModule, TemplateRef, ViewContainerRef } from '@angular/core';
3
3
  import { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';
4
4
  import { ViewportSizeObservable } from '../../tokens/viewport-size.observable';
5
- import { DestroyedService, ResizeObserverService } from '../../services';
6
- import { finalize, map, startWith, switchMap, takeUntil, tap } from 'rxjs/operators';
5
+ import { ResizeObserverService } from '../../services';
6
+ import { finalize, map, startWith, switchMap, tap } from 'rxjs/operators';
7
7
  import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
8
8
  import { getBreakpointName } from './responsive-breakpoints';
9
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
9
10
  import * as i0 from "@angular/core";
10
11
  /**
11
12
  * Directive to show/hide element on specific breakpoint or range of window width.
@@ -53,6 +54,10 @@ export class BreakpointDirective {
53
54
  * Observe element width changes.
54
55
  */
55
56
  set observationSource(value) {
57
+ if (!value) {
58
+ this._sizeObservable$.next(this.viewportSize$);
59
+ return;
60
+ }
56
61
  const element = coerceElement(value);
57
62
  this._sizeObservable$.next(this._resizeObserverService.observe(value).pipe(map(() => element.offsetWidth), startWith(element.offsetWidth)));
58
63
  }
@@ -61,6 +66,10 @@ export class BreakpointDirective {
61
66
  this.templateRef = templateRef;
62
67
  this.viewContainer = viewContainer;
63
68
  /** @hidden */
69
+ this.onChanges$ = new Subject();
70
+ /** @hidden */
71
+ this._sizeObservable$ = new BehaviorSubject(inject(ViewportSizeObservable));
72
+ /** @hidden */
64
73
  this._showOnS = false;
65
74
  /** @hidden */
66
75
  this._showOnM = false;
@@ -71,13 +80,9 @@ export class BreakpointDirective {
71
80
  /** @hidden */
72
81
  this.viewportSize$ = inject(ViewportSizeObservable);
73
82
  /** @hidden */
74
- this._destroyed$ = inject(DestroyedService);
83
+ this._destroyRef = inject(DestroyRef);
75
84
  /** @hidden */
76
85
  this._resizeObserverService = inject(ResizeObserverService);
77
- /** @hidden */
78
- this.onChanges$ = new Subject();
79
- /** @hidden */
80
- this._sizeObservable$ = new BehaviorSubject(this.viewportSize$);
81
86
  }
82
87
  /** @hidden */
83
88
  ngAfterViewInit() {
@@ -94,7 +99,7 @@ export class BreakpointDirective {
94
99
  this.viewContainer.clear();
95
100
  this.templateViewRef = undefined;
96
101
  }
97
- }), takeUntil(this._destroyed$), finalize(() => {
102
+ }), takeUntilDestroyed(this._destroyRef), finalize(() => {
98
103
  this.viewContainer.clear();
99
104
  this.templateViewRef = undefined;
100
105
  }))
@@ -122,14 +127,13 @@ export class BreakpointDirective {
122
127
  return shouldShow;
123
128
  }
124
129
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: BreakpointDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
125
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: BreakpointDirective, isStandalone: true, selector: "[fdkBreakpoint], [fdkBreakpointS], [fdkBreakpointM], [fdkBreakpointL], [fdkBreakpointXL], [fdkBreakpointLt], [fdkBreakpointGt]", inputs: { fdkBreakpoint: "fdkBreakpoint", showOnS: ["fdkBreakpointS", "showOnS"], showOnM: ["fdkBreakpointM", "showOnM"], showOnL: ["fdkBreakpointL", "showOnL"], showOnXL: ["fdkBreakpointXL", "showOnXL"], fdkBreakpointLt: "fdkBreakpointLt", fdkBreakpointGt: "fdkBreakpointGt", observationSource: ["fdkBreakpointObserve", "observationSource"] }, providers: [DestroyedService], usesOnChanges: true, ngImport: i0 }); }
130
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: BreakpointDirective, isStandalone: true, selector: "[fdkBreakpoint], [fdkBreakpointS], [fdkBreakpointM], [fdkBreakpointL], [fdkBreakpointXL], [fdkBreakpointLt], [fdkBreakpointGt]", inputs: { fdkBreakpoint: "fdkBreakpoint", showOnS: ["fdkBreakpointS", "showOnS"], showOnM: ["fdkBreakpointM", "showOnM"], showOnL: ["fdkBreakpointL", "showOnL"], showOnXL: ["fdkBreakpointXL", "showOnXL"], fdkBreakpointLt: "fdkBreakpointLt", fdkBreakpointGt: "fdkBreakpointGt", observationSource: ["fdkBreakpointObserve", "observationSource"] }, usesOnChanges: true, ngImport: i0 }); }
126
131
  }
127
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: BreakpointDirective, decorators: [{
128
133
  type: Directive,
129
134
  args: [{
130
135
  selector: '[fdkBreakpoint], [fdkBreakpointS], [fdkBreakpointM], [fdkBreakpointL], [fdkBreakpointXL], [fdkBreakpointLt], [fdkBreakpointGt]',
131
- standalone: true,
132
- providers: [DestroyedService]
136
+ standalone: true
133
137
  }]
134
138
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { fdkBreakpoint: [{
135
139
  type: Input
@@ -165,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
165
169
  exports: [BreakpointDirective]
166
170
  }]
167
171
  }] });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2RpcmVjdGl2ZXMvYnJlYWtwb2ludHMvYnJlYWtwb2ludC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9EO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBR1QsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBRVIsV0FBVyxFQUNYLGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRTdFOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxtQkFBbUI7SUFDNUI7O1NBRUs7SUFDTCxJQUNJLGFBQWEsQ0FBQyxLQUF1QjtRQUNyQyxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFD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dC9uby1pbnB1dC1yZW5hbWUgKi9cbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgVmlld3BvcnRTaXplT2JzZXJ2YWJsZSB9IGZyb20gJy4uLy4uL3Rva2Vucy92aWV3cG9ydC1zaXplLm9ic2VydmFibGUnO1xuaW1wb3J0IHsgRGVzdHJveWVkU2VydmljZSwgUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgZmluYWxpemUsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCcmVha3BvaW50TmFtZSwgZ2V0QnJlYWtwb2ludE5hbWUgfSBmcm9tICcuL3Jlc3BvbnNpdmUtYnJlYWtwb2ludHMnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBzaG93L2hpZGUgZWxlbWVudCBvbiBzcGVjaWZpYyBicmVha3BvaW50IG9yIHJhbmdlIG9mIHdpbmRvdyB3aWR0aC5cbiAqIFVzZXMgbmF0aXZlIG5nSWYgZGlyZWN0aXZlIHRvIHNob3cvaGlkZSBlbGVtZW50LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjpcbiAgICAgICAgJ1tmZGtCcmVha3BvaW50XSwgW2Zka0JyZWFrcG9pbnRTXSwgW2Zka0JyZWFrcG9pbnRNXSwgW2Zka0JyZWFrcG9pbnRMXSwgW2Zka0JyZWFrcG9pbnRYTF0sIFtmZGtCcmVha3BvaW50THRdLCBbZmRrQnJlYWtwb2ludEd0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtEZXN0cm95ZWRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBCcmVha3BvaW50RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcbiAgICAvKipcbiAgICAgKiBQcm92aWRlIGxpc3Qgb2YgdGhlIGJyZWFrcG9pbnRzIHRvIHNob3cgZWxlbWVudCBvbi5cbiAgICAgKiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZka0JyZWFrcG9pbnQodmFsdWU6IEJyZWFrcG9pbnROYW1lW10pIHtcbiAgICAgICAgY29uc3QgcHJvdmlkZWRWYWx1ZXMgPSB2YWx1ZS5tYXAoKHYpID0+IHYudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgIHRoaXMuc2hvd09uUyA9IHByb3ZpZGVkVmFsdWVzLmluY2x1ZGVzKCdzJyk7XG4gICAgICAgIHRoaXMuc2hvd09uTSA9IHByb3ZpZGVkVmFsdWVzLmluY2x1ZGVzKCdtJyk7XG4gICAgICAgIHRoaXMuc2hvd09uTCA9IHByb3ZpZGVkVmFsdWVzLmluY2x1ZGVzKCdsJyk7XG4gICAgICAgIHRoaXMuc2hvd09uWEwgPSBwcm92aWRlZFZhbHVlcy5pbmNsdWRlcygneGwnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IGVsZW1lbnQgb24gUyBicmVha3BvaW50LlxuICAgICAqIFMgLSAwIC0gNTk5cHhcbiAgICAgKiAqL1xuICAgIEBJbnB1dCgnZmRrQnJlYWtwb2ludFMnKVxuICAgIHNldCBzaG93T25TKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fc2hvd09uUyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyBlbGVtZW50IG9uIE0gYnJlYWtwb2ludC5cbiAgICAgKiBNIC0gMCAtIDEwMjNweFxuICAgICAqICovXG4gICAgQElucHV0KCdmZGtCcmVha3BvaW50TScpXG4gICAgc2V0IHNob3dPbk0odmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9zaG93T25NID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IGVsZW1lbnQgb24gTCBicmVha3BvaW50LlxuICAgICAqIEwgLSAwIC0gMTQzOXB4XG4gICAgICogKi9cbiAgICBASW5wdXQoJ2Zka0JyZWFrcG9pbnRMJylcbiAgICBzZXQgc2hvd09uTCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX3Nob3dPbkwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgZWxlbWVudCBvbiBYTCBicmVha3BvaW50LlxuICAgICAqICAqL1xuICAgIEBJbnB1dCgnZmRrQnJlYWtwb2ludFhMJylcbiAgICBzZXQgc2hvd09uWEwodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9zaG93T25YTCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyBlbGVtZW50IG9uIGJyZWFrcG9pbnQgbGVzcyB0aGFuIHByb3ZpZGVkIHZhbHVlLlxuICAgICAqICovXG4gICAgQElucHV0KClcbiAgICBmZGtCcmVha3BvaW50THQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFNob3cgZWxlbWVudCBvbiBicmVha3BvaW50IGdyZWF0ZXIgdGhhbiBwcm92aWRlZCB2YWx1ZS5cbiAgICAgKiAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZka0JyZWFrcG9pbnRHdDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogT2JzZXJ2ZSBlbGVtZW50IHdpZHRoIGNoYW5nZXMuXG4gICAgICovXG4gICAgQElucHV0KCdmZGtCcmVha3BvaW50T2JzZXJ2ZScpXG4gICAgc2V0IG9ic2VydmF0aW9uU291cmNlKHZhbHVlOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBjb2VyY2VFbGVtZW50KHZhbHVlKTtcbiAgICAgICAgdGhpcy5fc2l6ZU9ic2VydmFibGUkLm5leHQoXG4gICAgICAgICAgICB0aGlzLl9yZXNpemVPYnNlcnZlclNlcnZpY2Uub2JzZXJ2ZSh2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gZWxlbWVudC5vZmZzZXRXaWR0aCksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKGVsZW1lbnQub2Zmc2V0V2lkdGgpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0ZW1wbGF0ZVZpZXdSZWY/OiBFbWJlZGRlZFZpZXdSZWY8dW5rbm93bj47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3dPblMgPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3dPbk0gPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3dPbkwgPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3dPblhMID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgdmlld3BvcnRTaXplJCA9IGluamVjdChWaWV3cG9ydFNpemVPYnNlcnZhYmxlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVzdHJveWVkJCA9IGluamVjdChEZXN0cm95ZWRTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlID0gaW5qZWN0KFJlc2l6ZU9ic2VydmVyU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uQ2hhbmdlcyQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2l6ZU9ic2VydmFibGUkOiBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTxudW1iZXI+PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTxudW1iZXI+Pih0aGlzLnZpZXdwb3J0U2l6ZSQpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LCBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5fc2l6ZU9ic2VydmFibGUkLnBpcGUoc3dpdGNoTWFwKChvYnMkKSA9PiBvYnMkKSksIHRoaXMub25DaGFuZ2VzJC5waXBlKHN0YXJ0V2l0aCh2b2lkIDApKV0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKFt3XSkgPT4gW3csIGdldEJyZWFrcG9pbnROYW1lKHcpXSBhcyBjb25zdCksXG4gICAgICAgICAgICAgICAgbWFwKChbd2lkdGgsIGJyZWFrcG9pbnROYW1lXSkgPT4gdGhpcy5fc2hvdWxkU2hvdyh3aWR0aCwgYnJlYWtwb2ludE5hbWUpKSxcbiAgICAgICAgICAgICAgICB0YXAoKHNob3VsZFNob3cpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNob3VsZFNob3cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZVZpZXdSZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlVmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVZpZXdSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlVmlld1JlZiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQkKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlVmlld1JlZiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VzJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG91bGRTaG93KHdpZHRoOiBudW1iZXIsIGN1cnJlbnRCcmVha3BvaW50OiBCcmVha3BvaW50TmFtZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBzaG91bGRTaG93T25CcmVha3BvaW50cyA9IFtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dPblMgJiYgJ1MnLFxuICAgICAgICAgICAgdGhpcy5fc2hvd09uTSAmJiAnTScsXG4gICAgICAgICAgICB0aGlzLl9zaG93T25MICYmICdMJyxcbiAgICAgICAgICAgIHRoaXMuX3Nob3dPblhMICYmICdYTCdcbiAgICAgICAgXS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgIGNvbnN0IHNob3VsZFNob3cgPSBzaG91bGRTaG93T25CcmVha3BvaW50cy5pbmNsdWRlcyhjdXJyZW50QnJlYWtwb2ludCk7XG4gICAgICAgIGlmICh0aGlzLmZka0JyZWFrcG9pbnRMdCkge1xuICAgICAgICAgICAgcmV0dXJuIHdpZHRoIDwgdGhpcy5mZGtCcmVha3BvaW50THQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZmRrQnJlYWtwb2ludEd0KSB7XG4gICAgICAgICAgICByZXR1cm4gd2lkdGggPiB0aGlzLmZka0JyZWFrcG9pbnRHdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2hvdWxkU2hvdztcbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0JyZWFrcG9pbnREaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtCcmVha3BvaW50RGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBCcmVha3BvaW50TW9kdWxlIHt9XG4iXX0=
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2RpcmVjdGl2ZXMvYnJlYWtwb2ludHMvYnJlYWtwb2ludC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9EO0FBQ3BELE9BQU8sRUFFSCxVQUFVLEVBQ1YsU0FBUyxFQUdULE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUVSLFdBQVcsRUFDWCxnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRWhFOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxtQkFBbUI7SUFDNUI7O1NBRUs7SUFDTCxJQUNJLGFBQWEsQ0FBQyxLQUF1QjtRQUNyQyxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENB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QUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgVmlld3BvcnRTaXplT2JzZXJ2YWJsZSB9IGZyb20gJy4uLy4uL3Rva2Vucy92aWV3cG9ydC1zaXplLm9ic2VydmFibGUnO1xuaW1wb3J0IHsgUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgZmluYWxpemUsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnJlYWtwb2ludE5hbWUsIGdldEJyZWFrcG9pbnROYW1lIH0gZnJvbSAnLi9yZXNwb25zaXZlLWJyZWFrcG9pbnRzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gc2hvdy9oaWRlIGVsZW1lbnQgb24gc3BlY2lmaWMgYnJlYWtwb2ludCBvciByYW5nZSBvZiB3aW5kb3cgd2lkdGguXG4gKiBVc2VzIG5hdGl2ZSBuZ0lmIGRpcmVjdGl2ZSB0byBzaG93L2hpZGUgZWxlbWVudC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6XG4gICAgICAgICdbZmRrQnJlYWtwb2ludF0sIFtmZGtCcmVha3BvaW50U10sIFtmZGtCcmVha3BvaW50TV0sIFtmZGtCcmVha3BvaW50TF0sIFtmZGtCcmVha3BvaW50WExdLCBbZmRrQnJlYWtwb2ludEx0XSwgW2Zka0JyZWFrcG9pbnRHdF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWtwb2ludERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICogUHJvdmlkZSBsaXN0IG9mIHRoZSBicmVha3BvaW50cyB0byBzaG93IGVsZW1lbnQgb24uXG4gICAgICogKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBmZGtCcmVha3BvaW50KHZhbHVlOiBCcmVha3BvaW50TmFtZVtdKSB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVkVmFsdWVzID0gdmFsdWUubWFwKCh2KSA9PiB2LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICB0aGlzLnNob3dPblMgPSBwcm92aWRlZFZhbHVlcy5pbmNsdWRlcygncycpO1xuICAgICAgICB0aGlzLnNob3dPbk0gPSBwcm92aWRlZFZhbHVlcy5pbmNsdWRlcygnbScpO1xuICAgICAgICB0aGlzLnNob3dPbkwgPSBwcm92aWRlZFZhbHVlcy5pbmNsdWRlcygnbCcpO1xuICAgICAgICB0aGlzLnNob3dPblhMID0gcHJvdmlkZWRWYWx1ZXMuaW5jbHVkZXMoJ3hsJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyBlbGVtZW50IG9uIFMgYnJlYWtwb2ludC5cbiAgICAgKiBTIC0gMCAtIDU5OXB4XG4gICAgICogKi9cbiAgICBASW5wdXQoJ2Zka0JyZWFrcG9pbnRTJylcbiAgICBzZXQgc2hvd09uUyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX3Nob3dPblMgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgZWxlbWVudCBvbiBNIGJyZWFrcG9pbnQuXG4gICAgICogTSAtIDAgLSAxMDIzcHhcbiAgICAgKiAqL1xuICAgIEBJbnB1dCgnZmRrQnJlYWtwb2ludE0nKVxuICAgIHNldCBzaG93T25NKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fc2hvd09uTSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyBlbGVtZW50IG9uIEwgYnJlYWtwb2ludC5cbiAgICAgKiBMIC0gMCAtIDE0MzlweFxuICAgICAqICovXG4gICAgQElucHV0KCdmZGtCcmVha3BvaW50TCcpXG4gICAgc2V0IHNob3dPbkwodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9zaG93T25MID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IGVsZW1lbnQgb24gWEwgYnJlYWtwb2ludC5cbiAgICAgKiAgKi9cbiAgICBASW5wdXQoJ2Zka0JyZWFrcG9pbnRYTCcpXG4gICAgc2V0IHNob3dPblhMKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fc2hvd09uWEwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgZWxlbWVudCBvbiBicmVha3BvaW50IGxlc3MgdGhhbiBwcm92aWRlZCB2YWx1ZS5cbiAgICAgKiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmRrQnJlYWtwb2ludEx0OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBTaG93IGVsZW1lbnQgb24gYnJlYWtwb2ludCBncmVhdGVyIHRoYW4gcHJvdmlkZWQgdmFsdWUuXG4gICAgICogICovXG4gICAgQElucHV0KClcbiAgICBmZGtCcmVha3BvaW50R3Q6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmUgZWxlbWVudCB3aWR0aCBjaGFuZ2VzLlxuICAgICAqL1xuICAgIEBJbnB1dCgnZmRrQnJlYWtwb2ludE9ic2VydmUnKVxuICAgIHNldCBvYnNlcnZhdGlvblNvdXJjZSh2YWx1ZTogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9zaXplT2JzZXJ2YWJsZSQubmV4dCh0aGlzLnZpZXdwb3J0U2l6ZSQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBjb2VyY2VFbGVtZW50KHZhbHVlKTtcbiAgICAgICAgdGhpcy5fc2l6ZU9ic2VydmFibGUkLm5leHQoXG4gICAgICAgICAgICB0aGlzLl9yZXNpemVPYnNlcnZlclNlcnZpY2Uub2JzZXJ2ZSh2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gZWxlbWVudC5vZmZzZXRXaWR0aCksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKGVsZW1lbnQub2Zmc2V0V2lkdGgpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0ZW1wbGF0ZVZpZXdSZWY/OiBFbWJlZGRlZFZpZXdSZWY8dW5rbm93bj47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uQ2hhbmdlcyQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2l6ZU9ic2VydmFibGUkOiBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTxudW1iZXI+PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTxudW1iZXI+PihcbiAgICAgICAgaW5qZWN0KFZpZXdwb3J0U2l6ZU9ic2VydmFibGUpXG4gICAgKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3dPblMgPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3dPbk0gPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3dPbkwgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2hvd09uWEwgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSB2aWV3cG9ydFNpemUkID0gaW5qZWN0KFZpZXdwb3J0U2l6ZU9ic2VydmFibGUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclNlcnZpY2UgPSBpbmplY3QoUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiwgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX3NpemVPYnNlcnZhYmxlJC5waXBlKHN3aXRjaE1hcCgob2JzJCkgPT4gb2JzJCkpLCB0aGlzLm9uQ2hhbmdlcyQucGlwZShzdGFydFdpdGgodm9pZCAwKSldKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChbd10pID0+IFt3LCBnZXRCcmVha3BvaW50TmFtZSh3KV0gYXMgY29uc3QpLFxuICAgICAgICAgICAgICAgIG1hcCgoW3dpZHRoLCBicmVha3BvaW50TmFtZV0pID0+IHRoaXMuX3Nob3VsZFNob3cod2lkdGgsIGJyZWFrcG9pbnROYW1lKSksXG4gICAgICAgICAgICAgICAgdGFwKChzaG91bGRTaG93KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzaG91bGRTaG93KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGVtcGxhdGVWaWV3UmVmKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVWaWV3UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVZpZXdSZWYgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZiksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVZpZXdSZWYgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlcyQubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2hvdWxkU2hvdyh3aWR0aDogbnVtYmVyLCBjdXJyZW50QnJlYWtwb2ludDogQnJlYWtwb2ludE5hbWUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc2hvdWxkU2hvd09uQnJlYWtwb2ludHMgPSBbXG4gICAgICAgICAgICB0aGlzLl9zaG93T25TICYmICdTJyxcbiAgICAgICAgICAgIHRoaXMuX3Nob3dPbk0gJiYgJ00nLFxuICAgICAgICAgICAgdGhpcy5fc2hvd09uTCAmJiAnTCcsXG4gICAgICAgICAgICB0aGlzLl9zaG93T25YTCAmJiAnWEwnXG4gICAgICAgIF0uZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICBjb25zdCBzaG91bGRTaG93ID0gc2hvdWxkU2hvd09uQnJlYWtwb2ludHMuaW5jbHVkZXMoY3VycmVudEJyZWFrcG9pbnQpO1xuICAgICAgICBpZiAodGhpcy5mZGtCcmVha3BvaW50THQpIHtcbiAgICAgICAgICAgIHJldHVybiB3aWR0aCA8IHRoaXMuZmRrQnJlYWtwb2ludEx0O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmZka0JyZWFrcG9pbnRHdCkge1xuICAgICAgICAgICAgcmV0dXJuIHdpZHRoID4gdGhpcy5mZGtCcmVha3BvaW50R3Q7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNob3VsZFNob3c7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtCcmVha3BvaW50RGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbQnJlYWtwb2ludERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgQnJlYWtwb2ludE1vZHVsZSB7fVxuIl19
@@ -1,15 +1,14 @@
1
- import { Directive, ElementRef, Input } from '@angular/core';
1
+ import { DestroyRef, Directive, ElementRef, Input } from '@angular/core';
2
2
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
- import { takeUntil, tap } from 'rxjs/operators';
3
+ import { tap } from 'rxjs/operators';
4
4
  import { BehaviorSubject, filter, ReplaySubject } from 'rxjs';
5
5
  import { setDisabledState } from './set-disabled-state';
6
6
  import { FDK_DISABLED_DIRECTIVE } from './fdk-disabled.token';
7
7
  import { FdkClickedProvider } from '../clicked';
8
- import { DestroyedService } from '../../services/destroyed.service';
9
8
  import { DeprecatedSelector, FD_DEPRECATED_DIRECTIVE_SELECTOR, getDeprecatedModel } from '../../deprecated-selector.class';
9
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
10
10
  import * as i0 from "@angular/core";
11
- import * as i1 from "../../services/destroyed.service";
12
- import * as i2 from "../clicked";
11
+ import * as i1 from "../clicked";
13
12
  export class DeprecatedDisabledBehaviorDirective extends DeprecatedSelector {
14
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DeprecatedDisabledBehaviorDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
15
14
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: DeprecatedDisabledBehaviorDirective, isStandalone: true, selector: "[fnDisabled]", providers: [
@@ -44,10 +43,10 @@ export class DisabledBehaviorDirective extends ReplaySubject {
44
43
  return this._disabled;
45
44
  }
46
45
  /** @hidden */
47
- constructor(_elementRef, _destroy$, _clicked) {
46
+ constructor(_elementRef, _destroyRef, _clicked) {
48
47
  super(1);
49
48
  this._elementRef = _elementRef;
50
- this._destroy$ = _destroy$;
49
+ this._destroyRef = _destroyRef;
51
50
  this._clicked = _clicked;
52
51
  /**
53
52
  * Whether to add `disabledClass` class to the element.
@@ -65,6 +64,7 @@ export class DisabledBehaviorDirective extends ReplaySubject {
65
64
  this.setDisabledState = (isDisabled) => {
66
65
  setDisabledState(this._elementRef, isDisabled, this.disabledClass, this.addDisabledClass);
67
66
  };
67
+ this._destroyRef.onDestroy(() => this.complete());
68
68
  }
69
69
  /** @hidden */
70
70
  ngAfterViewInit() {
@@ -73,20 +73,15 @@ export class DisabledBehaviorDirective extends ReplaySubject {
73
73
  this.setDisabledState(isDisabled);
74
74
  this._disabled = isDisabled;
75
75
  this.next(isDisabled);
76
- }), takeUntil(this._destroy$))
76
+ }), takeUntilDestroyed(this._destroyRef))
77
77
  .subscribe();
78
78
  }
79
- /** @hidden */
80
- ngOnDestroy() {
81
- this.complete();
82
- }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DisabledBehaviorDirective, deps: [{ token: i0.ElementRef }, { token: i1.DestroyedService }, { token: i2.FdkClickedProvider }], target: i0.ɵɵFactoryTarget.Directive }); }
79
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DisabledBehaviorDirective, deps: [{ token: i0.ElementRef }, { token: i0.DestroyRef }, { token: i1.FdkClickedProvider }], target: i0.ɵɵFactoryTarget.Directive }); }
84
80
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: DisabledBehaviorDirective, isStandalone: true, selector: "[fdkDisabled]", inputs: { fdkDisabled: "fdkDisabled", addDisabledClass: "addDisabledClass", disabledClass: "disabledClass" }, providers: [
85
81
  {
86
82
  provide: FDK_DISABLED_DIRECTIVE,
87
83
  useExisting: DisabledBehaviorDirective
88
84
  },
89
- DestroyedService,
90
85
  FdkClickedProvider
91
86
  ], usesInheritance: true, ngImport: i0 }); }
92
87
  }
@@ -100,15 +95,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
100
95
  provide: FDK_DISABLED_DIRECTIVE,
101
96
  useExisting: DisabledBehaviorDirective
102
97
  },
103
- DestroyedService,
104
98
  FdkClickedProvider
105
99
  ]
106
100
  }]
107
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DestroyedService }, { type: i2.FdkClickedProvider }]; }, propDecorators: { fdkDisabled: [{
101
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.DestroyRef }, { type: i1.FdkClickedProvider }]; }, propDecorators: { fdkDisabled: [{
108
102
  type: Input
109
103
  }], addDisabledClass: [{
110
104
  type: Input
111
105
  }], disabledClass: [{
112
106
  type: Input
113
107
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQtYmVoYXZpb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL2Rpc2FibGVkL2Rpc2FibGVkLWJlaGF2aW9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixnQ0FBZ0MsRUFDaEMsa0JBQWtCLEVBQ3JCLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFhekMsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLGtCQUFrQjs4R0FBOUQsbUNBQW1DO2tHQUFuQyxtQ0FBbUMsMkRBUGpDO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGdDQUFnQztnQkFDekMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUM7YUFDaEU7U0FDSjs7MkZBRVEsbUNBQW1DO2tCQVgvQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGNBQWM7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UmVmLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaXNhYmxlZEJlaGF2aW9yIH0gZnJvbSAnLi9kaXNhYmxlZC1iZWhhdmlvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgc2V0RGlzYWJsZWRTdGF0ZSB9IGZyb20gJy4vc2V0LWRpc2FibGVkLXN0YXRlJztcbmltcG9ydCB7IEZES19ESVNBQkxFRF9ESVJFQ1RJVkUgfSBmcm9tICcuL2Zkay1kaXNhYmxlZC50b2tlbic7XG5pbXBvcnQgeyBEaXNhYmxlZFZpZXdNb2RpZmllciB9IGZyb20gJy4vZGlzYWJsZWQtdmlldy1tb2RpZmllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmRrQ2xpY2tlZFByb3ZpZGVyIH0gZnJvbSAnLi4vY2xpY2tlZCc7XG5pbXBvcnQgeyBEZXN0cm95ZWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGVzdHJveWVkLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgICBEZXByZWNhdGVkU2VsZWN0b3IsXG4gICAgRkRfREVQUkVDQVRFRF9ESVJFQ1RJVkVfU0VMRUNUT1IsXG4gICAgZ2V0RGVwcmVjYXRlZE1vZGVsXG59IGZyb20gJy4uLy4uL2RlcHJlY2F0ZWQtc2VsZWN0b3IuY2xhc3MnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZuRGlzYWJsZWRdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9ERVBSRUNBVEVEX0RJUkVDVElWRV9TRUxFQ1RPUixcbiAgICAgICAgICAgIHVzZVZhbHVlOiBnZXREZXByZWNhdGVkTW9kZWwoJ1tmZGtEaXNhYmxlZF0nLCAnW2ZuRGlzYWJsZWRdJylcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRGVwcmVjYXRlZERpc2FibGVkQmVoYXZpb3JEaXJlY3RpdmUgZXh0ZW5kcyBEZXByZWNhdGVkU2VsZWN0b3Ige31cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRrRGlzYWJsZWRdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGREtfRElTQUJMRURfRElSRUNUSVZFLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IERpc2FibGVkQmVoYXZpb3JEaXJlY3RpdmVcbiAgICAgICAgfSxcbiAgICAgICAgRGVzdHJveWVkU2VydmljZSxcbiAgICAgICAgRmRrQ2xpY2tlZFByb3ZpZGVyXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEaXNhYmxlZEJlaGF2aW9yRGlyZWN0aXZlXG4gICAgZXh0ZW5kcyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+XG4gICAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIERpc2FibGVkQmVoYXZpb3IsIERpc2FibGVkVmlld01vZGlmaWVyXG57XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBmZGtEaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX2NsaWNrZWQuc2V0UHJldmVudERlZmF1bHQodmFsKTtcbiAgICAgICAgdGhpcy5fZmRrRGlzYWJsZUlucHV0JC5uZXh0KHZhbCk7XG4gICAgfVxuXG4gICAgZ2V0IGZka0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBhZGQgYGRpc2FibGVkQ2xhc3NgIGNsYXNzIHRvIHRoZSBlbGVtZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYWRkRGlzYWJsZWRDbGFzcyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlZCBjc3MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZENsYXNzID0gJ2lzLWRpc2FibGVkJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Zka0Rpc2FibGVJbnB1dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIF9kZXN0cm95JDogRGVzdHJveWVkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfY2xpY2tlZDogRmRrQ2xpY2tlZFByb3ZpZGVyXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKDEpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSA9IChpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCA9PiB7XG4gICAgICAgIHNldERpc2FibGVkU3RhdGUodGhpcy5fZWxlbWVudFJlZiwgaXNEaXNhYmxlZCwgdGhpcy5kaXNhYmxlZENsYXNzLCB0aGlzLmFkZERpc2FibGVkQ2xhc3MpO1xuICAgIH07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZmRrRGlzYWJsZUlucHV0JFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChpc0Rpc2FibGVkKSA9PiBpc0Rpc2FibGVkICE9PSB0aGlzLl9kaXNhYmxlZCksXG4gICAgICAgICAgICAgICAgdGFwKChpc0Rpc2FibGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5leHQoaXNEaXNhYmxlZCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQtYmVoYXZpb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL2Rpc2FibGVkL2Rpc2FibGVkLWJlaGF2aW9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEQsT0FBTyxFQUNILGtCQUFrQixFQUNsQixnQ0FBZ0MsRUFDaEMsa0JBQWtCLEVBQ3JCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQWFoRSxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsa0JBQWtCOzhHQUE5RCxtQ0FBbUM7a0dBQW5DLG1DQUFtQywyREFQakM7WUFDUDtnQkFDSSxPQUFPLEVBQUUsZ0NBQWdDO2dCQUN6QyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQzthQUNoRTtTQUNKOzsyRkFFUSxtQ0FBbUM7a0JBWC9DLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsY0FBYztv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bGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpc2FibGVkQmVoYXZpb3IgfSBmcm9tICcuL2Rpc2FibGVkLWJlaGF2aW9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBzZXREaXNhYmxlZFN0YXRlIH0gZnJvbSAnLi9zZXQtZGlzYWJsZWQtc3RhdGUnO1xuaW1wb3J0IHsgRkRLX0RJU0FCTEVEX0RJUkVDVElWRSB9IGZyb20gJy4vZmRrLWRpc2FibGVkLnRva2VuJztcbmltcG9ydCB7IERpc2FibGVkVmlld01vZGlmaWVyIH0gZnJvbSAnLi9kaXNhYmxlZC12aWV3LW1vZGlmaWVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGZGtDbGlja2VkUHJvdmlkZXIgfSBmcm9tICcuLi9jbGlja2VkJztcbmltcG9ydCB7XG4gICAgRGVwcmVjYXRlZFNlbGVjdG9yLFxuICAgIEZEX0RFUFJFQ0FURURfRElSRUNUSVZFX1NFTEVDVE9SLFxuICAgIGdldERlcHJlY2F0ZWRNb2RlbFxufSBmcm9tICcuLi8uLi9kZXByZWNhdGVkLXNlbGVjdG9yLmNsYXNzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tmbkRpc2FibGVkXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfREVQUkVDQVRFRF9ESVJFQ1RJVkVfU0VMRUNUT1IsXG4gICAgICAgICAgICB1c2VWYWx1ZTogZ2V0RGVwcmVjYXRlZE1vZGVsKCdbZmRrRGlzYWJsZWRdJywgJ1tmbkRpc2FibGVkXScpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIERlcHJlY2F0ZWREaXNhYmxlZEJlaGF2aW9yRGlyZWN0aXZlIGV4dGVuZHMgRGVwcmVjYXRlZFNlbGVjdG9yIHt9XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2Zka0Rpc2FibGVkXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRLX0RJU0FCTEVEX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBEaXNhYmxlZEJlaGF2aW9yRGlyZWN0aXZlXG4gICAgICAgIH0sXG4gICAgICAgIEZka0NsaWNrZWRQcm92aWRlclxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRGlzYWJsZWRCZWhhdmlvckRpcmVjdGl2ZVxuICAgIGV4dGVuZHMgUmVwbGF5U3ViamVjdDxib29sZWFuPlxuICAgIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRGlzYWJsZWRCZWhhdmlvciwgRGlzYWJsZWRWaWV3TW9kaWZpZXJcbntcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZka0Rpc2FibGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgdGhpcy5fY2xpY2tlZC5zZXRQcmV2ZW50RGVmYXVsdCh2YWwpO1xuICAgICAgICB0aGlzLl9mZGtEaXNhYmxlSW5wdXQkLm5leHQodmFsKTtcbiAgICB9XG5cbiAgICBnZXQgZmRrRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGFkZCBgZGlzYWJsZWRDbGFzc2AgY2xhc3MgdG8gdGhlIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBhZGREaXNhYmxlZENsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIERpc2FibGVkIGNzcyBjbGFzcyB0byBhcHBseSB0byB0aGUgZWxlbWVudC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkQ2xhc3MgPSAnaXMtZGlzYWJsZWQnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZmRrRGlzYWJsZUlucHV0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgX2Rlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICAgICAgIHByaXZhdGUgX2NsaWNrZWQ6IEZka0NsaWNrZWRQcm92aWRlclxuICAgICkge1xuICAgICAgICBzdXBlcigxKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gdGhpcy5jb21wbGV0ZSgpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldERpc2FibGVkU3RhdGUgPSAoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQgPT4ge1xuICAgICAgICBzZXREaXNhYmxlZFN0YXRlKHRoaXMuX2VsZW1lbnRSZWYsIGlzRGlzYWJsZWQsIHRoaXMuZGlzYWJsZWRDbGFzcywgdGhpcy5hZGREaXNhYmxlZENsYXNzKTtcbiAgICB9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Zka0Rpc2FibGVJbnB1dCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoaXNEaXNhYmxlZCkgPT4gaXNEaXNhYmxlZCAhPT0gdGhpcy5fZGlzYWJsZWQpLFxuICAgICAgICAgICAgICAgIHRhcCgoaXNEaXNhYmxlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXh0KGlzRGlzYWJsZWQpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiJdfQ==