@progressio_resources/gravity-design-system 3.6.6 → 3.6.7

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 (31) hide show
  1. package/esm2022/lib/components/gravity-calendar-next/components/day-calendar/day-calendar.component.mjs +85 -30
  2. package/esm2022/lib/components/gravity-calendar-next/components/day-calendar/range-days-calendar.utils.mjs +197 -46
  3. package/esm2022/lib/components/gravity-calendar-next/components/month-calendar/month-calendar.component.mjs +26 -10
  4. package/esm2022/lib/components/gravity-calendar-next/components/year-calendar/year-calendar.component.mjs +27 -9
  5. package/esm2022/lib/components/gravity-calendar-next/gravity-calendar-next.component.mjs +30 -20
  6. package/esm2022/lib/components/gravity-calendar-next/shared/calendar.constants.mjs +43 -3
  7. package/esm2022/lib/components/gravity-calendar-next/shared/calendar.modal.mjs +1 -1
  8. package/esm2022/lib/components/gravity-calendar-next/shared/calendar.utils.mjs +101 -6
  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 +1 -4
  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/fesm2022/progressio_resources-gravity-design-system.mjs +506 -222
  17. package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
  18. package/lib/components/gravity-calendar-next/components/day-calendar/day-calendar.component.d.ts +57 -10
  19. package/lib/components/gravity-calendar-next/components/day-calendar/range-days-calendar.utils.d.ts +4 -1
  20. package/lib/components/gravity-calendar-next/components/month-calendar/month-calendar.component.d.ts +38 -6
  21. package/lib/components/gravity-calendar-next/components/year-calendar/year-calendar.component.d.ts +39 -5
  22. package/lib/components/gravity-calendar-next/gravity-calendar-next.component.d.ts +48 -6
  23. package/lib/components/gravity-calendar-next/shared/calendar.constants.d.ts +33 -3
  24. package/lib/components/gravity-calendar-next/shared/calendar.modal.d.ts +6 -2
  25. package/lib/components/gravity-calendar-next/shared/calendar.utils.d.ts +7 -2
  26. package/lib/components/gravity-text-field/gravity-text-field.component.d.ts +5 -3
  27. package/lib/gravity-design-system.module.d.ts +14 -15
  28. package/lib/layout/gravity-menu/gravity-menu.component.d.ts +2 -2
  29. package/package.json +1 -1
  30. package/esm2022/lib/components/gravity-calendar-next/components/dual-month-calendar/dual-month-calendar.component.mjs +0 -109
  31. package/lib/components/gravity-calendar-next/components/dual-month-calendar/dual-month-calendar.component.d.ts +0 -46
@@ -1,73 +1,224 @@
1
- import { getStartDate, toCalendarDay, toDate } from "../../shared/calendar.utils";
1
+ import { calendarDateToDate, dateToString, getStartDate, stringToCalendarDate, stringToDate, dateToCalendarDay } from "../../shared/calendar.utils";
2
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;
3
+ const current = calendarDateToDate(day);
4
+ if (component.selectedRangeStart && !component.selectedRangeEnd && component.hoveredDay) {
5
+ const start = calendarDateToDate(component.selectedRangeStart);
6
+ const hover = calendarDateToDate(component.hoveredDay);
7
+ if (hover <= start)
8
+ return false;
9
+ return current > start && current <= hover;
10
+ }
11
+ if (!component.selectedRangeStart && component.selectedRangeEnd && component.hoveredDay) {
12
+ const end = calendarDateToDate(component.selectedRangeEnd);
13
+ const hover = calendarDateToDate(component.hoveredDay);
14
+ if (hover >= end)
15
+ return false;
16
+ return current < end && current >= hover;
17
+ }
18
+ return false;
11
19
  }
12
20
  export function processPreselectedRangeDate(component) {
13
- const [start, end] = component.config.initDate;
21
+ let end = null;
22
+ let start = null;
23
+ component.startDateField.focus();
24
+ if (Array.isArray(component.config.initDate)) {
25
+ [start, end] = component.config.initDate;
26
+ }
14
27
  if (start instanceof Date) {
15
- component.selectedRangeStart = toCalendarDay(start);
28
+ component.selectedRangeStart = dateToCalendarDay(start);
29
+ setTimeout(() => {
30
+ component.endDateField.focus();
31
+ component.startDateField.inputValue = dateToString(start, component.appearance.language);
32
+ }, 0);
16
33
  }
17
34
  if (end instanceof Date) {
18
- component.selectedRangeEnd = toCalendarDay(end);
19
35
  component.currentDate = getStartDate(end);
36
+ component.selectedRangeEnd = dateToCalendarDay(end);
37
+ setTimeout(() => {
38
+ component.startDateField.focus();
39
+ component.endDateField.inputValue = dateToString(end, component.appearance.language);
40
+ }, 0);
20
41
  }
21
42
  else if (start instanceof Date) {
22
43
  component.currentDate = getStartDate(start);
23
44
  }
24
45
  }
25
46
  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) {
47
+ const current = calendarDateToDate(day);
48
+ const start = component.selectedRangeStart ? calendarDateToDate(component.selectedRangeStart) : null;
49
+ const end = component.selectedRangeEnd ? calendarDateToDate(component.selectedRangeEnd) : null;
50
+ if (!start && !end) {
51
+ return component.focused === 'start' ? 'nsl-start' : 'nsl-end';
52
+ }
53
+ if (start && !end) {
31
54
  if (current.getTime() === start.getTime())
32
55
  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';
56
+ if (current.getTime() < start.getTime())
57
+ return 'nsl-start';
58
+ return 'in-slt nsl-end';
59
+ }
60
+ if (!start && end) {
61
+ if (current.getTime() === end.getTime())
62
+ return 'sl end';
63
+ if (current.getTime() > end.getTime())
64
+ return 'nsl-end';
65
+ return 'in-slt nsl-start';
66
+ }
67
+ if (start && end) {
68
+ if (current.getTime() === start.getTime() &&
69
+ start.getTime() === end.getTime())
70
+ return 'start sl same-sln';
71
+ if (current.getTime() === start.getTime())
72
+ return 'sl start';
73
+ if (current.getTime() < start.getTime())
74
+ return 'nsl-start';
75
+ if (current.getTime() === end.getTime())
76
+ return 'sl end';
77
+ if (current.getTime() > end.getTime())
78
+ return 'nsl-end';
79
+ if (current > start && current < end)
80
+ return 'sl range';
81
+ return 'default';
82
+ }
48
83
  }
