@litigiovirtual/ius-design-components 1.0.24 → 1.0.26

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.
Files changed (26) hide show
  1. package/esm2022/lib/avatar-icon/avatar-icon.component.mjs +32 -0
  2. package/esm2022/lib/avatar-icon/index.mjs +2 -0
  3. package/esm2022/lib/badge/badge.component.mjs +3 -3
  4. package/esm2022/lib/card-dynamic-content/card-dynamic-content.component.mjs +21 -0
  5. package/esm2022/lib/card-dynamic-content/index.mjs +2 -0
  6. package/esm2022/lib/date-hour-picker/date-hour-picker.component.mjs +3 -3
  7. package/esm2022/lib/date-picker/date-picker.component.mjs +3 -3
  8. package/esm2022/lib/double-date-picker/double-date-picker.component.mjs +3 -3
  9. package/esm2022/lib/icon-lg/icon-lg.component.mjs +5 -3
  10. package/esm2022/lib/icon-md/icon-md.component.mjs +5 -3
  11. package/esm2022/lib/icon-sm/icon-sm.component.mjs +5 -3
  12. package/esm2022/lib/icon-xl/icon-xl.component.mjs +5 -3
  13. package/esm2022/lib/icon-xs/icon-xs.component.mjs +5 -3
  14. package/esm2022/lib/icon-xxl/icon-xxl.component.mjs +5 -3
  15. package/esm2022/lib/icons/icons-map.mjs +11 -3
  16. package/esm2022/lib/input-select/input-select.component.mjs +3 -3
  17. package/esm2022/lib/option/option.component.mjs +1 -1
  18. package/esm2022/public-api.mjs +3 -1
  19. package/fesm2022/litigiovirtual-ius-design-components.mjs +76 -26
  20. package/fesm2022/litigiovirtual-ius-design-components.mjs.map +1 -1
  21. package/lib/avatar-icon/avatar-icon.component.d.ts +10 -0
  22. package/lib/avatar-icon/index.d.ts +1 -0
  23. package/lib/card-dynamic-content/card-dynamic-content.component.d.ts +7 -0
  24. package/lib/card-dynamic-content/index.d.ts +1 -0
  25. package/package.json +2 -2
  26. package/public-api.d.ts +2 -0
@@ -126,7 +126,7 @@ export class DatePickerComponent {
126
126
  }
127
127
  }
128
128
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatePickerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DatePickerComponent, isStandalone: true, selector: "ius-date-picker", inputs: { label: "label", placeholder: "placeholder", error: "error", iconHelp: "iconHelp", helpText: "helpText", helpTextError: "helpTextError", disabled: "disabled", 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]=\"selectedDate ? (selectedDate | date : 'dd/MM/yyyy') : ''\"\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\">\r\n <div class=\"mes\">\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()) }} {{ 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]=\"selectedDate && isSameDate(date, selectedDate)\"\r\n [class.out-of-range]=\"date.getMonth() !== viewDate.getMonth()\"\r\n (click)=\"selectDate(date)\"\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\r\n <ius-simple-divider></ius-simple-divider>\r\n\r\n <button class=\"today\" (click)=\"goToToday()\">Fecha 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{display:flex;flex-direction:column;gap:8px;padding:8px 16px;position:relative}.date-picker.disabled{opacity:.6;pointer-events:none}.date-picker .label{margin:0 4px;color:#333;font-family:Rubik;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;flex-direction:column;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 .cnt-icon-right{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-overlay{display:flex;flex-direction:column;align-items:center;align-self:stretch;min-width:300px;padding:0;gap:0;border-radius:8px;border:1px solid #f5f5f5;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.date-picker .calendar-overlay .mes{display:flex;flex-direction:column;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}.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}.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.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"] }] }); }
129
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DatePickerComponent, isStandalone: true, selector: "ius-date-picker", inputs: { label: "label", placeholder: "placeholder", error: "error", iconHelp: "iconHelp", helpText: "helpText", helpTextError: "helpTextError", disabled: "disabled", 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]=\"selectedDate ? (selectedDate | date : 'dd/MM/yyyy') : ''\"\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\">\r\n <div class=\"mes\">\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()) }} {{ 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]=\"selectedDate && isSameDate(date, selectedDate)\"\r\n [class.out-of-range]=\"date.getMonth() !== viewDate.getMonth()\"\r\n (click)=\"selectDate(date)\"\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\r\n <ius-simple-divider></ius-simple-divider>\r\n\r\n <button class=\"today\" (click)=\"goToToday()\">Fecha 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%;display:flex;flex-direction:column;position:relative}.date-picker.disabled{opacity:.6;pointer-events:none}.date-picker .label{margin:0 4px;color:#333;font-family:Rubik;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 .cnt-icon-right{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-overlay{display:flex;flex-direction:column;align-items:center;align-self:stretch;min-width:300px;padding:0;gap:0;border-radius:8px;border:1px solid #f5f5f5;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.date-picker .calendar-overlay .mes{display:flex;flex-direction:column;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}.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}.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.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"] }] }); }
130
130
  }
