@progressio_resources/gravity-design-system 3.6.6 → 3.6.8

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 (47) hide show
  1. package/esm2022/lib/components/gravity-date-picker/components/day-calendar/day-calendar.component.mjs +271 -0
  2. package/esm2022/lib/components/gravity-date-picker/components/day-calendar/range-days-calendar.utils.mjs +224 -0
  3. package/esm2022/lib/components/gravity-date-picker/components/month-calendar/month-calendar.component.mjs +110 -0
  4. package/esm2022/lib/components/gravity-date-picker/components/year-calendar/year-calendar.component.mjs +111 -0
  5. package/esm2022/lib/components/gravity-date-picker/gravity-date-picker.component.mjs +85 -0
  6. package/esm2022/lib/components/gravity-date-picker/shared/date-picker.constants.mjs +61 -0
  7. package/esm2022/lib/components/gravity-date-picker/shared/date-picker.modal.mjs +2 -0
  8. package/esm2022/lib/components/gravity-date-picker/shared/date-picker.utils.mjs +111 -0
  9. package/esm2022/lib/components/gravity-dropdown-label/gravity-dropdown-label.component.mjs +3 -3
  10. package/esm2022/lib/components/gravity-icon-button/gravity-icon-button.component.mjs +2 -2
  11. package/esm2022/lib/components/gravity-link/gravity-link.component.mjs +2 -2
  12. package/esm2022/lib/components/gravity-text-field/gravity-text-field.component.mjs +12 -6
  13. package/esm2022/lib/gravity-design-system.module.mjs +9 -12
  14. package/esm2022/lib/layout/gravity-header/gravity-header.component.mjs +3 -3
  15. package/esm2022/lib/layout/gravity-menu/gravity-menu.component.mjs +4 -5
  16. package/esm2022/public-api.mjs +2 -2
  17. package/fesm2022/progressio_resources-gravity-design-system.mjs +527 -245
  18. package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
  19. package/lib/components/gravity-date-picker/components/day-calendar/day-calendar.component.d.ts +108 -0
  20. package/lib/components/{gravity-calendar-next → gravity-date-picker}/components/day-calendar/range-days-calendar.utils.d.ts +5 -2
  21. package/lib/components/gravity-date-picker/components/month-calendar/month-calendar.component.d.ts +71 -0
  22. package/lib/components/gravity-date-picker/components/year-calendar/year-calendar.component.d.ts +72 -0
  23. package/lib/components/gravity-date-picker/gravity-date-picker.component.d.ts +63 -0
  24. package/lib/components/gravity-date-picker/shared/date-picker.constants.d.ts +52 -0
  25. package/lib/components/{gravity-calendar-next/shared/calendar.modal.d.ts → gravity-date-picker/shared/date-picker.modal.d.ts} +8 -4
  26. package/lib/components/gravity-date-picker/shared/date-picker.utils.d.ts +10 -0
  27. package/lib/components/gravity-text-field/gravity-text-field.component.d.ts +5 -3
  28. package/lib/gravity-design-system.module.d.ts +18 -19
  29. package/lib/layout/gravity-menu/gravity-menu.component.d.ts +2 -2
  30. package/package.json +1 -1
  31. package/public-api.d.ts +1 -1
  32. package/esm2022/lib/components/gravity-calendar-next/components/day-calendar/day-calendar.component.mjs +0 -216
  33. package/esm2022/lib/components/gravity-calendar-next/components/day-calendar/range-days-calendar.utils.mjs +0 -73
  34. package/esm2022/lib/components/gravity-calendar-next/components/dual-month-calendar/dual-month-calendar.component.mjs +0 -109
  35. package/esm2022/lib/components/gravity-calendar-next/components/month-calendar/month-calendar.component.mjs +0 -95
  36. package/esm2022/lib/components/gravity-calendar-next/components/year-calendar/year-calendar.component.mjs +0 -94
  37. package/esm2022/lib/components/gravity-calendar-next/gravity-calendar-next.component.mjs +0 -75
  38. package/esm2022/lib/components/gravity-calendar-next/shared/calendar.constants.mjs +0 -21
  39. package/esm2022/lib/components/gravity-calendar-next/shared/calendar.modal.mjs +0 -2
  40. package/esm2022/lib/components/gravity-calendar-next/shared/calendar.utils.mjs +0 -16
  41. package/lib/components/gravity-calendar-next/components/day-calendar/day-calendar.component.d.ts +0 -61
  42. package/lib/components/gravity-calendar-next/components/dual-month-calendar/dual-month-calendar.component.d.ts +0 -46
  43. package/lib/components/gravity-calendar-next/components/month-calendar/month-calendar.component.d.ts +0 -39
  44. package/lib/components/gravity-calendar-next/components/year-calendar/year-calendar.component.d.ts +0 -38
  45. package/lib/components/gravity-calendar-next/gravity-calendar-next.component.d.ts +0 -21
  46. package/lib/components/gravity-calendar-next/shared/calendar.constants.d.ts +0 -22
  47. package/lib/components/gravity-calendar-next/shared/calendar.utils.d.ts +0 -5
