@litigiovirtual/ius-design-components 1.0.26 → 1.0.28
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/esm2022/lib/button-standard-tertiary/button-standard-tertiary.component.mjs +3 -3
- package/esm2022/lib/date-hour-picker/date-hour-picker.component.mjs +3 -3
- package/esm2022/lib/double-date-picker/double-date-picker.component.mjs +3 -3
- package/esm2022/lib/drawer-container-right/drawer-container-right.component.mjs +3 -3
- package/fesm2022/litigiovirtual-ius-design-components.mjs +8 -8
- package/fesm2022/litigiovirtual-ius-design-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -13,11 +13,11 @@ export class ButtonStandardTertiaryComponent {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonStandardTertiaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonStandardTertiaryComponent, isStandalone: true, selector: "ius-button-standard-tertiary", inputs: { disabled: "disabled", iconName: "iconName" }, outputs: { buttonClicked: "buttonClicked" }, ngImport: i0, template: "<button [disabled]=\"disabled\" (click)=\"onClick()\" class=\"ius-btn\">\r\n <ius-icon-md [iconName]=\"iconName\" class=\"icon-color\"></ius-icon-md>\r\n <ng-content></ng-content>\r\n</button>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.icon-color{color:#333}.ius-btn{display:inline-flex;padding:8px 24px;justify-content:center;align-items:center;gap:4px;border-radius:14px;background-color:#fff;color:#333;border:none;cursor:pointer;letter-spacing:.28px;font-family:Rubik,sans-serif;font-size:.875rem;line-height:20px}.ius-btn:hover:not(:disabled){background-color:#eaeaea}.ius-btn:active:not(:disabled){background-color:#02457f;color:#fff}.ius-btn:active:not(:disabled) .icon-color{color:#fff}.ius-btn:disabled{color:#bfbfbf;background-color:#fff;cursor:not-allowed}.ius-btn:disabled .icon-color{color:#bfbfbf}\n"], dependencies: [{ kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }] }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonStandardTertiaryComponent, isStandalone: true, selector: "ius-button-standard-tertiary", inputs: { disabled: "disabled", iconName: "iconName" }, outputs: { buttonClicked: "buttonClicked" }, ngImport: i0, template: "<button [disabled]=\"disabled\" (click)=\"onClick()\" class=\"ius-btn\">\r\n <ius-icon-md [iconName]=\"iconName\" class=\"icon-color\"></ius-icon-md>\r\n <ng-content></ng-content>\r\n</button>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.icon-color{color:#333}.ius-btn{width:100%;display:inline-flex;padding:8px 24px;justify-content:center;align-items:center;gap:4px;border-radius:14px;background-color:#fff;color:#333;border:none;cursor:pointer;letter-spacing:.28px;font-family:Rubik,sans-serif;font-size:.875rem;line-height:20px}.ius-btn:hover:not(:disabled){background-color:#eaeaea}.ius-btn:active:not(:disabled){background-color:#02457f;color:#fff}.ius-btn:active:not(:disabled) .icon-color{color:#fff}.ius-btn:disabled{color:#bfbfbf;background-color:#fff;cursor:not-allowed}.ius-btn:disabled .icon-color{color:#bfbfbf}\n"], dependencies: [{ kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }] }); }
|
|
17
17
|
}
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonStandardTertiaryComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
|
-
args: [{ selector: 'ius-button-standard-tertiary', standalone: true, imports: [IconMdComponent], template: "<button [disabled]=\"disabled\" (click)=\"onClick()\" class=\"ius-btn\">\r\n <ius-icon-md [iconName]=\"iconName\" class=\"icon-color\"></ius-icon-md>\r\n <ng-content></ng-content>\r\n</button>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.icon-color{color:#333}.ius-btn{display:inline-flex;padding:8px 24px;justify-content:center;align-items:center;gap:4px;border-radius:14px;background-color:#fff;color:#333;border:none;cursor:pointer;letter-spacing:.28px;font-family:Rubik,sans-serif;font-size:.875rem;line-height:20px}.ius-btn:hover:not(:disabled){background-color:#eaeaea}.ius-btn:active:not(:disabled){background-color:#02457f;color:#fff}.ius-btn:active:not(:disabled) .icon-color{color:#fff}.ius-btn:disabled{color:#bfbfbf;background-color:#fff;cursor:not-allowed}.ius-btn:disabled .icon-color{color:#bfbfbf}\n"] }]
|
|
20
|
+
args: [{ selector: 'ius-button-standard-tertiary', standalone: true, imports: [IconMdComponent], template: "<button [disabled]=\"disabled\" (click)=\"onClick()\" class=\"ius-btn\">\r\n <ius-icon-md [iconName]=\"iconName\" class=\"icon-color\"></ius-icon-md>\r\n <ng-content></ng-content>\r\n</button>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.icon-color{color:#333}.ius-btn{width:100%;display:inline-flex;padding:8px 24px;justify-content:center;align-items:center;gap:4px;border-radius:14px;background-color:#fff;color:#333;border:none;cursor:pointer;letter-spacing:.28px;font-family:Rubik,sans-serif;font-size:.875rem;line-height:20px}.ius-btn:hover:not(:disabled){background-color:#eaeaea}.ius-btn:active:not(:disabled){background-color:#02457f;color:#fff}.ius-btn:active:not(:disabled) .icon-color{color:#fff}.ius-btn:disabled{color:#bfbfbf;background-color:#fff;cursor:not-allowed}.ius-btn:disabled .icon-color{color:#bfbfbf}\n"] }]
|
|
21
21
|
}], propDecorators: { disabled: [{
|
|
22
22
|
type: Input
|
|
23
23
|
}], iconName: [{
|
|
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
25
25
|
}], buttonClicked: [{
|
|
26
26
|
type: Output
|
|
27
27
|
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2J1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeS9idXR0b24tc3RhbmRhcmQtdGVydGlhcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5L2J1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFTL0QsTUFBTSxPQUFPLCtCQUErQjtJQVA1QztRQVFXLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNiLGtCQUFhLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7S0FRbEU7SUFOQyxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7K0dBVFUsK0JBQStCO21HQUEvQiwrQkFBK0IsNkxDVjVDLDRNQUlBLDA5RERFWSxlQUFlOzs0RkFJZCwrQkFBK0I7a0JBUDNDLFNBQVM7K0JBQ0UsOEJBQThCLGNBQzVCLElBQUksV0FDUCxDQUFDLGVBQWUsQ0FBQzs4QkFLakIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uTWRDb21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1tZC9pY29uLW1kLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtJY29uTWRDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24tc3RhbmRhcmQtdGVydGlhcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9idXR0b24tc3RhbmRhcmQtdGVydGlhcnkuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXR0b25TdGFuZGFyZFRlcnRpYXJ5Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGljb25OYW1lID0gJyc7XHJcbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgb25DbGljaygpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkID09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8YnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIChjbGljayk9XCJvbkNsaWNrKClcIiBjbGFzcz1cIml1cy1idG5cIj5cclxuICAgIDxpdXMtaWNvbi1tZCBbaWNvbk5hbWVdPVwiaWNvbk5hbWVcIiBjbGFzcz1cImljb24tY29sb3JcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2J1dHRvbj5cclxuIl19
|
|
@@ -139,7 +139,7 @@ export class DateHourPickerComponent {
|
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DateHourPickerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
142
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DateHourPickerComponent, isStandalone: true, selector: "ius-date-hour-picker", inputs: { label: "label", placeholder: "placeholder", error: "error", helpText: "helpText", helpTextError: "helpTextError", disabled: "disabled", iconHelp: "iconHelp", isRequired: "isRequired" }, outputs: { dateSelected: "dateSelected" }, host: { listeners: { "document:click": "handleOutsideClick($event)" } }, ngImport: i0, template: "<div class=\"date-picker\" [class.disabled]=\"disabled\">\r\n <div class=\"text\">\r\n @if (isRequired) {\r\n <div class=\"required\"></div>\r\n }\r\n\r\n <label class=\"label\">{{ label }}</label>\r\n\r\n @if (iconHelp) {\r\n <div class=\"help-icon\">\r\n <ius-icon-md iconName=\"icon-help\"></ius-icon-md>\r\n </div>\r\n }\r\n\r\n <label class=\"label\">:</label>\r\n </div>\r\n\r\n <div class=\"input-wrapper\">\r\n <div\r\n class=\"container-textfield\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n focused: calendarOpen || focused,\r\n alert: !calendarOpen && error && !disabled,\r\n selected: selectedDate\r\n }\"\r\n (click)=\"toggleCalendar()\"\r\n >\r\n <div class=\"input\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [value]=\"\r\n selectedDate ? (selectedDate | date : 'dd/MM/yyyy hh:mm a') : ''\r\n \"\r\n readonly\r\n [disabled]=\"disabled\"\r\n />\r\n <div class=\"cnt-icon-right\">\r\n <ius-icon-md iconName=\"icon-calendar-today\"></ius-icon-md>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n @if (calendarOpen) {\r\n <div class=\"calendar-overlay\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"calendar-content\">\r\n <div class=\"calendar-side\">\r\n <div class=\"calendar-header\">\r\n <ius-button-standard-tertiary\r\n iconName=\"icon-keyboard-arrow-left\"\r\n (buttonClicked)=\"prev()\"\r\n ></ius-button-standard-tertiary>\r\n\r\n <span (click)=\"calendarView = nextView(calendarView)\">\r\n @switch (calendarView) { @case ('day') {\r\n {{ getMonthName(viewDate.getMonth()) }}\r\n {{ viewDate.getFullYear() }}\r\n } @case ('month') {\r\n {{ viewDate.getFullYear() }}\r\n } @case ('year') {\r\n {{ getDecadeStart() }}-{{ getDecadeStart() + 9 }}\r\n } }\r\n </span>\r\n\r\n <ius-button-standard-tertiary\r\n iconName=\"icon-keyboard-arrow-right\"\r\n (buttonClicked)=\"next()\"\r\n ></ius-button-standard-tertiary>\r\n </div>\r\n\r\n <div class=\"calendar-body\">\r\n @switch (calendarView) { @case ('day') {\r\n <div class=\"grid days\">\r\n @for (day of dayLabels; track day) {\r\n <div class=\"header\">{{ day }}</div>\r\n } @for (date of calendarDays; track date) {\r\n <div\r\n class=\"cell\"\r\n [class.selected]=\"\r\n selectedDate && isSameDate(date, selectedDate)\r\n \"\r\n [class.out-of-range]=\"date.getMonth() !== viewDate.getMonth()\"\r\n (click)=\"selectDate(date, true)\"\r\n >\r\n {{ date.getDate() }}\r\n </div>\r\n }\r\n </div>\r\n } @case ('month') {\r\n <div class=\"grid months\">\r\n @for (m of months; track m; let i = $index) {\r\n <div class=\"cell\" (click)=\"setMonth(i)\">{{ m }}</div>\r\n }\r\n </div>\r\n } @case ('year') {\r\n <div class=\"grid years\">\r\n @for (i of yearsArray; track i) {\r\n <div\r\n class=\"cell\"\r\n [class.out-of-range]=\"i === 0 || i === 11\"\r\n (click)=\"setYear(getDecadeStart() - 1 + i)\"\r\n >\r\n {{ getDecadeStart() - 1 + i }}\r\n </div>\r\n }\r\n </div>\r\n } }\r\n </div>\r\n </div>\r\n <div class=\"time-selector\">\r\n <button class=\"time-title\">\r\n <span>\r\n {{ selectedHour | number : \"2.0\" }}:{{\r\n selectedMinute === 0 ? \"00\" : (selectedMinute | number : \"2.0\")\r\n }}\r\n {{ selectedPeriod }}\r\n </span>\r\n </button>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"time-columns\">\r\n <div class=\"column scrollable\">\r\n @for (h of hours; track h) {\r\n <div [class.selected]=\"h === selectedHour\" (click)=\"selectedHour = h; selectDate(viewDate,true)\">\r\n {{ h | number : \"2.0\" }}\r\n </div>\r\n }\r\n </div>\r\n <div class=\"divider\"></div>\r\n <div class=\"column scrollable\">\r\n @for (m of minutes; track m) {\r\n <div [class.selected]=\"m === selectedMinute\" (click)=\"selectedMinute = m; selectDate(viewDate, true)\">\r\n {{ m | number : \"2.0\" }}\r\n </div>\r\n }\r\n </div>\r\n <div class=\"divider\"> </div>\r\n <div class=\"column\">\r\n <div [class.selected]=\"'AM' === selectedPeriod\" (click)=\"selectedPeriod = 'AM'; selectDate(viewDate, false)\"> AM </div>\r\n <div [class.selected]=\"'PM' === selectedPeriod\" (click)=\"selectedPeriod = 'PM'; selectDate(viewDate, false)\"> PM </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ius-simple-divider></ius-simple-divider>\r\n <button class=\"today\" (click)=\"goToToday()\">Fecha y hora actual</button>\r\n </div>\r\n }\r\n </div>\r\n @if (helpText && focused && !error) {\r\n <div class=\"help-text\">\r\n {{helpText}}\r\n </div>\r\n }\r\n @if (helpTextError && error) {\r\n <div class=\"help-text-error\">\r\n {{helpTextError}}\r\n </div>\r\n }\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.required{width:4px;height:4px;margin-right:4px;aspect-ratio:1/1;border-radius:50%;background-color:#ff4e3a}.text{display:flex;align-items:center}.date-picker{height:100%;position:relative;display:flex;flex-direction:column}.date-picker.disabled{opacity:.6;pointer-events:none}.date-picker .label{margin:0 4px;color:#333;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;font-style:normal;line-height:20px;letter-spacing:.28px}.date-picker .help-icon{color:#595959}.date-picker .container-textfield{display:flex;align-items:flex-start;gap:4px}.date-picker .container-textfield .input{width:100%;display:flex;align-items:flex-start;justify-content:center;gap:4px;padding:12px;border-radius:8px;background:#f5f5f5;cursor:pointer;border:none}.date-picker .container-textfield .input input{flex:1;outline:none;border:none;background:#f5f5f5;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;font-style:normal;line-height:20px;letter-spacing:.28px;cursor:pointer}.date-picker .container-textfield .cnt-icon-right{display:flex;align-items:center;justify-content:center;color:#333}.date-picker .container-textfield:hover .input,.date-picker .container-textfield:hover .input input{background-color:#edf6ff}.date-picker .container-textfield:hover .input .cnt-icon-right{color:#061b7a}.date-picker .container-textfield.focused .input{border:1px solid #0581BC;background:#edf6ff}.date-picker .container-textfield.focused .input input{background-color:#edf6ff;border:none}.date-picker .container-textfield.focused .input .cnt-icon-right{color:#061b7a}.date-picker .container-textfield.alert .input{border-radius:8px;border:1px solid #DB2E2A;background:#fff4f0}.date-picker .container-textfield.alert .input input{background:#fff4f0}.date-picker .container-textfield.alert .input .cnt-icon-right{color:#db2e2a}.date-picker .container-textfield.selected .input{background:#f5f5f5}.date-picker .container-textfield.selected .input input{background:#f5f5f5;border:none;color:#333;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.date-picker .container-textfield.selected .input .help-icon{color:#595959}.date-picker .container-textfield.disabled{background:#f5f5f5}.date-picker .container-textfield.disabled input::placeholder{color:#bfbfbf;opacity:1}.date-picker .container-textfield.disabled .cnt-icon-right{color:#bfbfbf}.date-picker .calendar-content{display:flex;flex-direction:row;width:auto;max-width:none}.date-picker .calendar-side{padding:12px;flex:1;min-width:260px}.date-picker .calendar-overlay{display:flex;flex-direction:column;align-items:stretch;border-radius:8px;border:1px solid #f5f5f5;background:#fff;min-width:500px;width:100%;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.date-picker .calendar-overlay .mes{display:flex;flex-direction:column;align-items:flex-start;padding:16px 12px}.date-picker .calendar-overlay .calendar-header{display:flex;align-items:center;align-self:stretch}.date-picker .calendar-overlay .calendar-header span{flex:1;display:flex;justify-content:center;align-items:center;color:#333;cursor:pointer;font-family:Roboto;font-size:1rem;font-weight:500;font-style:normal;line-height:22px}.date-picker .calendar-overlay .calendar-body{display:flex;flex-direction:column;gap:8px;margin:0 10px}.date-picker .calendar-overlay .grid{display:grid;gap:8px}.date-picker .calendar-overlay .grid.days{grid-template-columns:repeat(7,1fr)}.date-picker .calendar-overlay .grid.months,.date-picker .calendar-overlay .grid.years{margin-left:27px;grid-template-columns:repeat(3,1fr)}.date-picker .calendar-overlay .grid .header{display:flex;align-items:center;height:30px;padding:2px 4px;gap:16px;color:#333;font-family:Rubik;font-size:.75rem;font-weight:500;font-style:normal;line-height:16px;letter-spacing:.24px}.date-picker .calendar-overlay .grid .cell{display:flex;width:24px;height:24px;min-width:24px;min-height:24px;flex-direction:column;justify-content:center;align-items:center;aspect-ratio:1/1;background:#fff;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;font-style:normal;line-height:20px;letter-spacing:.28px;cursor:pointer}.date-picker .calendar-overlay .grid .cell:hover{background:#edf6ff}.date-picker .calendar-overlay .grid .cell.out-of-range{color:#bfbfbf}.date-picker .calendar-overlay .grid .cell.selected{border-radius:100px;border:1px solid #184FDB;background:#2167ff;color:#fff}.date-picker .calendar-overlay .today{margin-top:8px;width:100%;padding:8px;border:none;background:transparent;display:flex;justify-content:center;align-items:center;gap:4px;color:#333;cursor:pointer;font-family:Roboto;font-size:1rem;font-weight:500;font-style:normal;line-height:22px}.time-selector{border-left:1px solid #f0f0f0;padding:12px 8px;display:flex;flex-direction:column;gap:8px;min-width:150px}.time-selector .time-columns{display:flex;gap:4px;justify-content:center}.time-selector .time-title{display:flex;padding:8px;justify-content:center;align-items:center;gap:4px;align-self:stretch;border-radius:4px;border:none;background-color:#fff}.time-selector .time-title span{color:#333;font-family:Roboto,sans-serif;font-size:1rem;font-style:normal;font-weight:500;line-height:22px}.time-selector .divider{background-color:#b6b4b430;height:100%;width:1px}.time-selector .column{overflow-y:auto;display:flex;height:218px;flex-direction:column;align-items:flex-start;margin:0 2px}.time-selector .column .list{display:flex;padding:4px 8px;justify-content:flex-end;align-items:flex-start;gap:8px;align-self:stretch}.time-selector .column::-webkit-scrollbar{width:4px}.time-selector .column::-webkit-scrollbar-thumb{background-color:#fff;border-radius:4px}.time-selector .column div{display:flex;height:28px;padding:4px 8px;justify-content:flex-end;align-items:flex-start;gap:8px;flex-shrink:0;align-self:stretch;background:#fff;color:#595959;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.time-selector .column div:hover{cursor:pointer}.time-selector .column div.selected{display:flex;padding:4px 8px;justify-content:flex-end;align-items:center;gap:8px;align-self:stretch;border-radius:8px;background:#2167ff;color:#fff}.time-selector .today{margin-top:8px;padding:8px;text-align:center;font-weight:500;color:#333}.help-text{display:flex;align-items:center;gap:10px;color:#595959;font-family:Rubik,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}.help-text-error{display:flex;align-items:center;gap:10px;color:#931224;font-family:Rubik,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }, { kind: "component", type: SimpleDividerComponent, selector: "ius-simple-divider" }, { kind: "component", type: ButtonStandardTertiaryComponent, selector: "ius-button-standard-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }] }); }
|
|
142
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DateHourPickerComponent, isStandalone: true, selector: "ius-date-hour-picker", inputs: { label: "label", placeholder: "placeholder", error: "error", helpText: "helpText", helpTextError: "helpTextError", disabled: "disabled", iconHelp: "iconHelp", isRequired: "isRequired" }, outputs: { dateSelected: "dateSelected" }, host: { listeners: { "document:click": "handleOutsideClick($event)" } }, ngImport: i0, template: "<div class=\"date-picker\" [class.disabled]=\"disabled\">\r\n <div class=\"text\">\r\n @if (isRequired) {\r\n <div class=\"required\"></div>\r\n }\r\n\r\n <label class=\"label\">{{ label }}</label>\r\n\r\n @if (iconHelp) {\r\n <div class=\"help-icon\">\r\n <ius-icon-md iconName=\"icon-help\"></ius-icon-md>\r\n </div>\r\n }\r\n\r\n <label class=\"label\">:</label>\r\n </div>\r\n\r\n <div class=\"input-wrapper\">\r\n <div\r\n class=\"container-textfield\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n focused: calendarOpen || focused,\r\n alert: !calendarOpen && error && !disabled,\r\n selected: selectedDate\r\n }\"\r\n (click)=\"toggleCalendar()\"\r\n >\r\n <div class=\"input\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [value]=\"\r\n selectedDate ? (selectedDate | date : 'dd/MM/yyyy hh:mm a') : ''\r\n \"\r\n readonly\r\n [disabled]=\"disabled\"\r\n />\r\n <div class=\"cnt-icon-right\">\r\n <ius-icon-md iconName=\"icon-calendar-today\"></ius-icon-md>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n @if (calendarOpen) {\r\n <div class=\"calendar-overlay\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"calendar-content\">\r\n <div class=\"calendar-side\">\r\n <div class=\"calendar-header\">\r\n <ius-button-standard-tertiary\r\n iconName=\"icon-keyboard-arrow-left\"\r\n (buttonClicked)=\"prev()\"\r\n ></ius-button-standard-tertiary>\r\n\r\n <span (click)=\"calendarView = nextView(calendarView)\">\r\n @switch (calendarView) { @case ('day') {\r\n {{ getMonthName(viewDate.getMonth()) }}\r\n {{ viewDate.getFullYear() }}\r\n } @case ('month') {\r\n {{ viewDate.getFullYear() }}\r\n } @case ('year') {\r\n {{ getDecadeStart() }}-{{ getDecadeStart() + 9 }}\r\n } }\r\n </span>\r\n\r\n <ius-button-standard-tertiary\r\n iconName=\"icon-keyboard-arrow-right\"\r\n (buttonClicked)=\"next()\"\r\n ></ius-button-standard-tertiary>\r\n </div>\r\n\r\n <div class=\"calendar-body\">\r\n @switch (calendarView) { @case ('day') {\r\n <div class=\"grid days\">\r\n @for (day of dayLabels; track day) {\r\n <div class=\"header\">{{ day }}</div>\r\n } @for (date of calendarDays; track date) {\r\n <div\r\n class=\"cell\"\r\n [class.selected]=\"\r\n selectedDate && isSameDate(date, selectedDate)\r\n \"\r\n [class.out-of-range]=\"date.getMonth() !== viewDate.getMonth()\"\r\n (click)=\"selectDate(date, true)\"\r\n >\r\n {{ date.getDate() }}\r\n </div>\r\n }\r\n </div>\r\n } @case ('month') {\r\n <div class=\"grid months\">\r\n @for (m of months; track m; let i = $index) {\r\n <div class=\"cell\" (click)=\"setMonth(i)\">{{ m }}</div>\r\n }\r\n </div>\r\n } @case ('year') {\r\n <div class=\"grid years\">\r\n @for (i of yearsArray; track i) {\r\n <div\r\n class=\"cell\"\r\n [class.out-of-range]=\"i === 0 || i === 11\"\r\n (click)=\"setYear(getDecadeStart() - 1 + i)\"\r\n >\r\n {{ getDecadeStart() - 1 + i }}\r\n </div>\r\n }\r\n </div>\r\n } }\r\n </div>\r\n </div>\r\n <div class=\"time-selector\">\r\n <button class=\"time-title\">\r\n <span>\r\n {{ selectedHour | number : \"2.0\" }}:{{\r\n selectedMinute === 0 ? \"00\" : (selectedMinute | number : \"2.0\")\r\n }}\r\n {{ selectedPeriod }}\r\n </span>\r\n </button>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"time-columns\">\r\n <div class=\"column scrollable\">\r\n @for (h of hours; track h) {\r\n <div [class.selected]=\"h === selectedHour\" (click)=\"selectedHour = h; selectDate(viewDate,true)\">\r\n {{ h | number : \"2.0\" }}\r\n </div>\r\n }\r\n </div>\r\n <div class=\"divider\"></div>\r\n <div class=\"column scrollable\">\r\n @for (m of minutes; track m) {\r\n <div [class.selected]=\"m === selectedMinute\" (click)=\"selectedMinute = m; selectDate(viewDate, true)\">\r\n {{ m | number : \"2.0\" }}\r\n </div>\r\n }\r\n </div>\r\n <div class=\"divider\"> </div>\r\n <div class=\"column\">\r\n <div [class.selected]=\"'AM' === selectedPeriod\" (click)=\"selectedPeriod = 'AM'; selectDate(viewDate, false)\"> AM </div>\r\n <div [class.selected]=\"'PM' === selectedPeriod\" (click)=\"selectedPeriod = 'PM'; selectDate(viewDate, false)\"> PM </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ius-simple-divider></ius-simple-divider>\r\n <button class=\"today\" (click)=\"goToToday()\">Fecha y hora actual</button>\r\n </div>\r\n }\r\n </div>\r\n @if (helpText && focused && !error) {\r\n <div class=\"help-text\">\r\n {{helpText}}\r\n </div>\r\n }\r\n @if (helpTextError && error) {\r\n <div class=\"help-text-error\">\r\n {{helpTextError}}\r\n </div>\r\n }\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.required{width:4px;height:4px;margin-right:4px;aspect-ratio:1/1;border-radius:50%;background-color:#ff4e3a}.text{display:flex;align-items:center}.date-picker{height:100%;position:relative;display:flex;flex-direction:column}.date-picker.disabled{opacity:.6;pointer-events:none}.date-picker .label{margin:0 4px;color:#333;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;font-style:normal;line-height:20px;letter-spacing:.28px}.date-picker .help-icon{color:#595959}.date-picker .container-textfield{display:flex;align-items:flex-start;gap:4px}.date-picker .container-textfield .input{width:100%;display:flex;align-items:flex-start;justify-content:center;gap:4px;padding:12px;border-radius:8px;background:#f5f5f5;cursor:pointer;border:none}.date-picker .container-textfield .input input{flex:1;outline:none;border:none;background:#f5f5f5;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;font-style:normal;line-height:20px;letter-spacing:.28px;cursor:pointer}.date-picker .container-textfield .cnt-icon-right{display:flex;align-items:center;justify-content:center;color:#333}.date-picker .container-textfield:hover .input,.date-picker .container-textfield:hover .input input{background-color:#edf6ff}.date-picker .container-textfield:hover .input .cnt-icon-right{color:#061b7a}.date-picker .container-textfield.focused .input{border:1px solid #0581BC;background:#edf6ff}.date-picker .container-textfield.focused .input input{background-color:#edf6ff;border:none}.date-picker .container-textfield.focused .input .cnt-icon-right{color:#061b7a}.date-picker .container-textfield.alert .input{border-radius:8px;border:1px solid #DB2E2A;background:#fff4f0}.date-picker .container-textfield.alert .input input{background:#fff4f0}.date-picker .container-textfield.alert .input .cnt-icon-right{color:#db2e2a}.date-picker .container-textfield.selected .input{background:#f5f5f5}.date-picker .container-textfield.selected .input input{background:#f5f5f5;border:none;color:#333;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.date-picker .container-textfield.selected .input .help-icon{color:#595959}.date-picker .container-textfield.disabled{background:#f5f5f5}.date-picker .container-textfield.disabled input::placeholder{color:#bfbfbf;opacity:1}.date-picker .container-textfield.disabled .cnt-icon-right{color:#bfbfbf}.date-picker .calendar-content{display:flex;flex-direction:row;width:auto;max-width:none}.date-picker .calendar-side{padding:12px;flex:1;min-width:260px}.date-picker .calendar-overlay{position:absolute;right:0;z-index:1;display:flex;flex-direction:column;align-items:stretch;border-radius:8px;border:1px solid #f5f5f5;background:#fff;min-width:500px;width:100%;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.date-picker .calendar-overlay .mes{display:flex;flex-direction:column;align-items:flex-start;padding:16px 12px}.date-picker .calendar-overlay .calendar-header{display:flex;align-items:center;align-self:stretch}.date-picker .calendar-overlay .calendar-header span{flex:1;display:flex;justify-content:center;align-items:center;color:#333;cursor:pointer;font-family:Roboto;font-size:1rem;font-weight:500;font-style:normal;line-height:22px}.date-picker .calendar-overlay .calendar-body{display:flex;flex-direction:column;gap:8px;margin:0 10px}.date-picker .calendar-overlay .grid{display:grid;gap:8px}.date-picker .calendar-overlay .grid.days{grid-template-columns:repeat(7,1fr)}.date-picker .calendar-overlay .grid.months,.date-picker .calendar-overlay .grid.years{margin-left:27px;grid-template-columns:repeat(3,1fr)}.date-picker .calendar-overlay .grid .header{display:flex;align-items:center;height:30px;padding:2px 4px;gap:16px;color:#333;font-family:Rubik;font-size:.75rem;font-weight:500;font-style:normal;line-height:16px;letter-spacing:.24px}.date-picker .calendar-overlay .grid .cell{display:flex;width:24px;height:24px;min-width:24px;min-height:24px;flex-direction:column;justify-content:center;align-items:center;aspect-ratio:1/1;background:#fff;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;font-style:normal;line-height:20px;letter-spacing:.28px;cursor:pointer}.date-picker .calendar-overlay .grid .cell:hover{background:#edf6ff}.date-picker .calendar-overlay .grid .cell.out-of-range{color:#bfbfbf}.date-picker .calendar-overlay .grid .cell.selected{border-radius:100px;border:1px solid #184FDB;background:#2167ff;color:#fff}.date-picker .calendar-overlay .today{margin-top:8px;width:100%;padding:8px;border:none;background:transparent;display:flex;justify-content:center;align-items:center;gap:4px;color:#333;cursor:pointer;font-family:Roboto;font-size:1rem;font-weight:500;font-style:normal;line-height:22px}.time-selector{border-left:1px solid #f0f0f0;padding:12px 8px;display:flex;flex-direction:column;gap:8px;min-width:150px}.time-selector .time-columns{display:flex;gap:4px;justify-content:center}.time-selector .time-title{display:flex;padding:8px;justify-content:center;align-items:center;gap:4px;align-self:stretch;border-radius:4px;border:none;background-color:#fff}.time-selector .time-title span{color:#333;font-family:Roboto,sans-serif;font-size:1rem;font-style:normal;font-weight:500;line-height:22px}.time-selector .divider{background-color:#b6b4b430;height:100%;width:1px}.time-selector .column{overflow-y:auto;display:flex;height:218px;flex-direction:column;align-items:flex-start;margin:0 2px}.time-selector .column .list{display:flex;padding:4px 8px;justify-content:flex-end;align-items:flex-start;gap:8px;align-self:stretch}.time-selector .column::-webkit-scrollbar{width:4px}.time-selector .column::-webkit-scrollbar-thumb{background-color:#fff;border-radius:4px}.time-selector .column div{display:flex;height:28px;padding:4px 8px;justify-content:flex-end;align-items:flex-start;gap:8px;flex-shrink:0;align-self:stretch;background:#fff;color:#595959;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.time-selector .column div:hover{cursor:pointer}.time-selector .column div.selected{display:flex;padding:4px 8px;justify-content:flex-end;align-items:center;gap:8px;align-self:stretch;border-radius:8px;background:#2167ff;color:#fff}.time-selector .today{margin-top:8px;padding:8px;text-align:center;font-weight:500;color:#333}.help-text{display:flex;align-items:center;gap:10px;color:#595959;font-family:Rubik,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}.help-text-error{display:flex;align-items:center;gap:10px;color:#931224;font-family:Rubik,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }, { kind: "component", type: SimpleDividerComponent, selector: "ius-simple-divider" }, { kind: "component", type: ButtonStandardTertiaryComponent, selector: "ius-button-standard-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }] }); }
|
|
143
143
|
}
|
|
144
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DateHourPickerComponent, decorators: [{
|
|
145
145
|
type: Component,
|
|
@@ -148,7 +148,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
148
148
|
IconMdComponent,
|
|
149
149
|
SimpleDividerComponent,
|
|
150
150
|
ButtonStandardTertiaryComponent,
|
|
151
|
-
], template: "<div class=\"date-picker\" [class.disabled]=\"disabled\">\r\n <div class=\"text\">\r\n @if (isRequired) {\r\n <div class=\"required\"></div>\r\n }\r\n\r\n <label class=\"label\">{{ label }}</label>\r\n\r\n @if (iconHelp) {\r\n <div class=\"help-icon\">\r\n <ius-icon-md iconName=\"icon-help\"></ius-icon-md>\r\n </div>\r\n }\r\n\r\n <label class=\"label\">:</label>\r\n </div>\r\n\r\n <div class=\"input-wrapper\">\r\n <div\r\n class=\"container-textfield\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n focused: calendarOpen || focused,\r\n alert: !calendarOpen && error && !disabled,\r\n selected: selectedDate\r\n }\"\r\n (click)=\"toggleCalendar()\"\r\n >\r\n <div class=\"input\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [value]=\"\r\n selectedDate ? (selectedDate | date : 'dd/MM/yyyy hh:mm a') : ''\r\n \"\r\n readonly\r\n [disabled]=\"disabled\"\r\n />\r\n <div class=\"cnt-icon-right\">\r\n <ius-icon-md iconName=\"icon-calendar-today\"></ius-icon-md>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n @if (calendarOpen) {\r\n <div class=\"calendar-overlay\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"calendar-content\">\r\n <div class=\"calendar-side\">\r\n <div class=\"calendar-header\">\r\n <ius-button-standard-tertiary\r\n iconName=\"icon-keyboard-arrow-left\"\r\n (buttonClicked)=\"prev()\"\r\n ></ius-button-standard-tertiary>\r\n\r\n <span (click)=\"calendarView = nextView(calendarView)\">\r\n @switch (calendarView) { @case ('day') {\r\n {{ getMonthName(viewDate.getMonth()) }}\r\n {{ viewDate.getFullYear() }}\r\n } @case ('month') {\r\n {{ viewDate.getFullYear() }}\r\n } @case ('year') {\r\n {{ getDecadeStart() }}-{{ getDecadeStart() + 9 }}\r\n } }\r\n </span>\r\n\r\n <ius-button-standard-tertiary\r\n iconName=\"icon-keyboard-arrow-right\"\r\n (buttonClicked)=\"next()\"\r\n ></ius-button-standard-tertiary>\r\n </div>\r\n\r\n <div class=\"calendar-body\">\r\n @switch (calendarView) { @case ('day') {\r\n <div class=\"grid days\">\r\n @for (day of dayLabels; track day) {\r\n <div class=\"header\">{{ day }}</div>\r\n } @for (date of calendarDays; track date) {\r\n <div\r\n class=\"cell\"\r\n [class.selected]=\"\r\n selectedDate && isSameDate(date, selectedDate)\r\n \"\r\n [class.out-of-range]=\"date.getMonth() !== viewDate.getMonth()\"\r\n (click)=\"selectDate(date, true)\"\r\n >\r\n {{ date.getDate() }}\r\n </div>\r\n }\r\n </div>\r\n } @case ('month') {\r\n <div class=\"grid months\">\r\n @for (m of months; track m; let i = $index) {\r\n <div class=\"cell\" (click)=\"setMonth(i)\">{{ m }}</div>\r\n }\r\n </div>\r\n } @case ('year') {\r\n <div class=\"grid years\">\r\n @for (i of yearsArray; track i) {\r\n <div\r\n class=\"cell\"\r\n [class.out-of-range]=\"i === 0 || i === 11\"\r\n (click)=\"setYear(getDecadeStart() - 1 + i)\"\r\n >\r\n {{ getDecadeStart() - 1 + i }}\r\n </div>\r\n }\r\n </div>\r\n } }\r\n </div>\r\n </div>\r\n <div class=\"time-selector\">\r\n <button class=\"time-title\">\r\n <span>\r\n {{ selectedHour | number : \"2.0\" }}:{{\r\n selectedMinute === 0 ? \"00\" : (selectedMinute | number : \"2.0\")\r\n }}\r\n {{ selectedPeriod }}\r\n </span>\r\n </button>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"time-columns\">\r\n <div class=\"column scrollable\">\r\n @for (h of hours; track h) {\r\n <div [class.selected]=\"h === selectedHour\" (click)=\"selectedHour = h; selectDate(viewDate,true)\">\r\n {{ h | number : \"2.0\" }}\r\n </div>\r\n }\r\n </div>\r\n <div class=\"divider\"></div>\r\n <div class=\"column scrollable\">\r\n @for (m of minutes; track m) {\r\n <div [class.selected]=\"m === selectedMinute\" (click)=\"selectedMinute = m; selectDate(viewDate, true)\">\r\n {{ m | number : \"2.0\" }}\r\n </div>\r\n }\r\n </div>\r\n <div class=\"divider\"> </div>\r\n <div class=\"column\">\r\n <div [class.selected]=\"'AM' === selectedPeriod\" (click)=\"selectedPeriod = 'AM'; selectDate(viewDate, false)\"> AM </div>\r\n <div [class.selected]=\"'PM' === selectedPeriod\" (click)=\"selectedPeriod = 'PM'; selectDate(viewDate, false)\"> PM </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ius-simple-divider></ius-simple-divider>\r\n <button class=\"today\" (click)=\"goToToday()\">Fecha y hora actual</button>\r\n </div>\r\n }\r\n </div>\r\n @if (helpText && focused && !error) {\r\n <div class=\"help-text\">\r\n {{helpText}}\r\n </div>\r\n }\r\n @if (helpTextError && error) {\r\n <div class=\"help-text-error\">\r\n {{helpTextError}}\r\n </div>\r\n }\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.required{width:4px;height:4px;margin-right:4px;aspect-ratio:1/1;border-radius:50%;background-color:#ff4e3a}.text{display:flex;align-items:center}.date-picker{height:100%;position:relative;display:flex;flex-direction:column}.date-picker.disabled{opacity:.6;pointer-events:none}.date-picker .label{margin:0 4px;color:#333;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;font-style:normal;line-height:20px;letter-spacing:.28px}.date-picker .help-icon{color:#595959}.date-picker .container-textfield{display:flex;align-items:flex-start;gap:4px}.date-picker .container-textfield .input{width:100%;display:flex;align-items:flex-start;justify-content:center;gap:4px;padding:12px;border-radius:8px;background:#f5f5f5;cursor:pointer;border:none}.date-picker .container-textfield .input input{flex:1;outline:none;border:none;background:#f5f5f5;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;font-style:normal;line-height:20px;letter-spacing:.28px;cursor:pointer}.date-picker .container-textfield .cnt-icon-right{display:flex;align-items:center;justify-content:center;color:#333}.date-picker .container-textfield:hover .input,.date-picker .container-textfield:hover .input input{background-color:#edf6ff}.date-picker .container-textfield:hover .input .cnt-icon-right{color:#061b7a}.date-picker .container-textfield.focused .input{border:1px solid #0581BC;background:#edf6ff}.date-picker .container-textfield.focused .input input{background-color:#edf6ff;border:none}.date-picker .container-textfield.focused .input .cnt-icon-right{color:#061b7a}.date-picker .container-textfield.alert .input{border-radius:8px;border:1px solid #DB2E2A;background:#fff4f0}.date-picker .container-textfield.alert .input input{background:#fff4f0}.date-picker .container-textfield.alert .input .cnt-icon-right{color:#db2e2a}.date-picker .container-textfield.selected .input{background:#f5f5f5}.date-picker .container-textfield.selected .input input{background:#f5f5f5;border:none;color:#333;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.date-picker .container-textfield.selected .input .help-icon{color:#595959}.date-picker .container-textfield.disabled{background:#f5f5f5}.date-picker .container-textfield.disabled input::placeholder{color:#bfbfbf;opacity:1}.date-picker .container-textfield.disabled .cnt-icon-right{color:#bfbfbf}.date-picker .calendar-content{display:flex;flex-direction:row;width:auto;max-width:none}.date-picker .calendar-side{padding:12px;flex:1;min-width:260px}.date-picker .calendar-overlay{display:flex;flex-direction:column;align-items:stretch;border-radius:8px;border:1px solid #f5f5f5;background:#fff;min-width:500px;width:100%;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.date-picker .calendar-overlay .mes{display:flex;flex-direction:column;align-items:flex-start;padding:16px 12px}.date-picker .calendar-overlay .calendar-header{display:flex;align-items:center;align-self:stretch}.date-picker .calendar-overlay .calendar-header span{flex:1;display:flex;justify-content:center;align-items:center;color:#333;cursor:pointer;font-family:Roboto;font-size:1rem;font-weight:500;font-style:normal;line-height:22px}.date-picker .calendar-overlay .calendar-body{display:flex;flex-direction:column;gap:8px;margin:0 10px}.date-picker .calendar-overlay .grid{display:grid;gap:8px}.date-picker .calendar-overlay .grid.days{grid-template-columns:repeat(7,1fr)}.date-picker .calendar-overlay .grid.months,.date-picker .calendar-overlay .grid.years{margin-left:27px;grid-template-columns:repeat(3,1fr)}.date-picker .calendar-overlay .grid .header{display:flex;align-items:center;height:30px;padding:2px 4px;gap:16px;color:#333;font-family:Rubik;font-size:.75rem;font-weight:500;font-style:normal;line-height:16px;letter-spacing:.24px}.date-picker .calendar-overlay .grid .cell{display:flex;width:24px;height:24px;min-width:24px;min-height:24px;flex-direction:column;justify-content:center;align-items:center;aspect-ratio:1/1;background:#fff;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;font-style:normal;line-height:20px;letter-spacing:.28px;cursor:pointer}.date-picker .calendar-overlay .grid .cell:hover{background:#edf6ff}.date-picker .calendar-overlay .grid .cell.out-of-range{color:#bfbfbf}.date-picker .calendar-overlay .grid .cell.selected{border-radius:100px;border:1px solid #184FDB;background:#2167ff;color:#fff}.date-picker .calendar-overlay .today{margin-top:8px;width:100%;padding:8px;border:none;background:transparent;display:flex;justify-content:center;align-items:center;gap:4px;color:#333;cursor:pointer;font-family:Roboto;font-size:1rem;font-weight:500;font-style:normal;line-height:22px}.time-selector{border-left:1px solid #f0f0f0;padding:12px 8px;display:flex;flex-direction:column;gap:8px;min-width:150px}.time-selector .time-columns{display:flex;gap:4px;justify-content:center}.time-selector .time-title{display:flex;padding:8px;justify-content:center;align-items:center;gap:4px;align-self:stretch;border-radius:4px;border:none;background-color:#fff}.time-selector .time-title span{color:#333;font-family:Roboto,sans-serif;font-size:1rem;font-style:normal;font-weight:500;line-height:22px}.time-selector .divider{background-color:#b6b4b430;height:100%;width:1px}.time-selector .column{overflow-y:auto;display:flex;height:218px;flex-direction:column;align-items:flex-start;margin:0 2px}.time-selector .column .list{display:flex;padding:4px 8px;justify-content:flex-end;align-items:flex-start;gap:8px;align-self:stretch}.time-selector .column::-webkit-scrollbar{width:4px}.time-selector .column::-webkit-scrollbar-thumb{background-color:#fff;border-radius:4px}.time-selector .column div{display:flex;height:28px;padding:4px 8px;justify-content:flex-end;align-items:flex-start;gap:8px;flex-shrink:0;align-self:stretch;background:#fff;color:#595959;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.time-selector .column div:hover{cursor:pointer}.time-selector .column div.selected{display:flex;padding:4px 8px;justify-content:flex-end;align-items:center;gap:8px;align-self:stretch;border-radius:8px;background:#2167ff;color:#fff}.time-selector .today{margin-top:8px;padding:8px;text-align:center;font-weight:500;color:#333}.help-text{display:flex;align-items:center;gap:10px;color:#595959;font-family:Rubik,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}.help-text-error{display:flex;align-items:center;gap:10px;color:#931224;font-family:Rubik,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}\n"] }]
|
|
151
|
+
], template: "<div class=\"date-picker\" [class.disabled]=\"disabled\">\r\n <div class=\"text\">\r\n @if (isRequired) {\r\n <div class=\"required\"></div>\r\n }\r\n\r\n <label class=\"label\">{{ label }}</label>\r\n\r\n @if (iconHelp) {\r\n <div class=\"help-icon\">\r\n <ius-icon-md iconName=\"icon-help\"></ius-icon-md>\r\n </div>\r\n }\r\n\r\n <label class=\"label\">:</label>\r\n </div>\r\n\r\n <div class=\"input-wrapper\">\r\n <div\r\n class=\"container-textfield\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n focused: calendarOpen || focused,\r\n alert: !calendarOpen && error && !disabled,\r\n selected: selectedDate\r\n }\"\r\n (click)=\"toggleCalendar()\"\r\n >\r\n <div class=\"input\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [value]=\"\r\n selectedDate ? (selectedDate | date : 'dd/MM/yyyy hh:mm a') : ''\r\n \"\r\n readonly\r\n [disabled]=\"disabled\"\r\n />\r\n <div class=\"cnt-icon-right\">\r\n <ius-icon-md iconName=\"icon-calendar-today\"></ius-icon-md>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n @if (calendarOpen) {\r\n <div class=\"calendar-overlay\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"calendar-content\">\r\n <div class=\"calendar-side\">\r\n <div class=\"calendar-header\">\r\n <ius-button-standard-tertiary\r\n iconName=\"icon-keyboard-arrow-left\"\r\n (buttonClicked)=\"prev()\"\r\n ></ius-button-standard-tertiary>\r\n\r\n <span (click)=\"calendarView = nextView(calendarView)\">\r\n @switch (calendarView) { @case ('day') {\r\n {{ getMonthName(viewDate.getMonth()) }}\r\n {{ viewDate.getFullYear() }}\r\n } @case ('month') {\r\n {{ viewDate.getFullYear() }}\r\n } @case ('year') {\r\n {{ getDecadeStart() }}-{{ getDecadeStart() + 9 }}\r\n } }\r\n </span>\r\n\r\n <ius-button-standard-tertiary\r\n iconName=\"icon-keyboard-arrow-right\"\r\n (buttonClicked)=\"next()\"\r\n ></ius-button-standard-tertiary>\r\n </div>\r\n\r\n <div class=\"calendar-body\">\r\n @switch (calendarView) { @case ('day') {\r\n <div class=\"grid days\">\r\n @for (day of dayLabels; track day) {\r\n <div class=\"header\">{{ day }}</div>\r\n } @for (date of calendarDays; track date) {\r\n <div\r\n class=\"cell\"\r\n [class.selected]=\"\r\n selectedDate && isSameDate(date, selectedDate)\r\n \"\r\n [class.out-of-range]=\"date.getMonth() !== viewDate.getMonth()\"\r\n (click)=\"selectDate(date, true)\"\r\n >\r\n {{ date.getDate() }}\r\n </div>\r\n }\r\n </div>\r\n } @case ('month') {\r\n <div class=\"grid months\">\r\n @for (m of months; track m; let i = $index) {\r\n <div class=\"cell\" (click)=\"setMonth(i)\">{{ m }}</div>\r\n }\r\n </div>\r\n } @case ('year') {\r\n <div class=\"grid years\">\r\n @for (i of yearsArray; track i) {\r\n <div\r\n class=\"cell\"\r\n [class.out-of-range]=\"i === 0 || i === 11\"\r\n (click)=\"setYear(getDecadeStart() - 1 + i)\"\r\n >\r\n {{ getDecadeStart() - 1 + i }}\r\n </div>\r\n }\r\n </div>\r\n } }\r\n </div>\r\n </div>\r\n <div class=\"time-selector\">\r\n <button class=\"time-title\">\r\n <span>\r\n {{ selectedHour | number : \"2.0\" }}:{{\r\n selectedMinute === 0 ? \"00\" : (selectedMinute | number : \"2.0\")\r\n }}\r\n {{ selectedPeriod }}\r\n </span>\r\n </button>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"time-columns\">\r\n <div class=\"column scrollable\">\r\n @for (h of hours; track h) {\r\n <div [class.selected]=\"h === selectedHour\" (click)=\"selectedHour = h; selectDate(viewDate,true)\">\r\n {{ h | number : \"2.0\" }}\r\n </div>\r\n }\r\n </div>\r\n <div class=\"divider\"></div>\r\n <div class=\"column scrollable\">\r\n @for (m of minutes; track m) {\r\n <div [class.selected]=\"m === selectedMinute\" (click)=\"selectedMinute = m; selectDate(viewDate, true)\">\r\n {{ m | number : \"2.0\" }}\r\n </div>\r\n }\r\n </div>\r\n <div class=\"divider\"> </div>\r\n <div class=\"column\">\r\n <div [class.selected]=\"'AM' === selectedPeriod\" (click)=\"selectedPeriod = 'AM'; selectDate(viewDate, false)\"> AM </div>\r\n <div [class.selected]=\"'PM' === selectedPeriod\" (click)=\"selectedPeriod = 'PM'; selectDate(viewDate, false)\"> PM </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ius-simple-divider></ius-simple-divider>\r\n <button class=\"today\" (click)=\"goToToday()\">Fecha y hora actual</button>\r\n </div>\r\n }\r\n </div>\r\n @if (helpText && focused && !error) {\r\n <div class=\"help-text\">\r\n {{helpText}}\r\n </div>\r\n }\r\n @if (helpTextError && error) {\r\n <div class=\"help-text-error\">\r\n {{helpTextError}}\r\n </div>\r\n }\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.required{width:4px;height:4px;margin-right:4px;aspect-ratio:1/1;border-radius:50%;background-color:#ff4e3a}.text{display:flex;align-items:center}.date-picker{height:100%;position:relative;display:flex;flex-direction:column}.date-picker.disabled{opacity:.6;pointer-events:none}.date-picker .label{margin:0 4px;color:#333;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;font-style:normal;line-height:20px;letter-spacing:.28px}.date-picker .help-icon{color:#595959}.date-picker .container-textfield{display:flex;align-items:flex-start;gap:4px}.date-picker .container-textfield .input{width:100%;display:flex;align-items:flex-start;justify-content:center;gap:4px;padding:12px;border-radius:8px;background:#f5f5f5;cursor:pointer;border:none}.date-picker .container-textfield .input input{flex:1;outline:none;border:none;background:#f5f5f5;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;font-style:normal;line-height:20px;letter-spacing:.28px;cursor:pointer}.date-picker .container-textfield .cnt-icon-right{display:flex;align-items:center;justify-content:center;color:#333}.date-picker .container-textfield:hover .input,.date-picker .container-textfield:hover .input input{background-color:#edf6ff}.date-picker .container-textfield:hover .input .cnt-icon-right{color:#061b7a}.date-picker .container-textfield.focused .input{border:1px solid #0581BC;background:#edf6ff}.date-picker .container-textfield.focused .input input{background-color:#edf6ff;border:none}.date-picker .container-textfield.focused .input .cnt-icon-right{color:#061b7a}.date-picker .container-textfield.alert .input{border-radius:8px;border:1px solid #DB2E2A;background:#fff4f0}.date-picker .container-textfield.alert .input input{background:#fff4f0}.date-picker .container-textfield.alert .input .cnt-icon-right{color:#db2e2a}.date-picker .container-textfield.selected .input{background:#f5f5f5}.date-picker .container-textfield.selected .input input{background:#f5f5f5;border:none;color:#333;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.date-picker .container-textfield.selected .input .help-icon{color:#595959}.date-picker .container-textfield.disabled{background:#f5f5f5}.date-picker .container-textfield.disabled input::placeholder{color:#bfbfbf;opacity:1}.date-picker .container-textfield.disabled .cnt-icon-right{color:#bfbfbf}.date-picker .calendar-content{display:flex;flex-direction:row;width:auto;max-width:none}.date-picker .calendar-side{padding:12px;flex:1;min-width:260px}.date-picker .calendar-overlay{position:absolute;right:0;z-index:1;display:flex;flex-direction:column;align-items:stretch;border-radius:8px;border:1px solid #f5f5f5;background:#fff;min-width:500px;width:100%;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.date-picker .calendar-overlay .mes{display:flex;flex-direction:column;align-items:flex-start;padding:16px 12px}.date-picker .calendar-overlay .calendar-header{display:flex;align-items:center;align-self:stretch}.date-picker .calendar-overlay .calendar-header span{flex:1;display:flex;justify-content:center;align-items:center;color:#333;cursor:pointer;font-family:Roboto;font-size:1rem;font-weight:500;font-style:normal;line-height:22px}.date-picker .calendar-overlay .calendar-body{display:flex;flex-direction:column;gap:8px;margin:0 10px}.date-picker .calendar-overlay .grid{display:grid;gap:8px}.date-picker .calendar-overlay .grid.days{grid-template-columns:repeat(7,1fr)}.date-picker .calendar-overlay .grid.months,.date-picker .calendar-overlay .grid.years{margin-left:27px;grid-template-columns:repeat(3,1fr)}.date-picker .calendar-overlay .grid .header{display:flex;align-items:center;height:30px;padding:2px 4px;gap:16px;color:#333;font-family:Rubik;font-size:.75rem;font-weight:500;font-style:normal;line-height:16px;letter-spacing:.24px}.date-picker .calendar-overlay .grid .cell{display:flex;width:24px;height:24px;min-width:24px;min-height:24px;flex-direction:column;justify-content:center;align-items:center;aspect-ratio:1/1;background:#fff;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;font-style:normal;line-height:20px;letter-spacing:.28px;cursor:pointer}.date-picker .calendar-overlay .grid .cell:hover{background:#edf6ff}.date-picker .calendar-overlay .grid .cell.out-of-range{color:#bfbfbf}.date-picker .calendar-overlay .grid .cell.selected{border-radius:100px;border:1px solid #184FDB;background:#2167ff;color:#fff}.date-picker .calendar-overlay .today{margin-top:8px;width:100%;padding:8px;border:none;background:transparent;display:flex;justify-content:center;align-items:center;gap:4px;color:#333;cursor:pointer;font-family:Roboto;font-size:1rem;font-weight:500;font-style:normal;line-height:22px}.time-selector{border-left:1px solid #f0f0f0;padding:12px 8px;display:flex;flex-direction:column;gap:8px;min-width:150px}.time-selector .time-columns{display:flex;gap:4px;justify-content:center}.time-selector .time-title{display:flex;padding:8px;justify-content:center;align-items:center;gap:4px;align-self:stretch;border-radius:4px;border:none;background-color:#fff}.time-selector .time-title span{color:#333;font-family:Roboto,sans-serif;font-size:1rem;font-style:normal;font-weight:500;line-height:22px}.time-selector .divider{background-color:#b6b4b430;height:100%;width:1px}.time-selector .column{overflow-y:auto;display:flex;height:218px;flex-direction:column;align-items:flex-start;margin:0 2px}.time-selector .column .list{display:flex;padding:4px 8px;justify-content:flex-end;align-items:flex-start;gap:8px;align-self:stretch}.time-selector .column::-webkit-scrollbar{width:4px}.time-selector .column::-webkit-scrollbar-thumb{background-color:#fff;border-radius:4px}.time-selector .column div{display:flex;height:28px;padding:4px 8px;justify-content:flex-end;align-items:flex-start;gap:8px;flex-shrink:0;align-self:stretch;background:#fff;color:#595959;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.time-selector .column div:hover{cursor:pointer}.time-selector .column div.selected{display:flex;padding:4px 8px;justify-content:flex-end;align-items:center;gap:8px;align-self:stretch;border-radius:8px;background:#2167ff;color:#fff}.time-selector .today{margin-top:8px;padding:8px;text-align:center;font-weight:500;color:#333}.help-text{display:flex;align-items:center;gap:10px;color:#595959;font-family:Rubik,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}.help-text-error{display:flex;align-items:center;gap:10px;color:#931224;font-family:Rubik,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}\n"] }]
|
|
152
152
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { label: [{
|
|
153
153
|
type: Input
|
|
154
154
|
}], placeholder: [{
|
|
@@ -171,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
171
171
|
type: HostListener,
|
|
172
172
|
args: ['document:click', ['$event']]
|
|
173
173
|
}] } });
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1ob3VyLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRlLWhvdXItcGlja2VyL2RhdGUtaG91ci1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1ob3VyLXBpY2tlci9kYXRlLWhvdXItcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7OztBQWNqSCxNQUFNLE9BQU8sdUJBQXVCO0lBK0JsQyxZQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBOUI1QixVQUFLLEdBQUcsY0FBYyxDQUFDO1FBQ3ZCLGdCQUFXLEdBQUcsNkJBQTZCLENBQUM7UUFDNUMsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVqQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFekMsY0FBUyxHQUFH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SSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBR0Qsa0JBQWtCLENBQUMsS0FBaUI7UUFDbEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7K0dBdktVLHVCQUF1QjttR0FBdkIsdUJBQXVCLHdZQ2xCcEMscXVMQWdLQSwyOFBEdEpJLFlBQVksd09BQ1osZUFBZSx1RkFDZixzQkFBc0IsK0RBQ3RCLCtCQUErQjs7NEZBS3RCLHVCQUF1QjtrQkFabkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLCtCQUErQjtxQkFDbEM7K0VBS1UsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQXdKUCxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEljb25NZENvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wbGVEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2ltcGxlLWRpdmlkZXIvc2ltcGxlLWRpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeS9idXR0b24tc3RhbmRhcmQtdGVydGlhcnkuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWRhdGUtaG91ci1waWNrZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSWNvbk1kQ29tcG9uZW50LFxyXG4gICAgU2ltcGxlRGl2aWRlckNvbXBvbmVudCxcclxuICAgIEJ1dHRvblN0YW5kYXJkVGVydGlhcnlDb21wb25lbnQsXHJcbl0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtaG91ci1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9kYXRlLWhvdXItcGlja2VyLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVIb3VyUGlja2VyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBsYWJlbCA9ICdGZWNoYSB5IGhvcmEnO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ1NlbGVjY2lvbmUgdW5hIGZlY2hhIHkgaG9yYSc7XHJcbiAgQElucHV0KCkgZXJyb3IgPSBmYWxzZTtcclxuICBASW5wdXQoKSBoZWxwVGV4dCA9ICcnO1xyXG4gIEBJbnB1dCgpIGhlbHBUZXh0RXJyb3IgPSAnJztcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGljb25IZWxwID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNSZXF1aXJlZCA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBkYXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gIHJlYWRvbmx5IGRheUxhYmVscyA9IFsnRG8nLCAnTHUnLCAnTWEnLCAnTWknLCAnSnUnLCAnVmknLCAnU2EnXTtcclxuICByZWFkb25seSBtb250aHMgPSBbJ0VuZScsICdGZWInLCAnTWFyJywgJ0FicicsICdNYXknLCAnSnVuJywgJ0p1bCcsICdBZ28nLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGljJ107XHJcbiAgcmVhZG9ubHkgeWVhcnNBcnJheSA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDEyIH0sIChfLCBpKSA9PiBpKTtcclxuXHJcbiAgcmVhZG9ubHkgaG91cnMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT4gaSArIDEpOyAvLyAwMSBhIDEyXHJcbnJlYWRvbmx5IG1pbnV0ZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA2MCB9LCAoXywgaSkgPT4gaSk7ICAgLy8gMDAgYSA1OVxyXG5cclxuXHJcbiAgc2VsZWN0ZWREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgc2VsZWN0ZWRIb3VyID0gMTtcclxuICBzZWxlY3RlZE1pbnV0ZSA9IDA7XHJcbiAgc2VsZWN0ZWRQZXJpb2Q6ICdBTScgfCAnUE0nID0gJ1BNJztcclxuXHJcbiAgdmlld0RhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIGNhbGVuZGFyT3BlbiA9IGZhbHNlO1xyXG4gIGZvY3VzZWQgPSBmYWxzZTtcclxuICBjYWxlbmRhclZpZXc6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyA9ICdkYXknO1xyXG4gIGNhbGVuZGFyRGF5czogRGF0ZVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQ2FsZW5kYXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgaWYgKCF0aGlzLmNhbGVuZGFyT3Blbikge1xyXG4gICAgICB0aGlzLmNhbGVuZGFyVmlldyA9ICdkYXknO1xyXG4gICAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5jYWxlbmRhck9wZW4gPSAhdGhpcy5jYWxlbmRhck9wZW47XHJcbiAgfVxyXG5cclxuICBnb1RvVG9kYXkoKTogdm9pZCB7XHJcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEhvdXIgPSBub3cuZ2V0SG91cnMoKSAlIDEyIHx8IDEyO1xyXG4gICAgdGhpcy5zZWxlY3RlZE1pbnV0ZSA9IG5vdy5nZXRNaW51dGVzKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkUGVyaW9kID0gbm93LmdldEhvdXJzKCkgPCAxMiA/ICdBTScgOiAnUE0nO1xyXG5cclxuICAgIHRoaXMudmlld0RhdGUgPSBub3c7XHJcbiAgICB0aGlzLnNlbGVjdERhdGUobm93LCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBuZXh0Vmlldyh2aWV3OiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicpOiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicge1xyXG4gICAgcmV0dXJuIHZpZXcgPT09ICdkYXknID8gJ21vbnRoJyA6IHZpZXcgPT09ICdtb250aCcgPyAneWVhcicgOiAnZGF5JztcclxuICB9XHJcblxyXG4gIHByZXYoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNoaWZ0Vmlld0RhdGUoLTEpO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hpZnRWaWV3RGF0ZSgxKTtcclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hpZnRWaWV3RGF0ZShzdGVwOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IHllYXIgPSB0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jYWxlbmRhclZpZXcgPT09ICdkYXknKSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIHN0ZXAsIDEpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhbGVuZGFyVmlldyA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLnZpZXdEYXRlID0gbmV3IERhdGUoeWVhciArIHN0ZXAsIG1vbnRoLCAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyICsgc3RlcCAqIDEwLCBtb250aCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3REYXRlKGRhdGU6IERhdGUsIG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGNvbnN0IGhvdXIgPSB0aGlzLnNlbGVjdGVkUGVyaW9kID09PSAnQU0nXHJcbiAgICAgID8gdGhpcy5zZWxlY3RlZEhvdXIgJSAxMlxyXG4gICAgICA6ICh0aGlzLnNlbGVjdGVkSG91ciAlIDEyKSArIDEyO1xyXG4gIFxyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBuZXcgRGF0ZShcclxuICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxyXG4gICAgICBkYXRlLmdldE1vbnRoKCksXHJcbiAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxyXG4gICAgICBob3VyLFxyXG4gICAgICB0aGlzLnNlbGVjdGVkTWludXRlXHJcbiAgICApO1xyXG4gIFxyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBzZWxlY3RlZDtcclxuICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYWxlbmRhck9wZW4gPSBvcGVuO1xyXG5cclxuICAgIGlmKG9wZW4gPT0gZmFsc2Upe1xyXG4gICAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4gIHNldE1vbnRoKG1vbnRoOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0RhdGUuc2V0TW9udGgobW9udGgpO1xyXG4gICAgdGhpcy5jYWxlbmRhclZpZXcgPSAnZGF5JztcclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICB9XHJcblxyXG4gIHNldFllYXIoeWVhcjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdEYXRlLnNldEZ1bGxZZWFyKHllYXIpO1xyXG4gICAgdGhpcy5jYWxlbmRhclZpZXcgPSAnbW9udGgnO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TW9udGhOYW1lKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubW9udGhzW2luZGV4XTtcclxuICB9XHJcblxyXG4gIGdldERlY2FkZVN0YXJ0KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCkgLyAxMCkgKiAxMDtcclxuICB9XHJcblxyXG4gIGlzU2FtZURhdGUoZDE6IERhdGUsIGQyOiBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZDEuZ2V0RGF0ZSgpID09PSBkMi5nZXREYXRlKCkgJiZcclxuICAgICAgZDEuZ2V0TW9udGgoKSA9PT0gZDIuZ2V0TW9udGgoKSAmJlxyXG4gICAgICBkMS5nZXRGdWxsWWVhcigpID09PSBkMi5nZXRGdWxsWWVhcigpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVDYWxlbmRhckRheXMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXlzOiBEYXRlW10gPSBbXTtcclxuICAgIGNvbnN0IHllYXIgPSB0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKTtcclxuXHJcbiAgICBjb25zdCBmaXJzdERheSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcclxuICAgIGNvbnN0IG9mZnNldCA9IGZpcnN0RGF5LmdldERheSgpO1xyXG4gICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDEgLSBvZmZzZXQpO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDI7IGkrKykge1xyXG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoc3RhcnREYXRlKTtcclxuICAgICAgZGF0ZS5zZXREYXRlKHN0YXJ0RGF0ZS5nZXREYXRlKCkgKyBpKTtcclxuICAgICAgZGF5cy5wdXNoKGRhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2FsZW5kYXJEYXlzID0gZGF5cztcclxuICB9XHJcblxyXG4gIGNsb3NlQ2FsZW5kYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGVuZGFyT3BlbiA9IGZhbHNlO1xyXG5cclxuICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgdGhpcy5lcnJvciA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlT3V0c2lkZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XHJcbiAgICBpZiAoIWNsaWNrZWRJbnNpZGUgJiYgdGhpcy5jYWxlbmRhck9wZW4pIHtcclxuICAgICAgdGhpcy5jbG9zZUNhbGVuZGFyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlclwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcbiAgICBAaWYgKGlzUmVxdWlyZWQpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJyZXF1aXJlZFwiPjwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG5cclxuICAgIEBpZiAoaWNvbkhlbHApIHtcclxuICAgIDxkaXYgY2xhc3M9XCJoZWxwLWljb25cIj5cclxuICAgICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+OjwvbGFiZWw+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29udGFpbmVyLXRleHRmaWVsZFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgICAgZm9jdXNlZDogY2FsZW5kYXJPcGVuIHx8IGZvY3VzZWQsXHJcbiAgICAgICAgYWxlcnQ6ICFjYWxlbmRhck9wZW4gJiYgZXJyb3IgJiYgIWRpc2FibGVkLFxyXG4gICAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZERhdGVcclxuICAgICAgfVwiXHJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVDYWxlbmRhcigpXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0XCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cIlxyXG4gICAgICAgICAgICBzZWxlY3RlZERhdGUgPyAoc2VsZWN0ZWREYXRlIHwgZGF0ZSA6ICdkZC9NTS95eXl5IGhoOm1tIGEnKSA6ICcnXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY250LWljb24tcmlnaHRcIj5cclxuICAgICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24tY2FsZW5kYXItdG9kYXlcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZiAoY2FsZW5kYXJPcGVuKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItb3ZlcmxheVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNvbnRlbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItc2lkZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeVxyXG4gICAgICAgICAgICAgIGljb25OYW1lPVwiaWNvbi1rZXlib2FyZC1hcnJvdy1sZWZ0XCJcclxuICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJwcmV2KClcIlxyXG4gICAgICAgICAgICA+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cImNhbGVuZGFyVmlldyA9IG5leHRWaWV3KGNhbGVuZGFyVmlldylcIj5cclxuICAgICAgICAgICAgICBAc3dpdGNoIChjYWxlbmRhclZpZXcpIHsgQGNhc2UgKCdkYXknKSB7XHJcbiAgICAgICAgICAgICAge3sgZ2V0TW9udGhOYW1lKHZpZXdEYXRlLmdldE1vbnRoKCkpIH19XHJcbiAgICAgICAgICAgICAge3sgdmlld0RhdGUuZ2V0RnVsbFllYXIoKSB9fVxyXG4gICAgICAgICAgICAgIH0gQGNhc2UgKCdtb250aCcpIHtcclxuICAgICAgICAgICAgICB7eyB2aWV3RGF0ZS5nZXRGdWxsWWVhcigpIH19XHJcbiAgICAgICAgICAgICAgfSBAY2FzZSAoJ3llYXInKSB7XHJcbiAgICAgICAgICAgICAge3sgZ2V0RGVjYWRlU3RhcnQoKSB9fS17eyBnZXREZWNhZGVTdGFydCgpICsgOSB9fVxyXG4gICAgICAgICAgICAgIH0gfVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeVxyXG4gICAgICAgICAgICAgIGljb25OYW1lPVwiaWNvbi1rZXlib2FyZC1hcnJvdy1yaWdodFwiXHJcbiAgICAgICAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwibmV4dCgpXCJcclxuICAgICAgICAgICAgPjwvaXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1ib2R5XCI+XHJcbiAgICAgICAgICAgIEBzd2l0Y2ggKGNhbGVuZGFyVmlldykgeyBAY2FzZSAoJ2RheScpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZGF5c1wiPlxyXG4gICAgICAgICAgICAgIEBmb3IgKGRheSBvZiBkYXlMYWJlbHM7IHRyYWNrIGRheSkge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj57eyBkYXkgfX08L2Rpdj5cclxuICAgICAgICAgICAgICB9IEBmb3IgKGRhdGUgb2YgY2FsZW5kYXJEYXlzOyB0cmFjayBkYXRlKSB7XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJcclxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWREYXRlICYmIGlzU2FtZURhdGUoZGF0ZSwgc2VsZWN0ZWREYXRlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5vdXQtb2YtcmFuZ2VdPVwiZGF0ZS5nZXRNb250aCgpICE9PSB2aWV3RGF0ZS5nZXRNb250aCgpXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKGRhdGUsIHRydWUpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBkYXRlLmdldERhdGUoKSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH0gQGNhc2UgKCdtb250aCcpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgbW9udGhzXCI+XHJcbiAgICAgICAgICAgICAgQGZvciAobSBvZiBtb250aHM7IHRyYWNrIG07IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIiAoY2xpY2spPVwic2V0TW9udGgoaSlcIj57eyBtIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfSBAY2FzZSAoJ3llYXInKSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIHllYXJzXCI+XHJcbiAgICAgICAgICAgICAgQGZvciAoaSBvZiB5ZWFyc0FycmF5OyB0cmFjayBpKSB7XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5vdXQtb2YtcmFuZ2VdPVwiaSA9PT0gMCB8fCBpID09PSAxMVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0WWVhcihnZXREZWNhZGVTdGFydCgpIC0gMSArIGkpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBnZXREZWNhZGVTdGFydCgpIC0gMSArIGkgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9IH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXNlbGVjdG9yXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidGltZS10aXRsZVwiPlxyXG4gICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICB7eyBzZWxlY3RlZEhvdXIgfCBudW1iZXIgOiBcIjIuMFwiIH19Ont7XHJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE1pbnV0ZSA9PT0gMCA/IFwiMDBcIiA6IChzZWxlY3RlZE1pbnV0ZSB8IG51bWJlciA6IFwiMi4wXCIpXHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICB7eyBzZWxlY3RlZFBlcmlvZCB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1jb2x1bW5zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gc2Nyb2xsYWJsZVwiPlxyXG4gICAgICAgICAgICAgIEBmb3IgKGggb2YgaG91cnM7IHRyYWNrIGgpIHtcclxuICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy5zZWxlY3RlZF09XCJoID09PSBzZWxlY3RlZEhvdXJcIiAoY2xpY2spPVwic2VsZWN0ZWRIb3VyID0gaDsgc2VsZWN0RGF0ZSh2aWV3RGF0ZSx0cnVlKVwiPlxyXG4gICAgICAgICAgICAgICAge3sgaCB8IG51bWJlciA6IFwiMi4wXCIgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIHNjcm9sbGFibGVcIj5cclxuICAgICAgICAgICAgICBAZm9yIChtIG9mIG1pbnV0ZXM7IHRyYWNrIG0pIHtcclxuICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy5zZWxlY3RlZF09XCJtID09PSBzZWxlY3RlZE1pbnV0ZVwiIChjbGljayk9XCJzZWxlY3RlZE1pbnV0ZSA9IG07IHNlbGVjdERhdGUodmlld0RhdGUsIHRydWUpXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBtIHwgbnVtYmVyIDogXCIyLjBcIiB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+IDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbY2xhc3Muc2VsZWN0ZWRdPVwiJ0FNJyA9PT0gc2VsZWN0ZWRQZXJpb2RcIiAoY2xpY2spPVwic2VsZWN0ZWRQZXJpb2QgPSAnQU0nOyBzZWxlY3REYXRlKHZpZXdEYXRlLCBmYWxzZSlcIj4gQU0gPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBbY2xhc3Muc2VsZWN0ZWRdPVwiJ1BNJyA9PT0gc2VsZWN0ZWRQZXJpb2RcIiAoY2xpY2spPVwic2VsZWN0ZWRQZXJpb2QgPSAnUE0nOyBzZWxlY3REYXRlKHZpZXdEYXRlLCBmYWxzZSlcIj4gUE0gPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGl1cy1zaW1wbGUtZGl2aWRlcj48L2l1cy1zaW1wbGUtZGl2aWRlcj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInRvZGF5XCIgKGNsaWNrKT1cImdvVG9Ub2RheSgpXCI+RmVjaGEgeSBob3JhIGFjdHVhbDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbiAgQGlmIChoZWxwVGV4dCAmJiBmb2N1c2VkICYmICFlcnJvcikge1xyXG4gICAgPGRpdiBjbGFzcz1cImhlbHAtdGV4dFwiPlxyXG4gICAgICB7e2hlbHBUZXh0fX1cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuICBAaWYgKGhlbHBUZXh0RXJyb3IgJiYgZXJyb3IpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJoZWxwLXRleHQtZXJyb3JcIj5cclxuICAgICAge3toZWxwVGV4dEVycm9yfX1cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1ob3VyLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRlLWhvdXItcGlja2VyL2RhdGUtaG91ci1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1ob3VyLXBpY2tlci9kYXRlLWhvdXItcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7OztBQWNqSCxNQUFNLE9BQU8sdUJBQXVCO0lBK0JsQyxZQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBOUI1QixVQUFLLEdBQUcsY0FBYyxDQUFDO1FBQ3ZCLGdCQUFXLEdBQUcsNkJBQTZCLENBQUM7UUFDNUMsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVqQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFekMsY0FBUyxHQUFH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SSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBR0Qsa0JBQWtCLENBQUMsS0FBaUI7UUFDbEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7K0dBdktVLHVCQUF1QjttR0FBdkIsdUJBQXVCLHdZQ2xCcEMscXVMQWdLQSwrK1BEdEpJLFlBQVksd09BQ1osZUFBZSx1RkFDZixzQkFBc0IsK0RBQ3RCLCtCQUErQjs7NEZBS3RCLHVCQUF1QjtrQkFabkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLCtCQUErQjtxQkFDbEM7K0VBS1UsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQXdKUCxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEljb25NZENvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wbGVEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2ltcGxlLWRpdmlkZXIvc2ltcGxlLWRpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeS9idXR0b24tc3RhbmRhcmQtdGVydGlhcnkuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWRhdGUtaG91ci1waWNrZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSWNvbk1kQ29tcG9uZW50LFxyXG4gICAgU2ltcGxlRGl2aWRlckNvbXBvbmVudCxcclxuICAgIEJ1dHRvblN0YW5kYXJkVGVydGlhcnlDb21wb25lbnQsXHJcbl0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtaG91ci1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9kYXRlLWhvdXItcGlja2VyLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVIb3VyUGlja2VyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBsYWJlbCA9ICdGZWNoYSB5IGhvcmEnO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ1NlbGVjY2lvbmUgdW5hIGZlY2hhIHkgaG9yYSc7XHJcbiAgQElucHV0KCkgZXJyb3IgPSBmYWxzZTtcclxuICBASW5wdXQoKSBoZWxwVGV4dCA9ICcnO1xyXG4gIEBJbnB1dCgpIGhlbHBUZXh0RXJyb3IgPSAnJztcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGljb25IZWxwID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNSZXF1aXJlZCA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBkYXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gIHJlYWRvbmx5IGRheUxhYmVscyA9IFsnRG8nLCAnTHUnLCAnTWEnLCAnTWknLCAnSnUnLCAnVmknLCAnU2EnXTtcclxuICByZWFkb25seSBtb250aHMgPSBbJ0VuZScsICdGZWInLCAnTWFyJywgJ0FicicsICdNYXknLCAnSnVuJywgJ0p1bCcsICdBZ28nLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGljJ107XHJcbiAgcmVhZG9ubHkgeWVhcnNBcnJheSA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDEyIH0sIChfLCBpKSA9PiBpKTtcclxuXHJcbiAgcmVhZG9ubHkgaG91cnMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT4gaSArIDEpOyAvLyAwMSBhIDEyXHJcbnJlYWRvbmx5IG1pbnV0ZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA2MCB9LCAoXywgaSkgPT4gaSk7ICAgLy8gMDAgYSA1OVxyXG5cclxuXHJcbiAgc2VsZWN0ZWREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgc2VsZWN0ZWRIb3VyID0gMTtcclxuICBzZWxlY3RlZE1pbnV0ZSA9IDA7XHJcbiAgc2VsZWN0ZWRQZXJpb2Q6ICdBTScgfCAnUE0nID0gJ1BNJztcclxuXHJcbiAgdmlld0RhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIGNhbGVuZGFyT3BlbiA9IGZhbHNlO1xyXG4gIGZvY3VzZWQgPSBmYWxzZTtcclxuICBjYWxlbmRhclZpZXc6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyA9ICdkYXknO1xyXG4gIGNhbGVuZGFyRGF5czogRGF0ZVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQ2FsZW5kYXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgaWYgKCF0aGlzLmNhbGVuZGFyT3Blbikge1xyXG4gICAgICB0aGlzLmNhbGVuZGFyVmlldyA9ICdkYXknO1xyXG4gICAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5jYWxlbmRhck9wZW4gPSAhdGhpcy5jYWxlbmRhck9wZW47XHJcbiAgfVxyXG5cclxuICBnb1RvVG9kYXkoKTogdm9pZCB7XHJcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEhvdXIgPSBub3cuZ2V0SG91cnMoKSAlIDEyIHx8IDEyO1xyXG4gICAgdGhpcy5zZWxlY3RlZE1pbnV0ZSA9IG5vdy5nZXRNaW51dGVzKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkUGVyaW9kID0gbm93LmdldEhvdXJzKCkgPCAxMiA/ICdBTScgOiAnUE0nO1xyXG5cclxuICAgIHRoaXMudmlld0RhdGUgPSBub3c7XHJcbiAgICB0aGlzLnNlbGVjdERhdGUobm93LCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBuZXh0Vmlldyh2aWV3OiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicpOiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicge1xyXG4gICAgcmV0dXJuIHZpZXcgPT09ICdkYXknID8gJ21vbnRoJyA6IHZpZXcgPT09ICdtb250aCcgPyAneWVhcicgOiAnZGF5JztcclxuICB9XHJcblxyXG4gIHByZXYoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNoaWZ0Vmlld0RhdGUoLTEpO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hpZnRWaWV3RGF0ZSgxKTtcclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hpZnRWaWV3RGF0ZShzdGVwOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IHllYXIgPSB0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jYWxlbmRhclZpZXcgPT09ICdkYXknKSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIHN0ZXAsIDEpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhbGVuZGFyVmlldyA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLnZpZXdEYXRlID0gbmV3IERhdGUoeWVhciArIHN0ZXAsIG1vbnRoLCAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyICsgc3RlcCAqIDEwLCBtb250aCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3REYXRlKGRhdGU6IERhdGUsIG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGNvbnN0IGhvdXIgPSB0aGlzLnNlbGVjdGVkUGVyaW9kID09PSAnQU0nXHJcbiAgICAgID8gdGhpcy5zZWxlY3RlZEhvdXIgJSAxMlxyXG4gICAgICA6ICh0aGlzLnNlbGVjdGVkSG91ciAlIDEyKSArIDEyO1xyXG4gIFxyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBuZXcgRGF0ZShcclxuICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxyXG4gICAgICBkYXRlLmdldE1vbnRoKCksXHJcbiAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxyXG4gICAgICBob3VyLFxyXG4gICAgICB0aGlzLnNlbGVjdGVkTWludXRlXHJcbiAgICApO1xyXG4gIFxyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBzZWxlY3RlZDtcclxuICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYWxlbmRhck9wZW4gPSBvcGVuO1xyXG5cclxuICAgIGlmKG9wZW4gPT0gZmFsc2Upe1xyXG4gICAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4gIHNldE1vbnRoKG1vbnRoOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0RhdGUuc2V0TW9udGgobW9udGgpO1xyXG4gICAgdGhpcy5jYWxlbmRhclZpZXcgPSAnZGF5JztcclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICB9XHJcblxyXG4gIHNldFllYXIoeWVhcjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdEYXRlLnNldEZ1bGxZZWFyKHllYXIpO1xyXG4gICAgdGhpcy5jYWxlbmRhclZpZXcgPSAnbW9udGgnO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TW9udGhOYW1lKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubW9udGhzW2luZGV4XTtcclxuICB9XHJcblxyXG4gIGdldERlY2FkZVN0YXJ0KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCkgLyAxMCkgKiAxMDtcclxuICB9XHJcblxyXG4gIGlzU2FtZURhdGUoZDE6IERhdGUsIGQyOiBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZDEuZ2V0RGF0ZSgpID09PSBkMi5nZXREYXRlKCkgJiZcclxuICAgICAgZDEuZ2V0TW9udGgoKSA9PT0gZDIuZ2V0TW9udGgoKSAmJlxyXG4gICAgICBkMS5nZXRGdWxsWWVhcigpID09PSBkMi5nZXRGdWxsWWVhcigpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVDYWxlbmRhckRheXMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXlzOiBEYXRlW10gPSBbXTtcclxuICAgIGNvbnN0IHllYXIgPSB0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKTtcclxuXHJcbiAgICBjb25zdCBmaXJzdERheSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcclxuICAgIGNvbnN0IG9mZnNldCA9IGZpcnN0RGF5LmdldERheSgpO1xyXG4gICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDEgLSBvZmZzZXQpO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDI7IGkrKykge1xyXG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoc3RhcnREYXRlKTtcclxuICAgICAgZGF0ZS5zZXREYXRlKHN0YXJ0RGF0ZS5nZXREYXRlKCkgKyBpKTtcclxuICAgICAgZGF5cy5wdXNoKGRhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2FsZW5kYXJEYXlzID0gZGF5cztcclxuICB9XHJcblxyXG4gIGNsb3NlQ2FsZW5kYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGVuZGFyT3BlbiA9IGZhbHNlO1xyXG5cclxuICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgdGhpcy5lcnJvciA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlT3V0c2lkZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XHJcbiAgICBpZiAoIWNsaWNrZWRJbnNpZGUgJiYgdGhpcy5jYWxlbmRhck9wZW4pIHtcclxuICAgICAgdGhpcy5jbG9zZUNhbGVuZGFyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlclwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcbiAgICBAaWYgKGlzUmVxdWlyZWQpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJyZXF1aXJlZFwiPjwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG5cclxuICAgIEBpZiAoaWNvbkhlbHApIHtcclxuICAgIDxkaXYgY2xhc3M9XCJoZWxwLWljb25cIj5cclxuICAgICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+OjwvbGFiZWw+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29udGFpbmVyLXRleHRmaWVsZFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgICAgZm9jdXNlZDogY2FsZW5kYXJPcGVuIHx8IGZvY3VzZWQsXHJcbiAgICAgICAgYWxlcnQ6ICFjYWxlbmRhck9wZW4gJiYgZXJyb3IgJiYgIWRpc2FibGVkLFxyXG4gICAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZERhdGVcclxuICAgICAgfVwiXHJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVDYWxlbmRhcigpXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0XCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cIlxyXG4gICAgICAgICAgICBzZWxlY3RlZERhdGUgPyAoc2VsZWN0ZWREYXRlIHwgZGF0ZSA6ICdkZC9NTS95eXl5IGhoOm1tIGEnKSA6ICcnXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY250LWljb24tcmlnaHRcIj5cclxuICAgICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24tY2FsZW5kYXItdG9kYXlcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZiAoY2FsZW5kYXJPcGVuKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItb3ZlcmxheVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNvbnRlbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItc2lkZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeVxyXG4gICAgICAgICAgICAgIGljb25OYW1lPVwiaWNvbi1rZXlib2FyZC1hcnJvdy1sZWZ0XCJcclxuICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJwcmV2KClcIlxyXG4gICAgICAgICAgICA+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cImNhbGVuZGFyVmlldyA9IG5leHRWaWV3KGNhbGVuZGFyVmlldylcIj5cclxuICAgICAgICAgICAgICBAc3dpdGNoIChjYWxlbmRhclZpZXcpIHsgQGNhc2UgKCdkYXknKSB7XHJcbiAgICAgICAgICAgICAge3sgZ2V0TW9udGhOYW1lKHZpZXdEYXRlLmdldE1vbnRoKCkpIH19XHJcbiAgICAgICAgICAgICAge3sgdmlld0RhdGUuZ2V0RnVsbFllYXIoKSB9fVxyXG4gICAgICAgICAgICAgIH0gQGNhc2UgKCdtb250aCcpIHtcclxuICAgICAgICAgICAgICB7eyB2aWV3RGF0ZS5nZXRGdWxsWWVhcigpIH19XHJcbiAgICAgICAgICAgICAgfSBAY2FzZSAoJ3llYXInKSB7XHJcbiAgICAgICAgICAgICAge3sgZ2V0RGVjYWRlU3RhcnQoKSB9fS17eyBnZXREZWNhZGVTdGFydCgpICsgOSB9fVxyXG4gICAgICAgICAgICAgIH0gfVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeVxyXG4gICAgICAgICAgICAgIGljb25OYW1lPVwiaWNvbi1rZXlib2FyZC1hcnJvdy1yaWdodFwiXHJcbiAgICAgICAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwibmV4dCgpXCJcclxuICAgICAgICAgICAgPjwvaXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1ib2R5XCI+XHJcbiAgICAgICAgICAgIEBzd2l0Y2ggKGNhbGVuZGFyVmlldykgeyBAY2FzZSAoJ2RheScpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZGF5c1wiPlxyXG4gICAgICAgICAgICAgIEBmb3IgKGRheSBvZiBkYXlMYWJlbHM7IHRyYWNrIGRheSkge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj57eyBkYXkgfX08L2Rpdj5cclxuICAgICAgICAgICAgICB9IEBmb3IgKGRhdGUgb2YgY2FsZW5kYXJEYXlzOyB0cmFjayBkYXRlKSB7XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJcclxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWREYXRlICYmIGlzU2FtZURhdGUoZGF0ZSwgc2VsZWN0ZWREYXRlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5vdXQtb2YtcmFuZ2VdPVwiZGF0ZS5nZXRNb250aCgpICE9PSB2aWV3RGF0ZS5nZXRNb250aCgpXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKGRhdGUsIHRydWUpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBkYXRlLmdldERhdGUoKSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH0gQGNhc2UgKCdtb250aCcpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgbW9udGhzXCI+XHJcbiAgICAgICAgICAgICAgQGZvciAobSBvZiBtb250aHM7IHRyYWNrIG07IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIiAoY2xpY2spPVwic2V0TW9udGgoaSlcIj57eyBtIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfSBAY2FzZSAoJ3llYXInKSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIHllYXJzXCI+XHJcbiAgICAgICAgICAgICAgQGZvciAoaSBvZiB5ZWFyc0FycmF5OyB0cmFjayBpKSB7XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5vdXQtb2YtcmFuZ2VdPVwiaSA9PT0gMCB8fCBpID09PSAxMVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0WWVhcihnZXREZWNhZGVTdGFydCgpIC0gMSArIGkpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBnZXREZWNhZGVTdGFydCgpIC0gMSArIGkgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9IH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXNlbGVjdG9yXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidGltZS10aXRsZVwiPlxyXG4gICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICB7eyBzZWxlY3RlZEhvdXIgfCBudW1iZXIgOiBcIjIuMFwiIH19Ont7XHJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE1pbnV0ZSA9PT0gMCA/IFwiMDBcIiA6IChzZWxlY3RlZE1pbnV0ZSB8IG51bWJlciA6IFwiMi4wXCIpXHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICB7eyBzZWxlY3RlZFBlcmlvZCB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1jb2x1bW5zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gc2Nyb2xsYWJsZVwiPlxyXG4gICAgICAgICAgICAgIEBmb3IgKGggb2YgaG91cnM7IHRyYWNrIGgpIHtcclxuICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy5zZWxlY3RlZF09XCJoID09PSBzZWxlY3RlZEhvdXJcIiAoY2xpY2spPVwic2VsZWN0ZWRIb3VyID0gaDsgc2VsZWN0RGF0ZSh2aWV3RGF0ZSx0cnVlKVwiPlxyXG4gICAgICAgICAgICAgICAge3sgaCB8IG51bWJlciA6IFwiMi4wXCIgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIHNjcm9sbGFibGVcIj5cclxuICAgICAgICAgICAgICBAZm9yIChtIG9mIG1pbnV0ZXM7IHRyYWNrIG0pIHtcclxuICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy5zZWxlY3RlZF09XCJtID09PSBzZWxlY3RlZE1pbnV0ZVwiIChjbGljayk9XCJzZWxlY3RlZE1pbnV0ZSA9IG07IHNlbGVjdERhdGUodmlld0RhdGUsIHRydWUpXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBtIHwgbnVtYmVyIDogXCIyLjBcIiB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+IDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbY2xhc3Muc2VsZWN0ZWRdPVwiJ0FNJyA9PT0gc2VsZWN0ZWRQZXJpb2RcIiAoY2xpY2spPVwic2VsZWN0ZWRQZXJpb2QgPSAnQU0nOyBzZWxlY3REYXRlKHZpZXdEYXRlLCBmYWxzZSlcIj4gQU0gPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBbY2xhc3Muc2VsZWN0ZWRdPVwiJ1BNJyA9PT0gc2VsZWN0ZWRQZXJpb2RcIiAoY2xpY2spPVwic2VsZWN0ZWRQZXJpb2QgPSAnUE0nOyBzZWxlY3REYXRlKHZpZXdEYXRlLCBmYWxzZSlcIj4gUE0gPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGl1cy1zaW1wbGUtZGl2aWRlcj48L2l1cy1zaW1wbGUtZGl2aWRlcj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInRvZGF5XCIgKGNsaWNrKT1cImdvVG9Ub2RheSgpXCI+RmVjaGEgeSBob3JhIGFjdHVhbDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbiAgQGlmIChoZWxwVGV4dCAmJiBmb2N1c2VkICYmICFlcnJvcikge1xyXG4gICAgPGRpdiBjbGFzcz1cImhlbHAtdGV4dFwiPlxyXG4gICAgICB7e2hlbHBUZXh0fX1cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuICBAaWYgKGhlbHBUZXh0RXJyb3IgJiYgZXJyb3IpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJoZWxwLXRleHQtZXJyb3JcIj5cclxuICAgICAge3toZWxwVGV4dEVycm9yfX1cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|