49
- export function onSelectRageDays(component, day) {
50
- if (!component.selectedRangeStart || component.selectedRangeEnd) {
51
- component.selectedRangeStart = day;
52
- component.selectedRangeEnd = null;
84
+ export function onSelectDaysRange(component, day) {
85
+ const selected = calendarDateToDate(day);
86
+ const hasEnd = !!component.selectedRangeEnd;
87
+ const hasStart = !!component.selectedRangeStart;
88
+ const language = component.appearance.language;
89
+ const endDate = hasEnd ? calendarDateToDate(component.selectedRangeEnd) : null;
90
+ const startDate = hasStart ? calendarDateToDate(component.selectedRangeStart) : null;
91
+ Object.assign(component, {
92
+ notification: null,
93
+ endDateError: '', startDateError: '',
94
+ endFieldDisabled: false, startFieldDisabled: false,
95
+ });
96
+ const updateField = (field) => {
97
+ component[`selectedRange${field === 'start' ? 'Start' : 'End'}`] = day;
98
+ component[`${field}DateField`].inputValue = dateToString(selected, language);
99
+ setTimeout(() => {
100
+ const focusField = field === 'start' ?
101
+ (component.selectedRangeEnd ? 'start' : 'end') :
102
+ (component.selectedRangeStart ? 'end' : 'start');
103
+ component[`${focusField}DateField`].focus();
104
+ component[`${focusField}DateField`].inputElement.nativeElement.setSelectionRange(10, 10);
105
+ }, 100);
106
+ };
107
+ if (!hasStart && !hasEnd) {
108
+ updateField(component.focused);
109
+ return;
53
110
  }
54
- else {
55
- const selectedDate = toDate(day);
56
- const startDate = toDate(component.selectedRangeStart);
57
- selectedDate >= startDate ? component.selectedRangeEnd = day : component.selectedRangeStart = day;
111
+ if (hasStart && !hasEnd) {
112
+ selected >= startDate ? updateField('end') : updateField('start');
113
+ return;
114
+ }
115
+ if (!hasStart && hasEnd) {
116
+ selected < endDate ? updateField('start') : updateField('end');
117
+ return;
118
+ }
119
+ if (hasStart && hasEnd) {
120
+ selected < startDate ? updateField('start') : updateField('end');
121
+ return;
58
122
  }
59
123
  }
60
124
  export function onApplyRageDate(component) {
61
- const start = toDate(component.selectedRangeStart);
62
- const end = toDate(component.selectedRangeEnd);
125
+ const start = calendarDateToDate(component.selectedRangeStart);
126
+ const end = calendarDateToDate(component.selectedRangeEnd);
63
127
  component.calendarResponse.emit([start, end]);
64
128
  }
65
129
  export function onHoverDay(component, day) {
66
- if (component.selectedRangeEnd)
67
- return;
68
- component.hoveredDay = day;
130
+ const startSelected = !!component.selectedRangeStart && !component.selectedRangeEnd;
131
+ const endSelected = !!component.selectedRangeEnd && !component.selectedRangeStart;
132
+ if (startSelected || endSelected) {
133
+ component.hoveredDay = day;
134
+ }
69
135
  }
70
136
  export function onClearHover(component) {
71
137
  component.hoveredDay = null;
72
138
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGF5cy1jYWxlbmRhci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci1uZXh0L2NvbXBvbmVudHMvZGF5LWNhbGVuZGFyL3JhbmdlLWRheXMtY2FsZW5kYXIudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFaEYsTUFBTSxVQUFVLFNBQVMsQ0FBQyxTQUErQixFQUFFLEdBQWlCO0lBQ3hFLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLElBQUksU0FBUyxDQUFDLGdCQUFnQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVU7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUV2RyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFbkQsSUFBSSxLQUFLLElBQUksS0FBSztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ2pDLE9BQU8sT0FBTyxHQUFHLEtBQUssSUFBSSxPQUFPLElBQUksS0FBSyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsU0FBK0I7SUFDdkUsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQWtCLENBQUM7SUFFekQsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO1FBQ3ZCLFNBQVMsQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUMs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U0FBUyxDQUFDLGdCQUFnQjtRQUFFLE9BQU87SUFDdkMsU0FBUyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsU0FBK0I7SUFDeEQsU0FBUyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FsZW5kYXJEYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLm1vZGFsXCI7XG5pbXBvcnQge0RheUNhbGVuZGFyQ29tcG9uZW50fSBmcm9tIFwiLi9kYXktY2FsZW5kYXIuY29tcG9uZW50XCI7XG5pbXBvcnQge2dldFN0YXJ0RGF0ZSwgdG9DYWxlbmRhckRheSwgdG9EYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLnV0aWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZXZpZXcoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiBib29sZWFuIHtcbiAgICBpZiAoIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgfHwgY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgfHwgIWNvbXBvbmVudC5ob3ZlcmVkRGF5KSByZXR1cm4gZmFsc2U7XG5cbiAgICBjb25zdCBjdXJyZW50ID0gdG9EYXRlKGRheSk7XG4gICAgY29uc3QgaG92ZXIgPSB0b0RhdGUoY29tcG9uZW50LmhvdmVyZWREYXkpO1xuICAgIGNvbnN0IHN0YXJ0ID0gdG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQpO1xuXG4gICAgaWYgKGhvdmVyIDw9IHN0YXJ0KSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIGN1cnJlbnQgPiBzdGFydCAmJiBjdXJyZW50IDw9IGhvdmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc1ByZXNlbGVjdGVkUmFuZ2VEYXRlKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQpIHtcbiAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSBjb21wb25lbnQuY29uZmlnLmluaXREYXRlIGFzIERhdGVbXTtcblxuICAgIGlmIChzdGFydCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCA9IHRvQ2FsZW5kYXJEYXkoc3RhcnQpO1xuICAgIH1cblxuICAgIGlmIChlbmQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kID0gdG9DYWxlbmRhckRheShlbmQpO1xuICAgICAgICBjb21wb25lbnQuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUoZW5kKTtcbiAgICB9IGVsc2UgaWYgKHN0YXJ0IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICBjb21wb25lbnQuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUoc3RhcnQpO1xuICAgIH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmFuZ2VTZWxlY3Rpb25DbGFzcyhjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXk6IENhbGVuZGFyRGF0ZSk6IHN0cmluZyB7XG4gICAgaWYgKCFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0KSByZXR1cm4gJ25zbC1zdGFydCc7XG5cbiAgICBjb25zdCBjdXJyZW50ID0gdG9EYXRlKGRheSk7XG4gICAgY29uc3Qgc3RhcnQgPSB0b0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCk7XG5cbiAgICBpZiAoIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kKSB7XG4gICAgICAgIGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gc3RhcnQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIHN0YXJ0JztcblxuICAgICAgICBpZiAoY29tcG9uZW50LmhvdmVyZWREYXkpIHtcbiAgICAgICAgICAgIGNvbnN0IGhvdmVyID0gdG9EYXRlKGNvbXBvbmVudC5ob3ZlcmVkRGF5KTtcbiAgICAgICAgICAgIGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gaG92ZXIuZ2V0VGltZSgpICYmIGhvdmVyIDwgc3RhcnQpIHJldHVybiAnbnNsLXN0YXJ0JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnbnNsLWVuZCc7XG4gICAgfVxuXG4gICAgY29uc3QgZW5kID0gdG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kKTtcblxuICAgIGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gc3RhcnQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIHN0YXJ0JztcbiAgICBpZiAoY3VycmVudC5nZXRUaW1lKCkgPT09IGVuZC5nZXRUaW1lKCkpIHJldHVybiAnc2wgZW5kJztcbiAgICBpZiAoY3VycmVudCA+IHN0YXJ0ICYmIGN1cnJlbnQgPCBlbmQpIHJldHVybiAnc2wgcmFuZ2UnO1xuXG4gICAgcmV0dXJuICduc2wtc3RhcnQnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb25TZWxlY3RSYWdlRGF5cyhjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXk6IENhbGVuZGFyRGF0ZSkge1xuICAgIGlmICghY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCB8fCBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCkge1xuICAgICAgICBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ID0gZGF5O1xuICAgICAgICBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWREYXRlID0gdG9EYXRlKGRheSk7XG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0KTtcbiAgICAgICAgc2VsZWN0ZWREYXRlID49IHN0YXJ0RGF0ZSA/IGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kID0gZGF5IDogY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCA9IGRheTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkFwcGx5UmFnZURhdGUoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCl7XG4gICAgY29uc3Qgc3RhcnQgPSB0b0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCk7XG4gICAgY29uc3QgZW5kID10b0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpO1xuICAgIGNvbXBvbmVudC5jYWxlbmRhclJlc3BvbnNlLmVtaXQoW3N0YXJ0LCBlbmRdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uSG92ZXJEYXkoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiB2b2lkIHtcbiAgICBpZiAoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpIHJldHVybjtcbiAgICBjb21wb25lbnQuaG92ZXJlZERheSA9IGRheTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uQ2xlYXJIb3Zlcihjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29tcG9uZW50LmhvdmVyZWREYXkgPSBudWxsO1xufVxuXG4iXX0=
139
+ export function searchDate(component, dateStr, target) {
140
+ const i18n = component.i18n;
141
+ const date = stringToDate(dateStr, component.appearance.language);
142
+ const calendarDate = stringToCalendarDate(dateStr, component.appearance.language);
143
+ const errorProp = target === 'start' ? 'startDateError' : 'endDateError';
144
+ const field = target === 'start' ? component.startDateField : component.endDateField;
145
+ const oppositeDisabled = target === 'start' ? 'endFieldDisabled' : 'startFieldDisabled';
146
+ if (!dateStr) {
147
+ component[oppositeDisabled] = false;
148
+ return;
149
+ }
150
+ if (!calendarDate) {
151
+ field.focus();
152
+ component[oppositeDisabled] = true;
153
+ component[errorProp] = i18n.invalid_date;
154
+ component.notification = { text: i18n.select_valid_date, error: true };
155
+ return;
156
+ }
157
+ if (!validateDateLimits(component, date, target)) {
158
+ component[oppositeDisabled] = true;
159
+ return;
160
+ }
161
+ const otherCalendarDate = target === 'start' ? component.selectedRangeEnd : component.selectedRangeStart;
162
+ const otherDate = otherCalendarDate ? calendarDateToDate(otherCalendarDate) : null;
163
+ if ((target === 'start' && otherDate && date > otherDate) ||
164
+ (target === 'end' && otherDate && date < otherDate)) {
165
+ field.focus();
166
+ component[oppositeDisabled] = true;
167
+ component[errorProp] = i18n.invalid_date;
168
+ component.notification = { text: target === 'start' ? i18n.start_before_end : i18n.end_after_start, error: true };
169
+ return;
170
+ }
171
+ if (target === 'start') {
172
+ component.selectedRangeStart = calendarDate;
173
+ if (!component.selectedRangeEnd)
174
+ setTimeout(() => component.endDateField.focus(), 100);
175
+ }
176
+ else {
177
+ component.selectedRangeEnd = calendarDate;
178
+ if (!component.selectedRangeStart)
179
+ setTimeout(() => component.startDateField.focus(), 100);
180
+ }
181
+ component[errorProp] = null;
182
+ component.currentDate = date;
183
+ component.notification = null;
184
+ component[oppositeDisabled] = false;
185
+ }
186
+ export function validateDateLimits(component, date, target) {
187
+ if (component.config.minDate && date < component.config.minDate) {
188
+ component.notification = { text: component.i18n.date_unavailable, error: true };
189
+ target === 'start' ? component.startDateError = component.i18n.invalid_date : component.endDateError = component.i18n.invalid_date;
190
+ return false;
191
+ }
192
+ if (component.config.maxDate && date > component.config.maxDate) {
193
+ component.notification = { text: component.i18n.date_unavailable, error: true };
194
+ target === 'start' ? component.startDateError = component.i18n.invalid_date : component.endDateError = component.i18n.invalid_date;
195
+ return false;
196
+ }
197
+ return true;
198
+ }
199
+ export function onDateKeyup(component, event, target) {
200
+ const ignoredKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Enter', ' ', 'Spacebar'];
201
+ if (ignoredKeys.includes(event.key)) {
202
+ return;
203
+ }
204
+ const errorProp = target === 'start' ? 'startDateError' : 'endDateError';
205
+ const disabled = target === 'start' ? 'endFieldDisabled' : 'startFieldDisabled';
206
+ const dateInput = target === 'start' ? component.startDateField : component.endDateField;
207
+ const selectedRangeProp = target === 'start' ? 'selectedRangeStart' : 'selectedRangeEnd';
208
+ const value = dateInput?.inputValue ?? '';
209
+ if (value.length < 10) {
210
+ component[selectedRangeProp] = null;
211
+ if (!component.notification?.error) {
212
+ component.notification = null;
213
+ }
214
+ if (value.length < 1) {
215
+ component[errorProp] = '';
216
+ component[disabled] = false;
217
+ component.notification = null;
218
+ }
219
+ }
220
+ if (value.length > 9) {
221
+ searchDate(this, value, target);
222
+ }
223
+ }
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGF5cy1jYWxlbmRhci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci1uZXh0L2NvbXBvbmVudHMvZGF5LWNhbGVuZGFyL3JhbmdlLWRheXMtY2FsZW5kYXIudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFbEosTUFBTSxVQUFVLFNBQVMsQ0FBQyxTQUErQixFQUFFLEdBQWlCO0lBQzNFLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXhDLElBQUksU0FBUyxDQUFDLGtCQUFrQixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixJQUFJLFNBQVMsQ0FBQyxVQUFVLEVBQUU7UUFDeEYsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDL0QsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksS0FBSyxJQUFJLEtBQUs7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqQyxPQUFPLE9BQU8sR0FBRyxLQUFLLElBQUksT0FBTyxJQUFJLEtBQUssQ0FBQztLQUMzQztJQUVELElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLElBQUksU0FBUyxDQUFDLGdCQUFnQixJQUFJLFNBQVMsQ0FBQyxVQUFVLEVBQUU7UUFDeEYsTUFBTSxHQUFHLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0QsTUFBTSxLQUFLLEdB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aW1wb3J0IHtDYWxlbmRhckRhdGV9IGZyb20gXCIuLi8uLi9zaGFyZWQvY2FsZW5kYXIubW9kYWxcIjtcbmltcG9ydCB7RGF5Q2FsZW5kYXJDb21wb25lbnR9IGZyb20gXCIuL2RheS1jYWxlbmRhci5jb21wb25lbnRcIjtcbmltcG9ydCB7Y2FsZW5kYXJEYXRlVG9EYXRlLCBkYXRlVG9TdHJpbmcsIGdldFN0YXJ0RGF0ZSwgc3RyaW5nVG9DYWxlbmRhckRhdGUsIHN0cmluZ1RvRGF0ZSwgZGF0ZVRvQ2FsZW5kYXJEYXl9IGZyb20gXCIuLi8uLi9zaGFyZWQvY2FsZW5kYXIudXRpbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJldmlldyhjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXk6IENhbGVuZGFyRGF0ZSk6IGJvb2xlYW4ge1xuXHRjb25zdCBjdXJyZW50ID0gY2FsZW5kYXJEYXRlVG9EYXRlKGRheSk7XG5cblx0aWYgKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgJiYgIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kICYmIGNvbXBvbmVudC5ob3ZlcmVkRGF5KSB7XG5cdFx0Y29uc3Qgc3RhcnQgPSBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCk7XG5cdFx0Y29uc3QgaG92ZXIgPSBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LmhvdmVyZWREYXkpO1xuXHRcdGlmIChob3ZlciA8PSBzdGFydCkgcmV0dXJuIGZhbHNlO1xuXHRcdHJldHVybiBjdXJyZW50ID4gc3RhcnQgJiYgY3VycmVudCA8PSBob3Zlcjtcblx0fVxuXG5cdGlmICghY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCAmJiBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCAmJiBjb21wb25lbnQuaG92ZXJlZERheSkge1xuXHRcdGNvbnN0IGVuZCA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCk7XG5cdFx0Y29uc3QgaG92ZXIgPSBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LmhvdmVyZWREYXkpO1xuXHRcdGlmIChob3ZlciA+PSBlbmQpIHJldHVybiBmYWxzZTtcblx0XHRyZXR1cm4gY3VycmVudCA8IGVuZCAmJiBjdXJyZW50ID49IGhvdmVyO1xuXHR9XG5cblx0cmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc1ByZXNlbGVjdGVkUmFuZ2VEYXRlKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQpIHtcblx0bGV0IGVuZDogRGF0ZSB8IG51bGwgPSBudWxsO1xuXHRsZXQgc3RhcnQ6IERhdGUgfCBudWxsID0gbnVsbDtcblxuXHRjb21wb25lbnQuc3RhcnREYXRlRmllbGQuZm9jdXMoKTtcblxuXHRpZiAoQXJyYXkuaXNBcnJheShjb21wb25lbnQuY29uZmlnLmluaXREYXRlKSkge1tzdGFydCwgZW5kXSA9IGNvbXBvbmVudC5jb25maWcuaW5pdERhdGU7fVxuXG4gIGlmIChzdGFydCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ID0gZGF0ZVRvQ2FsZW5kYXJEYXkoc3RhcnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuXHQgICAgY29tcG9uZW50LmVuZERhdGVGaWVsZC5mb2N1cygpO1xuXHRcdFx0Y29tcG9uZW50LnN0YXJ0RGF0ZUZpZWxkLmlucHV0VmFsdWUgPSBkYXRlVG9TdHJpbmcoc3RhcnQsIGNvbXBvbmVudC5hcHBlYXJhbmNlLmxhbmd1YWdlKTtcblx0XHR9LCAwKTtcbiAgfVxuXG4gIGlmIChlbmQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgY29tcG9uZW50LmN1cnJlbnREYXRlID0gZ2V0U3RhcnREYXRlKGVuZCk7XG4gICAgY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgPSBkYXRlVG9DYWxlbmRhckRheShlbmQpO1xuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0Y29tcG9uZW50LnN0YXJ0RGF0ZUZpZWxkLmZvY3VzKCk7XG5cdFx0XHRjb21wb25lbnQuZW5kRGF0ZUZpZWxkLmlucHV0VmFsdWUgPSBkYXRlVG9TdHJpbmcoZW5kLCBjb21wb25lbnQuYXBwZWFyYW5jZS5sYW5ndWFnZSk7XG5cdFx0fSwgMCk7XG5cbiAgfSBlbHNlIGlmIChzdGFydCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICBjb21wb25lbnQuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUoc3RhcnQpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSYW5nZVNlbGVjdGlvbkNsYXNzKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQsIGRheTogQ2FsZW5kYXJEYXRlKTogc3RyaW5nIHtcblx0Y29uc3QgY3VycmVudCA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShkYXkpO1xuXHRjb25zdCBzdGFydCA9IGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgPyBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCkgOiBudWxsO1xuXHRjb25zdCBlbmQgPSBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCA/IGNhbGVuZGFyRGF0ZVRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCkgOiBudWxsO1xuXG5cdGlmICghc3RhcnQgJiYgIWVuZCkge1xuXHRcdHJldHVybiBjb21wb25lbnQuZm9jdXNlZCA9PT0gJ3N0YXJ0JyA/ICduc2wtc3RhcnQnIDogJ25zbC1lbmQnO1xuXHR9XG5cblx0aWYgKHN0YXJ0ICYmICFlbmQpIHtcblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPT09IHN0YXJ0LmdldFRpbWUoKSkgcmV0dXJuICdzbCBzdGFydCc7XG5cdFx0aWYgKGN1cnJlbnQuZ2V0VGltZSgpIDwgc3RhcnQuZ2V0VGltZSgpKSByZXR1cm4gJ25zbC1zdGFydCc7XG5cdFx0cmV0dXJuICdpbi1zbHQgbnNsLWVuZCc7XG5cdH1cblxuXHRpZiAoIXN0YXJ0ICYmIGVuZCkge1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gZW5kLmdldFRpbWUoKSkgcmV0dXJuICdzbCBlbmQnO1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA+IGVuZC5nZXRUaW1lKCkpIHJldHVybiAnbnNsLWVuZCc7XG5cdFx0cmV0dXJuICdpbi1zbHQgbnNsLXN0YXJ0Jztcblx0fVxuXG5cdGlmIChzdGFydCAmJiBlbmQpIHtcblx0XHRpZihjdXJyZW50LmdldFRpbWUoKSA9PT0gc3RhcnQuZ2V0VGltZSgpICYmXG5cdFx0XHQgc3RhcnQuZ2V0VGltZSgpID09PSBlbmQuZ2V0VGltZSgpKVxuXHRcdFx0XHRyZXR1cm4gJ3N0YXJ0IHNsIHNhbWUtc2xuJztcblxuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gc3RhcnQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIHN0YXJ0Jztcblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPCBzdGFydC5nZXRUaW1lKCkpIHJldHVybiAnbnNsLXN0YXJ0Jztcblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPT09IGVuZC5nZXRUaW1lKCkpIHJldHVybiAnc2wgZW5kJztcblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPiBlbmQuZ2V0VGltZSgpKSByZXR1cm4gJ25zbC1lbmQnO1xuXHRcdGlmIChjdXJyZW50ID4gc3RhcnQgJiYgY3VycmVudCA8IGVuZCkgcmV0dXJuICdzbCByYW5nZSc7XG5cdFx0cmV0dXJuICdkZWZhdWx0Jztcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb25TZWxlY3REYXlzUmFuZ2UoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiB2b2lkIHtcblx0Y29uc3Qgc2VsZWN0ZWQgPSBjYWxlbmRhckRhdGVUb0RhdGUoZGF5KTtcblx0Y29uc3QgaGFzRW5kID0gISFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZDtcblx0Y29uc3QgaGFzU3RhcnQgPSAhIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQ7XG5cdGNvbnN0IGxhbmd1YWdlID0gY29tcG9uZW50LmFwcGVhcmFuY2UubGFuZ3VhZ2U7XG5cdGNvbnN0IGVuZERhdGUgPSBoYXNFbmQgPyBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpIDogbnVsbDtcblx0Y29uc3Qgc3RhcnREYXRlID0gaGFzU3RhcnQgPyBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCkgOiBudWxsO1xuXG5cdE9iamVjdC5hc3NpZ24oY29tcG9uZW50LCB7XG5cdFx0bm90aWZpY2F0aW9uOiBudWxsLFxuXHRcdGVuZERhdGVFcnJvcjogJycsIHN0YXJ0RGF0ZUVycm9yOiAnJyxcblx0XHRlbmRGaWVsZERpc2FibGVkOiBmYWxzZSwgc3RhcnRGaWVsZERpc2FibGVkOiBmYWxzZSxcblx0fSk7XG5cblx0Y29uc3QgdXBkYXRlRmllbGQgPSAoZmllbGQ6ICdzdGFydCcgfCAnZW5kJykgPT4ge1xuXHRcdGNvbXBvbmVudFtgc2VsZWN0ZWRSYW5nZSR7ZmllbGQgPT09ICdzdGFydCcgPyAnU3RhcnQnIDogJ0VuZCd9YF0gPSBkYXk7XG5cdFx0Y29tcG9uZW50W2Ake2ZpZWxkfURhdGVGaWVsZGBdLmlucHV0VmFsdWUgPSBkYXRlVG9TdHJpbmcoc2VsZWN0ZWQsIGxhbmd1YWdlKTtcblxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0Y29uc3QgZm9jdXNGaWVsZCA9IGZpZWxkID09PSAnc3RhcnQnID9cblx0XHRcdFx0KGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kID8gJ3N0YXJ0JyA6ICdlbmQnKSA6XG5cdFx0XHRcdChjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ID8gJ2VuZCcgOiAnc3RhcnQnKTtcblxuXHRcdFx0Y29tcG9uZW50W2Ake2ZvY3VzRmllbGR9RGF0ZUZpZWxkYF0uZm9jdXMoKTtcblx0XHRcdGNvbXBvbmVudFtgJHtmb2N1c0ZpZWxkfURhdGVGaWVsZGBdLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDEwLCAxMCk7XG5cdFx0fSwgMTAwKTtcblx0fTtcblxuXHRpZiAoIWhhc1N0YXJ0ICYmICFoYXNFbmQpIHtcblx0XHR1cGRhdGVGaWVsZChjb21wb25lbnQuZm9jdXNlZCk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aWYgKGhhc1N0YXJ0ICYmICFoYXNFbmQpIHtcblx0XHRzZWxlY3RlZCA+PSBzdGFydERhdGUhID8gdXBkYXRlRmllbGQoJ2VuZCcpIDogdXBkYXRlRmllbGQoJ3N0YXJ0Jyk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aWYgKCFoYXNTdGFydCAmJiBoYXNFbmQpIHtcblx0XHRzZWxlY3RlZCA8IGVuZERhdGUhID8gdXBkYXRlRmllbGQoJ3N0YXJ0JykgOiB1cGRhdGVGaWVsZCgnZW5kJyk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aWYgKGhhc1N0YXJ0ICYmIGhhc0VuZCkge1xuXHRcdHNlbGVjdGVkIDwgc3RhcnREYXRlISA/IHVwZGF0ZUZpZWxkKCdzdGFydCcpIDogdXBkYXRlRmllbGQoJ2VuZCcpO1xuXHRcdHJldHVybjtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb25BcHBseVJhZ2VEYXRlKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQpe1xuICAgIGNvbnN0IHN0YXJ0ID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQpO1xuICAgIGNvbnN0IGVuZCA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCk7XG4gICAgY29tcG9uZW50LmNhbGVuZGFyUmVzcG9uc2UuZW1pdChbc3RhcnQsIGVuZF0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb25Ib3ZlckRheShjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXk6IENhbGVuZGFyRGF0ZSk6IHZvaWQge1xuXHRjb25zdCBzdGFydFNlbGVjdGVkID0gISFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmICFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZDtcblx0Y29uc3QgZW5kU2VsZWN0ZWQgPSAhIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kICYmICFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0O1xuXHRpZiAoc3RhcnRTZWxlY3RlZCB8fCBlbmRTZWxlY3RlZCkgeyBjb21wb25lbnQuaG92ZXJlZERheSA9IGRheTsgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb25DbGVhckhvdmVyKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQpOiB2b2lkIHtcblx0Y29tcG9uZW50LmhvdmVyZWREYXkgPSBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoRGF0ZShjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXRlU3RyOiBzdHJpbmcsIHRhcmdldDogJ3N0YXJ0JyB8ICdlbmQnKTogdm9pZCB7XG5cdGNvbnN0IGkxOG4gPSBjb21wb25lbnQuaTE4bjtcblx0Y29uc3QgZGF0ZSA9IHN0cmluZ1RvRGF0ZShkYXRlU3RyLCBjb21wb25lbnQuYXBwZWFyYW5jZS5sYW5ndWFnZSk7XG5cdGNvbnN0IGNhbGVuZGFyRGF0ZSA9IHN0cmluZ1RvQ2FsZW5kYXJEYXRlKGRhdGVTdHIsIGNvbXBvbmVudC5hcHBlYXJhbmNlLmxhbmd1YWdlKTtcblx0Y29uc3QgZXJyb3JQcm9wID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gJ3N0YXJ0RGF0ZUVycm9yJyA6ICdlbmREYXRlRXJyb3InO1xuXHRjb25zdCBmaWVsZCA9IHRhcmdldCA9PT0gJ3N0YXJ0JyA/IGNvbXBvbmVudC5zdGFydERhdGVGaWVsZCA6IGNvbXBvbmVudC5lbmREYXRlRmllbGQ7XG5cdGNvbnN0IG9wcG9zaXRlRGlzYWJsZWQgPSB0YXJnZXQgPT09ICdzdGFydCcgPyAnZW5kRmllbGREaXNhYmxlZCcgOiAnc3RhcnRGaWVsZERpc2FibGVkJztcblxuXHRpZiAoIWRhdGVTdHIpIHsgY29tcG9uZW50W29wcG9zaXRlRGlzYWJsZWRdID0gZmFsc2U7IHJldHVybjsgfVxuXG5cdGlmICghY2FsZW5kYXJEYXRlKSB7XG5cdFx0ZmllbGQuZm9jdXMoKTtcblx0XHRjb21wb25lbnRbb3Bwb3NpdGVEaXNhYmxlZF0gPSB0cnVlO1xuXHRcdGNvbXBvbmVudFtlcnJvclByb3BdID0gaTE4bi5pbnZhbGlkX2RhdGU7XG5cdFx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IHsgdGV4dDogaTE4bi5zZWxlY3RfdmFsaWRfZGF0ZSwgZXJyb3I6IHRydWUgfTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRpZiAoIXZhbGlkYXRlRGF0ZUxpbWl0cyhjb21wb25lbnQsIGRhdGUsIHRhcmdldCkpIHtcblx0XHRjb21wb25lbnRbb3Bwb3NpdGVEaXNhYmxlZF0gPSB0cnVlO1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGNvbnN0IG90aGVyQ2FsZW5kYXJEYXRlID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgOiBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0O1xuXHRjb25zdCBvdGhlckRhdGUgPSBvdGhlckNhbGVuZGFyRGF0ZSA/IGNhbGVuZGFyRGF0ZVRvRGF0ZShvdGhlckNhbGVuZGFyRGF0ZSkgOiBudWxsO1xuXG5cdGlmICgodGFyZ2V0ID09PSAnc3RhcnQnICYmIG90aGVyRGF0ZSAmJiBkYXRlID4gb3RoZXJEYXRlKSB8fFxuXHRcdCh0YXJnZXQgPT09ICdlbmQnICYmIG90aGVyRGF0ZSAmJiBkYXRlIDwgb3RoZXJEYXRlKSkge1xuXHRcdGZpZWxkLmZvY3VzKCk7XG5cdFx0Y29tcG9uZW50W29wcG9zaXRlRGlzYWJsZWRdID0gdHJ1ZTtcblx0XHRjb21wb25lbnRbZXJyb3JQcm9wXSA9IGkxOG4uaW52YWxpZF9kYXRlO1xuXHRcdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSB7IHRleHQ6IHRhcmdldCA9PT0gJ3N0YXJ0JyA/IGkxOG4uc3RhcnRfYmVmb3JlX2VuZCA6IGkxOG4uZW5kX2FmdGVyX3N0YXJ0LCBlcnJvcjogdHJ1ZSB9O1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGlmICh0YXJnZXQgPT09ICdzdGFydCcpIHtcblx0XHRjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ID0gY2FsZW5kYXJEYXRlO1xuXHRcdGlmICghY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpIHNldFRpbWVvdXQoKCkgPT4gY29tcG9uZW50LmVuZERhdGVGaWVsZC5mb2N1cygpLCAxMDApO1xuXHR9IGVsc2Uge1xuXHRcdGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kID0gY2FsZW5kYXJEYXRlO1xuXHRcdGlmICghY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCkgc2V0VGltZW91dCgoKSA9PiBjb21wb25lbnQuc3RhcnREYXRlRmllbGQuZm9jdXMoKSwgMTAwKTtcblx0fVxuXG5cdGNvbXBvbmVudFtlcnJvclByb3BdID0gbnVsbDtcblx0Y29tcG9uZW50LmN1cnJlbnREYXRlID0gZGF0ZTtcblx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IG51bGw7XG5cdGNvbXBvbmVudFtvcHBvc2l0ZURpc2FibGVkXSA9IGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEYXRlTGltaXRzKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQsIGRhdGU6IERhdGUsIHRhcmdldDogJ3N0YXJ0JyB8ICdlbmQnKSA6IGJvb2xlYW4ge1xuXHRpZiAoY29tcG9uZW50LmNvbmZpZy5taW5EYXRlICYmIGRhdGUgPCBjb21wb25lbnQuY29uZmlnLm1pbkRhdGUpIHtcblx0XHRjb21wb25lbnQubm90aWZpY2F0aW9uID0geyB0ZXh0OiBjb21wb25lbnQuaTE4bi5kYXRlX3VuYXZhaWxhYmxlLCBlcnJvcjogdHJ1ZSB9O1xuXHRcdHRhcmdldCA9PT0gJ3N0YXJ0JyA/IGNvbXBvbmVudC5zdGFydERhdGVFcnJvciA9IGNvbXBvbmVudC5pMThuLmludmFsaWRfZGF0ZSA6IGNvbXBvbmVudC5lbmREYXRlRXJyb3IgPSBjb21wb25lbnQuaTE4bi5pbnZhbGlkX2RhdGU7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0aWYgKGNvbXBvbmVudC5jb25maWcubWF4RGF0ZSAmJiBkYXRlID4gY29tcG9uZW50LmNvbmZpZy5tYXhEYXRlKSB7XG5cdFx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IHsgdGV4dDogY29tcG9uZW50LmkxOG4uZGF0ZV91bmF2YWlsYWJsZSwgZXJyb3I6IHRydWUgfTtcblx0XHR0YXJnZXQgPT09ICdzdGFydCcgPyBjb21wb25lbnQuc3RhcnREYXRlRXJyb3IgPSBjb21wb25lbnQuaTE4bi5pbnZhbGlkX2RhdGUgOiBjb21wb25lbnQuZW5kRGF0ZUVycm9yID0gY29tcG9uZW50LmkxOG4uaW52YWxpZF9kYXRlO1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb25EYXRlS2V5dXAoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHRhcmdldDogJ3N0YXJ0JyB8ICdlbmQnKTogdm9pZCB7XG5cdGNvbnN0IGlnbm9yZWRLZXlzID0gWydBcnJvd1VwJywgJ0Fycm93RG93bicsICdBcnJvd0xlZnQnLCAnQXJyb3dSaWdodCcsICdFbnRlcicsICcgJywgJ1NwYWNlYmFyJ107XG5cdGlmIChpZ25vcmVkS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpKSB7IHJldHVybjsgfVxuXG5cdGNvbnN0IGVycm9yUHJvcCA9IHRhcmdldCA9PT0gJ3N0YXJ0JyA/ICdzdGFydERhdGVFcnJvcicgOiAnZW5kRGF0ZUVycm9yJztcblx0Y29uc3QgZGlzYWJsZWQgPSB0YXJnZXQgPT09ICdzdGFydCcgPyAnZW5kRmllbGREaXNhYmxlZCcgOiAnc3RhcnRGaWVsZERpc2FibGVkJztcblx0Y29uc3QgZGF0ZUlucHV0ID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gY29tcG9uZW50LnN0YXJ0RGF0ZUZpZWxkIDogY29tcG9uZW50LmVuZERhdGVGaWVsZDtcblx0Y29uc3Qgc2VsZWN0ZWRSYW5nZVByb3AgPSB0YXJnZXQgPT09ICdzdGFydCcgPyAnc2VsZWN0ZWRSYW5nZVN0YXJ0JyA6ICdzZWxlY3RlZFJhbmdlRW5kJztcblxuXHRjb25zdCB2YWx1ZSA9IGRhdGVJbnB1dD8uaW5wdXRWYWx1ZSA/PyAnJztcblxuXHRpZiAodmFsdWUubGVuZ3RoIDwgMTApIHtcblx0XHRjb21wb25lbnRbc2VsZWN0ZWRSYW5nZVByb3BdID0gbnVsbDtcblxuXHRcdGlmKCFjb21wb25lbnQubm90aWZpY2F0aW9uPy5lcnJvcikge1xuXHRcdFx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IG51bGw7XG5cdFx0fVxuXG5cdFx0aWYgKHZhbHVlLmxlbmd0aCA8IDEpIHtcblx0XHRcdGNvbXBvbmVudFtlcnJvclByb3BdID0gJyc7XG5cdFx0XHRjb21wb25lbnRbZGlzYWJsZWRdID0gZmFsc2U7XG5cdFx0XHRjb21wb25lbnQubm90aWZpY2F0aW9uID0gbnVsbDtcblx0XHR9XG5cdH1cblxuXHRpZiAodmFsdWUubGVuZ3RoID4gOSkge1xuXHRcdHNlYXJjaERhdGUodGhpcywgdmFsdWUsIHRhcmdldCk7XG5cdH1cblxufVxuIl19
@@ -1,10 +1,10 @@
1
- import { changeDate, getStartDate } from "../../shared/calendar.utils";
1
+ import { changeDate, getStartDate, isPeriodAvailable } from "../../shared/calendar.utils";
2
2
  import { Component, EventEmitter, Input, Output, } from '@angular/core';
3
3
  import { CALENDAR_I18N, MONTHS_EN, MONTHS_SHORT_EN, MONTHS_ES, MONTHS_SHORT_ES } from "../../shared/calendar.constants";
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  import * as i2 from "../../../gravity-button/gravity-button.component";
7
- import * as i3 from "../../../gravity-icon/gravity-icon.component";
7
+ import * as i3 from "../../../gravity-icon-button/gravity-icon-button.component";
8
8
  import * as i4 from "../../../gravity-link/gravity-link.component";
9
9
  import * as i5 from "../../../gravity-dropdown-label/gravity-dropdown-label.component";
10
10
  export class MonthCalendarComponent {
@@ -15,6 +15,7 @@ export class MonthCalendarComponent {
15
15
  this.calendarResponse = new EventEmitter();
16
16
  this.currentDate = new Date();
17
17
  this.changeDate = changeDate;
18
+ this.isPeriodAvailable = isPeriodAvailable;
18
19
  }
19
20
  get i18n() { return CALENDAR_I18N[this.appearance.language]; }
20
21
  get monthsList() { return this.appearance.language === 'en' ? MONTHS_EN : MONTHS_ES; }
@@ -45,11 +46,24 @@ export class MonthCalendarComponent {
45
46
  return;
46
47
  }
47
48
  getMonthSelectionClass(month) {
48
- if (this.selectedMonth && this.selectedMonth.month === month.month &&
49
- this.selectedMonth.year === month.year) {
50
- return 'selected';
49
+ const classes = [];
50
+ const { minDate, maxDate } = this.config ?? {};
51
+ const firstDay = new Date(month.year, month.month, 1);
52
+ const lastDay = new Date(month.year, month.month + 1, 0);
53
+ let isDisabled = false;
54
+ if (minDate && lastDay < minDate) {
55
+ isDisabled = true;
51
56
  }
52
- return '';
57
+ if (maxDate && firstDay > maxDate) {
58
+ isDisabled = true;
59
+ }
60
+ if (isDisabled) {
61
+ classes.push('disabled');
62
+ }
63
+ if (this.selectedMonth && this.selectedMonth.month === month.month && this.selectedMonth.year === month.year) {
64
+ classes.push('selected');
65
+ }
66
+ return classes.join(' ');
53
67
  }
54
68
  isCurrentMonth(month) {
55
69
  if (new Date().getMonth() === month.month &&
@@ -73,12 +87,14 @@ export class MonthCalendarComponent {
73
87
  return months;
74
88
  }
75
89
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MonthCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MonthCalendarComponent, selector: "month-calendar", inputs: { initDate: "initDate", restart: "restart", appearance: "appearance", integratedMode: "integratedMode" }, outputs: { clearSelection: "clearSelection", calendarResponse: "response" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"gravity-calendar-header\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"header-container\">\n <div *ngIf=\"!integratedMode\" class=\"previous-button\" (click)=\"currentDate = changeDate(-1, currentDate, false)\">\n <gravity-icon *ngIf=\"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=\"year-label\">\n <gravity-dropdown-label [state]=\"integratedMode && appearance.state !== 'disabled' ? 'active' : 'inactive'\" [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\"\n [label]=\"integratedMode ? monthsList[currentDate.getMonth()] : currentDate.getFullYear().toString()\"\n [isOpen]=\"integratedMode\" (onClickLabel)=\"calendarResponse.emit(currentDate)\" > </gravity-dropdown-label>\n </div>\n\n <div *ngIf=\"!integratedMode\" class=\"next-button\" (click)=\"currentDate = changeDate(1, currentDate, false)\">\n <gravity-icon *ngIf=\"appearance.state !== 'disabled'\" [style.--icon-color]=\"'var(--text-highlight-primary)'\"\n [iconName]=\"'arrow-right'\" [iconSize]=\"'sm-12'\"> </gravity-icon>\n </div>\n </div>\n\n <div class=\"separator-line\"></div>\n</section>\n\n<section class=\"gravity-calendar-body\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"items-table\">\n <span class=\"hr-body sm-regular item\" *ngFor=\"let month of getYearMonthsList(), trackBy: trackByMonth\"\n [ngClass]=\"appearance.state === 'disabled' ? 'disabled' : getMonthSelectionClass(month)\" (click)=\"onSelectMonth(month)\"\n [class.current]=\"isCurrentMonth(month)\"> {{ monthsShortList[month.month] }} </span>\n </div>\n\n <div *ngIf=\"appearance.actions\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"!selectedMonth ? 'disabled' : 'active'\" (click)=\"clearSelectedMonth()\"></gravity-link>\n <gravity-button [size]=\"'sm'\" [type]=\"'tertiary'\" [disabled]=\"!selectedMonth\" (click)=\"applySelectedMonth()\">{{i18n.apply}}</gravity-button>\n </div>\n</section>", 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{width:215px;height:40px;display:flex;align-self:stretch;align-items:center;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);padding-top:var(--gravity-spacing-xs)}.gravity-calendar-header .header-container{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-calendar-header .separator-line{width:215px}.gravity-calendar-header.mobile,.gravity-calendar-header.mobile .separator-line{width:100%}.gravity-calendar-body{width:215px;display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);margin-top:var(--gravity-spacing-sm)}.gravity-calendar-body .items-table{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--gravity-spacing-sm)}.gravity-calendar-body .items-table .item{width:37px;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 .items-table .item.current{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-body .items-table .item:not(.disabled):not(.selected):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .items-table .item.selected{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-body .items-table .item.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-body.mobile{width:100%}.gravity-calendar-body.mobile .items-table{gap:var(--gravity-spacing-md) var(--gravity-spacing-sm)}.gravity-calendar-body.mobile .items-table .item{width:70px;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"] }] }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MonthCalendarComponent, selector: "month-calendar", inputs: { config: "config", initDate: "initDate", restart: "restart", appearance: "appearance", integratedMode: "integratedMode" }, outputs: { clearSelection: "clearSelection", calendarResponse: "response" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"gravity-calendar-header\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"header-container\">\n\n <gravity-icon-button *ngIf=\"!integratedMode\"\n [size]=\"'sm'\"\n [type]=\"'primary'\"\n [icon]=\"'arrow-left'\"\n [supportText]=\"i18n.preview_year\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, false)\"\n [state]=\"(appearance.state !== 'disabled') && isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"year-label\">\n <gravity-dropdown-label\n [size]=\"'sm'\"\n [fontClass]=\"'hr-title sm-bold'\"\n [state]=\"integratedMode && appearance.state !== 'disabled' ? 'active' : 'inactive'\"\n [label]=\"integratedMode ? monthsList[currentDate.getMonth()] : currentDate.getFullYear().toString()\"\n [isOpen]=\"integratedMode\" (onClickLabel)=\"calendarResponse.emit(currentDate)\" > </gravity-dropdown-label>\n </div>\n\n <gravity-icon-button *ngIf=\"!integratedMode\"\n [size]=\"'sm'\"\n [type]=\"'primary'\"\n [icon]=\"'arrow-right'\"\n [supportText]=\"i18n.next_year\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, false)\"\n [state]=\"(appearance.state !== 'disabled') && isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </div>\n\n <div class=\"separator-line\"></div>\n</section>\n\n<section class=\"gravity-calendar-body\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"items-table\">\n <span class=\"hr-body sm-regular item\" *ngFor=\"let month of getYearMonthsList(), trackBy: trackByMonth\"\n [ngClass]=\"appearance.state === 'disabled' ? 'disabled' : getMonthSelectionClass(month)\" (click)=\"onSelectMonth(month)\"\n [class.current]=\"isCurrentMonth(month)\"> {{ monthsShortList[month.month] }} </span>\n </div>\n\n <div *ngIf=\"appearance.actions\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"!selectedMonth ? 'disabled' : 'active'\" (click)=\"clearSelectedMonth()\"/>\n <gravity-button [size]=\"'sm'\" [type]=\"'tertiary'\" [disabled]=\"!selectedMonth\" (click)=\"applySelectedMonth()\">{{i18n.apply}}</gravity-button>\n </div>\n</section>", 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{width:215px;height:40px;display:flex;align-self:stretch;align-items:center;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);padding-top:var(--gravity-spacing-xs)}.gravity-calendar-header .header-container{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-calendar-header .separator-line{width:215px}.gravity-calendar-header.mobile,.gravity-calendar-header.mobile .separator-line{width:100%}.gravity-calendar-body{width:215px;display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);margin-top:var(--gravity-spacing-sm)}.gravity-calendar-body .items-table{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--gravity-spacing-sm)}.gravity-calendar-body .items-table .item{width:37px;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 .items-table .item.current{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-body .items-table .item:not(.disabled):not(.selected):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .items-table .item.selected{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-body .items-table .item.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-body.mobile{width:100%}.gravity-calendar-body.mobile .items-table{gap:var(--gravity-spacing-md) var(--gravity-spacing-sm)}.gravity-calendar-body.mobile .items-table .item{width:70px;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.GravityIconButtonComponent, selector: "gravity-icon-button", inputs: ["cypressTag", "icon", "supportText", "variant", "size", "type", "state", "badge"], outputs: ["clickOnIcon"] }, { 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"] }] }); }
77
91
  }
78
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MonthCalendarComponent, decorators: [{
79
93
  type: Component,
80
- args: [{ selector: 'month-calendar', template: "<section class=\"gravity-calendar-header\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"header-container\">\n <div *ngIf=\"!integratedMode\" class=\"previous-button\" (click)=\"currentDate = changeDate(-1, currentDate, false)\">\n <gravity-icon *ngIf=\"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=\"year-label\">\n <gravity-dropdown-label [state]=\"integratedMode && appearance.state !== 'disabled' ? 'active' : 'inactive'\" [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\"\n [label]=\"integratedMode ? monthsList[currentDate.getMonth()] : currentDate.getFullYear().toString()\"\n [isOpen]=\"integratedMode\" (onClickLabel)=\"calendarResponse.emit(currentDate)\" > </gravity-dropdown-label>\n </div>\n\n <div *ngIf=\"!integratedMode\" class=\"next-button\" (click)=\"currentDate = changeDate(1, currentDate, false)\">\n <gravity-icon *ngIf=\"appearance.state !== 'disabled'\" [style.--icon-color]=\"'var(--text-highlight-primary)'\"\n [iconName]=\"'arrow-right'\" [iconSize]=\"'sm-12'\"> </gravity-icon>\n </div>\n </div>\n\n <div class=\"separator-line\"></div>\n</section>\n\n<section class=\"gravity-calendar-body\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"items-table\">\n <span class=\"hr-body sm-regular item\" *ngFor=\"let month of getYearMonthsList(), trackBy: trackByMonth\"\n [ngClass]=\"appearance.state === 'disabled' ? 'disabled' : getMonthSelectionClass(month)\" (click)=\"onSelectMonth(month)\"\n [class.current]=\"isCurrentMonth(month)\"> {{ monthsShortList[month.month] }} </span>\n </div>\n\n <div *ngIf=\"appearance.actions\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"!selectedMonth ? 'disabled' : 'active'\" (click)=\"clearSelectedMonth()\"></gravity-link>\n <gravity-button [size]=\"'sm'\" [type]=\"'tertiary'\" [disabled]=\"!selectedMonth\" (click)=\"applySelectedMonth()\">{{i18n.apply}}</gravity-button>\n </div>\n</section>", 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{width:215px;height:40px;display:flex;align-self:stretch;align-items:center;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);padding-top:var(--gravity-spacing-xs)}.gravity-calendar-header .header-container{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-calendar-header .separator-line{width:215px}.gravity-calendar-header.mobile,.gravity-calendar-header.mobile .separator-line{width:100%}.gravity-calendar-body{width:215px;display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);margin-top:var(--gravity-spacing-sm)}.gravity-calendar-body .items-table{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--gravity-spacing-sm)}.gravity-calendar-body .items-table .item{width:37px;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 .items-table .item.current{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-body .items-table .item:not(.disabled):not(.selected):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .items-table .item.selected{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-body .items-table .item.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-body.mobile{width:100%}.gravity-calendar-body.mobile .items-table{gap:var(--gravity-spacing-md) var(--gravity-spacing-sm)}.gravity-calendar-body.mobile .items-table .item{width:70px;height:43px}\n"] }]
81
- }], propDecorators: { initDate: [{
94
+ args: [{ selector: 'month-calendar', template: "<section class=\"gravity-calendar-header\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"header-container\">\n\n <gravity-icon-button *ngIf=\"!integratedMode\"\n [size]=\"'sm'\"\n [type]=\"'primary'\"\n [icon]=\"'arrow-left'\"\n [supportText]=\"i18n.preview_year\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, false)\"\n [state]=\"(appearance.state !== 'disabled') && isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"year-label\">\n <gravity-dropdown-label\n [size]=\"'sm'\"\n [fontClass]=\"'hr-title sm-bold'\"\n [state]=\"integratedMode && appearance.state !== 'disabled' ? 'active' : 'inactive'\"\n [label]=\"integratedMode ? monthsList[currentDate.getMonth()] : currentDate.getFullYear().toString()\"\n [isOpen]=\"integratedMode\" (onClickLabel)=\"calendarResponse.emit(currentDate)\" > </gravity-dropdown-label>\n </div>\n\n <gravity-icon-button *ngIf=\"!integratedMode\"\n [size]=\"'sm'\"\n [type]=\"'primary'\"\n [icon]=\"'arrow-right'\"\n [supportText]=\"i18n.next_year\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, false)\"\n [state]=\"(appearance.state !== 'disabled') && isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </div>\n\n <div class=\"separator-line\"></div>\n</section>\n\n<section class=\"gravity-calendar-body\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"items-table\">\n <span class=\"hr-body sm-regular item\" *ngFor=\"let month of getYearMonthsList(), trackBy: trackByMonth\"\n [ngClass]=\"appearance.state === 'disabled' ? 'disabled' : getMonthSelectionClass(month)\" (click)=\"onSelectMonth(month)\"\n [class.current]=\"isCurrentMonth(month)\"> {{ monthsShortList[month.month] }} </span>\n </div>\n\n <div *ngIf=\"appearance.actions\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"!selectedMonth ? 'disabled' : 'active'\" (click)=\"clearSelectedMonth()\"/>\n <gravity-button [size]=\"'sm'\" [type]=\"'tertiary'\" [disabled]=\"!selectedMonth\" (click)=\"applySelectedMonth()\">{{i18n.apply}}</gravity-button>\n </div>\n</section>", 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{width:215px;height:40px;display:flex;align-self:stretch;align-items:center;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);padding-top:var(--gravity-spacing-xs)}.gravity-calendar-header .header-container{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-calendar-header .separator-line{width:215px}.gravity-calendar-header.mobile,.gravity-calendar-header.mobile .separator-line{width:100%}.gravity-calendar-body{width:215px;display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);margin-top:var(--gravity-spacing-sm)}.gravity-calendar-body .items-table{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--gravity-spacing-sm)}.gravity-calendar-body .items-table .item{width:37px;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 .items-table .item.current{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-body .items-table .item:not(.disabled):not(.selected):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .items-table .item.selected{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-body .items-table .item.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-body.mobile{width:100%}.gravity-calendar-body.mobile .items-table{gap:var(--gravity-spacing-md) var(--gravity-spacing-sm)}.gravity-calendar-body.mobile .items-table .item{width:70px;height:43px}\n"] }]
95
+ }], propDecorators: { config: [{
96
+ type: Input
97
+ }], initDate: [{
82
98
  type: Input
83
99
  }], restart: [{
84
100
  type: Input
@@ -92,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
92
108
  type: Output,
93
109
  args: ['response']
94
110
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLW5leHQvY29tcG9uZW50cy9tb250aC1jYWxlbmRhci9tb250aC1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL21vbnRoLWNhbGVuZGFyL21vbnRoLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sR0FBaUIsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQU90SCxNQUFNLE9BQU8sc0JBQXNCO0lBTG5DO1FBT29CLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFL0IsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFdEcsZ0JBQVcsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBdUVuQixlQUFVLEdBQUcsVUFBVSxDQUFDO0tBQzlDO0lBckVHLElBQVcsSUFBSSxLQUFLLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFV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RUFBRSxDQUFDO1FBRXBDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEVBQUMsQ0FBQyxDQUFDO1NBQ2pFO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzsrR0E5RVEsc0JBQXNCO21HQUF0QixzQkFBc0IsMFFDVm5DLG94RUFpQ1U7OzRGRHZCRyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQUtSLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBRVcsY0FBYztzQkFBOUIsTUFBTTtnQkFDb0IsZ0JBQWdCO3NCQUExQyxNQUFNO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NhbGVuZGFyQXBwZWFyYW5jZSwgQ2FsZW5kYXJQZXJpb2R9IGZyb20gXCIuLi8uLi9zaGFyZWQvY2FsZW5kYXIubW9kYWxcIjtcbmltcG9ydCB7Y2hhbmdlRGF0ZSwgZ2V0U3RhcnREYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLnV0aWxzXCI7XG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q0FMRU5EQVJfSTE4TiwgTU9OVEhTX0VOLCBNT05USFNfU0hPUlRfRU4sIE1PTlRIU19FUywgTU9OVEhTX1NIT1JUX0VTfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLmNvbnN0YW50c1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb250aC1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb250aC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vbnRoLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTW9udGhDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgcHVibGljIGluaXREYXRlOiBEYXRlIHwgRGF0ZVtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByZXN0YXJ0OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGFwcGVhcmFuY2U6IENhbGVuZGFyQXBwZWFyYW5jZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaW50ZWdyYXRlZE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJTZWxlY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCdyZXNwb25zZScpIHB1YmxpYyBjYWxlbmRhclJlc3BvbnNlOiBFdmVudEVtaXR0ZXI8RGF0ZVtdIHwgRGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+KCk7XG5cbiAgICBwdWJsaWMgY3VycmVudERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHB1YmxpYyBzZWxlY3RlZE1vbnRoOiBDYWxlbmRhclBlcmlvZDtcblxuICAgIHB1YmxpYyBnZXQgaTE4bigpIHsgcmV0dXJuIENBTEVOREFSX0kxOE5bdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlXTsgfVxuICAgIHB1YmxpYyBnZXQgbW9udGhzTGlzdCgpIHsgcmV0dXJuIHRoaXMuYXBwZWFyYW5jZS5sYW5ndWFnZSA9PT0gJ2VuJyA/IE1PTlRIU19FTiA6IE1PTlRIU19FUzsgfVxuICAgIHB1YmxpYyBnZXQgbW9udGhzU2hvcnRMaXN0KCkgeyByZXR1cm4gdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlID09PSAnZW4nID8gTU9OVEhTX1NIT1JUX0VOIDogTU9OVEhTX1NIT1JUX0VTOyB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNob3VsZFJlc3RhcnQgPSBjaGFuZ2VzWydyZXN0YXJ0J10gJiYgdGhpcy5yZXN0YXJ0O1xuICAgICAgICBjb25zdCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQgPSBjaGFuZ2VzWydwcmVTZWxlY3RlZERhdGUnXSAmJiB0aGlzLmluaXREYXRlO1xuICAgICAgICBpZiAoc2hvdWxkUmVzdGFydCB8fCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQpIHsgdGhpcy5wcm9jZXNzSW5pdERhdGUoKTsgfVxuICAgIH1cblxuICAgIHB1YmxpYyB0cmFja0J5TW9udGgoXzogbnVtYmVyLCBtb250aDogQ2FsZW5kYXJQZXJpb2QpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7bW9udGgueWVhcn0tJHttb250aC5tb250aH1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0luaXREYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbml0RGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUodGhpcy5pbml0RGF0ZSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGggPSB7XG4gICAgICAgICAgICAgICAgbW9udGg6IHRoaXMuaW5pdERhdGUuZ2V0TW9udGgoKSxcbiAgICAgICAgICAgICAgICB5ZWFyOiB0aGlzLmluaXREYXRlLmdldEZ1bGxZZWFyKClcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3RNb250aChtb250aDogQ2FsZW5kYXJQZXJpb2QpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoID0gbW9udGg7XG4gICAgICAgIHRoaXMuY3VycmVudERhdGUgPSBuZXcgRGF0ZShtb250aC55ZWFyLCBtb250aC5tb250aCwgMSk7XG4gICAgICAgIHRoaXMuY2FsZW5kYXJSZXNwb25zZS5lbWl0KHRoaXMuY3VycmVudERhdGUpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1vbnRoU2VsZWN0aW9uQ2xhc3MobW9udGg6IENhbGVuZGFyUGVyaW9kKTogc3RyaW5nIHtcblxuICAgICAgIGlmKHRoaXMuc2VsZWN0ZWRNb250aCAmJiB0aGlzLnNlbGVjdGVkTW9udGgubW9udGggPT09IG1vbnRoLm1vbnRoICYmXG4gICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aC55ZWFyID09PSBtb250aC55ZWFyKSB7XG4gICAgICAgICAgIHJldHVybiAnc2VsZWN0ZWQnXG4gICAgICAgfVxuXG4gICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0N1cnJlbnRNb250aChtb250aDogQ2FsZW5kYXJQZXJpb2QpIHtcbiAgICAgICAgaWYobmV3IERhdGUoKS5nZXRNb250aCgpID09PSBtb250aC5tb250aCAmJlxuICAgICAgICAgICAgbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpID09PSBtb250aC55ZWFyKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhclNlbGVjdGVkTW9udGgoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IG51bGw7XG4gICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24uZW1pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhcHBseVNlbGVjdGVkTW9udGgoKSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkTW9udGgueWVhciwgdGhpcy5zZWxlY3RlZE1vbnRoLm1vbnRoKVxuICAgICAgICB0aGlzLmNhbGVuZGFyUmVzcG9uc2UuZW1pdChkYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0WWVhck1vbnRoc0xpc3QoKTogQ2FsZW5kYXJQZXJpb2RbXSB7XG4gICAgICAgIGNvbnN0IG1vbnRoczogQ2FsZW5kYXJQZXJpb2RbXSA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTI7IGkrKykge1xuICAgICAgICAgICAgbW9udGhzLnB1c2goe21vbnRoOiBpLCB5ZWFyOiB0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCl9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtb250aHM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURhdGUgPSBjaGFuZ2VEYXRlO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJncmF2aXR5LWNhbGVuZGFyLWhlYWRlclwiIFtjbGFzcy5tb2JpbGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaW50ZWdyYXRlZE1vZGVcIiBjbGFzcz1cInByZXZpb3VzLWJ1dHRvblwiIChjbGljayk9XCJjdXJyZW50RGF0ZSA9IGNoYW5nZURhdGUoLTEsIGN1cnJlbnREYXRlLCBmYWxzZSlcIj5cbiAgICAgICAgICAgIDxncmF2aXR5LWljb24gKm5nSWY9XCJhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnXCIgW3N0eWxlLi0taWNvbi1jb2xvcl09XCIndmFyKC0tdGV4dC1oaWdobGlnaHQtcHJpbWFyeSknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cIidhcnJvdy1sZWZ0J1wiIFtpY29uU2l6ZV09XCInc20tMTInXCIgPiA8L2dyYXZpdHktaWNvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInllYXItbGFiZWxcIj5cbiAgICAgICAgICAgIDxncmF2aXR5LWRyb3Bkb3duLWxhYmVsIFtzdGF0ZV09XCJpbnRlZ3JhdGVkTW9kZSAmJiBhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnID8gJ2FjdGl2ZScgOiAnaW5hY3RpdmUnXCIgW2ZvbnRDbGFzc109XCInaHItdGl0bGUgc20tYm9sZCdcIiBbc2l6ZV09XCInc20nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpbnRlZ3JhdGVkTW9kZSA/IG1vbnRoc0xpc3RbY3VycmVudERhdGUuZ2V0TW9udGgoKV0gOiBjdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzT3Blbl09XCJpbnRlZ3JhdGVkTW9kZVwiIChvbkNsaWNrTGFiZWwpPVwiY2FsZW5kYXJSZXNwb25zZS5lbWl0KGN1cnJlbnREYXRlKVwiID4gPC9ncmF2aXR5LWRyb3Bkb3duLWxhYmVsPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWludGVncmF0ZWRNb2RlXCIgY2xhc3M9XCJuZXh0LWJ1dHRvblwiIChjbGljayk9XCJjdXJyZW50RGF0ZSA9IGNoYW5nZURhdGUoMSwgY3VycmVudERhdGUsIGZhbHNlKVwiPlxuICAgICAgICAgICAgPGdyYXZpdHktaWNvbiAqbmdJZj1cImFwcGVhcmFuY2Uuc3RhdGUgIT09ICdkaXNhYmxlZCdcIiBbc3R5bGUuLS1pY29uLWNvbG9yXT1cIid2YXIoLS10ZXh0LWhpZ2hsaWdodC1wcmltYXJ5KSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiJ2Fycm93LXJpZ2h0J1wiIFtpY29uU2l6ZV09XCInc20tMTInXCI+IDwvZ3Jhdml0eS1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3ItbGluZVwiPjwvZGl2PlxuPC9zZWN0aW9uPlxuXG48c2VjdGlvbiBjbGFzcz1cImdyYXZpdHktY2FsZW5kYXItYm9keVwiIFtjbGFzcy5tb2JpbGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtcy10YWJsZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaHItYm9keSBzbS1yZWd1bGFyIGl0ZW1cIiAqbmdGb3I9XCJsZXQgbW9udGggb2YgZ2V0WWVhck1vbnRoc0xpc3QoKSwgdHJhY2tCeTogdHJhY2tCeU1vbnRoXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJhcHBlYXJhbmNlLnN0YXRlID09PSAnZGlzYWJsZWQnID8gJ2Rpc2FibGVkJyA6IGdldE1vbnRoU2VsZWN0aW9uQ2xhc3MobW9udGgpXCIgKGNsaWNrKT1cIm9uU2VsZWN0TW9udGgobW9udGgpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuY3VycmVudF09XCJpc0N1cnJlbnRNb250aChtb250aClcIj4ge3sgbW9udGhzU2hvcnRMaXN0W21vbnRoLm1vbnRoXSB9fSA8L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiYXBwZWFyYW5jZS5hY3Rpb25zXCIgY2xhc3M9XCJhY3Rpb24tc2VjdGlvblwiID5cbiAgICAgICAgPGdyYXZpdHktbGluayBbbGlua1RleHRdPVwiaTE4bi5jbGVhclwiIFtzdGF0ZV09XCIhc2VsZWN0ZWRNb250aCA/ICdkaXNhYmxlZCcgOiAnYWN0aXZlJ1wiIChjbGljayk9XCJjbGVhclNlbGVjdGVkTW9udGgoKVwiPjwvZ3Jhdml0eS1saW5rPlxuICAgICAgICA8Z3Jhdml0eS1idXR0b24gW3NpemVdPVwiJ3NtJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIiBbZGlzYWJsZWRdPVwiIXNlbGVjdGVkTW9udGhcIiAoY2xpY2spPVwiYXBwbHlTZWxlY3RlZE1vbnRoKClcIj57e2kxOG4uYXBwbHl9fTwvZ3Jhdml0eS1idXR0b24+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+Il19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLW5leHQvY29tcG9uZW50cy9tb250aC1jYWxlbmRhci9tb250aC1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL21vbnRoLWNhbGVuZGFyL21vbnRoLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDeEYsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sR0FBaUIsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQU90SCxNQUFNLE9BQU8sc0JBQXNCO0lBTG5DO1FBUWtCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFL0IsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFdEcsZ0JBQVcsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBZ0ZuQixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3pCLHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO0tBQ3pEO0lBL0VDLElB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QjtrQkFMbEMsU0FBUzsrQkFDRSxnQkFBZ0I7OEJBS1gsTUFBTTtzQkFBckIsS0FBSztnQkFDVyxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUVXLGNBQWM7c0JBQTlCLE1BQU07Z0JBQ29CLGdCQUFnQjtzQkFBMUMsTUFBTTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDYWxlbmRhckFwcGVhcmFuY2UsIENhbGVuZGFyQ29uZmlnLCBDYWxlbmRhclBlcmlvZH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9jYWxlbmRhci5tb2RhbFwiO1xuaW1wb3J0IHtjaGFuZ2VEYXRlLCBnZXRTdGFydERhdGUsIGlzUGVyaW9kQXZhaWxhYmxlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLnV0aWxzXCI7XG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q0FMRU5EQVJfSTE4TiwgTU9OVEhTX0VOLCBNT05USFNfU0hPUlRfRU4sIE1PTlRIU19FUywgTU9OVEhTX1NIT1JUX0VTfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLmNvbnN0YW50c1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb250aC1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb250aC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vbnRoLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTW9udGhDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cdEBJbnB1dCgpIHB1YmxpYyBjb25maWc6IENhbGVuZGFyQ29uZmlnO1xuICBASW5wdXQoKSBwdWJsaWMgaW5pdERhdGU6IERhdGUgfCBEYXRlW107XG4gIEBJbnB1dCgpIHB1YmxpYyByZXN0YXJ0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBhcHBlYXJhbmNlOiBDYWxlbmRhckFwcGVhcmFuY2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbnRlZ3JhdGVkTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJTZWxlY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgncmVzcG9uc2UnKSBwdWJsaWMgY2FsZW5kYXJSZXNwb25zZTogRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPigpO1xuXG4gIHB1YmxpYyBjdXJyZW50RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHB1YmxpYyBzZWxlY3RlZE1vbnRoOiBDYWxlbmRhclBlcmlvZDtcblxuICBwdWJsaWMgZ2V0IGkxOG4oKSB7IHJldHVybiBDQUxFTkRBUl9JMThOW3RoaXMuYXBwZWFyYW5jZS5sYW5ndWFnZV07IH1cbiAgcHVibGljIGdldCBtb250aHNMaXN0KCkgeyByZXR1cm4gdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlID09PSAnZW4nID8gTU9OVEhTX0VOIDogTU9OVEhTX0VTOyB9XG4gIHB1YmxpYyBnZXQgbW9udGhzU2hvcnRMaXN0KCkgeyByZXR1cm4gdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlID09PSAnZW4nID8gTU9OVEhTX1NIT1JUX0VOIDogTU9OVEhTX1NIT1JUX0VTOyB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHNob3VsZFJlc3RhcnQgPSBjaGFuZ2VzWydyZXN0YXJ0J10gJiYgdGhpcy5yZXN0YXJ0O1xuICAgIGNvbnN0IHNob3VsZFByb2Nlc3NQcmVTZWxlY3RlZCA9IGNoYW5nZXNbJ3ByZVNlbGVjdGVkRGF0ZSddICYmIHRoaXMuaW5pdERhdGU7XG4gICAgaWYgKHNob3VsZFJlc3RhcnQgfHwgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkKSB7IHRoaXMucHJvY2Vzc0luaXREYXRlKCk7IH1cbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5TW9udGgoXzogbnVtYmVyLCBtb250aDogQ2FsZW5kYXJQZXJpb2QpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHttb250aC55ZWFyfS0ke21vbnRoLm1vbnRofWA7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NJbml0RGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbml0RGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHRoaXMuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUodGhpcy5pbml0RGF0ZSk7XG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGggPSB7XG4gICAgICAgIG1vbnRoOiB0aGlzLmluaXREYXRlLmdldE1vbnRoKCksXG4gICAgICAgIHllYXI6IHRoaXMuaW5pdERhdGUuZ2V0RnVsbFllYXIoKVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RNb250aChtb250aDogQ2FsZW5kYXJQZXJpb2QpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9udGggPSBtb250aDtcbiAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUobW9udGgueWVhciwgbW9udGgubW9udGgsIDEpO1xuICAgIHRoaXMuY2FsZW5kYXJSZXNwb25zZS5lbWl0KHRoaXMuY3VycmVudERhdGUpO1xuICAgIHJldHVybjtcbiAgfVxuXG5cdHB1YmxpYyBnZXRNb250aFNlbGVjdGlvbkNsYXNzKG1vbnRoOiBDYWxlbmRhclBlcmlvZCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblx0XHRjb25zdCB7IG1pbkRhdGUsIG1heERhdGUgfSA9IHRoaXMuY29uZmlnID8/IHt9O1xuXHRcdGNvbnN0IGZpcnN0RGF5ID0gbmV3IERhdGUobW9udGgueWVhciwgbW9udGgubW9udGgsIDEpO1xuXHRcdGNvbnN0IGxhc3REYXkgPSBuZXcgRGF0ZShtb250aC55ZWFyLCBtb250aC5tb250aCArIDEsIDApO1xuXG5cdFx0bGV0IGlzRGlzYWJsZWQgPSBmYWxzZTtcblx0XHRpZiAobWluRGF0ZSAmJiBsYXN0RGF5IDwgbWluRGF0ZSkgeyBpc0Rpc2FibGVkID0gdHJ1ZTsgfVxuXHRcdGlmIChtYXhEYXRlICYmIGZpcnN0RGF5ID4gbWF4RGF0ZSkgeyBpc0Rpc2FibGVkID0gdHJ1ZTsgfVxuXHRcdGlmIChpc0Rpc2FibGVkKSB7IGNsYXNzZXMucHVzaCgnZGlzYWJsZWQnKTsgfVxuXG5cdFx0aWYgKHRoaXMuc2VsZWN0ZWRNb250aCAmJiB0aGlzLnNlbGVjdGVkTW9udGgubW9udGggPT09IG1vbnRoLm1vbnRoICYmIHRoaXMuc2VsZWN0ZWRNb250aC55ZWFyID09PSBtb250aC55ZWFyKSB7XG5cdFx0XHRjbGFzc2VzLnB1c2goJ3NlbGVjdGVkJyk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNsYXNzZXMuam9pbignICcpO1xuXHR9XG5cblxuXHRwdWJsaWMgaXNDdXJyZW50TW9udGgobW9udGg6IENhbGVuZGFyUGVyaW9kKSB7XG4gICAgaWYobmV3IERhdGUoKS5nZXRNb250aCgpID09PSBtb250aC5tb250aCAmJlxuICAgICAgbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpID09PSBtb250aC55ZWFyKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZWxlY3RlZE1vbnRoKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IG51bGw7XG4gICAgdGhpcy5jbGVhclNlbGVjdGlvbi5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlTZWxlY3RlZE1vbnRoKCkge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkTW9udGgueWVhciwgdGhpcy5zZWxlY3RlZE1vbnRoLm1vbnRoKVxuICAgIHRoaXMuY2FsZW5kYXJSZXNwb25zZS5lbWl0KGRhdGUpO1xuICB9XG5cbiAgcHVibGljIGdldFllYXJNb250aHNMaXN0KCk6IENhbGVuZGFyUGVyaW9kW10ge1xuICAgIGNvbnN0IG1vbnRoczogQ2FsZW5kYXJQZXJpb2RbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMjsgaSsrKSB7XG4gICAgICBtb250aHMucHVzaCh7bW9udGg6IGksIHllYXI6IHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKX0pO1xuICAgIH1cblxuICAgIHJldHVybiBtb250aHM7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGF0ZSA9IGNoYW5nZURhdGU7XG5cdHByb3RlY3RlZCByZWFkb25seSBpc1BlcmlvZEF2YWlsYWJsZSA9IGlzUGVyaW9kQXZhaWxhYmxlO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJncmF2aXR5LWNhbGVuZGFyLWhlYWRlclwiIFtjbGFzcy5tb2JpbGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZVwiPlxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWNvbnRhaW5lclwiPlxuXG4gICAgPGdyYXZpdHktaWNvbi1idXR0b24gKm5nSWY9XCIhaW50ZWdyYXRlZE1vZGVcIlxuICAgICBbc2l6ZV09XCInc20nXCJcbiAgICAgW3R5cGVdPVwiJ3ByaW1hcnknXCJcbiAgICAgW2ljb25dPVwiJ2Fycm93LWxlZnQnXCJcbiAgICAgW3N1cHBvcnRUZXh0XT1cImkxOG4ucHJldmlld195ZWFyXCJcbiAgICAgKGNsaWNrT25JY29uKT1cImN1cnJlbnREYXRlID0gY2hhbmdlRGF0ZSgtMSwgY3VycmVudERhdGUsIGZhbHNlKVwiXG4gICAgIFtzdGF0ZV09XCIoYXBwZWFyYW5jZS5zdGF0ZSAhPT0gJ2Rpc2FibGVkJykgJiYgaXNQZXJpb2RBdmFpbGFibGUoY3VycmVudERhdGUsIGNvbmZpZy5taW5EYXRlLCAnbW9udGgnLCAncHJldicpID8gJ2FjdGl2ZScgOiAnZGlzYWJsZWQnXCIvPlxuXG4gICAgPGRpdiBjbGFzcz1cInllYXItbGFiZWxcIj5cbiAgICAgIDxncmF2aXR5LWRyb3Bkb3duLWxhYmVsXG4gICAgICAgIFtzaXplXT1cIidzbSdcIlxuICAgICAgICBbZm9udENsYXNzXT1cIidoci10aXRsZSBzbS1ib2xkJ1wiXG4gICAgICAgIFtzdGF0ZV09XCJpbnRlZ3JhdGVkTW9kZSAmJiBhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnID8gJ2FjdGl2ZScgOiAnaW5hY3RpdmUnXCJcbiAgICAgICAgW2xhYmVsXT1cImludGVncmF0ZWRNb2RlID8gbW9udGhzTGlzdFtjdXJyZW50RGF0ZS5nZXRNb250aCgpXSA6IGN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKVwiXG4gICAgICAgIFtpc09wZW5dPVwiaW50ZWdyYXRlZE1vZGVcIiAob25DbGlja0xhYmVsKT1cImNhbGVuZGFyUmVzcG9uc2UuZW1pdChjdXJyZW50RGF0ZSlcIiA+IDwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxncmF2aXR5LWljb24tYnV0dG9uICpuZ0lmPVwiIWludGVncmF0ZWRNb2RlXCJcbiAgICAgW3NpemVdPVwiJ3NtJ1wiXG4gICAgIFt0eXBlXT1cIidwcmltYXJ5J1wiXG4gICAgIFtpY29uXT1cIidhcnJvdy1yaWdodCdcIlxuICAgICBbc3VwcG9ydFRleHRdPVwiaTE4bi5uZXh0X3llYXJcIlxuICAgICAoY2xpY2tPbkljb24pPVwiY3VycmVudERhdGUgPSBjaGFuZ2VEYXRlKDEsIGN1cnJlbnREYXRlLCBmYWxzZSlcIlxuICAgICBbc3RhdGVdPVwiKGFwcGVhcmFuY2Uuc3RhdGUgIT09ICdkaXNhYmxlZCcpICYmIGlzUGVyaW9kQXZhaWxhYmxlKGN1cnJlbnREYXRlLCBjb25maWcubWF4RGF0ZSwgJ21vbnRoJywgJ25leHQnKSA/ICdhY3RpdmUnIDogJ2Rpc2FibGVkJ1wiLz5cbiAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yLWxpbmVcIj48L2Rpdj5cbjwvc2VjdGlvbj5cblxuPHNlY3Rpb24gY2xhc3M9XCJncmF2aXR5LWNhbGVuZGFyLWJvZHlcIiBbY2xhc3MubW9iaWxlXT1cImFwcGVhcmFuY2UuaXNNb2JpbGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbXMtdGFibGVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWJvZHkgc20tcmVndWxhciBpdGVtXCIgKm5nRm9yPVwibGV0IG1vbnRoIG9mIGdldFllYXJNb250aHNMaXN0KCksIHRyYWNrQnk6IHRyYWNrQnlNb250aFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiYXBwZWFyYW5jZS5zdGF0ZSA9PT0gJ2Rpc2FibGVkJyA/ICdkaXNhYmxlZCcgOiBnZXRNb250aFNlbGVjdGlvbkNsYXNzKG1vbnRoKVwiIChjbGljayk9XCJvblNlbGVjdE1vbnRoKG1vbnRoKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmN1cnJlbnRdPVwiaXNDdXJyZW50TW9udGgobW9udGgpXCI+IHt7IG1vbnRoc1Nob3J0TGlzdFttb250aC5tb250aF0gfX0gPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImFwcGVhcmFuY2UuYWN0aW9uc1wiIGNsYXNzPVwiYWN0aW9uLXNlY3Rpb25cIiA+XG4gICAgICAgIDxncmF2aXR5LWxpbmsgW2xpbmtUZXh0XT1cImkxOG4uY2xlYXJcIiBbc3RhdGVdPVwiIXNlbGVjdGVkTW9udGggPyAnZGlzYWJsZWQnIDogJ2FjdGl2ZSdcIiAoY2xpY2spPVwiY2xlYXJTZWxlY3RlZE1vbnRoKClcIi8+XG4gICAgICAgIDxncmF2aXR5LWJ1dHRvbiBbc2l6ZV09XCInc20nXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtkaXNhYmxlZF09XCIhc2VsZWN0ZWRNb250aFwiIChjbGljayk9XCJhcHBseVNlbGVjdGVkTW9udGgoKVwiPnt7aTE4bi5hcHBseX19PC9ncmF2aXR5LWJ1dHRvbj5cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj4iXX0=