@rivet-health/design-system 40.19.0 → 40.19.2
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/alphabetic-field/alphabetic-field.component.mjs +3 -3
- package/esm2020/lib/input/button/button.component.mjs +9 -3
- package/esm2020/lib/input/calendar/calendar.component.mjs +3 -3
- package/esm2020/lib/input/card-checkbox/card-checkbox.component.mjs +2 -2
- package/esm2020/lib/input/checkbox/checkbox.component.mjs +3 -3
- package/esm2020/lib/input/currency-field/currency-field.component.mjs +3 -3
- package/esm2020/lib/input/date/date.component.mjs +3 -3
- package/esm2020/lib/input/date-range/date-range.component.mjs +3 -3
- package/esm2020/lib/input/filter-chip/filter-chip.component.mjs +2 -2
- package/esm2020/lib/input/mentions-input/mentions-input.component.mjs +2 -2
- package/esm2020/lib/input/number-field/number-field.component.mjs +3 -3
- package/esm2020/lib/input/percentage-field/percentage-field.component.mjs +3 -3
- package/esm2020/lib/input/phone-field/phone-field.component.mjs +3 -3
- package/esm2020/lib/input/radio/radio.component.mjs +3 -3
- package/esm2020/lib/input/search/search.component.mjs +3 -3
- package/esm2020/lib/input/search-select/search-select.component.mjs +3 -3
- package/esm2020/lib/input/select/select/select.component.mjs +7 -3
- package/esm2020/lib/input/select/select-node/select-node.component.mjs +3 -3
- package/esm2020/lib/input/simple-select/simple-select.component.mjs +3 -3
- package/esm2020/lib/input/switch-checkbox/switch-checkbox.component.mjs +3 -3
- package/esm2020/lib/input/text-field/text-field.component.mjs +3 -3
- package/esm2020/lib/input/textarea-field/textarea-field.component.mjs +3 -3
- package/esm2020/lib/layout/card/card-actions.component.mjs +2 -2
- package/esm2020/lib/layout/card/card-content.component.mjs +2 -2
- package/esm2020/lib/layout/card/card-header.component.mjs +3 -3
- package/esm2020/lib/layout/card/card.component.mjs +3 -3
- package/esm2020/lib/navigation/editable-heading/editable-heading.component.mjs +3 -3
- package/esm2020/lib/navigation/views/all-views-modal/all-views-modal.component.mjs +3 -3
- package/esm2020/lib/navigation/views/permission-picker/permission-picker.component.mjs +1 -1
- package/esm2020/lib/navigation/views/view-menu/view-menu.component.mjs +3 -3
- package/esm2020/lib/table/table/table/table.component.mjs +3 -3
- package/esm2020/lib/table/table/table-column-settings/table-column-settings.component.mjs +2 -2
- package/esm2020/lib/visualization/funnel-chart/funnel-chart.component.mjs +2 -2
- package/esm2020/lib/visualization/legend-item/legend-item.component.mjs +3 -3
- package/esm2020/lib/visualization/metric/metric.component.mjs +2 -2
- package/fesm2015/rivet-health-design-system.mjs +79 -69
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +79 -69
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/lib/input/button/button.component.d.ts +1 -0
- package/lib/input/select/select/select.component.d.ts +3 -1
- package/package.json +1 -1
- package/styles/tokens/color.css +14 -13
|
@@ -44,10 +44,10 @@ export class CheckboxComponent {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
-
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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
|
|
47
|
+
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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 [attr.aria-disabled]=\"disabled ? 'true' : null\"\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);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", "rivTooltipOpenDelay", "rivTooltipGracePeriod"] }, { kind: "component", type: i3.ValidationMessageComponent, selector: "riv-validation-message", inputs: ["message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
48
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
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
|
|
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 [attr.aria-disabled]=\"disabled ? 'true' : null\"\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);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"] }]
|
|
51
51
|
}], propDecorators: { name: [{
|
|
52
52
|
type: Input
|
|
53
53
|
}], identifier: [{
|
|
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
81
81
|
}], ariaLabel: [{
|
|
82
82
|
type: Input
|
|
83
83
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7OztBQVN2QixNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBY0UsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUd2QixzQkFBaUIsR0FBVyxXQUFXLENBQUM7UUFHeEMsNEJBQXVCLEdBQVcsV0FBVyxDQUFDO1FBTTlDLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRy9CLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixVQUFLLEdBQThCLE9BQU8sQ0FBQztRQUczQyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUcxQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFXMUM7OztXQUdHO1FBRUgsY0FBUyxHQUFXLFVBQVUsQ0FBQztLQXdCaEM7SUF0Q0MsSUFBSSxDQUFDLENBQVU7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFhRCx1QkFBdUIsQ0FBQyxDQUFVO1FBQ2hDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxJQUFJLE9BQU87WUFDcEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDO0lBQzFDLENBQUM7SUFFRCwrQkFBK0I7UUFDN0IsT0FBTyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDO0lBQ2hELENBQUM7OytHQTFFVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixxcEJDbkI5Qix3M0JBNkJBOzRGRFZhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU07OEJBSS9DLElBQUk7c0JBREgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTix1QkFBdUI7c0JBRHRCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNO2dCQVErQixLQUFLO3NCQUExQyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUUsS0FBSztzQkFBMUMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU9wQyxTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0TGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1sYWJlbC9pbnB1dC1sYWJlbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgaWRlbnRpZmllcj86IHN0cmluZztcblxuICBASW5wdXQoKVxuICB2YWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNoZWNrZWRDb2xvclRva2VuOiBzdHJpbmcgPSAnLS1wdXJwLTYwJztcblxuICBASW5wdXQoKVxuICBpbmRldGVybWluYXRlQ29sb3JUb2tlbjogc3RyaW5nID0gJy0tcHVycC02MCc7XG5cbiAgQElucHV0KClcbiAgY2hlY2tib3hUb29sdGlwPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc3RhdGU6IElucHV0TGFiZWxDb21wb25lbnQuU3RhdGUgPSAndmFsaWQnO1xuXG4gIEBJbnB1dCgpXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJyc7XG5cbiAgQE91dHB1dCgpXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGVtaXQodjogYm9vbGVhbikge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcbiAgICB0aGlzLmVuc3VyZVN5bmNocm9uaXplZFN0YXRlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnbGFiZWwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsYWJlbD86IEVsZW1lbnRSZWY8SFRNTExhYmVsRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gY29udHJvbCB0aGUgYXJpYS1sYWJlbCBvZiB0aGUgaW5wdXQgaW4gY2FzZXMgd2hlcmUgbm8gbGFiZWxcbiAgICogY29udGVudCBpcyBwcm92aWRlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGFyaWFMYWJlbDogc3RyaW5nID0gJ0NoZWNrYm94JztcblxuICBlbnN1cmVTeW5jaHJvbml6ZWRTdGF0ZSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuaW5wdXQpIHtcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5jaGVja2VkID0gdjtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCd2YWx1ZScgaW4gY2hhbmdlcylcbiAgICAgIHRoaXMuZW5zdXJlU3luY2hyb25pemVkU3RhdGUoY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUpO1xuICB9XG5cbiAgaXNDaGVja2JveE9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmxhYmVsIHx8IHRoaXMubGFiZWwubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMTtcbiAgfVxuXG4gIGdldENoZWNrZWRCYWNrZ3JvdW5kQ29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHZhcigke3RoaXMuY2hlY2tlZENvbG9yVG9rZW59KWA7XG4gIH1cblxuICBnZXRJbmRldGVybWluYXRlQmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB2YXIoJHt0aGlzLmluZGV0ZXJtaW5hdGVDb2xvclRva2VufSlgO1xuICB9XG59XG4iLCI8bGFiZWxcbiAgI2xhYmVsXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5oYXMtY29udGVudF09XCIhaXNDaGVja2JveE9ubHkoKVwiXG4+XG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgW2lkXT1cImlkZW50aWZpZXJcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgW2NoZWNrZWRdPVwidmFsdWVcIlxuICAgIFtpbmRldGVybWluYXRlXT1cImluZGV0ZXJtaW5hdGVcIlxuICAgIFtjbGFzcy5lcnJvcl09XCJzdGF0ZSA9PT0gJ2Vycm9yJ1wiXG4gICAgKGNoYW5nZSk9XCJlbWl0KCEhaW5wdXQuY2hlY2tlZClcIlxuICAgIFtzdHlsZS4tLWNoZWNrZWQtYmFja2dyb3VuZC1jb2xvcl09XCJnZXRDaGVja2VkQmFja2dyb3VuZENvbG9yKClcIlxuICAgIFtzdHlsZS4tLWluZGV0ZXJtaW5hdGUtYmFja2dyb3VuZC1jb2xvcl09XCJnZXRJbmRldGVybWluYXRlQmFja2dyb3VuZENvbG9yKClcIlxuICAgIFtyaXZUb29sdGlwXT1cImNoZWNrYm94VG9vbHRpcFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpc0NoZWNrYm94T25seSgpID8gYXJpYUxhYmVsIDogbnVsbFwiXG4gIC8+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbGFiZWw+XG48cml2LXZhbGlkYXRpb24tbWVzc2FnZVxuICAqbmdJZj1cImVycm9yTWVzc2FnZVwiXG4gIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiXG4gIFttZXNzYWdlXT1cImVycm9yTWVzc2FnZVwiXG4+PC9yaXYtdmFsaWRhdGlvbi1tZXNzYWdlPlxuIl19
|
|
@@ -12,10 +12,10 @@ export class CurrencyFieldComponent extends NumberFieldComponent {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
CurrencyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CurrencyFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
-
CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CurrencyFieldComponent, selector: "riv-currency-field", inputs: { placeholder: "placeholder", minimumFractionDigits: "minimumFractionDigits", maximumFractionDigits: "maximumFractionDigits" }, usesInheritance: true, ngImport: i0, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <span\n class=\"prefix\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n >$</span\n >\n <input\n #input\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [value]=\"text\"\n [attr.aria-label]=\"label || null\"\n (input)=\"text = input.value\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [style.textAlign]=\"align\"\n [riv-auto-focus]=\"autoFocus\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n (blur)=\"inputBlur()\"\n />\n</riv-input-label>\n", styles: [":host{display:block;position:relative}.prefix{position:absolute;font:var(--input-medium);padding:var(--size-small)}.prefix.small{font:var(--input-small)}.prefix.large{font:var(--input-large);padding:var(--size-medium) var(--size-small)}input{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) var(--size-medium) var(--size-small) var(--size-xlarge);height:var(--input-field-height-medium)}input::placeholder{color:var(--type-light-
|
|
15
|
+
CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CurrencyFieldComponent, selector: "riv-currency-field", inputs: { placeholder: "placeholder", minimumFractionDigits: "minimumFractionDigits", maximumFractionDigits: "maximumFractionDigits" }, usesInheritance: true, ngImport: i0, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <span\n class=\"prefix\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n >$</span\n >\n <input\n #input\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [readonly]=\"readonly\"\n [value]=\"text\"\n [attr.aria-label]=\"label || null\"\n (input)=\"text = input.value\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [style.textAlign]=\"align\"\n [riv-auto-focus]=\"autoFocus\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n (blur)=\"inputBlur()\"\n />\n</riv-input-label>\n", styles: [":host{display:block;position:relative}.prefix{position:absolute;font:var(--input-medium);padding:var(--size-small)}.prefix.small{font:var(--input-small)}.prefix.large{font:var(--input-large);padding:var(--size-medium) var(--size-small)}input{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) var(--size-medium) var(--size-small) var(--size-xlarge);height:var(--input-field-height-medium)}input::placeholder{color:var(--type-light-low-contrast)}input:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}input:read-only{background-color:var(--surface-light-1)}input:focus{outline:none;border:var(--border-width) solid var(--purp-60)}input.warning{border-color:var(--surface-dark-caution)}input.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}input.small{font:var(--input-small);padding:var(--size-small) var(--size-medium) var(--size-small) var(--size-xlarge);height:var(--input-field-height-small)}input.large{font:var(--input-large);padding:var(--size-medium) var(--size-medium) var(--size-medium) var(--size-xlarge);height:var(--input-field-height-large)}\n"], dependencies: [{ kind: "directive", type: i1.AutoFocusDirective, selector: "[riv-auto-focus]", inputs: ["riv-auto-focus"] }, { kind: "component", type: i2.InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText", "errorMessage", "state"], outputs: ["labelAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
|
-
args: [{ selector: 'riv-currency-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <span\n class=\"prefix\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n >$</span\n >\n <input\n #input\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [value]=\"text\"\n [attr.aria-label]=\"label || null\"\n (input)=\"text = input.value\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [style.textAlign]=\"align\"\n [riv-auto-focus]=\"autoFocus\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n (blur)=\"inputBlur()\"\n />\n</riv-input-label>\n", styles: [":host{display:block;position:relative}.prefix{position:absolute;font:var(--input-medium);padding:var(--size-small)}.prefix.small{font:var(--input-small)}.prefix.large{font:var(--input-large);padding:var(--size-medium) var(--size-small)}input{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) var(--size-medium) var(--size-small) var(--size-xlarge);height:var(--input-field-height-medium)}input::placeholder{color:var(--type-light-
|
|
18
|
+
args: [{ selector: 'riv-currency-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <span\n class=\"prefix\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n >$</span\n >\n <input\n #input\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [readonly]=\"readonly\"\n [value]=\"text\"\n [attr.aria-label]=\"label || null\"\n (input)=\"text = input.value\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [style.textAlign]=\"align\"\n [riv-auto-focus]=\"autoFocus\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n (blur)=\"inputBlur()\"\n />\n</riv-input-label>\n", styles: [":host{display:block;position:relative}.prefix{position:absolute;font:var(--input-medium);padding:var(--size-small)}.prefix.small{font:var(--input-small)}.prefix.large{font:var(--input-large);padding:var(--size-medium) var(--size-small)}input{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) var(--size-medium) var(--size-small) var(--size-xlarge);height:var(--input-field-height-medium)}input::placeholder{color:var(--type-light-low-contrast)}input:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}input:read-only{background-color:var(--surface-light-1)}input:focus{outline:none;border:var(--border-width) solid var(--purp-60)}input.warning{border-color:var(--surface-dark-caution)}input.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}input.small{font:var(--input-small);padding:var(--size-small) var(--size-medium) var(--size-small) var(--size-xlarge);height:var(--input-field-height-small)}input.large{font:var(--input-large);padding:var(--size-medium) var(--size-medium) var(--size-medium) var(--size-xlarge);height:var(--input-field-height-large)}\n"] }]
|
|
19
19
|
}], propDecorators: { placeholder: [{
|
|
20
20
|
type: Input
|
|
21
21
|
}], minimumFractionDigits: [{
|
|
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
23
23
|
}], maximumFractionDigits: [{
|
|
24
24
|
type: Input
|
|
25
25
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFROUUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLG9CQUFvQjtJQU5oRTs7UUFRVyxnQkFBVyxHQUFXLE1BQU0sQ0FBQztRQUc3QiwwQkFBcUIsR0FBVyxDQUFDLENBQUM7UUFHbEMsMEJBQXFCLEdBQVcsQ0FBQyxDQUFDO0tBQzVDOztvSEFUWSxzQkFBc0I7d0dBQXRCLHNCQUFzQix5TkNUbkMsdWtDQXdDQTs0RkQvQmEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl0QyxXQUFXO3NCQURuQixLQUFLO2dCQUlHLHFCQUFxQjtzQkFEN0IsS0FBSztnQkFJRyxxQkFBcUI7c0JBRDdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVtYmVyRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9udW1iZXItZmllbGQvbnVtYmVyLWZpZWxkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi1jdXJyZW5jeS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW5jeS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5RmllbGRDb21wb25lbnQgZXh0ZW5kcyBOdW1iZXJGaWVsZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIG92ZXJyaWRlIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnMC4wMCc7XG5cbiAgQElucHV0KClcbiAgb3ZlcnJpZGUgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBudW1iZXIgPSAyO1xuXG4gIEBJbnB1dCgpXG4gIG92ZXJyaWRlIG1heGltdW1GcmFjdGlvbkRpZ2l0czogbnVtYmVyID0gMjtcbn1cbiIsIjxyaXYtaW5wdXQtbGFiZWxcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2hlbHBdPVwiaGVscFwiXG4gIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gIFtzdGF0ZV09XCJzdGF0ZVwiXG4gIFtlcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlXCJcbiAgW2xhYmVsQWN0aW9uVGV4dF09XCJsYWJlbEFjdGlvblRleHRcIlxuICAobGFiZWxBY3Rpb24pPVwibGFiZWxBY3Rpb24uZW1pdCgkZXZlbnQpXCJcbj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cInByZWZpeFwiXG4gICAgW2NsYXNzLnNtYWxsXT1cInNpemUgPT09ICdzbWFsbCdcIlxuICAgIFtjbGFzcy5sYXJnZV09XCJzaXplID09PSAnbGFyZ2UnXCJcbiAgICA+JDwvc3BhblxuICA+XG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbdmFsdWVdPVwidGV4dFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbCB8fCBudWxsXCJcbiAgICAoaW5wdXQpPVwidGV4dCA9IGlucHV0LnZhbHVlXCJcbiAgICBbY2xhc3Mud2FybmluZ109XCJzdGF0ZSA9PT0gJ3dhcm5pbmcnXCJcbiAgICBbY2xhc3MuZXJyb3JdPVwic3RhdGUgPT09ICdlcnJvcidcIlxuICAgIFtjbGFzcy5zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgICBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgW3N0eWxlLnRleHRBbGlnbl09XCJhbGlnblwiXG4gICAgW3Jpdi1hdXRvLWZvY3VzXT1cImF1dG9Gb2N1c1wiXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICBhdXRvY29ycmVjdD1cIm9mZlwiXG4gICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgKGJsdXIpPVwiaW5wdXRCbHVyKClcIlxuICAvPlxuPC9yaXYtaW5wdXQtbGFiZWw+XG4iXX0=
|
|
@@ -151,10 +151,10 @@ export class DateComponent extends InputLabelComponent {
|
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
DateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
154
|
-
DateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateComponent, selector: "riv-date", inputs: { min: "min", max: "max", value: "value", placeholder: "placeholder", disabled: "disabled", size: "size", showClearButton: "showClearButton", showTodayButton: "showTodayButton", open: "open" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:mousedown": "onDocumentMouseDown($event.target)" } }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <div\n #trigger\n class=\"trigger\"\n [class.xsmall]=\"size === 'xsmall'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.xlarge]=\"size === 'xlarge'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n [class.disabled]=\"disabled\"\n >\n <input\n #input\n class=\"value\"\n [placeholder]=\"placeholder\"\n [value]=\"inputText\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"label || null\"\n [attr.aria-expanded]=\"open$ | async\"\n role=\"combobox\"\n aria-haspopup=\"dialog\"\n aria-autocomplete=\"none\"\n (input)=\"onInputChange(input.value)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus()\"\n (keydown.enter)=\"input.blur(); open$.next(false); $event.preventDefault()\"\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n />\n <button\n class=\"chevron\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"toggleCalendar()\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"(open$ | async) ? 'Close calendar' : 'Open calendar'\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </button>\n </div>\n</riv-input-label>\n<ng-container *ngIf=\"open$ | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"trigger\"\n [isModal]=\"false\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-right',\n 'bottom-right',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false)\"\n >\n <div (mousedown)=\"$event.preventDefault()\">\n <header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </header>\n <div class=\"content\">\n <riv-calendar\n [activeYearMonth]=\"activeYearMonth\"\n (activeYearMonthChange)=\"activeYearMonth = $event\"\n [displayMin]=\"min\"\n [displayMax]=\"max\"\n [selectableMin]=\"min\"\n [selectableMax]=\"max\"\n [selectedValue]=\"previewValue ?? value\"\n (dateSelect)=\"onDateSelect($event); input.blur()\"\n ></riv-calendar>\n </div>\n <footer *ngIf=\"showClearButton || showTodayButton\" class=\"buttons\">\n <button\n *ngIf=\"showClearButton\"\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n (click)=\"clearValue(); input.blur()\"\n type=\"button\"\n >\n Clear\n </button>\n <button\n *ngIf=\"showTodayButton\"\n class=\"today\"\n rivButton\n [size]=\"'small'\"\n [variant]=\"'basic'\"\n [disabled]=\"!isTodaySelectable\"\n (click)=\"selectToday(); input.blur()\"\n type=\"button\"\n >\n Today\n </button>\n </footer>\n </div>\n </riv-callout>\n</ng-container>\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);padding-left:var(--size-small);position:relative}.trigger:focus-within{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:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre;border:none;background:transparent;outline:none;width:100%}.value::placeholder{color:var(--type-light-
|
|
154
|
+
DateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateComponent, selector: "riv-date", inputs: { min: "min", max: "max", value: "value", placeholder: "placeholder", disabled: "disabled", size: "size", showClearButton: "showClearButton", showTodayButton: "showTodayButton", open: "open" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:mousedown": "onDocumentMouseDown($event.target)" } }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <div\n #trigger\n class=\"trigger\"\n [class.xsmall]=\"size === 'xsmall'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.xlarge]=\"size === 'xlarge'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n [class.disabled]=\"disabled\"\n >\n <input\n #input\n class=\"value\"\n [placeholder]=\"placeholder\"\n [value]=\"inputText\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"label || null\"\n [attr.aria-expanded]=\"open$ | async\"\n role=\"combobox\"\n aria-haspopup=\"dialog\"\n aria-autocomplete=\"none\"\n (input)=\"onInputChange(input.value)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus()\"\n (keydown.enter)=\"input.blur(); open$.next(false); $event.preventDefault()\"\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n />\n <button\n class=\"chevron\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"toggleCalendar()\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"(open$ | async) ? 'Close calendar' : 'Open calendar'\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </button>\n </div>\n</riv-input-label>\n<ng-container *ngIf=\"open$ | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"trigger\"\n [isModal]=\"false\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-right',\n 'bottom-right',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false)\"\n >\n <div (mousedown)=\"$event.preventDefault()\">\n <header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </header>\n <div class=\"content\">\n <riv-calendar\n [activeYearMonth]=\"activeYearMonth\"\n (activeYearMonthChange)=\"activeYearMonth = $event\"\n [displayMin]=\"min\"\n [displayMax]=\"max\"\n [selectableMin]=\"min\"\n [selectableMax]=\"max\"\n [selectedValue]=\"previewValue ?? value\"\n (dateSelect)=\"onDateSelect($event); input.blur()\"\n ></riv-calendar>\n </div>\n <footer *ngIf=\"showClearButton || showTodayButton\" class=\"buttons\">\n <button\n *ngIf=\"showClearButton\"\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n (click)=\"clearValue(); input.blur()\"\n type=\"button\"\n >\n Clear\n </button>\n <button\n *ngIf=\"showTodayButton\"\n class=\"today\"\n rivButton\n [size]=\"'small'\"\n [variant]=\"'basic'\"\n [disabled]=\"!isTodaySelectable\"\n (click)=\"selectToday(); input.blur()\"\n type=\"button\"\n >\n Today\n </button>\n </footer>\n </div>\n </riv-callout>\n</ng-container>\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);padding-left:var(--size-small);position:relative}.trigger:focus-within{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:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre;border:none;background:transparent;outline:none;width:100%}.value::placeholder{color:var(--type-light-low-contrast)}.value:disabled{color:var(--type-light-disabled)}.trigger.xsmall .value{font:var(--input-small);padding:var(--size-xsmall) 0}.trigger.small .value{font:var(--input-small)}.trigger.large .value{font:var(--input-large);padding:var(--size-medium) var(--size-xsmall)}.trigger.xlarge .value{font:var(--input-large);padding:var(--size-large) var(--size-small)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-xsmall) calc(var(--base-grid-size) * 1.5);border:none;background:transparent;cursor:pointer;color:var(--type-light-high-contrast)}.chevron:disabled{color:var(--type-light-disabled);cursor:not-allowed}.trigger.warning{border-color:var(--surface-dark-caution)}.trigger.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}.content{padding:var(--size-xlarge)}.buttons{padding:0 var(--size-xlarge) var(--size-xlarge);display:flex;justify-content:space-between}.buttons .today{margin-left:auto}\n"], dependencies: [{ 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.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "current"] }, { kind: "component", type: i3.CalendarComponent, selector: "riv-calendar", inputs: ["activeYearMonth", "displayMin", "displayMax", "selectableMin", "selectableMax", "omitRange", "selectedValue"], outputs: ["activeYearMonthChange", "dateSelect"] }, { kind: "component", type: i4.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: i5.IconComponent, selector: "riv-icon", inputs: ["name", "fillColor", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i6.InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText", "errorMessage", "state"], outputs: ["labelAction"] }, { kind: "directive", type: i7.OverlayDirective, selector: "[riv-overlay]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
155
155
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateComponent, decorators: [{
|
|
156
156
|
type: Component,
|
|
157
|
-
args: [{ selector: 'riv-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <div\n #trigger\n class=\"trigger\"\n [class.xsmall]=\"size === 'xsmall'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.xlarge]=\"size === 'xlarge'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n [class.disabled]=\"disabled\"\n >\n <input\n #input\n class=\"value\"\n [placeholder]=\"placeholder\"\n [value]=\"inputText\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"label || null\"\n [attr.aria-expanded]=\"open$ | async\"\n role=\"combobox\"\n aria-haspopup=\"dialog\"\n aria-autocomplete=\"none\"\n (input)=\"onInputChange(input.value)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus()\"\n (keydown.enter)=\"input.blur(); open$.next(false); $event.preventDefault()\"\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n />\n <button\n class=\"chevron\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"toggleCalendar()\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"(open$ | async) ? 'Close calendar' : 'Open calendar'\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </button>\n </div>\n</riv-input-label>\n<ng-container *ngIf=\"open$ | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"trigger\"\n [isModal]=\"false\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-right',\n 'bottom-right',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false)\"\n >\n <div (mousedown)=\"$event.preventDefault()\">\n <header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </header>\n <div class=\"content\">\n <riv-calendar\n [activeYearMonth]=\"activeYearMonth\"\n (activeYearMonthChange)=\"activeYearMonth = $event\"\n [displayMin]=\"min\"\n [displayMax]=\"max\"\n [selectableMin]=\"min\"\n [selectableMax]=\"max\"\n [selectedValue]=\"previewValue ?? value\"\n (dateSelect)=\"onDateSelect($event); input.blur()\"\n ></riv-calendar>\n </div>\n <footer *ngIf=\"showClearButton || showTodayButton\" class=\"buttons\">\n <button\n *ngIf=\"showClearButton\"\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n (click)=\"clearValue(); input.blur()\"\n type=\"button\"\n >\n Clear\n </button>\n <button\n *ngIf=\"showTodayButton\"\n class=\"today\"\n rivButton\n [size]=\"'small'\"\n [variant]=\"'basic'\"\n [disabled]=\"!isTodaySelectable\"\n (click)=\"selectToday(); input.blur()\"\n type=\"button\"\n >\n Today\n </button>\n </footer>\n </div>\n </riv-callout>\n</ng-container>\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);padding-left:var(--size-small);position:relative}.trigger:focus-within{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:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre;border:none;background:transparent;outline:none;width:100%}.value::placeholder{color:var(--type-light-
|
|
157
|
+
args: [{ selector: 'riv-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <div\n #trigger\n class=\"trigger\"\n [class.xsmall]=\"size === 'xsmall'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.xlarge]=\"size === 'xlarge'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n [class.disabled]=\"disabled\"\n >\n <input\n #input\n class=\"value\"\n [placeholder]=\"placeholder\"\n [value]=\"inputText\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"label || null\"\n [attr.aria-expanded]=\"open$ | async\"\n role=\"combobox\"\n aria-haspopup=\"dialog\"\n aria-autocomplete=\"none\"\n (input)=\"onInputChange(input.value)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus()\"\n (keydown.enter)=\"input.blur(); open$.next(false); $event.preventDefault()\"\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n />\n <button\n class=\"chevron\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"toggleCalendar()\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"(open$ | async) ? 'Close calendar' : 'Open calendar'\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </button>\n </div>\n</riv-input-label>\n<ng-container *ngIf=\"open$ | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"trigger\"\n [isModal]=\"false\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-right',\n 'bottom-right',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false)\"\n >\n <div (mousedown)=\"$event.preventDefault()\">\n <header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </header>\n <div class=\"content\">\n <riv-calendar\n [activeYearMonth]=\"activeYearMonth\"\n (activeYearMonthChange)=\"activeYearMonth = $event\"\n [displayMin]=\"min\"\n [displayMax]=\"max\"\n [selectableMin]=\"min\"\n [selectableMax]=\"max\"\n [selectedValue]=\"previewValue ?? value\"\n (dateSelect)=\"onDateSelect($event); input.blur()\"\n ></riv-calendar>\n </div>\n <footer *ngIf=\"showClearButton || showTodayButton\" class=\"buttons\">\n <button\n *ngIf=\"showClearButton\"\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n (click)=\"clearValue(); input.blur()\"\n type=\"button\"\n >\n Clear\n </button>\n <button\n *ngIf=\"showTodayButton\"\n class=\"today\"\n rivButton\n [size]=\"'small'\"\n [variant]=\"'basic'\"\n [disabled]=\"!isTodaySelectable\"\n (click)=\"selectToday(); input.blur()\"\n type=\"button\"\n >\n Today\n </button>\n </footer>\n </div>\n </riv-callout>\n</ng-container>\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);padding-left:var(--size-small);position:relative}.trigger:focus-within{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:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre;border:none;background:transparent;outline:none;width:100%}.value::placeholder{color:var(--type-light-low-contrast)}.value:disabled{color:var(--type-light-disabled)}.trigger.xsmall .value{font:var(--input-small);padding:var(--size-xsmall) 0}.trigger.small .value{font:var(--input-small)}.trigger.large .value{font:var(--input-large);padding:var(--size-medium) var(--size-xsmall)}.trigger.xlarge .value{font:var(--input-large);padding:var(--size-large) var(--size-small)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-xsmall) calc(var(--base-grid-size) * 1.5);border:none;background:transparent;cursor:pointer;color:var(--type-light-high-contrast)}.chevron:disabled{color:var(--type-light-disabled);cursor:not-allowed}.trigger.warning{border-color:var(--surface-dark-caution)}.trigger.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}.content{padding:var(--size-xlarge)}.buttons{padding:0 var(--size-xlarge) var(--size-xlarge);display:flex;justify-content:space-between}.buttons .today{margin-left:auto}\n"] }]
|
|
158
158
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { min: [{
|
|
159
159
|
type: Input
|
|
160
160
|
}], max: [{
|
|
@@ -247,4 +247,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
247
247
|
}
|
|
248
248
|
DateComponent.isValidDate = isValidDate;
|
|
249
249
|
})(DateComponent || (DateComponent = {}));
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9kYXRlL2RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvZGF0ZS9kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7OztBQVEzRSxNQUFNLE9BQU8sYUFBYyxTQUFRLG1CQUFtQjtJQU9wRCxJQUNJLEtBQUssQ0FBQyxDQUFtQjtRQUMzQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRTtZQUFFLE9BQU87UUFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsOEVBQThFO1FBQzlFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFD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QyxDQUFDO1FBQzdDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUV2QyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsR0FDdEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdELE9BQU87WUFDTCxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7WUFDdkQsS0FBSztZQUNMLEdBQUc7U0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQWdCLFdBQVcsQ0FBQyxJQUFVLEVBQUUsR0FBUyxFQUFFLEdBQVM7UUFDMUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFIZSx5QkFBVyxjQUcxQixDQUFBO0FBQ0gsQ0FBQyxFQXBFZ0IsYUFBYSxLQUFiLGFBQWEsUUFvRTdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRpbWVEYXksIHRpbWVNb250aCB9IGZyb20gJ2QzLXRpbWUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJy4uLy4uL2Zvcm1hdC9waXBlcy9kYXRlLnBpcGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LWxhYmVsL2lucHV0LWxhYmVsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVDb21wb25lbnQgZXh0ZW5kcyBJbnB1dExhYmVsQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgbWluOiBEYXRlID0gQ2FsZW5kYXJDb21wb25lbnQuZGVmYXVsdE1pbjtcblxuICBASW5wdXQoKVxuICBtYXg6IERhdGUgPSBDYWxlbmRhckNvbXBvbmVudC5kZWZhdWx0TWF4O1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2OiBEYXRlIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlPy5nZXRUaW1lKCkgPT09IHY/LmdldFRpbWUoKSkgcmV0dXJuO1xuICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICAvLyBTa2lwIHRleHQgc3luYyB3aGlsZSB0eXBpbmcgc28gd2UgZG9uJ3Qgc3RvbXAgdGhlIHVzZXIncyBpbi1wcm9ncmVzcyBpbnB1dC5cbiAgICBpZiAoIXRoaXMuaGFzRm9jdXMpIHRoaXMuaW5wdXRUZXh0ID0gdiA/IHRoaXMuZm9ybWF0VmFsdWUodikgOiAnJztcbiAgICBpZiAodikgdGhpcy5zZXRBY3RpdmVNb250aCh2KTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICBnZXQgdmFsdWUoKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlPzogRGF0ZTtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjdCBkYXRlJztcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IERhdGVDb21wb25lbnQuU2l6ZSA9ICdtZWRpdW0nO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dDbGVhckJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2hvd1RvZGF5QnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICBAQ29udGVudENoaWxkKCdoZWFkZXInKVxuICBoZWFkZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIGFjdGl2ZVllYXJNb250aCA9IHRpbWVNb250aC5mbG9vcihuZXcgRGF0ZSgpKTtcblxuICByZWFkb25seSBvcGVuJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBASW5wdXQoKVxuICBzZXQgb3Blbih2OiBib29sZWFuKSB7XG4gICAgdGhpcy5vcGVuJC5uZXh0KHYpO1xuICB9XG4gIGdldCBvcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZW4kLmdldFZhbHVlKCk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCB1bmRlZmluZWQ+KCk7XG5cbiAgaW5wdXRUZXh0OiBzdHJpbmcgPSAnJztcbiAgcHJldmlld1ZhbHVlPzogRGF0ZTtcbiAgcHJpdmF0ZSBoYXNGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGVQaXBlID0gbmV3IERhdGVQaXBlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvLyBUaGUgY2FsbG91dCByZW5kZXJzIHdpdGggaXNNb2RhbD1mYWxzZSAobm8gZnVsbC12aWV3cG9ydCBzY3JpbSkgYW5kIGNhbid0XG4gIC8vIHNlbGYtY2xvc2Ugb24gb3V0c2lkZSBjbGlja3MuIEFueSBvdmVybGF5IGxheWVyIOKAlCBpbmNsdWRpbmcgc2libGluZ1xuICAvLyBvdmVybGF5cyBsaWtlIHRoZSBtb250aC95ZWFyIHNlbGVjdHMg4oCUIGNvdW50cyBhcyBcImluc2lkZVwiIHRoZSBwaWNrZXIuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlZG93bicsIFsnJGV2ZW50LnRhcmdldCddKVxuICBvbkRvY3VtZW50TW91c2VEb3duKHRhcmdldDogRXZlbnRUYXJnZXQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9wZW4kLmdldFZhbHVlKCkgfHwgISh0YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50KSkgcmV0dXJuO1xuICAgIGlmICh0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpKSByZXR1cm47XG4gICAgaWYgKHRhcmdldC5jbG9zZXN0KCcuY2FsbG91dCwgLnNjcmltLCAub3ZlcmxheS1jb250YWluZXInKSkgcmV0dXJuO1xuICAgIHRoaXMub3BlbiQubmV4dChmYWxzZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjbGVhclZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuY29tbWl0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5vcGVuJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHNlbGVjdFRvZGF5KCk6IHZvaWQge1xuICAgIGNvbnN0IHRvZGF5ID0gdGltZURheS5mbG9vcihuZXcgRGF0ZSgpKTtcbiAgICBpZiAoIURhdGVDb21wb25lbnQuaXNWYWxpZERhdGUodG9kYXksIHRoaXMubWluLCB0aGlzLm1heCkpIHJldHVybjtcbiAgICB0aGlzLmNvbW1pdCh0b2RheSk7XG4gICAgdGhpcy5vcGVuJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIGdldCBpc1RvZGF5U2VsZWN0YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRGF0ZUNvbXBvbmVudC5pc1ZhbGlkRGF0ZShcbiAgICAgIHRpbWVEYXkuZmxvb3IobmV3IERhdGUoKSksXG4gICAgICB0aGlzLm1pbixcbiAgICAgIHRoaXMubWF4LFxuICAgICk7XG4gIH1cblxuICBvbklucHV0Q2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0VGV4dCA9IHZhbHVlO1xuICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VJbnB1dCh2YWx1ZSk7XG4gICAgdGhpcy5wcmV2aWV3VmFsdWUgPSBwYXJzZWQ7XG4gICAgaWYgKHBhcnNlZCkgdGhpcy5zZXRBY3RpdmVNb250aChwYXJzZWQpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25JbnB1dEJsdXIoZXZlbnQ/OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5oYXNGb2N1cyA9IGZhbHNlO1xuICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VJbnB1dCh0aGlzLmlucHV0VGV4dCk7XG4gICAgaWYgKHBhcnNlZCkge1xuICAgICAgdGhpcy5jb21taXQocGFyc2VkKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlucHV0VGV4dC50cmltKCkpIHtcbiAgICAgIHRoaXMuY29tbWl0KHVuZGVmaW5lZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEludmFsaWQgdGV4dCDigJQgcmV2ZXJ0IHRvIHdoYXRldmVyIHRoZSBjb21taXR0ZWQgdmFsdWUgd2FzLlxuICAgICAgdGhpcy5pbnB1dFRleHQgPSB0aGlzLl92YWx1ZSA/IHRoaXMuZm9ybWF0VmFsdWUodGhpcy5fdmFsdWUpIDogJyc7XG4gICAgfVxuICAgIHRoaXMucHJldmlld1ZhbHVlID0gdW5kZWZpbmVkO1xuICAgIC8vIENsb3NlIG9uIGtleWJvYXJkLWRyaXZlbiBmb2N1cyBjaGFuZ2VzIChUYWIgb3V0KS4gU3RheSBvcGVuIGlmIGZvY3VzXG4gICAgLy8gbW92ZWQgaW50byBhIG5lc3RlZCBvdmVybGF5IChlLmcuIHRoZSBjYWxlbmRhcidzIG1vbnRoL3llYXIgc2VsZWN0KS5cbiAgICAvLyBNb3VzZSBjbGlja3MgaW5zaWRlIHRoZSBjYWxlbmRhciBwcmV2ZW50RGVmYXVsdCBtb3VzZWRvd24gc28gdGhpc1xuICAgIC8vIGhhbmRsZXIgbmV2ZXIgcnVucyBmb3IgdGhlbS5cbiAgICBjb25zdCBuZXh0VGFyZ2V0ID0gZXZlbnQ/LnJlbGF0ZWRUYXJnZXQ7XG4gICAgY29uc3Qgc3RheU9wZW4gPVxuICAgICAgbmV4dFRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQgJiZcbiAgICAgICh0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5jb250YWlucyhuZXh0VGFyZ2V0KSB8fFxuICAgICAgICAhIW5leHRUYXJnZXQuY2xvc2VzdCgnLmNhbGxvdXQsIC5zY3JpbSwgLm92ZXJsYXktY29udGFpbmVyJykpO1xuICAgIGlmICghc3RheU9wZW4pIHRoaXMub3BlbiQubmV4dChmYWxzZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkRhdGVTZWxlY3QoZGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuY29tbWl0KHRpbWVEYXkuZmxvb3IoZGF0ZSkpO1xuICAgIHRoaXMub3BlbiQubmV4dChmYWxzZSk7XG4gIH1cblxuICBvbklucHV0Rm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5oYXNGb2N1cyA9IHRydWU7XG4gICAgdGhpcy5vcGVuJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgdG9nZ2xlQ2FsZW5kYXIoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuJC5uZXh0KCF0aGlzLm9wZW4kLmdldFZhbHVlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRWYWx1ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlSW5wdXQodGV4dDogc3RyaW5nKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcGFyc2VkID0gRGF0ZUNvbXBvbmVudC5wYXJzZURhdGUodGV4dCk7XG4gICAgcmV0dXJuIHBhcnNlZCAmJiBEYXRlQ29tcG9uZW50LmlzVmFsaWREYXRlKHBhcnNlZCwgdGhpcy5taW4sIHRoaXMubWF4KVxuICAgICAgPyB0aW1lRGF5LmZsb29yKHBhcnNlZClcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBY3RpdmVNb250aChkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgY29uc3QgbW9udGggPSB0aW1lTW9udGguZmxvb3IoZGF0ZSk7XG4gICAgaWYgKG1vbnRoLmdldFRpbWUoKSAhPT0gdGhpcy5hY3RpdmVZZWFyTW9udGguZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLmFjdGl2ZVllYXJNb250aCA9IG1vbnRoO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29tbWl0KG5leHQ6IERhdGUgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCB1bmNoYW5nZWQgPSBuZXh0Py5nZXRUaW1lKCkgPT09IHRoaXMuX3ZhbHVlPy5nZXRUaW1lKCk7XG4gICAgdGhpcy5fdmFsdWUgPSBuZXh0O1xuICAgIHRoaXMuaW5wdXRUZXh0ID0gbmV4dCA/IHRoaXMuZm9ybWF0VmFsdWUobmV4dCkgOiAnJztcbiAgICB0aGlzLnByZXZpZXdWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICBpZiAobmV4dCkgdGhpcy5zZXRBY3RpdmVNb250aChuZXh0KTtcbiAgICBpZiAoIXVuY2hhbmdlZCkgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5leHQpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGF0ZUNvbXBvbmVudCB7XG4gIGV4cG9ydCBjb25zdCBTaXplcyA9IFtcbiAgICAneHNtYWxsJyxcbiAgICAnc21hbGwnLFxuICAgICdtZWRpdW0nLFxuICAgICdsYXJnZScsXG4gICAgJ3hsYXJnZScsXG4gIF0gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFNpemUgPSAodHlwZW9mIFNpemVzKVtudW1iZXJdO1xuXG4gIC8vIEFjY2VwdHMgTU0vREQvWVlZWSwgTS9EL1lZLCBhbmQgWVlZWS1NTS1ERCB3aXRoIC8sIC0sIG9yIC4gc2VwYXJhdG9ycywgYXNcbiAgLy8gd2VsbCBhcyBzZXBhcmF0b3ItbGVzcyBkaWdpdCBydW5zIChNTUREWVlZWSBvciBNTUREWVkpLiBBIDQtZGlnaXQgbGVhZGluZ1xuICAvLyBzZWdtZW50IGluIHRoZSBzZXBhcmF0ZWQgZm9ybSBpcyB0cmVhdGVkIGFzIGFuIElTTyB5ZWFyOyAyLWRpZ2l0IHllYXJzXG4gIC8vIHBpdm90IGF0IDUwICg8NTAg4oaSIDIwMDBzLCA+PTUwIOKGkiAxOTAwcykuXG4gIGV4cG9ydCBmdW5jdGlvbiBwYXJzZURhdGUoaW5wdXQ6IHN0cmluZyk6IERhdGUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHRyaW1tZWQgPSBpbnB1dC50cmltKCk7XG4gICAgaWYgKCF0cmltbWVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgeW1kID0gL15cXGQrJC8udGVzdCh0cmltbWVkKVxuICAgICAgPyBwYXJzZURpZ2l0cyh0cmltbWVkKVxuICAgICAgOiBwYXJzZVNlcGFyYXRlZCh0cmltbWVkKTtcbiAgICBpZiAoIXltZCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IFt5ZWFyLCBtb250aCwgZGF5XSA9IHltZDtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXkpO1xuICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgPT09IHllYXIgJiZcbiAgICAgIGRhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGggLSAxICYmXG4gICAgICBkYXRlLmdldERhdGUoKSA9PT0gZGF5XG4gICAgICA/IGRhdGVcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZnVuY3Rpb24gZXhwYW5kVHdvRGlnaXRZZWFyKHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHllYXIgPCAxMDAgPyB5ZWFyICsgKHllYXIgPCA1MCA/IDIwMDAgOiAxOTAwKSA6IHllYXI7XG4gIH1cblxuICAvLyBBIHJ1biBvZiBkaWdpdHMgd2l0aCBubyBzZXBhcmF0b3JzOiA4IOKGkiBNTUREWVlZWSAobGl0ZXJhbCB5ZWFyKSwgNiDihpIgTU1ERFlZXG4gIC8vICgyLWRpZ2l0IHllYXIgcGl2b3RlZCBhdCA1MCkuXG4gIGZ1bmN0aW9uIHBhcnNlRGlnaXRzKGRpZ2l0czogc3RyaW5nKTogW251bWJlciwgbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZGlnaXRzLmxlbmd0aCAhPT0gOCAmJiBkaWdpdHMubGVuZ3RoICE9PSA2KSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IHllYXIgPSBwYXJzZUludChkaWdpdHMuc2xpY2UoNCksIDEwKTtcbiAgICByZXR1cm4gW1xuICAgICAgZGlnaXRzLmxlbmd0aCA9PT0gNiA/IGV4cGFuZFR3b0RpZ2l0WWVhcih5ZWFyKSA6IHllYXIsXG4gICAgICBwYXJzZUludChkaWdpdHMuc2xpY2UoMCwgMiksIDEwKSxcbiAgICAgIHBhcnNlSW50KGRpZ2l0cy5zbGljZSgyLCA0KSwgMTApLFxuICAgIF07XG4gIH1cblxuICBmdW5jdGlvbiBwYXJzZVNlcGFyYXRlZChpbnB1dDogc3RyaW5nKTogW251bWJlciwgbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBwYXJ0cyA9IGlucHV0LnNwbGl0KC9bLy4tXS8pO1xuICAgIGlmIChwYXJ0cy5sZW5ndGggIT09IDMpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBudW1zID0gcGFydHMubWFwKHAgPT4gcGFyc2VJbnQocCwgMTApKTtcbiAgICBpZiAobnVtcy5zb21lKGlzTmFOKSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IFt5ZWFyLCBtb250aCwgZGF5XSA9XG4gICAgICBwYXJ0c1swXS5sZW5ndGggPT09IDQgPyBudW1zIDogW251bXNbMl0sIG51bXNbMF0sIG51bXNbMV1dO1xuICAgIHJldHVybiBbXG4gICAgICBwYXJ0c1swXS5sZW5ndGggPT09IDQgPyB5ZWFyIDogZXhwYW5kVHdvRGlnaXRZZWFyKHllYXIpLFxuICAgICAgbW9udGgsXG4gICAgICBkYXksXG4gICAgXTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkRGF0ZShkYXRlOiBEYXRlLCBtaW46IERhdGUsIG1heDogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRpbWUgPSBkYXRlLmdldFRpbWUoKTtcbiAgICByZXR1cm4gdGltZSA+PSBtaW4uZ2V0VGltZSgpICYmIHRpbWUgPD0gbWF4LmdldFRpbWUoKTtcbiAgfVxufVxuIiwiPHJpdi1pbnB1dC1sYWJlbFxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbaGVscF09XCJoZWxwXCJcbiAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgW3N0YXRlXT1cInN0YXRlXCJcbiAgW2Vycm9yTWVzc2FnZV09XCJlcnJvck1lc3NhZ2VcIlxuICBbbGFiZWxBY3Rpb25UZXh0XT1cImxhYmVsQWN0aW9uVGV4dFwiXG4gIChsYWJlbEFjdGlvbik9XCJsYWJlbEFjdGlvbi5lbWl0KCRldmVudClcIlxuPlxuICA8ZGl2XG4gICAgI3RyaWdnZXJcbiAgICBjbGFzcz1cInRyaWdnZXJcIlxuICAgIFtjbGFzcy54c21hbGxdPVwic2l6ZSA9PT0gJ3hzbWFsbCdcIlxuICAgIFtjbGFzcy5zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgICBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgW2NsYXNzLnhsYXJnZV09XCJzaXplID09PSAneGxhcmdlJ1wiXG4gICAgW2NsYXNzLndhcm5pbmddPVwic3RhdGUgPT09ICd3YXJuaW5nJ1wiXG4gICAgW2NsYXNzLmVycm9yXT1cInN0YXRlID09PSAnZXJyb3InXCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICA+XG4gICAgPGlucHV0XG4gICAgICAjaW5wdXRcbiAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIFt2YWx1ZV09XCJpbnB1dFRleHRcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwgfHwgbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm9wZW4kIHwgYXN5bmNcIlxuICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJkaWFsb2dcIlxuICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJub25lXCJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0Q2hhbmdlKGlucHV0LnZhbHVlKVwiXG4gICAgICAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoKVwiXG4gICAgICAoa2V5ZG93bi5lbnRlcik9XCJpbnB1dC5ibHVyKCk7IG9wZW4kLm5leHQoZmFsc2UpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICAvPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiY2hldnJvblwiXG4gICAgICAobW91c2Vkb3duKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVDYWxlbmRhcigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIihvcGVuJCB8IGFzeW5jKSA/ICdDbG9zZSBjYWxlbmRhcicgOiAnT3BlbiBjYWxlbmRhcidcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICA+XG4gICAgICA8cml2LWljb24gW25hbWVdPVwiJ0NhbGVuZGFyJ1wiIFtzaXplXT1cIjE2XCI+PC9yaXYtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L3Jpdi1pbnB1dC1sYWJlbD5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJvcGVuJCB8IGFzeW5jXCI+XG4gIDxyaXYtY2FsbG91dFxuICAgICpyaXYtb3ZlcmxheVxuICAgIFthbmNob3JdPVwidHJpZ2dlclwiXG4gICAgW2lzTW9kYWxdPVwiZmFsc2VcIlxuICAgIFtzaG93Q2FyZXRdPVwiZmFsc2VcIlxuICAgIFt0aGVtZV09XCInbGlnaHQnXCJcbiAgICBbYWxsb3dlZFBvc2l0aW9uc109XCJbXG4gICAgICAndG9wLWxlZnQnLFxuICAgICAgJ3RvcC1yaWdodCcsXG4gICAgICAnYm90dG9tLXJpZ2h0JyxcbiAgICAgICdib3R0b20tbGVmdCdcbiAgICBdXCJcbiAgICBbcHJlZmVycmVkUG9zaXRpb25dPVwiJ2JvdHRvbS1yaWdodCdcIlxuICAgIChjbG9zZSk9XCJvcGVuJC5uZXh0KGZhbHNlKVwiXG4gID5cbiAgICA8ZGl2IChtb3VzZWRvd24pPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cbiAgICAgIDxoZWFkZXIgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvaGVhZGVyPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgPHJpdi1jYWxlbmRhclxuICAgICAgICAgIFthY3RpdmVZZWFyTW9udGhdPVwiYWN0aXZlWWVhck1vbnRoXCJcbiAgICAgICAgICAoYWN0aXZlWWVhck1vbnRoQ2hhbmdlKT1cImFjdGl2ZVllYXJNb250aCA9ICRldmVudFwiXG4gICAgICAgICAgW2Rpc3BsYXlNaW5dPVwibWluXCJcbiAgICAgICAgICBbZGlzcGxheU1heF09XCJtYXhcIlxuICAgICAgICAgIFtzZWxlY3RhYmxlTWluXT1cIm1pblwiXG4gICAgICAgICAgW3NlbGVjdGFibGVNYXhdPVwibWF4XCJcbiAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJwcmV2aWV3VmFsdWUgPz8gdmFsdWVcIlxuICAgICAgICAgIChkYXRlU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdCgkZXZlbnQpOyBpbnB1dC5ibHVyKClcIlxuICAgICAgICA+PC9yaXYtY2FsZW5kYXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxmb290ZXIgKm5nSWY9XCJzaG93Q2xlYXJCdXR0b24gfHwgc2hvd1RvZGF5QnV0dG9uXCIgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cInNob3dDbGVhckJ1dHRvblwiXG4gICAgICAgICAgcml2QnV0dG9uXG4gICAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgW3ZhcmlhbnRdPVwiJ2dob3N0J1wiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyVmFsdWUoKTsgaW5wdXQuYmx1cigpXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIENsZWFyXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJzaG93VG9kYXlCdXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwidG9kYXlcIlxuICAgICAgICAgIHJpdkJ1dHRvblxuICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgIFt2YXJpYW50XT1cIidiYXNpYydcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNUb2RheVNlbGVjdGFibGVcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RUb2RheSgpOyBpbnB1dC5ibHVyKClcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAgVG9kYXlcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Zvb3Rlcj5cbiAgICA8L2Rpdj5cbiAgPC9yaXYtY2FsbG91dD5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9kYXRlL2RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvZGF0ZS9kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7OztBQVEzRSxNQUFNLE9BQU8sYUFBYyxTQUFRLG1CQUFtQjtJQU9wRCxJQUNJLEtBQUssQ0FBQyxDQUFtQjtRQUMzQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRTtZQUFFLE9BQU87UUFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsOEVBQThFO1FBQzlFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFD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QyxDQUFDO1FBQzdDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUV2QyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsR0FDdEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdELE9BQU87WUFDTCxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7WUFDdkQsS0FBSztZQUNMLEdBQUc7U0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQWdCLFdBQVcsQ0FBQyxJQUFVLEVBQUUsR0FBUyxFQUFFLEdBQVM7UUFDMUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFIZSx5QkFBVyxjQUcxQixDQUFBO0FBQ0gsQ0FBQyxFQXBFZ0IsYUFBYSxLQUFiLGFBQWEsUUFvRTdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRpbWVEYXksIHRpbWVNb250aCB9IGZyb20gJ2QzLXRpbWUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJy4uLy4uL2Zvcm1hdC9waXBlcy9kYXRlLnBpcGUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LWxhYmVsL2lucHV0LWxhYmVsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVDb21wb25lbnQgZXh0ZW5kcyBJbnB1dExhYmVsQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgbWluOiBEYXRlID0gQ2FsZW5kYXJDb21wb25lbnQuZGVmYXVsdE1pbjtcblxuICBASW5wdXQoKVxuICBtYXg6IERhdGUgPSBDYWxlbmRhckNvbXBvbmVudC5kZWZhdWx0TWF4O1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2OiBEYXRlIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlPy5nZXRUaW1lKCkgPT09IHY/LmdldFRpbWUoKSkgcmV0dXJuO1xuICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICAvLyBTa2lwIHRleHQgc3luYyB3aGlsZSB0eXBpbmcgc28gd2UgZG9uJ3Qgc3RvbXAgdGhlIHVzZXIncyBpbi1wcm9ncmVzcyBpbnB1dC5cbiAgICBpZiAoIXRoaXMuaGFzRm9jdXMpIHRoaXMuaW5wdXRUZXh0ID0gdiA/IHRoaXMuZm9ybWF0VmFsdWUodikgOiAnJztcbiAgICBpZiAodikgdGhpcy5zZXRBY3RpdmVNb250aCh2KTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICBnZXQgdmFsdWUoKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlPzogRGF0ZTtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjdCBkYXRlJztcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IERhdGVDb21wb25lbnQuU2l6ZSA9ICdtZWRpdW0nO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dDbGVhckJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2hvd1RvZGF5QnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICBAQ29udGVudENoaWxkKCdoZWFkZXInKVxuICBoZWFkZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIGFjdGl2ZVllYXJNb250aCA9IHRpbWVNb250aC5mbG9vcihuZXcgRGF0ZSgpKTtcblxuICByZWFkb25seSBvcGVuJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBASW5wdXQoKVxuICBzZXQgb3Blbih2OiBib29sZWFuKSB7XG4gICAgdGhpcy5vcGVuJC5uZXh0KHYpO1xuICB9XG4gIGdldCBvcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZW4kLmdldFZhbHVlKCk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCB1bmRlZmluZWQ+KCk7XG5cbiAgaW5wdXRUZXh0OiBzdHJpbmcgPSAnJztcbiAgcHJldmlld1ZhbHVlPzogRGF0ZTtcbiAgcHJpdmF0ZSBoYXNGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGVQaXBlID0gbmV3IERhdGVQaXBlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvLyBUaGUgY2FsbG91dCByZW5kZXJzIHdpdGggaXNNb2RhbD1mYWxzZSAobm8gZnVsbC12aWV3cG9ydCBzY3JpbSkgYW5kIGNhbid0XG4gIC8vIHNlbGYtY2xvc2Ugb24gb3V0c2lkZSBjbGlja3MuIEFueSBvdmVybGF5IGxheWVyIOKAlCBpbmNsdWRpbmcgc2libGluZ1xuICAvLyBvdmVybGF5cyBsaWtlIHRoZSBtb250aC95ZWFyIHNlbGVjdHMg4oCUIGNvdW50cyBhcyBcImluc2lkZVwiIHRoZSBwaWNrZXIuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlZG93bicsIFsnJGV2ZW50LnRhcmdldCddKVxuICBvbkRvY3VtZW50TW91c2VEb3duKHRhcmdldDogRXZlbnRUYXJnZXQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9wZW4kLmdldFZhbHVlKCkgfHwgISh0YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50KSkgcmV0dXJuO1xuICAgIGlmICh0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpKSByZXR1cm47XG4gICAgaWYgKHRhcmdldC5jbG9zZXN0KCcuY2FsbG91dCwgLnNjcmltLCAub3ZlcmxheS1jb250YWluZXInKSkgcmV0dXJuO1xuICAgIHRoaXMub3BlbiQubmV4dChmYWxzZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjbGVhclZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuY29tbWl0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5vcGVuJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHNlbGVjdFRvZGF5KCk6IHZvaWQge1xuICAgIGNvbnN0IHRvZGF5ID0gdGltZURheS5mbG9vcihuZXcgRGF0ZSgpKTtcbiAgICBpZiAoIURhdGVDb21wb25lbnQuaXNWYWxpZERhdGUodG9kYXksIHRoaXMubWluLCB0aGlzLm1heCkpIHJldHVybjtcbiAgICB0aGlzLmNvbW1pdCh0b2RheSk7XG4gICAgdGhpcy5vcGVuJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIGdldCBpc1RvZGF5U2VsZWN0YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRGF0ZUNvbXBvbmVudC5pc1ZhbGlkRGF0ZShcbiAgICAgIHRpbWVEYXkuZmxvb3IobmV3IERhdGUoKSksXG4gICAgICB0aGlzLm1pbixcbiAgICAgIHRoaXMubWF4LFxuICAgICk7XG4gIH1cblxuICBvbklucHV0Q2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0VGV4dCA9IHZhbHVlO1xuICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VJbnB1dCh2YWx1ZSk7XG4gICAgdGhpcy5wcmV2aWV3VmFsdWUgPSBwYXJzZWQ7XG4gICAgaWYgKHBhcnNlZCkgdGhpcy5zZXRBY3RpdmVNb250aChwYXJzZWQpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25JbnB1dEJsdXIoZXZlbnQ/OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5oYXNGb2N1cyA9IGZhbHNlO1xuICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VJbnB1dCh0aGlzLmlucHV0VGV4dCk7XG4gICAgaWYgKHBhcnNlZCkge1xuICAgICAgdGhpcy5jb21taXQocGFyc2VkKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlucHV0VGV4dC50cmltKCkpIHtcbiAgICAgIHRoaXMuY29tbWl0KHVuZGVmaW5lZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEludmFsaWQgdGV4dCDigJQgcmV2ZXJ0IHRvIHdoYXRldmVyIHRoZSBjb21taXR0ZWQgdmFsdWUgd2FzLlxuICAgICAgdGhpcy5pbnB1dFRleHQgPSB0aGlzLl92YWx1ZSA/IHRoaXMuZm9ybWF0VmFsdWUodGhpcy5fdmFsdWUpIDogJyc7XG4gICAgfVxuICAgIHRoaXMucHJldmlld1ZhbHVlID0gdW5kZWZpbmVkO1xuICAgIC8vIENsb3NlIG9uIGtleWJvYXJkLWRyaXZlbiBmb2N1cyBjaGFuZ2VzIChUYWIgb3V0KS4gU3RheSBvcGVuIGlmIGZvY3VzXG4gICAgLy8gbW92ZWQgaW50byBhIG5lc3RlZCBvdmVybGF5IChlLmcuIHRoZSBjYWxlbmRhcidzIG1vbnRoL3llYXIgc2VsZWN0KS5cbiAgICAvLyBNb3VzZSBjbGlja3MgaW5zaWRlIHRoZSBjYWxlbmRhciBwcmV2ZW50RGVmYXVsdCBtb3VzZWRvd24gc28gdGhpc1xuICAgIC8vIGhhbmRsZXIgbmV2ZXIgcnVucyBmb3IgdGhlbS5cbiAgICBjb25zdCBuZXh0VGFyZ2V0ID0gZXZlbnQ/LnJlbGF0ZWRUYXJnZXQ7XG4gICAgY29uc3Qgc3RheU9wZW4gPVxuICAgICAgbmV4dFRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQgJiZcbiAgICAgICh0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5jb250YWlucyhuZXh0VGFyZ2V0KSB8fFxuICAgICAgICAhIW5leHRUYXJnZXQuY2xvc2VzdCgnLmNhbGxvdXQsIC5zY3JpbSwgLm92ZXJsYXktY29udGFpbmVyJykpO1xuICAgIGlmICghc3RheU9wZW4pIHRoaXMub3BlbiQubmV4dChmYWxzZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkRhdGVTZWxlY3QoZGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuY29tbWl0KHRpbWVEYXkuZmxvb3IoZGF0ZSkpO1xuICAgIHRoaXMub3BlbiQubmV4dChmYWxzZSk7XG4gIH1cblxuICBvbklucHV0Rm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5oYXNGb2N1cyA9IHRydWU7XG4gICAgdGhpcy5vcGVuJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgdG9nZ2xlQ2FsZW5kYXIoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuJC5uZXh0KCF0aGlzLm9wZW4kLmdldFZhbHVlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRWYWx1ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlSW5wdXQodGV4dDogc3RyaW5nKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcGFyc2VkID0gRGF0ZUNvbXBvbmVudC5wYXJzZURhdGUodGV4dCk7XG4gICAgcmV0dXJuIHBhcnNlZCAmJiBEYXRlQ29tcG9uZW50LmlzVmFsaWREYXRlKHBhcnNlZCwgdGhpcy5taW4sIHRoaXMubWF4KVxuICAgICAgPyB0aW1lRGF5LmZsb29yKHBhcnNlZClcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBY3RpdmVNb250aChkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgY29uc3QgbW9udGggPSB0aW1lTW9udGguZmxvb3IoZGF0ZSk7XG4gICAgaWYgKG1vbnRoLmdldFRpbWUoKSAhPT0gdGhpcy5hY3RpdmVZZWFyTW9udGguZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLmFjdGl2ZVllYXJNb250aCA9IG1vbnRoO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29tbWl0KG5leHQ6IERhdGUgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCB1bmNoYW5nZWQgPSBuZXh0Py5nZXRUaW1lKCkgPT09IHRoaXMuX3ZhbHVlPy5nZXRUaW1lKCk7XG4gICAgdGhpcy5fdmFsdWUgPSBuZXh0O1xuICAgIHRoaXMuaW5wdXRUZXh0ID0gbmV4dCA/IHRoaXMuZm9ybWF0VmFsdWUobmV4dCkgOiAnJztcbiAgICB0aGlzLnByZXZpZXdWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICBpZiAobmV4dCkgdGhpcy5zZXRBY3RpdmVNb250aChuZXh0KTtcbiAgICBpZiAoIXVuY2hhbmdlZCkgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5leHQpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGF0ZUNvbXBvbmVudCB7XG4gIGV4cG9ydCBjb25zdCBTaXplcyA9IFtcbiAgICAneHNtYWxsJyxcbiAgICAnc21hbGwnLFxuICAgICdtZWRpdW0nLFxuICAgICdsYXJnZScsXG4gICAgJ3hsYXJnZScsXG4gIF0gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFNpemUgPSAodHlwZW9mIFNpemVzKVtudW1iZXJdO1xuXG4gIC8vIEFjY2VwdHMgTU0vREQvWVlZWSwgTS9EL1lZLCBhbmQgWVlZWS1NTS1ERCB3aXRoIC8sIC0sIG9yIC4gc2VwYXJhdG9ycywgYXNcbiAgLy8gd2VsbCBhcyBzZXBhcmF0b3ItbGVzcyBkaWdpdCBydW5zIChNTUREWVlZWSBvciBNTUREWVkpLiBBIDQtZGlnaXQgbGVhZGluZ1xuICAvLyBzZWdtZW50IGluIHRoZSBzZXBhcmF0ZWQgZm9ybSBpcyB0cmVhdGVkIGFzIGFuIElTTyB5ZWFyOyAyLWRpZ2l0IHllYXJzXG4gIC8vIHBpdm90IGF0IDUwICg8NTAg4oaSIDIwMDBzLCA+PTUwIOKGkiAxOTAwcykuXG4gIGV4cG9ydCBmdW5jdGlvbiBwYXJzZURhdGUoaW5wdXQ6IHN0cmluZyk6IERhdGUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHRyaW1tZWQgPSBpbnB1dC50cmltKCk7XG4gICAgaWYgKCF0cmltbWVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgeW1kID0gL15cXGQrJC8udGVzdCh0cmltbWVkKVxuICAgICAgPyBwYXJzZURpZ2l0cyh0cmltbWVkKVxuICAgICAgOiBwYXJzZVNlcGFyYXRlZCh0cmltbWVkKTtcbiAgICBpZiAoIXltZCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IFt5ZWFyLCBtb250aCwgZGF5XSA9IHltZDtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXkpO1xuICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgPT09IHllYXIgJiZcbiAgICAgIGRhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGggLSAxICYmXG4gICAgICBkYXRlLmdldERhdGUoKSA9PT0gZGF5XG4gICAgICA/IGRhdGVcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZnVuY3Rpb24gZXhwYW5kVHdvRGlnaXRZZWFyKHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHllYXIgPCAxMDAgPyB5ZWFyICsgKHllYXIgPCA1MCA/IDIwMDAgOiAxOTAwKSA6IHllYXI7XG4gIH1cblxuICAvLyBBIHJ1biBvZiBkaWdpdHMgd2l0aCBubyBzZXBhcmF0b3JzOiA4IOKGkiBNTUREWVlZWSAobGl0ZXJhbCB5ZWFyKSwgNiDihpIgTU1ERFlZXG4gIC8vICgyLWRpZ2l0IHllYXIgcGl2b3RlZCBhdCA1MCkuXG4gIGZ1bmN0aW9uIHBhcnNlRGlnaXRzKGRpZ2l0czogc3RyaW5nKTogW251bWJlciwgbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZGlnaXRzLmxlbmd0aCAhPT0gOCAmJiBkaWdpdHMubGVuZ3RoICE9PSA2KSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IHllYXIgPSBwYXJzZUludChkaWdpdHMuc2xpY2UoNCksIDEwKTtcbiAgICByZXR1cm4gW1xuICAgICAgZGlnaXRzLmxlbmd0aCA9PT0gNiA/IGV4cGFuZFR3b0RpZ2l0WWVhcih5ZWFyKSA6IHllYXIsXG4gICAgICBwYXJzZUludChkaWdpdHMuc2xpY2UoMCwgMiksIDEwKSxcbiAgICAgIHBhcnNlSW50KGRpZ2l0cy5zbGljZSgyLCA0KSwgMTApLFxuICAgIF07XG4gIH1cblxuICBmdW5jdGlvbiBwYXJzZVNlcGFyYXRlZChpbnB1dDogc3RyaW5nKTogW251bWJlciwgbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBwYXJ0cyA9IGlucHV0LnNwbGl0KC9bLy4tXS8pO1xuICAgIGlmIChwYXJ0cy5sZW5ndGggIT09IDMpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBudW1zID0gcGFydHMubWFwKHAgPT4gcGFyc2VJbnQocCwgMTApKTtcbiAgICBpZiAobnVtcy5zb21lKGlzTmFOKSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IFt5ZWFyLCBtb250aCwgZGF5XSA9XG4gICAgICBwYXJ0c1swXS5sZW5ndGggPT09IDQgPyBudW1zIDogW251bXNbMl0sIG51bXNbMF0sIG51bXNbMV1dO1xuICAgIHJldHVybiBbXG4gICAgICBwYXJ0c1swXS5sZW5ndGggPT09IDQgPyB5ZWFyIDogZXhwYW5kVHdvRGlnaXRZZWFyKHllYXIpLFxuICAgICAgbW9udGgsXG4gICAgICBkYXksXG4gICAgXTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkRGF0ZShkYXRlOiBEYXRlLCBtaW46IERhdGUsIG1heDogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRpbWUgPSBkYXRlLmdldFRpbWUoKTtcbiAgICByZXR1cm4gdGltZSA+PSBtaW4uZ2V0VGltZSgpICYmIHRpbWUgPD0gbWF4LmdldFRpbWUoKTtcbiAgfVxufVxuIiwiPHJpdi1pbnB1dC1sYWJlbFxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbaGVscF09XCJoZWxwXCJcbiAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgW3N0YXRlXT1cInN0YXRlXCJcbiAgW2Vycm9yTWVzc2FnZV09XCJlcnJvck1lc3NhZ2VcIlxuICBbbGFiZWxBY3Rpb25UZXh0XT1cImxhYmVsQWN0aW9uVGV4dFwiXG4gIChsYWJlbEFjdGlvbik9XCJsYWJlbEFjdGlvbi5lbWl0KCRldmVudClcIlxuPlxuICA8ZGl2XG4gICAgI3RyaWdnZXJcbiAgICBjbGFzcz1cInRyaWdnZXJcIlxuICAgIFtjbGFzcy54c21hbGxdPVwic2l6ZSA9PT0gJ3hzbWFsbCdcIlxuICAgIFtjbGFzcy5zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgICBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgW2NsYXNzLnhsYXJnZV09XCJzaXplID09PSAneGxhcmdlJ1wiXG4gICAgW2NsYXNzLndhcm5pbmddPVwic3RhdGUgPT09ICd3YXJuaW5nJ1wiXG4gICAgW2NsYXNzLmVycm9yXT1cInN0YXRlID09PSAnZXJyb3InXCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICA+XG4gICAgPGlucHV0XG4gICAgICAjaW5wdXRcbiAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIFt2YWx1ZV09XCJpbnB1dFRleHRcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwgfHwgbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm9wZW4kIHwgYXN5bmNcIlxuICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJkaWFsb2dcIlxuICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJub25lXCJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0Q2hhbmdlKGlucHV0LnZhbHVlKVwiXG4gICAgICAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoKVwiXG4gICAgICAoa2V5ZG93bi5lbnRlcik9XCJpbnB1dC5ibHVyKCk7IG9wZW4kLm5leHQoZmFsc2UpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICAvPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiY2hldnJvblwiXG4gICAgICAobW91c2Vkb3duKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVDYWxlbmRhcigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIihvcGVuJCB8IGFzeW5jKSA/ICdDbG9zZSBjYWxlbmRhcicgOiAnT3BlbiBjYWxlbmRhcidcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICA+XG4gICAgICA8cml2LWljb24gW25hbWVdPVwiJ0NhbGVuZGFyJ1wiIFtzaXplXT1cIjE2XCI+PC9yaXYtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L3Jpdi1pbnB1dC1sYWJlbD5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJvcGVuJCB8IGFzeW5jXCI+XG4gIDxyaXYtY2FsbG91dFxuICAgICpyaXYtb3ZlcmxheVxuICAgIFthbmNob3JdPVwidHJpZ2dlclwiXG4gICAgW2lzTW9kYWxdPVwiZmFsc2VcIlxuICAgIFtzaG93Q2FyZXRdPVwiZmFsc2VcIlxuICAgIFt0aGVtZV09XCInbGlnaHQnXCJcbiAgICBbYWxsb3dlZFBvc2l0aW9uc109XCJbXG4gICAgICAndG9wLWxlZnQnLFxuICAgICAgJ3RvcC1yaWdodCcsXG4gICAgICAnYm90dG9tLXJpZ2h0JyxcbiAgICAgICdib3R0b20tbGVmdCdcbiAgICBdXCJcbiAgICBbcHJlZmVycmVkUG9zaXRpb25dPVwiJ2JvdHRvbS1yaWdodCdcIlxuICAgIChjbG9zZSk9XCJvcGVuJC5uZXh0KGZhbHNlKVwiXG4gID5cbiAgICA8ZGl2IChtb3VzZWRvd24pPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cbiAgICAgIDxoZWFkZXIgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvaGVhZGVyPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgPHJpdi1jYWxlbmRhclxuICAgICAgICAgIFthY3RpdmVZZWFyTW9udGhdPVwiYWN0aXZlWWVhck1vbnRoXCJcbiAgICAgICAgICAoYWN0aXZlWWVhck1vbnRoQ2hhbmdlKT1cImFjdGl2ZVllYXJNb250aCA9ICRldmVudFwiXG4gICAgICAgICAgW2Rpc3BsYXlNaW5dPVwibWluXCJcbiAgICAgICAgICBbZGlzcGxheU1heF09XCJtYXhcIlxuICAgICAgICAgIFtzZWxlY3RhYmxlTWluXT1cIm1pblwiXG4gICAgICAgICAgW3NlbGVjdGFibGVNYXhdPVwibWF4XCJcbiAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJwcmV2aWV3VmFsdWUgPz8gdmFsdWVcIlxuICAgICAgICAgIChkYXRlU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdCgkZXZlbnQpOyBpbnB1dC5ibHVyKClcIlxuICAgICAgICA+PC9yaXYtY2FsZW5kYXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxmb290ZXIgKm5nSWY9XCJzaG93Q2xlYXJCdXR0b24gfHwgc2hvd1RvZGF5QnV0dG9uXCIgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cInNob3dDbGVhckJ1dHRvblwiXG4gICAgICAgICAgcml2QnV0dG9uXG4gICAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgW3ZhcmlhbnRdPVwiJ2dob3N0J1wiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyVmFsdWUoKTsgaW5wdXQuYmx1cigpXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIENsZWFyXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJzaG93VG9kYXlCdXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwidG9kYXlcIlxuICAgICAgICAgIHJpdkJ1dHRvblxuICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgIFt2YXJpYW50XT1cIidiYXNpYydcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNUb2RheVNlbGVjdGFibGVcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RUb2RheSgpOyBpbnB1dC5ibHVyKClcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAgVG9kYXlcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Zvb3Rlcj5cbiAgICA8L2Rpdj5cbiAgPC9yaXYtY2FsbG91dD5cbjwvbmctY29udGFpbmVyPlxuIl19
|