131
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatePickerComponent, decorators: [{
132
132
  type: Component,
@@ -135,7 +135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
135
135
  IconMdComponent,
136
136
  SimpleDividerComponent,
137
137
  ButtonStandardTertiaryComponent,
138
- ], 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]=\"selectedDate ? (selectedDate | date : 'dd/MM/yyyy') : ''\"\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\">\r\n <div class=\"mes\">\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()) }} {{ 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]=\"selectedDate && isSameDate(date, selectedDate)\"\r\n [class.out-of-range]=\"date.getMonth() !== viewDate.getMonth()\"\r\n (click)=\"selectDate(date)\"\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\r\n <ius-simple-divider></ius-simple-divider>\r\n\r\n <button class=\"today\" (click)=\"goToToday()\">Fecha 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{display:flex;flex-direction:column;gap:8px;padding:8px 16px;position:relative}.date-picker.disabled{opacity:.6;pointer-events:none}.date-picker .label{margin:0 4px;color:#333;font-family:Rubik;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;flex-direction:column;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 .cnt-icon-right{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-overlay{display:flex;flex-direction:column;align-items:center;align-self:stretch;min-width:300px;padding:0;gap:0;border-radius:8px;border:1px solid #f5f5f5;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.date-picker .calendar-overlay .mes{display:flex;flex-direction:column;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}.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}.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"] }]
138
+ ], 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]=\"selectedDate ? (selectedDate | date : 'dd/MM/yyyy') : ''\"\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\">\r\n <div class=\"mes\">\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()) }} {{ 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]=\"selectedDate && isSameDate(date, selectedDate)\"\r\n [class.out-of-range]=\"date.getMonth() !== viewDate.getMonth()\"\r\n (click)=\"selectDate(date)\"\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\r\n <ius-simple-divider></ius-simple-divider>\r\n\r\n <button class=\"today\" (click)=\"goToToday()\">Fecha 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%;display:flex;flex-direction:column;position:relative}.date-picker.disabled{opacity:.6;pointer-events:none}.date-picker .label{margin:0 4px;color:#333;font-family:Rubik;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 .cnt-icon-right{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-overlay{display:flex;flex-direction:column;align-items:center;align-self:stretch;min-width:300px;padding:0;gap:0;border-radius:8px;border:1px solid #f5f5f5;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.date-picker .calendar-overlay .mes{display:flex;flex-direction:column;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}.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}.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"] }]
139
139
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { label: [{
140
140
  type: Input
141
141
  }], placeholder: [{
@@ -158,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
158
158
  type: HostListener,
159
159
  args: ['document:click', ['$event']]
160
160
  }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7O0FBY2pILE1BQU0sT0FBTyxtQkFBbUI7SUF3QjlCLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUF2QjVCLFVBQUssR0FBRyxPQUFPLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxzQkFBc0IsQ0FBQztRQUNyQyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2Qsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd6QyxjQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFF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UUFDcEIsQ0FBQztJQUNILENBQUM7SUFHSCxrQkFBa0IsQ0FBQyxLQUFpQjtRQUNsQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzsrR0FoSlksbUJBQW1CO21HQUFuQixtQkFBbUIsbVlDbEJoQyxvM0hBeUhBLDB2TUQvR0ksWUFBWSxnTEFDWixlQUFlLHVGQUNmLHNCQUFzQiwrREFDdEIsK0JBQStCOzs0RkFLdEIsbUJBQW1CO2tCQVovQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QiwrQkFBK0I7cUJBQ2hDOytFQUtRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFnSVQsa0JBQWtCO3NCQURmLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEljb25NZENvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wbGVEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2ltcGxlLWRpdmlkZXIvc2ltcGxlLWRpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeS9idXR0b24tc3RhbmRhcmQtdGVydGlhcnkuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWRhdGUtcGlja2VyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEljb25NZENvbXBvbmVudCxcclxuICAgIFNpbXBsZURpdmlkZXJDb21wb25lbnQsXHJcbiAgICBCdXR0b25TdGFuZGFyZFRlcnRpYXJ5Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbGFiZWwgPSAnRmVjaGEnO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ1NlbGVjY2lvbmUgdW5hIGZlY2hhJztcclxuICBASW5wdXQoKSBlcnJvciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGljb25IZWxwID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGVscFRleHQgPSAnJztcclxuICBASW5wdXQoKSBoZWxwVGV4dEVycm9yID0gJyc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHJcblxyXG4gIHJlYWRvbmx5IGRheUxhYmVscyA9IFsnRG8nLCAnTHUnLCAnTWEnLCAnTWknLCAnSnUnLCAnVmknLCAnU2EnXTtcclxuICByZWFkb25seSBtb250aHMgPSBbJ0VuZScsICdGZWInLCAnTWFyJywgJ0FicicsICdNYXknLCAnSnVuJywgJ0p1bCcsICdBZ28nLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGljJ107XHJcbiAgcmVhZG9ubHkgeWVhcnNBcnJheSA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDEyIH0sIChfLCBpKSA9PiBpKTtcclxuXHJcbiAgc2VsZWN0ZWREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgdmlld0RhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIGNhbGVuZGFyT3BlbiA9IGZhbHNlO1xyXG4gIGZvY3VzZWQgPSBmYWxzZTtcclxuICBjYWxlbmRhclZpZXc6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyA9ICdkYXknO1xyXG4gIGNhbGVuZGFyRGF5czogRGF0ZVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQ2FsZW5kYXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gIFxyXG4gICAgaWYgKCF0aGlzLmNhbGVuZGFyT3Blbikge1xyXG4gICAgICB0aGlzLmNhbGVuZGFyVmlldyA9ICdkYXknO1xyXG4gICAgICB0aGlzLmVycm9yID0gZmFsc2U7IFxyXG4gICAgfVxyXG4gICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcclxuICAgIHRoaXMuY2FsZW5kYXJPcGVuID0gIXRoaXMuY2FsZW5kYXJPcGVuO1xyXG4gIH1cclxuXHJcbiAgZ29Ub1RvZGF5KCk6IHZvaWQge1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy52aWV3RGF0ZSA9IHRvZGF5O1xyXG4gICAgdGhpcy5zZWxlY3REYXRlKHRvZGF5KTtcclxuICB9XHJcblxyXG4gIG5leHRWaWV3KHZpZXc6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyk6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyB7XHJcbiAgICByZXR1cm4gdmlldyA9PT0gJ2RheScgPyAnbW9udGgnIDogdmlldyA9PT0gJ21vbnRoJyA/ICd5ZWFyJyA6ICdkYXknO1xyXG4gIH1cclxuXHJcbiAgcHJldigpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hpZnRWaWV3RGF0ZSgtMSk7XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaGlmdFZpZXdEYXRlKDEpO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaGlmdFZpZXdEYXRlKHN0ZXA6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgeyBjYWxlbmRhclZpZXcsIHZpZXdEYXRlIH0gPSB0aGlzO1xyXG4gICAgY29uc3QgeWVhciA9IHZpZXdEYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHZpZXdEYXRlLmdldE1vbnRoKCk7XHJcblxyXG4gICAgaWYgKGNhbGVuZGFyVmlldyA9PT0gJ2RheScpIHtcclxuICAgICAgdGhpcy52aWV3RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgc3RlcCwgMSk7XHJcbiAgICB9IGVsc2UgaWYgKGNhbGVuZGFyVmlldyA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLnZpZXdEYXRlID0gbmV3IERhdGUoeWVhciArIHN0ZXAsIG1vbnRoLCAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyICsgc3RlcCAqIDEwLCBtb250aCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3REYXRlKGRhdGU6IERhdGUpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZGF0ZTtcclxuICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIHRoaXMuY2FsZW5kYXJPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcclxuXHJcbiAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgc2V0TW9udGgobW9udGg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3RGF0ZS5zZXRNb250aChtb250aCk7XHJcbiAgICB0aGlzLmNhbGVuZGFyVmlldyA9ICdkYXknO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgc2V0WWVhcih5ZWFyOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0RhdGUuc2V0RnVsbFllYXIoeWVhcik7XHJcbiAgICB0aGlzLmNhbGVuZGFyVmlldyA9ICdtb250aCc7XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRNb250aE5hbWUoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5tb250aHNbaW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVjYWRlU3RhcnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKSAvIDEwKSAqIDEwO1xyXG4gIH1cclxuXHJcbiAgaXNTYW1lRGF0ZShkMTogRGF0ZSwgZDI6IERhdGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBkMS5nZXREYXRlKCkgPT09IGQyLmdldERhdGUoKSAmJlxyXG4gICAgICAgICAgIGQxLmdldE1vbnRoKCkgPT09IGQyLmdldE1vbnRoKCkgJiZcclxuICAgICAgICAgICBkMS5nZXRGdWxsWWVhcigpID09PSBkMi5nZXRGdWxsWWVhcigpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVDYWxlbmRhckRheXMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXlzOiBEYXRlW10gPSBbXTtcclxuICAgIGNvbnN0IHllYXIgPSB0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKTtcclxuXHJcbiAgICBjb25zdCBmaXJzdERheSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcclxuICAgIGNvbnN0IG9mZnNldCA9IGZpcnN0RGF5LmdldERheSgpO1xyXG4gICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDEgLSBvZmZzZXQpO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDI7IGkrKykge1xyXG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoc3RhcnREYXRlKTtcclxuICAgICAgZGF0ZS5zZXREYXRlKHN0YXJ0RGF0ZS5nZXREYXRlKCkgKyBpKTtcclxuICAgICAgZGF5cy5wdXNoKGRhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2FsZW5kYXJEYXlzID0gZGF5cztcclxuICB9XHJcbiAgXHJcbiAgY2xvc2VDYWxlbmRhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FsZW5kYXJPcGVuID0gZmFsc2U7XHJcbiAgXHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcbiAgICAgIHRoaXMuZXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG5oYW5kbGVPdXRzaWRlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XHJcbiAgXHJcbiAgaWYgKCFjbGlja2VkSW5zaWRlICYmIHRoaXMuY2FsZW5kYXJPcGVuKSB7XHJcbiAgICB0aGlzLmNsb3NlQ2FsZW5kYXIoKTtcclxuICB9XHJcbn1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZGF0ZS1waWNrZXJcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG4gICAgQGlmIChpc1JlcXVpcmVkKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVxdWlyZWRcIj48L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cclxuXHJcbiAgICBAaWYgKGljb25IZWxwKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVscC1pY29uXCI+XHJcbiAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiPjwvaXVzLWljb24tbWQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPjo8L2xhYmVsPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImNvbnRhaW5lci10ZXh0ZmllbGRcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxyXG4gICAgICAgIGZvY3VzZWQ6IGNhbGVuZGFyT3BlbiB8fCBmb2N1c2VkLFxyXG4gICAgICAgIGFsZXJ0OiAhY2FsZW5kYXJPcGVuICYmIGVycm9yICYmICFkaXNhYmxlZCxcclxuICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWREYXRlXHJcbiAgICAgIH1cIlxyXG4gICAgICAoY2xpY2spPVwidG9nZ2xlQ2FsZW5kYXIoKVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dFwiPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZERhdGUgPyAoc2VsZWN0ZWREYXRlIHwgZGF0ZSA6ICdkZC9NTS95eXl5JykgOiAnJ1wiXHJcbiAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbnQtaWNvbi1yaWdodFwiPlxyXG4gICAgICAgICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1jYWxlbmRhci10b2RheVwiPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgQGlmIChjYWxlbmRhck9wZW4pIHtcclxuICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1vdmVybGF5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtZXNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItaGVhZGVyXCI+XHJcbiAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeVxyXG4gICAgICAgICAgICBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctbGVmdFwiXHJcbiAgICAgICAgICAgIChidXR0b25DbGlja2VkKT1cInByZXYoKVwiXHJcbiAgICAgICAgICA+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG5cclxuICAgICAgICAgIDxzcGFuIChjbGljayk9XCJjYWxlbmRhclZpZXcgPSBuZXh0VmlldyhjYWxlbmRhclZpZXcpXCI+XHJcbiAgICAgICAgICAgIEBzd2l0Y2ggKGNhbGVuZGFyVmlldykgeyBAY2FzZSAoJ2RheScpIHtcclxuICAgICAgICAgICAge3sgZ2V0TW9udGhOYW1lKHZpZXdEYXRlLmdldE1vbnRoKCkpIH19IHt7IHZpZXdEYXRlLmdldEZ1bGxZZWFyKCkgfX1cclxuICAgICAgICAgICAgfSBAY2FzZSAoJ21vbnRoJykge1xyXG4gICAgICAgICAgICB7eyB2aWV3RGF0ZS5nZXRGdWxsWWVhcigpIH19XHJcbiAgICAgICAgICAgIH0gQGNhc2UgKCd5ZWFyJykge1xyXG4gICAgICAgICAgICB7eyBnZXREZWNhZGVTdGFydCgpIH19LXt7IGdldERlY2FkZVN0YXJ0KCkgKyA5IH19XHJcbiAgICAgICAgICAgIH0gfVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgIDxpdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5XHJcbiAgICAgICAgICAgIGljb25OYW1lPVwiaWNvbi1rZXlib2FyZC1hcnJvdy1yaWdodFwiXHJcbiAgICAgICAgICAgIChidXR0b25DbGlja2VkKT1cIm5leHQoKVwiXHJcbiAgICAgICAgICA+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYm9keVwiPlxyXG4gICAgICAgICAgQHN3aXRjaCAoY2FsZW5kYXJWaWV3KSB7IEBjYXNlICgnZGF5Jykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZGF5c1wiPlxyXG4gICAgICAgICAgICBAZm9yIChkYXkgb2YgZGF5TGFiZWxzOyB0cmFjayBkYXkpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPnt7IGRheSB9fTwvZGl2PlxyXG4gICAgICAgICAgICB9IEBmb3IgKGRhdGUgb2YgY2FsZW5kYXJEYXlzOyB0cmFjayBkYXRlKSB7XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImNlbGxcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZERhdGUgJiYgaXNTYW1lRGF0ZShkYXRlLCBzZWxlY3RlZERhdGUpXCJcclxuICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImRhdGUuZ2V0TW9udGgoKSAhPT0gdmlld0RhdGUuZ2V0TW9udGgoKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdERhdGUoZGF0ZSlcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3sgZGF0ZS5nZXREYXRlKCkgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfSBAY2FzZSAoJ21vbnRoJykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgbW9udGhzXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKG0gb2YgbW9udGhzOyB0cmFjayBtOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiIChjbGljayk9XCJzZXRNb250aChpKVwiPnt7IG0gfX08L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9IEBjYXNlICgneWVhcicpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIHllYXJzXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKGkgb2YgeWVhcnNBcnJheTsgdHJhY2sgaSkge1xyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImkgPT09IDAgfHwgaSA9PT0gMTFcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZXRZZWFyKGdldERlY2FkZVN0YXJ0KCkgLSAxICsgaSlcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3sgZ2V0RGVjYWRlU3RhcnQoKSAtIDEgKyBpIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH0gfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcblxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwidG9kYXlcIiAoY2xpY2spPVwiZ29Ub1RvZGF5KClcIj5GZWNoYSBhY3R1YWw8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIEBpZiAoaGVscFRleHQgJiYgZm9jdXNlZCAmJiAhZXJyb3IpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJoZWxwLXRleHRcIj5cclxuICAgICAge3toZWxwVGV4dH19XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmIChoZWxwVGV4dEVycm9yICYmIGVycm9yKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVscC10ZXh0LWVycm9yXCI+XHJcbiAgICAgIHt7aGVscFRleHRFcnJvcn19XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7O0FBY2pILE1BQU0sT0FBTyxtQkFBbUI7SUF3QjlCLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUF2QjVCLFVBQUssR0FBRyxPQUFPLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxzQkFBc0IsQ0FBQztRQUNyQyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2Qsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd6QyxjQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFF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UUFDcEIsQ0FBQztJQUNILENBQUM7SUFHSCxrQkFBa0IsQ0FBQyxLQUFpQjtRQUNsQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzsrR0FoSlksbUJBQW1CO21HQUFuQixtQkFBbUIsbVlDbEJoQyxvM0hBeUhBLHV0TUQvR0ksWUFBWSxnTEFDWixlQUFlLHVGQUNmLHNCQUFzQiwrREFDdEIsK0JBQStCOzs0RkFLdEIsbUJBQW1CO2tCQVovQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QiwrQkFBK0I7cUJBQ2hDOytFQUtRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFnSVQsa0JBQWtCO3NCQURmLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEljb25NZENvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wbGVEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2ltcGxlLWRpdmlkZXIvc2ltcGxlLWRpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeS9idXR0b24tc3RhbmRhcmQtdGVydGlhcnkuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWRhdGUtcGlja2VyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEljb25NZENvbXBvbmVudCxcclxuICAgIFNpbXBsZURpdmlkZXJDb21wb25lbnQsXHJcbiAgICBCdXR0b25TdGFuZGFyZFRlcnRpYXJ5Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbGFiZWwgPSAnRmVjaGEnO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ1NlbGVjY2lvbmUgdW5hIGZlY2hhJztcclxuICBASW5wdXQoKSBlcnJvciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGljb25IZWxwID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGVscFRleHQgPSAnJztcclxuICBASW5wdXQoKSBoZWxwVGV4dEVycm9yID0gJyc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHJcblxyXG4gIHJlYWRvbmx5IGRheUxhYmVscyA9IFsnRG8nLCAnTHUnLCAnTWEnLCAnTWknLCAnSnUnLCAnVmknLCAnU2EnXTtcclxuICByZWFkb25seSBtb250aHMgPSBbJ0VuZScsICdGZWInLCAnTWFyJywgJ0FicicsICdNYXknLCAnSnVuJywgJ0p1bCcsICdBZ28nLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGljJ107XHJcbiAgcmVhZG9ubHkgeWVhcnNBcnJheSA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDEyIH0sIChfLCBpKSA9PiBpKTtcclxuXHJcbiAgc2VsZWN0ZWREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgdmlld0RhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIGNhbGVuZGFyT3BlbiA9IGZhbHNlO1xyXG4gIGZvY3VzZWQgPSBmYWxzZTtcclxuICBjYWxlbmRhclZpZXc6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyA9ICdkYXknO1xyXG4gIGNhbGVuZGFyRGF5czogRGF0ZVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQ2FsZW5kYXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gIFxyXG4gICAgaWYgKCF0aGlzLmNhbGVuZGFyT3Blbikge1xyXG4gICAgICB0aGlzLmNhbGVuZGFyVmlldyA9ICdkYXknO1xyXG4gICAgICB0aGlzLmVycm9yID0gZmFsc2U7IFxyXG4gICAgfVxyXG4gICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcclxuICAgIHRoaXMuY2FsZW5kYXJPcGVuID0gIXRoaXMuY2FsZW5kYXJPcGVuO1xyXG4gIH1cclxuXHJcbiAgZ29Ub1RvZGF5KCk6IHZvaWQge1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy52aWV3RGF0ZSA9IHRvZGF5O1xyXG4gICAgdGhpcy5zZWxlY3REYXRlKHRvZGF5KTtcclxuICB9XHJcblxyXG4gIG5leHRWaWV3KHZpZXc6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyk6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyB7XHJcbiAgICByZXR1cm4gdmlldyA9PT0gJ2RheScgPyAnbW9udGgnIDogdmlldyA9PT0gJ21vbnRoJyA/ICd5ZWFyJyA6ICdkYXknO1xyXG4gIH1cclxuXHJcbiAgcHJldigpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hpZnRWaWV3RGF0ZSgtMSk7XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaGlmdFZpZXdEYXRlKDEpO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaGlmdFZpZXdEYXRlKHN0ZXA6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgeyBjYWxlbmRhclZpZXcsIHZpZXdEYXRlIH0gPSB0aGlzO1xyXG4gICAgY29uc3QgeWVhciA9IHZpZXdEYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHZpZXdEYXRlLmdldE1vbnRoKCk7XHJcblxyXG4gICAgaWYgKGNhbGVuZGFyVmlldyA9PT0gJ2RheScpIHtcclxuICAgICAgdGhpcy52aWV3RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgc3RlcCwgMSk7XHJcbiAgICB9IGVsc2UgaWYgKGNhbGVuZGFyVmlldyA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLnZpZXdEYXRlID0gbmV3IERhdGUoeWVhciArIHN0ZXAsIG1vbnRoLCAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyICsgc3RlcCAqIDEwLCBtb250aCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3REYXRlKGRhdGU6IERhdGUpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZGF0ZTtcclxuICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIHRoaXMuY2FsZW5kYXJPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcclxuXHJcbiAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgc2V0TW9udGgobW9udGg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3RGF0ZS5zZXRNb250aChtb250aCk7XHJcbiAgICB0aGlzLmNhbGVuZGFyVmlldyA9ICdkYXknO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgc2V0WWVhcih5ZWFyOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0RhdGUuc2V0RnVsbFllYXIoeWVhcik7XHJcbiAgICB0aGlzLmNhbGVuZGFyVmlldyA9ICdtb250aCc7XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRNb250aE5hbWUoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5tb250aHNbaW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVjYWRlU3RhcnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKSAvIDEwKSAqIDEwO1xyXG4gIH1cclxuXHJcbiAgaXNTYW1lRGF0ZShkMTogRGF0ZSwgZDI6IERhdGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBkMS5nZXREYXRlKCkgPT09IGQyLmdldERhdGUoKSAmJlxyXG4gICAgICAgICAgIGQxLmdldE1vbnRoKCkgPT09IGQyLmdldE1vbnRoKCkgJiZcclxuICAgICAgICAgICBkMS5nZXRGdWxsWWVhcigpID09PSBkMi5nZXRGdWxsWWVhcigpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVDYWxlbmRhckRheXMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXlzOiBEYXRlW10gPSBbXTtcclxuICAgIGNvbnN0IHllYXIgPSB0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKTtcclxuXHJcbiAgICBjb25zdCBmaXJzdERheSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcclxuICAgIGNvbnN0IG9mZnNldCA9IGZpcnN0RGF5LmdldERheSgpO1xyXG4gICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDEgLSBvZmZzZXQpO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDI7IGkrKykge1xyXG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoc3RhcnREYXRlKTtcclxuICAgICAgZGF0ZS5zZXREYXRlKHN0YXJ0RGF0ZS5nZXREYXRlKCkgKyBpKTtcclxuICAgICAgZGF5cy5wdXNoKGRhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2FsZW5kYXJEYXlzID0gZGF5cztcclxuICB9XHJcbiAgXHJcbiAgY2xvc2VDYWxlbmRhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FsZW5kYXJPcGVuID0gZmFsc2U7XHJcbiAgXHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcbiAgICAgIHRoaXMuZXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG5oYW5kbGVPdXRzaWRlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XHJcbiAgXHJcbiAgaWYgKCFjbGlja2VkSW5zaWRlICYmIHRoaXMuY2FsZW5kYXJPcGVuKSB7XHJcbiAgICB0aGlzLmNsb3NlQ2FsZW5kYXIoKTtcclxuICB9XHJcbn1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZGF0ZS1waWNrZXJcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG4gICAgQGlmIChpc1JlcXVpcmVkKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVxdWlyZWRcIj48L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cclxuXHJcbiAgICBAaWYgKGljb25IZWxwKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVscC1pY29uXCI+XHJcbiAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiPjwvaXVzLWljb24tbWQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPjo8L2xhYmVsPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImNvbnRhaW5lci10ZXh0ZmllbGRcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxyXG4gICAgICAgIGZvY3VzZWQ6IGNhbGVuZGFyT3BlbiB8fCBmb2N1c2VkLFxyXG4gICAgICAgIGFsZXJ0OiAhY2FsZW5kYXJPcGVuICYmIGVycm9yICYmICFkaXNhYmxlZCxcclxuICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWREYXRlXHJcbiAgICAgIH1cIlxyXG4gICAgICAoY2xpY2spPVwidG9nZ2xlQ2FsZW5kYXIoKVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dFwiPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZERhdGUgPyAoc2VsZWN0ZWREYXRlIHwgZGF0ZSA6ICdkZC9NTS95eXl5JykgOiAnJ1wiXHJcbiAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbnQtaWNvbi1yaWdodFwiPlxyXG4gICAgICAgICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1jYWxlbmRhci10b2RheVwiPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgQGlmIChjYWxlbmRhck9wZW4pIHtcclxuICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1vdmVybGF5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtZXNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItaGVhZGVyXCI+XHJcbiAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeVxyXG4gICAgICAgICAgICBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctbGVmdFwiXHJcbiAgICAgICAgICAgIChidXR0b25DbGlja2VkKT1cInByZXYoKVwiXHJcbiAgICAgICAgICA+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG5cclxuICAgICAgICAgIDxzcGFuIChjbGljayk9XCJjYWxlbmRhclZpZXcgPSBuZXh0VmlldyhjYWxlbmRhclZpZXcpXCI+XHJcbiAgICAgICAgICAgIEBzd2l0Y2ggKGNhbGVuZGFyVmlldykgeyBAY2FzZSAoJ2RheScpIHtcclxuICAgICAgICAgICAge3sgZ2V0TW9udGhOYW1lKHZpZXdEYXRlLmdldE1vbnRoKCkpIH19IHt7IHZpZXdEYXRlLmdldEZ1bGxZZWFyKCkgfX1cclxuICAgICAgICAgICAgfSBAY2FzZSAoJ21vbnRoJykge1xyXG4gICAgICAgICAgICB7eyB2aWV3RGF0ZS5nZXRGdWxsWWVhcigpIH19XHJcbiAgICAgICAgICAgIH0gQGNhc2UgKCd5ZWFyJykge1xyXG4gICAgICAgICAgICB7eyBnZXREZWNhZGVTdGFydCgpIH19LXt7IGdldERlY2FkZVN0YXJ0KCkgKyA5IH19XHJcbiAgICAgICAgICAgIH0gfVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgIDxpdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5XHJcbiAgICAgICAgICAgIGljb25OYW1lPVwiaWNvbi1rZXlib2FyZC1hcnJvdy1yaWdodFwiXHJcbiAgICAgICAgICAgIChidXR0b25DbGlja2VkKT1cIm5leHQoKVwiXHJcbiAgICAgICAgICA+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYm9keVwiPlxyXG4gICAgICAgICAgQHN3aXRjaCAoY2FsZW5kYXJWaWV3KSB7IEBjYXNlICgnZGF5Jykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZGF5c1wiPlxyXG4gICAgICAgICAgICBAZm9yIChkYXkgb2YgZGF5TGFiZWxzOyB0cmFjayBkYXkpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPnt7IGRheSB9fTwvZGl2PlxyXG4gICAgICAgICAgICB9IEBmb3IgKGRhdGUgb2YgY2FsZW5kYXJEYXlzOyB0cmFjayBkYXRlKSB7XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImNlbGxcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZERhdGUgJiYgaXNTYW1lRGF0ZShkYXRlLCBzZWxlY3RlZERhdGUpXCJcclxuICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImRhdGUuZ2V0TW9udGgoKSAhPT0gdmlld0RhdGUuZ2V0TW9udGgoKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdERhdGUoZGF0ZSlcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3sgZGF0ZS5nZXREYXRlKCkgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfSBAY2FzZSAoJ21vbnRoJykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgbW9udGhzXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKG0gb2YgbW9udGhzOyB0cmFjayBtOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiIChjbGljayk9XCJzZXRNb250aChpKVwiPnt7IG0gfX08L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9IEBjYXNlICgneWVhcicpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIHllYXJzXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKGkgb2YgeWVhcnNBcnJheTsgdHJhY2sgaSkge1xyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImkgPT09IDAgfHwgaSA9PT0gMTFcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZXRZZWFyKGdldERlY2FkZVN0YXJ0KCkgLSAxICsgaSlcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3sgZ2V0RGVjYWRlU3RhcnQoKSAtIDEgKyBpIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH0gfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcblxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwidG9kYXlcIiAoY2xpY2spPVwiZ29Ub1RvZGF5KClcIj5GZWNoYSBhY3R1YWw8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIEBpZiAoaGVscFRleHQgJiYgZm9jdXNlZCAmJiAhZXJyb3IpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJoZWxwLXRleHRcIj5cclxuICAgICAge3toZWxwVGV4dH19XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmIChoZWxwVGV4dEVycm9yICYmIGVycm9yKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVscC10ZXh0LWVycm9yXCI+XHJcbiAgICAgIHt7aGVscFRleHRFcnJvcn19XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -198,11 +198,11 @@ export class DoubleDatePickerComponent {
198
198
  }
199
199
  }
200
200
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DoubleDatePickerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
201
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DoubleDatePickerComponent, isStandalone: true, selector: "ius-double-date-picker", inputs: { label: "label", placeholder: "placeholder", placeholder2: "placeholder2", error: "error", iconHelp: "iconHelp", helpText: "helpText", helpTextError: "helpTextError", disabled: "disabled", isRequired: "isRequired" }, outputs: { dateRangeSelected: "dateRangeSelected" }, 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: startDate && endDate\r\n }\"\r\n (click)=\"toggleCalendar()\"\r\n >\r\n <div class=\"input\">\r\n <div class=\"fechas\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [value]=\"startDate ? (startDate | date : 'dd/MM/yyyy') : ''\"\r\n readonly\r\n [disabled]=\"disabled\"\r\n />\r\n </div>\r\n <div style=\"color: #595959; margin: 0 10%;\">\r\n <ius-icon-md [iconName]=\"'icon-east'\" ></ius-icon-md>\r\n </div>\r\n <div class=\"fechas\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [value]=\"endDate ? (endDate | date : 'dd/MM/yyyy') : ''\"\r\n readonly\r\n [disabled]=\"disabled\"\r\n />\r\n </div>\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\">\r\n <div class=\"mes\">\r\n <div class=\"calendar-header\">\r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-left\" (buttonClicked)=\"prevLeft()\"></ius-button-standard-tertiary>\r\n \r\n <span (click)=\"nextView('left')\">\r\n @switch (calendarViewLeft) {\r\n @case ('day') { {{ getMonthName(viewDateLeft.getMonth()) }} {{ viewDateLeft.getFullYear() }} }\r\n @case ('month') { {{ viewDateLeft.getFullYear() }} }\r\n @case ('year') { {{ getDecadeStart(viewDateLeft) }}\u2013{{ getDecadeStart(viewDateLeft) + 9 }} }\r\n }\r\n </span>\r\n \r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-right\" (buttonClicked)=\"nextLeft()\"></ius-button-standard-tertiary>\r\n </div>\r\n \r\n <div class=\"calendar-body\">\r\n @switch (calendarViewLeft) {\r\n @case ('day') {\r\n <div class=\"grid days\">\r\n @for (day of dayLabels; track day) { <div class=\"header\">{{ day }}</div> }\r\n @for (date of calendarDaysLeft; track date) {\r\n <div class=\"cell\"\r\n [class.selected]=\"isSameDate(date, startDate)\"\r\n [class.range]=\"isInRangeForView(date, viewDateLeft)\"\r\n [class.out-of-range]=\"isDateOutOfRange(date, viewDateLeft)\"\r\n (click)=\"selectDateFrom('left', date)\">\r\n {{ date.getDate() }}\r\n </div>\r\n }\r\n </div>\r\n }\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('left', i, $event)\">{{ m }}</div>\r\n }\r\n </div>\r\n }\r\n @case ('year') {\r\n <div class=\"grid years\">\r\n @for (i of yearsArray; track i) {\r\n <div class=\"cell\"\r\n [class.out-of-range]=\"i === 0 || i === 11\"\r\n (click)=\"setYear('left', getDecadeStart(viewDateLeft) - 1 + i, $event)\">\r\n {{ getDecadeStart(viewDateLeft) - 1 + i }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n\r\n <div class=\"mes\">\r\n <div class=\"calendar-header\">\r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-left\" (buttonClicked)=\"prevRight()\"></ius-button-standard-tertiary>\r\n \r\n <span (click)=\"nextView('right')\">\r\n @switch (calendarViewRight) {\r\n @case ('day') { {{ getMonthName(viewDateRight.getMonth()) }} {{ viewDateRight.getFullYear() }} }\r\n @case ('month') { {{ viewDateRight.getFullYear() }} }\r\n @case ('year') { {{ getDecadeStart(viewDateRight) }}\u2013{{ getDecadeStart(viewDateRight) + 9 }} }\r\n }\r\n </span>\r\n \r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-right\" (buttonClicked)=\"nextRight()\"></ius-button-standard-tertiary>\r\n </div>\r\n \r\n <div class=\"calendar-body\">\r\n @switch (calendarViewRight) {\r\n @case ('day') {\r\n <div class=\"grid days\">\r\n @for (day of dayLabels; track day) { <div class=\"header\">{{ day }}</div> }\r\n @for (date of calendarDaysRight; track date) {\r\n <div class=\"cell\"\r\n [class.selected]=\"isSameDate(date, endDate)\"\r\n [class.range]=\"isInRangeForView(date, viewDateRight)\"\r\n [class.out-of-range]=\"isDateOutOfRange(date, viewDateRight)\"\r\n [class.disabled]=\"isDisabledDate(date, 'right')\"\r\n (click)=\"!isDisabledDate(date, 'right') && selectDateFrom('right', date)\">\r\n {{ date.getDate() }}\r\n </div>\r\n }\r\n </div>\r\n }\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('right', i, $event)\">{{ m }}</div>\r\n }\r\n </div>\r\n }\r\n @case ('year') {\r\n <div class=\"grid years\">\r\n @for (i of yearsArray; track i) {\r\n <div class=\"cell\"\r\n [class.out-of-range]=\"i === 0 || i === 11\"\r\n (click)=\"setYear('right', getDecadeStart(viewDateRight) - 1 + i, $event)\">\r\n {{ getDecadeStart(viewDateRight) - 1 + i }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\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>", 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{display:flex;flex-direction:column;gap:8px;padding:8px 16px;position:relative}.date-picker.disabled{opacity:.6;pointer-events:none}.date-picker .label{margin:0 4px;color:#333;font-family:Rubik;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;flex-direction:column;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 .fechas{width:30%}.date-picker .container-textfield .input .fechas input{max-width:100%;flex:1;outline:none;border:none;background:#f5f5f5;color:#8c8c8c;font-family:Rubik;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;margin-left:3%;color:#333}.date-picker .container-textfield:hover .input,.date-picker .container-textfield:hover .input .fechas input{background-color:#edf6ff}.date-picker .container-textfield:hover .input .cnt-icon-right{color:#103ab7}.date-picker .container-textfield.focused .input{border:1px solid #0581BC;background:#edf6ff}.date-picker .container-textfield.focused .input .fechas input{background-color:#edf6ff;border:none}.date-picker .container-textfield.focused .input .cnt-icon-right{color:#103ab7}.date-picker .container-textfield.alert .input{border-radius:8px;border:1px solid #DB2E2A;background:#fff4f0}.date-picker .container-textfield.alert .input .fechas 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 .fechas 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 .cnt-icon-right{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-overlay{display:flex;align-items:center;align-self:stretch;min-width:540px;padding:0;gap:0;border-radius:8px;border:1px solid #f5f5f5;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.date-picker .calendar-overlay .calendars{display:flex}.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}.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;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;padding:2px 4px;border-radius:10px;background:#fff;font-family:Rubik;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;pointer-events:none}.date-picker .calendar-overlay .grid .cell.disabled{pointer-events:none;color:#bfbfbf;background:#fafafa;opacity:.6}.date-picker .calendar-overlay .grid .cell.range{padding:0;border-radius:0;margin:0;background-color:#edf6ff;color:#333}.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}.cell.empty{pointer-events:none;background:transparent;border:none}.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.DatePipe, name: "date" }, { kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }, { kind: "component", type: ButtonStandardTertiaryComponent, selector: "ius-button-standard-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }] }); }
201
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DoubleDatePickerComponent, isStandalone: true, selector: "ius-double-date-picker", inputs: { label: "label", placeholder: "placeholder", placeholder2: "placeholder2", error: "error", iconHelp: "iconHelp", helpText: "helpText", helpTextError: "helpTextError", disabled: "disabled", isRequired: "isRequired" }, outputs: { dateRangeSelected: "dateRangeSelected" }, 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: startDate && endDate\r\n }\"\r\n (click)=\"toggleCalendar()\"\r\n >\r\n <div class=\"input\">\r\n <div class=\"fechas\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [value]=\"startDate ? (startDate | date : 'dd/MM/yyyy') : ''\"\r\n readonly\r\n [disabled]=\"disabled\"\r\n />\r\n </div>\r\n <div style=\"color: #595959;\">\r\n <ius-icon-md [iconName]=\"'icon-east'\" ></ius-icon-md>\r\n </div>\r\n <div class=\"fechas\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [value]=\"endDate ? (endDate | date : 'dd/MM/yyyy') : ''\"\r\n readonly\r\n [disabled]=\"disabled\"\r\n />\r\n </div>\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\">\r\n <div class=\"mes\">\r\n <div class=\"calendar-header\">\r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-left\" (buttonClicked)=\"prevLeft()\"></ius-button-standard-tertiary>\r\n \r\n <span (click)=\"nextView('left')\">\r\n @switch (calendarViewLeft) {\r\n @case ('day') { {{ getMonthName(viewDateLeft.getMonth()) }} {{ viewDateLeft.getFullYear() }} }\r\n @case ('month') { {{ viewDateLeft.getFullYear() }} }\r\n @case ('year') { {{ getDecadeStart(viewDateLeft) }}\u2013{{ getDecadeStart(viewDateLeft) + 9 }} }\r\n }\r\n </span>\r\n \r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-right\" (buttonClicked)=\"nextLeft()\"></ius-button-standard-tertiary>\r\n </div>\r\n \r\n <div class=\"calendar-body\">\r\n @switch (calendarViewLeft) {\r\n @case ('day') {\r\n <div class=\"grid days\">\r\n @for (day of dayLabels; track day) { <div class=\"header\">{{ day }}</div> }\r\n @for (date of calendarDaysLeft; track date) {\r\n <div class=\"cell\"\r\n [class.selected]=\"isSameDate(date, startDate)\"\r\n [class.range]=\"isInRangeForView(date, viewDateLeft)\"\r\n [class.out-of-range]=\"isDateOutOfRange(date, viewDateLeft)\"\r\n (click)=\"selectDateFrom('left', date)\">\r\n {{ date.getDate() }}\r\n </div>\r\n }\r\n </div>\r\n }\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('left', i, $event)\">{{ m }}</div>\r\n }\r\n </div>\r\n }\r\n @case ('year') {\r\n <div class=\"grid years\">\r\n @for (i of yearsArray; track i) {\r\n <div class=\"cell\"\r\n [class.out-of-range]=\"i === 0 || i === 11\"\r\n (click)=\"setYear('left', getDecadeStart(viewDateLeft) - 1 + i, $event)\">\r\n {{ getDecadeStart(viewDateLeft) - 1 + i }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n\r\n <div class=\"mes\">\r\n <div class=\"calendar-header\">\r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-left\" (buttonClicked)=\"prevRight()\"></ius-button-standard-tertiary>\r\n \r\n <span (click)=\"nextView('right')\">\r\n @switch (calendarViewRight) {\r\n @case ('day') { {{ getMonthName(viewDateRight.getMonth()) }} {{ viewDateRight.getFullYear() }} }\r\n @case ('month') { {{ viewDateRight.getFullYear() }} }\r\n @case ('year') { {{ getDecadeStart(viewDateRight) }}\u2013{{ getDecadeStart(viewDateRight) + 9 }} }\r\n }\r\n </span>\r\n \r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-right\" (buttonClicked)=\"nextRight()\"></ius-button-standard-tertiary>\r\n </div>\r\n \r\n <div class=\"calendar-body\">\r\n @switch (calendarViewRight) {\r\n @case ('day') {\r\n <div class=\"grid days\">\r\n @for (day of dayLabels; track day) { <div class=\"header\">{{ day }}</div> }\r\n @for (date of calendarDaysRight; track date) {\r\n <div class=\"cell\"\r\n [class.selected]=\"isSameDate(date, endDate)\"\r\n [class.range]=\"isInRangeForView(date, viewDateRight)\"\r\n [class.out-of-range]=\"isDateOutOfRange(date, viewDateRight)\"\r\n [class.disabled]=\"isDisabledDate(date, 'right')\"\r\n (click)=\"!isDisabledDate(date, 'right') && selectDateFrom('right', date)\">\r\n {{ date.getDate() }}\r\n </div>\r\n }\r\n </div>\r\n }\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('right', i, $event)\">{{ m }}</div>\r\n }\r\n </div>\r\n }\r\n @case ('year') {\r\n <div class=\"grid years\">\r\n @for (i of yearsArray; track i) {\r\n <div class=\"cell\"\r\n [class.out-of-range]=\"i === 0 || i === 11\"\r\n (click)=\"setYear('right', getDecadeStart(viewDateRight) - 1 + i, $event)\">\r\n {{ getDecadeStart(viewDateRight) - 1 + i }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\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>", 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%;display:flex;flex-direction:column;position:relative}.date-picker.disabled{opacity:.6;pointer-events:none}.date-picker .label{margin:0 4px;color:#333;font-family:Rubik;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{width:100%;align-items:flex-start;gap:4px}.date-picker .container-textfield .input{display:flex;justify-content:space-between;gap:4px;padding:12px;border-radius:8px;background:#f5f5f5;cursor:pointer;border:none}.date-picker .container-textfield .input .fechas{width:30%}.date-picker .container-textfield .input .fechas input{max-width:100%;flex:1;outline:none;border:none;background:#f5f5f5;color:#8c8c8c;font-family:Rubik;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;margin-left:3%;color:#333}.date-picker .container-textfield:hover .input,.date-picker .container-textfield:hover .input .fechas input{background-color:#edf6ff}.date-picker .container-textfield:hover .input .cnt-icon-right{color:#103ab7}.date-picker .container-textfield.focused .input{border:1px solid #0581BC;background:#edf6ff}.date-picker .container-textfield.focused .input .fechas input{background-color:#edf6ff;border:none}.date-picker .container-textfield.focused .input .cnt-icon-right{color:#103ab7}.date-picker .container-textfield.alert .input{border-radius:8px;border:1px solid #DB2E2A;background:#fff4f0}.date-picker .container-textfield.alert .input .fechas 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 .fechas 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 .cnt-icon-right{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-overlay{display:flex;align-items:center;align-self:stretch;min-width:540px;padding:0;gap:0;border-radius:8px;border:1px solid #f5f5f5;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.date-picker .calendar-overlay .calendars{display:flex}.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}.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;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;padding:2px 4px;border-radius:10px;background:#fff;font-family:Rubik;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;pointer-events:none}.date-picker .calendar-overlay .grid .cell.disabled{pointer-events:none;color:#bfbfbf;background:#fafafa;opacity:.6}.date-picker .calendar-overlay .grid .cell.range{padding:0;border-radius:0;margin:0;background-color:#edf6ff;color:#333}.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}.cell.empty{pointer-events:none;background:transparent;border:none}.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.DatePipe, name: "date" }, { kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }, { kind: "component", type: ButtonStandardTertiaryComponent, selector: "ius-button-standard-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }] }); }
202
202
  }
