@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.
- package/data-source/data-source.directive.d.ts +20 -21
- package/esm2022/data-source/data-source.directive.mjs +30 -32
- package/esm2022/forms/cva/cva-control.class.mjs +6 -7
- package/esm2022/utils/directives/breakpoints/breakpoint.directive.mjs +17 -13
- package/esm2022/utils/directives/disabled/disabled-behavior.directive.mjs +11 -17
- package/esm2022/utils/directives/focusable-grid/focusable-grid.directive.mjs +14 -17
- package/esm2022/utils/directives/focusable-item/focusable-item.directive.mjs +17 -18
- package/esm2022/utils/directives/focusable-list/focusable-list.directive.mjs +69 -71
- package/esm2022/utils/directives/initial-focus/initial-focus.directive.mjs +9 -12
- package/esm2022/utils/directives/intersection-spy/intersection-spy.directive.mjs +8 -9
- package/esm2022/utils/directives/line-clamp/line-clamp.directive.mjs +10 -11
- package/esm2022/utils/directives/readonly/readonly-behavior.directive.mjs +12 -18
- package/esm2022/utils/helpers/destroy-observable.mjs +12 -0
- package/esm2022/utils/helpers/index.mjs +2 -1
- package/esm2022/utils/services/destroyed.service.mjs +6 -1
- package/fesm2022/fundamental-ngx-cdk-data-source.mjs +31 -31
- package/fesm2022/fundamental-ngx-cdk-data-source.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-cdk-forms.mjs +6 -6
- package/fesm2022/fundamental-ngx-cdk-forms.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-cdk-utils.mjs +1827 -1830
- package/fesm2022/fundamental-ngx-cdk-utils.mjs.map +1 -1
- package/forms/cva/cva-control.class.d.ts +2 -3
- package/fundamental-ngx-cdk-v0.44.0-rc.3.tgz +0 -0
- package/package.json +2 -2
- package/utils/directives/breakpoints/breakpoint.directive.d.ts +5 -5
- package/utils/directives/disabled/disabled-behavior.directive.d.ts +4 -7
- package/utils/directives/focusable-grid/focusable-grid.directive.d.ts +3 -4
- package/utils/directives/focusable-item/focusable-item.directive.d.ts +7 -8
- package/utils/directives/focusable-list/focusable-list.directive.d.ts +13 -14
- package/utils/directives/initial-focus/initial-focus.directive.d.ts +4 -4
- package/utils/directives/intersection-spy/intersection-spy.directive.d.ts +3 -3
- package/utils/directives/line-clamp/line-clamp.directive.d.ts +6 -6
- package/utils/directives/readonly/readonly-behavior.directive.d.ts +4 -7
- package/utils/helpers/destroy-observable.d.ts +7 -0
- package/utils/helpers/index.d.ts +1 -0
- package/utils/services/destroyed.service.d.ts +4 -0
- 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
|
|
31
|
+
protected readonly _destroyRef: DestroyRef;
|
|
37
32
|
/** @hidden */
|
|
38
|
-
private
|
|
33
|
+
private _dataSource;
|
|
39
34
|
/** @hidden */
|
|
40
|
-
private
|
|
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.
|
|
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(
|
|
70
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
59
71
|
.subscribe((isLoading) => this.isLoading.emit(isLoading)));
|
|
60
|
-
this._dsSubscription.add(this.dataSourceProvider.dataChanges.pipe(
|
|
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" },
|
|
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: {
|
|
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,
|
|
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 {
|
|
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.
|
|
25
|
+
this._destroyRef = inject(DestroyRef);
|
|
27
26
|
}
|
|
28
27
|
/** @hidden */
|
|
29
28
|
listenToChanges() {
|
|
30
|
-
this.cvaDirective?.markForCheck.pipe(
|
|
29
|
+
this.cvaDirective?.markForCheck.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
31
30
|
this._changeDetector.detectChanges();
|
|
32
31
|
});
|
|
33
|
-
this.cvaDirective?.detectChanges.pipe(
|
|
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,
|
|
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 {
|
|
6
|
-
import { finalize, map, startWith, switchMap,
|
|
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.
|
|
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
|
-
}),
|
|
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"] },
|
|
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 {
|
|
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 "
|
|
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,
|
|
46
|
+
constructor(_elementRef, _destroyRef, _clicked) {
|
|
48
47
|
super(1);
|
|
49
48
|
this._elementRef = _elementRef;
|
|
50
|
-
this.
|
|
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
|
-
}),
|
|
76
|
+
}), takeUntilDestroyed(this._destroyRef))
|
|
77
77
|
.subscribe();
|
|
78
78
|
}
|
|
79
|
-
|
|
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:
|
|
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,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQtYmVoYXZpb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL2Rpc2FibGVkL2Rpc2FibGVkLWJlaGF2aW9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEQsT0FBTyxFQUNILGtCQUFrQixFQUNsQixnQ0FBZ0MsRUFDaEMsa0JBQWtCLEVBQ3JCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQWFoRSxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsa0JBQWtCOzhHQUE5RCxtQ0FBbUM7a0dBQW5DLG1DQUFtQywyREFQakM7WUFDUDtnQkFDSSxPQUFPLEVBQUUsZ0NBQWdDO2dCQUN6QyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQzthQUNoRTtTQUNKOzsyRkFFUSxtQ0FBbUM7a0JBWC9DLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsY0FBYztv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bGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpc2FibGVkQmVoYXZpb3IgfSBmcm9tICcuL2Rpc2FibGVkLWJlaGF2aW9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBzZXREaXNhYmxlZFN0YXRlIH0gZnJvbSAnLi9zZXQtZGlzYWJsZWQtc3RhdGUnO1xuaW1wb3J0IHsgRkRLX0RJU0FCTEVEX0RJUkVDVElWRSB9IGZyb20gJy4vZmRrLWRpc2FibGVkLnRva2VuJztcbmltcG9ydCB7IERpc2FibGVkVmlld01vZGlmaWVyIH0gZnJvbSAnLi9kaXNhYmxlZC12aWV3LW1vZGlmaWVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGZGtDbGlja2VkUHJvdmlkZXIgfSBmcm9tICcuLi9jbGlja2VkJztcbmltcG9ydCB7XG4gICAgRGVwcmVjYXRlZFNlbGVjdG9yLFxuICAgIEZEX0RFUFJFQ0FURURfRElSRUNUSVZFX1NFTEVDVE9SLFxuICAgIGdldERlcHJlY2F0ZWRNb2RlbFxufSBmcm9tICcuLi8uLi9kZXByZWNhdGVkLXNlbGVjdG9yLmNsYXNzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tmbkRpc2FibGVkXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfREVQUkVDQVRFRF9ESVJFQ1RJVkVfU0VMRUNUT1IsXG4gICAgICAgICAgICB1c2VWYWx1ZTogZ2V0RGVwcmVjYXRlZE1vZGVsKCdbZmRrRGlzYWJsZWRdJywgJ1tmbkRpc2FibGVkXScpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIERlcHJlY2F0ZWREaXNhYmxlZEJlaGF2aW9yRGlyZWN0aXZlIGV4dGVuZHMgRGVwcmVjYXRlZFNlbGVjdG9yIHt9XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2Zka0Rpc2FibGVkXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRLX0RJU0FCTEVEX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBEaXNhYmxlZEJlaGF2aW9yRGlyZWN0aXZlXG4gICAgICAgIH0sXG4gICAgICAgIEZka0NsaWNrZWRQcm92aWRlclxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRGlzYWJsZWRCZWhhdmlvckRpcmVjdGl2ZVxuICAgIGV4dGVuZHMgUmVwbGF5U3ViamVjdDxib29sZWFuPlxuICAgIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRGlzYWJsZWRCZWhhdmlvciwgRGlzYWJsZWRWaWV3TW9kaWZpZXJcbntcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZka0Rpc2FibGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgdGhpcy5fY2xpY2tlZC5zZXRQcmV2ZW50RGVmYXVsdCh2YWwpO1xuICAgICAgICB0aGlzLl9mZGtEaXNhYmxlSW5wdXQkLm5leHQodmFsKTtcbiAgICB9XG5cbiAgICBnZXQgZmRrRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGFkZCBgZGlzYWJsZWRDbGFzc2AgY2xhc3MgdG8gdGhlIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBhZGREaXNhYmxlZENsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIERpc2FibGVkIGNzcyBjbGFzcyB0byBhcHBseSB0byB0aGUgZWxlbWVudC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkQ2xhc3MgPSAnaXMtZGlzYWJsZWQnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZmRrRGlzYWJsZUlucHV0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgX2Rlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICAgICAgIHByaXZhdGUgX2NsaWNrZWQ6IEZka0NsaWNrZWRQcm92aWRlclxuICAgICkge1xuICAgICAgICBzdXBlcigxKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gdGhpcy5jb21wbGV0ZSgpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldERpc2FibGVkU3RhdGUgPSAoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQgPT4ge1xuICAgICAgICBzZXREaXNhYmxlZFN0YXRlKHRoaXMuX2VsZW1lbnRSZWYsIGlzRGlzYWJsZWQsIHRoaXMuZGlzYWJsZWRDbGFzcywgdGhpcy5hZGREaXNhYmxlZENsYXNzKTtcbiAgICB9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Zka0Rpc2FibGVJbnB1dCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoaXNEaXNhYmxlZCkgPT4gaXNEaXNhYmxlZCAhPT0gdGhpcy5fZGlzYWJsZWQpLFxuICAgICAgICAgICAgICAgIHRhcCgoaXNEaXNhYmxlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXh0KGlzRGlzYWJsZWQpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiJdfQ==
|