cps-ui-kit 17.10.0 → 17.11.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/assets/icons.svg +4 -0
- package/esm2022/lib/components/cps-button/cps-button.component.mjs +12 -4
- package/esm2022/lib/components/cps-icon/cps-icon.component.mjs +2 -1
- package/esm2022/lib/components/cps-tab-group/cps-tab-group.component.mjs +3 -3
- package/esm2022/lib/components/cps-table/components/internal/table-column-filter/table-column-filter.component.mjs +2 -3
- package/esm2022/lib/components/cps-table/components/internal/table-column-filter-constraint/table-column-filter-constraint.component.mjs +1 -2
- package/esm2022/lib/components/cps-table/components/internal/table-row-menu/table-row-menu.component.mjs +1 -2
- package/esm2022/lib/components/cps-table/cps-table.component.mjs +2 -2
- package/esm2022/lib/components/cps-tag/cps-tag.component.mjs +6 -26
- package/esm2022/lib/components/cps-tree-table/cps-tree-table.component.mjs +2 -2
- package/esm2022/lib/services/cps-dialog/internal/components/cps-confirmation/cps-confirmation.component.mjs +1 -1
- package/esm2022/lib/services/cps-dialog/internal/components/cps-dialog/cps-dialog.component.mjs +2 -2
- package/esm2022/lib/services/cps-notification/internal/components/cps-toast/cps-toast.component.mjs +2 -2
- package/esm2022/lib/services/cps-notification/utils/internal/cps-notification-data.mjs +1 -1
- package/fesm2022/cps-ui-kit.mjs +25 -39
- package/fesm2022/cps-ui-kit.mjs.map +1 -1
- package/lib/components/cps-button/cps-button.component.d.ts +9 -4
- package/lib/components/cps-table/components/internal/table-column-filter/table-column-filter.component.d.ts +0 -1
- package/lib/components/cps-table/components/internal/table-column-filter-constraint/table-column-filter-constraint.component.d.ts +0 -1
- package/lib/components/cps-table/components/internal/table-row-menu/table-row-menu.component.d.ts +0 -1
- package/lib/components/cps-tag/cps-tag.component.d.ts +1 -7
- package/lib/services/cps-notification/utils/internal/cps-notification-data.d.ts +0 -1
- package/package.json +1 -1
|
@@ -22,11 +22,6 @@ export class CpsTagComponent {
|
|
|
22
22
|
}
|
|
23
23
|
constructor(_control) {
|
|
24
24
|
this._control = _control;
|
|
25
|
-
/**
|
|
26
|
-
* Type of the tag. It can be security, classification or custom, has higher precedence over color.
|
|
27
|
-
* @group Props
|
|
28
|
-
*/
|
|
29
|
-
this.type = 'custom';
|
|
30
25
|
/**
|
|
31
26
|
* Label of the tag.
|
|
32
27
|
* @group Props
|
|
@@ -36,7 +31,7 @@ export class CpsTagComponent {
|
|
|
36
31
|
* Color of the tag.
|
|
37
32
|
* @group Props
|
|
38
33
|
*/
|
|
39
|
-
this.color = '';
|
|
34
|
+
this.color = 'calm';
|
|
40
35
|
/**
|
|
41
36
|
* Determines whether the tag should be disabled.
|
|
42
37
|
* @group Props
|
|
@@ -54,7 +49,6 @@ export class CpsTagComponent {
|
|
|
54
49
|
*/
|
|
55
50
|
this.valueChanged = new EventEmitter();
|
|
56
51
|
this.classesList = [];
|
|
57
|
-
this.tagColor = '';
|
|
58
52
|
this._value = false;
|
|
59
53
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
60
54
|
this.onChange = (event) => { };
|
|
@@ -65,6 +59,7 @@ export class CpsTagComponent {
|
|
|
65
59
|
}
|
|
66
60
|
}
|
|
67
61
|
ngOnChanges() {
|
|
62
|
+
this.color = getCSSColor(this.color);
|
|
68
63
|
this.setClasses();
|
|
69
64
|
}
|
|
70
65
|
setClasses() {
|
|
@@ -75,19 +70,6 @@ export class CpsTagComponent {
|
|
|
75
70
|
if (this.disabled) {
|
|
76
71
|
this.classesList.push('cps-tag--disabled');
|
|
77
72
|
}
|
|
78
|
-
switch (this.type) {
|
|
79
|
-
case 'security': {
|
|
80
|
-
this.classesList.push('cps-tag--security');
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
case 'classification': {
|
|
84
|
-
this.classesList.push('cps-tag--classification');
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
default:
|
|
88
|
-
if (this.color)
|
|
89
|
-
this.tagColor = getCSSColor(this.color);
|
|
90
|
-
}
|
|
91
73
|
}
|
|
92
74
|
registerOnChange(fn) {
|
|
93
75
|
this.onChange = fn;
|
|
@@ -109,18 +91,16 @@ export class CpsTagComponent {
|
|
|
109
91
|
this.valueChanged.emit(value);
|
|
110
92
|
}
|
|
111
93
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CpsTagComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
112
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: CpsTagComponent, isStandalone: true, selector: "cps-tag", inputs: {
|
|
94
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: CpsTagComponent, isStandalone: true, selector: "cps-tag", inputs: { label: "label", color: "color", disabled: "disabled", selectable: "selectable", value: "value" }, outputs: { valueChanged: "valueChanged" }, usesOnChanges: true, ngImport: i0, template: "<div\n [ngClass]=\"classesList\"\n [class.unselected]=\"!value && selectable\"\n [ngStyle]=\"{ borderColor: color }\"\n (click)=\"toggleSelected()\">\n <p>{{ label }}</p>\n</div>\n", styles: [":host{width:fit-content;display:inline-block;-webkit-user-select:none;-ms-user-select:none;user-select:none}:host .cps-tag{font-family:Source Sans Pro,sans-serif;min-height:25px;align-items:center;padding:0 10px;background-color:#fff;display:inline-flex;cursor:default;border:solid 1px;border-left:solid 4px}:host .cps-tag.cps-tag--selectable{cursor:pointer}:host .cps-tag.cps-tag--selectable:not(:active):not(:disabled){box-shadow:1px 3px 4px #0000001a}:host .cps-tag.cps-tag--disabled{pointer-events:none;border-color:var(--cps-color-line-dark)!important}:host .cps-tag.cps-tag--disabled p{color:var(--cps-color-text-light)}:host .cps-tag.unselected{border-color:var(--cps-color-text-light)!important}:host .cps-tag p{margin:0;font-size:11px;color:var(--cps-color-text-dark)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
113
95
|
}
|
|
114
96
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CpsTagComponent, decorators: [{
|
|
115
97
|
type: Component,
|
|
116
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'cps-tag', template: "<div\n [ngClass]=\"classesList\"\n [class.unselected]=\"!value && selectable\"\n [ngStyle]=\"{
|
|
98
|
+
args: [{ standalone: true, imports: [CommonModule], selector: 'cps-tag', template: "<div\n [ngClass]=\"classesList\"\n [class.unselected]=\"!value && selectable\"\n [ngStyle]=\"{ borderColor: color }\"\n (click)=\"toggleSelected()\">\n <p>{{ label }}</p>\n</div>\n", styles: [":host{width:fit-content;display:inline-block;-webkit-user-select:none;-ms-user-select:none;user-select:none}:host .cps-tag{font-family:Source Sans Pro,sans-serif;min-height:25px;align-items:center;padding:0 10px;background-color:#fff;display:inline-flex;cursor:default;border:solid 1px;border-left:solid 4px}:host .cps-tag.cps-tag--selectable{cursor:pointer}:host .cps-tag.cps-tag--selectable:not(:active):not(:disabled){box-shadow:1px 3px 4px #0000001a}:host .cps-tag.cps-tag--disabled{pointer-events:none;border-color:var(--cps-color-line-dark)!important}:host .cps-tag.cps-tag--disabled p{color:var(--cps-color-text-light)}:host .cps-tag.unselected{border-color:var(--cps-color-text-light)!important}:host .cps-tag p{margin:0;font-size:11px;color:var(--cps-color-text-dark)}\n"] }]
|
|
117
99
|
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
118
100
|
type: Self
|
|
119
101
|
}, {
|
|
120
102
|
type: Optional
|
|
121
|
-
}] }], propDecorators: {
|
|
122
|
-
type: Input
|
|
123
|
-
}], label: [{
|
|
103
|
+
}] }], propDecorators: { label: [{
|
|
124
104
|
type: Input
|
|
125
105
|
}], color: [{
|
|
126
106
|
type: Input
|
|
@@ -133,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
133
113
|
}], valueChanged: [{
|
|
134
114
|
type: Output
|
|
135
115
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9jcHMtdGFnL2Nwcy10YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRhZy9jcHMtdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBR3ZEOzs7R0FHRztBQVFILE1BQU0sT0FBTyxlQUFlO0lBeUIxQjs7O09BR0c7SUFDSCxJQUFhLEtBQUssQ0FBQyxLQUFjO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBYUQsWUFBd0MsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWhEM0Q7OztXQUdHO1FBQ00sVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVwQjs7O1dBR0c7UUFDTSxVQUFLLEdBQUcsTUFBTSxDQUFDO1FBRXhCOzs7V0FHRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFMUI7OztXQUdHO1FBQ00sZUFBVSxHQUFHLEtBQUssQ0FBQztRQWU1Qjs7OztXQUlHO1FBQ08saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXJELGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBRW5CLFdBQU0sR0FBRyxLQUFLLENBQUM7UUF3QnZCLGdFQUFnRTtRQUNoRSxhQUFRLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUU5QixnRUFBZ0U7UUFDaEUsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQXpCbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFL0IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQVFELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFjO1FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQWxHVSxlQUFlO2tHQUFmLGVBQWUsK09DeEI1QiwyTEFPQSxvMEJEWVksWUFBWTs7MkZBS1gsZUFBZTtrQkFQM0IsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFDYixTQUFTOzswQkFxRE4sSUFBSTs7MEJBQUksUUFBUTt5Q0E1Q3BCLEtBQUs7c0JBQWIsS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUs7Z0JBTUcsUUFBUTtzQkFBaEIsS0FBSztnQkFNRyxVQUFVO3NCQUFsQixLQUFLO2dCQU1PLEtBQUs7c0JBQWpCLEtBQUs7Z0JBY0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2VsZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldENTU0NvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sb3JzLXV0aWxzJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogQ3BzVGFnQ29tcG9uZW50IGlzIHVzZWQgdG8gY2F0ZWdvcml6ZSBjb250ZW50LlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2Nwcy10YWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3BzLXRhZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nwcy10YWcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDcHNUYWdDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIExhYmVsIG9mIHRoZSB0YWcuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgbGFiZWwgPSAnJztcblxuICAvKipcbiAgICogQ29sb3Igb2YgdGhlIHRhZy5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBjb2xvciA9ICdjYWxtJztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB0YWcgc2hvdWxkIGJlIGRpc2FibGVkLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgdGFnIHNob3VsZCBiZSBzZWxlY3RhYmxlLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIHNlbGVjdGFibGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGFnIHZhbHVlLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIHNldCB2YWx1ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGludm9rZSBvbiB2YWx1ZSBjaGFuZ2UuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gYm9vbGVhbiAtIHZhbHVlIGNoYW5nZS5cbiAgICogQGdyb3VwIEVtaXRzXG4gICAqL1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGNsYXNzZXNMaXN0OiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgX3ZhbHVlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb250cm9sOiBOZ0NvbnRyb2wpIHtcbiAgICBpZiAodGhpcy5fY29udHJvbCkge1xuICAgICAgdGhpcy5fY29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbG9yID0gZ2V0Q1NTQ29sb3IodGhpcy5jb2xvcik7XG4gICAgdGhpcy5zZXRDbGFzc2VzKCk7XG4gIH1cblxuICBzZXRDbGFzc2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3Nlc0xpc3QgPSBbJ2Nwcy10YWcnXTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuY2xhc3Nlc0xpc3QucHVzaCgnY3BzLXRhZy0tc2VsZWN0YWJsZScpO1xuICAgIH1cbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5jbGFzc2VzTGlzdC5wdXNoKCdjcHMtdGFnLS1kaXNhYmxlZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgb25DaGFuZ2UgPSAoZXZlbnQ6IGFueSkgPT4ge307XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICB0b2dnbGVTZWxlY3RlZCgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5zZWxlY3RhYmxlKSByZXR1cm47XG4gICAgdGhpcy5fdXBkYXRlVmFsdWUoIXRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2VkLmVtaXQodmFsdWUpO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtuZ0NsYXNzXT1cImNsYXNzZXNMaXN0XCJcbiAgW2NsYXNzLnVuc2VsZWN0ZWRdPVwiIXZhbHVlICYmIHNlbGVjdGFibGVcIlxuICBbbmdTdHlsZV09XCJ7IGJvcmRlckNvbG9yOiBjb2xvciB9XCJcbiAgKGNsaWNrKT1cInRvZ2dsZVNlbGVjdGVkKClcIj5cbiAgPHA+e3sgbGFiZWwgfX08L3A+XG48L2Rpdj5cbiJdfQ==
|