@rivet-health/design-system 5.2.2 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/input/calendar/calendar.component.mjs +1 -1
- package/esm2020/lib/input/date-range/date-range.component.mjs +1 -1
- package/esm2020/lib/input/single-select/single-select.component.mjs +20 -44
- package/esm2020/lib/interaction/focus-on-init.directive.mjs +43 -0
- package/esm2020/lib/riv.module.mjs +6 -1
- package/esm2020/lib/visualization/stacked-column/stacked-column.component.mjs +1 -1
- package/esm2020/lib/visualization/time-series/time-series.component.mjs +1 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/rivet-health-design-system.mjs +65 -39
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +65 -44
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/lib/input/single-select/single-select.component.d.ts +3 -6
- package/lib/interaction/focus-on-init.directive.d.ts +13 -0
- package/lib/riv.module.d.ts +30 -29
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/styles/tokens/typography.css +1 -1
|
@@ -251,7 +251,7 @@ export class CalendarComponent {
|
|
|
251
251
|
}
|
|
252
252
|
}
|
|
253
253
|
CalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
254
|
-
CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CalendarComponent, selector: "riv-calendar", inputs: { activeYearMonth: "activeYearMonth", displayMin: "displayMin", displayMax: "displayMax", selectableMin: "selectableMin", selectableMax: "selectableMax", omitRange: "omitRange", selectedValue: "selectedValue" }, outputs: { activeYearMonthChange: "activeYearMonthChange", dateSelect: "dateSelect" }, ngImport: i0, template: "<div class=\"controls\">\n <div>\n <ng-template #selectTrigger let-selectedOption=\"selectedOption\">\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n [icon]=\"'ChevronDown'\"\n [iconPosition]=\"'last'\"\n type=\"button\"\n >\n {{ selectedOption.title || '...' }}\n </button>\n </ng-template>\n <riv-single-select\n placeholder=\"Month...\"\n [groups]=\"monthOptions$ | async | rivOptionGroup\"\n [selectedOption]=\"selectedMonthOption$ | async\"\n (selectedOptionChange)=\"activeYearMonthChange.emit($event.date)\"\n [triggerTemplate]=\"selectTrigger\"\n ></riv-single-select>\n <riv-single-select\n placeholder=\"Year...\"\n [groups]=\"yearOptions$ | async | rivOptionGroup\"\n [selectedOption]=\"selectedYearOption$ | async\"\n (selectedOptionChange)=\"activeYearMonthChange.emit($event.date)\"\n [triggerTemplate]=\"selectTrigger\"\n ></riv-single-select>\n </div>\n <div\n *ngIf=\"{ prev: previousMonth$ | async, next: nextMonth$ | async }; let vm\"\n >\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n [icon]=\"'ArrowLeft'\"\n [disabled]=\"!vm.prev\"\n (click)=\"vm.prev ? activeYearMonthChange.emit(vm.prev) : null\"\n type=\"button\"\n ></button>\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n [icon]=\"'ArrowRight'\"\n [disabled]=\"!vm.next\"\n (click)=\"vm.next ? activeYearMonthChange.emit(vm.next) : null\"\n type=\"button\"\n ></button>\n </div>\n</div>\n<div class=\"calendar\">\n <span class=\"label\">Su</span>\n <span class=\"label\">Mo</span>\n <span class=\"label\">Tu</span>\n <span class=\"label\">We</span>\n <span class=\"label\">Th</span>\n <span class=\"label\">Fr</span>\n <span class=\"label\">Sa</span>\n <button\n *ngFor=\"let day of dates$ | async\"\n class=\"day\"\n [disabled]=\"day.hidden\"\n [class.bleed]=\"!day.inCurrentMonth\"\n [class.fade-in]=\"day.fadeIn\"\n [class.fade-out]=\"day.fadeOut\"\n [class.in-range]=\"day.inRange\"\n [class.rounded-ne]=\"day.roundedNe\"\n [class.rounded-nw]=\"day.roundedNw\"\n [class.rounded-se]=\"day.roundedSe\"\n [class.rounded-sw]=\"day.roundedSw\"\n (click)=\"selectDay(day)\"\n type=\"button\"\n >\n <span\n class=\"day-wrapper\"\n [class.selected]=\"day.selected\"\n [class.today]=\"day.today\"\n [class.hidden]=\"day.hidden\"\n >\n {{ day.display }}\n </span>\n </button>\n</div>\n", styles: [".controls{display:flex;align-items:center;justify-content:space-between}.calendar{display:grid;grid-template-columns:repeat(7,calc(var(--base-grid-size) * 10));grid-auto-rows:calc(var(--base-grid-size) * 6)}.label{display:flex;justify-content:center;align-items:center;font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-0);font-weight:var(--font-weight-heavy)}.day{display:flex;align-items:stretch}.day:hover{background-color:var(--surface-light-1)}.day.in-range{background-color:var(--purp-10)}.day.fade-out{background-image:linear-gradient(to right,var(--purp-10),var(--white-100))}.day.fade-in{background-image:linear-gradient(to right,var(--white-100),var(--purp-10))}.day.bleed{color:var(--type-light-disabled)}.day.rounded-ne{border-top-right-radius:var(--border-radius-medium)}.day.rounded-nw{border-top-left-radius:var(--border-radius-medium)}.day.rounded-sw{border-bottom-left-radius:var(--border-radius-medium)}.day.rounded-se{border-bottom-right-radius:var(--border-radius-medium)}.day-wrapper{flex-grow:1;display:flex;justify-content:center;align-items:center;border-radius:var(--border-radius-medium)}.day-wrapper.selected{background-color:var(--purp-60);color:var(--type-dark-high-contrast)}.day-wrapper.today{border-radius:calc(var(--base-grid-size) * 8);border:var(--border-width) solid var(--border-light);font-weight:var(--font-weight-heavy)}.day-wrapper.hidden{display:none}\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: "component", type: i2.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition"] }, { kind: "component", type: i3.SingleSelectComponent, selector: "riv-single-select", inputs: ["groups", "selectedOption", "filterabilityOptions", "loading", "locked", "noOptionsMessage", "nodeTemplate", "triggerTemplate", "placeholder", "disabled"], outputs: ["filterQueryChange", "selectedOptionChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.OptionGroupPipe, name: "rivOptionGroup" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
254
|
+
CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CalendarComponent, selector: "riv-calendar", inputs: { activeYearMonth: "activeYearMonth", displayMin: "displayMin", displayMax: "displayMax", selectableMin: "selectableMin", selectableMax: "selectableMax", omitRange: "omitRange", selectedValue: "selectedValue" }, outputs: { activeYearMonthChange: "activeYearMonthChange", dateSelect: "dateSelect" }, ngImport: i0, template: "<div class=\"controls\">\n <div>\n <ng-template #selectTrigger let-selectedOption=\"selectedOption\">\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n [icon]=\"'ChevronDown'\"\n [iconPosition]=\"'last'\"\n type=\"button\"\n >\n {{ selectedOption.title || '...' }}\n </button>\n </ng-template>\n <riv-single-select\n placeholder=\"Month...\"\n [groups]=\"monthOptions$ | async | rivOptionGroup\"\n [selectedOption]=\"selectedMonthOption$ | async\"\n (selectedOptionChange)=\"activeYearMonthChange.emit($event.date)\"\n [triggerTemplate]=\"selectTrigger\"\n ></riv-single-select>\n <riv-single-select\n placeholder=\"Year...\"\n [groups]=\"yearOptions$ | async | rivOptionGroup\"\n [selectedOption]=\"selectedYearOption$ | async\"\n (selectedOptionChange)=\"activeYearMonthChange.emit($event.date)\"\n [triggerTemplate]=\"selectTrigger\"\n ></riv-single-select>\n </div>\n <div\n *ngIf=\"{ prev: previousMonth$ | async, next: nextMonth$ | async }; let vm\"\n >\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n [icon]=\"'ArrowLeft'\"\n [disabled]=\"!vm.prev\"\n (click)=\"vm.prev ? activeYearMonthChange.emit(vm.prev) : null\"\n type=\"button\"\n ></button>\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n [icon]=\"'ArrowRight'\"\n [disabled]=\"!vm.next\"\n (click)=\"vm.next ? activeYearMonthChange.emit(vm.next) : null\"\n type=\"button\"\n ></button>\n </div>\n</div>\n<div class=\"calendar\">\n <span class=\"label\">Su</span>\n <span class=\"label\">Mo</span>\n <span class=\"label\">Tu</span>\n <span class=\"label\">We</span>\n <span class=\"label\">Th</span>\n <span class=\"label\">Fr</span>\n <span class=\"label\">Sa</span>\n <button\n *ngFor=\"let day of dates$ | async\"\n class=\"day\"\n [disabled]=\"day.hidden\"\n [class.bleed]=\"!day.inCurrentMonth\"\n [class.fade-in]=\"day.fadeIn\"\n [class.fade-out]=\"day.fadeOut\"\n [class.in-range]=\"day.inRange\"\n [class.rounded-ne]=\"day.roundedNe\"\n [class.rounded-nw]=\"day.roundedNw\"\n [class.rounded-se]=\"day.roundedSe\"\n [class.rounded-sw]=\"day.roundedSw\"\n (click)=\"selectDay(day)\"\n type=\"button\"\n >\n <span\n class=\"day-wrapper\"\n [class.selected]=\"day.selected\"\n [class.today]=\"day.today\"\n [class.hidden]=\"day.hidden\"\n >\n {{ day.display }}\n </span>\n </button>\n</div>\n", styles: [".controls{display:flex;align-items:center;justify-content:space-between}.calendar{display:grid;grid-template-columns:repeat(7,calc(var(--base-grid-size) * 10));grid-auto-rows:calc(var(--base-grid-size) * 6)}.label{display:flex;justify-content:center;align-items:center;font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-0);font-weight:var(--font-weight-heavy)}.day{display:flex;align-items:stretch}.day:hover{background-color:var(--surface-light-1)}.day.in-range{background-color:var(--purp-10)}.day.fade-out{background-image:linear-gradient(to right,var(--purp-10),var(--white-100))}.day.fade-in{background-image:linear-gradient(to right,var(--white-100),var(--purp-10))}.day.bleed{color:var(--type-light-disabled)}.day.rounded-ne{border-top-right-radius:var(--border-radius-medium)}.day.rounded-nw{border-top-left-radius:var(--border-radius-medium)}.day.rounded-sw{border-bottom-left-radius:var(--border-radius-medium)}.day.rounded-se{border-bottom-right-radius:var(--border-radius-medium)}.day-wrapper{flex-grow:1;display:flex;justify-content:center;align-items:center;border-radius:var(--border-radius-medium)}.day-wrapper.selected{background-color:var(--purp-60);color:var(--type-dark-high-contrast)}.day-wrapper.today{border-radius:calc(var(--base-grid-size) * 8);border:var(--border-width) solid var(--border-light);font-weight:var(--font-weight-heavy)}.day-wrapper.hidden{display:none}\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: "component", type: i2.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition"] }, { kind: "component", type: i3.SingleSelectComponent, selector: "riv-single-select", inputs: ["groups", "selectedOption", "filterabilityOptions", "loading", "locked", "maxCalloutHeight", "noOptionsMessage", "nodeTemplate", "triggerTemplate", "placeholder", "disabled"], outputs: ["filterQueryChange", "selectedOptionChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.OptionGroupPipe, name: "rivOptionGroup" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
255
255
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
256
256
|
type: Component,
|
|
257
257
|
args: [{ selector: 'riv-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"controls\">\n <div>\n <ng-template #selectTrigger let-selectedOption=\"selectedOption\">\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n [icon]=\"'ChevronDown'\"\n [iconPosition]=\"'last'\"\n type=\"button\"\n >\n {{ selectedOption.title || '...' }}\n </button>\n </ng-template>\n <riv-single-select\n placeholder=\"Month...\"\n [groups]=\"monthOptions$ | async | rivOptionGroup\"\n [selectedOption]=\"selectedMonthOption$ | async\"\n (selectedOptionChange)=\"activeYearMonthChange.emit($event.date)\"\n [triggerTemplate]=\"selectTrigger\"\n ></riv-single-select>\n <riv-single-select\n placeholder=\"Year...\"\n [groups]=\"yearOptions$ | async | rivOptionGroup\"\n [selectedOption]=\"selectedYearOption$ | async\"\n (selectedOptionChange)=\"activeYearMonthChange.emit($event.date)\"\n [triggerTemplate]=\"selectTrigger\"\n ></riv-single-select>\n </div>\n <div\n *ngIf=\"{ prev: previousMonth$ | async, next: nextMonth$ | async }; let vm\"\n >\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n [icon]=\"'ArrowLeft'\"\n [disabled]=\"!vm.prev\"\n (click)=\"vm.prev ? activeYearMonthChange.emit(vm.prev) : null\"\n type=\"button\"\n ></button>\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n [icon]=\"'ArrowRight'\"\n [disabled]=\"!vm.next\"\n (click)=\"vm.next ? activeYearMonthChange.emit(vm.next) : null\"\n type=\"button\"\n ></button>\n </div>\n</div>\n<div class=\"calendar\">\n <span class=\"label\">Su</span>\n <span class=\"label\">Mo</span>\n <span class=\"label\">Tu</span>\n <span class=\"label\">We</span>\n <span class=\"label\">Th</span>\n <span class=\"label\">Fr</span>\n <span class=\"label\">Sa</span>\n <button\n *ngFor=\"let day of dates$ | async\"\n class=\"day\"\n [disabled]=\"day.hidden\"\n [class.bleed]=\"!day.inCurrentMonth\"\n [class.fade-in]=\"day.fadeIn\"\n [class.fade-out]=\"day.fadeOut\"\n [class.in-range]=\"day.inRange\"\n [class.rounded-ne]=\"day.roundedNe\"\n [class.rounded-nw]=\"day.roundedNw\"\n [class.rounded-se]=\"day.roundedSe\"\n [class.rounded-sw]=\"day.roundedSw\"\n (click)=\"selectDay(day)\"\n type=\"button\"\n >\n <span\n class=\"day-wrapper\"\n [class.selected]=\"day.selected\"\n [class.today]=\"day.today\"\n [class.hidden]=\"day.hidden\"\n >\n {{ day.display }}\n </span>\n </button>\n</div>\n", styles: [".controls{display:flex;align-items:center;justify-content:space-between}.calendar{display:grid;grid-template-columns:repeat(7,calc(var(--base-grid-size) * 10));grid-auto-rows:calc(var(--base-grid-size) * 6)}.label{display:flex;justify-content:center;align-items:center;font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-0);font-weight:var(--font-weight-heavy)}.day{display:flex;align-items:stretch}.day:hover{background-color:var(--surface-light-1)}.day.in-range{background-color:var(--purp-10)}.day.fade-out{background-image:linear-gradient(to right,var(--purp-10),var(--white-100))}.day.fade-in{background-image:linear-gradient(to right,var(--white-100),var(--purp-10))}.day.bleed{color:var(--type-light-disabled)}.day.rounded-ne{border-top-right-radius:var(--border-radius-medium)}.day.rounded-nw{border-top-left-radius:var(--border-radius-medium)}.day.rounded-sw{border-bottom-left-radius:var(--border-radius-medium)}.day.rounded-se{border-bottom-right-radius:var(--border-radius-medium)}.day-wrapper{flex-grow:1;display:flex;justify-content:center;align-items:center;border-radius:var(--border-radius-medium)}.day-wrapper.selected{background-color:var(--purp-60);color:var(--type-dark-high-contrast)}.day-wrapper.today{border-radius:calc(var(--base-grid-size) * 8);border:var(--border-width) solid var(--border-light);font-weight:var(--font-weight-heavy)}.day-wrapper.hidden{display:none}\n"] }]
|
|
@@ -147,7 +147,7 @@ export class DateRangeComponent extends InputLabelComponent {
|
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
DateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
150
|
-
DateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DateRangeComponent, selector: "riv-date-range", inputs: { showPresets: "showPresets", min: "min", max: "max", value: "value", placeholder: "placeholder", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, usesInheritance: true, ngImport: i0, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <button\n #trigger\n class=\"trigger\"\n (click)=\"open$.next(true)\"\n [disabled]=\"disabled$ | async\"\n type=\"button\"\n >\n <ng-container\n *ngIf=\"displayValue$ | async; else placeholderValue; let display\"\n >\n <span class=\"value\">{{ display }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder$ | async }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n</riv-input-label>\n\n<ng-template\n #self\n [ngTemplateOutlet]=\"self\"\n let-inputValue\n [ngTemplateOutletContext]=\"{ $implicit: (value$ | async) }\"\n>\n <riv-callout\n *ngIf=\"open$ | async\"\n [anchor]=\"trigger\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false); userSelectedDate$.next(inputValue)\"\n >\n <div class=\"content\">\n <div *ngIf=\"showPresets\" class=\"presets\">\n <ng-template #presetTpl let-node=\"node\">\n <ng-template\n #self\n [ngTemplateOutlet]=\"self\"\n let-isFavorite\n [ngTemplateOutletContext]=\"{\n $implicit: (favoritePresetIds$ | async)?.includes(node.id)\n }\"\n >\n <div class=\"preset\" [class.favorite]=\"isFavorite\">\n <div class=\"description\">\n <riv-highlight\n class=\"title\"\n [text]=\"node.title\"\n [indices]=\"node.titleHighlightIndices || []\"\n ></riv-highlight>\n <riv-highlight\n class=\"subtitle\"\n [text]=\"node.subtitle\"\n [indices]=\"node.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </div>\n <button\n (click)=\"\n setFavorite(node, !isFavorite); $event.stopPropagation()\n \"\n type=\"button\"\n >\n <riv-icon\n [name]=\"isFavorite ? 'HeartActive' : 'Heart'\"\n [size]=\"16\"\n [rivTooltip]=\"'Mark as favorite'\"\n ></riv-icon>\n </button>\n </div>\n </ng-template>\n </ng-template>\n <riv-single-select\n [label]=\"'Date presets'\"\n [filterabilityOptions]=\"{ enabled: true, placeholder: 'Search...' }\"\n (filterQueryChange)=\"presetFilterQuery$.next($event)\"\n [groups]=\"(filteredPresetOptions$ | async) ?? []\"\n [selectedOption]=\"selectedPreset$ | async\"\n (selectedOptionChange)=\"userSelectedPreset$.next($event)\"\n [nodeTemplate]=\"presetTpl\"\n ></riv-single-select>\n <ng-template\n #self\n [ngTemplateOutlet]=\"self\"\n let-favorites\n [ngTemplateOutletContext]=\"{ $implicit: favoritePresets$ | async }\"\n >\n <riv-input-label *ngIf=\"favorites.length\" [label]=\"'Favorites'\">\n <div class=\"shortcuts\">\n <button\n *ngFor=\"let favorite of favorites\"\n class=\"shortcut\"\n [class.active]=\"(selectedPreset$ | async)?.id === favorite.id\"\n (click)=\"userSelectedPreset$.next(favorite)\"\n type=\"button\"\n >\n <span class=\"title\">{{ favorite.title }}</span>\n <button\n (click)=\"setFavorite(favorite, false)\"\n [rivTooltip]=\"'Remove favorite'\"\n type=\"button\"\n >\n <riv-icon [name]=\"'HeartActive'\" [size]=\"16\"></riv-icon>\n </button>\n </button>\n </div>\n </riv-input-label>\n </ng-template>\n </div>\n\n <div class=\"calendars\">\n <riv-calendar\n class=\"left\"\n [activeYearMonth]=\"(leftActiveYearMonth$ | async) || TODAY\"\n (activeYearMonthChange)=\"userLeftActiveYearMonth$.next($event)\"\n [displayMin]=\"(min$ | async) || TODAY\"\n [displayMax]=\"(max$ | async) || TODAY\"\n [selectableMin]=\"(leftMin$ | async) || TODAY\"\n [selectableMax]=\"(leftMax$ | async) || TODAY\"\n [omitRange]=\"(leftOmitRange$ | async) || [TODAY, TODAY]\"\n [selectedValue]=\"(selectedValue$ | async) || TODAY\"\n (dateSelect)=\"userSelectedDate$.next($event)\"\n ></riv-calendar>\n <riv-calendar\n class=\"right\"\n [activeYearMonth]=\"(rightActiveYearMonth$ | async) || TODAY\"\n (activeYearMonthChange)=\"userRightActiveYearMonth$.next($event)\"\n [displayMin]=\"(min$ | async) || TODAY\"\n [displayMax]=\"(max$ | async) || TODAY\"\n [selectableMin]=\"(rightMin$ | async) || TODAY\"\n [selectableMax]=\"(rightMax$ | async) || TODAY\"\n [selectedValue]=\"(selectedValue$ | async) || TODAY\"\n (dateSelect)=\"userSelectedDate$.next($event)\"\n ></riv-calendar>\n </div>\n\n <footer class=\"buttons\">\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n (click)=\"userSelectedDate$.next(undefined)\"\n type=\"button\"\n >\n Clear\n </button>\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'primary'\"\n (click)=\"open$.next(false)\"\n type=\"button\"\n >\n Done\n </button>\n </footer>\n </div>\n </riv-callout>\n</ng-template>\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)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.content{display:inline-grid;grid-template-rows:1fr auto;grid-template-columns:calc(var(--base-grid-size) * 50) 1fr 1fr}.presets{grid-area:1 / 1 / 3 / 2;background-color:var(--surface-light-1);padding:var(--size-xlarge) var(--size-large);border-right:var(--border-width) solid var(--border-light);display:flex;flex-direction:column;gap:var(--size-medium)}.preset{display:flex;transition:background-color var(--short-transition)}.preset:hover{background-color:var(--surface-light-2)}.preset button{color:transparent;transition:color var(--short-transition);padding:var(--size-medium) var(--size-large) var(--size-medium) var(--size-small)}.preset:hover button{color:var(--type-light-low-contrast)}.preset button:hover{color:var(--type-light-high-contrast)}.preset.favorite button{color:var(--type-light-link)}.preset .description{flex-grow:1;padding:var(--size-medium) var(--size-small) var(--size-medium) var(--size-medium)}.preset .title{display:block;font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-1)}.preset .subtitle{display:block;font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-1);color:var(--type-light-low-contrast)}.shortcuts{display:flex;flex-direction:column;gap:var(--size-xsmall);overflow-y:auto}.shortcut{display:flex;align-items:center;padding:var(--size-small) var(--size-small) var(--size-small) var(--size-medium);gap:var(--size-small);border-radius:var(--border-radius-small);transition:background-color var(--short-transition)}.shortcut:hover{background-color:var(--black-20)}.shortcut.active{background-color:var(--baloo-05)}.shortcut .title{flex-grow:1;text-align:left;font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-2)}.shortcut button{color:transparent;transition:color var(--short-transition)}.shortcut:hover button{color:var(--type-light-link)}.calendars{grid-column:2 / 4;display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;padding:var(--size-large)}.left{grid-area:1 / 1 / 2 / 2;padding-right:var(--size-large);border-right:var(--border-width) solid var(--border-light)}.right{padding-left:var(--size-large);grid-area:1 / 2 / 2 / 3}.buttons{grid-area:2 / 2 / 3 / 4;padding:var(--size-small);display:flex;justify-content:space-between}\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.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition"] }, { 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.HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: i6.IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i7.InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText"], outputs: ["labelAction"] }, { kind: "component", type: i8.SingleSelectComponent, selector: "riv-single-select", inputs: ["groups", "selectedOption", "filterabilityOptions", "loading", "locked", "noOptionsMessage", "nodeTemplate", "triggerTemplate", "placeholder", "disabled"], outputs: ["filterQueryChange", "selectedOptionChange"] }, { kind: "directive", type: i9.TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipCloseDelay"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
150
|
+
DateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DateRangeComponent, selector: "riv-date-range", inputs: { showPresets: "showPresets", min: "min", max: "max", value: "value", placeholder: "placeholder", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, usesInheritance: true, ngImport: i0, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <button\n #trigger\n class=\"trigger\"\n (click)=\"open$.next(true)\"\n [disabled]=\"disabled$ | async\"\n type=\"button\"\n >\n <ng-container\n *ngIf=\"displayValue$ | async; else placeholderValue; let display\"\n >\n <span class=\"value\">{{ display }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder$ | async }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n</riv-input-label>\n\n<ng-template\n #self\n [ngTemplateOutlet]=\"self\"\n let-inputValue\n [ngTemplateOutletContext]=\"{ $implicit: (value$ | async) }\"\n>\n <riv-callout\n *ngIf=\"open$ | async\"\n [anchor]=\"trigger\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false); userSelectedDate$.next(inputValue)\"\n >\n <div class=\"content\">\n <div *ngIf=\"showPresets\" class=\"presets\">\n <ng-template #presetTpl let-node=\"node\">\n <ng-template\n #self\n [ngTemplateOutlet]=\"self\"\n let-isFavorite\n [ngTemplateOutletContext]=\"{\n $implicit: (favoritePresetIds$ | async)?.includes(node.id)\n }\"\n >\n <div class=\"preset\" [class.favorite]=\"isFavorite\">\n <div class=\"description\">\n <riv-highlight\n class=\"title\"\n [text]=\"node.title\"\n [indices]=\"node.titleHighlightIndices || []\"\n ></riv-highlight>\n <riv-highlight\n class=\"subtitle\"\n [text]=\"node.subtitle\"\n [indices]=\"node.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </div>\n <button\n (click)=\"\n setFavorite(node, !isFavorite); $event.stopPropagation()\n \"\n type=\"button\"\n >\n <riv-icon\n [name]=\"isFavorite ? 'HeartActive' : 'Heart'\"\n [size]=\"16\"\n [rivTooltip]=\"'Mark as favorite'\"\n ></riv-icon>\n </button>\n </div>\n </ng-template>\n </ng-template>\n <riv-single-select\n [label]=\"'Date presets'\"\n [filterabilityOptions]=\"{ enabled: true, placeholder: 'Search...' }\"\n (filterQueryChange)=\"presetFilterQuery$.next($event)\"\n [groups]=\"(filteredPresetOptions$ | async) ?? []\"\n [selectedOption]=\"selectedPreset$ | async\"\n (selectedOptionChange)=\"userSelectedPreset$.next($event)\"\n [nodeTemplate]=\"presetTpl\"\n ></riv-single-select>\n <ng-template\n #self\n [ngTemplateOutlet]=\"self\"\n let-favorites\n [ngTemplateOutletContext]=\"{ $implicit: favoritePresets$ | async }\"\n >\n <riv-input-label *ngIf=\"favorites.length\" [label]=\"'Favorites'\">\n <div class=\"shortcuts\">\n <button\n *ngFor=\"let favorite of favorites\"\n class=\"shortcut\"\n [class.active]=\"(selectedPreset$ | async)?.id === favorite.id\"\n (click)=\"userSelectedPreset$.next(favorite)\"\n type=\"button\"\n >\n <span class=\"title\">{{ favorite.title }}</span>\n <button\n (click)=\"setFavorite(favorite, false)\"\n [rivTooltip]=\"'Remove favorite'\"\n type=\"button\"\n >\n <riv-icon [name]=\"'HeartActive'\" [size]=\"16\"></riv-icon>\n </button>\n </button>\n </div>\n </riv-input-label>\n </ng-template>\n </div>\n\n <div class=\"calendars\">\n <riv-calendar\n class=\"left\"\n [activeYearMonth]=\"(leftActiveYearMonth$ | async) || TODAY\"\n (activeYearMonthChange)=\"userLeftActiveYearMonth$.next($event)\"\n [displayMin]=\"(min$ | async) || TODAY\"\n [displayMax]=\"(max$ | async) || TODAY\"\n [selectableMin]=\"(leftMin$ | async) || TODAY\"\n [selectableMax]=\"(leftMax$ | async) || TODAY\"\n [omitRange]=\"(leftOmitRange$ | async) || [TODAY, TODAY]\"\n [selectedValue]=\"(selectedValue$ | async) || TODAY\"\n (dateSelect)=\"userSelectedDate$.next($event)\"\n ></riv-calendar>\n <riv-calendar\n class=\"right\"\n [activeYearMonth]=\"(rightActiveYearMonth$ | async) || TODAY\"\n (activeYearMonthChange)=\"userRightActiveYearMonth$.next($event)\"\n [displayMin]=\"(min$ | async) || TODAY\"\n [displayMax]=\"(max$ | async) || TODAY\"\n [selectableMin]=\"(rightMin$ | async) || TODAY\"\n [selectableMax]=\"(rightMax$ | async) || TODAY\"\n [selectedValue]=\"(selectedValue$ | async) || TODAY\"\n (dateSelect)=\"userSelectedDate$.next($event)\"\n ></riv-calendar>\n </div>\n\n <footer class=\"buttons\">\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n (click)=\"userSelectedDate$.next(undefined)\"\n type=\"button\"\n >\n Clear\n </button>\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'primary'\"\n (click)=\"open$.next(false)\"\n type=\"button\"\n >\n Done\n </button>\n </footer>\n </div>\n </riv-callout>\n</ng-template>\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)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.content{display:inline-grid;grid-template-rows:1fr auto;grid-template-columns:calc(var(--base-grid-size) * 50) 1fr 1fr}.presets{grid-area:1 / 1 / 3 / 2;background-color:var(--surface-light-1);padding:var(--size-xlarge) var(--size-large);border-right:var(--border-width) solid var(--border-light);display:flex;flex-direction:column;gap:var(--size-medium)}.preset{display:flex;transition:background-color var(--short-transition)}.preset:hover{background-color:var(--surface-light-2)}.preset button{color:transparent;transition:color var(--short-transition);padding:var(--size-medium) var(--size-large) var(--size-medium) var(--size-small)}.preset:hover button{color:var(--type-light-low-contrast)}.preset button:hover{color:var(--type-light-high-contrast)}.preset.favorite button{color:var(--type-light-link)}.preset .description{flex-grow:1;padding:var(--size-medium) var(--size-small) var(--size-medium) var(--size-medium)}.preset .title{display:block;font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-1)}.preset .subtitle{display:block;font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-1);color:var(--type-light-low-contrast)}.shortcuts{display:flex;flex-direction:column;gap:var(--size-xsmall);overflow-y:auto}.shortcut{display:flex;align-items:center;padding:var(--size-small) var(--size-small) var(--size-small) var(--size-medium);gap:var(--size-small);border-radius:var(--border-radius-small);transition:background-color var(--short-transition)}.shortcut:hover{background-color:var(--black-20)}.shortcut.active{background-color:var(--baloo-05)}.shortcut .title{flex-grow:1;text-align:left;font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-2)}.shortcut button{color:transparent;transition:color var(--short-transition)}.shortcut:hover button{color:var(--type-light-link)}.calendars{grid-column:2 / 4;display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;padding:var(--size-large)}.left{grid-area:1 / 1 / 2 / 2;padding-right:var(--size-large);border-right:var(--border-width) solid var(--border-light)}.right{padding-left:var(--size-large);grid-area:1 / 2 / 2 / 3}.buttons{grid-area:2 / 2 / 3 / 4;padding:var(--size-small);display:flex;justify-content:space-between}\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.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition"] }, { 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.HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: i6.IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i7.InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText"], outputs: ["labelAction"] }, { kind: "component", type: i8.SingleSelectComponent, selector: "riv-single-select", inputs: ["groups", "selectedOption", "filterabilityOptions", "loading", "locked", "maxCalloutHeight", "noOptionsMessage", "nodeTemplate", "triggerTemplate", "placeholder", "disabled"], outputs: ["filterQueryChange", "selectedOptionChange"] }, { kind: "directive", type: i9.TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipCloseDelay"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
151
151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateRangeComponent, decorators: [{
|
|
152
152
|
type: Component,
|
|
153
153
|
args: [{ selector: 'riv-date-range', changeDetection: ChangeDetectionStrategy.OnPush, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <button\n #trigger\n class=\"trigger\"\n (click)=\"open$.next(true)\"\n [disabled]=\"disabled$ | async\"\n type=\"button\"\n >\n <ng-container\n *ngIf=\"displayValue$ | async; else placeholderValue; let display\"\n >\n <span class=\"value\">{{ display }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder$ | async }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n</riv-input-label>\n\n<ng-template\n #self\n [ngTemplateOutlet]=\"self\"\n let-inputValue\n [ngTemplateOutletContext]=\"{ $implicit: (value$ | async) }\"\n>\n <riv-callout\n *ngIf=\"open$ | async\"\n [anchor]=\"trigger\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false); userSelectedDate$.next(inputValue)\"\n >\n <div class=\"content\">\n <div *ngIf=\"showPresets\" class=\"presets\">\n <ng-template #presetTpl let-node=\"node\">\n <ng-template\n #self\n [ngTemplateOutlet]=\"self\"\n let-isFavorite\n [ngTemplateOutletContext]=\"{\n $implicit: (favoritePresetIds$ | async)?.includes(node.id)\n }\"\n >\n <div class=\"preset\" [class.favorite]=\"isFavorite\">\n <div class=\"description\">\n <riv-highlight\n class=\"title\"\n [text]=\"node.title\"\n [indices]=\"node.titleHighlightIndices || []\"\n ></riv-highlight>\n <riv-highlight\n class=\"subtitle\"\n [text]=\"node.subtitle\"\n [indices]=\"node.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </div>\n <button\n (click)=\"\n setFavorite(node, !isFavorite); $event.stopPropagation()\n \"\n type=\"button\"\n >\n <riv-icon\n [name]=\"isFavorite ? 'HeartActive' : 'Heart'\"\n [size]=\"16\"\n [rivTooltip]=\"'Mark as favorite'\"\n ></riv-icon>\n </button>\n </div>\n </ng-template>\n </ng-template>\n <riv-single-select\n [label]=\"'Date presets'\"\n [filterabilityOptions]=\"{ enabled: true, placeholder: 'Search...' }\"\n (filterQueryChange)=\"presetFilterQuery$.next($event)\"\n [groups]=\"(filteredPresetOptions$ | async) ?? []\"\n [selectedOption]=\"selectedPreset$ | async\"\n (selectedOptionChange)=\"userSelectedPreset$.next($event)\"\n [nodeTemplate]=\"presetTpl\"\n ></riv-single-select>\n <ng-template\n #self\n [ngTemplateOutlet]=\"self\"\n let-favorites\n [ngTemplateOutletContext]=\"{ $implicit: favoritePresets$ | async }\"\n >\n <riv-input-label *ngIf=\"favorites.length\" [label]=\"'Favorites'\">\n <div class=\"shortcuts\">\n <button\n *ngFor=\"let favorite of favorites\"\n class=\"shortcut\"\n [class.active]=\"(selectedPreset$ | async)?.id === favorite.id\"\n (click)=\"userSelectedPreset$.next(favorite)\"\n type=\"button\"\n >\n <span class=\"title\">{{ favorite.title }}</span>\n <button\n (click)=\"setFavorite(favorite, false)\"\n [rivTooltip]=\"'Remove favorite'\"\n type=\"button\"\n >\n <riv-icon [name]=\"'HeartActive'\" [size]=\"16\"></riv-icon>\n </button>\n </button>\n </div>\n </riv-input-label>\n </ng-template>\n </div>\n\n <div class=\"calendars\">\n <riv-calendar\n class=\"left\"\n [activeYearMonth]=\"(leftActiveYearMonth$ | async) || TODAY\"\n (activeYearMonthChange)=\"userLeftActiveYearMonth$.next($event)\"\n [displayMin]=\"(min$ | async) || TODAY\"\n [displayMax]=\"(max$ | async) || TODAY\"\n [selectableMin]=\"(leftMin$ | async) || TODAY\"\n [selectableMax]=\"(leftMax$ | async) || TODAY\"\n [omitRange]=\"(leftOmitRange$ | async) || [TODAY, TODAY]\"\n [selectedValue]=\"(selectedValue$ | async) || TODAY\"\n (dateSelect)=\"userSelectedDate$.next($event)\"\n ></riv-calendar>\n <riv-calendar\n class=\"right\"\n [activeYearMonth]=\"(rightActiveYearMonth$ | async) || TODAY\"\n (activeYearMonthChange)=\"userRightActiveYearMonth$.next($event)\"\n [displayMin]=\"(min$ | async) || TODAY\"\n [displayMax]=\"(max$ | async) || TODAY\"\n [selectableMin]=\"(rightMin$ | async) || TODAY\"\n [selectableMax]=\"(rightMax$ | async) || TODAY\"\n [selectedValue]=\"(selectedValue$ | async) || TODAY\"\n (dateSelect)=\"userSelectedDate$.next($event)\"\n ></riv-calendar>\n </div>\n\n <footer class=\"buttons\">\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n (click)=\"userSelectedDate$.next(undefined)\"\n type=\"button\"\n >\n Clear\n </button>\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'primary'\"\n (click)=\"open$.next(false)\"\n type=\"button\"\n >\n Done\n </button>\n </footer>\n </div>\n </riv-callout>\n</ng-template>\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)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.content{display:inline-grid;grid-template-rows:1fr auto;grid-template-columns:calc(var(--base-grid-size) * 50) 1fr 1fr}.presets{grid-area:1 / 1 / 3 / 2;background-color:var(--surface-light-1);padding:var(--size-xlarge) var(--size-large);border-right:var(--border-width) solid var(--border-light);display:flex;flex-direction:column;gap:var(--size-medium)}.preset{display:flex;transition:background-color var(--short-transition)}.preset:hover{background-color:var(--surface-light-2)}.preset button{color:transparent;transition:color var(--short-transition);padding:var(--size-medium) var(--size-large) var(--size-medium) var(--size-small)}.preset:hover button{color:var(--type-light-low-contrast)}.preset button:hover{color:var(--type-light-high-contrast)}.preset.favorite button{color:var(--type-light-link)}.preset .description{flex-grow:1;padding:var(--size-medium) var(--size-small) var(--size-medium) var(--size-medium)}.preset .title{display:block;font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-1)}.preset .subtitle{display:block;font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-1);color:var(--type-light-low-contrast)}.shortcuts{display:flex;flex-direction:column;gap:var(--size-xsmall);overflow-y:auto}.shortcut{display:flex;align-items:center;padding:var(--size-small) var(--size-small) var(--size-small) var(--size-medium);gap:var(--size-small);border-radius:var(--border-radius-small);transition:background-color var(--short-transition)}.shortcut:hover{background-color:var(--black-20)}.shortcut.active{background-color:var(--baloo-05)}.shortcut .title{flex-grow:1;text-align:left;font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-2)}.shortcut button{color:transparent;transition:color var(--short-transition)}.shortcut:hover button{color:var(--type-light-link)}.calendars{grid-column:2 / 4;display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;padding:var(--size-large)}.left{grid-area:1 / 1 / 2 / 2;padding-right:var(--size-large);border-right:var(--border-width) solid var(--border-light)}.right{padding-left:var(--size-large);grid-area:1 / 2 / 2 / 3}.buttons{grid-area:2 / 2 / 3 / 4;padding:var(--size-small);display:flex;justify-content:space-between}\n"] }]
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
import Fuse from 'fuse.js';
|
|
3
|
-
import { debounceTime, from, map, pairwise, startWith, switchMap, } from 'rxjs';
|
|
4
3
|
import { InputLabelComponent } from '../input-label/input-label.component';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
import * as i1 from "@angular/common";
|
|
7
6
|
import * as i2 from "../../modal/callout/callout.component";
|
|
8
|
-
import * as i3 from "../../
|
|
9
|
-
import * as i4 from "../../
|
|
10
|
-
import * as i5 from "
|
|
11
|
-
import * as i6 from "
|
|
7
|
+
import * as i3 from "../../interaction/focus-on-init.directive";
|
|
8
|
+
import * as i4 from "../../visualization/highlight/highlight.component";
|
|
9
|
+
import * as i5 from "../../icon/icon.component";
|
|
10
|
+
import * as i6 from "../input-label/input-label.component";
|
|
11
|
+
import * as i7 from "../../load/loading-cover/loading-cover.component";
|
|
12
12
|
export class SingleSelectComponent extends InputLabelComponent {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
@@ -19,6 +19,7 @@ export class SingleSelectComponent extends InputLabelComponent {
|
|
|
19
19
|
};
|
|
20
20
|
this.loading = false;
|
|
21
21
|
this.locked = false;
|
|
22
|
+
this.maxCalloutHeight = '50vh';
|
|
22
23
|
this.noOptionsMessage = 'No available options';
|
|
23
24
|
this.placeholder = 'Select...';
|
|
24
25
|
this.disabled = false;
|
|
@@ -46,6 +47,15 @@ export class SingleSelectComponent extends InputLabelComponent {
|
|
|
46
47
|
close() {
|
|
47
48
|
this.open = false;
|
|
48
49
|
}
|
|
50
|
+
selectOption(newlySelectedOption) {
|
|
51
|
+
this.selectedOptionChange.emit(newlySelectedOption);
|
|
52
|
+
this.open = false;
|
|
53
|
+
// Clear filter after an option is selected.
|
|
54
|
+
if (this.filterabilityOptions.enabled) {
|
|
55
|
+
this.filterQuery = '';
|
|
56
|
+
this.filterQueryChange.emit(this.filterQuery);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
49
59
|
trackByHeader(i, group) {
|
|
50
60
|
return `${i}${group.header}`;
|
|
51
61
|
}
|
|
@@ -54,10 +64,10 @@ export class SingleSelectComponent extends InputLabelComponent {
|
|
|
54
64
|
}
|
|
55
65
|
}
|
|
56
66
|
SingleSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SingleSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
-
SingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SingleSelectComponent, selector: "riv-single-select", inputs: { groups: "groups", selectedOption: "selectedOption", filterabilityOptions: "filterabilityOptions", loading: "loading", locked: "locked", noOptionsMessage: "noOptionsMessage", nodeTemplate: "nodeTemplate", triggerTemplate: "triggerTemplate", placeholder: "placeholder", disabled: "disabled" }, outputs: { filterQueryChange: "filterQueryChange", selectedOptionChange: "selectedOptionChange" }, viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n />\n <div class=\"options\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngFor=\"let group of groups; trackBy: trackByHeader\">\n <ng-container *ngIf=\"group.header\">\n <span class=\"group-header\">\n {{ group.header }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"group.options; let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByOption\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"
|
|
67
|
+
SingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SingleSelectComponent, selector: "riv-single-select", inputs: { groups: "groups", selectedOption: "selectedOption", filterabilityOptions: "filterabilityOptions", loading: "loading", locked: "locked", maxCalloutHeight: "maxCalloutHeight", noOptionsMessage: "noOptionsMessage", nodeTemplate: "nodeTemplate", triggerTemplate: "triggerTemplate", placeholder: "placeholder", disabled: "disabled" }, outputs: { filterQueryChange: "filterQueryChange", selectedOptionChange: "selectedOptionChange" }, viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n [rivFocusOnInit]=\"true\"\n />\n <div class=\"options\" [style.max-height]=\"maxCalloutHeight\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngFor=\"let group of groups; trackBy: trackByHeader\">\n <ng-container *ngIf=\"group.header\">\n <span class=\"group-header\">\n {{ group.header }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"group.options; let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByOption\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectOption(node)\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.id === selectedOption?.id\"\n [class.disabled]=\"node?.disabled\"\n [disabled]=\"node?.disabled\"\n (click)=\"selectOption(node)\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.id === selectedOption?.id\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n </riv-loading-cover>\n </div>\n <div class=\"footer\">\n <ng-content select=\"[footer]\"> </ng-content>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-width:calc(var(--base-grid-size) * 150);overflow-y:auto}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2);min-width:calc(var(--base-grid-size) * 16)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}.footer{border-top:var(--border-width) solid var(--border-light-blend);background-color:var(--surface-light-1);border-bottom-left-radius:var(--border-radius-medium);border-bottom-right-radius:var(--border-radius-medium)}.group-header{display:flex;padding:8px 8px 4px;align-items:flex-start;gap:10px;align-self:stretch;font:var(--title-01)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "directive", type: i3.FocusOnInitDirective, selector: "[rivFocusOnInit]", inputs: ["rivFocusOnInit"] }, { kind: "component", type: i4.HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: i5.IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i6.InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText"], outputs: ["labelAction"] }, { kind: "component", type: i7.LoadingCoverComponent, selector: "riv-loading-cover", inputs: ["loading", "loadingSize", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
58
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SingleSelectComponent, decorators: [{
|
|
59
69
|
type: Component,
|
|
60
|
-
args: [{ selector: 'riv-single-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n />\n <div class=\"options\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngFor=\"let group of groups; trackBy: trackByHeader\">\n <ng-container *ngIf=\"group.header\">\n <span class=\"group-header\">\n {{ group.header }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"group.options; let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByOption\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"
|
|
70
|
+
args: [{ selector: 'riv-single-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n [rivFocusOnInit]=\"true\"\n />\n <div class=\"options\" [style.max-height]=\"maxCalloutHeight\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngFor=\"let group of groups; trackBy: trackByHeader\">\n <ng-container *ngIf=\"group.header\">\n <span class=\"group-header\">\n {{ group.header }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"group.options; let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByOption\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectOption(node)\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.id === selectedOption?.id\"\n [class.disabled]=\"node?.disabled\"\n [disabled]=\"node?.disabled\"\n (click)=\"selectOption(node)\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.id === selectedOption?.id\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n </riv-loading-cover>\n </div>\n <div class=\"footer\">\n <ng-content select=\"[footer]\"> </ng-content>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-width:calc(var(--base-grid-size) * 150);overflow-y:auto}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2);min-width:calc(var(--base-grid-size) * 16)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}.footer{border-top:var(--border-width) solid var(--border-light-blend);background-color:var(--surface-light-1);border-bottom-left-radius:var(--border-radius-medium);border-bottom-right-radius:var(--border-radius-medium)}.group-header{display:flex;padding:8px 8px 4px;align-items:flex-start;gap:10px;align-self:stretch;font:var(--title-01)}\n"] }]
|
|
61
71
|
}], propDecorators: { groups: [{
|
|
62
72
|
type: Input
|
|
63
73
|
}], selectedOption: [{
|
|
@@ -68,6 +78,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
68
78
|
type: Input
|
|
69
79
|
}], locked: [{
|
|
70
80
|
type: Input
|
|
81
|
+
}], maxCalloutHeight: [{
|
|
82
|
+
type: Input
|
|
71
83
|
}], noOptionsMessage: [{
|
|
72
84
|
type: Input
|
|
73
85
|
}], nodeTemplate: [{
|
|
@@ -123,41 +135,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
123
135
|
};
|
|
124
136
|
}
|
|
125
137
|
SingleSelectComponent.getFilterSync = getFilterSync;
|
|
126
|
-
function getFilterAsync(query$, fetcher, debounceInput = 300) {
|
|
127
|
-
return query$.pipe(debounceTime(debounceInput), switchMap(query => from(fetcher(query)).pipe(map(groups => {
|
|
128
|
-
if (!query)
|
|
129
|
-
return { loading: false, groups };
|
|
130
|
-
const fuseOptions = {
|
|
131
|
-
keys: ['title', 'subtitle'],
|
|
132
|
-
includeMatches: true,
|
|
133
|
-
shouldSort: true,
|
|
134
|
-
threshold: 0.6,
|
|
135
|
-
};
|
|
136
|
-
const filteredGroups = groups
|
|
137
|
-
.map(group => {
|
|
138
|
-
const fuse = new Fuse(group.options, fuseOptions);
|
|
139
|
-
const matches = fuse.search(query);
|
|
140
|
-
return {
|
|
141
|
-
...group,
|
|
142
|
-
options: matches.map(match => ({
|
|
143
|
-
...match.item,
|
|
144
|
-
titleHighlightIndices: [
|
|
145
|
-
...(match.matches?.find(result => result.key === 'title')
|
|
146
|
-
?.indices || []),
|
|
147
|
-
],
|
|
148
|
-
subtitleHighlightIndices: [
|
|
149
|
-
...(match.matches?.find(result => result.key === 'subtitle')?.indices || []),
|
|
150
|
-
],
|
|
151
|
-
})),
|
|
152
|
-
};
|
|
153
|
-
})
|
|
154
|
-
.filter(group => group.options.length > 0); // Remove empty groups
|
|
155
|
-
return { loading: false, groups: filteredGroups };
|
|
156
|
-
}), startWith({ loading: true, groups: [] }))), pairwise(), map(([previous, next]) => ({
|
|
157
|
-
loading: next.loading,
|
|
158
|
-
groups: next.loading ? previous.groups : next.groups,
|
|
159
|
-
})), startWith({ loading: false, groups: [] }));
|
|
160
|
-
}
|
|
161
|
-
SingleSelectComponent.getFilterAsync = getFilterAsync;
|
|
162
138
|
})(SingleSelectComponent || (SingleSelectComponent = {}));
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9zaW5nbGUtc2VsZWN0L3NpbmdsZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2luZ2xlLXNlbGVjdC9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLElBQUksTUFBTSxTQUFTLENBQUM7QUFDM0IsT0FBTyxFQUVMLFlBQVksRUFDWixJQUFJLEVBQ0osR0FBRyxFQUNILFFBQVEsRUFDUixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBUTNFLE1BQU0sT0FBTyxxQkFHWCxTQUFRLG1CQUFtQjtJQVQ3Qjs7UUFXRSxXQUFNLEdBQVEsRUFBRSxDQUFDO1FBR2pCLG1CQUFjLEdBQWEsSUFBSSxDQUFDO1FBR2hDLHlCQUFvQixHQUErQztZQUNqRSxPQUFPLEVBQUUsS0FBSztTQUNmLENBQUM7UUFHRixZQUFPLEdBQVksS0FBSyxDQUFDO1FBR3pCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFHeEIscUJBQWdCLEdBQVcsc0JBQXNCLENBQUM7UUFTbEQsZ0JBQVcsR0FBVyxXQUFXLENBQUM7UUFHbEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUd6QixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRy9DLHlCQUFvQixH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LENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07U0FDckQsQ0FBQyxDQUFDLEVBQ0gsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDMUMsQ0FBQztJQUNKLENBQUM7SUF6RGUsb0NBQWMsaUJBeUQ3QixDQUFBO0FBQ0gsQ0FBQyxFQTdIZ0IscUJBQXFCLEtBQXJCLHFCQUFxQixRQTZIckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEZ1c2UgZnJvbSAnZnVzZS5qcyc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBkZWJvdW5jZVRpbWUsXG4gIGZyb20sXG4gIG1hcCxcbiAgcGFpcndpc2UsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEhpZ2hsaWdodENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Zpc3VhbGl6YXRpb24vaGlnaGxpZ2h0L2hpZ2hsaWdodC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LWxhYmVsL2lucHV0LWxhYmVsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi1zaW5nbGUtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpbmdsZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNpbmdsZVNlbGVjdENvbXBvbmVudDxcbiAgVCBleHRlbmRzIFNpbmdsZVNlbGVjdENvbXBvbmVudC5PcHRpb25Hcm91cDxVPixcbiAgVSBleHRlbmRzIFNpbmdsZVNlbGVjdENvbXBvbmVudC5PcHRpb24sXG4+IGV4dGVuZHMgSW5wdXRMYWJlbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGdyb3VwczogVFtdID0gW107XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRPcHRpb246IFUgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWx0ZXJhYmlsaXR5T3B0aW9uczogU2luZ2xlU2VsZWN0Q29tcG9uZW50LkZpbHRlcmFiaWxpdHlPcHRpb25zID0ge1xuICAgIGVuYWJsZWQ6IGZhbHNlLFxuICB9O1xuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBsb2NrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBub09wdGlvbnNNZXNzYWdlOiBzdHJpbmcgPSAnTm8gYXZhaWxhYmxlIG9wdGlvbnMnO1xuXG4gIEBJbnB1dCgpXG4gIG5vZGVUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpXG4gIHRyaWdnZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWN0Li4uJztcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGZpbHRlclF1ZXJ5OiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KClcbiAgZmlsdGVyUXVlcnlDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0ZWRPcHRpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFU+KCk7XG5cbiAgQFZpZXdDaGlsZCgnY3VzdG9tVHJpZ2dlckJ1dHRvbicpIGN1c3RvbVRyaWdnZXJCdXR0b24/OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdzdGFuZGFyZFRyaWdnZXJCdXR0b24nKSBzdGFuZGFyZFRyaWdnZXJCdXR0b24/OiBFbGVtZW50UmVmO1xuXG4gIGdldFRyaWdnZXIoKTogRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmN1c3RvbVRyaWdnZXJCdXR0b24/Lm5hdGl2ZUVsZW1lbnQgPz9cbiAgICAgIHRoaXMuc3RhbmRhcmRUcmlnZ2VyQnV0dG9uPy5uYXRpdmVFbGVtZW50XG4gICAgKTtcbiAgfVxuXG4gIGdldEZpbHRlclBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5maWx0ZXJhYmlsaXR5T3B0aW9ucy5lbmFibGVkICYmXG4gICAgICB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLnBsYWNlaG9sZGVyXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXJhYmlsaXR5T3B0aW9ucy5wbGFjZWhvbGRlcjtcbiAgICB9XG4gICAgcmV0dXJuICdGaWx0ZXIgb3B0aW9ucy4uLic7XG4gIH1cblxuICBhbGxvd2VkT3BlbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMubG9ja2VkKSB7XG4gICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHRyYWNrQnlIZWFkZXIoaTogbnVtYmVyLCBncm91cDogU2luZ2xlU2VsZWN0Q29tcG9uZW50Lk9wdGlvbkdyb3VwPFU+KSB7XG4gICAgcmV0dXJuIGAke2l9JHtncm91cC5oZWFkZXJ9YDtcbiAgfVxuXG4gIHRyYWNrQnlPcHRpb24oXzogbnVtYmVyLCBvcHRpb246IFUpIHtcbiAgICByZXR1cm4gb3B0aW9uLmlkO1xuICB9XG5cbiAgb3BlbjogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNpbmdsZVNlbGVjdENvbXBvbmVudCB7XG4gIGV4cG9ydCB0eXBlIE9wdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3VidGl0bGU/OiBzdHJpbmc7XG4gICAgY291bnQ/OiBudW1iZXI7XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIHRpdGxlSGlnaGxpZ2h0SW5kaWNlcz86IEhpZ2hsaWdodENvbXBvbmVudC5IaWdobGlnaHRJbmRpY2VzW107XG4gICAgc3VidGl0bGVIaWdobGlnaHRJbmRpY2VzPzogSGlnaGxpZ2h0Q29tcG9uZW50LkhpZ2hsaWdodEluZGljZXNbXTtcbiAgfTtcblxuICB0eXBlIE5vZGU8ViBleHRlbmRzIE9wdGlvbj4gPSBWICYge1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xuICB9O1xuXG4gIGV4cG9ydCB0eXBlIE9wdGlvbkdyb3VwPE8gZXh0ZW5kcyBPcHRpb24+ID0ge1xuICAgIGhlYWRlcj86IHN0cmluZztcbiAgICBvcHRpb25zOiBPW107XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgRmlsdGVyYWJpbGl0eU9wdGlvbnMgPVxuICAgIHwge1xuICAgICAgICBlbmFibGVkOiBmYWxzZTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZTtcbiAgICAgICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgICB9O1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRGaWx0ZXJTeW5jPFQgZXh0ZW5kcyBPcHRpb25Hcm91cDxVPiwgVSBleHRlbmRzIE9wdGlvbj4oXG4gICAgZ3JvdXBzOiBUW10sXG4gICAgZXhhY3Q6IGJvb2xlYW4gPSBmYWxzZSxcbiAgKTogKHF1ZXJ5OiBzdHJpbmcpID0+IFRbXSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGZpbHRlcihxdWVyeTogc3RyaW5nKSB7XG4gICAgICBpZiAoIXF1ZXJ5KSByZXR1cm4gZ3JvdXBzO1xuXG4gICAgICBjb25zdCBmdXNlT3B0aW9ucyA9IHtcbiAgICAgICAga2V5czogWyd0aXRsZScsICdzdWJ0aXRsZSddLFxuICAgICAgICBpbmNsdWRlTWF0Y2hlczogdHJ1ZSxcbiAgICAgICAgc2hvdWxkU29ydDogdHJ1ZSxcbiAgICAgICAgdGhyZXNob2xkOiBleGFjdCA/IDAuMCA6IDAuNixcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBncm91cHNcbiAgICAgICAgLm1hcChncm91cCA9PiB7XG4gICAgICAgICAgY29uc3QgZnVzZSA9IG5ldyBGdXNlKGdyb3VwLm9wdGlvbnMsIGZ1c2VPcHRpb25zKTtcbiAgICAgICAgICBjb25zdCBtYXRjaGVzID0gZnVzZS5zZWFyY2gocXVlcnkpO1xuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmdyb3VwLFxuICAgICAgICAgICAgb3B0aW9uczogbWF0Y2hlcy5tYXAobWF0Y2ggPT4gKHtcbiAgICAgICAgICAgICAgLi4ubWF0Y2guaXRlbSxcbiAgICAgICAgICAgICAgdGl0bGVIaWdobGlnaHRJbmRpY2VzOiBbXG4gICAgICAgICAgICAgICAgLi4uKG1hdGNoLm1hdGNoZXM/LmZpbmQocmVzdWx0ID0+IHJlc3VsdC5rZXkgPT09ICd0aXRsZScpXG4gICAgICAgICAgICAgICAgICA/LmluZGljZXMgfHwgW10pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBzdWJ0aXRsZUhpZ2hsaWdodEluZGljZXM6IFtcbiAgICAgICAgICAgICAgICAuLi4obWF0Y2gubWF0Y2hlcz8uZmluZChyZXN1bHQgPT4gcmVzdWx0LmtleSA9PT0gJ3N1YnRpdGxlJylcbiAgICAgICAgICAgICAgICAgID8uaW5kaWNlcyB8fCBbXSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcihncm91cCA9PiBncm91cC5vcHRpb25zLmxlbmd0aCA+IDApOyAvLyBSZW1vdmUgZW1wdHkgZ3JvdXBzXG4gICAgfTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRGaWx0ZXJBc3luYzxUIGV4dGVuZHMgT3B0aW9uR3JvdXA8VT4sIFUgZXh0ZW5kcyBPcHRpb24+KFxuICAgIHF1ZXJ5JDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgIGZldGNoZXI6IChxdWVyeTogc3RyaW5nKSA9PiBQcm9taXNlPFRbXT4sXG4gICAgZGVib3VuY2VJbnB1dDogbnVtYmVyID0gMzAwLFxuICApOiBPYnNlcnZhYmxlPHtcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuICAgIGdyb3VwczogVFtdO1xuICB9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5JC5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKGRlYm91bmNlSW5wdXQpLFxuICAgICAgc3dpdGNoTWFwKHF1ZXJ5ID0+XG4gICAgICAgIGZyb20oZmV0Y2hlcihxdWVyeSkpLnBpcGUoXG4gICAgICAgICAgbWFwKGdyb3VwcyA9PiB7XG4gICAgICAgICAgICBpZiAoIXF1ZXJ5KSByZXR1cm4geyBsb2FkaW5nOiBmYWxzZSwgZ3JvdXBzIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGZ1c2VPcHRpb25zID0ge1xuICAgICAgICAgICAgICBrZXlzOiBbJ3RpdGxlJywgJ3N1YnRpdGxlJ10sXG4gICAgICAgICAgICAgIGluY2x1ZGVNYXRjaGVzOiB0cnVlLFxuICAgICAgICAgICAgICBzaG91bGRTb3J0OiB0cnVlLFxuICAgICAgICAgICAgICB0aHJlc2hvbGQ6IDAuNixcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkR3JvdXBzID0gZ3JvdXBzXG4gICAgICAgICAgICAgIC5tYXAoZ3JvdXAgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZ1c2UgPSBuZXcgRnVzZShncm91cC5vcHRpb25zLCBmdXNlT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGZ1c2Uuc2VhcmNoKHF1ZXJ5KTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IG1hdGNoZXMubWFwKG1hdGNoID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLm1hdGNoLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlSGlnaGxpZ2h0SW5kaWNlczogW1xuICAgICAgICAgICAgICAgICAgICAgIC4uLihtYXRjaC5tYXRjaGVzPy5maW5kKHJlc3VsdCA9PiByZXN1bHQua2V5ID09PSAndGl0bGUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5pbmRpY2VzIHx8IFtdKSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgc3VidGl0bGVIaWdobGlnaHRJbmRpY2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgLi4uKG1hdGNoLm1hdGNoZXM/LmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPT4gcmVzdWx0LmtleSA9PT0gJ3N1YnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgICApPy5pbmRpY2VzIHx8IFtdKSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuZmlsdGVyKGdyb3VwID0+IGdyb3VwLm9wdGlvbnMubGVuZ3RoID4gMCk7IC8vIFJlbW92ZSBlbXB0eSBncm91cHNcblxuICAgICAgICAgICAgcmV0dXJuIHsgbG9hZGluZzogZmFsc2UsIGdyb3VwczogZmlsdGVyZWRHcm91cHMgfTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdGFydFdpdGgoeyBsb2FkaW5nOiB0cnVlLCBncm91cHM6IFtdIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIHBhaXJ3aXNlKCksXG4gICAgICBtYXAoKFtwcmV2aW91cywgbmV4dF0pID0+ICh7XG4gICAgICAgIGxvYWRpbmc6IG5leHQubG9hZGluZyxcbiAgICAgICAgZ3JvdXBzOiBuZXh0LmxvYWRpbmcgPyBwcmV2aW91cy5ncm91cHMgOiBuZXh0Lmdyb3VwcyxcbiAgICAgIH0pKSxcbiAgICAgIHN0YXJ0V2l0aCh7IGxvYWRpbmc6IGZhbHNlLCBncm91cHM6IFtdIH0pLFxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmlnZ2VyVGVtcGxhdGU7IGVsc2Ugc3RhbmRhcmRUcmlnZ2VyXCI+XG4gIDxidXR0b25cbiAgICAjY3VzdG9tVHJpZ2dlckJ1dHRvblxuICAgIChjbGljayk9XCJhbGxvd2VkT3BlbigpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9ja2VkXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyaWdnZXJUZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzZWxlY3RlZE9wdGlvbiB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI3N0YW5kYXJkVHJpZ2dlcj5cbiAgPHJpdi1pbnB1dC1sYWJlbFxuICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgW2hlbHBdPVwiaGVscFwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbbGFiZWxBY3Rpb25UZXh0XT1cImxhYmVsQWN0aW9uVGV4dFwiXG4gICAgKGxhYmVsQWN0aW9uKT1cImxhYmVsQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICAjc3RhbmRhcmRUcmlnZ2VyQnV0dG9uXG4gICAgICBjbGFzcz1cInRyaWdnZXJcIlxuICAgICAgKGNsaWNrKT1cImFsbG93ZWRPcGVuKClcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvY2tlZFwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRPcHRpb247IGVsc2UgcGxhY2Vob2xkZXJWYWx1ZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+e3sgc2VsZWN0ZWRPcHRpb24udGl0bGUgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjcGxhY2Vob2xkZXJWYWx1ZT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZSBwbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyIH19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY2hldnJvblwiPlxuICAgICAgICA8cml2LWljb24gKm5nSWY9XCIhbG9ja2VkXCIgW25hbWVdPVwiJ0NoZXZyb25Eb3duJ1wiIFtzaXplXT1cIjE2XCI+PC9yaXYtaWNvbj5cbiAgICAgICAgPHJpdi1pY29uICpuZ0lmPVwibG9ja2VkXCIgW25hbWVdPVwiJ0xvY2snXCIgW3NpemVdPVwiMTZcIj48L3Jpdi1pY29uPlxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L3Jpdi1pbnB1dC1sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxyaXYtY2FsbG91dFxuICAqbmdJZj1cIm9wZW5cIlxuICBbYW5jaG9yXT1cImdldFRyaWdnZXIoKVwiXG4gIFt0aGVtZV09XCInbGlnaHQnXCJcbiAgW3Nob3dDYXJldF09XCJmYWxzZVwiXG4gIFthbGxvd2VkUG9zaXRpb25zXT1cIltcbiAgICAndG9wLWxlZnQnLFxuICAgICd0b3AtY2VudGVyJyxcbiAgICAndG9wLXJpZ2h0JyxcbiAgICAnYm90dG9tLXJpZ2h0JyxcbiAgICAnYm90dG9tLWNlbnRlcicsXG4gICAgJ2JvdHRvbS1sZWZ0J1xuICBdXCJcbiAgKGNsb3NlKT1cIm9wZW4gPSBmYWxzZVwiXG4+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwiZmlsdGVyYWJpbGl0eU9wdGlvbnMuZW5hYmxlZFwiXG4gICAgI2ZpbHRlclxuICAgIGNsYXNzPVwiZmlsdGVyXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0RmlsdGVyUGxhY2Vob2xkZXIoKVwiXG4gICAgW3ZhbHVlXT1cImZpbHRlclF1ZXJ5XCJcbiAgICAoaW5wdXQpPVwiZmlsdGVyUXVlcnkgPSBmaWx0ZXIudmFsdWU7IGZpbHRlclF1ZXJ5Q2hhbmdlLmVtaXQoZmlsdGVyUXVlcnkpXCJcbiAgLz5cbiAgPGRpdiBjbGFzcz1cIm9wdGlvbnNcIj5cbiAgICA8cml2LWxvYWRpbmctY292ZXIgW2xvYWRpbmddPVwibG9hZGluZ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgZ3JvdXBzOyB0cmFja0J5OiB0cmFja0J5SGVhZGVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cC5oZWFkZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdyb3VwLWhlYWRlclwiPlxuICAgICAgICAgICAge3sgZ3JvdXAuaGVhZGVyIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwLm9wdGlvbnM7IGxldCBub2Rlc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2Rlcy5sZW5ndGggPiAwOyBlbHNlIGVtcHR5XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBub2RlIG9mIG5vZGVzOyB0cmFja0J5OiB0cmFja0J5T3B0aW9uXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2RlVGVtcGxhdGU7IGVsc2Ugc3RhbmRhcmRUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLXNpbmdsZS1zZWxlY3Qtbm9kZVwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWRPcHRpb25DaGFuZ2UuZW1pdChub2RlKTsgb3BlbiA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9kZVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbm9kZSB9XCJcbiAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhbmRhcmRUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbmdsZS1zZWxlY3Qtbm9kZVwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwibm9kZT8uaWQgPT09IHNlbGVjdGVkT3B0aW9uPy5pZFwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwibm9kZT8uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm5vZGU/LmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE9wdGlvbkNoYW5nZS5lbWl0KG5vZGUpOyBvcGVuID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHJpdi1pY29uXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidDaGVjaydcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm5vZGU/LmlkID09PSBzZWxlY3RlZE9wdGlvbj8uaWRcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICAgICAgICAgICAgICA+PC9yaXYtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxyaXYtaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJub2RlPy50aXRsZSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5kaWNlc109XCJub2RlPy50aXRsZUhpZ2hsaWdodEluZGljZXMgfHwgW11cIlxuICAgICAgICAgICAgICAgICAgICAgID48L3Jpdi1oaWdobGlnaHQ+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJub2RlPy5zdWJ0aXRsZVwiIGNsYXNzPVwibGFiZWwtc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cml2LWhpZ2hsaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwibm9kZT8uc3VidGl0bGUgfHwgJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2luZGljZXNdPVwibm9kZT8uc3VidGl0bGVIaWdobGlnaHRJbmRpY2VzIHx8IFtdXCJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9yaXYtaGlnaGxpZ2h0PlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgICAgICAgIHt7IG5vT3B0aW9uc01lc3NhZ2UgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9yaXYtbG9hZGluZy1jb3Zlcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPiA8L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9yaXYtY2FsbG91dD5cbiJdfQ==
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9zaW5nbGUtc2VsZWN0L3NpbmdsZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2luZ2xlLXNlbGVjdC9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLElBQUksTUFBTSxTQUFTLENBQUM7QUFFM0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7OztBQVEzRSxNQUFNLE9BQU8scUJBR1gsU0FBUSxtQkFBbUI7SUFUN0I7O1FBV0UsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUdqQixtQkFBYyxHQUFhLElBQUksQ0FBQztRQUdoQyx5QkFBb0IsR0FBK0M7WUFDakUsT0FBTyxFQUFFLEtBQUs7U0FDZixDQUFDO1FBR0YsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBR3hCLHFCQUFnQixHQUFXLE1BQU0sQ0FBQztRQUdsQyxxQkFBZ0IsR0FBVyxzQkFBc0IsQ0FBQztRQVNsRCxnQkFBVyxHQUFXLFdBQVcsQ0FBQztRQUdsQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBR3pCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHL0MseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztRQW1EN0MsU0FBSSxHQUFZLEtBQUssQ0FBQztLQUN2QjtJQS9D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LEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRW5DLE9BQU87b0JBQ0wsR0FBRyxLQUFLO29CQUNSLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDN0IsR0FBRyxLQUFLLENBQUMsSUFBSTt3QkFDYixxQkFBcUIsRUFBRTs0QkFDckIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxPQUFPLENBQUM7Z0NBQ3ZELEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQzt5QkFDbkI7d0JBQ0Qsd0JBQXdCLEVBQUU7NEJBQ3hCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUFDO2dDQUMxRCxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7eUJBQ25CO3FCQUNGLENBQUMsQ0FBQztpQkFDSixDQUFDO1lBQ0osQ0FBQyxDQUFDO2lCQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCO1FBQ3RFLENBQUMsQ0FBQztJQUNKLENBQUM7SUFwQ2UsbUNBQWEsZ0JBb0M1QixDQUFBO0FBQ0gsQ0FBQyxFQWxFZ0IscUJBQXFCLEtBQXJCLHFCQUFxQixRQWtFckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEZ1c2UgZnJvbSAnZnVzZS5qcyc7XG5pbXBvcnQgeyBIaWdobGlnaHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aXN1YWxpemF0aW9uL2hpZ2hsaWdodC9oaWdobGlnaHQuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0TGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1sYWJlbC9pbnB1dC1sYWJlbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtc2luZ2xlLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTaW5nbGVTZWxlY3RDb21wb25lbnQ8XG4gIFQgZXh0ZW5kcyBTaW5nbGVTZWxlY3RDb21wb25lbnQuT3B0aW9uR3JvdXA8VT4sXG4gIFUgZXh0ZW5kcyBTaW5nbGVTZWxlY3RDb21wb25lbnQuT3B0aW9uLFxuPiBleHRlbmRzIElucHV0TGFiZWxDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBncm91cHM6IFRbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHNlbGVjdGVkT3B0aW9uOiBVIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZmlsdGVyYWJpbGl0eU9wdGlvbnM6IFNpbmdsZVNlbGVjdENvbXBvbmVudC5GaWx0ZXJhYmlsaXR5T3B0aW9ucyA9IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgfTtcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbG9ja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbWF4Q2FsbG91dEhlaWdodDogc3RyaW5nID0gJzUwdmgnO1xuXG4gIEBJbnB1dCgpXG4gIG5vT3B0aW9uc01lc3NhZ2U6IHN0cmluZyA9ICdObyBhdmFpbGFibGUgb3B0aW9ucyc7XG5cbiAgQElucHV0KClcbiAgbm9kZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgdHJpZ2dlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWxlY3QuLi4nO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZmlsdGVyUXVlcnk6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJRdWVyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZE9wdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VT4oKTtcblxuICBAVmlld0NoaWxkKCdjdXN0b21UcmlnZ2VyQnV0dG9uJykgY3VzdG9tVHJpZ2dlckJ1dHRvbj86IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3N0YW5kYXJkVHJpZ2dlckJ1dHRvbicpIHN0YW5kYXJkVHJpZ2dlckJ1dHRvbj86IEVsZW1lbnRSZWY7XG5cbiAgZ2V0VHJpZ2dlcigpOiBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY3VzdG9tVHJpZ2dlckJ1dHRvbj8ubmF0aXZlRWxlbWVudCA/P1xuICAgICAgdGhpcy5zdGFuZGFyZFRyaWdnZXJCdXR0b24/Lm5hdGl2ZUVsZW1lbnRcbiAgICApO1xuICB9XG5cbiAgZ2V0RmlsdGVyUGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLmVuYWJsZWQgJiZcbiAgICAgIHRoaXMuZmlsdGVyYWJpbGl0eU9wdGlvbnMucGxhY2Vob2xkZXJcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLnBsYWNlaG9sZGVyO1xuICAgIH1cbiAgICByZXR1cm4gJ0ZpbHRlciBvcHRpb25zLi4uJztcbiAgfVxuXG4gIGFsbG93ZWRPcGVuKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5sb2NrZWQpIHtcbiAgICAgIHRoaXMub3BlbiA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgc2VsZWN0T3B0aW9uKG5ld2x5U2VsZWN0ZWRPcHRpb246IFUpIHtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uQ2hhbmdlLmVtaXQobmV3bHlTZWxlY3RlZE9wdGlvbik7XG4gICAgdGhpcy5vcGVuID0gZmFsc2U7XG5cbiAgICAvLyBDbGVhciBmaWx0ZXIgYWZ0ZXIgYW4gb3B0aW9uIGlzIHNlbGVjdGVkLlxuICAgIGlmICh0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMuZmlsdGVyUXVlcnkgPSAnJztcbiAgICAgIHRoaXMuZmlsdGVyUXVlcnlDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlclF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICB0cmFja0J5SGVhZGVyKGk6IG51bWJlciwgZ3JvdXA6IFNpbmdsZVNlbGVjdENvbXBvbmVudC5PcHRpb25Hcm91cDxVPikge1xuICAgIHJldHVybiBgJHtpfSR7Z3JvdXAuaGVhZGVyfWA7XG4gIH1cblxuICB0cmFja0J5T3B0aW9uKF86IG51bWJlciwgb3B0aW9uOiBVKSB7XG4gICAgcmV0dXJuIG9wdGlvbi5pZDtcbiAgfVxuXG4gIG9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTaW5nbGVTZWxlY3RDb21wb25lbnQge1xuICBleHBvcnQgdHlwZSBPcHRpb24gPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGNvdW50PzogbnVtYmVyO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICB0aXRsZUhpZ2hsaWdodEluZGljZXM/OiBIaWdobGlnaHRDb21wb25lbnQuSGlnaGxpZ2h0SW5kaWNlc1tdO1xuICAgIHN1YnRpdGxlSGlnaGxpZ2h0SW5kaWNlcz86IEhpZ2hsaWdodENvbXBvbmVudC5IaWdobGlnaHRJbmRpY2VzW107XG4gIH07XG5cbiAgdHlwZSBOb2RlPFYgZXh0ZW5kcyBPcHRpb24+ID0gViAmIHtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgfTtcblxuICBleHBvcnQgdHlwZSBPcHRpb25Hcm91cDxPIGV4dGVuZHMgT3B0aW9uPiA9IHtcbiAgICBoZWFkZXI/OiBzdHJpbmc7XG4gICAgb3B0aW9uczogT1tdO1xuICB9O1xuXG4gIGV4cG9ydCB0eXBlIEZpbHRlcmFiaWxpdHlPcHRpb25zID1cbiAgICB8IHtcbiAgICAgICAgZW5hYmxlZDogZmFsc2U7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIGVuYWJsZWQ6IHRydWU7XG4gICAgICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgICAgfTtcblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0RmlsdGVyU3luYzxUIGV4dGVuZHMgT3B0aW9uR3JvdXA8VT4sIFUgZXh0ZW5kcyBPcHRpb24+KFxuICAgIGdyb3VwczogVFtdLFxuICAgIGV4YWN0OiBib29sZWFuID0gZmFsc2UsXG4gICk6IChxdWVyeTogc3RyaW5nKSA9PiBUW10ge1xuICAgIHJldHVybiBmdW5jdGlvbiBmaWx0ZXIocXVlcnk6IHN0cmluZykge1xuICAgICAgaWYgKCFxdWVyeSkgcmV0dXJuIGdyb3VwcztcblxuICAgICAgY29uc3QgZnVzZU9wdGlvbnMgPSB7XG4gICAgICAgIGtleXM6IFsndGl0bGUnLCAnc3VidGl0bGUnXSxcbiAgICAgICAgaW5jbHVkZU1hdGNoZXM6IHRydWUsXG4gICAgICAgIHNob3VsZFNvcnQ6IHRydWUsXG4gICAgICAgIHRocmVzaG9sZDogZXhhY3QgPyAwLjAgOiAwLjYsXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gZ3JvdXBzXG4gICAgICAgIC5tYXAoZ3JvdXAgPT4ge1xuICAgICAgICAgIGNvbnN0IGZ1c2UgPSBuZXcgRnVzZShncm91cC5vcHRpb25zLCBmdXNlT3B0aW9ucyk7XG4gICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGZ1c2Uuc2VhcmNoKHF1ZXJ5KTtcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICAgIG9wdGlvbnM6IG1hdGNoZXMubWFwKG1hdGNoID0+ICh7XG4gICAgICAgICAgICAgIC4uLm1hdGNoLml0ZW0sXG4gICAgICAgICAgICAgIHRpdGxlSGlnaGxpZ2h0SW5kaWNlczogW1xuICAgICAgICAgICAgICAgIC4uLihtYXRjaC5tYXRjaGVzPy5maW5kKHJlc3VsdCA9PiByZXN1bHQua2V5ID09PSAndGl0bGUnKVxuICAgICAgICAgICAgICAgICAgPy5pbmRpY2VzIHx8IFtdKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgc3VidGl0bGVIaWdobGlnaHRJbmRpY2VzOiBbXG4gICAgICAgICAgICAgICAgLi4uKG1hdGNoLm1hdGNoZXM/LmZpbmQocmVzdWx0ID0+IHJlc3VsdC5rZXkgPT09ICdzdWJ0aXRsZScpXG4gICAgICAgICAgICAgICAgICA/LmluZGljZXMgfHwgW10pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoZ3JvdXAgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTsgLy8gUmVtb3ZlIGVtcHR5IGdyb3Vwc1xuICAgIH07XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmlnZ2VyVGVtcGxhdGU7IGVsc2Ugc3RhbmRhcmRUcmlnZ2VyXCI+XG4gIDxidXR0b25cbiAgICAjY3VzdG9tVHJpZ2dlckJ1dHRvblxuICAgIChjbGljayk9XCJhbGxvd2VkT3BlbigpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9ja2VkXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyaWdnZXJUZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzZWxlY3RlZE9wdGlvbiB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI3N0YW5kYXJkVHJpZ2dlcj5cbiAgPHJpdi1pbnB1dC1sYWJlbFxuICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgW2hlbHBdPVwiaGVscFwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbbGFiZWxBY3Rpb25UZXh0XT1cImxhYmVsQWN0aW9uVGV4dFwiXG4gICAgKGxhYmVsQWN0aW9uKT1cImxhYmVsQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICAjc3RhbmRhcmRUcmlnZ2VyQnV0dG9uXG4gICAgICBjbGFzcz1cInRyaWdnZXJcIlxuICAgICAgKGNsaWNrKT1cImFsbG93ZWRPcGVuKClcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvY2tlZFwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRPcHRpb247IGVsc2UgcGxhY2Vob2xkZXJWYWx1ZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+e3sgc2VsZWN0ZWRPcHRpb24udGl0bGUgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjcGxhY2Vob2xkZXJWYWx1ZT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZSBwbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyIH19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY2hldnJvblwiPlxuICAgICAgICA8cml2LWljb24gKm5nSWY9XCIhbG9ja2VkXCIgW25hbWVdPVwiJ0NoZXZyb25Eb3duJ1wiIFtzaXplXT1cIjE2XCI+PC9yaXYtaWNvbj5cbiAgICAgICAgPHJpdi1pY29uICpuZ0lmPVwibG9ja2VkXCIgW25hbWVdPVwiJ0xvY2snXCIgW3NpemVdPVwiMTZcIj48L3Jpdi1pY29uPlxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L3Jpdi1pbnB1dC1sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxyaXYtY2FsbG91dFxuICAqbmdJZj1cIm9wZW5cIlxuICBbYW5jaG9yXT1cImdldFRyaWdnZXIoKVwiXG4gIFt0aGVtZV09XCInbGlnaHQnXCJcbiAgW3Nob3dDYXJldF09XCJmYWxzZVwiXG4gIFthbGxvd2VkUG9zaXRpb25zXT1cIltcbiAgICAndG9wLWxlZnQnLFxuICAgICd0b3AtY2VudGVyJyxcbiAgICAndG9wLXJpZ2h0JyxcbiAgICAnYm90dG9tLXJpZ2h0JyxcbiAgICAnYm90dG9tLWNlbnRlcicsXG4gICAgJ2JvdHRvbS1sZWZ0J1xuICBdXCJcbiAgKGNsb3NlKT1cIm9wZW4gPSBmYWxzZVwiXG4+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwiZmlsdGVyYWJpbGl0eU9wdGlvbnMuZW5hYmxlZFwiXG4gICAgI2ZpbHRlclxuICAgIGNsYXNzPVwiZmlsdGVyXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0RmlsdGVyUGxhY2Vob2xkZXIoKVwiXG4gICAgW3ZhbHVlXT1cImZpbHRlclF1ZXJ5XCJcbiAgICAoaW5wdXQpPVwiZmlsdGVyUXVlcnkgPSBmaWx0ZXIudmFsdWU7IGZpbHRlclF1ZXJ5Q2hhbmdlLmVtaXQoZmlsdGVyUXVlcnkpXCJcbiAgICBbcml2Rm9jdXNPbkluaXRdPVwidHJ1ZVwiXG4gIC8+XG4gIDxkaXYgY2xhc3M9XCJvcHRpb25zXCIgW3N0eWxlLm1heC1oZWlnaHRdPVwibWF4Q2FsbG91dEhlaWdodFwiPlxuICAgIDxyaXYtbG9hZGluZy1jb3ZlciBbbG9hZGluZ109XCJsb2FkaW5nXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBncm91cCBvZiBncm91cHM7IHRyYWNrQnk6IHRyYWNrQnlIZWFkZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwLmhlYWRlclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ3JvdXAtaGVhZGVyXCI+XG4gICAgICAgICAgICB7eyBncm91cC5oZWFkZXIgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXAub3B0aW9uczsgbGV0IG5vZGVzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGVzLmxlbmd0aCA+IDA7IGVsc2UgZW1wdHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlPcHRpb25cIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGVUZW1wbGF0ZTsgZWxzZSBzdGFuZGFyZFRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20tc2luZ2xlLXNlbGVjdC1ub2RlXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24obm9kZSlcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJub2RlVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBub2RlIH1cIlxuICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGFuZGFyZFRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2luZ2xlLXNlbGVjdC1ub2RlXCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJub2RlPy5pZCA9PT0gc2VsZWN0ZWRPcHRpb24/LmlkXCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJub2RlPy5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibm9kZT8uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdGlvbihub2RlKVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8cml2LWljb25cbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ0NoZWNrJ1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibm9kZT8uaWQgPT09IHNlbGVjdGVkT3B0aW9uPy5pZFwiXG4gICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIjE2XCJcbiAgICAgICAgICAgICAgICAgID48L3Jpdi1pY29uPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHJpdi1oaWdobGlnaHRcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIm5vZGU/LnRpdGxlIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbmRpY2VzXT1cIm5vZGU/LnRpdGxlSGlnaGxpZ2h0SW5kaWNlcyB8fCBbXVwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvcml2LWhpZ2hsaWdodD5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm5vZGU/LnN1YnRpdGxlXCIgY2xhc3M9XCJsYWJlbC1zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxyaXYtaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJub2RlPy5zdWJ0aXRsZSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5kaWNlc109XCJub2RlPy5zdWJ0aXRsZUhpZ2hsaWdodEluZGljZXMgfHwgW11cIlxuICAgICAgICAgICAgICAgICAgICAgID48L3Jpdi1oaWdobGlnaHQ+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHk+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgICAge3sgbm9PcHRpb25zTWVzc2FnZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3Jpdi1sb2FkaW5nLWNvdmVyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdXCI+IDwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L3Jpdi1jYWxsb3V0PlxuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Directive, Input, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FocusOnInitDirective {
|
|
4
|
+
constructor(el) {
|
|
5
|
+
this.el = el;
|
|
6
|
+
this.shouldFocus = true;
|
|
7
|
+
this.focusOnChange = false;
|
|
8
|
+
}
|
|
9
|
+
ngAfterViewInit() {
|
|
10
|
+
if (this.shouldFocus) {
|
|
11
|
+
this.focus();
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
this.focusOnChange = true;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
ngOnChanges() {
|
|
18
|
+
if (this.focusOnChange && this.shouldFocus) {
|
|
19
|
+
this.focusOnChange = false;
|
|
20
|
+
this.focus();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
focus() {
|
|
24
|
+
if (this.el && this.el.nativeElement) {
|
|
25
|
+
if (!this.el.nativeElement.hasAttribute('tabindex')) {
|
|
26
|
+
this.el.nativeElement.tabIndex = 0;
|
|
27
|
+
}
|
|
28
|
+
this.el.nativeElement.focus();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
FocusOnInitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FocusOnInitDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
33
|
+
FocusOnInitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: FocusOnInitDirective, selector: "[rivFocusOnInit]", inputs: { shouldFocus: ["rivFocusOnInit", "shouldFocus"] }, usesOnChanges: true, ngImport: i0 });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FocusOnInitDirective, decorators: [{
|
|
35
|
+
type: Directive,
|
|
36
|
+
args: [{
|
|
37
|
+
selector: '[rivFocusOnInit]',
|
|
38
|
+
}]
|
|
39
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { shouldFocus: [{
|
|
40
|
+
type: Input,
|
|
41
|
+
args: ['rivFocusOnInit']
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtb24taW5pdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnRlcmFjdGlvbi9mb2N1cy1vbi1pbml0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQzs7QUFLdkIsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUE2QixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUczQyxnQkFBVyxHQUFZLElBQUksQ0FBQztRQUVwQixrQkFBYSxHQUFZLEtBQUssQ0FBQztJQUxPLENBQUM7SUFPL0MsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDZDthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzFDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVPLEtBQUs7UUFDWCxJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUU7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDbkQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQzthQUNwQztZQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7aUhBOUJVLG9CQUFvQjtxR0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7aUdBS0MsV0FBVztzQkFEVixLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tyaXZGb2N1c09uSW5pdF0nLFxufSlcbmV4cG9ydCBjbGFzcyBGb2N1c09uSW5pdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgQElucHV0KCdyaXZGb2N1c09uSW5pdCcpXG4gIHNob3VsZEZvY3VzOiBib29sZWFuID0gdHJ1ZTtcblxuICBwcml2YXRlIGZvY3VzT25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuc2hvdWxkRm9jdXMpIHtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c09uQ2hhbmdlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5mb2N1c09uQ2hhbmdlICYmIHRoaXMuc2hvdWxkRm9jdXMpIHtcbiAgICAgIHRoaXMuZm9jdXNPbkNoYW5nZSA9IGZhbHNlO1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXMoKSB7XG4gICAgaWYgKHRoaXMuZWwgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBpZiAoIXRoaXMuZWwubmF0aXZlRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3RhYmluZGV4JykpIHtcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnRhYkluZGV4ID0gMDtcbiAgICAgIH1cbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -17,6 +17,7 @@ import { DateRangeComponent } from './input/date-range/date-range.component';
|
|
|
17
17
|
import { DateComponent } from './input/date/date.component';
|
|
18
18
|
import { InputLabelComponent } from './input/input-label/input-label.component';
|
|
19
19
|
import { SingleSelectComponent } from './input/single-select/single-select.component';
|
|
20
|
+
import { FocusOnInitDirective } from './interaction/focus-on-init.directive';
|
|
20
21
|
import { LoadingCoverComponent } from './load/loading-cover/loading-cover.component';
|
|
21
22
|
import { LoadingComponent } from './load/loading/loading.component';
|
|
22
23
|
import { CalloutOutletComponent } from './modal/callout/callout-outlet.component';
|
|
@@ -61,6 +62,7 @@ RivModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
|
61
62
|
DaysPipe,
|
|
62
63
|
DollarsPipe,
|
|
63
64
|
DonutComponent,
|
|
65
|
+
FocusOnInitDirective,
|
|
64
66
|
FunnelChartComponent,
|
|
65
67
|
HelpComponent,
|
|
66
68
|
HighlightComponent,
|
|
@@ -101,6 +103,7 @@ RivModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
|
101
103
|
DaysPipe,
|
|
102
104
|
DollarsPipe,
|
|
103
105
|
DonutComponent,
|
|
106
|
+
FocusOnInitDirective,
|
|
104
107
|
FunnelChartComponent,
|
|
105
108
|
HelpComponent,
|
|
106
109
|
HighlightComponent,
|
|
@@ -147,6 +150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
147
150
|
DaysPipe,
|
|
148
151
|
DollarsPipe,
|
|
149
152
|
DonutComponent,
|
|
153
|
+
FocusOnInitDirective,
|
|
150
154
|
FunnelChartComponent,
|
|
151
155
|
HelpComponent,
|
|
152
156
|
HighlightComponent,
|
|
@@ -190,6 +194,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
190
194
|
DaysPipe,
|
|
191
195
|
DollarsPipe,
|
|
192
196
|
DonutComponent,
|
|
197
|
+
FocusOnInitDirective,
|
|
193
198
|
FunnelChartComponent,
|
|
194
199
|
HelpComponent,
|
|
195
200
|
HighlightComponent,
|
|
@@ -220,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
220
225
|
imports: [CommonModule],
|
|
221
226
|
}]
|
|
222
227
|
}] });
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml2Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL3Jpdi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDbEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMzRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7O0FBMkZyRixNQUFNLE9BQU8sU0FBUzs7c0dBQVQsU0FBUzt1R0FBVCxTQUFTLGlCQXZGbEIsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsa0JBQWtCO1FBQ2xCLDRCQUE0QjtRQUM1QixxQkFBcUI7UUFDckIsYUFBYTtRQUNiLFFBQVE7UUFDUixrQkFBa0I7UUFDbEIsUUFBUTtRQUNSLFdBQVc7UUFDWCxjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsVUFBVTtRQUNWLGVBQWU7UUFDZixjQUFjO1FBQ2QscUJBQXFCO1FBQ3JCLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixrQkFBa0IsYUE0Q1YsWUFBWSxhQXpDcEIsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixrQkFBa0I7UUFDbEIsNEJBQTRCO1FBQzVCLHFCQUFxQjtRQUNyQixhQUFhO1FBQ2IsUUFBUTtRQUNSLGtCQUFrQjtRQUNsQixRQUFRO1FBQ1IsV0FBVztRQUNYLGNBQWM7UUFDZCxvQkFBb0I7UUFDcEIsYUFBYTtRQUNiLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLFVBQVU7UUFDVixlQUFlO1FBQ2YsY0FBYztRQUNkLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsc0JBQXNCO1FBQ3RCLG1CQUFtQjtRQUNuQix3QkFBd0I7UUFDeEIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsa0JBQWtCO3VHQUlULFNBQVMsWUFGVixZQUFZOzJGQUVYLFNBQVM7a0JBekZyQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixrQkFBa0I7d0JBQ2xCLDRCQUE0Qjt3QkFDNUIscUJBQXFCO3dCQUNyQixhQUFhO3dCQUNiLFFBQVE7d0JBQ1Isa0JBQWtCO3dCQUNsQixRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixzQkFBc0I7d0JBQ3RCLGtCQUFrQjt3QkFDbEIsNEJBQTRCO3dCQUM1QixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsUUFBUTt3QkFDUixrQkFBa0I7d0JBQ2xCLFFBQVE7d0JBQ1IsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0VG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50LXRvZ2dsZS90ZXh0LXRvZ2dsZS90ZXh0LXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICcuL2Zvcm1hdC9waXBlcy9kYXRlLnBpcGUnO1xuaW1wb3J0IHsgRGF5c1BpcGUgfSBmcm9tICcuL2Zvcm1hdC9waXBlcy9kYXlzLnBpcGUnO1xuaW1wb3J0IHsgRG9sbGFyc1BpcGUgfSBmcm9tICcuL2Zvcm1hdC9waXBlcy9kb2xsYXJzLnBpcGUnO1xuaW1wb3J0IHsgTnVtYmVyUGlwZSB9IGZyb20gJy4vZm9ybWF0L3BpcGVzL251bWJlci5waXBlJztcbmltcG9ydCB7IE9wdGlvbkdyb3VwUGlwZSB9IGZyb20gJy4vZm9ybWF0L3BpcGVzL29wdGlvbi1ncm91cC5waXBlJztcbmltcG9ydCB7IFBlcmNlbnRhZ2VQaXBlIH0gZnJvbSAnLi9mb3JtYXQvcGlwZXMvcGVyY2VudGFnZS5waXBlJztcbmltcG9ydCB7IFNtYWxsQ3VycmVuY3lQaXBlIH0gZnJvbSAnLi9mb3JtYXQvcGlwZXMvc21hbGwtY3VycmVuY3kucGlwZSc7XG5pbXBvcnQgeyBTVkdUZXh0VHJ1bmNhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm1hdC9zdmctdGV4dC10cnVuY2F0ZS9zdmctdGV4dC10cnVuY2F0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJ1bmNhdGVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1hdC90cnVuY2F0ZS90cnVuY2F0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2lucHV0L2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC9kYXRlLXJhbmdlL2RhdGUtcmFuZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVDb21wb25lbnQgfSBmcm9tICcuL2lucHV0L2RhdGUvZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQvaW5wdXQtbGFiZWwvaW5wdXQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNpbmdsZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQvc2luZ2xlLXNlbGVjdC9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2FkaW5nQ292ZXJDb21wb25lbnQgfSBmcm9tICcuL2xvYWQvbG9hZGluZy1jb3Zlci9sb2FkaW5nLWNvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsbG91dE91dGxldENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwvY2FsbG91dC9jYWxsb3V0LW91dGxldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsbG91dENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwvY2FsbG91dC9jYWxsb3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYWxsb3V0RGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC9jYWxsb3V0L2NhbGxvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IExvY2tTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL21vZGFsL2NhbGxvdXQvbG9jay1zY3JvbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhlbHBDb21wb25lbnQgfSBmcm9tICcuL21vZGFsL2hlbHAvaGVscC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpbmtDb21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24vbGluay9saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhVGFibGVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0YVRhYmxlUm93Q29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IERvbnV0Q29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2RvbnV0L2RvbnV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGdW5uZWxDaGFydENvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi9mdW5uZWwtY2hhcnQvZnVubmVsLWNoYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIaWdobGlnaHRDb21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vaGlnaGxpZ2h0L2hpZ2hsaWdodC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXNzdWVDb21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vaXNzdWUvaXNzdWUuY29tcG9uZW50JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vbGVnZW5kLWl0ZW0vbGVnZW5kLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1ldHJpY0NvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi9tZXRyaWMvbWV0cmljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGFja2VkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL3N0YWNrZWQtY29sdW1uL3N0YWNrZWQtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGFja2VkUm93Q29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL3N0YWNrZWQtcm93L3N0YWNrZWQtcm93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaW1lU2VyaWVzQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL3RpbWUtc2VyaWVzL3RpbWUtc2VyaWVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVuZENvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi90cmVuZC90cmVuZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgWmVyb1N0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL3plcm8tc3RhdGUvemVyby1zdGF0ZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgQ2FsbG91dENvbXBvbmVudCxcbiAgICBDYWxsb3V0RGlyZWN0aXZlLFxuICAgIENhbGxvdXRPdXRsZXRDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlQ2VsbENvbXBvbmVudCxcbiAgICBEYXRhVGFibGVDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudCxcbiAgICBEYXRhVGFibGVSb3dDb21wb25lbnQsXG4gICAgRGF0ZUNvbXBvbmVudCxcbiAgICBEYXRlUGlwZSxcbiAgICBEYXRlUmFuZ2VDb21wb25lbnQsXG4gICAgRGF5c1BpcGUsXG4gICAgRG9sbGFyc1BpcGUsXG4gICAgRG9udXRDb21wb25lbnQsXG4gICAgRnVubmVsQ2hhcnRDb21wb25lbnQsXG4gICAgSGVscENvbXBvbmVudCxcbiAgICBIaWdobGlnaHRDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBJbnB1dExhYmVsQ29tcG9uZW50LFxuICAgIElzc3VlQ29tcG9uZW50LFxuICAgIExlZ2VuZEl0ZW1Db21wb25lbnQsXG4gICAgTGlua0NvbXBvbmVudCxcbiAgICBMb2FkaW5nQ29tcG9uZW50LFxuICAgIExvYWRpbmdDb3ZlckNvbXBvbmVudCxcbiAgICBMb2NrU2Nyb2xsRGlyZWN0aXZlLFxuICAgIE1ldHJpY0NvbXBvbmVudCxcbiAgICBOdW1iZXJQaXBlLFxuICAgIE9wdGlvbkdyb3VwUGlwZSxcbiAgICBQZXJjZW50YWdlUGlwZSxcbiAgICBTaW5nbGVTZWxlY3RDb21wb25lbnQsXG4gICAgU21hbGxDdXJyZW5jeVBpcGUsXG4gICAgU3RhY2tlZENvbHVtbkNvbXBvbmVudCxcbiAgICBTdGFja2VkUm93Q29tcG9uZW50LFxuICAgIFNWR1RleHRUcnVuY2F0ZURpcmVjdGl2ZSxcbiAgICBUZXh0VG9nZ2xlQ29tcG9uZW50LFxuICAgIFRpbWVTZXJpZXNDb21wb25lbnQsXG4gICAgVG9vbHRpcENvbXBvbmVudCxcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgIFRyZW5kQ29tcG9uZW50LFxuICAgIFRydW5jYXRlQ29tcG9uZW50LFxuICAgIFplcm9TdGF0ZUNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDYWxsb3V0Q29tcG9uZW50LFxuICAgIENhbGxvdXREaXJlY3RpdmUsXG4gICAgQ2FsbG91dE91dGxldENvbXBvbmVudCxcbiAgICBEYXRhVGFibGVDZWxsQ29tcG9uZW50LFxuICAgIERhdGFUYWJsZUNvbXBvbmVudCxcbiAgICBEYXRhVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50LFxuICAgIERhdGFUYWJsZVJvd0NvbXBvbmVudCxcbiAgICBEYXRlQ29tcG9uZW50LFxuICAgIERhdGVQaXBlLFxuICAgIERhdGVSYW5nZUNvbXBvbmVudCxcbiAgICBEYXlzUGlwZSxcbiAgICBEb2xsYXJzUGlwZSxcbiAgICBEb251dENvbXBvbmVudCxcbiAgICBGdW5uZWxDaGFydENvbXBvbmVudCxcbiAgICBIZWxwQ29tcG9uZW50LFxuICAgIEhpZ2hsaWdodENvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIElucHV0TGFiZWxDb21wb25lbnQsXG4gICAgSXNzdWVDb21wb25lbnQsXG4gICAgTGVnZW5kSXRlbUNvbXBvbmVudCxcbiAgICBMaW5rQ29tcG9uZW50LFxuICAgIExvYWRpbmdDb21wb25lbnQsXG4gICAgTG9hZGluZ0NvdmVyQ29tcG9uZW50LFxuICAgIE1ldHJpY0NvbXBvbmVudCxcbiAgICBOdW1iZXJQaXBlLFxuICAgIE9wdGlvbkdyb3VwUGlwZSxcbiAgICBQZXJjZW50YWdlUGlwZSxcbiAgICBTaW5nbGVTZWxlY3RDb21wb25lbnQsXG4gICAgU21hbGxDdXJyZW5jeVBpcGUsXG4gICAgU3RhY2tlZENvbHVtbkNvbXBvbmVudCxcbiAgICBTdGFja2VkUm93Q29tcG9uZW50LFxuICAgIFNWR1RleHRUcnVuY2F0ZURpcmVjdGl2ZSxcbiAgICBUZXh0VG9nZ2xlQ29tcG9uZW50LFxuICAgIFRpbWVTZXJpZXNDb21wb25lbnQsXG4gICAgVG9vbHRpcENvbXBvbmVudCxcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgIFRyZW5kQ29tcG9uZW50LFxuICAgIFRydW5jYXRlQ29tcG9uZW50LFxuICAgIFplcm9TdGF0ZUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFJpdk1vZHVsZSB7fVxuIl19
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml2Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL3Jpdi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDbEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixF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d0JBQ25CLGVBQWU7d0JBQ2YsVUFBVTt3QkFDVixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixrQkFBa0I7d0JBQ2xCLDRCQUE0Qjt3QkFDNUIscUJBQXFCO3dCQUNyQixhQUFhO3dCQUNiLFFBQVE7d0JBQ1Isa0JBQWtCO3dCQUNsQixRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0VG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50LXRvZ2dsZS90ZXh0LXRvZ2dsZS90ZXh0LXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICcuL2Zvcm1hdC9waXBlcy9kYXRlLnBpcGUnO1xuaW1wb3J0IHsgRGF5c1BpcGUgfSBmcm9tICcuL2Zvcm1hdC9waXBlcy9kYXlzLnBpcGUnO1xuaW1wb3J0IHsgRG9sbGFyc1BpcGUgfSBmcm9tICcuL2Zvcm1hdC9waXBlcy9kb2xsYXJzLnBpcGUnO1xuaW1wb3J0IHsgTnVtYmVyUGlwZSB9IGZyb20gJy4vZm9ybWF0L3BpcGVzL251bWJlci5waXBlJztcbmltcG9ydCB7IE9wdGlvbkdyb3VwUGlwZSB9IGZyb20gJy4vZm9ybWF0L3BpcGVzL29wdGlvbi1ncm91cC5waXBlJztcbmltcG9ydCB7IFBlcmNlbnRhZ2VQaXBlIH0gZnJvbSAnLi9mb3JtYXQvcGlwZXMvcGVyY2VudGFnZS5waXBlJztcbmltcG9ydCB7IFNtYWxsQ3VycmVuY3lQaXBlIH0gZnJvbSAnLi9mb3JtYXQvcGlwZXMvc21hbGwtY3VycmVuY3kucGlwZSc7XG5pbXBvcnQgeyBTVkdUZXh0VHJ1bmNhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm1hdC9zdmctdGV4dC10cnVuY2F0ZS9zdmctdGV4dC10cnVuY2F0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJ1bmNhdGVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1hdC90cnVuY2F0ZS90cnVuY2F0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2lucHV0L2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC9kYXRlLXJhbmdlL2RhdGUtcmFuZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVDb21wb25lbnQgfSBmcm9tICcuL2lucHV0L2RhdGUvZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQvaW5wdXQtbGFiZWwvaW5wdXQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNpbmdsZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQvc2luZ2xlLXNlbGVjdC9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2N1c09uSW5pdERpcmVjdGl2ZSB9IGZyb20gJy4vaW50ZXJhY3Rpb24vZm9jdXMtb24taW5pdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTG9hZGluZ0NvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkL2xvYWRpbmctY292ZXIvbG9hZGluZy1jb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vbG9hZC9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IENhbGxvdXRPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL21vZGFsL2NhbGxvdXQvY2FsbG91dC1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IENhbGxvdXRDb21wb25lbnQgfSBmcm9tICcuL21vZGFsL2NhbGxvdXQvY2FsbG91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsbG91dERpcmVjdGl2ZSB9IGZyb20gJy4vbW9kYWwvY2FsbG91dC9jYWxsb3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMb2NrU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC9jYWxsb3V0L2xvY2stc2Nyb2xsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBIZWxwQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC9oZWxwL2hlbHAuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL21vZGFsL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4vbW9kYWwvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uL2xpbmsvbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0YVRhYmxlQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi9kYXRhLXRhYmxlL2RhdGEtdGFibGUtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0YVRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi9kYXRhLXRhYmxlL2RhdGEtdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGFUYWJsZVJvd0NvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi9kYXRhLXRhYmxlL2RhdGEtdGFibGUtcm93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb251dENvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi9kb251dC9kb251dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnVubmVsQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vZnVubmVsLWNoYXJ0L2Z1bm5lbC1jaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGlnaGxpZ2h0Q29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2hpZ2hsaWdodC9oaWdobGlnaHQuY29tcG9uZW50JztcbmltcG9ydCB7IElzc3VlQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2lzc3VlL2lzc3VlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2xlZ2VuZC1pdGVtL2xlZ2VuZC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXRyaWNDb21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vbWV0cmljL21ldHJpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RhY2tlZENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi9zdGFja2VkLWNvbHVtbi9zdGFja2VkLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RhY2tlZFJvd0NvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi9zdGFja2VkLXJvdy9zdGFja2VkLXJvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGltZVNlcmllc0NvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi90aW1lLXNlcmllcy90aW1lLXNlcmllcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlbmRDb21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vdHJlbmQvdHJlbmQuY29tcG9uZW50JztcbmltcG9ydCB7IFplcm9TdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi96ZXJvLXN0YXRlL3plcm8tc3RhdGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIENhbGVuZGFyQ29tcG9uZW50LFxuICAgIENhbGxvdXRDb21wb25lbnQsXG4gICAgQ2FsbG91dERpcmVjdGl2ZSxcbiAgICBDYWxsb3V0T3V0bGV0Q29tcG9uZW50LFxuICAgIERhdGFUYWJsZUNlbGxDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlQ29tcG9uZW50LFxuICAgIERhdGFUYWJsZUhlYWRlckNlbGxDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlUm93Q29tcG9uZW50LFxuICAgIERhdGVDb21wb25lbnQsXG4gICAgRGF0ZVBpcGUsXG4gICAgRGF0ZVJhbmdlQ29tcG9uZW50LFxuICAgIERheXNQaXBlLFxuICAgIERvbGxhcnNQaXBlLFxuICAgIERvbnV0Q29tcG9uZW50LFxuICAgIEZvY3VzT25Jbml0RGlyZWN0aXZlLFxuICAgIEZ1bm5lbENoYXJ0Q29tcG9uZW50LFxuICAgIEhlbHBDb21wb25lbnQsXG4gICAgSGlnaGxpZ2h0Q29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgSW5wdXRMYWJlbENvbXBvbmVudCxcbiAgICBJc3N1ZUNvbXBvbmVudCxcbiAgICBMZWdlbmRJdGVtQ29tcG9uZW50LFxuICAgIExpbmtDb21wb25lbnQsXG4gICAgTG9hZGluZ0NvbXBvbmVudCxcbiAgICBMb2FkaW5nQ292ZXJDb21wb25lbnQsXG4gICAgTG9ja1Njcm9sbERpcmVjdGl2ZSxcbiAgICBNZXRyaWNDb21wb25lbnQsXG4gICAgTnVtYmVyUGlwZSxcbiAgICBPcHRpb25Hcm91cFBpcGUsXG4gICAgUGVyY2VudGFnZVBpcGUsXG4gICAgU2luZ2xlU2VsZWN0Q29tcG9uZW50LFxuICAgIFNtYWxsQ3VycmVuY3lQaXBlLFxuICAgIFN0YWNrZWRDb2x1bW5Db21wb25lbnQsXG4gICAgU3RhY2tlZFJvd0NvbXBvbmVudCxcbiAgICBTVkdUZXh0VHJ1bmNhdGVEaXJlY3RpdmUsXG4gICAgVGV4dFRvZ2dsZUNvbXBvbmVudCxcbiAgICBUaW1lU2VyaWVzQ29tcG9uZW50LFxuICAgIFRvb2x0aXBDb21wb25lbnQsXG4gICAgVG9vbHRpcERpcmVjdGl2ZSxcbiAgICBUcmVuZENvbXBvbmVudCxcbiAgICBUcnVuY2F0ZUNvbXBvbmVudCxcbiAgICBaZXJvU3RhdGVDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ2FsbG91dENvbXBvbmVudCxcbiAgICBDYWxsb3V0RGlyZWN0aXZlLFxuICAgIENhbGxvdXRPdXRsZXRDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlQ2VsbENvbXBvbmVudCxcbiAgICBEYXRhVGFibGVDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudCxcbiAgICBEYXRhVGFibGVSb3dDb21wb25lbnQsXG4gICAgRGF0ZUNvbXBvbmVudCxcbiAgICBEYXRlUGlwZSxcbiAgICBEYXRlUmFuZ2VDb21wb25lbnQsXG4gICAgRGF5c1BpcGUsXG4gICAgRG9sbGFyc1BpcGUsXG4gICAgRG9udXRDb21wb25lbnQsXG4gICAgRm9jdXNPbkluaXREaXJlY3RpdmUsXG4gICAgRnVubmVsQ2hhcnRDb21wb25lbnQsXG4gICAgSGVscENvbXBvbmVudCxcbiAgICBIaWdobGlnaHRDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBJbnB1dExhYmVsQ29tcG9uZW50LFxuICAgIElzc3VlQ29tcG9uZW50LFxuICAgIExlZ2VuZEl0ZW1Db21wb25lbnQsXG4gICAgTGlua0NvbXBvbmVudCxcbiAgICBMb2FkaW5nQ29tcG9uZW50LFxuICAgIExvYWRpbmdDb3ZlckNvbXBvbmVudCxcbiAgICBNZXRyaWNDb21wb25lbnQsXG4gICAgTnVtYmVyUGlwZSxcbiAgICBPcHRpb25Hcm91cFBpcGUsXG4gICAgUGVyY2VudGFnZVBpcGUsXG4gICAgU2luZ2xlU2VsZWN0Q29tcG9uZW50LFxuICAgIFNtYWxsQ3VycmVuY3lQaXBlLFxuICAgIFN0YWNrZWRDb2x1bW5Db21wb25lbnQsXG4gICAgU3RhY2tlZFJvd0NvbXBvbmVudCxcbiAgICBTVkdUZXh0VHJ1bmNhdGVEaXJlY3RpdmUsXG4gICAgVGV4dFRvZ2dsZUNvbXBvbmVudCxcbiAgICBUaW1lU2VyaWVzQ29tcG9uZW50LFxuICAgIFRvb2x0aXBDb21wb25lbnQsXG4gICAgVG9vbHRpcERpcmVjdGl2ZSxcbiAgICBUcmVuZENvbXBvbmVudCxcbiAgICBUcnVuY2F0ZUNvbXBvbmVudCxcbiAgICBaZXJvU3RhdGVDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBSaXZNb2R1bGUge31cbiJdfQ==
|