@rivet-health/design-system 30.3.0 → 30.4.1

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.
@@ -0,0 +1,18 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * A utility component that visually hides content while keeping it accessible
5
+ * to screen readers. Use this component to provide context to assistive
6
+ * technology users that is not needed visually. The content is hidden using
7
+ * CSS positioning techniques that keep it in the DOM and accessible to screen
8
+ * readers, but that remove it from the visual flow.
9
+ */
10
+ export class SrOnlyComponent {
11
+ }
12
+ SrOnlyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SrOnlyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ SrOnlyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SrOnlyComponent, selector: "riv-sr-only", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SrOnlyComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'riv-sr-only', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [":host{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}\n"] }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Itb25seS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9hY2Nlc3NpYmlsaXR5L3NyLW9ubHkvc3Itb25seS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9hY2Nlc3NpYmlsaXR5L3NyLW9ubHkvc3Itb25seS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVuRTs7Ozs7O0dBTUc7QUFPSCxNQUFNLE9BQU8sZUFBZTs7NEdBQWYsZUFBZTtnR0FBZixlQUFlLG1EQ2Y1Qiw2QkFDQTsyRkRjYSxlQUFlO2tCQU4zQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBBIHV0aWxpdHkgY29tcG9uZW50IHRoYXQgdmlzdWFsbHkgaGlkZXMgY29udGVudCB3aGlsZSBrZWVwaW5nIGl0IGFjY2Vzc2libGVcbiAqIHRvIHNjcmVlbiByZWFkZXJzLiBVc2UgdGhpcyBjb21wb25lbnQgdG8gcHJvdmlkZSBjb250ZXh0IHRvIGFzc2lzdGl2ZVxuICogdGVjaG5vbG9neSB1c2VycyB0aGF0IGlzIG5vdCBuZWVkZWQgdmlzdWFsbHkuIFRoZSBjb250ZW50IGlzIGhpZGRlbiB1c2luZ1xuICogQ1NTIHBvc2l0aW9uaW5nIHRlY2huaXF1ZXMgdGhhdCBrZWVwIGl0IGluIHRoZSBET00gYW5kIGFjY2Vzc2libGUgdG8gc2NyZWVuXG4gKiByZWFkZXJzLCBidXQgdGhhdCByZW1vdmUgaXQgZnJvbSB0aGUgdmlzdWFsIGZsb3cuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi1zci1vbmx5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NyLW9ubHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zci1vbmx5LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNyT25seUNvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -5,7 +5,7 @@ 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 >\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);transition:background-color var(--short-transition)}label:not(.disabled){cursor:pointer}label.disabled{background-color:var(--surface-light-1)}label:hover:not(.disabled){background-color:var(--surface-light-2)}label:active:not(.disabled){background-color:var(--surface-light-3)}.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,.checkbox.indeterminate{background-color:var(--purp-60)}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", "checkedColorToken", "indeterminateColorToken", "checkboxTooltip", "indeterminate", "disabled", "required", "state", "errorMessage"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
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);transition:background-color var(--short-transition)}label:not(.disabled){cursor:pointer}label.disabled{background-color:var(--surface-light-1)}label:hover:not(.disabled){background-color:var(--surface-light-2)}label:active:not(.disabled){background-color:var(--surface-light-3)}.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,.checkbox.indeterminate{background-color:var(--purp-60)}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", "checkedColorToken", "indeterminateColorToken", "checkboxTooltip", "indeterminate", "disabled", "required", "state", "errorMessage", "ariaLabel"], 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
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);transition:background-color var(--short-transition)}label:not(.disabled){cursor:pointer}label.disabled{background-color:var(--surface-light-1)}label:hover:not(.disabled){background-color:var(--surface-light-2)}label:active:not(.disabled){background-color:var(--surface-light-3)}.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,.checkbox.indeterminate{background-color:var(--purp-60)}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"] }]
@@ -14,6 +14,11 @@ export class CheckboxComponent {
14
14
  this.state = 'valid';
15
15
  this.errorMessage = '';
16
16
  this.valueChange = new EventEmitter();
17
+ /**
18
+ * Used to control the aria-label of the input in cases where no label
19
+ * content is provided.
20
+ */
21
+ this.ariaLabel = 'Checkbox';
17
22
  }
18
23
  emit(v) {
19
24
  this.valueChange.emit(v);
@@ -39,10 +44,10 @@ export class CheckboxComponent {
39
44
  }
40
45
  }
41
46
  CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
- CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CheckboxComponent, selector: "riv-checkbox", inputs: { name: "name", identifier: "identifier", value: "value", checkedColorToken: "checkedColorToken", indeterminateColorToken: "indeterminateColorToken", checkboxTooltip: "checkboxTooltip", indeterminate: "indeterminate", disabled: "disabled", required: "required", state: "state", errorMessage: "errorMessage" }, 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 [class.error]=\"state === 'error'\"\n (change)=\"emit(!!input.checked)\"\n [style.--checked-background-color]=\"getCheckedBackgroundColor()\"\n [style.--indeterminate-background-color]=\"getIndeterminateBackgroundColor()\"\n [rivTooltip]=\"checkboxTooltip\"\n />\n <ng-content></ng-content>\n</label>\n<riv-validation-message\n *ngIf=\"errorMessage\"\n class=\"error-message\"\n [message]=\"errorMessage\"\n></riv-validation-message>\n", styles: [":host{display:inline-flex;flex-direction:column}label{flex-grow:1;display:inline-flex;gap:var(--size-small);align-items:flex-start;max-width:100%}label.has-content{padding:var(--size-xsmall) var(--size-small);border-radius:var(--border-radius-xsmall);transition:background-color var(--short-transition)}label.has-content input{margin:var(--size-xsmall) 0 0 0}label.has-content:hover:not(.disabled){cursor:pointer;background-color:var(--surface-light-2)}label.has-content:active:not(.disabled){background-color:var(--surface-light-3)}input{--size: calc(var(--base-grid-size) * 4);margin:0;width:var(--size);height:var(--size);position:relative;cursor:pointer;flex-shrink:0;appearance:none}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(--checked-background-color)}input:indeterminate:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeD0iMyIgeT0iNyIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIGZpbGw9IndoaXRlIiAvPjwvc3ZnPg==);background-color:var(--indeterminate-background-color)}input.error:after{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}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)}.error-message{margin-left:calc(var(--base-grid-size) * 8)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipCloseDelay"] }, { kind: "component", type: i3.ValidationMessageComponent, selector: "riv-validation-message", inputs: ["message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
+ CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CheckboxComponent, selector: "riv-checkbox", inputs: { name: "name", identifier: "identifier", value: "value", checkedColorToken: "checkedColorToken", indeterminateColorToken: "indeterminateColorToken", checkboxTooltip: "checkboxTooltip", indeterminate: "indeterminate", disabled: "disabled", required: "required", state: "state", errorMessage: "errorMessage", ariaLabel: "ariaLabel" }, 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 [class.error]=\"state === 'error'\"\n (change)=\"emit(!!input.checked)\"\n [style.--checked-background-color]=\"getCheckedBackgroundColor()\"\n [style.--indeterminate-background-color]=\"getIndeterminateBackgroundColor()\"\n [rivTooltip]=\"checkboxTooltip\"\n [attr.aria-label]=\"isCheckboxOnly() ? ariaLabel : null\"\n />\n <ng-content></ng-content>\n</label>\n<riv-validation-message\n *ngIf=\"errorMessage\"\n class=\"error-message\"\n [message]=\"errorMessage\"\n></riv-validation-message>\n", styles: [":host{display:inline-flex;flex-direction:column}label{flex-grow:1;display:inline-flex;gap:var(--size-small);align-items:flex-start;max-width:100%}label.has-content{padding:var(--size-xsmall) var(--size-small);border-radius:var(--border-radius-xsmall);transition:background-color var(--short-transition)}label.has-content input{margin:var(--size-xsmall) 0 0 0}label.has-content:hover:not(.disabled){cursor:pointer;background-color:var(--surface-light-2)}label.has-content:active:not(.disabled){background-color:var(--surface-light-3)}input{--size: calc(var(--base-grid-size) * 4);margin:0;width:var(--size);height:var(--size);position:relative;cursor:pointer;flex-shrink:0;appearance:none}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(--checked-background-color)}input:indeterminate:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeD0iMyIgeT0iNyIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIGZpbGw9IndoaXRlIiAvPjwvc3ZnPg==);background-color:var(--indeterminate-background-color)}input.error:after{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}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)}.error-message{margin-left:calc(var(--base-grid-size) * 8)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipCloseDelay"] }, { kind: "component", type: i3.ValidationMessageComponent, selector: "riv-validation-message", inputs: ["message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CheckboxComponent, decorators: [{
44
49
  type: Component,
45
- 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 [class.error]=\"state === 'error'\"\n (change)=\"emit(!!input.checked)\"\n [style.--checked-background-color]=\"getCheckedBackgroundColor()\"\n [style.--indeterminate-background-color]=\"getIndeterminateBackgroundColor()\"\n [rivTooltip]=\"checkboxTooltip\"\n />\n <ng-content></ng-content>\n</label>\n<riv-validation-message\n *ngIf=\"errorMessage\"\n class=\"error-message\"\n [message]=\"errorMessage\"\n></riv-validation-message>\n", styles: [":host{display:inline-flex;flex-direction:column}label{flex-grow:1;display:inline-flex;gap:var(--size-small);align-items:flex-start;max-width:100%}label.has-content{padding:var(--size-xsmall) var(--size-small);border-radius:var(--border-radius-xsmall);transition:background-color var(--short-transition)}label.has-content input{margin:var(--size-xsmall) 0 0 0}label.has-content:hover:not(.disabled){cursor:pointer;background-color:var(--surface-light-2)}label.has-content:active:not(.disabled){background-color:var(--surface-light-3)}input{--size: calc(var(--base-grid-size) * 4);margin:0;width:var(--size);height:var(--size);position:relative;cursor:pointer;flex-shrink:0;appearance:none}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(--checked-background-color)}input:indeterminate:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeD0iMyIgeT0iNyIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIGZpbGw9IndoaXRlIiAvPjwvc3ZnPg==);background-color:var(--indeterminate-background-color)}input.error:after{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}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)}.error-message{margin-left:calc(var(--base-grid-size) * 8)}\n"] }]
50
+ 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 [class.error]=\"state === 'error'\"\n (change)=\"emit(!!input.checked)\"\n [style.--checked-background-color]=\"getCheckedBackgroundColor()\"\n [style.--indeterminate-background-color]=\"getIndeterminateBackgroundColor()\"\n [rivTooltip]=\"checkboxTooltip\"\n [attr.aria-label]=\"isCheckboxOnly() ? ariaLabel : null\"\n />\n <ng-content></ng-content>\n</label>\n<riv-validation-message\n *ngIf=\"errorMessage\"\n class=\"error-message\"\n [message]=\"errorMessage\"\n></riv-validation-message>\n", styles: [":host{display:inline-flex;flex-direction:column}label{flex-grow:1;display:inline-flex;gap:var(--size-small);align-items:flex-start;max-width:100%}label.has-content{padding:var(--size-xsmall) var(--size-small);border-radius:var(--border-radius-xsmall);transition:background-color var(--short-transition)}label.has-content input{margin:var(--size-xsmall) 0 0 0}label.has-content:hover:not(.disabled){cursor:pointer;background-color:var(--surface-light-2)}label.has-content:active:not(.disabled){background-color:var(--surface-light-3)}input{--size: calc(var(--base-grid-size) * 4);margin:0;width:var(--size);height:var(--size);position:relative;cursor:pointer;flex-shrink:0;appearance:none}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(--checked-background-color)}input:indeterminate:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeD0iMyIgeT0iNyIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIGZpbGw9IndoaXRlIiAvPjwvc3ZnPg==);background-color:var(--indeterminate-background-color)}input.error:after{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}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)}.error-message{margin-left:calc(var(--base-grid-size) * 8)}\n"] }]
46
51
  }], propDecorators: { name: [{
47
52
  type: Input
48
53
  }], identifier: [{
@@ -73,5 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
73
78
  }], input: [{
74
79
  type: ViewChild,
75
80
  args: ['input', { static: true }]
81
+ }], ariaLabel: [{
82
+ type: Input
76
83
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7OztBQVN2QixNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBY0UsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUd2QixzQkFBaUIsR0FBVyxXQUFXLENBQUM7UUFHeEMsNEJBQXVCLEdBQVcsV0FBVyxDQUFDO1FBTTlDLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRy9CLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixVQUFLLEdBQThCLE9BQU8sQ0FBQztRQUczQyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUcxQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0FpQzNDO0lBL0JDLElBQUksQ0FBQyxDQUFVO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBTUQsdUJBQXVCLENBQUMsQ0FBVTtRQUNoQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sSUFBSSxPQUFPO1lBQ3BCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQseUJBQXlCO1FBQ3ZCLE9BQU8sT0FBTyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQztJQUMxQyxDQUFDO0lBRUQsK0JBQStCO1FBQzdCLE9BQU8sT0FBTyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQztJQUNoRCxDQUFDOzs4R0FuRVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsNm5CQ25COUIsa3dCQTJCQTsyRkRSYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUkvQyxJQUFJO3NCQURILEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFRK0IsS0FBSztzQkFBMUMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVFLEtBQUs7c0JBQTFDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LWxhYmVsL2lucHV0LWxhYmVsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgbmFtZT86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBpZGVudGlmaWVyPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgY2hlY2tlZENvbG9yVG9rZW46IHN0cmluZyA9ICctLXB1cnAtNjAnO1xuXG4gIEBJbnB1dCgpXG4gIGluZGV0ZXJtaW5hdGVDb2xvclRva2VuOiBzdHJpbmcgPSAnLS1wdXJwLTYwJztcblxuICBASW5wdXQoKVxuICBjaGVja2JveFRvb2x0aXA/OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgaW5kZXRlcm1pbmF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzdGF0ZTogSW5wdXRMYWJlbENvbXBvbmVudC5TdGF0ZSA9ICd2YWxpZCc7XG5cbiAgQElucHV0KClcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KClcbiAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgZW1pdCh2OiBib29sZWFuKSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xuICAgIHRoaXMuZW5zdXJlU3luY2hyb25pemVkU3RhdGUodGhpcy52YWx1ZSk7XG4gIH1cblxuICBAVmlld0NoaWxkKCdsYWJlbCcsIHsgc3RhdGljOiB0cnVlIH0pIGxhYmVsPzogRWxlbWVudFJlZjxIVE1MTGFiZWxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBlbnN1cmVTeW5jaHJvbml6ZWRTdGF0ZSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuaW5wdXQpIHtcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5jaGVja2VkID0gdjtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCd2YWx1ZScgaW4gY2hhbmdlcylcbiAgICAgIHRoaXMuZW5zdXJlU3luY2hyb25pemVkU3RhdGUoY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUpO1xuICB9XG5cbiAgaXNDaGVja2JveE9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmxhYmVsIHx8IHRoaXMubGFiZWwubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMTtcbiAgfVxuXG4gIGdldENoZWNrZWRCYWNrZ3JvdW5kQ29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHZhcigke3RoaXMuY2hlY2tlZENvbG9yVG9rZW59KWA7XG4gIH1cblxuICBnZXRJbmRldGVybWluYXRlQmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB2YXIoJHt0aGlzLmluZGV0ZXJtaW5hdGVDb2xvclRva2VufSlgO1xuICB9XG59XG4iLCI8bGFiZWxcbiAgI2xhYmVsXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5oYXMtY29udGVudF09XCIhaXNDaGVja2JveE9ubHkoKVwiXG4+XG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgW2lkXT1cImlkZW50aWZpZXJcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbY2hlY2tlZF09XCJ2YWx1ZVwiXG4gICAgW2luZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZVwiXG4gICAgW2NsYXNzLmVycm9yXT1cInN0YXRlID09PSAnZXJyb3InXCJcbiAgICAoY2hhbmdlKT1cImVtaXQoISFpbnB1dC5jaGVja2VkKVwiXG4gICAgW3N0eWxlLi0tY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yXT1cImdldENoZWNrZWRCYWNrZ3JvdW5kQ29sb3IoKVwiXG4gICAgW3N0eWxlLi0taW5kZXRlcm1pbmF0ZS1iYWNrZ3JvdW5kLWNvbG9yXT1cImdldEluZGV0ZXJtaW5hdGVCYWNrZ3JvdW5kQ29sb3IoKVwiXG4gICAgW3JpdlRvb2x0aXBdPVwiY2hlY2tib3hUb29sdGlwXCJcbiAgLz5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9sYWJlbD5cbjxyaXYtdmFsaWRhdGlvbi1tZXNzYWdlXG4gICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCJcbiAgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCJcbiAgW21lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlXCJcbj48L3Jpdi12YWxpZGF0aW9uLW1lc3NhZ2U+XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7OztBQVN2QixNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBY0UsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUd2QixzQkFBaUIsR0FBVyxXQUFXLENBQUM7UUFHeEMsNEJBQXVCLEdBQVcsV0FBVyxDQUFDO1FBTTlDLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRy9CLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixVQUFLLEdBQThCLE9BQU8sQ0FBQztRQUczQyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUcxQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFXMUM7OztXQUdHO1FBRUgsY0FBUyxHQUFXLFVBQVUsQ0FBQztLQXdCaEM7SUF0Q0MsSUFBSSxDQUFDLENBQVU7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFhRCx1QkFBdUIsQ0FBQyxDQUFVO1FBQ2hDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxJQUFJLE9BQU87WUFDcEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDO0lBQzFDLENBQUM7SUFFRCwrQkFBK0I7UUFDN0IsT0FBTyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDO0lBQ2hELENBQUM7OzhHQTFFVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixxcEJDbkI5QixpMEJBNEJBOzJGRFRhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU07OEJBSS9DLElBQUk7c0JBREgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTix1QkFBdUI7c0JBRHRCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNO2dCQVErQixLQUFLO3NCQUExQyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUUsS0FBSztzQkFBMUMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU9wQyxTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0TGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1sYWJlbC9pbnB1dC1sYWJlbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgaWRlbnRpZmllcj86IHN0cmluZztcblxuICBASW5wdXQoKVxuICB2YWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNoZWNrZWRDb2xvclRva2VuOiBzdHJpbmcgPSAnLS1wdXJwLTYwJztcblxuICBASW5wdXQoKVxuICBpbmRldGVybWluYXRlQ29sb3JUb2tlbjogc3RyaW5nID0gJy0tcHVycC02MCc7XG5cbiAgQElucHV0KClcbiAgY2hlY2tib3hUb29sdGlwPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc3RhdGU6IElucHV0TGFiZWxDb21wb25lbnQuU3RhdGUgPSAndmFsaWQnO1xuXG4gIEBJbnB1dCgpXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJyc7XG5cbiAgQE91dHB1dCgpXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGVtaXQodjogYm9vbGVhbikge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcbiAgICB0aGlzLmVuc3VyZVN5bmNocm9uaXplZFN0YXRlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnbGFiZWwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsYWJlbD86IEVsZW1lbnRSZWY8SFRNTExhYmVsRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gY29udHJvbCB0aGUgYXJpYS1sYWJlbCBvZiB0aGUgaW5wdXQgaW4gY2FzZXMgd2hlcmUgbm8gbGFiZWxcbiAgICogY29udGVudCBpcyBwcm92aWRlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGFyaWFMYWJlbDogc3RyaW5nID0gJ0NoZWNrYm94JztcblxuICBlbnN1cmVTeW5jaHJvbml6ZWRTdGF0ZSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuaW5wdXQpIHtcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5jaGVja2VkID0gdjtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCd2YWx1ZScgaW4gY2hhbmdlcylcbiAgICAgIHRoaXMuZW5zdXJlU3luY2hyb25pemVkU3RhdGUoY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUpO1xuICB9XG5cbiAgaXNDaGVja2JveE9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmxhYmVsIHx8IHRoaXMubGFiZWwubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMTtcbiAgfVxuXG4gIGdldENoZWNrZWRCYWNrZ3JvdW5kQ29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHZhcigke3RoaXMuY2hlY2tlZENvbG9yVG9rZW59KWA7XG4gIH1cblxuICBnZXRJbmRldGVybWluYXRlQmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB2YXIoJHt0aGlzLmluZGV0ZXJtaW5hdGVDb2xvclRva2VufSlgO1xuICB9XG59XG4iLCI8bGFiZWxcbiAgI2xhYmVsXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5oYXMtY29udGVudF09XCIhaXNDaGVja2JveE9ubHkoKVwiXG4+XG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgW2lkXT1cImlkZW50aWZpZXJcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbY2hlY2tlZF09XCJ2YWx1ZVwiXG4gICAgW2luZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZVwiXG4gICAgW2NsYXNzLmVycm9yXT1cInN0YXRlID09PSAnZXJyb3InXCJcbiAgICAoY2hhbmdlKT1cImVtaXQoISFpbnB1dC5jaGVja2VkKVwiXG4gICAgW3N0eWxlLi0tY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yXT1cImdldENoZWNrZWRCYWNrZ3JvdW5kQ29sb3IoKVwiXG4gICAgW3N0eWxlLi0taW5kZXRlcm1pbmF0ZS1iYWNrZ3JvdW5kLWNvbG9yXT1cImdldEluZGV0ZXJtaW5hdGVCYWNrZ3JvdW5kQ29sb3IoKVwiXG4gICAgW3JpdlRvb2x0aXBdPVwiY2hlY2tib3hUb29sdGlwXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImlzQ2hlY2tib3hPbmx5KCkgPyBhcmlhTGFiZWwgOiBudWxsXCJcbiAgLz5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9sYWJlbD5cbjxyaXYtdmFsaWRhdGlvbi1tZXNzYWdlXG4gICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCJcbiAgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCJcbiAgW21lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlXCJcbj48L3Jpdi12YWxpZGF0aW9uLW1lc3NhZ2U+XG4iXX0=
@@ -33,7 +33,7 @@ export class SelectNodeComponent {
33
33
  }
34
34
  }
35
35
  SelectNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
- SelectNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SelectNodeComponent, selector: "riv-select-node", inputs: { mode: "mode", node: "node", showSingleSelected: "showSingleSelected" }, outputs: { selectChange: "selectChange", expandChange: "expandChange" }, ngImport: i0, template: "<ng-template #title let-n=\"node\">\n <riv-highlight\n class=\"title\"\n [text]=\"n.title\"\n [indices]=\"n.titleHighlightIndices ?? []\"\n ></riv-highlight>\n <span *ngIf=\"n.subtitle\">&nbsp;</span>\n <riv-highlight\n *ngIf=\"n.subtitle\"\n class=\"subtitle\"\n [text]=\"n.subtitle\"\n [indices]=\"n.subtitleHighlightIndices ?? []\"\n ></riv-highlight>\n</ng-template>\n\n<ng-container *ngIf=\"node; let n\">\n <ng-container *ngIf=\"mode === 'multi'\">\n <div class=\"row\">\n <label rivTruncate [class.disabled]=\"getDisabled(n)\">\n <riv-checkbox\n *ngIf=\"n.selectable\"\n [value]=\"n.selected === true\"\n [indeterminate]=\"n.selected === 'indeterminate'\"\n [disabled]=\"getDisabled(n)\"\n (valueChange)=\"selectChange.emit(getId(n))\"\n >\n </riv-checkbox>\n <span rivTruncate class=\"name\">\n <ng-container\n *ngTemplateOutlet=\"title; context: { node: n }\"\n ></ng-container>\n </span>\n <span class=\"help\">\n <riv-help\n *ngIf=\"getHelp(n); let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <span *ngIf=\"includeCount()\" class=\"count\">\n {{ getCount(n) | rivNumber }}\n </span>\n </label>\n <button\n *ngIf=\"n.children?.length\"\n class=\"expand\"\n [disabled]=\"!n.expandable\"\n (click)=\"expandChange.emit(getId(n))\"\n >\n <riv-icon\n [size]=\"20\"\n [name]=\"n.expanded ? 'ChevronUp' : 'ChevronDown'\"\n ></riv-icon>\n </button>\n </div>\n <div *ngIf=\"n.expanded\" class=\"children\">\n <riv-select-node\n *ngFor=\"let child of n.children\"\n [mode]=\"mode\"\n [node]=\"child\"\n [showSingleSelected]=\"showSingleSelected\"\n (selectChange)=\"selectChange.emit($event)\"\n (expandChange)=\"expandChange.emit($event)\"\n ></riv-select-node>\n </div>\n </ng-container>\n <ng-container *ngIf=\"mode === 'single'\">\n <div class=\"row\">\n <button\n class=\"single\"\n [disabled]=\"getDisabled(n)\"\n (click)=\"selectChange.emit(getId(n))\"\n >\n <span class=\"label\" rivTruncate>\n <ng-container\n *ngTemplateOutlet=\"title; context: { node: n }\"\n ></ng-container>\n </span>\n <span class=\"help\">\n <riv-help\n *ngIf=\"getHelp(n); let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <riv-icon\n *ngIf=\"showSingleSelected && n.selected\"\n [name]=\"'Check'\"\n [size]=\"16\"\n ></riv-icon>\n <span *ngIf=\"includeCount()\" class=\"count\">\n {{ getCount(n) | rivNumber }}\n </span>\n </button>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".row{display:flex;align-items:center}.row label{flex-grow:1;border-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-xsmall);font:var(--input-medium);display:flex;align-items:center;gap:var(--size-small)}.row label:hover:not(.disabled){cursor:pointer;background-color:var(--surface-light-2)}.help{flex-grow:1}.subtitle,.count{color:var(--type-light-low-contrast)}.expand{cursor:pointer;color:var(--purp-80);display:inline-flex;transition:background-color var(--medium-transition);border-radius:var(--border-radius-small);padding:var(--size-xsmall)}.expand:hover{background-color:var(--black-20)}.expand:active{background-color:var(--black-40)}.expand:disabled{color:var(--type-light-disabled)}.expand:disabled:hover{background-color:transparent}.children{padding-left:var(--size-large)}.single{border-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-xsmall);font:var(--input-medium);display:flex;align-items:baseline;gap:var(--size-small);text-align:left;width:100%}.single:hover:not(:disabled){cursor:pointer;background-color:var(--surface-light-2)}.single:active:not(:disabled){cursor:pointer;background-color:var(--surface-light-3)}.single .help{flex-grow:1}.disabled .title,:disabled .title,.disabled .subtitle,:disabled .subtitle,.disabled .count,:disabled .count{color:var(--type-light-disabled)}riv-help{align-self:center;color:var(--type-light-low-contrast)}\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.CheckboxComponent, selector: "riv-checkbox", inputs: ["name", "identifier", "value", "checkedColorToken", "indeterminateColorToken", "checkboxTooltip", "indeterminate", "disabled", "required", "state", "errorMessage"], outputs: ["valueChange"] }, { kind: "component", type: i3.HelpComponent, selector: "riv-help", inputs: ["help", "size"] }, { 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: SelectNodeComponent, selector: "riv-select-node", inputs: ["mode", "node", "showSingleSelected"], outputs: ["selectChange", "expandChange"] }, { kind: "component", type: i6.TruncateComponent, selector: "[rivTruncate]", inputs: ["maxTooltipWidth"] }, { kind: "pipe", type: i7.NumberPipe, name: "rivNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
+ SelectNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SelectNodeComponent, selector: "riv-select-node", inputs: { mode: "mode", node: "node", showSingleSelected: "showSingleSelected" }, outputs: { selectChange: "selectChange", expandChange: "expandChange" }, ngImport: i0, template: "<ng-template #title let-n=\"node\">\n <riv-highlight\n class=\"title\"\n [text]=\"n.title\"\n [indices]=\"n.titleHighlightIndices ?? []\"\n ></riv-highlight>\n <span *ngIf=\"n.subtitle\">&nbsp;</span>\n <riv-highlight\n *ngIf=\"n.subtitle\"\n class=\"subtitle\"\n [text]=\"n.subtitle\"\n [indices]=\"n.subtitleHighlightIndices ?? []\"\n ></riv-highlight>\n</ng-template>\n\n<ng-container *ngIf=\"node; let n\">\n <ng-container *ngIf=\"mode === 'multi'\">\n <div class=\"row\">\n <label rivTruncate [class.disabled]=\"getDisabled(n)\">\n <riv-checkbox\n *ngIf=\"n.selectable\"\n [value]=\"n.selected === true\"\n [indeterminate]=\"n.selected === 'indeterminate'\"\n [disabled]=\"getDisabled(n)\"\n (valueChange)=\"selectChange.emit(getId(n))\"\n >\n </riv-checkbox>\n <span rivTruncate class=\"name\">\n <ng-container\n *ngTemplateOutlet=\"title; context: { node: n }\"\n ></ng-container>\n </span>\n <span class=\"help\">\n <riv-help\n *ngIf=\"getHelp(n); let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <span *ngIf=\"includeCount()\" class=\"count\">\n {{ getCount(n) | rivNumber }}\n </span>\n </label>\n <button\n *ngIf=\"n.children?.length\"\n class=\"expand\"\n [disabled]=\"!n.expandable\"\n (click)=\"expandChange.emit(getId(n))\"\n >\n <riv-icon\n [size]=\"20\"\n [name]=\"n.expanded ? 'ChevronUp' : 'ChevronDown'\"\n ></riv-icon>\n </button>\n </div>\n <div *ngIf=\"n.expanded\" class=\"children\">\n <riv-select-node\n *ngFor=\"let child of n.children\"\n [mode]=\"mode\"\n [node]=\"child\"\n [showSingleSelected]=\"showSingleSelected\"\n (selectChange)=\"selectChange.emit($event)\"\n (expandChange)=\"expandChange.emit($event)\"\n ></riv-select-node>\n </div>\n </ng-container>\n <ng-container *ngIf=\"mode === 'single'\">\n <div class=\"row\">\n <button\n class=\"single\"\n [disabled]=\"getDisabled(n)\"\n (click)=\"selectChange.emit(getId(n))\"\n >\n <span class=\"label\" rivTruncate>\n <ng-container\n *ngTemplateOutlet=\"title; context: { node: n }\"\n ></ng-container>\n </span>\n <span class=\"help\">\n <riv-help\n *ngIf=\"getHelp(n); let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <riv-icon\n *ngIf=\"showSingleSelected && n.selected\"\n [name]=\"'Check'\"\n [size]=\"16\"\n ></riv-icon>\n <span *ngIf=\"includeCount()\" class=\"count\">\n {{ getCount(n) | rivNumber }}\n </span>\n </button>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".row{display:flex;align-items:center}.row label{flex-grow:1;border-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-xsmall);font:var(--input-medium);display:flex;align-items:center;gap:var(--size-small)}.row label:hover:not(.disabled){cursor:pointer;background-color:var(--surface-light-2)}.help{flex-grow:1}.subtitle,.count{color:var(--type-light-low-contrast)}.expand{cursor:pointer;color:var(--purp-80);display:inline-flex;transition:background-color var(--medium-transition);border-radius:var(--border-radius-small);padding:var(--size-xsmall)}.expand:hover{background-color:var(--black-20)}.expand:active{background-color:var(--black-40)}.expand:disabled{color:var(--type-light-disabled)}.expand:disabled:hover{background-color:transparent}.children{padding-left:var(--size-large)}.single{border-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-xsmall);font:var(--input-medium);display:flex;align-items:baseline;gap:var(--size-small);text-align:left;width:100%}.single:hover:not(:disabled){cursor:pointer;background-color:var(--surface-light-2)}.single:active:not(:disabled){cursor:pointer;background-color:var(--surface-light-3)}.single .help{flex-grow:1}.disabled .title,:disabled .title,.disabled .subtitle,:disabled .subtitle,.disabled .count,:disabled .count{color:var(--type-light-disabled)}riv-help{align-self:center;color:var(--type-light-low-contrast)}\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.CheckboxComponent, selector: "riv-checkbox", inputs: ["name", "identifier", "value", "checkedColorToken", "indeterminateColorToken", "checkboxTooltip", "indeterminate", "disabled", "required", "state", "errorMessage", "ariaLabel"], outputs: ["valueChange"] }, { kind: "component", type: i3.HelpComponent, selector: "riv-help", inputs: ["help", "size"] }, { 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: SelectNodeComponent, selector: "riv-select-node", inputs: ["mode", "node", "showSingleSelected"], outputs: ["selectChange", "expandChange"] }, { kind: "component", type: i6.TruncateComponent, selector: "[rivTruncate]", inputs: ["maxTooltipWidth"] }, { kind: "pipe", type: i7.NumberPipe, name: "rivNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectNodeComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ selector: 'riv-select-node', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #title let-n=\"node\">\n <riv-highlight\n class=\"title\"\n [text]=\"n.title\"\n [indices]=\"n.titleHighlightIndices ?? []\"\n ></riv-highlight>\n <span *ngIf=\"n.subtitle\">&nbsp;</span>\n <riv-highlight\n *ngIf=\"n.subtitle\"\n class=\"subtitle\"\n [text]=\"n.subtitle\"\n [indices]=\"n.subtitleHighlightIndices ?? []\"\n ></riv-highlight>\n</ng-template>\n\n<ng-container *ngIf=\"node; let n\">\n <ng-container *ngIf=\"mode === 'multi'\">\n <div class=\"row\">\n <label rivTruncate [class.disabled]=\"getDisabled(n)\">\n <riv-checkbox\n *ngIf=\"n.selectable\"\n [value]=\"n.selected === true\"\n [indeterminate]=\"n.selected === 'indeterminate'\"\n [disabled]=\"getDisabled(n)\"\n (valueChange)=\"selectChange.emit(getId(n))\"\n >\n </riv-checkbox>\n <span rivTruncate class=\"name\">\n <ng-container\n *ngTemplateOutlet=\"title; context: { node: n }\"\n ></ng-container>\n </span>\n <span class=\"help\">\n <riv-help\n *ngIf=\"getHelp(n); let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <span *ngIf=\"includeCount()\" class=\"count\">\n {{ getCount(n) | rivNumber }}\n </span>\n </label>\n <button\n *ngIf=\"n.children?.length\"\n class=\"expand\"\n [disabled]=\"!n.expandable\"\n (click)=\"expandChange.emit(getId(n))\"\n >\n <riv-icon\n [size]=\"20\"\n [name]=\"n.expanded ? 'ChevronUp' : 'ChevronDown'\"\n ></riv-icon>\n </button>\n </div>\n <div *ngIf=\"n.expanded\" class=\"children\">\n <riv-select-node\n *ngFor=\"let child of n.children\"\n [mode]=\"mode\"\n [node]=\"child\"\n [showSingleSelected]=\"showSingleSelected\"\n (selectChange)=\"selectChange.emit($event)\"\n (expandChange)=\"expandChange.emit($event)\"\n ></riv-select-node>\n </div>\n </ng-container>\n <ng-container *ngIf=\"mode === 'single'\">\n <div class=\"row\">\n <button\n class=\"single\"\n [disabled]=\"getDisabled(n)\"\n (click)=\"selectChange.emit(getId(n))\"\n >\n <span class=\"label\" rivTruncate>\n <ng-container\n *ngTemplateOutlet=\"title; context: { node: n }\"\n ></ng-container>\n </span>\n <span class=\"help\">\n <riv-help\n *ngIf=\"getHelp(n); let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <riv-icon\n *ngIf=\"showSingleSelected && n.selected\"\n [name]=\"'Check'\"\n [size]=\"16\"\n ></riv-icon>\n <span *ngIf=\"includeCount()\" class=\"count\">\n {{ getCount(n) | rivNumber }}\n </span>\n </button>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".row{display:flex;align-items:center}.row label{flex-grow:1;border-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-xsmall);font:var(--input-medium);display:flex;align-items:center;gap:var(--size-small)}.row label:hover:not(.disabled){cursor:pointer;background-color:var(--surface-light-2)}.help{flex-grow:1}.subtitle,.count{color:var(--type-light-low-contrast)}.expand{cursor:pointer;color:var(--purp-80);display:inline-flex;transition:background-color var(--medium-transition);border-radius:var(--border-radius-small);padding:var(--size-xsmall)}.expand:hover{background-color:var(--black-20)}.expand:active{background-color:var(--black-40)}.expand:disabled{color:var(--type-light-disabled)}.expand:disabled:hover{background-color:transparent}.children{padding-left:var(--size-large)}.single{border-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-xsmall);font:var(--input-medium);display:flex;align-items:baseline;gap:var(--size-small);text-align:left;width:100%}.single:hover:not(:disabled){cursor:pointer;background-color:var(--surface-light-2)}.single:active:not(:disabled){cursor:pointer;background-color:var(--surface-light-3)}.single .help{flex-grow:1}.disabled .title,:disabled .title,.disabled .subtitle,:disabled .subtitle,.disabled .count,:disabled .count{color:var(--type-light-disabled)}riv-help{align-self:center;color:var(--type-light-low-contrast)}\n"] }]
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
51
51
  (function (SelectNodeComponent) {
52
52
  SelectNodeComponent.modes = ['single', 'multi'];
53
53
  })(SelectNodeComponent || (SelectNodeComponent = {}));
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2VsZWN0L3NlbGVjdC1ub2RlL3NlbGVjdC1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L3NlbGVjdC9zZWxlY3Qtbm9kZS9zZWxlY3Qtbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBU3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFOaEM7UUFpQkUsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRzNDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQXNCNUM7SUFwQkMsWUFBWTtRQUNWLE9BQU8sT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxRQUFRLENBQUM7SUFDOUMsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSx3RUFBd0U7SUFDeEUsb0RBQW9EO0lBQ3BELG1HQUFtRztJQUNuRyxLQUFLLENBQUMsSUFBNkI7UUFDakMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFDRCxXQUFXLENBQUMsSUFBNkI7UUFDdkMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQTZCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQTZCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOztnSEFuQ1UsbUJBQW1CO29HQUFuQixtQkFBbUIsa05DZmhDLHc3RkFpR0EsbTZFRGxGYSxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTs4QkFJL0MsSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxNQUFNO2dCQUlQLFlBQVk7c0JBRFgsTUFBTTs7QUF5QlQsV0FBaUIsbUJBQW1CO0lBQ3JCLHlCQUFLLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFVLENBQUM7QUFFcEQsQ0FBQyxFQUhnQixtQkFBbUIsS0FBbkIsbUJBQW1CLFFBR25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJpdlNlbGVjdCB9IGZyb20gJy4uL3N0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LXNlbGVjdC1ub2RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LW5vZGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Tm9kZUNvbXBvbmVudDxPIGV4dGVuZHMgUml2U2VsZWN0LkJhc2VPcHRpb24+IHtcbiAgQElucHV0KClcbiAgbW9kZT86IFNlbGVjdE5vZGVDb21wb25lbnQuTW9kZTtcblxuICBASW5wdXQoKVxuICBub2RlPzogUml2U2VsZWN0LkZ1bGxPcHRpb248Tz47XG5cbiAgQElucHV0KClcbiAgc2hvd1NpbmdsZVNlbGVjdGVkPzogYm9vbGVhbjtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPWydpZCddPigpO1xuXG4gIEBPdXRwdXQoKVxuICBleHBhbmRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE9bJ2lkJ10+KCk7XG5cbiAgaW5jbHVkZUNvdW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5ub2RlPy5jb3VudCA9PT0gJ251bWJlcic7XG4gIH1cblxuICAvLyBUT0RPOiB0aGVzZSB0d28gZnVuY3Rpb25zIGNhbiBwcm9iYWJseSBnbyBhd2F5IG9uY2Ugd2UgdXBncmFkZSBBbmd1bGFyIGFuZFxuICAvLyBnZXQgYmV0dGVyIHR5cGUgc2FmZXR5IGluIHRlbXBsYXRlIGNvZGUuIChBbmd1bGFyIGNoYW5nZXMgdGhlIHR5cGUgb2ZcbiAgLy8gdGhpcy5ub2RlIGZyb20gRnVsbE9wdGlvbjxPPiB0byBGdWxsT3B0aW9uPGFueT4uKVxuICAvLyBodHRwczovL3d3dy5ub3Rpb24uc28vcml2ZXQvUmVzb2x2ZS1UT0RPcy1hZnRlci1Bbmd1bGFyLXVwZ3JhZGUtMWYyNjY3ZWIyYTMxODBiNzlmNmFkOTJhN2U1NzZmMDhcbiAgZ2V0SWQobm9kZTogUml2U2VsZWN0LkZ1bGxPcHRpb248Tz4pOiBPWydpZCddIHtcbiAgICByZXR1cm4gbm9kZS5pZDtcbiAgfVxuICBnZXREaXNhYmxlZChub2RlOiBSaXZTZWxlY3QuRnVsbE9wdGlvbjxPPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIW5vZGUuZGlzYWJsZWQ7XG4gIH1cbiAgZ2V0SGVscChub2RlOiBSaXZTZWxlY3QuRnVsbE9wdGlvbjxPPik6IE9bJ2hlbHAnXSB7XG4gICAgcmV0dXJuIG5vZGUuaGVscDtcbiAgfVxuICBnZXRDb3VudChub2RlOiBSaXZTZWxlY3QuRnVsbE9wdGlvbjxPPik6IE9bJ2NvdW50J10ge1xuICAgIHJldHVybiBub2RlLmNvdW50O1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VsZWN0Tm9kZUNvbXBvbmVudCB7XG4gIGV4cG9ydCBjb25zdCBtb2RlcyA9IFsnc2luZ2xlJywgJ211bHRpJ10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIE1vZGUgPSAodHlwZW9mIG1vZGVzKVtudW1iZXJdO1xufVxuIiwiPG5nLXRlbXBsYXRlICN0aXRsZSBsZXQtbj1cIm5vZGVcIj5cbiAgPHJpdi1oaWdobGlnaHRcbiAgICBjbGFzcz1cInRpdGxlXCJcbiAgICBbdGV4dF09XCJuLnRpdGxlXCJcbiAgICBbaW5kaWNlc109XCJuLnRpdGxlSGlnaGxpZ2h0SW5kaWNlcyA/PyBbXVwiXG4gID48L3Jpdi1oaWdobGlnaHQ+XG4gIDxzcGFuICpuZ0lmPVwibi5zdWJ0aXRsZVwiPiZuYnNwOzwvc3Bhbj5cbiAgPHJpdi1oaWdobGlnaHRcbiAgICAqbmdJZj1cIm4uc3VidGl0bGVcIlxuICAgIGNsYXNzPVwic3VidGl0bGVcIlxuICAgIFt0ZXh0XT1cIm4uc3VidGl0bGVcIlxuICAgIFtpbmRpY2VzXT1cIm4uc3VidGl0bGVIaWdobGlnaHRJbmRpY2VzID8/IFtdXCJcbiAgPjwvcml2LWhpZ2hsaWdodD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJub2RlOyBsZXQgblwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ211bHRpJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxsYWJlbCByaXZUcnVuY2F0ZSBbY2xhc3MuZGlzYWJsZWRdPVwiZ2V0RGlzYWJsZWQobilcIj5cbiAgICAgICAgPHJpdi1jaGVja2JveFxuICAgICAgICAgICpuZ0lmPVwibi5zZWxlY3RhYmxlXCJcbiAgICAgICAgICBbdmFsdWVdPVwibi5zZWxlY3RlZCA9PT0gdHJ1ZVwiXG4gICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwibi5zZWxlY3RlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZ2V0RGlzYWJsZWQobilcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJzZWxlY3RDaGFuZ2UuZW1pdChnZXRJZChuKSlcIlxuICAgICAgICA+XG4gICAgICAgIDwvcml2LWNoZWNrYm94PlxuICAgICAgICA8c3BhbiByaXZUcnVuY2F0ZSBjbGFzcz1cIm5hbWVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlOyBjb250ZXh0OiB7IG5vZGU6IG4gfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaGVscFwiPlxuICAgICAgICAgIDxyaXYtaGVscFxuICAgICAgICAgICAgKm5nSWY9XCJnZXRIZWxwKG4pOyBsZXQgaGVscFwiXG4gICAgICAgICAgICBbaGVscF09XCJoZWxwXCJcbiAgICAgICAgICAgIFtzaXplXT1cIjEyXCJcbiAgICAgICAgICA+PC9yaXYtaGVscD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImluY2x1ZGVDb3VudCgpXCIgY2xhc3M9XCJjb3VudFwiPlxuICAgICAgICAgIHt7IGdldENvdW50KG4pIHwgcml2TnVtYmVyIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwibi5jaGlsZHJlbj8ubGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJleHBhbmRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIW4uZXhwYW5kYWJsZVwiXG4gICAgICAgIChjbGljayk9XCJleHBhbmRDaGFuZ2UuZW1pdChnZXRJZChuKSlcIlxuICAgICAgPlxuICAgICAgICA8cml2LWljb25cbiAgICAgICAgICBbc2l6ZV09XCIyMFwiXG4gICAgICAgICAgW25hbWVdPVwibi5leHBhbmRlZCA/ICdDaGV2cm9uVXAnIDogJ0NoZXZyb25Eb3duJ1wiXG4gICAgICAgID48L3Jpdi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm4uZXhwYW5kZWRcIiBjbGFzcz1cImNoaWxkcmVuXCI+XG4gICAgICA8cml2LXNlbGVjdC1ub2RlXG4gICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBuLmNoaWxkcmVuXCJcbiAgICAgICAgW21vZGVdPVwibW9kZVwiXG4gICAgICAgIFtub2RlXT1cImNoaWxkXCJcbiAgICAgICAgW3Nob3dTaW5nbGVTZWxlY3RlZF09XCJzaG93U2luZ2xlU2VsZWN0ZWRcIlxuICAgICAgICAoc2VsZWN0Q2hhbmdlKT1cInNlbGVjdENoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAoZXhwYW5kQ2hhbmdlKT1cImV4cGFuZENoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvcml2LXNlbGVjdC1ub2RlPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICdzaW5nbGUnXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNpbmdsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJnZXREaXNhYmxlZChuKVwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RDaGFuZ2UuZW1pdChnZXRJZChuKSlcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgcml2VHJ1bmNhdGU+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZTsgY29udGV4dDogeyBub2RlOiBuIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhlbHBcIj5cbiAgICAgICAgICA8cml2LWhlbHBcbiAgICAgICAgICAgICpuZ0lmPVwiZ2V0SGVscChuKTsgbGV0IGhlbHBcIlxuICAgICAgICAgICAgW2hlbHBdPVwiaGVscFwiXG4gICAgICAgICAgICBbc2l6ZV09XCIxMlwiXG4gICAgICAgICAgPjwvcml2LWhlbHA+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHJpdi1pY29uXG4gICAgICAgICAgKm5nSWY9XCJzaG93U2luZ2xlU2VsZWN0ZWQgJiYgbi5zZWxlY3RlZFwiXG4gICAgICAgICAgW25hbWVdPVwiJ0NoZWNrJ1wiXG4gICAgICAgICAgW3NpemVdPVwiMTZcIlxuICAgICAgICA+PC9yaXYtaWNvbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpbmNsdWRlQ291bnQoKVwiIGNsYXNzPVwiY291bnRcIj5cbiAgICAgICAgICB7eyBnZXRDb3VudChuKSB8IHJpdk51bWJlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2VsZWN0L3NlbGVjdC1ub2RlL3NlbGVjdC1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L3NlbGVjdC9zZWxlY3Qtbm9kZS9zZWxlY3Qtbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBU3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFOaEM7UUFpQkUsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRzNDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQXNCNUM7SUFwQkMsWUFBWTtRQUNWLE9BQU8sT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxRQUFRLENBQUM7SUFDOUMsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSx3RUFBd0U7SUFDeEUsb0RBQW9EO0lBQ3BELG1HQUFtRztJQUNuRyxLQUFLLENBQUMsSUFBNkI7UUFDakMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFDRCxXQUFXLENBQUMsSUFBNkI7UUFDdkMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQTZCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQTZCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOztnSEFuQ1UsbUJBQW1CO29HQUFuQixtQkFBbUIsa05DZmhDLHc3RkFpR0EsZzdFRGxGYSxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTs4QkFJL0MsSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxNQUFNO2dCQUlQLFlBQVk7c0JBRFgsTUFBTTs7QUF5QlQsV0FBaUIsbUJBQW1CO0lBQ3JCLHlCQUFLLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFVLENBQUM7QUFFcEQsQ0FBQyxFQUhnQixtQkFBbUIsS0FBbkIsbUJBQW1CLFFBR25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJpdlNlbGVjdCB9IGZyb20gJy4uL3N0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LXNlbGVjdC1ub2RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LW5vZGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Tm9kZUNvbXBvbmVudDxPIGV4dGVuZHMgUml2U2VsZWN0LkJhc2VPcHRpb24+IHtcbiAgQElucHV0KClcbiAgbW9kZT86IFNlbGVjdE5vZGVDb21wb25lbnQuTW9kZTtcblxuICBASW5wdXQoKVxuICBub2RlPzogUml2U2VsZWN0LkZ1bGxPcHRpb248Tz47XG5cbiAgQElucHV0KClcbiAgc2hvd1NpbmdsZVNlbGVjdGVkPzogYm9vbGVhbjtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPWydpZCddPigpO1xuXG4gIEBPdXRwdXQoKVxuICBleHBhbmRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE9bJ2lkJ10+KCk7XG5cbiAgaW5jbHVkZUNvdW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5ub2RlPy5jb3VudCA9PT0gJ251bWJlcic7XG4gIH1cblxuICAvLyBUT0RPOiB0aGVzZSB0d28gZnVuY3Rpb25zIGNhbiBwcm9iYWJseSBnbyBhd2F5IG9uY2Ugd2UgdXBncmFkZSBBbmd1bGFyIGFuZFxuICAvLyBnZXQgYmV0dGVyIHR5cGUgc2FmZXR5IGluIHRlbXBsYXRlIGNvZGUuIChBbmd1bGFyIGNoYW5nZXMgdGhlIHR5cGUgb2ZcbiAgLy8gdGhpcy5ub2RlIGZyb20gRnVsbE9wdGlvbjxPPiB0byBGdWxsT3B0aW9uPGFueT4uKVxuICAvLyBodHRwczovL3d3dy5ub3Rpb24uc28vcml2ZXQvUmVzb2x2ZS1UT0RPcy1hZnRlci1Bbmd1bGFyLXVwZ3JhZGUtMWYyNjY3ZWIyYTMxODBiNzlmNmFkOTJhN2U1NzZmMDhcbiAgZ2V0SWQobm9kZTogUml2U2VsZWN0LkZ1bGxPcHRpb248Tz4pOiBPWydpZCddIHtcbiAgICByZXR1cm4gbm9kZS5pZDtcbiAgfVxuICBnZXREaXNhYmxlZChub2RlOiBSaXZTZWxlY3QuRnVsbE9wdGlvbjxPPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIW5vZGUuZGlzYWJsZWQ7XG4gIH1cbiAgZ2V0SGVscChub2RlOiBSaXZTZWxlY3QuRnVsbE9wdGlvbjxPPik6IE9bJ2hlbHAnXSB7XG4gICAgcmV0dXJuIG5vZGUuaGVscDtcbiAgfVxuICBnZXRDb3VudChub2RlOiBSaXZTZWxlY3QuRnVsbE9wdGlvbjxPPik6IE9bJ2NvdW50J10ge1xuICAgIHJldHVybiBub2RlLmNvdW50O1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VsZWN0Tm9kZUNvbXBvbmVudCB7XG4gIGV4cG9ydCBjb25zdCBtb2RlcyA9IFsnc2luZ2xlJywgJ211bHRpJ10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIE1vZGUgPSAodHlwZW9mIG1vZGVzKVtudW1iZXJdO1xufVxuIiwiPG5nLXRlbXBsYXRlICN0aXRsZSBsZXQtbj1cIm5vZGVcIj5cbiAgPHJpdi1oaWdobGlnaHRcbiAgICBjbGFzcz1cInRpdGxlXCJcbiAgICBbdGV4dF09XCJuLnRpdGxlXCJcbiAgICBbaW5kaWNlc109XCJuLnRpdGxlSGlnaGxpZ2h0SW5kaWNlcyA/PyBbXVwiXG4gID48L3Jpdi1oaWdobGlnaHQ+XG4gIDxzcGFuICpuZ0lmPVwibi5zdWJ0aXRsZVwiPiZuYnNwOzwvc3Bhbj5cbiAgPHJpdi1oaWdobGlnaHRcbiAgICAqbmdJZj1cIm4uc3VidGl0bGVcIlxuICAgIGNsYXNzPVwic3VidGl0bGVcIlxuICAgIFt0ZXh0XT1cIm4uc3VidGl0bGVcIlxuICAgIFtpbmRpY2VzXT1cIm4uc3VidGl0bGVIaWdobGlnaHRJbmRpY2VzID8/IFtdXCJcbiAgPjwvcml2LWhpZ2hsaWdodD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJub2RlOyBsZXQgblwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ211bHRpJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxsYWJlbCByaXZUcnVuY2F0ZSBbY2xhc3MuZGlzYWJsZWRdPVwiZ2V0RGlzYWJsZWQobilcIj5cbiAgICAgICAgPHJpdi1jaGVja2JveFxuICAgICAgICAgICpuZ0lmPVwibi5zZWxlY3RhYmxlXCJcbiAgICAgICAgICBbdmFsdWVdPVwibi5zZWxlY3RlZCA9PT0gdHJ1ZVwiXG4gICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwibi5zZWxlY3RlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZ2V0RGlzYWJsZWQobilcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJzZWxlY3RDaGFuZ2UuZW1pdChnZXRJZChuKSlcIlxuICAgICAgICA+XG4gICAgICAgIDwvcml2LWNoZWNrYm94PlxuICAgICAgICA8c3BhbiByaXZUcnVuY2F0ZSBjbGFzcz1cIm5hbWVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlOyBjb250ZXh0OiB7IG5vZGU6IG4gfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaGVscFwiPlxuICAgICAgICAgIDxyaXYtaGVscFxuICAgICAgICAgICAgKm5nSWY9XCJnZXRIZWxwKG4pOyBsZXQgaGVscFwiXG4gICAgICAgICAgICBbaGVscF09XCJoZWxwXCJcbiAgICAgICAgICAgIFtzaXplXT1cIjEyXCJcbiAgICAgICAgICA+PC9yaXYtaGVscD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImluY2x1ZGVDb3VudCgpXCIgY2xhc3M9XCJjb3VudFwiPlxuICAgICAgICAgIHt7IGdldENvdW50KG4pIHwgcml2TnVtYmVyIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwibi5jaGlsZHJlbj8ubGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJleHBhbmRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIW4uZXhwYW5kYWJsZVwiXG4gICAgICAgIChjbGljayk9XCJleHBhbmRDaGFuZ2UuZW1pdChnZXRJZChuKSlcIlxuICAgICAgPlxuICAgICAgICA8cml2LWljb25cbiAgICAgICAgICBbc2l6ZV09XCIyMFwiXG4gICAgICAgICAgW25hbWVdPVwibi5leHBhbmRlZCA/ICdDaGV2cm9uVXAnIDogJ0NoZXZyb25Eb3duJ1wiXG4gICAgICAgID48L3Jpdi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm4uZXhwYW5kZWRcIiBjbGFzcz1cImNoaWxkcmVuXCI+XG4gICAgICA8cml2LXNlbGVjdC1ub2RlXG4gICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBuLmNoaWxkcmVuXCJcbiAgICAgICAgW21vZGVdPVwibW9kZVwiXG4gICAgICAgIFtub2RlXT1cImNoaWxkXCJcbiAgICAgICAgW3Nob3dTaW5nbGVTZWxlY3RlZF09XCJzaG93U2luZ2xlU2VsZWN0ZWRcIlxuICAgICAgICAoc2VsZWN0Q2hhbmdlKT1cInNlbGVjdENoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAoZXhwYW5kQ2hhbmdlKT1cImV4cGFuZENoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPjwvcml2LXNlbGVjdC1ub2RlPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICdzaW5nbGUnXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNpbmdsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJnZXREaXNhYmxlZChuKVwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RDaGFuZ2UuZW1pdChnZXRJZChuKSlcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgcml2VHJ1bmNhdGU+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZTsgY29udGV4dDogeyBub2RlOiBuIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhlbHBcIj5cbiAgICAgICAgICA8cml2LWhlbHBcbiAgICAgICAgICAgICpuZ0lmPVwiZ2V0SGVscChuKTsgbGV0IGhlbHBcIlxuICAgICAgICAgICAgW2hlbHBdPVwiaGVscFwiXG4gICAgICAgICAgICBbc2l6ZV09XCIxMlwiXG4gICAgICAgICAgPjwvcml2LWhlbHA+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHJpdi1pY29uXG4gICAgICAgICAgKm5nSWY9XCJzaG93U2luZ2xlU2VsZWN0ZWQgJiYgbi5zZWxlY3RlZFwiXG4gICAgICAgICAgW25hbWVdPVwiJ0NoZWNrJ1wiXG4gICAgICAgICAgW3NpemVdPVwiMTZcIlxuICAgICAgICA+PC9yaXYtaWNvbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpbmNsdWRlQ291bnQoKVwiIGNsYXNzPVwiY291bnRcIj5cbiAgICAgICAgICB7eyBnZXRDb3VudChuKSB8IHJpdk51bWJlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==