@rivet-health/design-system 6.2.2 → 7.1.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/esm2020/lib/input/card-checkbox/card-checkbox.component.mjs +3 -3
- package/esm2020/lib/input/checkbox/checkbox.component.mjs +3 -15
- package/esm2020/lib/input/single-select/single-select.component.mjs +41 -3
- package/esm2020/lib/input/switch-checkbox/switch-checkbox.component.mjs +3 -3
- package/fesm2015/rivet-health-design-system.mjs +54 -35
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +59 -35
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/lib/input/checkbox/checkbox.component.d.ts +1 -5
- package/lib/input/single-select/single-select.component.d.ts +6 -1
- package/package.json +1 -1
|
@@ -5,9 +5,9 @@ import * as i1 from "../checkbox/checkbox.component";
|
|
|
5
5
|
export class CardCheckboxComponent extends CheckboxComponent {
|
|
6
6
|
}
|
|
7
7
|
CardCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CardCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
-
CardCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CardCheckboxComponent, selector: "riv-card-checkbox", usesInheritance: true, ngImport: i0, template: "<label [class.disabled]=\"disabled\">\n <div\n class=\"checkbox\"\n [class.checked]=\"value\"\n [class.indeterminate]=\"indeterminate\"\n
|
|
8
|
+
CardCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CardCheckboxComponent, selector: "riv-card-checkbox", usesInheritance: true, ngImport: i0, template: "<label [class.disabled]=\"disabled\">\n <div\n class=\"checkbox\"\n [class.checked]=\"value\"\n [class.indeterminate]=\"indeterminate\"\n >\n <riv-checkbox\n [name]=\"name\"\n [identifier]=\"identifier\"\n [value]=\"value\"\n [checkboxTooltip]=\"checkboxTooltip\"\n [indeterminate]=\"indeterminate\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (valueChange)=\"valueChange.emit($event)\"\n ></riv-checkbox>\n </div>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [":host{display:inline-flex}label{flex-grow:1;display:inline-flex;align-items:center;border:var(--border-width) solid var(--border-light-blend)}label:not(.disabled){cursor:pointer}label.disabled,label:hover{background-color:var(--surface-light-1)}.checkbox{align-self:stretch;padding:var(--size-large) var(--size-small);background-color:var(--surface-light-2);display:flex;justify-content:center;align-items:center;border-right:var(--border-width) solid var(--border-light-blend)}.checkbox.checked{background-color:var(--purp-60)}.checkbox.indeterminate{background-color:var(--baloo-50)}label.disabled .checkbox{background-color:var(--black-20)}label.disabled .checkbox.checked,label.disabled .checkbox.indeterminate{background-color:var(--black-40)}.content{flex-grow:1}\n"], dependencies: [{ kind: "component", type: i1.CheckboxComponent, selector: "riv-checkbox", inputs: ["name", "identifier", "value", "checkboxTooltip", "indeterminate", "disabled", "required"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CardCheckboxComponent, decorators: [{
|
|
10
10
|
type: Component,
|
|
11
|
-
args: [{ selector: 'riv-card-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label [class.disabled]=\"disabled\">\n <div\n class=\"checkbox\"\n [class.checked]=\"value\"\n [class.indeterminate]=\"indeterminate\"\n
|
|
11
|
+
args: [{ selector: 'riv-card-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label [class.disabled]=\"disabled\">\n <div\n class=\"checkbox\"\n [class.checked]=\"value\"\n [class.indeterminate]=\"indeterminate\"\n >\n <riv-checkbox\n [name]=\"name\"\n [identifier]=\"identifier\"\n [value]=\"value\"\n [checkboxTooltip]=\"checkboxTooltip\"\n [indeterminate]=\"indeterminate\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (valueChange)=\"valueChange.emit($event)\"\n ></riv-checkbox>\n </div>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [":host{display:inline-flex}label{flex-grow:1;display:inline-flex;align-items:center;border:var(--border-width) solid var(--border-light-blend)}label:not(.disabled){cursor:pointer}label.disabled,label:hover{background-color:var(--surface-light-1)}.checkbox{align-self:stretch;padding:var(--size-large) var(--size-small);background-color:var(--surface-light-2);display:flex;justify-content:center;align-items:center;border-right:var(--border-width) solid var(--border-light-blend)}.checkbox.checked{background-color:var(--purp-60)}.checkbox.indeterminate{background-color:var(--baloo-50)}label.disabled .checkbox{background-color:var(--black-20)}label.disabled .checkbox.checked,label.disabled .checkbox.indeterminate{background-color:var(--black-40)}.content{flex-grow:1}\n"] }]
|
|
12
12
|
}] });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9jYXJkLWNoZWNrYm94L2NhcmQtY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvY2FyZC1jaGVja2JveC9jYXJkLWNoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQVFuRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsaUJBQWlCOztrSEFBL0MscUJBQXFCO3NHQUFyQixxQkFBcUIsZ0ZDVGxDLG9qQkFxQkE7MkZEWmEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtY2FyZC1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC1jaGVja2JveC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBDaGVja2JveENvbXBvbmVudCB7fVxuIiwiPGxhYmVsIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjaGVja2JveFwiXG4gICAgW2NsYXNzLmNoZWNrZWRdPVwidmFsdWVcIlxuICAgIFtjbGFzcy5pbmRldGVybWluYXRlXT1cImluZGV0ZXJtaW5hdGVcIlxuICA+XG4gICAgPHJpdi1jaGVja2JveFxuICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICBbaWRlbnRpZmllcl09XCJpZGVudGlmaWVyXCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICBbY2hlY2tib3hUb29sdGlwXT1cImNoZWNrYm94VG9vbHRpcFwiXG4gICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvcml2LWNoZWNrYm94PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9sYWJlbD5cbiJdfQ==
|
|
@@ -4,8 +4,6 @@ import * as i1 from "../../modal/tooltip/tooltip.directive";
|
|
|
4
4
|
export class CheckboxComponent {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.value = false;
|
|
7
|
-
this.checkedColorToken = '--purp-60';
|
|
8
|
-
this.indeterminateColorToken = '--baloo-50';
|
|
9
7
|
this.indeterminate = false;
|
|
10
8
|
this.disabled = false;
|
|
11
9
|
this.required = false;
|
|
@@ -27,28 +25,18 @@ export class CheckboxComponent {
|
|
|
27
25
|
isCheckboxOnly() {
|
|
28
26
|
return !this.label || this.label.nativeElement.childNodes.length === 1;
|
|
29
27
|
}
|
|
30
|
-
getCheckedBackgroundColor() {
|
|
31
|
-
return `var(${this.checkedColorToken})`;
|
|
32
|
-
}
|
|
33
|
-
getIndeterminateBackgroundColor() {
|
|
34
|
-
return `var(${this.indeterminateColorToken})`;
|
|
35
|
-
}
|
|
36
28
|
}
|
|
37
29
|
CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CheckboxComponent, selector: "riv-checkbox", inputs: { name: "name", identifier: "identifier", value: "value",
|
|
30
|
+
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CheckboxComponent, selector: "riv-checkbox", inputs: { name: "name", identifier: "identifier", value: "value", checkboxTooltip: "checkboxTooltip", indeterminate: "indeterminate", disabled: "disabled", required: "required" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "label", first: true, predicate: ["label"], descendants: true, static: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<label\n #label\n [class.disabled]=\"disabled\"\n [class.has-content]=\"!isCheckboxOnly()\"\n>\n <input\n #input\n type=\"checkbox\"\n [id]=\"identifier\"\n [name]=\"name\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [checked]=\"value\"\n [indeterminate]=\"indeterminate\"\n (change)=\"emit(!!input.checked)\"\n [rivTooltip]=\"checkboxTooltip\"\n />\n <ng-content></ng-content>\n</label>\n", styles: [":host{display:inline-flex}label{flex-grow:1;display:inline-flex;gap:var(--size-small);align-items:center}label.has-content{padding:var(--size-xsmall) var(--size-small);border-radius:var(--border-radius-xsmall)}label.has-content:hover:not(.disabled){cursor:pointer;background-color:var(--surface-light-2)}input{--size: calc(var(--base-grid-size) * 4);margin:0;width:var(--size);height:var(--size);position:relative;cursor:pointer;flex-shrink:0}input:before{content:\"\";position:absolute;inset:0;border-radius:var(--border-radius-xsmall);background-color:var(--surface-light-0)}input:after{content:\"\";position:absolute;inset:0;border-radius:var(--border-radius-xsmall);border:var(--border-width) solid var(--border-light-blend);background-repeat:no-repeat;background-position:center center;background-color:var(--surface-light-0)}input:checked:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgZD0iTTMuNSw3LjUgbDMsMyBsNiwtNiIgZmlsbD0ibm9uZSIgLz48L3N2Zz4=);background-color:var(--purp-60)}input:indeterminate:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeD0iMyIgeT0iNyIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIGZpbGw9IndoaXRlIiAvPjwvc3ZnPg==);background-color:var(--baloo-50)}input:disabled{cursor:default}input:disabled:after{background-color:var(--black-20)}input:disabled:checked:after,input:disabled:indeterminate:after{background-color:var(--black-40)}\n"], dependencies: [{ kind: "directive", type: i1.TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipCloseDelay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
39
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
40
32
|
type: Component,
|
|
41
|
-
args: [{ selector: 'riv-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label\n #label\n [class.disabled]=\"disabled\"\n [class.has-content]=\"!isCheckboxOnly()\"\n>\n <input\n #input\n type=\"checkbox\"\n [id]=\"identifier\"\n [name]=\"name\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [checked]=\"value\"\n [indeterminate]=\"indeterminate\"\n (change)=\"emit(!!input.checked)\"\n [
|
|
33
|
+
args: [{ selector: 'riv-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label\n #label\n [class.disabled]=\"disabled\"\n [class.has-content]=\"!isCheckboxOnly()\"\n>\n <input\n #input\n type=\"checkbox\"\n [id]=\"identifier\"\n [name]=\"name\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [checked]=\"value\"\n [indeterminate]=\"indeterminate\"\n (change)=\"emit(!!input.checked)\"\n [rivTooltip]=\"checkboxTooltip\"\n />\n <ng-content></ng-content>\n</label>\n", styles: [":host{display:inline-flex}label{flex-grow:1;display:inline-flex;gap:var(--size-small);align-items:center}label.has-content{padding:var(--size-xsmall) var(--size-small);border-radius:var(--border-radius-xsmall)}label.has-content:hover:not(.disabled){cursor:pointer;background-color:var(--surface-light-2)}input{--size: calc(var(--base-grid-size) * 4);margin:0;width:var(--size);height:var(--size);position:relative;cursor:pointer;flex-shrink:0}input:before{content:\"\";position:absolute;inset:0;border-radius:var(--border-radius-xsmall);background-color:var(--surface-light-0)}input:after{content:\"\";position:absolute;inset:0;border-radius:var(--border-radius-xsmall);border:var(--border-width) solid var(--border-light-blend);background-repeat:no-repeat;background-position:center center;background-color:var(--surface-light-0)}input:checked:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgZD0iTTMuNSw3LjUgbDMsMyBsNiwtNiIgZmlsbD0ibm9uZSIgLz48L3N2Zz4=);background-color:var(--purp-60)}input:indeterminate:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeD0iMyIgeT0iNyIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIGZpbGw9IndoaXRlIiAvPjwvc3ZnPg==);background-color:var(--baloo-50)}input:disabled{cursor:default}input:disabled:after{background-color:var(--black-20)}input:disabled:checked:after,input:disabled:indeterminate:after{background-color:var(--black-40)}\n"] }]
|
|
42
34
|
}], propDecorators: { name: [{
|
|
43
35
|
type: Input
|
|
44
36
|
}], identifier: [{
|
|
45
37
|
type: Input
|
|
46
38
|
}], value: [{
|
|
47
39
|
type: Input
|
|
48
|
-
}], checkedColorToken: [{
|
|
49
|
-
type: Input
|
|
50
|
-
}], indeterminateColorToken: [{
|
|
51
|
-
type: Input
|
|
52
40
|
}], checkboxTooltip: [{
|
|
53
41
|
type: Input
|
|
54
42
|
}], indeterminate: [{
|
|
@@ -66,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
66
54
|
type: ViewChild,
|
|
67
55
|
args: ['input', { static: true }]
|
|
68
56
|
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7QUFRdkIsTUFBTSxPQUFPLGlCQUFpQjtJQU45QjtRQWNFLFVBQUssR0FBWSxLQUFLLENBQUM7UUFNdkIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFHL0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQXlCM0M7SUF2QkMsSUFBSSxDQUFDLENBQVU7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFNRCx1QkFBdUIsQ0FBQyxDQUFVO1FBQ2hDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxJQUFJLE9BQU87WUFDcEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OzhHQS9DVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixtZkNsQjlCLHFiQW1CQTsyRkREYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUkvQyxJQUFJO3NCQURILEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNO2dCQVErQixLQUFLO3NCQUExQyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUUsS0FBSztzQkFBMUMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgbmFtZT86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBpZGVudGlmaWVyPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgY2hlY2tib3hUb29sdGlwPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGVtaXQodjogYm9vbGVhbikge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcbiAgICB0aGlzLmVuc3VyZVN5bmNocm9uaXplZFN0YXRlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnbGFiZWwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsYWJlbD86IEVsZW1lbnRSZWY8SFRNTExhYmVsRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgZW5zdXJlU3luY2hyb25pemVkU3RhdGUodjogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmlucHV0KSB7XG4gICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuY2hlY2tlZCA9IHY7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICgndmFsdWUnIGluIGNoYW5nZXMpXG4gICAgICB0aGlzLmVuc3VyZVN5bmNocm9uaXplZFN0YXRlKGNoYW5nZXNbJ3ZhbHVlJ10uY3VycmVudFZhbHVlKTtcbiAgfVxuXG4gIGlzQ2hlY2tib3hPbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5sYWJlbCB8fCB0aGlzLmxhYmVsLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGggPT09IDE7XG4gIH1cbn1cbiIsIjxsYWJlbFxuICAjbGFiZWxcbiAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLmhhcy1jb250ZW50XT1cIiFpc0NoZWNrYm94T25seSgpXCJcbj5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICBbaWRdPVwiaWRlbnRpZmllclwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtjaGVja2VkXT1cInZhbHVlXCJcbiAgICBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlXCJcbiAgICAoY2hhbmdlKT1cImVtaXQoISFpbnB1dC5jaGVja2VkKVwiXG4gICAgW3JpdlRvb2x0aXBdPVwiY2hlY2tib3hUb29sdGlwXCJcbiAgLz5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9sYWJlbD5cbiJdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
import Fuse from 'fuse.js';
|
|
3
|
+
import { debounceTime, from, map, pairwise, startWith, switchMap, } from 'rxjs';
|
|
3
4
|
import { InputLabelComponent } from '../input-label/input-label.component';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/common";
|
|
@@ -9,6 +10,7 @@ import * as i4 from "../../visualization/highlight/highlight.component";
|
|
|
9
10
|
import * as i5 from "../../icon/icon.component";
|
|
10
11
|
import * as i6 from "../input-label/input-label.component";
|
|
11
12
|
import * as i7 from "../../load/loading-cover/loading-cover.component";
|
|
13
|
+
import * as i8 from "../../visualization/zero-state/zero-state.component";
|
|
12
14
|
export class SingleSelectComponent extends InputLabelComponent {
|
|
13
15
|
constructor() {
|
|
14
16
|
super(...arguments);
|
|
@@ -64,10 +66,10 @@ export class SingleSelectComponent extends InputLabelComponent {
|
|
|
64
66
|
}
|
|
65
67
|
}
|
|
66
68
|
SingleSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SingleSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
SingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SingleSelectComponent, selector: "riv-single-select", inputs: { groups: "groups", selectedOption: "selectedOption", filterabilityOptions: "filterabilityOptions", loading: "loading", locked: "locked", maxCalloutHeight: "maxCalloutHeight", noOptionsMessage: "noOptionsMessage", nodeTemplate: "nodeTemplate", triggerTemplate: "triggerTemplate", placeholder: "placeholder", disabled: "disabled" }, outputs: { filterQueryChange: "filterQueryChange", selectedOptionChange: "selectedOptionChange" }, viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n [rivFocusOnInit]=\"true\"\n />\n <div class=\"options\" [style.max-height]=\"maxCalloutHeight\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngFor=\"let group of groups; trackBy: trackByHeader\">\n <ng-container *ngIf=\"group.header\">\n <span class=\"group-header\">\n {{ group.header }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"group.options; let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByOption\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectOption(node)\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.id === selectedOption?.id\"\n [class.disabled]=\"node?.disabled\"\n [disabled]=\"node?.disabled\"\n (click)=\"selectOption(node)\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.id === selectedOption?.id\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n </riv-loading-cover>\n </div>\n <div class=\"footer\">\n <ng-content select=\"[footer]\"
|
|
69
|
+
SingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SingleSelectComponent, selector: "riv-single-select", inputs: { groups: "groups", selectedOption: "selectedOption", filterabilityOptions: "filterabilityOptions", loading: "loading", locked: "locked", maxCalloutHeight: "maxCalloutHeight", noOptionsMessage: "noOptionsMessage", nodeTemplate: "nodeTemplate", triggerTemplate: "triggerTemplate", placeholder: "placeholder", disabled: "disabled" }, outputs: { filterQueryChange: "filterQueryChange", selectedOptionChange: "selectedOptionChange" }, viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n [rivFocusOnInit]=\"true\"\n />\n <div class=\"options\" [style.max-height]=\"maxCalloutHeight\">\n <riv-loading-cover [loading]=\"loading\">\n <riv-zero-state\n *ngIf=\"!groups.length\"\n [message]=\"noOptionsMessage\"\n ></riv-zero-state>\n <ng-container *ngFor=\"let group of groups; trackBy: trackByHeader\">\n <ng-container *ngIf=\"group.header\">\n <span class=\"group-header\">\n {{ group.header }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"group.options; let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByOption\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectOption(node)\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.id === selectedOption?.id\"\n [class.disabled]=\"node?.disabled\"\n [disabled]=\"node?.disabled\"\n (click)=\"selectOption(node)\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.id === selectedOption?.id\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content select=\"[postOptionList]\"></ng-content>\n </riv-loading-cover>\n </div>\n <div class=\"footer\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-width:calc(var(--base-grid-size) * 150);overflow-y:auto}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2);min-width:calc(var(--base-grid-size) * 16)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}.footer:not(:empty){border-top:var(--border-width) solid var(--border-light-blend);background-color:var(--surface-light-1);border-bottom-left-radius:var(--border-radius-medium);border-bottom-right-radius:var(--border-radius-medium)}.group-header{display:flex;padding:8px 8px 4px;align-items:flex-start;gap:10px;align-self:stretch;font:var(--title-01)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "directive", type: i3.FocusOnInitDirective, selector: "[rivFocusOnInit]", inputs: ["rivFocusOnInit"] }, { kind: "component", type: i4.HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: i5.IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i6.InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText"], outputs: ["labelAction"] }, { kind: "component", type: i7.LoadingCoverComponent, selector: "riv-loading-cover", inputs: ["loading", "loadingSize", "errorMessage"] }, { kind: "component", type: i8.ZeroStateComponent, selector: "riv-zero-state", inputs: ["message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
68
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SingleSelectComponent, decorators: [{
|
|
69
71
|
type: Component,
|
|
70
|
-
args: [{ selector: 'riv-single-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n [rivFocusOnInit]=\"true\"\n />\n <div class=\"options\" [style.max-height]=\"maxCalloutHeight\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngFor=\"let group of groups; trackBy: trackByHeader\">\n <ng-container *ngIf=\"group.header\">\n <span class=\"group-header\">\n {{ group.header }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"group.options; let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByOption\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectOption(node)\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.id === selectedOption?.id\"\n [class.disabled]=\"node?.disabled\"\n [disabled]=\"node?.disabled\"\n (click)=\"selectOption(node)\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.id === selectedOption?.id\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n </riv-loading-cover>\n </div>\n <div class=\"footer\">\n <ng-content select=\"[footer]\"
|
|
72
|
+
args: [{ selector: 'riv-single-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n [rivFocusOnInit]=\"true\"\n />\n <div class=\"options\" [style.max-height]=\"maxCalloutHeight\">\n <riv-loading-cover [loading]=\"loading\">\n <riv-zero-state\n *ngIf=\"!groups.length\"\n [message]=\"noOptionsMessage\"\n ></riv-zero-state>\n <ng-container *ngFor=\"let group of groups; trackBy: trackByHeader\">\n <ng-container *ngIf=\"group.header\">\n <span class=\"group-header\">\n {{ group.header }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"group.options; let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByOption\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectOption(node)\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.id === selectedOption?.id\"\n [class.disabled]=\"node?.disabled\"\n [disabled]=\"node?.disabled\"\n (click)=\"selectOption(node)\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.id === selectedOption?.id\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content select=\"[postOptionList]\"></ng-content>\n </riv-loading-cover>\n </div>\n <div class=\"footer\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-width:calc(var(--base-grid-size) * 150);overflow-y:auto}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2);min-width:calc(var(--base-grid-size) * 16)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}.footer:not(:empty){border-top:var(--border-width) solid var(--border-light-blend);background-color:var(--surface-light-1);border-bottom-left-radius:var(--border-radius-medium);border-bottom-right-radius:var(--border-radius-medium)}.group-header{display:flex;padding:8px 8px 4px;align-items:flex-start;gap:10px;align-self:stretch;font:var(--title-01)}\n"] }]
|
|
71
73
|
}], propDecorators: { groups: [{
|
|
72
74
|
type: Input
|
|
73
75
|
}], selectedOption: [{
|
|
@@ -135,5 +137,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
135
137
|
};
|
|
136
138
|
}
|
|
137
139
|
SingleSelectComponent.getFilterSync = getFilterSync;
|
|
140
|
+
function getFilterAsync(query$, fetcher, debounceInput = 300) {
|
|
141
|
+
return query$.pipe(debounceTime(debounceInput), switchMap(query => from(fetcher(query)).pipe(map(groups => {
|
|
142
|
+
if (!query)
|
|
143
|
+
return { loading: false, groups };
|
|
144
|
+
const fuseOptions = {
|
|
145
|
+
keys: ['title', 'subtitle'],
|
|
146
|
+
includeMatches: true,
|
|
147
|
+
shouldSort: true,
|
|
148
|
+
threshold: 0.6,
|
|
149
|
+
};
|
|
150
|
+
const filteredGroups = groups
|
|
151
|
+
.map(group => {
|
|
152
|
+
const fuse = new Fuse(group.options, fuseOptions);
|
|
153
|
+
const matches = fuse.search(query);
|
|
154
|
+
return {
|
|
155
|
+
...group,
|
|
156
|
+
options: matches.map(match => ({
|
|
157
|
+
...match.item,
|
|
158
|
+
titleHighlightIndices: [
|
|
159
|
+
...(match.matches?.find(result => result.key === 'title')
|
|
160
|
+
?.indices || []),
|
|
161
|
+
],
|
|
162
|
+
subtitleHighlightIndices: [
|
|
163
|
+
...(match.matches?.find(result => result.key === 'subtitle')?.indices || []),
|
|
164
|
+
],
|
|
165
|
+
})),
|
|
166
|
+
};
|
|
167
|
+
})
|
|
168
|
+
.filter(group => group.options.length > 0); // Remove empty groups
|
|
169
|
+
return { loading: false, groups: filteredGroups };
|
|
170
|
+
}), startWith({ loading: true, groups: [] }))), pairwise(), map(([previous, next]) => ({
|
|
171
|
+
loading: next.loading,
|
|
172
|
+
groups: next.loading ? previous.groups : next.groups,
|
|
173
|
+
})), startWith({ loading: false, groups: [] }));
|
|
174
|
+
}
|
|
175
|
+
SingleSelectComponent.getFilterAsync = getFilterAsync;
|
|
138
176
|
})(SingleSelectComponent || (SingleSelectComponent = {}));
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9zaW5nbGUtc2VsZWN0L3NpbmdsZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2luZ2xlLXNlbGVjdC9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLElBQUksTUFBTSxTQUFTLENBQUM7QUFFM0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7OztBQVEzRSxNQUFNLE9BQU8scUJBR1gsU0FBUSxtQkFBbUI7SUFUN0I7O1FBV0UsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUdqQixtQkFBYyxHQUFhLElBQUksQ0FBQztRQUdoQyx5QkFBb0IsR0FBK0M7WUFDakUsT0FBTyxFQUFFLEtBQUs7U0FDZixDQUFDO1FBR0YsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBR3hCLHFCQUFnQixHQUFXLE1BQU0sQ0FBQztRQUdsQyxxQkFBZ0IsR0FBVyxzQkFBc0IsQ0FBQztRQVNsRCxnQkFBVyxHQUFXLFdBQVcsQ0FBQztRQUdsQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBR3pCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHL0MseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztRQW1EN0MsU0FBSSxHQUFZLEtBQUssQ0FBQztLQUN2QjtJQS9D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LEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRW5DLE9BQU87b0JBQ0wsR0FBRyxLQUFLO29CQUNSLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDN0IsR0FBRyxLQUFLLENBQUMsSUFBSTt3QkFDYixxQkFBcUIsRUFBRTs0QkFDckIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxPQUFPLENBQUM7Z0NBQ3ZELEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQzt5QkFDbkI7d0JBQ0Qsd0JBQXdCLEVBQUU7NEJBQ3hCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUFDO2dDQUMxRCxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7eUJBQ25CO3FCQUNGLENBQUMsQ0FBQztpQkFDSixDQUFDO1lBQ0osQ0FBQyxDQUFDO2lCQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCO1FBQ3RFLENBQUMsQ0FBQztJQUNKLENBQUM7SUFwQ2UsbUNBQWEsZ0JBb0M1QixDQUFBO0FBQ0gsQ0FBQyxFQTdEZ0IscUJBQXFCLEtBQXJCLHFCQUFxQixRQTZEckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEZ1c2UgZnJvbSAnZnVzZS5qcyc7XG5pbXBvcnQgeyBIaWdobGlnaHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aXN1YWxpemF0aW9uL2hpZ2hsaWdodC9oaWdobGlnaHQuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0TGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1sYWJlbC9pbnB1dC1sYWJlbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtc2luZ2xlLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTaW5nbGVTZWxlY3RDb21wb25lbnQ8XG4gIFQgZXh0ZW5kcyBTaW5nbGVTZWxlY3RDb21wb25lbnQuT3B0aW9uR3JvdXA8VT4sXG4gIFUgZXh0ZW5kcyBTaW5nbGVTZWxlY3RDb21wb25lbnQuT3B0aW9uLFxuPiBleHRlbmRzIElucHV0TGFiZWxDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBncm91cHM6IFRbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHNlbGVjdGVkT3B0aW9uOiBVIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZmlsdGVyYWJpbGl0eU9wdGlvbnM6IFNpbmdsZVNlbGVjdENvbXBvbmVudC5GaWx0ZXJhYmlsaXR5T3B0aW9ucyA9IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgfTtcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbG9ja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbWF4Q2FsbG91dEhlaWdodDogc3RyaW5nID0gJzUwdmgnO1xuXG4gIEBJbnB1dCgpXG4gIG5vT3B0aW9uc01lc3NhZ2U6IHN0cmluZyA9ICdObyBhdmFpbGFibGUgb3B0aW9ucyc7XG5cbiAgQElucHV0KClcbiAgbm9kZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgdHJpZ2dlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWxlY3QuLi4nO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZmlsdGVyUXVlcnk6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJRdWVyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZE9wdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VT4oKTtcblxuICBAVmlld0NoaWxkKCdjdXN0b21UcmlnZ2VyQnV0dG9uJykgY3VzdG9tVHJpZ2dlckJ1dHRvbj86IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3N0YW5kYXJkVHJpZ2dlckJ1dHRvbicpIHN0YW5kYXJkVHJpZ2dlckJ1dHRvbj86IEVsZW1lbnRSZWY7XG5cbiAgZ2V0VHJpZ2dlcigpOiBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY3VzdG9tVHJpZ2dlckJ1dHRvbj8ubmF0aXZlRWxlbWVudCA/P1xuICAgICAgdGhpcy5zdGFuZGFyZFRyaWdnZXJCdXR0b24/Lm5hdGl2ZUVsZW1lbnRcbiAgICApO1xuICB9XG5cbiAgZ2V0RmlsdGVyUGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLmVuYWJsZWQgJiZcbiAgICAgIHRoaXMuZmlsdGVyYWJpbGl0eU9wdGlvbnMucGxhY2Vob2xkZXJcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLnBsYWNlaG9sZGVyO1xuICAgIH1cbiAgICByZXR1cm4gJ0ZpbHRlciBvcHRpb25zLi4uJztcbiAgfVxuXG4gIGFsbG93ZWRPcGVuKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5sb2NrZWQpIHtcbiAgICAgIHRoaXMub3BlbiA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgc2VsZWN0T3B0aW9uKG5ld2x5U2VsZWN0ZWRPcHRpb246IFUpIHtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uQ2hhbmdlLmVtaXQobmV3bHlTZWxlY3RlZE9wdGlvbik7XG4gICAgdGhpcy5vcGVuID0gZmFsc2U7XG5cbiAgICAvLyBDbGVhciBmaWx0ZXIgYWZ0ZXIgYW4gb3B0aW9uIGlzIHNlbGVjdGVkLlxuICAgIGlmICh0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMuZmlsdGVyUXVlcnkgPSAnJztcbiAgICAgIHRoaXMuZmlsdGVyUXVlcnlDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlclF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICB0cmFja0J5SGVhZGVyKGk6IG51bWJlciwgZ3JvdXA6IFNpbmdsZVNlbGVjdENvbXBvbmVudC5PcHRpb25Hcm91cDxVPikge1xuICAgIHJldHVybiBgJHtpfSR7Z3JvdXAuaGVhZGVyfWA7XG4gIH1cblxuICB0cmFja0J5T3B0aW9uKF86IG51bWJlciwgb3B0aW9uOiBVKSB7XG4gICAgcmV0dXJuIG9wdGlvbi5pZDtcbiAgfVxuXG4gIG9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTaW5nbGVTZWxlY3RDb21wb25lbnQge1xuICBleHBvcnQgdHlwZSBPcHRpb24gPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICB0aXRsZUhpZ2hsaWdodEluZGljZXM/OiBIaWdobGlnaHRDb21wb25lbnQuSGlnaGxpZ2h0SW5kaWNlc1tdO1xuICAgIHN1YnRpdGxlSGlnaGxpZ2h0SW5kaWNlcz86IEhpZ2hsaWdodENvbXBvbmVudC5IaWdobGlnaHRJbmRpY2VzW107XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgT3B0aW9uR3JvdXA8TyBleHRlbmRzIE9wdGlvbj4gPSB7XG4gICAgaGVhZGVyPzogc3RyaW5nO1xuICAgIG9wdGlvbnM6IE9bXTtcbiAgfTtcblxuICBleHBvcnQgdHlwZSBGaWx0ZXJhYmlsaXR5T3B0aW9ucyA9XG4gICAgfCB7XG4gICAgICAgIGVuYWJsZWQ6IGZhbHNlO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBlbmFibGVkOiB0cnVlO1xuICAgICAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICAgIH07XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldEZpbHRlclN5bmM8VCBleHRlbmRzIE9wdGlvbkdyb3VwPFU+LCBVIGV4dGVuZHMgT3B0aW9uPihcbiAgICBncm91cHM6IFRbXSxcbiAgICBleGFjdDogYm9vbGVhbiA9IGZhbHNlLFxuICApOiAocXVlcnk6IHN0cmluZykgPT4gVFtdIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gZmlsdGVyKHF1ZXJ5OiBzdHJpbmcpIHtcbiAgICAgIGlmICghcXVlcnkpIHJldHVybiBncm91cHM7XG5cbiAgICAgIGNvbnN0IGZ1c2VPcHRpb25zID0ge1xuICAgICAgICBrZXlzOiBbJ3RpdGxlJywgJ3N1YnRpdGxlJ10sXG4gICAgICAgIGluY2x1ZGVNYXRjaGVzOiB0cnVlLFxuICAgICAgICBzaG91bGRTb3J0OiB0cnVlLFxuICAgICAgICB0aHJlc2hvbGQ6IGV4YWN0ID8gMC4wIDogMC42LFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGdyb3Vwc1xuICAgICAgICAubWFwKGdyb3VwID0+IHtcbiAgICAgICAgICBjb25zdCBmdXNlID0gbmV3IEZ1c2UoZ3JvdXAub3B0aW9ucywgZnVzZU9wdGlvbnMpO1xuICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSBmdXNlLnNlYXJjaChxdWVyeSk7XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgICAgICBvcHRpb25zOiBtYXRjaGVzLm1hcChtYXRjaCA9PiAoe1xuICAgICAgICAgICAgICAuLi5tYXRjaC5pdGVtLFxuICAgICAgICAgICAgICB0aXRsZUhpZ2hsaWdodEluZGljZXM6IFtcbiAgICAgICAgICAgICAgICAuLi4obWF0Y2gubWF0Y2hlcz8uZmluZChyZXN1bHQgPT4gcmVzdWx0LmtleSA9PT0gJ3RpdGxlJylcbiAgICAgICAgICAgICAgICAgID8uaW5kaWNlcyB8fCBbXSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHN1YnRpdGxlSGlnaGxpZ2h0SW5kaWNlczogW1xuICAgICAgICAgICAgICAgIC4uLihtYXRjaC5tYXRjaGVzPy5maW5kKHJlc3VsdCA9PiByZXN1bHQua2V5ID09PSAnc3VidGl0bGUnKVxuICAgICAgICAgICAgICAgICAgPy5pbmRpY2VzIHx8IFtdKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICAgICAuZmlsdGVyKGdyb3VwID0+IGdyb3VwLm9wdGlvbnMubGVuZ3RoID4gMCk7IC8vIFJlbW92ZSBlbXB0eSBncm91cHNcbiAgICB9O1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidHJpZ2dlclRlbXBsYXRlOyBlbHNlIHN0YW5kYXJkVHJpZ2dlclwiPlxuICA8YnV0dG9uXG4gICAgI2N1c3RvbVRyaWdnZXJCdXR0b25cbiAgICAoY2xpY2spPVwiYWxsb3dlZE9wZW4oKVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvY2tlZFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmlnZ2VyVGVtcGxhdGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2VsZWN0ZWRPcHRpb24gfVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNzdGFuZGFyZFRyaWdnZXI+XG4gIDxyaXYtaW5wdXQtbGFiZWxcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgIFtoZWxwXT1cImhlbHBcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2xhYmVsQWN0aW9uVGV4dF09XCJsYWJlbEFjdGlvblRleHRcIlxuICAgIChsYWJlbEFjdGlvbik9XCJsYWJlbEFjdGlvbi5lbWl0KCRldmVudClcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgI3N0YW5kYXJkVHJpZ2dlckJ1dHRvblxuICAgICAgY2xhc3M9XCJ0cmlnZ2VyXCJcbiAgICAgIChjbGljayk9XCJhbGxvd2VkT3BlbigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBsb2NrZWRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkT3B0aW9uOyBlbHNlIHBsYWNlaG9sZGVyVmFsdWVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPnt7IHNlbGVjdGVkT3B0aW9uLnRpdGxlIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyVmFsdWU+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUgcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8c3BhbiBjbGFzcz1cImNoZXZyb25cIj5cbiAgICAgICAgPHJpdi1pY29uICpuZ0lmPVwiIWxvY2tlZFwiIFtuYW1lXT1cIidDaGV2cm9uRG93bidcIiBbc2l6ZV09XCIxNlwiPjwvcml2LWljb24+XG4gICAgICAgIDxyaXYtaWNvbiAqbmdJZj1cImxvY2tlZFwiIFtuYW1lXT1cIidMb2NrJ1wiIFtzaXplXT1cIjE2XCI+PC9yaXYtaWNvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9yaXYtaW5wdXQtbGFiZWw+XG48L25nLXRlbXBsYXRlPlxuXG48cml2LWNhbGxvdXRcbiAgKm5nSWY9XCJvcGVuXCJcbiAgW2FuY2hvcl09XCJnZXRUcmlnZ2VyKClcIlxuICBbdGhlbWVdPVwiJ2xpZ2h0J1wiXG4gIFtzaG93Q2FyZXRdPVwiZmFsc2VcIlxuICBbYWxsb3dlZFBvc2l0aW9uc109XCJbXG4gICAgJ3RvcC1sZWZ0JyxcbiAgICAndG9wLWNlbnRlcicsXG4gICAgJ3RvcC1yaWdodCcsXG4gICAgJ2JvdHRvbS1yaWdodCcsXG4gICAgJ2JvdHRvbS1jZW50ZXInLFxuICAgICdib3R0b20tbGVmdCdcbiAgXVwiXG4gIChjbG9zZSk9XCJvcGVuID0gZmFsc2VcIlxuPlxuICA8aW5wdXRcbiAgICAqbmdJZj1cImZpbHRlcmFiaWxpdHlPcHRpb25zLmVuYWJsZWRcIlxuICAgICNmaWx0ZXJcbiAgICBjbGFzcz1cImZpbHRlclwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImdldEZpbHRlclBsYWNlaG9sZGVyKClcIlxuICAgIFt2YWx1ZV09XCJmaWx0ZXJRdWVyeVwiXG4gICAgKGlucHV0KT1cImZpbHRlclF1ZXJ5ID0gZmlsdGVyLnZhbHVlOyBmaWx0ZXJRdWVyeUNoYW5nZS5lbWl0KGZpbHRlclF1ZXJ5KVwiXG4gICAgW3JpdkZvY3VzT25Jbml0XT1cInRydWVcIlxuICAvPlxuICA8ZGl2IGNsYXNzPVwib3B0aW9uc1wiIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIm1heENhbGxvdXRIZWlnaHRcIj5cbiAgICA8cml2LWxvYWRpbmctY292ZXIgW2xvYWRpbmddPVwibG9hZGluZ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgZ3JvdXBzOyB0cmFja0J5OiB0cmFja0J5SGVhZGVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cC5oZWFkZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdyb3VwLWhlYWRlclwiPlxuICAgICAgICAgICAge3sgZ3JvdXAuaGVhZGVyIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwLm9wdGlvbnM7IGxldCBub2Rlc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2Rlcy5sZW5ndGggPiAwOyBlbHNlIGVtcHR5XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBub2RlIG9mIG5vZGVzOyB0cmFja0J5OiB0cmFja0J5T3B0aW9uXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2RlVGVtcGxhdGU7IGVsc2Ugc3RhbmRhcmRUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLXNpbmdsZS1zZWxlY3Qtbm9kZVwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0T3B0aW9uKG5vZGUpXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9kZVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbm9kZSB9XCJcbiAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhbmRhcmRUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbmdsZS1zZWxlY3Qtbm9kZVwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwibm9kZT8uaWQgPT09IHNlbGVjdGVkT3B0aW9uPy5pZFwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwibm9kZT8uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm5vZGU/LmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24obm9kZSlcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHJpdi1pY29uXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidDaGVjaydcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm5vZGU/LmlkID09PSBzZWxlY3RlZE9wdGlvbj8uaWRcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICAgICAgICAgICAgICA+PC9yaXYtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxyaXYtaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJub2RlPy50aXRsZSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5kaWNlc109XCJub2RlPy50aXRsZUhpZ2hsaWdodEluZGljZXMgfHwgW11cIlxuICAgICAgICAgICAgICAgICAgICAgID48L3Jpdi1oaWdobGlnaHQ+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJub2RlPy5zdWJ0aXRsZVwiIGNsYXNzPVwibGFiZWwtc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cml2LWhpZ2hsaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwibm9kZT8uc3VidGl0bGUgfHwgJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2luZGljZXNdPVwibm9kZT8uc3VidGl0bGVIaWdobGlnaHRJbmRpY2VzIHx8IFtdXCJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9yaXYtaGlnaGxpZ2h0PlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgICAgICAgIHt7IG5vT3B0aW9uc01lc3NhZ2UgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9yaXYtbG9hZGluZy1jb3Zlcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPiA8L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9yaXYtY2FsbG91dD5cbiJdfQ==
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9zaW5nbGUtc2VsZWN0L3NpbmdsZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2luZ2xlLXNlbGVjdC9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLElBQUksTUFBTSxTQUFTLENBQUM7QUFDM0IsT0FBTyxFQUNMLFlBQVksRUFDWixJQUFJLEVBQ0osR0FBRyxFQUVILFFBQVEsRUFDUixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFRM0UsTUFBTSxPQUFPLHFCQUdYLFNBQVEsbUJBQW1CO0lBVDdCOztRQVdFLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFHakIsbUJBQWMsR0FBYSxJQUFJLENBQUM7UUFHaEMseUJBQW9CLEdBQStDO1lBQ2pFLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQztRQUdGLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHekIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUd4QixxQkFBZ0IsR0FBVyxNQUFNLENBQUM7UUFHbEMscUJBQWdCLEdBQVcsc0JBQXNCLENBQUM7UUFTbEQsZ0JBQVcsR0FBVyxXQUFXLENBQUM7UUFHbEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUd6QixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRy9DLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7UUFtRDdDLFNBQUksR0FBWSxLQUFLLENBQUM7S0FDdkI7SUEvQ0MsVUFBVTtRQUNSLE9BQU8sQ0FDTCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsYUFBYTtZQUN2QyxJQUFJLENBQUMscUJBQXFCLEVBQUUsYUFBYSxDQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUNFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPO1lBQ2pDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQ3JDO1lBQ0EsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQVksQ0FBQyxtQkFBc0I7UUFDakMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWxCLDRDQUE0QztRQUM1QyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUU7WUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLENBQVMsRUFBRSxLQUEyQztRQUNsRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYSxDQUFDLENBQVMsRUFBRSxNQUFTO1FBQ2hDLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDOztrSEE5RlUscUJBQXFCO3NHQUFyQixxQkFBcUIsb3ZCQzdCbEMsZ3pKQTRJQTsyRkQvR2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNOzhCQU8vQyxNQUFNO3NCQURMLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFNTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFNTixpQkFBaUI7c0JBRGhCLE1BQU07Z0JBSVAsb0JBQW9CO3NCQURuQixNQUFNO2dCQUcyQixtQkFBbUI7c0JBQXBELFNBQVM7dUJBQUMscUJBQXFCO2dCQUNJLHFCQUFxQjtzQkFBeEQsU0FBUzt1QkFBQyx1QkFBdUI7O0FBbURwQyxXQUFpQixxQkFBcUI7SUF3QnBDLFNBQWdCLGFBQWEsQ0FDM0IsTUFBVyxFQUNYLFFBQWlCLEtBQUs7UUFFdEIsT0FBTyxTQUFTLE1BQU0sQ0FBQyxLQUFhO1lBQ2xDLElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU8sTUFBTSxDQUFDO1lBRTFCLE1BQU0sV0FBVyxHQUFHO2dCQUNsQixJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDO2dCQUMzQixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRzthQUM3QixDQUFDO1lBRUYsT0FBTyxNQUFNO2lCQUNWLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDWCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUNsRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVuQyxPQUFPO29CQUNMLEdBQUcsS0FBSztvQkFDUixPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQzdCLEdBQUcsS0FBSyxDQUFDLElBQUk7d0JBQ2IscUJBQXFCLEVBQUU7NEJBQ3JCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDO2dDQUN2RCxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7eUJBQ25CO3dCQUNELHdCQUF3QixFQUFFOzRCQUN4QixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLFVBQVUsQ0FBQztnQ0FDMUQsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO3lCQUNuQjtxQkFDRixDQUFDLENBQUM7aUJBQ0osQ0FBQztZQUNKLENBQUMsQ0FBQztpQkFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtRQUN0RSxDQUFDLENBQUM7SUFDSixDQUFDO0lBcENlLG1DQUFhLGdCQW9DNUIsQ0FBQTtJQUVELFNBQWdCLGNBQWMsQ0FDNUIsTUFBMEIsRUFDMUIsT0FBd0MsRUFDeEMsZ0JBQXdCLEdBQUc7UUFLM0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUNoQixZQUFZLENBQUMsYUFBYSxDQUFDLEVBQzNCLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN2QixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDWCxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUU5QyxNQUFNLFdBQVcsR0FBRztnQkFDbEIsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztnQkFDM0IsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixTQUFTLEVBQUUsR0FBRzthQUNmLENBQUM7WUFFRixNQUFNLGNBQWMsR0FBRyxNQUFNO2lCQUMxQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ1gsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFbkMsT0FBTztvQkFDTCxHQUFHLEtBQUs7b0JBQ1IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUM3QixHQUFHLEtBQUssQ0FBQyxJQUFJO3dCQUNiLHFCQUFxQixFQUFFOzRCQUNyQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQztnQ0FDdkQsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO3lCQUNuQjt3QkFDRCx3QkFBd0IsRUFBRTs0QkFDeEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUNyQixNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUNwQyxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7eUJBQ2xCO3FCQUNGLENBQUMsQ0FBQztpQkFDSixDQUFDO1lBQ0osQ0FBQyxDQUFDO2lCQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCO1lBRXBFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsQ0FBQztRQUNwRCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUN6QyxDQUNGLEVBQ0QsUUFBUSxFQUFFLEVBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTTtTQUNyRCxDQUFDLENBQUMsRUFDSCxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUMxQyxDQUFDO0lBQ0osQ0FBQztJQXpEZSxvQ0FBYyxpQkF5RDdCLENBQUE7QUFDSCxDQUFDLEVBeEhnQixxQkFBcUIsS0FBckIscUJBQXFCLFFBd0hyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgRnVzZSBmcm9tICdmdXNlLmpzJztcbmltcG9ydCB7XG4gIGRlYm91bmNlVGltZSxcbiAgZnJvbSxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBwYWlyd2lzZSxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSGlnaGxpZ2h0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlzdWFsaXphdGlvbi9oaWdobGlnaHQvaGlnaGxpZ2h0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQtbGFiZWwvaW5wdXQtbGFiZWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LXNpbmdsZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpbmdsZS1zZWxlY3QuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2luZ2xlU2VsZWN0Q29tcG9uZW50PFxuICBUIGV4dGVuZHMgU2luZ2xlU2VsZWN0Q29tcG9uZW50Lk9wdGlvbkdyb3VwPFU+LFxuICBVIGV4dGVuZHMgU2luZ2xlU2VsZWN0Q29tcG9uZW50Lk9wdGlvbixcbj4gZXh0ZW5kcyBJbnB1dExhYmVsQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgZ3JvdXBzOiBUW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBzZWxlY3RlZE9wdGlvbjogVSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGZpbHRlcmFiaWxpdHlPcHRpb25zOiBTaW5nbGVTZWxlY3RDb21wb25lbnQuRmlsdGVyYWJpbGl0eU9wdGlvbnMgPSB7XG4gICAgZW5hYmxlZDogZmFsc2UsXG4gIH07XG5cbiAgQElucHV0KClcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGxvY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIG1heENhbGxvdXRIZWlnaHQ6IHN0cmluZyA9ICc1MHZoJztcblxuICBASW5wdXQoKVxuICBub09wdGlvbnNNZXNzYWdlOiBzdHJpbmcgPSAnTm8gYXZhaWxhYmxlIG9wdGlvbnMnO1xuXG4gIEBJbnB1dCgpXG4gIG5vZGVUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpXG4gIHRyaWdnZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWN0Li4uJztcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGZpbHRlclF1ZXJ5OiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KClcbiAgZmlsdGVyUXVlcnlDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0ZWRPcHRpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFU+KCk7XG5cbiAgQFZpZXdDaGlsZCgnY3VzdG9tVHJpZ2dlckJ1dHRvbicpIGN1c3RvbVRyaWdnZXJCdXR0b24/OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdzdGFuZGFyZFRyaWdnZXJCdXR0b24nKSBzdGFuZGFyZFRyaWdnZXJCdXR0b24/OiBFbGVtZW50UmVmO1xuXG4gIGdldFRyaWdnZXIoKTogRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmN1c3RvbVRyaWdnZXJCdXR0b24/Lm5hdGl2ZUVsZW1lbnQgPz9cbiAgICAgIHRoaXMuc3RhbmRhcmRUcmlnZ2VyQnV0dG9uPy5uYXRpdmVFbGVtZW50XG4gICAgKTtcbiAgfVxuXG4gIGdldEZpbHRlclBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5maWx0ZXJhYmlsaXR5T3B0aW9ucy5lbmFibGVkICYmXG4gICAgICB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLnBsYWNlaG9sZGVyXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXJhYmlsaXR5T3B0aW9ucy5wbGFjZWhvbGRlcjtcbiAgICB9XG4gICAgcmV0dXJuICdGaWx0ZXIgb3B0aW9ucy4uLic7XG4gIH1cblxuICBhbGxvd2VkT3BlbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMubG9ja2VkKSB7XG4gICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHNlbGVjdE9wdGlvbihuZXdseVNlbGVjdGVkT3B0aW9uOiBVKSB7XG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbkNoYW5nZS5lbWl0KG5ld2x5U2VsZWN0ZWRPcHRpb24pO1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuXG4gICAgLy8gQ2xlYXIgZmlsdGVyIGFmdGVyIGFuIG9wdGlvbiBpcyBzZWxlY3RlZC5cbiAgICBpZiAodGhpcy5maWx0ZXJhYmlsaXR5T3B0aW9ucy5lbmFibGVkKSB7XG4gICAgICB0aGlzLmZpbHRlclF1ZXJ5ID0gJyc7XG4gICAgICB0aGlzLmZpbHRlclF1ZXJ5Q2hhbmdlLmVtaXQodGhpcy5maWx0ZXJRdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeUhlYWRlcihpOiBudW1iZXIsIGdyb3VwOiBTaW5nbGVTZWxlY3RDb21wb25lbnQuT3B0aW9uR3JvdXA8VT4pIHtcbiAgICByZXR1cm4gYCR7aX0ke2dyb3VwLmhlYWRlcn1gO1xuICB9XG5cbiAgdHJhY2tCeU9wdGlvbihfOiBudW1iZXIsIG9wdGlvbjogVSkge1xuICAgIHJldHVybiBvcHRpb24uaWQ7XG4gIH1cblxuICBvcGVuOiBib29sZWFuID0gZmFsc2U7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2luZ2xlU2VsZWN0Q29tcG9uZW50IHtcbiAgZXhwb3J0IHR5cGUgT3B0aW9uID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgdGl0bGVIaWdobGlnaHRJbmRpY2VzPzogSGlnaGxpZ2h0Q29tcG9uZW50LkhpZ2hsaWdodEluZGljZXNbXTtcbiAgICBzdWJ0aXRsZUhpZ2hsaWdodEluZGljZXM/OiBIaWdobGlnaHRDb21wb25lbnQuSGlnaGxpZ2h0SW5kaWNlc1tdO1xuICB9O1xuXG4gIGV4cG9ydCB0eXBlIE9wdGlvbkdyb3VwPE8gZXh0ZW5kcyBPcHRpb24+ID0ge1xuICAgIGhlYWRlcj86IHN0cmluZztcbiAgICBvcHRpb25zOiBPW107XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgRmlsdGVyYWJpbGl0eU9wdGlvbnMgPVxuICAgIHwge1xuICAgICAgICBlbmFibGVkOiBmYWxzZTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZTtcbiAgICAgICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgICB9O1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRGaWx0ZXJTeW5jPFQgZXh0ZW5kcyBPcHRpb25Hcm91cDxVPiwgVSBleHRlbmRzIE9wdGlvbj4oXG4gICAgZ3JvdXBzOiBUW10sXG4gICAgZXhhY3Q6IGJvb2xlYW4gPSBmYWxzZSxcbiAgKTogKHF1ZXJ5OiBzdHJpbmcpID0+IFRbXSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGZpbHRlcihxdWVyeTogc3RyaW5nKSB7XG4gICAgICBpZiAoIXF1ZXJ5KSByZXR1cm4gZ3JvdXBzO1xuXG4gICAgICBjb25zdCBmdXNlT3B0aW9ucyA9IHtcbiAgICAgICAga2V5czogWyd0aXRsZScsICdzdWJ0aXRsZSddLFxuICAgICAgICBpbmNsdWRlTWF0Y2hlczogdHJ1ZSxcbiAgICAgICAgc2hvdWxkU29ydDogdHJ1ZSxcbiAgICAgICAgdGhyZXNob2xkOiBleGFjdCA/IDAuMCA6IDAuNixcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBncm91cHNcbiAgICAgICAgLm1hcChncm91cCA9PiB7XG4gICAgICAgICAgY29uc3QgZnVzZSA9IG5ldyBGdXNlKGdyb3VwLm9wdGlvbnMsIGZ1c2VPcHRpb25zKTtcbiAgICAgICAgICBjb25zdCBtYXRjaGVzID0gZnVzZS5zZWFyY2gocXVlcnkpO1xuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmdyb3VwLFxuICAgICAgICAgICAgb3B0aW9uczogbWF0Y2hlcy5tYXAobWF0Y2ggPT4gKHtcbiAgICAgICAgICAgICAgLi4ubWF0Y2guaXRlbSxcbiAgICAgICAgICAgICAgdGl0bGVIaWdobGlnaHRJbmRpY2VzOiBbXG4gICAgICAgICAgICAgICAgLi4uKG1hdGNoLm1hdGNoZXM/LmZpbmQocmVzdWx0ID0+IHJlc3VsdC5rZXkgPT09ICd0aXRsZScpXG4gICAgICAgICAgICAgICAgICA/LmluZGljZXMgfHwgW10pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBzdWJ0aXRsZUhpZ2hsaWdodEluZGljZXM6IFtcbiAgICAgICAgICAgICAgICAuLi4obWF0Y2gubWF0Y2hlcz8uZmluZChyZXN1bHQgPT4gcmVzdWx0LmtleSA9PT0gJ3N1YnRpdGxlJylcbiAgICAgICAgICAgICAgICAgID8uaW5kaWNlcyB8fCBbXSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcihncm91cCA9PiBncm91cC5vcHRpb25zLmxlbmd0aCA+IDApOyAvLyBSZW1vdmUgZW1wdHkgZ3JvdXBzXG4gICAgfTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRGaWx0ZXJBc3luYzxUIGV4dGVuZHMgT3B0aW9uR3JvdXA8VT4sIFUgZXh0ZW5kcyBPcHRpb24+KFxuICAgIHF1ZXJ5JDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgIGZldGNoZXI6IChxdWVyeTogc3RyaW5nKSA9PiBQcm9taXNlPFRbXT4sXG4gICAgZGVib3VuY2VJbnB1dDogbnVtYmVyID0gMzAwLFxuICApOiBPYnNlcnZhYmxlPHtcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuICAgIGdyb3VwczogVFtdO1xuICB9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5JC5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKGRlYm91bmNlSW5wdXQpLFxuICAgICAgc3dpdGNoTWFwKHF1ZXJ5ID0+XG4gICAgICAgIGZyb20oZmV0Y2hlcihxdWVyeSkpLnBpcGUoXG4gICAgICAgICAgbWFwKGdyb3VwcyA9PiB7XG4gICAgICAgICAgICBpZiAoIXF1ZXJ5KSByZXR1cm4geyBsb2FkaW5nOiBmYWxzZSwgZ3JvdXBzIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGZ1c2VPcHRpb25zID0ge1xuICAgICAgICAgICAgICBrZXlzOiBbJ3RpdGxlJywgJ3N1YnRpdGxlJ10sXG4gICAgICAgICAgICAgIGluY2x1ZGVNYXRjaGVzOiB0cnVlLFxuICAgICAgICAgICAgICBzaG91bGRTb3J0OiB0cnVlLFxuICAgICAgICAgICAgICB0aHJlc2hvbGQ6IDAuNixcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkR3JvdXBzID0gZ3JvdXBzXG4gICAgICAgICAgICAgIC5tYXAoZ3JvdXAgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZ1c2UgPSBuZXcgRnVzZShncm91cC5vcHRpb25zLCBmdXNlT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGZ1c2Uuc2VhcmNoKHF1ZXJ5KTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IG1hdGNoZXMubWFwKG1hdGNoID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLm1hdGNoLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlSGlnaGxpZ2h0SW5kaWNlczogW1xuICAgICAgICAgICAgICAgICAgICAgIC4uLihtYXRjaC5tYXRjaGVzPy5maW5kKHJlc3VsdCA9PiByZXN1bHQua2V5ID09PSAndGl0bGUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5pbmRpY2VzIHx8IFtdKSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgc3VidGl0bGVIaWdobGlnaHRJbmRpY2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgLi4uKG1hdGNoLm1hdGNoZXM/LmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPT4gcmVzdWx0LmtleSA9PT0gJ3N1YnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgICApPy5pbmRpY2VzIHx8IFtdKSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuZmlsdGVyKGdyb3VwID0+IGdyb3VwLm9wdGlvbnMubGVuZ3RoID4gMCk7IC8vIFJlbW92ZSBlbXB0eSBncm91cHNcblxuICAgICAgICAgICAgcmV0dXJuIHsgbG9hZGluZzogZmFsc2UsIGdyb3VwczogZmlsdGVyZWRHcm91cHMgfTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdGFydFdpdGgoeyBsb2FkaW5nOiB0cnVlLCBncm91cHM6IFtdIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIHBhaXJ3aXNlKCksXG4gICAgICBtYXAoKFtwcmV2aW91cywgbmV4dF0pID0+ICh7XG4gICAgICAgIGxvYWRpbmc6IG5leHQubG9hZGluZyxcbiAgICAgICAgZ3JvdXBzOiBuZXh0LmxvYWRpbmcgPyBwcmV2aW91cy5ncm91cHMgOiBuZXh0Lmdyb3VwcyxcbiAgICAgIH0pKSxcbiAgICAgIHN0YXJ0V2l0aCh7IGxvYWRpbmc6IGZhbHNlLCBncm91cHM6IFtdIH0pLFxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmlnZ2VyVGVtcGxhdGU7IGVsc2Ugc3RhbmRhcmRUcmlnZ2VyXCI+XG4gIDxidXR0b25cbiAgICAjY3VzdG9tVHJpZ2dlckJ1dHRvblxuICAgIChjbGljayk9XCJhbGxvd2VkT3BlbigpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9ja2VkXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyaWdnZXJUZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzZWxlY3RlZE9wdGlvbiB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI3N0YW5kYXJkVHJpZ2dlcj5cbiAgPHJpdi1pbnB1dC1sYWJlbFxuICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgW2hlbHBdPVwiaGVscFwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbbGFiZWxBY3Rpb25UZXh0XT1cImxhYmVsQWN0aW9uVGV4dFwiXG4gICAgKGxhYmVsQWN0aW9uKT1cImxhYmVsQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICAjc3RhbmRhcmRUcmlnZ2VyQnV0dG9uXG4gICAgICBjbGFzcz1cInRyaWdnZXJcIlxuICAgICAgKGNsaWNrKT1cImFsbG93ZWRPcGVuKClcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvY2tlZFwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRPcHRpb247IGVsc2UgcGxhY2Vob2xkZXJWYWx1ZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+e3sgc2VsZWN0ZWRPcHRpb24udGl0bGUgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjcGxhY2Vob2xkZXJWYWx1ZT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZSBwbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyIH19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY2hldnJvblwiPlxuICAgICAgICA8cml2LWljb24gKm5nSWY9XCIhbG9ja2VkXCIgW25hbWVdPVwiJ0NoZXZyb25Eb3duJ1wiIFtzaXplXT1cIjE2XCI+PC9yaXYtaWNvbj5cbiAgICAgICAgPHJpdi1pY29uICpuZ0lmPVwibG9ja2VkXCIgW25hbWVdPVwiJ0xvY2snXCIgW3NpemVdPVwiMTZcIj48L3Jpdi1pY29uPlxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L3Jpdi1pbnB1dC1sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxyaXYtY2FsbG91dFxuICAqbmdJZj1cIm9wZW5cIlxuICBbYW5jaG9yXT1cImdldFRyaWdnZXIoKVwiXG4gIFt0aGVtZV09XCInbGlnaHQnXCJcbiAgW3Nob3dDYXJldF09XCJmYWxzZVwiXG4gIFthbGxvd2VkUG9zaXRpb25zXT1cIltcbiAgICAndG9wLWxlZnQnLFxuICAgICd0b3AtY2VudGVyJyxcbiAgICAndG9wLXJpZ2h0JyxcbiAgICAnYm90dG9tLXJpZ2h0JyxcbiAgICAnYm90dG9tLWNlbnRlcicsXG4gICAgJ2JvdHRvbS1sZWZ0J1xuICBdXCJcbiAgKGNsb3NlKT1cIm9wZW4gPSBmYWxzZVwiXG4+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwiZmlsdGVyYWJpbGl0eU9wdGlvbnMuZW5hYmxlZFwiXG4gICAgI2ZpbHRlclxuICAgIGNsYXNzPVwiZmlsdGVyXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0RmlsdGVyUGxhY2Vob2xkZXIoKVwiXG4gICAgW3ZhbHVlXT1cImZpbHRlclF1ZXJ5XCJcbiAgICAoaW5wdXQpPVwiZmlsdGVyUXVlcnkgPSBmaWx0ZXIudmFsdWU7IGZpbHRlclF1ZXJ5Q2hhbmdlLmVtaXQoZmlsdGVyUXVlcnkpXCJcbiAgICBbcml2Rm9jdXNPbkluaXRdPVwidHJ1ZVwiXG4gIC8+XG4gIDxkaXYgY2xhc3M9XCJvcHRpb25zXCIgW3N0eWxlLm1heC1oZWlnaHRdPVwibWF4Q2FsbG91dEhlaWdodFwiPlxuICAgIDxyaXYtbG9hZGluZy1jb3ZlciBbbG9hZGluZ109XCJsb2FkaW5nXCI+XG4gICAgICA8cml2LXplcm8tc3RhdGVcbiAgICAgICAgKm5nSWY9XCIhZ3JvdXBzLmxlbmd0aFwiXG4gICAgICAgIFttZXNzYWdlXT1cIm5vT3B0aW9uc01lc3NhZ2VcIlxuICAgICAgPjwvcml2LXplcm8tc3RhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBncm91cCBvZiBncm91cHM7IHRyYWNrQnk6IHRyYWNrQnlIZWFkZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwLmhlYWRlclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ3JvdXAtaGVhZGVyXCI+XG4gICAgICAgICAgICB7eyBncm91cC5oZWFkZXIgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXAub3B0aW9uczsgbGV0IG5vZGVzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGVzLmxlbmd0aCA+IDA7IGVsc2UgZW1wdHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlPcHRpb25cIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGVUZW1wbGF0ZTsgZWxzZSBzdGFuZGFyZFRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20tc2luZ2xlLXNlbGVjdC1ub2RlXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24obm9kZSlcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJub2RlVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBub2RlIH1cIlxuICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGFuZGFyZFRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2luZ2xlLXNlbGVjdC1ub2RlXCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJub2RlPy5pZCA9PT0gc2VsZWN0ZWRPcHRpb24/LmlkXCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJub2RlPy5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibm9kZT8uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdGlvbihub2RlKVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8cml2LWljb25cbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ0NoZWNrJ1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibm9kZT8uaWQgPT09IHNlbGVjdGVkT3B0aW9uPy5pZFwiXG4gICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIjE2XCJcbiAgICAgICAgICAgICAgICAgID48L3Jpdi1pY29uPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHJpdi1oaWdobGlnaHRcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIm5vZGU/LnRpdGxlIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbmRpY2VzXT1cIm5vZGU/LnRpdGxlSGlnaGxpZ2h0SW5kaWNlcyB8fCBbXVwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvcml2LWhpZ2hsaWdodD5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm5vZGU/LnN1YnRpdGxlXCIgY2xhc3M9XCJsYWJlbC1zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxyaXYtaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJub2RlPy5zdWJ0aXRsZSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5kaWNlc109XCJub2RlPy5zdWJ0aXRsZUhpZ2hsaWdodEluZGljZXMgfHwgW11cIlxuICAgICAgICAgICAgICAgICAgICAgID48L3Jpdi1oaWdobGlnaHQ+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHk+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgICAge3sgbm9PcHRpb25zTWVzc2FnZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwb3N0T3B0aW9uTGlzdF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9yaXYtbG9hZGluZy1jb3Zlcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L3Jpdi1jYWxsb3V0PlxuIl19
|
|
@@ -4,9 +4,9 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
export class SwitchCheckboxComponent extends CheckboxComponent {
|
|
5
5
|
}
|
|
6
6
|
SwitchCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SwitchCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
-
SwitchCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SwitchCheckboxComponent, selector: "riv-switch-checkbox", usesInheritance: true, ngImport: i0, template: "<label
|
|
7
|
+
SwitchCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SwitchCheckboxComponent, selector: "riv-switch-checkbox", usesInheritance: true, ngImport: i0, template: "<label [class.checked]=\"value\" [class.disabled]=\"disabled\">\n <input\n #input\n type=\"checkbox\"\n [name]=\"name\"\n [id]=\"identifier\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (change)=\"valueChange.emit(!!input.checked)\"\n />\n <ng-content></ng-content>\n</label>\n", styles: [":host{display:inline-flex}label{position:relative;flex-grow:1;display:inline-flex;gap:var(--size-small);align-items:center;--slide-width: calc(var(--base-grid-size) * 12);--switch-size: calc(var(--base-grid-size) * 6);--transition-params: .15s cubic-bezier(.52, .19, .98, .43);cursor:pointer}label:before{content:\"\";display:inline-block;box-sizing:border-box;width:var(--slide-width);height:var(--switch-size);background-color:var(--white-100);border:var(--border-width) solid var(--border-light-blend);border-radius:var(--switch-size);transition:background-color var(--transition-params)}label.disabled:before{background-color:var(--black-20)}label.checked:before{background-color:var(--purp-60)}label.disabled.checked:before{background-color:var(--black-60)}label:after{content:\"\";position:absolute;width:var(--switch-size);height:var(--switch-size);background-color:var(--white-100);border:var(--border-width) solid var(--border-light-blend);border-radius:100%;box-shadow:var(--depth-1);transition:transform var(--transition-params)}label.checked:after{transform:translate(calc(var(--slide-width) - var(--switch-size)))}input{position:absolute;opacity:0;z-index:-1}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8
8
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SwitchCheckboxComponent, decorators: [{
|
|
9
9
|
type: Component,
|
|
10
|
-
args: [{ selector: 'riv-switch-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label
|
|
10
|
+
args: [{ selector: 'riv-switch-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label [class.checked]=\"value\" [class.disabled]=\"disabled\">\n <input\n #input\n type=\"checkbox\"\n [name]=\"name\"\n [id]=\"identifier\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (change)=\"valueChange.emit(!!input.checked)\"\n />\n <ng-content></ng-content>\n</label>\n", styles: [":host{display:inline-flex}label{position:relative;flex-grow:1;display:inline-flex;gap:var(--size-small);align-items:center;--slide-width: calc(var(--base-grid-size) * 12);--switch-size: calc(var(--base-grid-size) * 6);--transition-params: .15s cubic-bezier(.52, .19, .98, .43);cursor:pointer}label:before{content:\"\";display:inline-block;box-sizing:border-box;width:var(--slide-width);height:var(--switch-size);background-color:var(--white-100);border:var(--border-width) solid var(--border-light-blend);border-radius:var(--switch-size);transition:background-color var(--transition-params)}label.disabled:before{background-color:var(--black-20)}label.checked:before{background-color:var(--purp-60)}label.disabled.checked:before{background-color:var(--black-60)}label:after{content:\"\";position:absolute;width:var(--switch-size);height:var(--switch-size);background-color:var(--white-100);border:var(--border-width) solid var(--border-light-blend);border-radius:100%;box-shadow:var(--depth-1);transition:transform var(--transition-params)}label.checked:after{transform:translate(calc(var(--slide-width) - var(--switch-size)))}input{position:absolute;opacity:0;z-index:-1}\n"] }]
|
|
11
11
|
}] });
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L3N3aXRjaC1jaGVja2JveC9zd2l0Y2gtY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc3dpdGNoLWNoZWNrYm94L3N3aXRjaC1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQVFuRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsaUJBQWlCOztvSEFBakQsdUJBQXVCO3dHQUF2Qix1QkFBdUIsa0ZDVHBDLGtWQWFBOzJGREphLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LXN3aXRjaC1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2l0Y2gtY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zd2l0Y2gtY2hlY2tib3guY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU3dpdGNoQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBDaGVja2JveENvbXBvbmVudCB7fVxuIiwiPGxhYmVsIFtjbGFzcy5jaGVja2VkXT1cInZhbHVlXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW2lkXT1cImlkZW50aWZpZXJcIlxuICAgIFtjaGVja2VkXT1cInZhbHVlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgKGNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCEhaW5wdXQuY2hlY2tlZClcIlxuICAvPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2xhYmVsPlxuIl19
|