203
203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DoubleDatePickerComponent, decorators: [{
204
204
  type: Component,
205
- args: [{ selector: 'ius-double-date-picker', standalone: true, imports: [CommonModule, IconMdComponent, ButtonStandardTertiaryComponent], 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: startDate && endDate\r\n }\"\r\n (click)=\"toggleCalendar()\"\r\n >\r\n <div class=\"input\">\r\n <div class=\"fechas\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [value]=\"startDate ? (startDate | date : 'dd/MM/yyyy') : ''\"\r\n readonly\r\n [disabled]=\"disabled\"\r\n />\r\n </div>\r\n <div style=\"color: #595959; margin: 0 10%;\">\r\n <ius-icon-md [iconName]=\"'icon-east'\" ></ius-icon-md>\r\n </div>\r\n <div class=\"fechas\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [value]=\"endDate ? (endDate | date : 'dd/MM/yyyy') : ''\"\r\n readonly\r\n [disabled]=\"disabled\"\r\n />\r\n </div>\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\">\r\n <div class=\"mes\">\r\n <div class=\"calendar-header\">\r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-left\" (buttonClicked)=\"prevLeft()\"></ius-button-standard-tertiary>\r\n \r\n <span (click)=\"nextView('left')\">\r\n @switch (calendarViewLeft) {\r\n @case ('day') { {{ getMonthName(viewDateLeft.getMonth()) }} {{ viewDateLeft.getFullYear() }} }\r\n @case ('month') { {{ viewDateLeft.getFullYear() }} }\r\n @case ('year') { {{ getDecadeStart(viewDateLeft) }}\u2013{{ getDecadeStart(viewDateLeft) + 9 }} }\r\n }\r\n </span>\r\n \r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-right\" (buttonClicked)=\"nextLeft()\"></ius-button-standard-tertiary>\r\n </div>\r\n \r\n <div class=\"calendar-body\">\r\n @switch (calendarViewLeft) {\r\n @case ('day') {\r\n <div class=\"grid days\">\r\n @for (day of dayLabels; track day) { <div class=\"header\">{{ day }}</div> }\r\n @for (date of calendarDaysLeft; track date) {\r\n <div class=\"cell\"\r\n [class.selected]=\"isSameDate(date, startDate)\"\r\n [class.range]=\"isInRangeForView(date, viewDateLeft)\"\r\n [class.out-of-range]=\"isDateOutOfRange(date, viewDateLeft)\"\r\n (click)=\"selectDateFrom('left', date)\">\r\n {{ date.getDate() }}\r\n </div>\r\n }\r\n </div>\r\n }\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('left', i, $event)\">{{ m }}</div>\r\n }\r\n </div>\r\n }\r\n @case ('year') {\r\n <div class=\"grid years\">\r\n @for (i of yearsArray; track i) {\r\n <div class=\"cell\"\r\n [class.out-of-range]=\"i === 0 || i === 11\"\r\n (click)=\"setYear('left', getDecadeStart(viewDateLeft) - 1 + i, $event)\">\r\n {{ getDecadeStart(viewDateLeft) - 1 + i }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n\r\n <div class=\"mes\">\r\n <div class=\"calendar-header\">\r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-left\" (buttonClicked)=\"prevRight()\"></ius-button-standard-tertiary>\r\n \r\n <span (click)=\"nextView('right')\">\r\n @switch (calendarViewRight) {\r\n @case ('day') { {{ getMonthName(viewDateRight.getMonth()) }} {{ viewDateRight.getFullYear() }} }\r\n @case ('month') { {{ viewDateRight.getFullYear() }} }\r\n @case ('year') { {{ getDecadeStart(viewDateRight) }}\u2013{{ getDecadeStart(viewDateRight) + 9 }} }\r\n }\r\n </span>\r\n \r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-right\" (buttonClicked)=\"nextRight()\"></ius-button-standard-tertiary>\r\n </div>\r\n \r\n <div class=\"calendar-body\">\r\n @switch (calendarViewRight) {\r\n @case ('day') {\r\n <div class=\"grid days\">\r\n @for (day of dayLabels; track day) { <div class=\"header\">{{ day }}</div> }\r\n @for (date of calendarDaysRight; track date) {\r\n <div class=\"cell\"\r\n [class.selected]=\"isSameDate(date, endDate)\"\r\n [class.range]=\"isInRangeForView(date, viewDateRight)\"\r\n [class.out-of-range]=\"isDateOutOfRange(date, viewDateRight)\"\r\n [class.disabled]=\"isDisabledDate(date, 'right')\"\r\n (click)=\"!isDisabledDate(date, 'right') && selectDateFrom('right', date)\">\r\n {{ date.getDate() }}\r\n </div>\r\n }\r\n </div>\r\n }\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('right', i, $event)\">{{ m }}</div>\r\n }\r\n </div>\r\n }\r\n @case ('year') {\r\n <div class=\"grid years\">\r\n @for (i of yearsArray; track i) {\r\n <div class=\"cell\"\r\n [class.out-of-range]=\"i === 0 || i === 11\"\r\n (click)=\"setYear('right', getDecadeStart(viewDateRight) - 1 + i, $event)\">\r\n {{ getDecadeStart(viewDateRight) - 1 + i }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\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>", 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{display:flex;flex-direction:column;gap:8px;padding:8px 16px;position:relative}.date-picker.disabled{opacity:.6;pointer-events:none}.date-picker .label{margin:0 4px;color:#333;font-family:Rubik;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;flex-direction:column;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 .fechas{width:30%}.date-picker .container-textfield .input .fechas input{max-width:100%;flex:1;outline:none;border:none;background:#f5f5f5;color:#8c8c8c;font-family:Rubik;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;margin-left:3%;color:#333}.date-picker .container-textfield:hover .input,.date-picker .container-textfield:hover .input .fechas input{background-color:#edf6ff}.date-picker .container-textfield:hover .input .cnt-icon-right{color:#103ab7}.date-picker .container-textfield.focused .input{border:1px solid #0581BC;background:#edf6ff}.date-picker .container-textfield.focused .input .fechas input{background-color:#edf6ff;border:none}.date-picker .container-textfield.focused .input .cnt-icon-right{color:#103ab7}.date-picker .container-textfield.alert .input{border-radius:8px;border:1px solid #DB2E2A;background:#fff4f0}.date-picker .container-textfield.alert .input .fechas 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 .fechas 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 .cnt-icon-right{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-overlay{display:flex;align-items:center;align-self:stretch;min-width:540px;padding:0;gap:0;border-radius:8px;border:1px solid #f5f5f5;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.date-picker .calendar-overlay .calendars{display:flex}.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}.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;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;padding:2px 4px;border-radius:10px;background:#fff;font-family:Rubik;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;pointer-events:none}.date-picker .calendar-overlay .grid .cell.disabled{pointer-events:none;color:#bfbfbf;background:#fafafa;opacity:.6}.date-picker .calendar-overlay .grid .cell.range{padding:0;border-radius:0;margin:0;background-color:#edf6ff;color:#333}.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}.cell.empty{pointer-events:none;background:transparent;border:none}.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"] }]
205
+ args: [{ selector: 'ius-double-date-picker', standalone: true, imports: [CommonModule, IconMdComponent, ButtonStandardTertiaryComponent], 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: startDate && endDate\r\n }\"\r\n (click)=\"toggleCalendar()\"\r\n >\r\n <div class=\"input\">\r\n <div class=\"fechas\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [value]=\"startDate ? (startDate | date : 'dd/MM/yyyy') : ''\"\r\n readonly\r\n [disabled]=\"disabled\"\r\n />\r\n </div>\r\n <div style=\"color: #595959;\">\r\n <ius-icon-md [iconName]=\"'icon-east'\" ></ius-icon-md>\r\n </div>\r\n <div class=\"fechas\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [value]=\"endDate ? (endDate | date : 'dd/MM/yyyy') : ''\"\r\n readonly\r\n [disabled]=\"disabled\"\r\n />\r\n </div>\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\">\r\n <div class=\"mes\">\r\n <div class=\"calendar-header\">\r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-left\" (buttonClicked)=\"prevLeft()\"></ius-button-standard-tertiary>\r\n \r\n <span (click)=\"nextView('left')\">\r\n @switch (calendarViewLeft) {\r\n @case ('day') { {{ getMonthName(viewDateLeft.getMonth()) }} {{ viewDateLeft.getFullYear() }} }\r\n @case ('month') { {{ viewDateLeft.getFullYear() }} }\r\n @case ('year') { {{ getDecadeStart(viewDateLeft) }}\u2013{{ getDecadeStart(viewDateLeft) + 9 }} }\r\n }\r\n </span>\r\n \r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-right\" (buttonClicked)=\"nextLeft()\"></ius-button-standard-tertiary>\r\n </div>\r\n \r\n <div class=\"calendar-body\">\r\n @switch (calendarViewLeft) {\r\n @case ('day') {\r\n <div class=\"grid days\">\r\n @for (day of dayLabels; track day) { <div class=\"header\">{{ day }}</div> }\r\n @for (date of calendarDaysLeft; track date) {\r\n <div class=\"cell\"\r\n [class.selected]=\"isSameDate(date, startDate)\"\r\n [class.range]=\"isInRangeForView(date, viewDateLeft)\"\r\n [class.out-of-range]=\"isDateOutOfRange(date, viewDateLeft)\"\r\n (click)=\"selectDateFrom('left', date)\">\r\n {{ date.getDate() }}\r\n </div>\r\n }\r\n </div>\r\n }\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('left', i, $event)\">{{ m }}</div>\r\n }\r\n </div>\r\n }\r\n @case ('year') {\r\n <div class=\"grid years\">\r\n @for (i of yearsArray; track i) {\r\n <div class=\"cell\"\r\n [class.out-of-range]=\"i === 0 || i === 11\"\r\n (click)=\"setYear('left', getDecadeStart(viewDateLeft) - 1 + i, $event)\">\r\n {{ getDecadeStart(viewDateLeft) - 1 + i }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n\r\n <div class=\"mes\">\r\n <div class=\"calendar-header\">\r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-left\" (buttonClicked)=\"prevRight()\"></ius-button-standard-tertiary>\r\n \r\n <span (click)=\"nextView('right')\">\r\n @switch (calendarViewRight) {\r\n @case ('day') { {{ getMonthName(viewDateRight.getMonth()) }} {{ viewDateRight.getFullYear() }} }\r\n @case ('month') { {{ viewDateRight.getFullYear() }} }\r\n @case ('year') { {{ getDecadeStart(viewDateRight) }}\u2013{{ getDecadeStart(viewDateRight) + 9 }} }\r\n }\r\n </span>\r\n \r\n <ius-button-standard-tertiary iconName=\"icon-keyboard-arrow-right\" (buttonClicked)=\"nextRight()\"></ius-button-standard-tertiary>\r\n </div>\r\n \r\n <div class=\"calendar-body\">\r\n @switch (calendarViewRight) {\r\n @case ('day') {\r\n <div class=\"grid days\">\r\n @for (day of dayLabels; track day) { <div class=\"header\">{{ day }}</div> }\r\n @for (date of calendarDaysRight; track date) {\r\n <div class=\"cell\"\r\n [class.selected]=\"isSameDate(date, endDate)\"\r\n [class.range]=\"isInRangeForView(date, viewDateRight)\"\r\n [class.out-of-range]=\"isDateOutOfRange(date, viewDateRight)\"\r\n [class.disabled]=\"isDisabledDate(date, 'right')\"\r\n (click)=\"!isDisabledDate(date, 'right') && selectDateFrom('right', date)\">\r\n {{ date.getDate() }}\r\n </div>\r\n }\r\n </div>\r\n }\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('right', i, $event)\">{{ m }}</div>\r\n }\r\n </div>\r\n }\r\n @case ('year') {\r\n <div class=\"grid years\">\r\n @for (i of yearsArray; track i) {\r\n <div class=\"cell\"\r\n [class.out-of-range]=\"i === 0 || i === 11\"\r\n (click)=\"setYear('right', getDecadeStart(viewDateRight) - 1 + i, $event)\">\r\n {{ getDecadeStart(viewDateRight) - 1 + i }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\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>", 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%;display:flex;flex-direction:column;position:relative}.date-picker.disabled{opacity:.6;pointer-events:none}.date-picker .label{margin:0 4px;color:#333;font-family:Rubik;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{width:100%;align-items:flex-start;gap:4px}.date-picker .container-textfield .input{display:flex;justify-content:space-between;gap:4px;padding:12px;border-radius:8px;background:#f5f5f5;cursor:pointer;border:none}.date-picker .container-textfield .input .fechas{width:30%}.date-picker .container-textfield .input .fechas input{max-width:100%;flex:1;outline:none;border:none;background:#f5f5f5;color:#8c8c8c;font-family:Rubik;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;margin-left:3%;color:#333}.date-picker .container-textfield:hover .input,.date-picker .container-textfield:hover .input .fechas input{background-color:#edf6ff}.date-picker .container-textfield:hover .input .cnt-icon-right{color:#103ab7}.date-picker .container-textfield.focused .input{border:1px solid #0581BC;background:#edf6ff}.date-picker .container-textfield.focused .input .fechas input{background-color:#edf6ff;border:none}.date-picker .container-textfield.focused .input .cnt-icon-right{color:#103ab7}.date-picker .container-textfield.alert .input{border-radius:8px;border:1px solid #DB2E2A;background:#fff4f0}.date-picker .container-textfield.alert .input .fechas 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 .fechas 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 .cnt-icon-right{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-overlay{display:flex;align-items:center;align-self:stretch;min-width:540px;padding:0;gap:0;border-radius:8px;border:1px solid #f5f5f5;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.date-picker .calendar-overlay .calendars{display:flex}.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}.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;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;padding:2px 4px;border-radius:10px;background:#fff;font-family:Rubik;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;pointer-events:none}.date-picker .calendar-overlay .grid .cell.disabled{pointer-events:none;color:#bfbfbf;background:#fafafa;opacity:.6}.date-picker .calendar-overlay .grid .cell.range{padding:0;border-radius:0;margin:0;background-color:#edf6ff;color:#333}.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}.cell.empty{pointer-events:none;background:transparent;border:none}.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"] }]
206
206
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { label: [{
207
207
  type: Input
208
208
  }], placeholder: [{
@@ -227,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
227
227
  type: HostListener,
228
228
  args: ['document:click', ['$event']]
229
229
  }] } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG91YmxlLWRhdGUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2RvdWJsZS1kYXRlLXBpY2tlci9kb3VibGUtZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZG91YmxlLWRhdGUtcGlja2VyL2RvdWJsZS1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7QUFTakgsTUFBTSxPQUFPLHlCQUF5QjtJQWlDcEMsWUFBb0IsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQWhDNUIsVUFBSyxHQUFHLGdDQUFnQyxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsZUFBZSxDQUFDO1FBQzlCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzVCLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFakIsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFFcEUsY0FBUyxHQUFHLENBQUMs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QU0sQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzsrR0EvTlUseUJBQXlCO21HQUF6Qix5QkFBeUIsa2JDWnRDLDZvT0ErS00sK3NORHZLTSxZQUFZLGdMQUFFLGVBQWUsdUZBQUUsK0JBQStCOzs0RkFJN0QseUJBQXlCO2tCQVByQyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLCtCQUErQixDQUFDOytFQUtoRSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNO2dCQStNUCxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEljb25NZENvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25TdGFuZGFyZFRlcnRpYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5L2J1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpdXMtZG91YmxlLWRhdGUtcGlja2VyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25NZENvbXBvbmVudCwgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvdWJsZS1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2RvdWJsZS1kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIERvdWJsZURhdGVQaWNrZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGxhYmVsID0gJ0ZlY2hhIGRlIGluaWNpbyB5IGZpbmFsaXphY2nDs24nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ0ZlY2hhIGluaWNpbyAnO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyMiA9ICdGZWNoYSBmaW4gJztcclxuICBASW5wdXQoKSBlcnJvciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGljb25IZWxwID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGVscFRleHQgPSAnJztcclxuICBASW5wdXQoKSBoZWxwVGV4dEVycm9yID0gJyc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpIGRhdGVSYW5nZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0OiBEYXRlOyBlbmQ6IERhdGUgfT4oKTtcclxuXHJcbiAgcmVhZG9ubHkgZGF5TGFiZWxzID0gWydEbycsICdMdScsICdNYScsICdNaScsICdKdScsICdWaScsICdTYSddO1xyXG4gIHJlYWRvbmx5IG1vbnRocyA9IFsnRW5lJywgJ0ZlYicsICdNYXInLCAnQWJyJywgJ01heScsICdKdW4nLCAnSnVsJywgJ0FnbycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEaWMnXTtcclxuICByZWFkb25seSB5ZWFyc0FycmF5ID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGkpID0+IGkpO1xyXG5cclxuICBzdGFydERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBlbmREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgaXNTZWxlY3RpbmdTdGFydCA9IHRydWU7XHJcblxyXG4gIGNhbGVuZGFyT3BlbiA9IGZhbHNlO1xyXG4gIGZvY3VzZWQgPSBmYWxzZTtcclxuXHJcbiAgdmlld0RhdGVMZWZ0ID0gbmV3IERhdGUoKTtcclxuICB2aWV3RGF0ZVJpZ2h0ID0gbmV3IERhdGUobmV3IERhdGUoKS5zZXRNb250aChuZXcgRGF0ZSgpLmdldE1vbnRoKCkgKyAxKSk7XHJcblxyXG4gIGNhbGVuZGFyVmlld0xlZnQ6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyA9ICdkYXknO1xyXG4gIGNhbGVuZGFyVmlld1JpZ2h0OiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicgPSAnZGF5JztcclxuXHJcbiAgY2FsZW5kYXJEYXlzTGVmdDogRGF0ZVtdID0gW107XHJcbiAgY2FsZW5kYXJEYXlzUmlnaHQ6IERhdGVbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUNhbGVuZGFyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIGlmICghdGhpcy5jYWxlbmRhck9wZW4pIHtcclxuICAgICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jYWxlbmRhck9wZW4gPSAhdGhpcy5jYWxlbmRhck9wZW47XHJcbiAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVDYWxlbmRhckRheXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGVuZGFyRGF5c0xlZnQgPSB0aGlzLmdldENhbGVuZGFyRGF5cyh0aGlzLnZpZXdEYXRlTGVmdCk7XHJcbiAgICB0aGlzLmNhbGVuZGFyRGF5c1JpZ2h0ID0gdGhpcy5nZXRDYWxlbmRhckRheXModGhpcy52aWV3RGF0ZVJpZ2h0KTtcclxuICB9XHJcblxyXG4gIGdldENhbGVuZGFyRGF5cyh2aWV3RGF0ZTogRGF0ZSk6IERhdGVbXSB7XHJcbiAgICBjb25zdCBkYXlzOiBEYXRlW10gPSBbXTtcclxuICAgIGNvbnN0IHllYXIgPSB2aWV3RGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgbW9udGggPSB2aWV3RGF0ZS5nZXRNb250aCgpO1xyXG4gICAgY29uc3QgZmlyc3REYXkgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XHJcbiAgICBjb25zdCBvZmZzZXQgPSBmaXJzdERheS5nZXREYXkoKTtcclxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxIC0gb2Zmc2V0KTtcclxuICBcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDI7IGkrKykge1xyXG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoc3RhcnREYXRlKTtcclxuICAgICAgZGF0ZS5zZXREYXRlKHN0YXJ0RGF0ZS5nZXREYXRlKCkgKyBpKTtcclxuICAgICAgZGF5cy5wdXNoKGRhdGUpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgcmV0dXJuIGRheXM7XHJcbiAgfVxyXG4gIFxyXG4gIHByZXZMZWZ0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaGlmdFZpZXdEYXRlKCdsZWZ0JywgLTEpO1xyXG4gIH1cclxuXHJcbiAgbmV4dExlZnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNoaWZ0Vmlld0RhdGUoJ2xlZnQnLCAxKTtcclxuICB9XHJcblxyXG4gIHByZXZSaWdodCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hpZnRWaWV3RGF0ZSgncmlnaHQnLCAtMSk7XHJcbiAgfVxyXG5cclxuICBuZXh0UmlnaHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNoaWZ0Vmlld0RhdGUoJ3JpZ2h0JywgMSk7XHJcbiAgfVxyXG5cclxuICBzaGlmdFZpZXdEYXRlKHNpZGU6ICdsZWZ0JyB8ICdyaWdodCcsIHN0ZXA6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgdmlldyA9IHNpZGUgPT09ICdsZWZ0JyA/IHRoaXMuY2FsZW5kYXJWaWV3TGVmdCA6IHRoaXMuY2FsZW5kYXJWaWV3UmlnaHQ7XHJcbiAgICBjb25zdCBiYXNlRGF0ZSA9IHNpZGUgPT09ICdsZWZ0JyA/IHRoaXMudmlld0RhdGVMZWZ0IDogdGhpcy52aWV3RGF0ZVJpZ2h0O1xyXG4gICAgY29uc3QgbW9udGggPSBiYXNlRGF0ZS5nZXRNb250aCgpO1xyXG4gICAgY29uc3QgeWVhciA9IGJhc2VEYXRlLmdldEZ1bGxZZWFyKCk7XHJcblxyXG4gICAgbGV0IG5ld0RhdGU6IERhdGU7XHJcbiAgICBpZiAodmlldyA9PT0gJ2RheScpIHtcclxuICAgICAgbmV3RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgc3RlcCwgMSk7XHJcbiAgICB9IGVsc2UgaWYgKHZpZXcgPT09ICdtb250aCcpIHtcclxuICAgICAgbmV3RGF0ZSA9IG5ldyBEYXRlKHllYXIgKyBzdGVwLCBtb250aCwgMSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdEYXRlID0gbmV3IERhdGUoeWVhciArIHN0ZXAgKiAxMCwgbW9udGgsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzaWRlID09PSAnbGVmdCcpIHtcclxuICAgICAgdGhpcy52aWV3RGF0ZUxlZnQgPSBuZXdEYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3RGF0ZVJpZ2h0ID0gbmV3RGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0VmlldyhzaWRlOiAnbGVmdCcgfCAncmlnaHQnKTogdm9pZCB7XHJcbiAgICBpZiAoc2lkZSA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJWaWV3TGVmdCA9IHRoaXMuY2FsZW5kYXJWaWV3TGVmdCA9PT0gJ2RheScgPyAnbW9udGgnIDogdGhpcy5jYWxlbmRhclZpZXdMZWZ0ID09PSAnbW9udGgnID8gJ3llYXInIDogJ2RheSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNhbGVuZGFyVmlld1JpZ2h0ID0gdGhpcy5jYWxlbmRhclZpZXdSaWdodCA9PT0gJ2RheScgPyAnbW9udGgnIDogdGhpcy5jYWxlbmRhclZpZXdSaWdodCA9PT0gJ21vbnRoJyA/ICd5ZWFyJyA6ICdkYXknO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0TW9udGgoc2lkZTogJ2xlZnQnIHwgJ3JpZ2h0JywgbW9udGg6IG51bWJlciwgZXZlbnQ/OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAoc2lkZSA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGVMZWZ0LnNldE1vbnRoKG1vbnRoKTtcclxuICAgICAgdGhpcy5jYWxlbmRhclZpZXdMZWZ0ID0gJ2RheSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZpZXdEYXRlUmlnaHQuc2V0TW9udGgobW9udGgpO1xyXG4gICAgICB0aGlzLmNhbGVuZGFyVmlld1JpZ2h0ID0gJ2RheSc7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG4gIFxyXG4gIHNldFllYXIoc2lkZTogJ2xlZnQnIHwgJ3JpZ2h0JywgeWVhcjogbnVtYmVyLCBldmVudD86IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmIChzaWRlID09PSAnbGVmdCcpIHtcclxuICAgICAgdGhpcy52aWV3RGF0ZUxlZnQuc2V0RnVsbFllYXIoeWVhcik7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJWaWV3TGVmdCA9ICdtb250aCc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZpZXdEYXRlUmlnaHQuc2V0RnVsbFllYXIoeWVhcik7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJWaWV3UmlnaHQgPSAnbW9udGgnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0RGF0ZUZyb20oc2lkZTogJ2xlZnQnIHwgJ3JpZ2h0JywgZGF0ZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgaWYgKHNpZGUgPT09ICdsZWZ0Jykge1xyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IGRhdGU7XHJcbiAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoIXRoaXMuc3RhcnREYXRlKSB7XHJcbiAgICAgICAgdGhpcy5zdGFydERhdGUgPSBkYXRlO1xyXG4gICAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBpZiAoZGF0ZSA+PSB0aGlzLnN0YXJ0RGF0ZSkge1xyXG4gICAgICAgIHRoaXMuZW5kRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRhdGVSYW5nZVNlbGVjdGVkLmVtaXQoeyBzdGFydDogdGhpcy5zdGFydERhdGUsIGVuZDogdGhpcy5lbmREYXRlIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc3RhcnREYXRlID0gZGF0ZTtcclxuICAgICAgICB0aGlzLmVuZERhdGUgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0Rpc2FibGVkRGF0ZShkYXRlOiBEYXRlLCBzaWRlOiAnbGVmdCcgfCAncmlnaHQnKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoc2lkZSA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICBpZiAoIXRoaXMuc3RhcnREYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGRhdGUgPD0gdGhpcy5zdGFydERhdGU7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBpZiAoc2lkZSA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICBcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIFxyXG4gIGlzU2FtZURhdGUoZDE6IERhdGUsIGQyOiBEYXRlIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGQyISAmJiBkMS5nZXREYXRlKCkgPT09IGQyLmdldERhdGUoKSAmJiBkMS5nZXRNb250aCgpID09PSBkMi5nZXRNb250aCgpICYmIGQxLmdldEZ1bGxZZWFyKCkgPT09IGQyLmdldEZ1bGxZZWFyKCk7XHJcbiAgfVxyXG5cclxuICBpc0RhdGVPdXRPZlJhbmdlKGRhdGU6IERhdGUsIHZpZXdEYXRlOiBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBkYXRlLmdldE1vbnRoKCkgIT09IHZpZXdEYXRlLmdldE1vbnRoKCkgfHxcclxuICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpICE9PSB2aWV3RGF0ZS5nZXRGdWxsWWVhcigpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNJblJhbmdlKGRhdGU6IERhdGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXJ0RGF0ZSEgJiYgdGhpcy5lbmREYXRlISAmJiBkYXRlID4gdGhpcy5zdGFydERhdGUgJiYgZGF0ZSA8IHRoaXMuZW5kRGF0ZTtcclxuICB9XHJcblxyXG4gIGlzSW5SYW5nZUZvclZpZXcoZGF0ZTogRGF0ZSwgdmlld0RhdGU6IERhdGUpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmlzRGF0ZU91dE9mUmFuZ2UoZGF0ZSwgdmlld0RhdGUpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnN0YXJ0RGF0ZSEgJiYgdGhpcy5lbmREYXRlISAmJiBkYXRlID4gdGhpcy5zdGFydERhdGUgJiYgZGF0ZSA8IHRoaXMuZW5kRGF0ZTtcclxuICB9XHJcblxyXG4gIGdldE1vbnRoTmFtZShpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm1vbnRoc1tpbmRleF07XHJcbiAgfVxyXG5cclxuICBnZXREZWNhZGVTdGFydCh2aWV3RGF0ZTogRGF0ZSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gTWF0aC5mbG9vcih2aWV3RGF0ZS5nZXRGdWxsWWVhcigpIC8gMTApICogMTA7XHJcbiAgfVxyXG5cclxuICBjbG9zZUNhbGVuZGFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICAgIGlmICghdGhpcy5zdGFydERhdGUgfHwgIXRoaXMuZW5kRGF0ZSkge1xyXG4gICAgICB0aGlzLmVycm9yID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVPdXRzaWRlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcclxuICAgIGlmICghY2xpY2tlZEluc2lkZSAmJiB0aGlzLmNhbGVuZGFyT3Blbikge1xyXG4gICAgICB0aGlzLmNsb3NlQ2FsZW5kYXIoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImRhdGUtcGlja2VyXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRleHRcIj5cclxuICAgIEBpZiAoaXNSZXF1aXJlZCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVxdWlyZWRcIj48L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cclxuXHJcbiAgICBAaWYgKGljb25IZWxwKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJoZWxwLWljb25cIj5cclxuICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWhlbHBcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+OjwvbGFiZWw+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29udGFpbmVyLXRleHRmaWVsZFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgICAgZm9jdXNlZDogY2FsZW5kYXJPcGVuIHx8IGZvY3VzZWQsXHJcbiAgICAgICAgYWxlcnQ6ICFjYWxlbmRhck9wZW4gJiYgZXJyb3IgJiYgIWRpc2FibGVkLFxyXG4gICAgICAgIHNlbGVjdGVkOiBzdGFydERhdGUgJiYgZW5kRGF0ZVxyXG4gICAgICB9XCJcclxuICAgICAgKGNsaWNrKT1cInRvZ2dsZUNhbGVuZGFyKClcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWNoYXNcIj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICBbdmFsdWVdPVwic3RhcnREYXRlID8gKHN0YXJ0RGF0ZSB8IGRhdGUgOiAnZGQvTU0veXl5eScpIDogJydcIlxyXG4gICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBzdHlsZT1cImNvbG9yOiAjNTk1OTU5OyBtYXJnaW46IDAgMTAlO1wiPlxyXG4gICAgICAgICAgICA8aXVzLWljb24tbWQgW2ljb25OYW1lXT1cIidpY29uLWVhc3QnXCIgPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWNoYXNcIj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICBbdmFsdWVdPVwiZW5kRGF0ZSA/IChlbmREYXRlIHwgZGF0ZSA6ICdkZC9NTS95eXl5JykgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNudC1pY29uLXJpZ2h0XCI+XHJcbiAgICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWNhbGVuZGFyLXRvZGF5XCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICBAaWYgKGNhbGVuZGFyT3Blbikge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItb3ZlcmxheVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPGl1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnkgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LWxlZnRcIiAoYnV0dG9uQ2xpY2tlZCk9XCJwcmV2TGVmdCgpXCI+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG4gICAgICBcclxuICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cIm5leHRWaWV3KCdsZWZ0JylcIj5cclxuICAgICAgICAgICAgICBAc3dpdGNoIChjYWxlbmRhclZpZXdMZWZ0KSB7XHJcbiAgICAgICAgICAgICAgICBAY2FzZSAoJ2RheScpIHsge3sgZ2V0TW9udGhOYW1lKHZpZXdEYXRlTGVmdC5nZXRNb250aCgpKSB9fSB7eyB2aWV3RGF0ZUxlZnQuZ2V0RnVsbFllYXIoKSB9fSB9XHJcbiAgICAgICAgICAgICAgICBAY2FzZSAoJ21vbnRoJykgeyB7eyB2aWV3RGF0ZUxlZnQuZ2V0RnVsbFllYXIoKSB9fSB9XHJcbiAgICAgICAgICAgICAgICBAY2FzZSAoJ3llYXInKSB7IHt7IGdldERlY2FkZVN0YXJ0KHZpZXdEYXRlTGVmdCkgfX3igJN7eyBnZXREZWNhZGVTdGFydCh2aWV3RGF0ZUxlZnQpICsgOSB9fSB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgIFxyXG4gICAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeSBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctcmlnaHRcIiAoYnV0dG9uQ2xpY2tlZCk9XCJuZXh0TGVmdCgpXCI+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIFxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWJvZHlcIj5cclxuICAgICAgICAgICAgQHN3aXRjaCAoY2FsZW5kYXJWaWV3TGVmdCkge1xyXG4gICAgICAgICAgICAgIEBjYXNlICgnZGF5Jykge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZGF5c1wiPlxyXG4gICAgICAgICAgICAgICAgICBAZm9yIChkYXkgb2YgZGF5TGFiZWxzOyB0cmFjayBkYXkpIHsgPGRpdiBjbGFzcz1cImhlYWRlclwiPnt7IGRheSB9fTwvZGl2PiB9XHJcbiAgICAgICAgICAgICAgICAgIEBmb3IgKGRhdGUgb2YgY2FsZW5kYXJEYXlzTGVmdDsgdHJhY2sgZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc1NhbWVEYXRlKGRhdGUsIHN0YXJ0RGF0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnJhbmdlXT1cImlzSW5SYW5nZUZvclZpZXcoZGF0ZSwgdmlld0RhdGVMZWZ0KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImlzRGF0ZU91dE9mUmFuZ2UoZGF0ZSwgdmlld0RhdGVMZWZ0KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZUZyb20oJ2xlZnQnLCBkYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgZGF0ZS5nZXREYXRlKCkgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIEBjYXNlICgnbW9udGgnKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBtb250aHNcIj5cclxuICAgICAgICAgICAgICAgICAgQGZvciAobSBvZiBtb250aHM7IHRyYWNrIG07IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIiAoY2xpY2spPVwic2V0TW9udGgoJ2xlZnQnLCBpLCAkZXZlbnQpXCI+e3sgbSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgQGNhc2UgKCd5ZWFyJykge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgeWVhcnNcIj5cclxuICAgICAgICAgICAgICAgICAgQGZvciAoaSBvZiB5ZWFyc0FycmF5OyB0cmFjayBpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm91dC1vZi1yYW5nZV09XCJpID09PSAwIHx8IGkgPT09IDExXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRZZWFyKCdsZWZ0JywgZ2V0RGVjYWRlU3RhcnQodmlld0RhdGVMZWZ0KSAtIDEgKyBpLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBnZXREZWNhZGVTdGFydCh2aWV3RGF0ZUxlZnQpIC0gMSArIGkgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeSBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctbGVmdFwiIChidXR0b25DbGlja2VkKT1cInByZXZSaWdodCgpXCI+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG4gICAgICBcclxuICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cIm5leHRWaWV3KCdyaWdodCcpXCI+XHJcbiAgICAgICAgICAgICAgQHN3aXRjaCAoY2FsZW5kYXJWaWV3UmlnaHQpIHtcclxuICAgICAgICAgICAgICAgIEBjYXNlICgnZGF5JykgeyB7eyBnZXRNb250aE5hbWUodmlld0RhdGVSaWdodC5nZXRNb250aCgpKSB9fSB7eyB2aWV3RGF0ZVJpZ2h0LmdldEZ1bGxZZWFyKCkgfX0gfVxyXG4gICAgICAgICAgICAgICAgQGNhc2UgKCdtb250aCcpIHsge3sgdmlld0RhdGVSaWdodC5nZXRGdWxsWWVhcigpIH19IH1cclxuICAgICAgICAgICAgICAgIEBjYXNlICgneWVhcicpIHsge3sgZ2V0RGVjYWRlU3RhcnQodmlld0RhdGVSaWdodCkgfX3igJN7eyBnZXREZWNhZGVTdGFydCh2aWV3RGF0ZVJpZ2h0KSArIDkgfX0gfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICBcclxuICAgICAgICAgICAgPGl1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnkgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LXJpZ2h0XCIgKGJ1dHRvbkNsaWNrZWQpPVwibmV4dFJpZ2h0KClcIj48L2l1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnk+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYm9keVwiPlxyXG4gICAgICAgICAgICBAc3dpdGNoIChjYWxlbmRhclZpZXdSaWdodCkge1xyXG4gICAgICAgICAgICAgIEBjYXNlICgnZGF5Jykge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZGF5c1wiPlxyXG4gICAgICAgICAgICAgICAgICBAZm9yIChkYXkgb2YgZGF5TGFiZWxzOyB0cmFjayBkYXkpIHsgPGRpdiBjbGFzcz1cImhlYWRlclwiPnt7IGRheSB9fTwvZGl2PiB9XHJcbiAgICAgICAgICAgICAgICAgIEBmb3IgKGRhdGUgb2YgY2FsZW5kYXJEYXlzUmlnaHQ7IHRyYWNrIGRhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzU2FtZURhdGUoZGF0ZSwgZW5kRGF0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yYW5nZV09XCJpc0luUmFuZ2VGb3JWaWV3KGRhdGUsIHZpZXdEYXRlUmlnaHQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImlzRGF0ZU91dE9mUmFuZ2UoZGF0ZSwgdmlld0RhdGVSaWdodClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpc0Rpc2FibGVkRGF0ZShkYXRlLCAncmlnaHQnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiFpc0Rpc2FibGVkRGF0ZShkYXRlLCAncmlnaHQnKSAmJiBzZWxlY3REYXRlRnJvbSgncmlnaHQnLCBkYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGRhdGUuZ2V0RGF0ZSgpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBAY2FzZSAoJ21vbnRoJykge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgbW9udGhzXCI+XHJcbiAgICAgICAgICAgICAgICAgIEBmb3IgKG0gb2YgbW9udGhzOyB0cmFjayBtOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCIgKGNsaWNrKT1cInNldE1vbnRoKCdyaWdodCcsIGksICRldmVudClcIj57eyBtIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBAY2FzZSAoJ3llYXInKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCB5ZWFyc1wiPlxyXG4gICAgICAgICAgICAgICAgICBAZm9yIChpIG9mIHllYXJzQXJyYXk7IHRyYWNrIGkpIHtcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImkgPT09IDAgfHwgaSA9PT0gMTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFllYXIoJ3JpZ2h0JywgZ2V0RGVjYWRlU3RhcnQodmlld0RhdGVSaWdodCkgLSAxICsgaSwgJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgZ2V0RGVjYWRlU3RhcnQodmlld0RhdGVSaWdodCkgLSAxICsgaSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuICBAaWYgKGhlbHBUZXh0ICYmIGZvY3VzZWQgJiYgIWVycm9yKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVscC10ZXh0XCI+XHJcbiAgICAgIHt7aGVscFRleHR9fVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG4gIEBpZiAoaGVscFRleHRFcnJvciAmJiBlcnJvcikge1xyXG4gICAgPGRpdiBjbGFzcz1cImhlbHAtdGV4dC1lcnJvclwiPlxyXG4gICAgICB7e2hlbHBUZXh0RXJyb3J9fVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj4iXX0=
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG91YmxlLWRhdGUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2RvdWJsZS1kYXRlLXBpY2tlci9kb3VibGUtZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZG91YmxlLWRhdGUtcGlja2VyL2RvdWJsZS1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7QUFTakgsTUFBTSxPQUFPLHlCQUF5QjtJQWlDcEMsWUFBb0IsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQWhDNUIsVUFBSyxHQUFHLGdDQUFnQyxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsZUFBZSxDQUFDO1FBQzlCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzVCLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFakIsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFFcEUsY0FBUyxHQUFHLENBQUMs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QU0sQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzsrR0EvTlUseUJBQXlCO21HQUF6Qix5QkFBeUIsa2JDWnRDLDhuT0ErS00sK29ORHZLTSxZQUFZLGdMQUFFLGVBQWUsdUZBQUUsK0JBQStCOzs0RkFJN0QseUJBQXlCO2tCQVByQyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLCtCQUErQixDQUFDOytFQUtoRSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNO2dCQStNUCxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEljb25NZENvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25TdGFuZGFyZFRlcnRpYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5L2J1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpdXMtZG91YmxlLWRhdGUtcGlja2VyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25NZENvbXBvbmVudCwgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvdWJsZS1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2RvdWJsZS1kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIERvdWJsZURhdGVQaWNrZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGxhYmVsID0gJ0ZlY2hhIGRlIGluaWNpbyB5IGZpbmFsaXphY2nDs24nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ0ZlY2hhIGluaWNpbyAnO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyMiA9ICdGZWNoYSBmaW4gJztcclxuICBASW5wdXQoKSBlcnJvciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGljb25IZWxwID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGVscFRleHQgPSAnJztcclxuICBASW5wdXQoKSBoZWxwVGV4dEVycm9yID0gJyc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpIGRhdGVSYW5nZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0OiBEYXRlOyBlbmQ6IERhdGUgfT4oKTtcclxuXHJcbiAgcmVhZG9ubHkgZGF5TGFiZWxzID0gWydEbycsICdMdScsICdNYScsICdNaScsICdKdScsICdWaScsICdTYSddO1xyXG4gIHJlYWRvbmx5IG1vbnRocyA9IFsnRW5lJywgJ0ZlYicsICdNYXInLCAnQWJyJywgJ01heScsICdKdW4nLCAnSnVsJywgJ0FnbycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEaWMnXTtcclxuICByZWFkb25seSB5ZWFyc0FycmF5ID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGkpID0+IGkpO1xyXG5cclxuICBzdGFydERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBlbmREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgaXNTZWxlY3RpbmdTdGFydCA9IHRydWU7XHJcblxyXG4gIGNhbGVuZGFyT3BlbiA9IGZhbHNlO1xyXG4gIGZvY3VzZWQgPSBmYWxzZTtcclxuXHJcbiAgdmlld0RhdGVMZWZ0ID0gbmV3IERhdGUoKTtcclxuICB2aWV3RGF0ZVJpZ2h0ID0gbmV3IERhdGUobmV3IERhdGUoKS5zZXRNb250aChuZXcgRGF0ZSgpLmdldE1vbnRoKCkgKyAxKSk7XHJcblxyXG4gIGNhbGVuZGFyVmlld0xlZnQ6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyA9ICdkYXknO1xyXG4gIGNhbGVuZGFyVmlld1JpZ2h0OiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicgPSAnZGF5JztcclxuXHJcbiAgY2FsZW5kYXJEYXlzTGVmdDogRGF0ZVtdID0gW107XHJcbiAgY2FsZW5kYXJEYXlzUmlnaHQ6IERhdGVbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUNhbGVuZGFyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIGlmICghdGhpcy5jYWxlbmRhck9wZW4pIHtcclxuICAgICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jYWxlbmRhck9wZW4gPSAhdGhpcy5jYWxlbmRhck9wZW47XHJcbiAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVDYWxlbmRhckRheXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGVuZGFyRGF5c0xlZnQgPSB0aGlzLmdldENhbGVuZGFyRGF5cyh0aGlzLnZpZXdEYXRlTGVmdCk7XHJcbiAgICB0aGlzLmNhbGVuZGFyRGF5c1JpZ2h0ID0gdGhpcy5nZXRDYWxlbmRhckRheXModGhpcy52aWV3RGF0ZVJpZ2h0KTtcclxuICB9XHJcblxyXG4gIGdldENhbGVuZGFyRGF5cyh2aWV3RGF0ZTogRGF0ZSk6IERhdGVbXSB7XHJcbiAgICBjb25zdCBkYXlzOiBEYXRlW10gPSBbXTtcclxuICAgIGNvbnN0IHllYXIgPSB2aWV3RGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgbW9udGggPSB2aWV3RGF0ZS5nZXRNb250aCgpO1xyXG4gICAgY29uc3QgZmlyc3REYXkgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XHJcbiAgICBjb25zdCBvZmZzZXQgPSBmaXJzdERheS5nZXREYXkoKTtcclxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxIC0gb2Zmc2V0KTtcclxuICBcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDI7IGkrKykge1xyXG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoc3RhcnREYXRlKTtcclxuICAgICAgZGF0ZS5zZXREYXRlKHN0YXJ0RGF0ZS5nZXREYXRlKCkgKyBpKTtcclxuICAgICAgZGF5cy5wdXNoKGRhdGUpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgcmV0dXJuIGRheXM7XHJcbiAgfVxyXG4gIFxyXG4gIHByZXZMZWZ0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaGlmdFZpZXdEYXRlKCdsZWZ0JywgLTEpO1xyXG4gIH1cclxuXHJcbiAgbmV4dExlZnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNoaWZ0Vmlld0RhdGUoJ2xlZnQnLCAxKTtcclxuICB9XHJcblxyXG4gIHByZXZSaWdodCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hpZnRWaWV3RGF0ZSgncmlnaHQnLCAtMSk7XHJcbiAgfVxyXG5cclxuICBuZXh0UmlnaHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNoaWZ0Vmlld0RhdGUoJ3JpZ2h0JywgMSk7XHJcbiAgfVxyXG5cclxuICBzaGlmdFZpZXdEYXRlKHNpZGU6ICdsZWZ0JyB8ICdyaWdodCcsIHN0ZXA6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgdmlldyA9IHNpZGUgPT09ICdsZWZ0JyA/IHRoaXMuY2FsZW5kYXJWaWV3TGVmdCA6IHRoaXMuY2FsZW5kYXJWaWV3UmlnaHQ7XHJcbiAgICBjb25zdCBiYXNlRGF0ZSA9IHNpZGUgPT09ICdsZWZ0JyA/IHRoaXMudmlld0RhdGVMZWZ0IDogdGhpcy52aWV3RGF0ZVJpZ2h0O1xyXG4gICAgY29uc3QgbW9udGggPSBiYXNlRGF0ZS5nZXRNb250aCgpO1xyXG4gICAgY29uc3QgeWVhciA9IGJhc2VEYXRlLmdldEZ1bGxZZWFyKCk7XHJcblxyXG4gICAgbGV0IG5ld0RhdGU6IERhdGU7XHJcbiAgICBpZiAodmlldyA9PT0gJ2RheScpIHtcclxuICAgICAgbmV3RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgc3RlcCwgMSk7XHJcbiAgICB9IGVsc2UgaWYgKHZpZXcgPT09ICdtb250aCcpIHtcclxuICAgICAgbmV3RGF0ZSA9IG5ldyBEYXRlKHllYXIgKyBzdGVwLCBtb250aCwgMSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdEYXRlID0gbmV3IERhdGUoeWVhciArIHN0ZXAgKiAxMCwgbW9udGgsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzaWRlID09PSAnbGVmdCcpIHtcclxuICAgICAgdGhpcy52aWV3RGF0ZUxlZnQgPSBuZXdEYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3RGF0ZVJpZ2h0ID0gbmV3RGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0VmlldyhzaWRlOiAnbGVmdCcgfCAncmlnaHQnKTogdm9pZCB7XHJcbiAgICBpZiAoc2lkZSA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJWaWV3TGVmdCA9IHRoaXMuY2FsZW5kYXJWaWV3TGVmdCA9PT0gJ2RheScgPyAnbW9udGgnIDogdGhpcy5jYWxlbmRhclZpZXdMZWZ0ID09PSAnbW9udGgnID8gJ3llYXInIDogJ2RheSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNhbGVuZGFyVmlld1JpZ2h0ID0gdGhpcy5jYWxlbmRhclZpZXdSaWdodCA9PT0gJ2RheScgPyAnbW9udGgnIDogdGhpcy5jYWxlbmRhclZpZXdSaWdodCA9PT0gJ21vbnRoJyA/ICd5ZWFyJyA6ICdkYXknO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0TW9udGgoc2lkZTogJ2xlZnQnIHwgJ3JpZ2h0JywgbW9udGg6IG51bWJlciwgZXZlbnQ/OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAoc2lkZSA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGVMZWZ0LnNldE1vbnRoKG1vbnRoKTtcclxuICAgICAgdGhpcy5jYWxlbmRhclZpZXdMZWZ0ID0gJ2RheSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZpZXdEYXRlUmlnaHQuc2V0TW9udGgobW9udGgpO1xyXG4gICAgICB0aGlzLmNhbGVuZGFyVmlld1JpZ2h0ID0gJ2RheSc7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG4gIFxyXG4gIHNldFllYXIoc2lkZTogJ2xlZnQnIHwgJ3JpZ2h0JywgeWVhcjogbnVtYmVyLCBldmVudD86IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmIChzaWRlID09PSAnbGVmdCcpIHtcclxuICAgICAgdGhpcy52aWV3RGF0ZUxlZnQuc2V0RnVsbFllYXIoeWVhcik7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJWaWV3TGVmdCA9ICdtb250aCc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZpZXdEYXRlUmlnaHQuc2V0RnVsbFllYXIoeWVhcik7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJWaWV3UmlnaHQgPSAnbW9udGgnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0RGF0ZUZyb20oc2lkZTogJ2xlZnQnIHwgJ3JpZ2h0JywgZGF0ZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgaWYgKHNpZGUgPT09ICdsZWZ0Jykge1xyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IGRhdGU7XHJcbiAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoIXRoaXMuc3RhcnREYXRlKSB7XHJcbiAgICAgICAgdGhpcy5zdGFydERhdGUgPSBkYXRlO1xyXG4gICAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBpZiAoZGF0ZSA+PSB0aGlzLnN0YXJ0RGF0ZSkge1xyXG4gICAgICAgIHRoaXMuZW5kRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRhdGVSYW5nZVNlbGVjdGVkLmVtaXQoeyBzdGFydDogdGhpcy5zdGFydERhdGUsIGVuZDogdGhpcy5lbmREYXRlIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc3RhcnREYXRlID0gZGF0ZTtcclxuICAgICAgICB0aGlzLmVuZERhdGUgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0Rpc2FibGVkRGF0ZShkYXRlOiBEYXRlLCBzaWRlOiAnbGVmdCcgfCAncmlnaHQnKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoc2lkZSA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICBpZiAoIXRoaXMuc3RhcnREYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGRhdGUgPD0gdGhpcy5zdGFydERhdGU7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBpZiAoc2lkZSA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICBcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIFxyXG4gIGlzU2FtZURhdGUoZDE6IERhdGUsIGQyOiBEYXRlIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGQyISAmJiBkMS5nZXREYXRlKCkgPT09IGQyLmdldERhdGUoKSAmJiBkMS5nZXRNb250aCgpID09PSBkMi5nZXRNb250aCgpICYmIGQxLmdldEZ1bGxZZWFyKCkgPT09IGQyLmdldEZ1bGxZZWFyKCk7XHJcbiAgfVxyXG5cclxuICBpc0RhdGVPdXRPZlJhbmdlKGRhdGU6IERhdGUsIHZpZXdEYXRlOiBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBkYXRlLmdldE1vbnRoKCkgIT09IHZpZXdEYXRlLmdldE1vbnRoKCkgfHxcclxuICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpICE9PSB2aWV3RGF0ZS5nZXRGdWxsWWVhcigpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNJblJhbmdlKGRhdGU6IERhdGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXJ0RGF0ZSEgJiYgdGhpcy5lbmREYXRlISAmJiBkYXRlID4gdGhpcy5zdGFydERhdGUgJiYgZGF0ZSA8IHRoaXMuZW5kRGF0ZTtcclxuICB9XHJcblxyXG4gIGlzSW5SYW5nZUZvclZpZXcoZGF0ZTogRGF0ZSwgdmlld0RhdGU6IERhdGUpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmlzRGF0ZU91dE9mUmFuZ2UoZGF0ZSwgdmlld0RhdGUpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnN0YXJ0RGF0ZSEgJiYgdGhpcy5lbmREYXRlISAmJiBkYXRlID4gdGhpcy5zdGFydERhdGUgJiYgZGF0ZSA8IHRoaXMuZW5kRGF0ZTtcclxuICB9XHJcblxyXG4gIGdldE1vbnRoTmFtZShpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm1vbnRoc1tpbmRleF07XHJcbiAgfVxyXG5cclxuICBnZXREZWNhZGVTdGFydCh2aWV3RGF0ZTogRGF0ZSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gTWF0aC5mbG9vcih2aWV3RGF0ZS5nZXRGdWxsWWVhcigpIC8gMTApICogMTA7XHJcbiAgfVxyXG5cclxuICBjbG9zZUNhbGVuZGFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICAgIGlmICghdGhpcy5zdGFydERhdGUgfHwgIXRoaXMuZW5kRGF0ZSkge1xyXG4gICAgICB0aGlzLmVycm9yID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVPdXRzaWRlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcclxuICAgIGlmICghY2xpY2tlZEluc2lkZSAmJiB0aGlzLmNhbGVuZGFyT3Blbikge1xyXG4gICAgICB0aGlzLmNsb3NlQ2FsZW5kYXIoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImRhdGUtcGlja2VyXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRleHRcIj5cclxuICAgIEBpZiAoaXNSZXF1aXJlZCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVxdWlyZWRcIj48L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cclxuXHJcbiAgICBAaWYgKGljb25IZWxwKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJoZWxwLWljb25cIj5cclxuICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWhlbHBcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+OjwvbGFiZWw+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29udGFpbmVyLXRleHRmaWVsZFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgICAgZm9jdXNlZDogY2FsZW5kYXJPcGVuIHx8IGZvY3VzZWQsXHJcbiAgICAgICAgYWxlcnQ6ICFjYWxlbmRhck9wZW4gJiYgZXJyb3IgJiYgIWRpc2FibGVkLFxyXG4gICAgICAgIHNlbGVjdGVkOiBzdGFydERhdGUgJiYgZW5kRGF0ZVxyXG4gICAgICB9XCJcclxuICAgICAgKGNsaWNrKT1cInRvZ2dsZUNhbGVuZGFyKClcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWNoYXNcIj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICBbdmFsdWVdPVwic3RhcnREYXRlID8gKHN0YXJ0RGF0ZSB8IGRhdGUgOiAnZGQvTU0veXl5eScpIDogJydcIlxyXG4gICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBzdHlsZT1cImNvbG9yOiAjNTk1OTU5O1wiPlxyXG4gICAgICAgICAgICA8aXVzLWljb24tbWQgW2ljb25OYW1lXT1cIidpY29uLWVhc3QnXCIgPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWNoYXNcIj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICBbdmFsdWVdPVwiZW5kRGF0ZSA/IChlbmREYXRlIHwgZGF0ZSA6ICdkZC9NTS95eXl5JykgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNudC1pY29uLXJpZ2h0XCI+XHJcbiAgICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWNhbGVuZGFyLXRvZGF5XCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICBAaWYgKGNhbGVuZGFyT3Blbikge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItb3ZlcmxheVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPGl1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnkgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LWxlZnRcIiAoYnV0dG9uQ2xpY2tlZCk9XCJwcmV2TGVmdCgpXCI+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG4gICAgICBcclxuICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cIm5leHRWaWV3KCdsZWZ0JylcIj5cclxuICAgICAgICAgICAgICBAc3dpdGNoIChjYWxlbmRhclZpZXdMZWZ0KSB7XHJcbiAgICAgICAgICAgICAgICBAY2FzZSAoJ2RheScpIHsge3sgZ2V0TW9udGhOYW1lKHZpZXdEYXRlTGVmdC5nZXRNb250aCgpKSB9fSB7eyB2aWV3RGF0ZUxlZnQuZ2V0RnVsbFllYXIoKSB9fSB9XHJcbiAgICAgICAgICAgICAgICBAY2FzZSAoJ21vbnRoJykgeyB7eyB2aWV3RGF0ZUxlZnQuZ2V0RnVsbFllYXIoKSB9fSB9XHJcbiAgICAgICAgICAgICAgICBAY2FzZSAoJ3llYXInKSB7IHt7IGdldERlY2FkZVN0YXJ0KHZpZXdEYXRlTGVmdCkgfX3igJN7eyBnZXREZWNhZGVTdGFydCh2aWV3RGF0ZUxlZnQpICsgOSB9fSB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgIFxyXG4gICAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeSBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctcmlnaHRcIiAoYnV0dG9uQ2xpY2tlZCk9XCJuZXh0TGVmdCgpXCI+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIFxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWJvZHlcIj5cclxuICAgICAgICAgICAgQHN3aXRjaCAoY2FsZW5kYXJWaWV3TGVmdCkge1xyXG4gICAgICAgICAgICAgIEBjYXNlICgnZGF5Jykge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZGF5c1wiPlxyXG4gICAgICAgICAgICAgICAgICBAZm9yIChkYXkgb2YgZGF5TGFiZWxzOyB0cmFjayBkYXkpIHsgPGRpdiBjbGFzcz1cImhlYWRlclwiPnt7IGRheSB9fTwvZGl2PiB9XHJcbiAgICAgICAgICAgICAgICAgIEBmb3IgKGRhdGUgb2YgY2FsZW5kYXJEYXlzTGVmdDsgdHJhY2sgZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc1NhbWVEYXRlKGRhdGUsIHN0YXJ0RGF0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnJhbmdlXT1cImlzSW5SYW5nZUZvclZpZXcoZGF0ZSwgdmlld0RhdGVMZWZ0KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImlzRGF0ZU91dE9mUmFuZ2UoZGF0ZSwgdmlld0RhdGVMZWZ0KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZUZyb20oJ2xlZnQnLCBkYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgZGF0ZS5nZXREYXRlKCkgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIEBjYXNlICgnbW9udGgnKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBtb250aHNcIj5cclxuICAgICAgICAgICAgICAgICAgQGZvciAobSBvZiBtb250aHM7IHRyYWNrIG07IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIiAoY2xpY2spPVwic2V0TW9udGgoJ2xlZnQnLCBpLCAkZXZlbnQpXCI+e3sgbSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgQGNhc2UgKCd5ZWFyJykge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgeWVhcnNcIj5cclxuICAgICAgICAgICAgICAgICAgQGZvciAoaSBvZiB5ZWFyc0FycmF5OyB0cmFjayBpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm91dC1vZi1yYW5nZV09XCJpID09PSAwIHx8IGkgPT09IDExXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRZZWFyKCdsZWZ0JywgZ2V0RGVjYWRlU3RhcnQodmlld0RhdGVMZWZ0KSAtIDEgKyBpLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBnZXREZWNhZGVTdGFydCh2aWV3RGF0ZUxlZnQpIC0gMSArIGkgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeSBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctbGVmdFwiIChidXR0b25DbGlja2VkKT1cInByZXZSaWdodCgpXCI+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG4gICAgICBcclxuICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cIm5leHRWaWV3KCdyaWdodCcpXCI+XHJcbiAgICAgICAgICAgICAgQHN3aXRjaCAoY2FsZW5kYXJWaWV3UmlnaHQpIHtcclxuICAgICAgICAgICAgICAgIEBjYXNlICgnZGF5JykgeyB7eyBnZXRNb250aE5hbWUodmlld0RhdGVSaWdodC5nZXRNb250aCgpKSB9fSB7eyB2aWV3RGF0ZVJpZ2h0LmdldEZ1bGxZZWFyKCkgfX0gfVxyXG4gICAgICAgICAgICAgICAgQGNhc2UgKCdtb250aCcpIHsge3sgdmlld0RhdGVSaWdodC5nZXRGdWxsWWVhcigpIH19IH1cclxuICAgICAgICAgICAgICAgIEBjYXNlICgneWVhcicpIHsge3sgZ2V0RGVjYWRlU3RhcnQodmlld0RhdGVSaWdodCkgfX3igJN7eyBnZXREZWNhZGVTdGFydCh2aWV3RGF0ZVJpZ2h0KSArIDkgfX0gfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICBcclxuICAgICAgICAgICAgPGl1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnkgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LXJpZ2h0XCIgKGJ1dHRvbkNsaWNrZWQpPVwibmV4dFJpZ2h0KClcIj48L2l1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnk+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYm9keVwiPlxyXG4gICAgICAgICAgICBAc3dpdGNoIChjYWxlbmRhclZpZXdSaWdodCkge1xyXG4gICAgICAgICAgICAgIEBjYXNlICgnZGF5Jykge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZGF5c1wiPlxyXG4gICAgICAgICAgICAgICAgICBAZm9yIChkYXkgb2YgZGF5TGFiZWxzOyB0cmFjayBkYXkpIHsgPGRpdiBjbGFzcz1cImhlYWRlclwiPnt7IGRheSB9fTwvZGl2PiB9XHJcbiAgICAgICAgICAgICAgICAgIEBmb3IgKGRhdGUgb2YgY2FsZW5kYXJEYXlzUmlnaHQ7IHRyYWNrIGRhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzU2FtZURhdGUoZGF0ZSwgZW5kRGF0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yYW5nZV09XCJpc0luUmFuZ2VGb3JWaWV3KGRhdGUsIHZpZXdEYXRlUmlnaHQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImlzRGF0ZU91dE9mUmFuZ2UoZGF0ZSwgdmlld0RhdGVSaWdodClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpc0Rpc2FibGVkRGF0ZShkYXRlLCAncmlnaHQnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiFpc0Rpc2FibGVkRGF0ZShkYXRlLCAncmlnaHQnKSAmJiBzZWxlY3REYXRlRnJvbSgncmlnaHQnLCBkYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGRhdGUuZ2V0RGF0ZSgpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBAY2FzZSAoJ21vbnRoJykge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgbW9udGhzXCI+XHJcbiAgICAgICAgICAgICAgICAgIEBmb3IgKG0gb2YgbW9udGhzOyB0cmFjayBtOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCIgKGNsaWNrKT1cInNldE1vbnRoKCdyaWdodCcsIGksICRldmVudClcIj57eyBtIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBAY2FzZSAoJ3llYXInKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCB5ZWFyc1wiPlxyXG4gICAgICAgICAgICAgICAgICBAZm9yIChpIG9mIHllYXJzQXJyYXk7IHRyYWNrIGkpIHtcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImkgPT09IDAgfHwgaSA9PT0gMTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFllYXIoJ3JpZ2h0JywgZ2V0RGVjYWRlU3RhcnQodmlld0RhdGVSaWdodCkgLSAxICsgaSwgJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgZ2V0RGVjYWRlU3RhcnQodmlld0RhdGVSaWdodCkgLSAxICsgaSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuICBAaWYgKGhlbHBUZXh0ICYmIGZvY3VzZWQgJiYgIWVycm9yKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVscC10ZXh0XCI+XHJcbiAgICAgIHt7aGVscFRleHR9fVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG4gIEBpZiAoaGVscFRleHRFcnJvciAmJiBlcnJvcikge1xyXG4gICAgPGRpdiBjbGFzcz1cImhlbHAtdGV4dC1lcnJvclwiPlxyXG4gICAgICB7e2hlbHBUZXh0RXJyb3J9fVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj4iXX0=
@@ -1,7 +1,9 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { ICONS } from '../icons/icons-map';
3
+ import { CommonModule } from '@angular/common';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/platform-browser";
6
+ import * as i2 from "@angular/common";
5
7
  export class IconLgComponent {
6
8
  constructor(sanitizer) {
7
9
  this.sanitizer = sanitizer;
@@ -14,14 +16,14 @@ export class IconLgComponent {
14
16
  this.svg = rawSvg ? this.sanitizer.bypassSecurityTrustHtml(rawSvg) : '';
15
17
  }
16
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IconLgComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: IconLgComponent, isStandalone: true, selector: "ius-icon-lg", inputs: { iconName: "iconName", color: "color" }, usesOnChanges: true, ngImport: i0, template: "<span [innerHTML]=\"svg\"></span>", styles: ["@charset \"UTF-8\";:host{display:inline-block;width:24px;height:24px;color:currentColor}span svg{width:100%;height:100%;fill:\\a0 currentColor}\n"] }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: IconLgComponent, isStandalone: true, selector: "ius-icon-lg", inputs: { iconName: "iconName", color: "color" }, usesOnChanges: true, ngImport: i0, template: "<span [ngStyle]=\"{'color': color}\" [innerHTML]=\"svg\"></span>", styles: ["@charset \"UTF-8\";:host{display:inline-block;width:24px;height:24px;color:currentColor}span svg{width:100%;height:100%;fill:\\a0 currentColor}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
18
20
  }
19
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IconLgComponent, decorators: [{
20
22
  type: Component,
21
- args: [{ selector: 'ius-icon-lg', standalone: true, imports: [], template: "<span [innerHTML]=\"svg\"></span>", styles: ["@charset \"UTF-8\";:host{display:inline-block;width:24px;height:24px;color:currentColor}span svg{width:100%;height:100%;fill:\\a0 currentColor}\n"] }]
23
+ args: [{ selector: 'ius-icon-lg', standalone: true, imports: [CommonModule], template: "<span [ngStyle]=\"{'color': color}\" [innerHTML]=\"svg\"></span>", styles: ["@charset \"UTF-8\";:host{display:inline-block;width:24px;height:24px;color:currentColor}span svg{width:100%;height:100%;fill:\\a0 currentColor}\n"] }]
22
24
  }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { iconName: [{
23
25
  type: Input
24
26
  }], color: [{
25
27
  type: Input
26
28
  }] } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1sZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9pY29uLWxnL2ljb24tbGcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvaWNvbi1sZy9pY29uLWxnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBUzNDLE1BQU0sT0FBTyxlQUFlO0lBTTFCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFMbEMsYUFBUSxHQUFXLFVBQVUsQ0FBQztRQUM5QixVQUFLLEdBQVcsY0FBYyxDQUFDO1FBRXhDLFFBQUcsR0FBYSxFQUFFLENBQUM7SUFFMkIsQ0FBQztJQUUvQyxXQUFXO1FBQ1QsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFFLENBQUM7K0dBWFUsZUFBZTttR0FBZixlQUFlLDhJQ1g1QixtQ0FBK0I7OzRGRFdsQixlQUFlO2tCQVAzQixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1AsRUFBRTtpRkFLRixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IElDT05TIH0gZnJvbSAnLi4vaWNvbnMvaWNvbnMtbWFwJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWljb24tbGcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24tbGcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9pY29uLWxnLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSWNvbkxnQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBpY29uTmFtZTogc3RyaW5nID0gJ2ljb24tYWRkJztcclxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nID0gJ2N1cnJlbnRDb2xvcic7XHJcblxyXG4gIHN2ZzogU2FmZUh0bWwgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBjb25zdCByYXdTdmcgPSBJQ09OU1t0aGlzLmljb25OYW1lXTtcclxuICAgIHRoaXMuc3ZnID0gcmF3U3ZnID8gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocmF3U3ZnKcKgOsKgJyc7XHJcbsKgwqB9XHJcbn1cclxuIiwiPHNwYW4gW2lubmVySFRNTF09XCJzdmdcIj48L3NwYW4+Il19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1sZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9pY29uLWxnL2ljb24tbGcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvaWNvbi1sZy9pY29uLWxnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFTL0MsTUFBTSxPQUFPLGVBQWU7SUFNMUIsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUxsQyxhQUFRLEdBQVcsVUFBVSxDQUFDO1FBQzlCLFVBQUssR0FBVyxjQUFjLENBQUM7UUFFeEMsUUFBRyxHQUFhLEVBQUUsQ0FBQztJQUUyQixDQUFDO0lBRS9DLFdBQVc7UUFDVCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDMUUsQ0FBQzsrR0FYVSxlQUFlO21HQUFmLGVBQWUsOElDWjVCLGtFQUE0RCwwTURRaEQsWUFBWTs7NEZBSVgsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDO2lGQUtkLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi9pY29ucy9pY29ucy1tYXAnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpdXMtaWNvbi1sZycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi1sZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2ljb24tbGcuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJY29uTGdDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGljb25OYW1lOiBzdHJpbmcgPSAnaWNvbi1hZGQnO1xyXG4gIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmcgPSAnY3VycmVudENvbG9yJztcclxuXHJcbiAgc3ZnOiBTYWZlSHRtbCA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIGNvbnN0IHJhd1N2ZyA9IElDT05TW3RoaXMuaWNvbk5hbWVdO1xyXG4gICAgdGhpcy5zdmcgPSByYXdTdmcgPyB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChyYXdTdmcpwqA6wqAnJztcclxuwqDCoH1cclxufVxyXG4iLCI8c3BhbiBbbmdTdHlsZV09XCJ7J2NvbG9yJzogY29sb3J9XCIgW2lubmVySFRNTF09XCJzdmdcIj48L3NwYW4+Il19