novo-elements 7.0.1-next.0 → 7.1.2-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/elements/button/styles/button-other.scss +1 -1
- package/elements/calendar/calendar.component.scss +1 -1
- package/elements/calendar/month-view/month-view.component.scss +10 -10
- package/elements/common/option/option.component.scss +0 -1
- package/elements/common/typography/text.mixins.scss +1 -1
- package/elements/data-table/data-table.component.scss +1 -1
- package/elements/form/ControlGroup.scss +1 -1
- package/elements/switch/Switch.scss +1 -1
- package/elements/tabbed-group-picker/TabbedGroupPicker.scss +0 -1
- package/elements/toolbar/toolbar.component.scss +5 -3
- package/esm2020/src/elements/aside/aside-ref.mjs +10 -4
- package/esm2020/src/elements/aside/aside.service.mjs +2 -2
- package/esm2020/src/elements/button/Button.mjs +2 -2
- package/esm2020/src/elements/calendar/calendar.component.mjs +2 -2
- package/esm2020/src/elements/calendar/month-view/month-view.component.mjs +2 -2
- package/esm2020/src/elements/common/common.module.mjs +1 -1
- package/esm2020/src/elements/common/directives/accent.directive.mjs +19 -5
- package/esm2020/src/elements/common/index.mjs +2 -1
- package/esm2020/src/elements/common/option/option.component.mjs +2 -2
- package/esm2020/src/elements/common/theme/theme-options.mjs +41 -0
- package/esm2020/src/elements/common/typography/caption/caption.component.mjs +2 -2
- package/esm2020/src/elements/date-picker/DatePickerInput.mjs +6 -3
- package/esm2020/src/elements/date-picker/DateRangeInput.mjs +2 -2
- package/esm2020/src/elements/dropdown/Dropdown.mjs +2 -2
- package/esm2020/src/elements/field/hint/hint.mjs +2 -2
- package/esm2020/src/elements/modal/modal-ref.mjs +1 -1
- package/esm2020/src/elements/select/Select.mjs +2 -2
- package/esm2020/src/elements/simple-table/table.mjs +18 -15
- package/esm2020/src/elements/toolbar/toolbar.component.mjs +2 -2
- package/esm2020/src/novo-elements.providers.mjs +1 -3
- package/esm2020/src/services/security/Security.mjs +4 -3
- package/fesm2015/novo-elements.mjs +107 -45
- package/fesm2015/novo-elements.mjs.map +1 -1
- package/fesm2020/novo-elements.mjs +106 -45
- package/fesm2020/novo-elements.mjs.map +1 -1
- package/novo-elements.scss +5 -5
- package/package.json +1 -1
- package/schematics/package.json +1 -1
- package/src/elements/aside/aside-ref.d.ts +6 -4
- package/src/elements/aside/aside.service.d.ts +3 -2
- package/src/elements/common/directives/accent.directive.d.ts +7 -2
- package/src/elements/common/index.d.ts +1 -0
- package/src/elements/common/theme/theme-options.d.ts +25 -0
- package/src/elements/modal/modal-ref.d.ts +5 -5
- package/src/elements/modal/modal.service.d.ts +1 -1
- package/src/elements/simple-table/table.d.ts +1 -3
- package/styles/themes/dark.scss +2 -2
- package/styles/themes/light.scss +4 -5
- package/styles/typography.scss +0 -10
|
@@ -33,12 +33,12 @@
|
|
|
33
33
|
font-weight: normal;
|
|
34
34
|
border-radius: 3px;
|
|
35
35
|
&.selected {
|
|
36
|
-
background-color:
|
|
36
|
+
background-color: var(--selection);
|
|
37
37
|
color: #fff;
|
|
38
38
|
}
|
|
39
39
|
&:hover {
|
|
40
40
|
cursor: pointer;
|
|
41
|
-
background-color:
|
|
41
|
+
background-color: var(--selection);
|
|
42
42
|
color: #fff;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
outline: none;
|
|
61
61
|
}
|
|
62
62
|
&:disabled {
|
|
63
|
-
color: var(--text-
|
|
63
|
+
color: var(--text-disabled);
|
|
64
64
|
cursor: not-allowed !important;
|
|
65
65
|
box-shadow: none !important;
|
|
66
66
|
}
|
|
@@ -69,13 +69,13 @@
|
|
|
69
69
|
display: table-cell;
|
|
70
70
|
|
|
71
71
|
&.notinmonth,
|
|
72
|
-
&.
|
|
73
|
-
color: var(--text-
|
|
72
|
+
&.notinmonth:not(.selected) > .day {
|
|
73
|
+
color: var(--text-disabled);
|
|
74
74
|
}
|
|
75
75
|
&:hover {
|
|
76
76
|
.day {
|
|
77
77
|
cursor: pointer;
|
|
78
|
-
box-shadow: inset 0 0 0 2px
|
|
78
|
+
box-shadow: inset 0 0 0 2px var(--selection);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
&.inRange:hover {
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
&.inRange {
|
|
88
|
-
background:
|
|
88
|
+
background: var(--selection);
|
|
89
89
|
color: #fff;
|
|
90
90
|
height: 3.2rem;
|
|
91
91
|
width: 3.2rem;
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
content: "";
|
|
119
119
|
position: absolute;
|
|
120
120
|
height: 100%;
|
|
121
|
-
background:
|
|
121
|
+
background: var(--selection);
|
|
122
122
|
width: 10px;
|
|
123
123
|
top: 0;
|
|
124
124
|
left: -5px;
|
|
@@ -127,13 +127,13 @@
|
|
|
127
127
|
}
|
|
128
128
|
&.selected {
|
|
129
129
|
.day {
|
|
130
|
-
background:
|
|
130
|
+
background: var(--selection);
|
|
131
131
|
color: #fff;
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
&.preview:not(.previewStart):not(.previewEnd) {
|
|
135
135
|
.day {
|
|
136
|
-
border: 1px dashed
|
|
136
|
+
border: 1px dashed var(--selection);
|
|
137
137
|
}
|
|
138
138
|
&.selected {
|
|
139
139
|
.day {
|
|
@@ -25,16 +25,18 @@
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
@include theme-colors() using ($name, $color, $contrast, $tint, $shade, $pale) {
|
|
28
|
-
&.novo-color-#{$name}
|
|
28
|
+
&.novo-color-#{$name},
|
|
29
|
+
&.novo-theme-#{$name} {
|
|
29
30
|
color: $contrast;
|
|
30
31
|
background: $color;
|
|
31
32
|
& > novo-text,
|
|
32
33
|
& > novo-label,
|
|
33
34
|
& > novo-icon,
|
|
34
|
-
&
|
|
35
|
+
& novo-title {
|
|
35
36
|
color: inherit;
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
+
novo-action,
|
|
39
|
+
.links {
|
|
38
40
|
button,
|
|
39
41
|
novo-button {
|
|
40
42
|
color: inherit;
|
|
@@ -7,6 +7,11 @@ export class NovoAsideRef {
|
|
|
7
7
|
this.overlayRef = overlayRef;
|
|
8
8
|
this._beforeClose = new Subject();
|
|
9
9
|
this._afterClosed = new Subject();
|
|
10
|
+
this.isClosed = false;
|
|
11
|
+
}
|
|
12
|
+
// Gets a promise that is resolved when the dialog is closed.
|
|
13
|
+
get onClosed() {
|
|
14
|
+
return this._afterClosed.toPromise();
|
|
10
15
|
}
|
|
11
16
|
afterClosed() {
|
|
12
17
|
return this._afterClosed.asObservable();
|
|
@@ -14,12 +19,12 @@ export class NovoAsideRef {
|
|
|
14
19
|
beforeClose() {
|
|
15
20
|
return this._beforeClose.asObservable();
|
|
16
21
|
}
|
|
17
|
-
close() {
|
|
22
|
+
close(result) {
|
|
18
23
|
// Listen for animation 'start' events
|
|
19
24
|
this.componentInstance.animationStateChanged
|
|
20
25
|
.pipe(filter((event) => event.phaseName === 'start'), take(1))
|
|
21
26
|
.subscribe(() => {
|
|
22
|
-
this._beforeClose.next();
|
|
27
|
+
this._beforeClose.next(result);
|
|
23
28
|
this._beforeClose.complete();
|
|
24
29
|
this.overlayRef.detachBackdrop();
|
|
25
30
|
});
|
|
@@ -27,8 +32,9 @@ export class NovoAsideRef {
|
|
|
27
32
|
this.componentInstance.animationStateChanged
|
|
28
33
|
.pipe(filter((event) => event.phaseName === 'done' && event.toState === 'leave'), take(1))
|
|
29
34
|
.subscribe(() => {
|
|
35
|
+
this.isClosed = true;
|
|
30
36
|
this.overlayRef.dispose();
|
|
31
|
-
this._afterClosed.next();
|
|
37
|
+
this._afterClosed.next(result);
|
|
32
38
|
this._afterClosed.complete();
|
|
33
39
|
// Make sure to also clear the reference to the
|
|
34
40
|
// component instance to avoid memory leaks
|
|
@@ -38,4 +44,4 @@ export class NovoAsideRef {
|
|
|
38
44
|
this.componentInstance.startExitAnimation();
|
|
39
45
|
}
|
|
40
46
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpZGUtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbm92by1lbGVtZW50cy9zcmMvZWxlbWVudHMvYXNpZGUvYXNpZGUtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5QyxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFtQixTQUFjLEVBQVMsTUFBUyxFQUFVLFVBQXNCO1FBQWhFLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFHO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUUzRSxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFLLENBQUM7UUFDaEMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBSyxDQUFDO1FBQ3hDLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFKNEQsQ0FBQztJQU92Riw2REFBNkQ7SUFDN0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBVTtRQUNkLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCO2FBQ3pDLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEtBQUssT0FBTyxDQUFDLEVBQzlDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFFTCxxQ0FBcUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQjthQUN6QyxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxLQUFLLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxFQUMxRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRTdCLCtDQUErQztZQUMvQywyQ0FBMkM7WUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUVMLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXNpZGVDb21wb25lbnQgfSBmcm9tICcuL2FzaWRlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjbGFzcyBOb3ZvQXNpZGVSZWY8VCA9IGFueSwgUiA9IGFueT4ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29tcG9uZW50OiBhbnksIHB1YmxpYyBwYXJhbXM6IFQsIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZikge31cblxuICBwcml2YXRlIF9iZWZvcmVDbG9zZSA9IG5ldyBTdWJqZWN0PFI+KCk7XG4gIHByaXZhdGUgX2FmdGVyQ2xvc2VkID0gbmV3IFN1YmplY3Q8Uj4oKTtcbiAgaXNDbG9zZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29tcG9uZW50SW5zdGFuY2U6IEFzaWRlQ29tcG9uZW50O1xuXG4gIC8vIEdldHMgYSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2hlbiB0aGUgZGlhbG9nIGlzIGNsb3NlZC5cbiAgZ2V0IG9uQ2xvc2VkKCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9hZnRlckNsb3NlZC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFmdGVyQ2xvc2VkKCk6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9hZnRlckNsb3NlZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGJlZm9yZUNsb3NlKCk6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9iZWZvcmVDbG9zZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNsb3NlKHJlc3VsdD86IFIpOiB2b2lkIHtcbiAgICAvLyBMaXN0ZW4gZm9yIGFuaW1hdGlvbiAnc3RhcnQnIGV2ZW50c1xuICAgIHRoaXMuY29tcG9uZW50SW5zdGFuY2UuYW5pbWF0aW9uU3RhdGVDaGFuZ2VkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQucGhhc2VOYW1lID09PSAnc3RhcnQnKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9iZWZvcmVDbG9zZS5uZXh0KHJlc3VsdCk7XG4gICAgICAgIHRoaXMuX2JlZm9yZUNsb3NlLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2hCYWNrZHJvcCgpO1xuICAgICAgfSk7XG5cbiAgICAvLyBMaXN0ZW4gZm9yIGFuaW1hdGlvbiAnZG9uZScgZXZlbnRzXG4gICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZS5hbmltYXRpb25TdGF0ZUNoYW5nZWRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudC5waGFzZU5hbWUgPT09ICdkb25lJyAmJiBldmVudC50b1N0YXRlID09PSAnbGVhdmUnKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzQ2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5fYWZ0ZXJDbG9zZWQubmV4dChyZXN1bHQpO1xuICAgICAgICB0aGlzLl9hZnRlckNsb3NlZC5jb21wbGV0ZSgpO1xuXG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0byBhbHNvIGNsZWFyIHRoZSByZWZlcmVuY2UgdG8gdGhlXG4gICAgICAgIC8vIGNvbXBvbmVudCBpbnN0YW5jZSB0byBhdm9pZCBtZW1vcnkgbGVha3NcbiAgICAgICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZSA9IG51bGw7XG4gICAgICB9KTtcblxuICAgIC8vIFN0YXJ0IGV4aXQgYW5pbWF0aW9uXG4gICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZS5zdGFydEV4aXRBbmltYXRpb24oKTtcbiAgfVxufVxuIl19
|
|
@@ -26,7 +26,7 @@ export class NovoAsideService {
|
|
|
26
26
|
// Pass the instance of the overlay component to the remote control
|
|
27
27
|
asideRef.componentInstance = overlayComponent;
|
|
28
28
|
overlayRef.backdropClick().subscribe(() => asideRef.close());
|
|
29
|
-
return
|
|
29
|
+
return asideRef;
|
|
30
30
|
}
|
|
31
31
|
createOverlay(config) {
|
|
32
32
|
return this.overlay.create(config);
|
|
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
59
59
|
type: Injectable,
|
|
60
60
|
args: [{ providedIn: 'root' }]
|
|
61
61
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.Overlay }]; } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpZGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL2VsZW1lbnRzL2FzaWRlL2FzaWRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBNkIsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBUW5ELE1BQU0sY0FBYyxHQUFnQjtJQUNsQyxXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsd0JBQXdCO0lBQ3ZDLFVBQVUsRUFBRSxxQkFBcUI7Q0FDbEMsQ0FBQztBQUdGLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBb0IsUUFBa0IsRUFBVSxPQUFnQjtRQUE1QyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBUztJQUFHLENBQUM7SUFFcEUsSUFBSSxDQUFVLFNBQVMsRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQy9DLGlDQUFpQztRQUNqQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFNUUsOENBQThDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbkQsNkJBQTZCO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksWUFBWSxDQUFtQixTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRW5GLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXRHLG1FQUFtRTtRQUNuRSxRQUFRLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFFOUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUU3RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQW1CO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxVQUFzQixFQUFFLE1BQW1CLEVBQUUsUUFBc0I7UUFDekcsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFdkQsTUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2RSxNQUFNLFlBQVksR0FBc0IsVUFBVSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUUzRSxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFtQixFQUFFLFFBQXNCO1FBQ2hFLE1BQU0sZUFBZSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFdEMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFNUMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFtQjtRQUMxQyxxR0FBcUc7UUFDckcsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV6SCxPQUFPO1lBQ0wsY0FBYztZQUNkLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWE7WUFDbkMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1NBQzlCLENBQUM7SUFDSixDQUFDOzs2R0F0RFUsZ0JBQWdCO2lIQUFoQixnQkFBZ0IsY0FESCxNQUFNOzJGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgUG9ydGFsSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdm9Bc2lkZVJlZiB9IGZyb20gJy4vYXNpZGUtcmVmJztcbmltcG9ydCB7IEFzaWRlQ29tcG9uZW50IH0gZnJvbSAnLi9hc2lkZS5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgQXNpZGVDb25maWcgZXh0ZW5kcyBPdmVybGF5Q29uZmlnIHtcbiAgcGFuZWxDbGFzcz86IHN0cmluZztcbiAgaGFzQmFja2Ryb3A/OiBib29sZWFuO1xuICBiYWNrZHJvcENsYXNzPzogc3RyaW5nO1xufVxuXG5jb25zdCBERUZBVUxUX0NPTkZJRzogQXNpZGVDb25maWcgPSB7XG4gIGhhc0JhY2tkcm9wOiB0cnVlLFxuICBiYWNrZHJvcENsYXNzOiAnYXNpZGUtb3ZlcmxheS1iYWNrZHJvcCcsXG4gIHBhbmVsQ2xhc3M6ICdhc2lkZS1vdmVybGF5LXBhbmVsJyxcbn07XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTm92b0FzaWRlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXkpIHt9XG5cbiAgb3BlbjxSID0gYW55Pihjb21wb25lbnQsIHBhcmFtcyA9IHt9LCBjb25maWcgPSB7fSkge1xuICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgIGNvbnN0IGFzaWRlQ29uZmlnID0gdGhpcy5nZXRPdmVybGF5Q29uZmlnKHsgLi4uREVGQVVMVF9DT05GSUcsIC4uLmNvbmZpZyB9KTtcblxuICAgIC8vIFJldHVybnMgYW4gT3ZlcmxheVJlZiB3aGljaCBpcyBhIFBvcnRhbEhvc3RcbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KGFzaWRlQ29uZmlnKTtcblxuICAgIC8vIEluc3RhbnRpYXRlIHJlbW90ZSBjb250cm9sXG4gICAgY29uc3QgYXNpZGVSZWYgPSBuZXcgTm92b0FzaWRlUmVmPHR5cGVvZiBwYXJhbXMsIFI+KGNvbXBvbmVudCwgcGFyYW1zLCBvdmVybGF5UmVmKTtcblxuICAgIGNvbnN0IG92ZXJsYXlDb21wb25lbnQgPSB0aGlzLmF0dGFjaEFzaWRlQ29udGFpbmVyKEFzaWRlQ29tcG9uZW50LCBvdmVybGF5UmVmLCBhc2lkZUNvbmZpZywgYXNpZGVSZWYpO1xuXG4gICAgLy8gUGFzcyB0aGUgaW5zdGFuY2Ugb2YgdGhlIG92ZXJsYXkgY29tcG9uZW50IHRvIHRoZSByZW1vdGUgY29udHJvbFxuICAgIGFzaWRlUmVmLmNvbXBvbmVudEluc3RhbmNlID0gb3ZlcmxheUNvbXBvbmVudDtcblxuICAgIG92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiBhc2lkZVJlZi5jbG9zZSgpKTtcblxuICAgIHJldHVybiBhc2lkZVJlZjtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlT3ZlcmxheShjb25maWc6IEFzaWRlQ29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoQXNpZGVDb250YWluZXIoY29tcG9uZW50LCBvdmVybGF5UmVmOiBPdmVybGF5UmVmLCBjb25maWc6IEFzaWRlQ29uZmlnLCBhc2lkZVJlZjogTm92b0FzaWRlUmVmKSB7XG4gICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUluamVjdG9yKGNvbmZpZywgYXNpZGVSZWYpO1xuXG4gICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChjb21wb25lbnQsIG51bGwsIGluamVjdG9yKTtcbiAgICBjb25zdCBjb250YWluZXJSZWY6IENvbXBvbmVudFJlZjxhbnk+ID0gb3ZlcmxheVJlZi5hdHRhY2goY29udGFpbmVyUG9ydGFsKTtcblxuICAgIHJldHVybiBjb250YWluZXJSZWYuaW5zdGFuY2U7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUluamVjdG9yKGNvbmZpZzogQXNpZGVDb25maWcsIGFzaWRlUmVmOiBOb3ZvQXNpZGVSZWYpOiBQb3J0YWxJbmplY3RvciB7XG4gICAgY29uc3QgaW5qZWN0aW9uVG9rZW5zID0gbmV3IFdlYWtNYXAoKTtcblxuICAgIGluamVjdGlvblRva2Vucy5zZXQoTm92b0FzaWRlUmVmLCBhc2lkZVJlZik7XG5cbiAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKHRoaXMuaW5qZWN0b3IsIGluamVjdGlvblRva2Vucyk7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoY29uZmlnOiBBc2lkZUNvbmZpZyk6IEFzaWRlQ29uZmlnIHtcbiAgICAvLyBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpO1xuICAgIGNvbnN0IHNjcm9sbFN0cmF0ZWd5ID0gY29uZmlnLmhhc0JhY2tkcm9wID8gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSA6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLm5vb3AoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzY3JvbGxTdHJhdGVneSxcbiAgICAgIGhhc0JhY2tkcm9wOiBjb25maWcuaGFzQmFja2Ryb3AsXG4gICAgICBiYWNrZHJvcENsYXNzOiBjb25maWcuYmFja2Ryb3BDbGFzcyxcbiAgICAgIHBhbmVsQ2xhc3M6IGNvbmZpZy5wYW5lbENsYXNzLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|