@@ -1,216 +0,0 @@
1
- import { toDate, toCalendarDay, getStartDate, changeDate } from '../../shared/calendar.utils';
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { CALENDAR_I18N, DAYS_SHORT_EN, DAYS_SHORT_ES, MONTHS_EN, MONTHS_ES } from "../../shared/calendar.constants";
4
- import { getRangeSelectionClass, isPreview, onApplyRageDate, onClearHover, onHoverDay, onSelectRageDays, processPreselectedRangeDate } from "./range-days-calendar.utils";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "../../../gravity-button/gravity-button.component";
8
- import * as i3 from "../../../gravity-icon/gravity-icon.component";
9
- import * as i4 from "../../../gravity-link/gravity-link.component";
10
- import * as i5 from "../../../gravity-dropdown-label/gravity-dropdown-label.component";
11
- import * as i6 from "../month-calendar/month-calendar.component";
12
- import * as i7 from "../year-calendar/year-calendar.component";
13
- export class DayCalendarComponent {
14
- constructor() {
15
- this.range = false;
16
- this.restart = false;
17
- this.currentDate = new Date();
18
- this.navType = 'both';
19
- this.clearHover = new EventEmitter();
20
- this.clearSelection = new EventEmitter();
21
- this.changeMonth = new EventEmitter();
22
- this.hoverDay = new EventEmitter();
23
- this.openIntegratedCalendar = new EventEmitter();
24
- this.selectedRage = new EventEmitter();
25
- this.changeMonthYearResponse = new EventEmitter();
26
- this.calendarResponse = new EventEmitter();
27
- this.showYearCalendar = false;
28
- this.showMonthCalendar = false;
29
- this.hoveredDay = null;
30
- this.selectedDay = null;
31
- this.selectedRangeEnd = null;
32
- this.selectedRangeStart = null;
33
- this.changeDate = changeDate;
34
- this.isPreview = isPreview;
35
- this.onHoverDay = onHoverDay;
36
- this.onClearHover = onClearHover;
37
- }
38
- get i18n() { return CALENDAR_I18N[this.appearance.language]; }
39
- get monthsList() { return this.appearance.language === 'en' ? MONTHS_EN : MONTHS_ES; }
40
- get daysList() { return this.appearance.language === 'en' ? DAYS_SHORT_EN : DAYS_SHORT_ES; }
41
- trackByWeek(index, _) { return index; }
42
- trackByDay(_, day) {
43
- return `${day.monthYear.year}-${day.monthYear.month}-${day.day}`;
44
- }
45
- ngOnChanges(changes) {
46
- const shouldRestart = changes['restart'] && this.restart;
47
- const shouldProcessPreSelected = changes['preSelectedDate'] && this.config.initDate;
48
- if (shouldRestart || shouldProcessPreSelected) {
49
- this.processInitDate();
50
- }
51
- }
52
- processInitDate() {
53
- if (this.range && Array.isArray(this.config.initDate)) {
54
- processPreselectedRangeDate(this);
55
- }
56
- else if (this.config.initDate instanceof Date) {
57
- this.selectedDay = toCalendarDay(this.config.initDate);
58
- this.currentDate = getStartDate(this.config.initDate);
59
- }
60
- }
61
- isDateSelected() {
62
- return !this.range ? !!this.selectedDay : !!this.selectedRangeStart && !!this.selectedRangeEnd;
63
- }
64
- getDaySelectionClass(day) {
65
- if (!day.inCurrentMonth)
66
- return 'disabled';
67
- const dayDate = new Date(day.monthYear.year, day.monthYear.month, day.day);
68
- if (this.config?.minDate) {
69
- if (dayDate < this.config.minDate)
70
- return 'disabled';
71
- }
72
- if (this.config?.maxDate) {
73
- if (dayDate > this.config.maxDate)
74
- return 'disabled';
75
- }
76
- return this.range ? getRangeSelectionClass(this, day) : this.getSingleDaySelectionClass(day);
77
- }
78
- getSingleDaySelectionClass(day) {
79
- if (this.selectedDay && day.day === this.selectedDay.day &&
80
- day.monthYear.month === this.selectedDay.monthYear.month &&
81
- day.monthYear.year === this.selectedDay.monthYear.year) {
82
- return 'sl single';
83
- }
84
- return '';
85
- }
86
- onSelectDay(day) {
87
- if (!day.inCurrentMonth)
88
- return;
89
- if (!this.range) {
90
- this.selectedDay = day;
91
- const currentDate = toDate(day);
92
- this.calendarResponse.emit(currentDate);
93
- }
94
- else {
95
- onSelectRageDays(this, day);
96
- this.selectedRage.emit(day);
97
- }
98
- }
99
- applySelectedDate() {
100
- if (!this.range && this.selectedDay) {
101
- const date = toDate(this.selectedDay);
102
- this.calendarResponse.emit(date);
103
- }
104
- else if (this.range && this.selectedRangeStart && this.selectedRangeEnd) {
105
- onApplyRageDate(this);
106
- }
107
- }
108
- clearSelectedDate() {
109
- this.selectedDay = null;
110
- this.selectedRangeEnd = null;
111
- this.selectedRangeStart = null;
112
- this.clearSelection.emit();
113
- }
114
- handleCalendarResponse(date, isMonth) {
115
- if (!(date instanceof Date))
116
- return;
117
- const year = isMonth ? this.currentDate.getFullYear() : date.getFullYear();
118
- const month = isMonth ? date.getMonth() : this.currentDate.getMonth();
119
- this.currentDate = new Date(year, month, this.currentDate.getDate());
120
- if (isMonth) {
121
- this.initMonth = this.currentDate;
122
- this.showMonthCalendar = false;
123
- }
124
- else {
125
- this.initYear = this.currentDate;
126
- this.showYearCalendar = false;
127
- }
128
- this.changeMonthYearResponse.emit(this.currentDate);
129
- }
130
- handleOnClickDropdownLabel(isMonth) {
131
- this.initMonth = isMonth ? this.currentDate : this.initMonth;
132
- this.initYear = !isMonth ? this.currentDate : this.initYear;
133
- this.showMonthCalendar = isMonth;
134
- this.showYearCalendar = !isMonth;
135
- this.openIntegratedCalendar.emit();
136
- }
137
- getMonthGrid() {
138
- let week = [];
139
- const today = new Date();
140
- const grid = [];
141
- const baseDate = this.currentDate;
142
- const month = baseDate.getMonth();
143
- const year = baseDate.getFullYear();
144
- const firstDay = new Date(year, month, 1);
145
- const startWeekday = (firstDay.getDay() + 6) % 7;
146
- const daysInMonth = new Date(year, month + 1, 0).getDate();
147
- const daysInPrevMonth = new Date(year, month, 0).getDate();
148
- // fill days from previous month
149
- for (let i = startWeekday - 1; i >= 0; i--) {
150
- const day = daysInPrevMonth - i;
151
- const weekDay = (startWeekday - 1 - i + 7) % 7;
152
- week.push({ day, monthYear: { month: month - 1, year: year }, isToday: false, inCurrentMonth: false, weekDay });
153
- }
154
- // fill days from current month
155
- for (let d = 1; d <= daysInMonth; d++) {
156
- const isToday = d === today.getDate() && month === today.getMonth() && year === today.getFullYear();
157
- const weekDay = week.length % 7;
158
- week.push({ day: d, monthYear: { month: month, year: year }, isToday, inCurrentMonth: true, weekDay });
159
- if (week.length === 7) {
160
- grid.push(week);
161
- week = [];
162
- }
163
- }
164
- // fill remaining days from next month
165
- let nextDay = 1;
166
- while (week.length < 7) {
167
- const weekDay = week.length;
168
- week.push({ day: nextDay++, monthYear: { month: month + 1, year: year }, isToday: false, inCurrentMonth: false, weekDay });
169
- }
170
- const hasCurrentMonthDay = week.some(day => day.inCurrentMonth);
171
- if (hasCurrentMonthDay) {
172
- grid.push(week);
173
- }
174
- return grid;
175
- }
176
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
177
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DayCalendarComponent, selector: "day-calendar", inputs: { initYear: "initYear", initMonth: "initMonth", config: "config", range: "range", restart: "restart", currentDate: "currentDate", appearance: "appearance", navType: "navType" }, outputs: { clearHover: "clearHover", clearSelection: "clearSelection", changeMonth: "changeMonth", hoverDay: "hoverDay", openIntegratedCalendar: "openIntegratedCalendar", selectedRage: "selectedRage", changeMonthYearResponse: "changeMonthYearResponse", calendarResponse: "response" }, usesOnChanges: true, ngImport: i0, template: "<section *ngIf=\"showMonthCalendar\">\n <month-calendar\n [integratedMode]=\"true\"\n [restart]=\"showMonthCalendar\"\n (response)=\"handleCalendarResponse($event, true)\" [initDate]=\"initMonth\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile, actions: false, }\">\n </month-calendar>\n</section>\n\n<section *ngIf=\"showYearCalendar\">\n <year-calendar\n [integratedMode]=\"true\"\n [restart]=\"showYearCalendar\"\n (response)=\"handleCalendarResponse($event, false)\" [initDate]=\"initYear\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile, actions: false}\">\n </year-calendar>\n</section>\n\n<ng-container *ngIf=\"!showYearCalendar && !showMonthCalendar\">\n <section class=\"gravity-calendar-header\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"previous-button\" (click)=\"currentDate = changeDate(-1, currentDate, true); changeMonth.emit(-1)\">\n <gravity-icon *ngIf=\"(navType === 'prev' || navType === 'both') && appearance.state !== 'disabled'\" [style.--icon-color]=\"'var(--text-highlight-primary)'\"\n [iconName]=\"'arrow-left'\" [iconSize]=\"'sm-12'\" > </gravity-icon>\n </div>\n\n <div class=\"month-year-label\">\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"monthsList[currentDate.getMonth()]\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(true)\"> </gravity-dropdown-label>\n\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(false)\"> </gravity-dropdown-label>\n </div>\n\n <div class=\"next-button\" (click)=\"currentDate = changeDate(1, currentDate, true); changeMonth.emit(1)\">\n <gravity-icon *ngIf=\"(navType === 'next' || navType === 'both') && appearance.state !== 'disabled'\" [style.--icon-color]=\"'var(--text-highlight-primary)'\"\n [iconName]=\"'arrow-right'\" [iconSize]=\"'sm-12'\" > </gravity-icon>\n </div>\n </section>\n\n <section class=\"gravity-calendar-body\" [class.mobile]=\"appearance.isMobile\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body\" [ngClass]=\"appearance.isMobile ? 'md-regular' : 'sm-regular'\"\n *ngFor=\"let day of daysList\"> {{ day }} </span>\n </div>\n\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body\" *ngFor=\"let day of week; trackBy: trackByDay\"\n [class.preview]=\"range ? isPreview(this, day) : null\"\n [class.disabled]=\"!day.inCurrentMonth\" [class.today]=\"day.isToday\"\n (mouseenter)=\"range ? onHoverDay(this, day) : null; hoverDay.emit(day)\"\n (mouseleave)=\"range ? onClearHover(this) : null; this.clearHover.emit()\"\n [ngClass]=\"[appearance.isMobile ? 'md-regular' : 'sm-regular',\n appearance.state === 'disabled' ? 'disabled' : getDaySelectionClass(day)]\"\n (click)=\"onSelectDay(day)\"> {{ day.day }} </span>\n </div>\n </div>\n\n <div *ngIf=\"appearance.actions\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\"\n [state]=\"!isDateSelected() ? 'disabled' : 'active'\" (click)=\"clearSelectedDate()\"> </gravity-link>\n\n <gravity-button [size]=\"'sm'\" [type]=\"'tertiary'\"\n [disabled]=\"!isDateSelected()\" (click)=\"applySelectedDate()\"> {{i18n.apply}} </gravity-button>\n </div>\n </section>\n </section>\n</ng-container>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.gravity-calendar-header{gap:0;width:268px;height:auto;display:flex;padding-top:0;align-items:center;justify-content:space-between}.gravity-calendar-header .month-year-label{display:flex;gap:var(--gravity-spacing-sm)}.gravity-calendar-header.mobile{width:100%}.gravity-calendar-body{width:268px}.gravity-calendar-body .days-name-line{display:flex;flex-direction:column;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-calendar-body .days-name-line .days-name{display:flex;align-self:stretch;justify-content:space-between}.gravity-calendar-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-calendar-body .days-name-line .separator-line{width:268px}.gravity-calendar-body .days-number-selector{display:flex;align-self:stretch;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-calendar-body .days-number-selector .days-number-table{display:flex;min-height:150px;flex-direction:column}.gravity-calendar-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-self:stretch}.gravity-calendar-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;width:31px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.single,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.range,.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.end,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-body.mobile{width:100%;height:auto}.gravity-calendar-body.mobile .days-name-line .separator-line{width:100%}.gravity-calendar-body.mobile .days-number-selector{gap:0}.gravity-calendar-body.mobile .days-number-selector .days-number-table{min-height:270px}.gravity-calendar-body.mobile .days-number-selector .days-number-table .week-row{height:43px}.gravity-calendar-body.mobile .days-number-selector .days-number-table .week-row span{width:51px;height:43px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "iconName", "isLoading", "showContent", "size", "iconPosition", "customState", "type"] }, { kind: "component", type: i3.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i4.GravityLinkComponent, selector: "gravity-link", inputs: ["linkText", "fontClass", "link", "cypressTag", "iconName", "target", "iconPosition", "iconSize", "state"] }, { kind: "component", type: i5.GravityDropdownLabelComponent, selector: "gravity-dropdown-label", inputs: ["label", "fontClass", "isOpen", "stopPropagation", "size", "state"], outputs: ["onClickLabel"] }, { kind: "component", type: i6.MonthCalendarComponent, selector: "month-calendar", inputs: ["initDate", "restart", "appearance", "integratedMode"], outputs: ["clearSelection", "response"] }, { kind: "component", type: i7.YearCalendarComponent, selector: "year-calendar", inputs: ["initDate", "restart", "appearance", "integratedMode"], outputs: ["clearSelection", "response"] }] }); }
178
- }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayCalendarComponent, decorators: [{
180
- type: Component,
181
- args: [{ selector: 'day-calendar', template: "<section *ngIf=\"showMonthCalendar\">\n <month-calendar\n [integratedMode]=\"true\"\n [restart]=\"showMonthCalendar\"\n (response)=\"handleCalendarResponse($event, true)\" [initDate]=\"initMonth\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile, actions: false, }\">\n </month-calendar>\n</section>\n\n<section *ngIf=\"showYearCalendar\">\n <year-calendar\n [integratedMode]=\"true\"\n [restart]=\"showYearCalendar\"\n (response)=\"handleCalendarResponse($event, false)\" [initDate]=\"initYear\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile, actions: false}\">\n </year-calendar>\n</section>\n\n<ng-container *ngIf=\"!showYearCalendar && !showMonthCalendar\">\n <section class=\"gravity-calendar-header\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"previous-button\" (click)=\"currentDate = changeDate(-1, currentDate, true); changeMonth.emit(-1)\">\n <gravity-icon *ngIf=\"(navType === 'prev' || navType === 'both') && appearance.state !== 'disabled'\" [style.--icon-color]=\"'var(--text-highlight-primary)'\"\n [iconName]=\"'arrow-left'\" [iconSize]=\"'sm-12'\" > </gravity-icon>\n </div>\n\n <div class=\"month-year-label\">\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"monthsList[currentDate.getMonth()]\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(true)\"> </gravity-dropdown-label>\n\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(false)\"> </gravity-dropdown-label>\n </div>\n\n <div class=\"next-button\" (click)=\"currentDate = changeDate(1, currentDate, true); changeMonth.emit(1)\">\n <gravity-icon *ngIf=\"(navType === 'next' || navType === 'both') && appearance.state !== 'disabled'\" [style.--icon-color]=\"'var(--text-highlight-primary)'\"\n [iconName]=\"'arrow-right'\" [iconSize]=\"'sm-12'\" > </gravity-icon>\n </div>\n </section>\n\n <section class=\"gravity-calendar-body\" [class.mobile]=\"appearance.isMobile\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body\" [ngClass]=\"appearance.isMobile ? 'md-regular' : 'sm-regular'\"\n *ngFor=\"let day of daysList\"> {{ day }} </span>\n </div>\n\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body\" *ngFor=\"let day of week; trackBy: trackByDay\"\n [class.preview]=\"range ? isPreview(this, day) : null\"\n [class.disabled]=\"!day.inCurrentMonth\" [class.today]=\"day.isToday\"\n (mouseenter)=\"range ? onHoverDay(this, day) : null; hoverDay.emit(day)\"\n (mouseleave)=\"range ? onClearHover(this) : null; this.clearHover.emit()\"\n [ngClass]=\"[appearance.isMobile ? 'md-regular' : 'sm-regular',\n appearance.state === 'disabled' ? 'disabled' : getDaySelectionClass(day)]\"\n (click)=\"onSelectDay(day)\"> {{ day.day }} </span>\n </div>\n </div>\n\n <div *ngIf=\"appearance.actions\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\"\n [state]=\"!isDateSelected() ? 'disabled' : 'active'\" (click)=\"clearSelectedDate()\"> </gravity-link>\n\n <gravity-button [size]=\"'sm'\" [type]=\"'tertiary'\"\n [disabled]=\"!isDateSelected()\" (click)=\"applySelectedDate()\"> {{i18n.apply}} </gravity-button>\n </div>\n </section>\n </section>\n</ng-container>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.gravity-calendar-header{gap:0;width:268px;height:auto;display:flex;padding-top:0;align-items:center;justify-content:space-between}.gravity-calendar-header .month-year-label{display:flex;gap:var(--gravity-spacing-sm)}.gravity-calendar-header.mobile{width:100%}.gravity-calendar-body{width:268px}.gravity-calendar-body .days-name-line{display:flex;flex-direction:column;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-calendar-body .days-name-line .days-name{display:flex;align-self:stretch;justify-content:space-between}.gravity-calendar-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-calendar-body .days-name-line .separator-line{width:268px}.gravity-calendar-body .days-number-selector{display:flex;align-self:stretch;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-calendar-body .days-number-selector .days-number-table{display:flex;min-height:150px;flex-direction:column}.gravity-calendar-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-self:stretch}.gravity-calendar-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;width:31px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.single,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.range,.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.end,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-body.mobile{width:100%;height:auto}.gravity-calendar-body.mobile .days-name-line .separator-line{width:100%}.gravity-calendar-body.mobile .days-number-selector{gap:0}.gravity-calendar-body.mobile .days-number-selector .days-number-table{min-height:270px}.gravity-calendar-body.mobile .days-number-selector .days-number-table .week-row{height:43px}.gravity-calendar-body.mobile .days-number-selector .days-number-table .week-row span{width:51px;height:43px}\n"] }]
182
- }], propDecorators: { initYear: [{
183
- type: Input
184
- }], initMonth: [{
185
- type: Input
186
- }], config: [{
187
- type: Input
188
- }], range: [{
189
- type: Input
190
- }], restart: [{
191
- type: Input
192
- }], currentDate: [{
193
- type: Input
194
- }], appearance: [{
195
- type: Input
196
- }], navType: [{
197
- type: Input
198
- }], clearHover: [{
199
- type: Output
200
- }], clearSelection: [{
201
- type: Output
202
- }], changeMonth: [{
203
- type: Output
204
- }], hoverDay: [{
205
- type: Output
206
- }], openIntegratedCalendar: [{
207
- type: Output
208
- }], selectedRage: [{
209
- type: Output
210
- }], changeMonthYearResponse: [{
211
- type: Output
212
- }], calendarResponse: [{
213
- type: Output,
214
- args: ['response']
215
- }] } });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci1uZXh0L2NvbXBvbmVudHMvZGF5LWNhbGVuZGFyL2RheS1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL2RheS1jYWxlbmRhci9kYXktY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVGLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbEgsT0FBTyxFQUFDLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSwyQkFBMkIsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7QUFPeEssTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQVNvQixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsZ0JBQVcsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRS9CLFlBQU8sR0FBcUMsTUFBTSxDQUFBO1FBRWpELGVBQVUsR0FB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QUssR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQzVIO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksa0JBQWtCLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7K0dBL0tRLG9CQUFvQjttR0FBcEIsb0JBQW9CLGdpQkNYakMsMnlJQXlFQTs7NEZEOURhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxjQUFjOzhCQUtSLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFFVyxVQUFVO3NCQUExQixNQUFNO2dCQUNVLGNBQWM7c0JBQTlCLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTTtnQkFDVSxRQUFRO3NCQUF4QixNQUFNO2dCQUNVLHNCQUFzQjtzQkFBdEMsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNO2dCQUNVLHVCQUF1QjtzQkFBdkMsTUFBTTtnQkFDb0IsZ0JBQWdCO3NCQUExQyxNQUFNO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NhbGVuZGFyQXBwZWFyYW5jZSwgQ2FsZW5kYXJDb25maWcsIENhbGVuZGFyRGF0ZX0gZnJvbSBcIi4uLy4uL3NoYXJlZC9jYWxlbmRhci5tb2RhbFwiO1xuaW1wb3J0IHt0b0RhdGUsIHRvQ2FsZW5kYXJEYXksIGdldFN0YXJ0RGF0ZSwgY2hhbmdlRGF0ZX0gZnJvbSAnLi4vLi4vc2hhcmVkL2NhbGVuZGFyLnV0aWxzJztcbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NBTEVOREFSX0kxOE4sIERBWVNfU0hPUlRfRU4sIERBWVNfU0hPUlRfRVMsIE1PTlRIU19FTiwgTU9OVEhTX0VTfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLmNvbnN0YW50c1wiO1xuaW1wb3J0IHtnZXRSYW5nZVNlbGVjdGlvbkNsYXNzLCBpc1ByZXZpZXcsIG9uQXBwbHlSYWdlRGF0ZSwgb25DbGVhckhvdmVyLCBvbkhvdmVyRGF5LCBvblNlbGVjdFJhZ2VEYXlzLCBwcm9jZXNzUHJlc2VsZWN0ZWRSYW5nZURhdGV9IGZyb20gXCIuL3JhbmdlLWRheXMtY2FsZW5kYXIudXRpbHNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkYXktY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXktY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RheS1jYWxlbmRhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERheUNhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBwdWJsaWMgaW5pdFllYXI6IERhdGU7XG4gICAgQElucHV0KCkgcHVibGljIGluaXRNb250aDogRGF0ZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgY29uZmlnOiBDYWxlbmRhckNvbmZpZztcbiAgICBASW5wdXQoKSBwdWJsaWMgcmFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgcmVzdGFydDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgQElucHV0KCkgcHVibGljIGFwcGVhcmFuY2U6IENhbGVuZGFyQXBwZWFyYW5jZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgbmF2VHlwZTogJ3ByZXYnIHwgJ25leHQnIHwgJ2JvdGgnIHwgJ25vbmUnPSAnYm90aCdcblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJIb3ZlcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJTZWxlY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZU1vbnRoOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgaG92ZXJEYXk6IEV2ZW50RW1pdHRlcjxDYWxlbmRhckRhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhckRhdGU+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBvcGVuSW50ZWdyYXRlZENhbGVuZGFyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZFJhZ2U6IEV2ZW50RW1pdHRlcjxDYWxlbmRhckRhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhckRhdGU+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VNb250aFllYXJSZXNwb25zZTogRXZlbnRFbWl0dGVyPERhdGUgfCBEYXRlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgRGF0ZVtdPigpO1xuICAgIEBPdXRwdXQoJ3Jlc3BvbnNlJykgcHVibGljIGNhbGVuZGFyUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdIHwgRGF0ZT4oKTtcblxuICAgIHB1YmxpYyBzaG93WWVhckNhbGVuZGFyOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIHNob3dNb250aENhbGVuZGFyOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGhvdmVyZWREYXk6IENhbGVuZGFyRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBzZWxlY3RlZERheTogQ2FsZW5kYXJEYXRlIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIHNlbGVjdGVkUmFuZ2VFbmQ6IENhbGVuZGFyRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBzZWxlY3RlZFJhbmdlU3RhcnQ6IENhbGVuZGFyRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIGdldCBpMThuKCkgeyByZXR1cm4gQ0FMRU5EQVJfSTE4Tlt0aGlzLmFwcGVhcmFuY2UubGFuZ3VhZ2VdOyB9XG4gICAgcHVibGljIGdldCBtb250aHNMaXN0KCkgeyByZXR1cm4gdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlID09PSAnZW4nID8gTU9OVEhTX0VOIDogTU9OVEhTX0VTOyB9XG4gICAgcHVibGljIGdldCBkYXlzTGlzdCgpIHsgcmV0dXJuIHRoaXMuYXBwZWFyYW5jZS5sYW5ndWFnZSA9PT0gJ2VuJyA/IERBWVNfU0hPUlRfRU4gOiBEQVlTX1NIT1JUX0VTOyB9XG5cbiAgICBwdWJsaWMgdHJhY2tCeVdlZWsoaW5kZXg6IG51bWJlciwgXzogYW55KTogbnVtYmVyIHsgcmV0dXJuIGluZGV4OyB9XG4gICAgcHVibGljIHRyYWNrQnlEYXkoXzogbnVtYmVyLCBkYXk6IENhbGVuZGFyRGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtkYXkubW9udGhZZWFyLnllYXJ9LSR7ZGF5Lm1vbnRoWWVhci5tb250aH0tJHtkYXkuZGF5fWA7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCBzaG91bGRSZXN0YXJ0ID0gY2hhbmdlc1sncmVzdGFydCddICYmIHRoaXMucmVzdGFydDtcbiAgICAgICAgY29uc3Qgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkID0gY2hhbmdlc1sncHJlU2VsZWN0ZWREYXRlJ10gJiYgdGhpcy5jb25maWcuaW5pdERhdGU7XG5cbiAgICAgICAgaWYgKHNob3VsZFJlc3RhcnQgfHwgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkKSB7IHRoaXMucHJvY2Vzc0luaXREYXRlKCk7IH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NJbml0RGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmFuZ2UgJiYgQXJyYXkuaXNBcnJheSh0aGlzLmNvbmZpZy5pbml0RGF0ZSkpIHtcbiAgICAgICAgICAgIHByb2Nlc3NQcmVzZWxlY3RlZFJhbmdlRGF0ZSh0aGlzKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5pbml0RGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXkgPSB0b0NhbGVuZGFyRGF5KHRoaXMuY29uZmlnLmluaXREYXRlKTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUodGhpcy5jb25maWcuaW5pdERhdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzRGF0ZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMucmFuZ2UgPyAhIXRoaXMuc2VsZWN0ZWREYXkgOiAhIXRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmICEhdGhpcy5zZWxlY3RlZFJhbmdlRW5kO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREYXlTZWxlY3Rpb25DbGFzcyhkYXk6IENhbGVuZGFyRGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghZGF5LmluQ3VycmVudE1vbnRoKSByZXR1cm4gJ2Rpc2FibGVkJztcblxuICAgICAgICBjb25zdCBkYXlEYXRlID0gbmV3IERhdGUoZGF5Lm1vbnRoWWVhci55ZWFyLCBkYXkubW9udGhZZWFyLm1vbnRoLCBkYXkuZGF5KTtcblxuICAgICAgICBpZiAodGhpcy5jb25maWc/Lm1pbkRhdGUpIHsgaWYgKGRheURhdGUgPCB0aGlzLmNvbmZpZy5taW5EYXRlKSByZXR1cm4gJ2Rpc2FibGVkJzsgfVxuICAgICAgICBpZiAodGhpcy5jb25maWc/Lm1heERhdGUpIHsgaWYgKGRheURhdGUgPiB0aGlzLmNvbmZpZy5tYXhEYXRlKSByZXR1cm4gJ2Rpc2FibGVkJzsgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJhbmdlID8gZ2V0UmFuZ2VTZWxlY3Rpb25DbGFzcyh0aGlzLCBkYXkpIDogdGhpcy5nZXRTaW5nbGVEYXlTZWxlY3Rpb25DbGFzcyhkYXkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2luZ2xlRGF5U2VsZWN0aW9uQ2xhc3MoZGF5OiBDYWxlbmRhckRhdGUpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZERheSAmJiBkYXkuZGF5ID09PSB0aGlzLnNlbGVjdGVkRGF5LmRheSAmJlxuICAgICAgICAgICAgZGF5Lm1vbnRoWWVhci5tb250aCA9PT0gdGhpcy5zZWxlY3RlZERheS5tb250aFllYXIubW9udGggJiZcbiAgICAgICAgICAgIGRheS5tb250aFllYXIueWVhciA9PT0gdGhpcy5zZWxlY3RlZERheS5tb250aFllYXIueWVhcikge1xuICAgICAgICAgICAgcmV0dXJuICdzbCBzaW5nbGUnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3REYXkoZGF5OiBDYWxlbmRhckRhdGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFkYXkuaW5DdXJyZW50TW9udGgpIHJldHVybjtcblxuICAgICAgICBpZiAoIXRoaXMucmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBkYXk7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IHRvRGF0ZShkYXkpO1xuICAgICAgICAgICAgdGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQoY3VycmVudERhdGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb25TZWxlY3RSYWdlRGF5cyh0aGlzLCBkYXkpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJhZ2UuZW1pdChkYXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFwcGx5U2VsZWN0ZWREYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucmFuZ2UgJiYgdGhpcy5zZWxlY3RlZERheSkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IHRvRGF0ZSh0aGlzLnNlbGVjdGVkRGF5KVxuICAgICAgICAgICAgdGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQoZGF0ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5yYW5nZSAmJiB0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCAmJiB0aGlzLnNlbGVjdGVkUmFuZ2VFbmQpIHtcbiAgICAgICAgICAgIG9uQXBwbHlSYWdlRGF0ZSh0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhclNlbGVjdGVkRGF0ZSgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERheSA9IG51bGw7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCA9IG51bGw7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbi5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNhbGVuZGFyUmVzcG9uc2UoZGF0ZTogRGF0ZSB8IERhdGVbXSwgaXNNb250aDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIShkYXRlIGluc3RhbmNlb2YgRGF0ZSkpIHJldHVybjtcblxuICAgICAgICBjb25zdCB5ZWFyID0gaXNNb250aCA/IHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSA6IGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgY29uc3QgbW9udGggPSBpc01vbnRoID8gZGF0ZS5nZXRNb250aCgpIDogdGhpcy5jdXJyZW50RGF0ZS5nZXRNb250aCgpO1xuXG4gICAgICAgIHRoaXMuY3VycmVudERhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgdGhpcy5jdXJyZW50RGF0ZS5nZXREYXRlKCkpO1xuXG4gICAgICAgIGlmIChpc01vbnRoKSB7IHRoaXMuaW5pdE1vbnRoID0gdGhpcy5jdXJyZW50RGF0ZTsgdGhpcy5zaG93TW9udGhDYWxlbmRhciA9IGZhbHNlOyB9XG4gICAgICAgIGVsc2UgeyB0aGlzLmluaXRZZWFyID0gdGhpcy5jdXJyZW50RGF0ZTsgdGhpcy5zaG93WWVhckNhbGVuZGFyID0gZmFsc2U7IH1cblxuICAgICAgICB0aGlzLmNoYW5nZU1vbnRoWWVhclJlc3BvbnNlLmVtaXQodGhpcy5jdXJyZW50RGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZU9uQ2xpY2tEcm9wZG93bkxhYmVsKGlzTW9udGg6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0TW9udGggPSBpc01vbnRoID8gdGhpcy5jdXJyZW50RGF0ZSA6IHRoaXMuaW5pdE1vbnRoO1xuICAgICAgICB0aGlzLmluaXRZZWFyID0gIWlzTW9udGggPyB0aGlzLmN1cnJlbnREYXRlIDogdGhpcy5pbml0WWVhcjtcblxuICAgICAgICB0aGlzLnNob3dNb250aENhbGVuZGFyID0gaXNNb250aDtcbiAgICAgICAgdGhpcy5zaG93WWVhckNhbGVuZGFyID0gIWlzTW9udGg7XG5cbiAgICAgICAgdGhpcy5vcGVuSW50ZWdyYXRlZENhbGVuZGFyLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TW9udGhHcmlkKCk6IENhbGVuZGFyRGF0ZVtdW10ge1xuICAgICAgICBsZXQgd2VlazogQ2FsZW5kYXJEYXRlW10gPSBbXTtcblxuICAgICAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IGdyaWQ6IENhbGVuZGFyRGF0ZVtdW10gPSBbXTtcbiAgICAgICAgY29uc3QgYmFzZURhdGUgPSB0aGlzLmN1cnJlbnREYXRlO1xuICAgICAgICBjb25zdCBtb250aCA9IGJhc2VEYXRlLmdldE1vbnRoKCk7XG4gICAgICAgIGNvbnN0IHllYXIgPSBiYXNlRGF0ZS5nZXRGdWxsWWVhcigpO1xuXG4gICAgICAgIGNvbnN0IGZpcnN0RGF5ID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDEpO1xuICAgICAgICBjb25zdCBzdGFydFdlZWtkYXkgPSAoZmlyc3REYXkuZ2V0RGF5KCkgKyA2KSAlIDc7XG5cbiAgICAgICAgY29uc3QgZGF5c0luTW9udGggPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIDEsIDApLmdldERhdGUoKTtcbiAgICAgICAgY29uc3QgZGF5c0luUHJldk1vbnRoID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDApLmdldERhdGUoKTtcblxuICAgICAgICAvLyBmaWxsIGRheXMgZnJvbSBwcmV2aW91cyBtb250aFxuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnRXZWVrZGF5IC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIGNvbnN0IGRheSA9IGRheXNJblByZXZNb250aCAtIGk7XG4gICAgICAgICAgICBjb25zdCB3ZWVrRGF5ID0gKHN0YXJ0V2Vla2RheSAtIDEgLSBpICsgNykgJSA3O1xuICAgICAgICAgICAgd2Vlay5wdXNoKHsgZGF5LCBtb250aFllYXI6IHttb250aDogbW9udGggLSAxLCB5ZWFyOiB5ZWFyfSwgaXNUb2RheTogZmFsc2UsIGluQ3VycmVudE1vbnRoOiBmYWxzZSwgd2Vla0RheSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZpbGwgZGF5cyBmcm9tIGN1cnJlbnQgbW9udGhcbiAgICAgICAgZm9yIChsZXQgZCA9IDE7IGQgPD0gZGF5c0luTW9udGg7IGQrKykge1xuICAgICAgICAgICAgY29uc3QgaXNUb2RheSA9IGQgPT09IHRvZGF5LmdldERhdGUoKSAmJiBtb250aCA9PT0gdG9kYXkuZ2V0TW9udGgoKSAmJiB5ZWFyID09PSB0b2RheS5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgICAgY29uc3Qgd2Vla0RheSA9IHdlZWsubGVuZ3RoICUgNztcbiAgICAgICAgICAgIHdlZWsucHVzaCh7IGRheTogZCwgbW9udGhZZWFyOiB7bW9udGg6IG1vbnRoLCB5ZWFyOiB5ZWFyfSwgaXNUb2RheSwgaW5DdXJyZW50TW9udGg6IHRydWUsIHdlZWtEYXkgfSk7XG5cbiAgICAgICAgICAgIGlmICh3ZWVrLmxlbmd0aCA9PT0gNykge1xuICAgICAgICAgICAgICAgIGdyaWQucHVzaCh3ZWVrKTtcbiAgICAgICAgICAgICAgICB3ZWVrID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBmaWxsIHJlbWFpbmluZyBkYXlzIGZyb20gbmV4dCBtb250aFxuICAgICAgICBsZXQgbmV4dERheSA9IDE7XG4gICAgICAgIHdoaWxlICh3ZWVrLmxlbmd0aCA8IDcpIHtcbiAgICAgICAgICAgIGNvbnN0IHdlZWtEYXkgPSB3ZWVrLmxlbmd0aDtcbiAgICAgICAgICAgIHdlZWsucHVzaCh7IGRheTogbmV4dERheSsrLCBtb250aFllYXI6IHttb250aDogbW9udGggKyAxLCB5ZWFyOiB5ZWFyfSwgaXNUb2RheTogZmFsc2UsIGluQ3VycmVudE1vbnRoOiBmYWxzZSwgd2Vla0RheSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhhc0N1cnJlbnRNb250aERheSA9IHdlZWsuc29tZShkYXkgPT4gZGF5LmluQ3VycmVudE1vbnRoKTtcbiAgICAgICAgaWYgKGhhc0N1cnJlbnRNb250aERheSkge1xuICAgICAgICAgICAgZ3JpZC5wdXNoKHdlZWspO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdyaWQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURhdGUgPSBjaGFuZ2VEYXRlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc1ByZXZpZXcgPSBpc1ByZXZpZXc7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9uSG92ZXJEYXkgPSBvbkhvdmVyRGF5O1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvbkNsZWFySG92ZXIgPSBvbkNsZWFySG92ZXI7XG59IiwiPHNlY3Rpb24gKm5nSWY9XCJzaG93TW9udGhDYWxlbmRhclwiPlxuICAgIDxtb250aC1jYWxlbmRhclxuICAgICAgICBbaW50ZWdyYXRlZE1vZGVdPVwidHJ1ZVwiXG4gICAgICAgIFtyZXN0YXJ0XT1cInNob3dNb250aENhbGVuZGFyXCJcbiAgICAgICAgKHJlc3BvbnNlKT1cImhhbmRsZUNhbGVuZGFyUmVzcG9uc2UoJGV2ZW50LCB0cnVlKVwiIFtpbml0RGF0ZV09XCJpbml0TW9udGhcIlxuICAgICAgICBbYXBwZWFyYW5jZV09XCJ7bGFuZ3VhZ2U6IGFwcGVhcmFuY2UubGFuZ3VhZ2UsIGlzTW9iaWxlOiBhcHBlYXJhbmNlLmlzTW9iaWxlLCBhY3Rpb25zOiBmYWxzZSwgfVwiPlxuICAgIDwvbW9udGgtY2FsZW5kYXI+XG48L3NlY3Rpb24+XG5cbjxzZWN0aW9uICpuZ0lmPVwic2hvd1llYXJDYWxlbmRhclwiPlxuICAgIDx5ZWFyLWNhbGVuZGFyXG4gICAgICAgICBbaW50ZWdyYXRlZE1vZGVdPVwidHJ1ZVwiXG4gICAgICAgICBbcmVzdGFydF09XCJzaG93WWVhckNhbGVuZGFyXCJcbiAgICAgICAgKHJlc3BvbnNlKT1cImhhbmRsZUNhbGVuZGFyUmVzcG9uc2UoJGV2ZW50LCBmYWxzZSlcIiBbaW5pdERhdGVdPVwiaW5pdFllYXJcIlxuICAgICAgICBbYXBwZWFyYW5jZV09XCJ7bGFuZ3VhZ2U6IGFwcGVhcmFuY2UubGFuZ3VhZ2UsIGlzTW9iaWxlOiBhcHBlYXJhbmNlLmlzTW9iaWxlLCBhY3Rpb25zOiBmYWxzZX1cIj5cbiAgICA8L3llYXItY2FsZW5kYXI+XG48L3NlY3Rpb24+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd1llYXJDYWxlbmRhciAmJiAhc2hvd01vbnRoQ2FsZW5kYXJcIj5cbiAgICA8c2VjdGlvbiAgY2xhc3M9XCJncmF2aXR5LWNhbGVuZGFyLWhlYWRlclwiIFtjbGFzcy5tb2JpbGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlvdXMtYnV0dG9uXCIgKGNsaWNrKT1cImN1cnJlbnREYXRlID0gY2hhbmdlRGF0ZSgtMSwgY3VycmVudERhdGUsIHRydWUpOyBjaGFuZ2VNb250aC5lbWl0KC0xKVwiPlxuICAgICAgICAgICAgPGdyYXZpdHktaWNvbiAqbmdJZj1cIihuYXZUeXBlID09PSAncHJldicgfHwgbmF2VHlwZSA9PT0gJ2JvdGgnKSAmJiBhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnXCIgW3N0eWxlLi0taWNvbi1jb2xvcl09XCIndmFyKC0tdGV4dC1oaWdobGlnaHQtcHJpbWFyeSknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cIidhcnJvdy1sZWZ0J1wiIFtpY29uU2l6ZV09XCInc20tMTInXCIgPiA8L2dyYXZpdHktaWNvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vbnRoLXllYXItbGFiZWxcIj5cbiAgICAgICAgICAgIDxncmF2aXR5LWRyb3Bkb3duLWxhYmVsIFtmb250Q2xhc3NdPVwiJ2hyLXRpdGxlIHNtLWJvbGQnXCIgW3NpemVdPVwiJ3NtJ1wiIFtsYWJlbF09XCJtb250aHNMaXN0W2N1cnJlbnREYXRlLmdldE1vbnRoKCldXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0ZV09XCJhcHBlYXJhbmNlLnN0YXRlID09PSAnZGlzYWJsZWQnID8gJ2luYWN0aXZlJyA6ICdhY3RpdmUnXCIgKG9uQ2xpY2tMYWJlbCk9XCJoYW5kbGVPbkNsaWNrRHJvcGRvd25MYWJlbCh0cnVlKVwiPiA8L2dyYXZpdHktZHJvcGRvd24tbGFiZWw+XG5cbiAgICAgICAgICAgIDxncmF2aXR5LWRyb3Bkb3duLWxhYmVsIFtmb250Q2xhc3NdPVwiJ2hyLXRpdGxlIHNtLWJvbGQnXCIgW3NpemVdPVwiJ3NtJ1wiIFtsYWJlbF09XCJjdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cImFwcGVhcmFuY2Uuc3RhdGUgPT09ICdkaXNhYmxlZCcgPyAnaW5hY3RpdmUnIDogJ2FjdGl2ZSdcIiAob25DbGlja0xhYmVsKT1cImhhbmRsZU9uQ2xpY2tEcm9wZG93bkxhYmVsKGZhbHNlKVwiPiA8L2dyYXZpdHktZHJvcGRvd24tbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZXh0LWJ1dHRvblwiIChjbGljayk9XCJjdXJyZW50RGF0ZSA9IGNoYW5nZURhdGUoMSwgY3VycmVudERhdGUsIHRydWUpOyBjaGFuZ2VNb250aC5lbWl0KDEpXCI+XG4gICAgICAgICAgICA8Z3Jhdml0eS1pY29uICpuZ0lmPVwiKG5hdlR5cGUgPT09ICduZXh0JyB8fCBuYXZUeXBlID09PSAnYm90aCcpICYmIGFwcGVhcmFuY2Uuc3RhdGUgIT09ICdkaXNhYmxlZCdcIiBbc3R5bGUuLS1pY29uLWNvbG9yXT1cIid2YXIoLS10ZXh0LWhpZ2hsaWdodC1wcmltYXJ5KSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiJ2Fycm93LXJpZ2h0J1wiIFtpY29uU2l6ZV09XCInc20tMTInXCIgPiA8L2dyYXZpdHktaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJncmF2aXR5LWNhbGVuZGFyLWJvZHlcIiBbY2xhc3MubW9iaWxlXT1cImFwcGVhcmFuY2UuaXNNb2JpbGVcIj5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJkYXlzLW5hbWUtbGluZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRheXMtbmFtZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaHItYm9keVwiIFtuZ0NsYXNzXT1cImFwcGVhcmFuY2UuaXNNb2JpbGUgPyAnbWQtcmVndWxhcicgOiAnc20tcmVndWxhcidcIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBkYXkgb2YgZGF5c0xpc3RcIj4ge3sgZGF5IH19IDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yLWxpbmVcIj48L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZGF5cy1udW1iZXItc2VsZWN0b3JcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXlzLW51bWJlci10YWJsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLXJvd1wiICpuZ0Zvcj1cImxldCB3ZWVrIG9mIGdldE1vbnRoR3JpZCgpOyB0cmFja0J5OiB0cmFja0J5V2Vla1wiPlxuICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaHItYm9keVwiICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2VlazsgdHJhY2tCeTogdHJhY2tCeURheVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MucHJldmlld109XCJyYW5nZSA/IGlzUHJldmlldyh0aGlzLCBkYXkpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIWRheS5pbkN1cnJlbnRNb250aFwiIFtjbGFzcy50b2RheV09XCJkYXkuaXNUb2RheVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJyYW5nZSA/IG9uSG92ZXJEYXkodGhpcywgZGF5KSA6IG51bGw7IGhvdmVyRGF5LmVtaXQoZGF5KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJyYW5nZSA/IG9uQ2xlYXJIb3Zlcih0aGlzKSA6IG51bGw7IHRoaXMuY2xlYXJIb3Zlci5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiW2FwcGVhcmFuY2UuaXNNb2JpbGUgPyAnbWQtcmVndWxhcicgOiAnc20tcmVndWxhcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlLnN0YXRlID09PSAnZGlzYWJsZWQnID8gJ2Rpc2FibGVkJyA6IGdldERheVNlbGVjdGlvbkNsYXNzKGRheSldXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdERheShkYXkpXCI+IHt7IGRheS5kYXkgfX0gPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJhcHBlYXJhbmNlLmFjdGlvbnNcIiBjbGFzcz1cImFjdGlvbi1zZWN0aW9uXCIgPlxuICAgICAgICAgICAgICAgIDxncmF2aXR5LWxpbmsgW2xpbmtUZXh0XT1cImkxOG4uY2xlYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cIiFpc0RhdGVTZWxlY3RlZCgpID8gJ2Rpc2FibGVkJyA6ICdhY3RpdmUnXCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0ZWREYXRlKClcIj4gPC9ncmF2aXR5LWxpbms+XG5cbiAgICAgICAgICAgICAgICA8Z3Jhdml0eS1idXR0b24gW3NpemVdPVwiJ3NtJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzRGF0ZVNlbGVjdGVkKClcIiAoY2xpY2spPVwiYXBwbHlTZWxlY3RlZERhdGUoKVwiPiB7e2kxOG4uYXBwbHl9fSA8L2dyYXZpdHktYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICA8L3NlY3Rpb24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,73 +0,0 @@
1
- import { getStartDate, toCalendarDay, toDate } from "../../shared/calendar.utils";
2
- export function isPreview(component, day) {
3
- if (!component.selectedRangeStart || component.selectedRangeEnd || !component.hoveredDay)
4
- return false;
5
- const current = toDate(day);
6
- const hover = toDate(component.hoveredDay);
7
- const start = toDate(component.selectedRangeStart);
8
- if (hover <= start)
9
- return false;
10
- return current > start && current <= hover;
11
- }
12
- export function processPreselectedRangeDate(component) {
13
- const [start, end] = component.config.initDate;
14
- if (start instanceof Date) {
15
- component.selectedRangeStart = toCalendarDay(start);
16
- }
17
- if (end instanceof Date) {
18
- component.selectedRangeEnd = toCalendarDay(end);
19
- component.currentDate = getStartDate(end);
20
- }
21
- else if (start instanceof Date) {
22
- component.currentDate = getStartDate(start);
23
- }
24
- }
25
- export function getRangeSelectionClass(component, day) {
26
- if (!component.selectedRangeStart)
27
- return 'nsl-start';
28
- const current = toDate(day);
29
- const start = toDate(component.selectedRangeStart);
30
- if (!component.selectedRangeEnd) {
31
- if (current.getTime() === start.getTime())
32
- return 'sl start';
33
- if (component.hoveredDay) {
34
- const hover = toDate(component.hoveredDay);
35
- if (current.getTime() === hover.getTime() && hover < start)
36
- return 'nsl-start';
37
- }
38
- return 'nsl-end';
39
- }
40
- const end = toDate(component.selectedRangeEnd);
41
- if (current.getTime() === start.getTime())
42
- return 'sl start';
43
- if (current.getTime() === end.getTime())
44
- return 'sl end';
45
- if (current > start && current < end)
46
- return 'sl range';
47
- return 'nsl-start';
48
- }
49
- export function onSelectRageDays(component, day) {
50
- if (!component.selectedRangeStart || component.selectedRangeEnd) {
51
- component.selectedRangeStart = day;
52
- component.selectedRangeEnd = null;
53
- }
54
- else {
55
- const selectedDate = toDate(day);
56
- const startDate = toDate(component.selectedRangeStart);
57
- selectedDate >= startDate ? component.selectedRangeEnd = day : component.selectedRangeStart = day;
58
- }
59
- }
60
- export function onApplyRageDate(component) {
61
- const start = toDate(component.selectedRangeStart);
62
- const end = toDate(component.selectedRangeEnd);
63
- component.calendarResponse.emit([start, end]);
64
- }
65
- export function onHoverDay(component, day) {
66
- if (component.selectedRangeEnd)
67
- return;
68
- component.hoveredDay = day;
69
- }
70
- export function onClearHover(component) {
71
- component.hoveredDay = null;
72
- }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGF5cy1jYWxlbmRhci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci1uZXh0L2NvbXBvbmVudHMvZGF5LWNhbGVuZGFyL3JhbmdlLWRheXMtY2FsZW5kYXIudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFaEYsTUFBTSxVQUFVLFNBQVMsQ0FBQyxTQUErQixFQUFFLEdBQWlCO0lBQ3hFLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLElBQUksU0FBUyxDQUFDLGdCQUFnQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVU7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUV2RyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFbkQsSUFBSSxLQUFLLElBQUksS0FBSztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ2pDLE9BQU8sT0FBTyxHQUFHLEtBQUssSUFBSSxPQUFPLElBQUksS0FBSyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsU0FBK0I7SUFDdkUsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQWtCLENBQUM7SUFFekQsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO1FBQ3ZCLFNBQVMsQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUMs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U0FBUyxDQUFDLGdCQUFnQjtRQUFFLE9BQU87SUFDdkMsU0FBUyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsU0FBK0I7SUFDeEQsU0FBUyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FsZW5kYXJEYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLm1vZGFsXCI7XG5pbXBvcnQge0RheUNhbGVuZGFyQ29tcG9uZW50fSBmcm9tIFwiLi9kYXktY2FsZW5kYXIuY29tcG9uZW50XCI7XG5pbXBvcnQge2dldFN0YXJ0RGF0ZSwgdG9DYWxlbmRhckRheSwgdG9EYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLnV0aWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZXZpZXcoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiBib29sZWFuIHtcbiAgICBpZiAoIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgfHwgY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgfHwgIWNvbXBvbmVudC5ob3ZlcmVkRGF5KSByZXR1cm4gZmFsc2U7XG5cbiAgICBjb25zdCBjdXJyZW50ID0gdG9EYXRlKGRheSk7XG4gICAgY29uc3QgaG92ZXIgPSB0b0RhdGUoY29tcG9uZW50LmhvdmVyZWREYXkpO1xuICAgIGNvbnN0IHN0YXJ0ID0gdG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQpO1xuXG4gICAgaWYgKGhvdmVyIDw9IHN0YXJ0KSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIGN1cnJlbnQgPiBzdGFydCAmJiBjdXJyZW50IDw9IGhvdmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc1ByZXNlbGVjdGVkUmFuZ2VEYXRlKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQpIHtcbiAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSBjb21wb25lbnQuY29uZmlnLmluaXREYXRlIGFzIERhdGVbXTtcblxuICAgIGlmIChzdGFydCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCA9IHRvQ2FsZW5kYXJEYXkoc3RhcnQpO1xuICAgIH1cblxuICAgIGlmIChlbmQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kID0gdG9DYWxlbmRhckRheShlbmQpO1xuICAgICAgICBjb21wb25lbnQuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUoZW5kKTtcbiAgICB9IGVsc2UgaWYgKHN0YXJ0IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICBjb21wb25lbnQuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUoc3RhcnQpO1xuICAgIH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmFuZ2VTZWxlY3Rpb25DbGFzcyhjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXk6IENhbGVuZGFyRGF0ZSk6IHN0cmluZyB7XG4gICAgaWYgKCFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0KSByZXR1cm4gJ25zbC1zdGFydCc7XG5cbiAgICBjb25zdCBjdXJyZW50ID0gdG9EYXRlKGRheSk7XG4gICAgY29uc3Qgc3RhcnQgPSB0b0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCk7XG5cbiAgICBpZiAoIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kKSB7XG4gICAgICAgIGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gc3RhcnQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIHN0YXJ0JztcblxuICAgICAgICBpZiAoY29tcG9uZW50LmhvdmVyZWREYXkpIHtcbiAgICAgICAgICAgIGNvbnN0IGhvdmVyID0gdG9EYXRlKGNvbXBvbmVudC5ob3ZlcmVkRGF5KTtcbiAgICAgICAgICAgIGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gaG92ZXIuZ2V0VGltZSgpICYmIGhvdmVyIDwgc3RhcnQpIHJldHVybiAnbnNsLXN0YXJ0JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnbnNsLWVuZCc7XG4gICAgfVxuXG4gICAgY29uc3QgZW5kID0gdG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kKTtcblxuICAgIGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gc3RhcnQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIHN0YXJ0JztcbiAgICBpZiAoY3VycmVudC5nZXRUaW1lKCkgPT09IGVuZC5nZXRUaW1lKCkpIHJldHVybiAnc2wgZW5kJztcbiAgICBpZiAoY3VycmVudCA+IHN0YXJ0ICYmIGN1cnJlbnQgPCBlbmQpIHJldHVybiAnc2wgcmFuZ2UnO1xuXG4gICAgcmV0dXJuICduc2wtc3RhcnQnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb25TZWxlY3RSYWdlRGF5cyhjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXk6IENhbGVuZGFyRGF0ZSkge1xuICAgIGlmICghY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCB8fCBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCkge1xuICAgICAgICBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ID0gZGF5O1xuICAgICAgICBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWREYXRlID0gdG9EYXRlKGRheSk7XG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0KTtcbiAgICAgICAgc2VsZWN0ZWREYXRlID49IHN0YXJ0RGF0ZSA/IGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kID0gZGF5IDogY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCA9IGRheTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkFwcGx5UmFnZURhdGUoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCl7XG4gICAgY29uc3Qgc3RhcnQgPSB0b0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCk7XG4gICAgY29uc3QgZW5kID10b0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpO1xuICAgIGNvbXBvbmVudC5jYWxlbmRhclJlc3BvbnNlLmVtaXQoW3N0YXJ0LCBlbmRdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uSG92ZXJEYXkoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiB2b2lkIHtcbiAgICBpZiAoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpIHJldHVybjtcbiAgICBjb21wb25lbnQuaG92ZXJlZERheSA9IGRheTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uQ2xlYXJIb3Zlcihjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29tcG9uZW50LmhvdmVyZWREYXkgPSBudWxsO1xufVxuXG4iXX0=
@@ -1,109 +0,0 @@
1
- import { changeDate, getStartDate, toCalendarDay } from "../../shared/calendar.utils";
2
- import { onClearHover, onHoverDay, onSelectRageDays, } from "../day-calendar/range-days-calendar.utils";
3
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
4
- import { CALENDAR_I18N, DAYS_EN, DAYS_ES, MONTHS_SHORT_EN, MONTHS_SHORT_ES } from "../../shared/calendar.constants";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "../../../gravity-icon/gravity-icon.component";
8
- import * as i3 from "../day-calendar/day-calendar.component";
9
- export class DualMonthCalendarComponent {
10
- constructor() {
11
- this.restart = false;
12
- this.clearSelection = new EventEmitter();
13
- this.calendarResponse = new EventEmitter();
14
- this.currentDate = new Date();
15
- this.showLeftCalendar = true;
16
- this.showRightCalendar = true;
17
- this.nextMonth = changeDate(1, this.currentDate, true);
18
- this.Date = Date;
19
- this.changeDate = changeDate;
20
- this.onSelectRageDays = onSelectRageDays;
21
- }
22
- get i18n() { return CALENDAR_I18N[this.appearance.language]; }
23
- get daysList() { return this.appearance.language === 'en' ? DAYS_EN : DAYS_ES; }
24
- get monthsShortList() { return this.appearance.language === 'en' ? MONTHS_SHORT_EN : MONTHS_SHORT_ES; }
25
- ngOnChanges(changes) {
26
- const shouldRestart = changes['restart'] && this.restart;
27
- const shouldProcessPreSelected = changes['preSelectedDate'] && this.initDate;
28
- if (shouldRestart || shouldProcessPreSelected) {
29
- this.processInitDate();
30
- }
31
- }
32
- processInitDate() {
33
- this.showLeftCalendar = true;
34
- this.showRightCalendar = true;
35
- if (Array.isArray(this.initDate)) {
36
- const [start, end] = this.initDate;
37
- if (start instanceof Date) {
38
- this.currentDate = getStartDate(start);
39
- this.nextMonth = changeDate(1, this.currentDate, true);
40
- setTimeout(() => {
41
- this.leftCalendar.selectedRangeStart = toCalendarDay(start);
42
- this.rightCalendar.selectedRangeStart = toCalendarDay(start);
43
- });
44
- }
45
- if (end instanceof Date) {
46
- setTimeout(() => {
47
- this.leftCalendar.selectedRangeEnd = toCalendarDay(end);
48
- this.rightCalendar.selectedRangeEnd = toCalendarDay(end);
49
- });
50
- }
51
- }
52
- }
53
- onChangeMonth(calendar, offset) {
54
- const targetCalendar = calendar === 'left' ? this.rightCalendar : this.leftCalendar;
55
- targetCalendar.currentDate = changeDate(offset, targetCalendar.currentDate, true);
56
- }
57
- getFormattedDate(day) {
58
- return this.daysList[day.weekDay] + ', ' + day.day + ' ' + this.monthsShortList[day.monthYear.month];
59
- }
60
- handleHoverDay(day) {
61
- onHoverDay(this.leftCalendar, day);
62
- }
63
- handleClearHover() {
64
- onClearHover(this.leftCalendar);
65
- }
66
- handleApplyResponse($event) {
67
- this.calendarResponse.emit($event);
68
- }
69
- handleClearSelection() {
70
- this.clearSelection.emit();
71
- this.leftCalendar.clearSelectedDate();
72
- }
73
- handlerChangeMonthYearResponse($event, origin) {
74
- if ($event instanceof Date) {
75
- if (origin === 'left') {
76
- this.showRightCalendar = true;
77
- setTimeout(() => { this.rightCalendar.currentDate = changeDate(1, $event, true); });
78
- }
79
- else {
80
- this.showLeftCalendar = true;
81
- setTimeout(() => { this.leftCalendar.currentDate = changeDate(-1, $event, true); });
82
- }
83
- }
84
- }
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DualMonthCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
86
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DualMonthCalendarComponent, selector: "dual-month-calendar", inputs: { initDate: "initDate", restart: "restart", appearance: "appearance" }, outputs: { clearSelection: "clearSelection", calendarResponse: "response" }, viewQueries: [{ propertyName: "leftCalendar", first: true, predicate: ["leftCalendar"], descendants: true }, { propertyName: "rightCalendar", first: true, predicate: ["rightCalendar"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"showRightCalendar && showLeftCalendar\" class=\"date-select-indicator\">\n <p>\n <span class=\"hr-title\" [ngClass]=\"leftCalendar?.selectedRangeStart ? 'sm-regular' : 'sm-bold'\">\n {{leftCalendar?.selectedRangeStart ? getFormattedDate(leftCalendar.selectedRangeStart) : i18n.start_date}} </span>\n\n <gravity-icon [iconSize]=\"'md-16'\" [size]=\"'md'\" [iconName]=\"'swaps-arrow-right'\"></gravity-icon>\n\n <span class=\"hr-title\" [ngClass]=\"leftCalendar?.selectedRangeStart && !leftCalendar.selectedRangeEnd ? 'sm-bold' : 'sm-regular'\">\n {{leftCalendar?.selectedRangeEnd ? getFormattedDate(leftCalendar.selectedRangeEnd) : i18n.end_date}} </span>\n </p>\n</div>\n\n<div class=\"dual-calendar-container\" [class.mobile]=\"appearance.isMobile\">\n\n <day-calendar #leftCalendar *ngIf=\"showLeftCalendar\"\n [range]=\"true\"\n (openIntegratedCalendar)=\"showRightCalendar = false\"\n (changeMonth)=\"onChangeMonth('left', $event)\"\n (selectedRage)=\"onSelectRageDays(rightCalendar, $event)\"\n [navType]=\"appearance.isMobile ? 'none' : 'prev'\" [currentDate]=\"currentDate\"\n (changeMonthYearResponse)=\"handlerChangeMonthYearResponse($event, 'left')\"\n [appearance]=\"{language: appearance.language, actions: false, isMobile: appearance.isMobile, state: appearance.state}\">\n </day-calendar>\n\n <day-calendar #rightCalendar *ngIf=\"showRightCalendar\"\n [range]=\"true\"\n (clearHover)=\"handleClearHover()\"\n (hoverDay)=\"handleHoverDay($event)\"\n (response)=\"handleApplyResponse($event)\"\n (clearSelection)=\"handleClearSelection()\"\n (openIntegratedCalendar)=\"showLeftCalendar = false\"\n (changeMonth)=\"onChangeMonth('right', $event)\"\n (selectedRage)=\"onSelectRageDays(leftCalendar, $event)\"\n [navType]=\"appearance.isMobile ? 'none' : 'next'\" [currentDate]=\"nextMonth\"\n (changeMonthYearResponse)=\"handlerChangeMonthYearResponse($event, 'right')\"\n [appearance]=\"{language: appearance.language, actions: true, isMobile: appearance.isMobile, state: appearance.state}\">\n </day-calendar>\n</div>", styles: [".date-select-indicator{height:27px;display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--gravity-spacing-sm);margin-bottom:var(--gravity-spacing-md);border-bottom:2px solid var(--divider-menu-active-primary)}.date-select-indicator p{display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs);color:var(--bg-calendar-nav-primary)}.dual-calendar-container{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;gap:var(--gravity-spacing-md)}.dual-calendar-container.mobile{flex-direction:column;gap:var(--gravity-spacing-sm)}.dual-calendar-container.mobile day-calendar{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i3.DayCalendarComponent, selector: "day-calendar", inputs: ["initYear", "initMonth", "config", "range", "restart", "currentDate", "appearance", "navType"], outputs: ["clearHover", "clearSelection", "changeMonth", "hoverDay", "openIntegratedCalendar", "selectedRage", "changeMonthYearResponse", "response"] }] }); }
87
- }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DualMonthCalendarComponent, decorators: [{
89
- type: Component,
90
- args: [{ selector: 'dual-month-calendar', template: "<div *ngIf=\"showRightCalendar && showLeftCalendar\" class=\"date-select-indicator\">\n <p>\n <span class=\"hr-title\" [ngClass]=\"leftCalendar?.selectedRangeStart ? 'sm-regular' : 'sm-bold'\">\n {{leftCalendar?.selectedRangeStart ? getFormattedDate(leftCalendar.selectedRangeStart) : i18n.start_date}} </span>\n\n <gravity-icon [iconSize]=\"'md-16'\" [size]=\"'md'\" [iconName]=\"'swaps-arrow-right'\"></gravity-icon>\n\n <span class=\"hr-title\" [ngClass]=\"leftCalendar?.selectedRangeStart && !leftCalendar.selectedRangeEnd ? 'sm-bold' : 'sm-regular'\">\n {{leftCalendar?.selectedRangeEnd ? getFormattedDate(leftCalendar.selectedRangeEnd) : i18n.end_date}} </span>\n </p>\n</div>\n\n<div class=\"dual-calendar-container\" [class.mobile]=\"appearance.isMobile\">\n\n <day-calendar #leftCalendar *ngIf=\"showLeftCalendar\"\n [range]=\"true\"\n (openIntegratedCalendar)=\"showRightCalendar = false\"\n (changeMonth)=\"onChangeMonth('left', $event)\"\n (selectedRage)=\"onSelectRageDays(rightCalendar, $event)\"\n [navType]=\"appearance.isMobile ? 'none' : 'prev'\" [currentDate]=\"currentDate\"\n (changeMonthYearResponse)=\"handlerChangeMonthYearResponse($event, 'left')\"\n [appearance]=\"{language: appearance.language, actions: false, isMobile: appearance.isMobile, state: appearance.state}\">\n </day-calendar>\n\n <day-calendar #rightCalendar *ngIf=\"showRightCalendar\"\n [range]=\"true\"\n (clearHover)=\"handleClearHover()\"\n (hoverDay)=\"handleHoverDay($event)\"\n (response)=\"handleApplyResponse($event)\"\n (clearSelection)=\"handleClearSelection()\"\n (openIntegratedCalendar)=\"showLeftCalendar = false\"\n (changeMonth)=\"onChangeMonth('right', $event)\"\n (selectedRage)=\"onSelectRageDays(leftCalendar, $event)\"\n [navType]=\"appearance.isMobile ? 'none' : 'next'\" [currentDate]=\"nextMonth\"\n (changeMonthYearResponse)=\"handlerChangeMonthYearResponse($event, 'right')\"\n [appearance]=\"{language: appearance.language, actions: true, isMobile: appearance.isMobile, state: appearance.state}\">\n </day-calendar>\n</div>", styles: [".date-select-indicator{height:27px;display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--gravity-spacing-sm);margin-bottom:var(--gravity-spacing-md);border-bottom:2px solid var(--divider-menu-active-primary)}.date-select-indicator p{display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs);color:var(--bg-calendar-nav-primary)}.dual-calendar-container{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;gap:var(--gravity-spacing-md)}.dual-calendar-container.mobile{flex-direction:column;gap:var(--gravity-spacing-sm)}.dual-calendar-container.mobile day-calendar{width:100%}\n"] }]
91
- }], propDecorators: { initDate: [{
92
- type: Input
93
- }], restart: [{
94
- type: Input
95
- }], appearance: [{
96
- type: Input
97
- }], clearSelection: [{
98
- type: Output
99
- }], calendarResponse: [{
100
- type: Output,
101
- args: ['response']
102
- }], leftCalendar: [{
103
- type: ViewChild,
104
- args: ['leftCalendar']
105
- }], rightCalendar: [{
106
- type: ViewChild,
107
- args: ['rightCalendar']
108
- }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVhbC1tb250aC1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL2R1YWwtbW9udGgtY2FsZW5kYXIvZHVhbC1tb250aC1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL2R1YWwtbW9udGgtY2FsZW5kYXIvZHVhbC1tb250aC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsR0FBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQU9sSCxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBT2tCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHeEIsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFLdEcsZ0JBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FB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QUksQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUE7YUFDakY7U0FDRjtJQUNILENBQUM7K0dBdkZVLDBCQUEwQjttR0FBMUIsMEJBQTBCLDRiQ1p2QyxzcEVBcUNNOzs0RkR6Qk8sMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHFCQUFxQjs4QkFLZixRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFFVyxjQUFjO3NCQUE5QixNQUFNO2dCQUNvQixnQkFBZ0I7c0JBQTFDLE1BQU07dUJBQUMsVUFBVTtnQkFFUyxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0csYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDYWxlbmRhckFwcGVhcmFuY2UsIENhbGVuZGFyRGF0ZX0gZnJvbSBcIi4uLy4uL3NoYXJlZC9jYWxlbmRhci5tb2RhbFwiO1xuaW1wb3J0IHtEYXlDYWxlbmRhckNvbXBvbmVudH0gZnJvbSBcIi4uL2RheS1jYWxlbmRhci9kYXktY2FsZW5kYXIuY29tcG9uZW50XCI7XG5pbXBvcnQge2NoYW5nZURhdGUsIGdldFN0YXJ0RGF0ZSwgdG9DYWxlbmRhckRheX0gZnJvbSBcIi4uLy4uL3NoYXJlZC9jYWxlbmRhci51dGlsc1wiO1xuaW1wb3J0IHtvbkNsZWFySG92ZXIsIG9uSG92ZXJEYXksIG9uU2VsZWN0UmFnZURheXMsfSBmcm9tIFwiLi4vZGF5LWNhbGVuZGFyL3JhbmdlLWRheXMtY2FsZW5kYXIudXRpbHNcIjtcbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q0FMRU5EQVJfSTE4TiwgREFZU19FTiwgREFZU19FUywgTU9OVEhTX1NIT1JUX0VOLCBNT05USFNfU0hPUlRfRVN9IGZyb20gXCIuLi8uLi9zaGFyZWQvY2FsZW5kYXIuY29uc3RhbnRzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2R1YWwtbW9udGgtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZHVhbC1tb250aC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R1YWwtbW9udGgtY2FsZW5kYXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEdWFsTW9udGhDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbml0RGF0ZTogRGF0ZSB8IERhdGVbXTtcbiAgQElucHV0KCkgcHVibGljIHJlc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGFwcGVhcmFuY2U6IENhbGVuZGFyQXBwZWFyYW5jZVxuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJTZWxlY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgncmVzcG9uc2UnKSBwdWJsaWMgY2FsZW5kYXJSZXNwb25zZTogRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2xlZnRDYWxlbmRhcicpIGxlZnRDYWxlbmRhcjogRGF5Q2FsZW5kYXJDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3JpZ2h0Q2FsZW5kYXInKSByaWdodENhbGVuZGFyOiBEYXlDYWxlbmRhckNvbXBvbmVudDtcblxuICBwdWJsaWMgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuICBwdWJsaWMgc2hvd0xlZnRDYWxlbmRhcjogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBzaG93UmlnaHRDYWxlbmRhcjogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBuZXh0TW9udGggPSBjaGFuZ2VEYXRlKDEsIHRoaXMuY3VycmVudERhdGUsIHRydWUpO1xuXG4gIHB1YmxpYyBnZXQgaTE4bigpIHsgcmV0dXJuIENBTEVOREFSX0kxOE5bdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlXTsgfVxuICBwdWJsaWMgZ2V0IGRheXNMaXN0KCkgeyByZXR1cm4gdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlID09PSAnZW4nID8gREFZU19FTiA6IERBWVNfRVM7IH1cbiAgcHVibGljIGdldCBtb250aHNTaG9ydExpc3QoKSB7IHJldHVybiB0aGlzLmFwcGVhcmFuY2UubGFuZ3VhZ2UgPT09ICdlbicgPyBNT05USFNfU0hPUlRfRU4gOiBNT05USFNfU0hPUlRfRVM7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3Qgc2hvdWxkUmVzdGFydCA9IGNoYW5nZXNbJ3Jlc3RhcnQnXSAmJiB0aGlzLnJlc3RhcnQ7XG4gICAgY29uc3Qgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkID0gY2hhbmdlc1sncHJlU2VsZWN0ZWREYXRlJ10gJiYgdGhpcy5pbml0RGF0ZTtcbiAgICBpZiAoc2hvdWxkUmVzdGFydCB8fCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQpIHsgdGhpcy5wcm9jZXNzSW5pdERhdGUoKTsgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzSW5pdERhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93TGVmdENhbGVuZGFyID0gdHJ1ZTtcbiAgICB0aGlzLnNob3dSaWdodENhbGVuZGFyID0gdHJ1ZTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaW5pdERhdGUpKSB7XG4gICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLmluaXREYXRlIGFzIERhdGVbXTtcblxuICAgICAgaWYgKHN0YXJ0IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICB0aGlzLmN1cnJlbnREYXRlID0gZ2V0U3RhcnREYXRlKHN0YXJ0KTtcbiAgICAgICAgdGhpcy5uZXh0TW9udGggPSBjaGFuZ2VEYXRlKDEsIHRoaXMuY3VycmVudERhdGUsIHRydWUpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmxlZnRDYWxlbmRhci5zZWxlY3RlZFJhbmdlU3RhcnQgPSB0b0NhbGVuZGFyRGF5KHN0YXJ0KTtcbiAgICAgICAgICB0aGlzLnJpZ2h0Q2FsZW5kYXIuc2VsZWN0ZWRSYW5nZVN0YXJ0ID0gdG9DYWxlbmRhckRheShzdGFydCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoZW5kIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmxlZnRDYWxlbmRhci5zZWxlY3RlZFJhbmdlRW5kID0gdG9DYWxlbmRhckRheShlbmQpO1xuICAgICAgICAgIHRoaXMucmlnaHRDYWxlbmRhci5zZWxlY3RlZFJhbmdlRW5kID0gdG9DYWxlbmRhckRheShlbmQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2VNb250aChjYWxlbmRhcjogJ2xlZnQnIHwgJ3JpZ2h0Jywgb2Zmc2V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRDYWxlbmRhciA9IGNhbGVuZGFyID09PSAnbGVmdCcgPyB0aGlzLnJpZ2h0Q2FsZW5kYXIgOiB0aGlzLmxlZnRDYWxlbmRhcjtcbiAgICB0YXJnZXRDYWxlbmRhci5jdXJyZW50RGF0ZSA9IGNoYW5nZURhdGUob2Zmc2V0LCB0YXJnZXRDYWxlbmRhci5jdXJyZW50RGF0ZSwgdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkRGF0ZShkYXk6IENhbGVuZGFyRGF0ZSkge1xuICAgIHJldHVybiB0aGlzLmRheXNMaXN0W2RheS53ZWVrRGF5XSArICcsICcgKyBkYXkuZGF5ICsgJyAnICsgdGhpcy5tb250aHNTaG9ydExpc3RbZGF5Lm1vbnRoWWVhci5tb250aF07XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlSG92ZXJEYXkoZGF5OiBDYWxlbmRhckRhdGUpIHtcbiAgICBvbkhvdmVyRGF5KHRoaXMubGVmdENhbGVuZGFyLCBkYXkpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNsZWFySG92ZXIoKXtcbiAgICBvbkNsZWFySG92ZXIodGhpcy5sZWZ0Q2FsZW5kYXIpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUFwcGx5UmVzcG9uc2UoJGV2ZW50OiBEYXRlIHwgRGF0ZVtdKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDbGVhclNlbGVjdGlvbigpe1xuICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24uZW1pdCgpO1xuICAgIHRoaXMubGVmdENhbGVuZGFyLmNsZWFyU2VsZWN0ZWREYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlckNoYW5nZU1vbnRoWWVhclJlc3BvbnNlKCRldmVudDogRGF0ZSB8IERhdGVbXSwgb3JpZ2luOiAnbGVmdCcgfCAncmlnaHQnKXtcbiAgICBpZigkZXZlbnQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICBpZihvcmlnaW4gPT09ICdsZWZ0Jykge1xuICAgICAgICB0aGlzLnNob3dSaWdodENhbGVuZGFyID0gdHJ1ZTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7dGhpcy5yaWdodENhbGVuZGFyLmN1cnJlbnREYXRlID0gY2hhbmdlRGF0ZSgxLCAkZXZlbnQsIHRydWUpfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2hvd0xlZnRDYWxlbmRhciA9IHRydWU7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMubGVmdENhbGVuZGFyLmN1cnJlbnREYXRlID0gY2hhbmdlRGF0ZSgtMSwgJGV2ZW50LCB0cnVlKX0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IERhdGUgPSBEYXRlO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGF0ZSA9IGNoYW5nZURhdGU7XG4gIHByb3RlY3RlZCByZWFkb25seSBvblNlbGVjdFJhZ2VEYXlzID0gb25TZWxlY3RSYWdlRGF5cztcbn1cbiIsIjxkaXYgKm5nSWY9XCJzaG93UmlnaHRDYWxlbmRhciAmJiBzaG93TGVmdENhbGVuZGFyXCIgY2xhc3M9XCJkYXRlLXNlbGVjdC1pbmRpY2F0b3JcIj5cbiAgICA8cD5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoci10aXRsZVwiICBbbmdDbGFzc109XCJsZWZ0Q2FsZW5kYXI/LnNlbGVjdGVkUmFuZ2VTdGFydCA/ICdzbS1yZWd1bGFyJyA6ICdzbS1ib2xkJ1wiPlxuICAgICAgICAgICAge3tsZWZ0Q2FsZW5kYXI/LnNlbGVjdGVkUmFuZ2VTdGFydCA/IGdldEZvcm1hdHRlZERhdGUobGVmdENhbGVuZGFyLnNlbGVjdGVkUmFuZ2VTdGFydCkgOiBpMThuLnN0YXJ0X2RhdGV9fSA8L3NwYW4+XG5cbiAgICAgICAgPGdyYXZpdHktaWNvbiBbaWNvblNpemVdPVwiJ21kLTE2J1wiIFtzaXplXT1cIidtZCdcIiBbaWNvbk5hbWVdPVwiJ3N3YXBzLWFycm93LXJpZ2h0J1wiPjwvZ3Jhdml0eS1pY29uPlxuXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaHItdGl0bGVcIiAgW25nQ2xhc3NdPVwibGVmdENhbGVuZGFyPy5zZWxlY3RlZFJhbmdlU3RhcnQgJiYgIWxlZnRDYWxlbmRhci5zZWxlY3RlZFJhbmdlRW5kID8gJ3NtLWJvbGQnIDogJ3NtLXJlZ3VsYXInXCI+XG4gICAgICAgICAgICB7e2xlZnRDYWxlbmRhcj8uc2VsZWN0ZWRSYW5nZUVuZCA/IGdldEZvcm1hdHRlZERhdGUobGVmdENhbGVuZGFyLnNlbGVjdGVkUmFuZ2VFbmQpIDogaTE4bi5lbmRfZGF0ZX19IDwvc3Bhbj5cbiAgICA8L3A+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImR1YWwtY2FsZW5kYXItY29udGFpbmVyXCIgW2NsYXNzLm1vYmlsZV09XCJhcHBlYXJhbmNlLmlzTW9iaWxlXCI+XG5cbiAgICA8ZGF5LWNhbGVuZGFyICNsZWZ0Q2FsZW5kYXIgKm5nSWY9XCJzaG93TGVmdENhbGVuZGFyXCJcbiAgICAgIFtyYW5nZV09XCJ0cnVlXCJcbiAgICAgIChvcGVuSW50ZWdyYXRlZENhbGVuZGFyKT1cInNob3dSaWdodENhbGVuZGFyID0gZmFsc2VcIlxuICAgICAgKGNoYW5nZU1vbnRoKT1cIm9uQ2hhbmdlTW9udGgoJ2xlZnQnLCAkZXZlbnQpXCJcbiAgICAgIChzZWxlY3RlZFJhZ2UpPVwib25TZWxlY3RSYWdlRGF5cyhyaWdodENhbGVuZGFyLCAkZXZlbnQpXCJcbiAgICAgIFtuYXZUeXBlXT1cImFwcGVhcmFuY2UuaXNNb2JpbGUgPyAnbm9uZScgOiAncHJldidcIiBbY3VycmVudERhdGVdPVwiY3VycmVudERhdGVcIlxuICAgICAgKGNoYW5nZU1vbnRoWWVhclJlc3BvbnNlKT1cImhhbmRsZXJDaGFuZ2VNb250aFllYXJSZXNwb25zZSgkZXZlbnQsICdsZWZ0JylcIlxuICAgICAgW2FwcGVhcmFuY2VdPVwie2xhbmd1YWdlOiBhcHBlYXJhbmNlLmxhbmd1YWdlLCBhY3Rpb25zOiBmYWxzZSwgaXNNb2JpbGU6IGFwcGVhcmFuY2UuaXNNb2JpbGUsIHN0YXRlOiBhcHBlYXJhbmNlLnN0YXRlfVwiPlxuICAgIDwvZGF5LWNhbGVuZGFyPlxuXG4gICAgPGRheS1jYWxlbmRhciAjcmlnaHRDYWxlbmRhciAqbmdJZj1cInNob3dSaWdodENhbGVuZGFyXCJcbiAgICAgIFtyYW5nZV09XCJ0cnVlXCJcbiAgICAgIChjbGVhckhvdmVyKT1cImhhbmRsZUNsZWFySG92ZXIoKVwiXG4gICAgICAoaG92ZXJEYXkpPVwiaGFuZGxlSG92ZXJEYXkoJGV2ZW50KVwiXG4gICAgICAocmVzcG9uc2UpPVwiaGFuZGxlQXBwbHlSZXNwb25zZSgkZXZlbnQpXCJcbiAgICAgIChjbGVhclNlbGVjdGlvbik9XCJoYW5kbGVDbGVhclNlbGVjdGlvbigpXCJcbiAgICAgIChvcGVuSW50ZWdyYXRlZENhbGVuZGFyKT1cInNob3dMZWZ0Q2FsZW5kYXIgPSBmYWxzZVwiXG4gICAgICAoY2hhbmdlTW9udGgpPVwib25DaGFuZ2VNb250aCgncmlnaHQnLCAkZXZlbnQpXCJcbiAgICAgIChzZWxlY3RlZFJhZ2UpPVwib25TZWxlY3RSYWdlRGF5cyhsZWZ0Q2FsZW5kYXIsICRldmVudClcIlxuICAgICAgW25hdlR5cGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZSA/ICdub25lJyA6ICduZXh0J1wiICBbY3VycmVudERhdGVdPVwibmV4dE1vbnRoXCJcbiAgICAgIChjaGFuZ2VNb250aFllYXJSZXNwb25zZSk9XCJoYW5kbGVyQ2hhbmdlTW9udGhZZWFyUmVzcG9uc2UoJGV2ZW50LCAncmlnaHQnKVwiXG4gICAgICBbYXBwZWFyYW5jZV09XCJ7bGFuZ3VhZ2U6IGFwcGVhcmFuY2UubGFuZ3VhZ2UsIGFjdGlvbnM6IHRydWUsIGlzTW9iaWxlOiBhcHBlYXJhbmNlLmlzTW9iaWxlLCBzdGF0ZTogYXBwZWFyYW5jZS5zdGF0ZX1cIj5cbiAgICA8L2RheS1jYWxlbmRhcj5cbjwvZGl2PiJdfQ==