@progressio_resources/gravity-design-system 3.3.9 → 3.3.11

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 (17) hide show
  1. package/esm2022/lib/components/gravity-calendar-next/components/day-calendar/day-calendar.component.mjs +26 -42
  2. package/esm2022/lib/components/gravity-calendar-next/components/day-calendar/range-days-calendar.utils.mjs +2 -2
  3. package/esm2022/lib/components/gravity-calendar-next/components/dual-month-calendar/dual-month-calendar.component.mjs +14 -21
  4. package/esm2022/lib/components/gravity-calendar-next/components/month-calendar/month-calendar.component.mjs +16 -26
  5. package/esm2022/lib/components/gravity-calendar-next/components/year-calendar/year-calendar.component.mjs +14 -24
  6. package/esm2022/lib/components/gravity-calendar-next/gravity-calendar-next.component.mjs +32 -27
  7. package/esm2022/lib/components/gravity-calendar-next/shared/calendar.modal.mjs +1 -1
  8. package/esm2022/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.mjs +3 -3
  9. package/fesm2022/progressio_resources-gravity-design-system.mjs +100 -138
  10. package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
  11. package/lib/components/gravity-calendar-next/components/day-calendar/day-calendar.component.d.ts +7 -12
  12. package/lib/components/gravity-calendar-next/components/dual-month-calendar/dual-month-calendar.component.d.ts +5 -7
  13. package/lib/components/gravity-calendar-next/components/month-calendar/month-calendar.component.d.ts +5 -8
  14. package/lib/components/gravity-calendar-next/components/year-calendar/year-calendar.component.d.ts +5 -7
  15. package/lib/components/gravity-calendar-next/gravity-calendar-next.component.d.ts +8 -9
  16. package/lib/components/gravity-calendar-next/shared/calendar.modal.d.ts +11 -0
  17. package/package.json +1 -1
@@ -9,9 +9,6 @@ import * as i3 from "../day-calendar/day-calendar.component";
9
9
  export class DualMonthCalendarComponent {
10
10
  constructor() {
11
11
  this.restart = false;
12
- this.disabled = false;
13
- this.isMobile = false;
14
- this.language = 'en';
15
12
  this.clearSelection = new EventEmitter();
16
13
  this.calendarResponse = new EventEmitter();
17
14
  this.currentDate = new Date();
@@ -22,21 +19,21 @@ export class DualMonthCalendarComponent {
22
19
  this.changeDate = changeDate;
23
20
  this.onSelectRageDays = onSelectRageDays;
24
21
  }
25
- get i18n() { return CALENDAR_I18N[this.language]; }
26
- get daysList() { return this.language === 'en' ? DAYS_EN : DAYS_ES; }
27
- get monthsShortList() { return this.language === 'en' ? MONTHS_SHORT_EN : MONTHS_SHORT_ES; }
22
+ get i18n() { return CALENDAR_I18N[this.appearance.language]; }
23
+ get daysList() { return this.appearance.language === 'en' ? DAYS_EN : DAYS_ES; }
24
+ get monthsShortList() { return this.appearance.language === 'en' ? MONTHS_SHORT_EN : MONTHS_SHORT_ES; }
28
25
  ngOnChanges(changes) {
29
26
  const shouldRestart = changes['restart'] && this.restart;
30
- const shouldProcessPreSelected = changes['preSelectedDate'] && this.preSelectedDate;
27
+ const shouldProcessPreSelected = changes['preSelectedDate'] && this.initDate;
31
28
  if (shouldRestart || shouldProcessPreSelected) {
32
- this.processPreselectedDate();
29
+ this.processInitDate();
33
30
  }
34
31
  }
35
- processPreselectedDate() {
32
+ processInitDate() {
36
33
  this.showLeftCalendar = true;
37
34
  this.showRightCalendar = true;
38
- if (Array.isArray(this.preSelectedDate)) {
39
- const [start, end] = this.preSelectedDate;
35
+ if (Array.isArray(this.initDate)) {
36
+ const [start, end] = this.initDate;
40
37
  if (start instanceof Date) {
41
38
  this.currentDate = getStartDate(start);
42
39
  this.nextMonth = changeDate(1, this.currentDate, true);
@@ -86,20 +83,16 @@ export class DualMonthCalendarComponent {
86
83
  }
87
84
  }
88
85
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DualMonthCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
89
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DualMonthCalendarComponent, selector: "dual-month-calendar", inputs: { restart: "restart", disabled: "disabled", isMobile: "isMobile", language: "language", preSelectedDate: "preSelectedDate" }, outputs: { clearSelection: "clearSelection", calendarResponse: "response" }, viewQueries: [{ propertyName: "leftCalendar", first: true, predicate: ["leftCalendar"], descendants: true }, { propertyName: "rightCalendar", first: true, predicate: ["rightCalendar"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"showRightCalendar && showLeftCalendar\" class=\"date-select-indicator\">\n <p>\n <span class=\"hr-title\" [ngClass]=\"leftCalendar?.selectedRangeStart ? 'sm-regular' : 'sm-bold'\">\n {{leftCalendar?.selectedRangeStart ? getFormattedDate(leftCalendar.selectedRangeStart) : i18n.start_date}} </span>\n\n <gravity-icon [iconSize]=\"'md-16'\" [size]=\"'md'\" [iconName]=\"'swaps-arrow-right'\"></gravity-icon>\n\n <span class=\"hr-title\" [ngClass]=\"leftCalendar?.selectedRangeStart && !leftCalendar.selectedRangeEnd ? 'sm-bold' : 'sm-regular'\">\n {{leftCalendar?.selectedRangeEnd ? getFormattedDate(leftCalendar.selectedRangeEnd) : i18n.end_date}} </span>\n </p>\n</div>\n\n<div class=\"dual-calendar-container\" [class.mobile]=\"isMobile\">\n\n <day-calendar #leftCalendar *ngIf=\"showLeftCalendar\" [range]=\"true\" [language]=\"language\" [disabled]=\"disabled\"\n [navType]=\" isMobile ? 'none' : 'prev'\" [actionsSection]=\"false\" [currentDate]=\"currentDate\" [isMobile]=\"isMobile\"\n (changeMonthYearResponse)=\"handlerChangeMonthYearResponse($event, 'left')\"\n (selectedRage)=\"onSelectRageDays(rightCalendar, $event)\"\n (changeMonth)=\"onChangeMonth('left', $event)\"\n (openIntegratedCalendar)=\"showRightCalendar = false\"> </day-calendar>\n\n <day-calendar #rightCalendar *ngIf=\"showRightCalendar\" [range]=\"true\" [language]=\"language\" [disabled]=\"disabled\"\n [navType]=\"isMobile ? 'none' : 'next'\" [actionsSection]=\"true\" [currentDate]=\"nextMonth\" [isMobile]=\"isMobile\"\n (changeMonthYearResponse)=\"handlerChangeMonthYearResponse($event, 'right')\"\n (selectedRage)=\"onSelectRageDays(leftCalendar, $event)\"\n (changeMonth)=\"onChangeMonth('right', $event)\"\n (openIntegratedCalendar)=\"showLeftCalendar = false\"\n (clearSelection)=\"handleClearSelection()\"\n (response)=\"handleApplyResponse($event)\"\n (hoverDay)=\"handleHoverDay($event)\"\n (clearHover)=\"handleClearHover()\"> </day-calendar>\n</div>", styles: [".date-select-indicator{height:27px;display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--gravity-spacing-sm);margin-bottom:var(--gravity-spacing-md);border-bottom:2px solid var(--divider-menu-active-primary)}.date-select-indicator p{display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs);color:var(--bg-calendar-nav-primary)}.dual-calendar-container{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;gap:var(--gravity-spacing-md)}.dual-calendar-container.mobile{flex-direction:column;gap:var(--gravity-spacing-sm)}.dual-calendar-container.mobile day-calendar{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i3.DayCalendarComponent, selector: "day-calendar", inputs: ["preSelectedYear", "preSelectedMonth", "range", "restart", "disabled", "isMobile", "maxDate", "minDate", "language", "preSelectedDate", "currentDate", "actionsSection", "navType"], outputs: ["clearHover", "clearSelection", "changeMonth", "hoverDay", "openIntegratedCalendar", "selectedRage", "changeMonthYearResponse", "response"] }] }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DualMonthCalendarComponent, selector: "dual-month-calendar", inputs: { initDate: "initDate", restart: "restart", appearance: "appearance" }, outputs: { clearSelection: "clearSelection", calendarResponse: "response" }, viewQueries: [{ propertyName: "leftCalendar", first: true, predicate: ["leftCalendar"], descendants: true }, { propertyName: "rightCalendar", first: true, predicate: ["rightCalendar"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"showRightCalendar && showLeftCalendar\" class=\"date-select-indicator\">\n <p>\n <span class=\"hr-title\" [ngClass]=\"leftCalendar?.selectedRangeStart ? 'sm-regular' : 'sm-bold'\">\n {{leftCalendar?.selectedRangeStart ? getFormattedDate(leftCalendar.selectedRangeStart) : i18n.start_date}} </span>\n\n <gravity-icon [iconSize]=\"'md-16'\" [size]=\"'md'\" [iconName]=\"'swaps-arrow-right'\"></gravity-icon>\n\n <span class=\"hr-title\" [ngClass]=\"leftCalendar?.selectedRangeStart && !leftCalendar.selectedRangeEnd ? 'sm-bold' : 'sm-regular'\">\n {{leftCalendar?.selectedRangeEnd ? getFormattedDate(leftCalendar.selectedRangeEnd) : i18n.end_date}} </span>\n </p>\n</div>\n\n<div class=\"dual-calendar-container\" [class.mobile]=\"appearance.isMobile\">\n\n <day-calendar #leftCalendar *ngIf=\"showLeftCalendar\"\n [range]=\"true\"\n (openIntegratedCalendar)=\"showRightCalendar = false\"\n (changeMonth)=\"onChangeMonth('left', $event)\"\n (selectedRage)=\"onSelectRageDays(rightCalendar, $event)\"\n [navType]=\"appearance.isMobile ? 'none' : 'prev'\" [currentDate]=\"currentDate\"\n (changeMonthYearResponse)=\"handlerChangeMonthYearResponse($event, 'left')\"\n [appearance]=\"{language: appearance.language, actions: false, isMobile: appearance.isMobile, state: appearance.state}\">\n </day-calendar>\n\n <day-calendar #rightCalendar *ngIf=\"showRightCalendar\"\n [range]=\"true\"\n (clearHover)=\"handleClearHover()\"\n (hoverDay)=\"handleHoverDay($event)\"\n (response)=\"handleApplyResponse($event)\"\n (clearSelection)=\"handleClearSelection()\"\n (openIntegratedCalendar)=\"showLeftCalendar = false\"\n (changeMonth)=\"onChangeMonth('right', $event)\"\n (selectedRage)=\"onSelectRageDays(leftCalendar, $event)\"\n [navType]=\"appearance.isMobile ? 'none' : 'next'\" [currentDate]=\"nextMonth\"\n (changeMonthYearResponse)=\"handlerChangeMonthYearResponse($event, 'right')\"\n [appearance]=\"{language: appearance.language, actions: true, isMobile: appearance.isMobile, state: appearance.state}\">\n </day-calendar>\n</div>", styles: [".date-select-indicator{height:27px;display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--gravity-spacing-sm);margin-bottom:var(--gravity-spacing-md);border-bottom:2px solid var(--divider-menu-active-primary)}.date-select-indicator p{display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs);color:var(--bg-calendar-nav-primary)}.dual-calendar-container{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;gap:var(--gravity-spacing-md)}.dual-calendar-container.mobile{flex-direction:column;gap:var(--gravity-spacing-sm)}.dual-calendar-container.mobile day-calendar{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i3.DayCalendarComponent, selector: "day-calendar", inputs: ["initYear", "initMonth", "config", "range", "restart", "currentDate", "appearance", "navType"], outputs: ["clearHover", "clearSelection", "changeMonth", "hoverDay", "openIntegratedCalendar", "selectedRage", "changeMonthYearResponse", "response"] }] }); }
90
87
  }
91
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DualMonthCalendarComponent, decorators: [{
92
89
  type: Component,
93
- args: [{ selector: 'dual-month-calendar', template: "<div *ngIf=\"showRightCalendar && showLeftCalendar\" class=\"date-select-indicator\">\n <p>\n <span class=\"hr-title\" [ngClass]=\"leftCalendar?.selectedRangeStart ? 'sm-regular' : 'sm-bold'\">\n {{leftCalendar?.selectedRangeStart ? getFormattedDate(leftCalendar.selectedRangeStart) : i18n.start_date}} </span>\n\n <gravity-icon [iconSize]=\"'md-16'\" [size]=\"'md'\" [iconName]=\"'swaps-arrow-right'\"></gravity-icon>\n\n <span class=\"hr-title\" [ngClass]=\"leftCalendar?.selectedRangeStart && !leftCalendar.selectedRangeEnd ? 'sm-bold' : 'sm-regular'\">\n {{leftCalendar?.selectedRangeEnd ? getFormattedDate(leftCalendar.selectedRangeEnd) : i18n.end_date}} </span>\n </p>\n</div>\n\n<div class=\"dual-calendar-container\" [class.mobile]=\"isMobile\">\n\n <day-calendar #leftCalendar *ngIf=\"showLeftCalendar\" [range]=\"true\" [language]=\"language\" [disabled]=\"disabled\"\n [navType]=\" isMobile ? 'none' : 'prev'\" [actionsSection]=\"false\" [currentDate]=\"currentDate\" [isMobile]=\"isMobile\"\n (changeMonthYearResponse)=\"handlerChangeMonthYearResponse($event, 'left')\"\n (selectedRage)=\"onSelectRageDays(rightCalendar, $event)\"\n (changeMonth)=\"onChangeMonth('left', $event)\"\n (openIntegratedCalendar)=\"showRightCalendar = false\"> </day-calendar>\n\n <day-calendar #rightCalendar *ngIf=\"showRightCalendar\" [range]=\"true\" [language]=\"language\" [disabled]=\"disabled\"\n [navType]=\"isMobile ? 'none' : 'next'\" [actionsSection]=\"true\" [currentDate]=\"nextMonth\" [isMobile]=\"isMobile\"\n (changeMonthYearResponse)=\"handlerChangeMonthYearResponse($event, 'right')\"\n (selectedRage)=\"onSelectRageDays(leftCalendar, $event)\"\n (changeMonth)=\"onChangeMonth('right', $event)\"\n (openIntegratedCalendar)=\"showLeftCalendar = false\"\n (clearSelection)=\"handleClearSelection()\"\n (response)=\"handleApplyResponse($event)\"\n (hoverDay)=\"handleHoverDay($event)\"\n (clearHover)=\"handleClearHover()\"> </day-calendar>\n</div>", styles: [".date-select-indicator{height:27px;display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--gravity-spacing-sm);margin-bottom:var(--gravity-spacing-md);border-bottom:2px solid var(--divider-menu-active-primary)}.date-select-indicator p{display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs);color:var(--bg-calendar-nav-primary)}.dual-calendar-container{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;gap:var(--gravity-spacing-md)}.dual-calendar-container.mobile{flex-direction:column;gap:var(--gravity-spacing-sm)}.dual-calendar-container.mobile day-calendar{width:100%}\n"] }]
94
- }], propDecorators: { restart: [{
90
+ args: [{ selector: 'dual-month-calendar', template: "<div *ngIf=\"showRightCalendar && showLeftCalendar\" class=\"date-select-indicator\">\n <p>\n <span class=\"hr-title\" [ngClass]=\"leftCalendar?.selectedRangeStart ? 'sm-regular' : 'sm-bold'\">\n {{leftCalendar?.selectedRangeStart ? getFormattedDate(leftCalendar.selectedRangeStart) : i18n.start_date}} </span>\n\n <gravity-icon [iconSize]=\"'md-16'\" [size]=\"'md'\" [iconName]=\"'swaps-arrow-right'\"></gravity-icon>\n\n <span class=\"hr-title\" [ngClass]=\"leftCalendar?.selectedRangeStart && !leftCalendar.selectedRangeEnd ? 'sm-bold' : 'sm-regular'\">\n {{leftCalendar?.selectedRangeEnd ? getFormattedDate(leftCalendar.selectedRangeEnd) : i18n.end_date}} </span>\n </p>\n</div>\n\n<div class=\"dual-calendar-container\" [class.mobile]=\"appearance.isMobile\">\n\n <day-calendar #leftCalendar *ngIf=\"showLeftCalendar\"\n [range]=\"true\"\n (openIntegratedCalendar)=\"showRightCalendar = false\"\n (changeMonth)=\"onChangeMonth('left', $event)\"\n (selectedRage)=\"onSelectRageDays(rightCalendar, $event)\"\n [navType]=\"appearance.isMobile ? 'none' : 'prev'\" [currentDate]=\"currentDate\"\n (changeMonthYearResponse)=\"handlerChangeMonthYearResponse($event, 'left')\"\n [appearance]=\"{language: appearance.language, actions: false, isMobile: appearance.isMobile, state: appearance.state}\">\n </day-calendar>\n\n <day-calendar #rightCalendar *ngIf=\"showRightCalendar\"\n [range]=\"true\"\n (clearHover)=\"handleClearHover()\"\n (hoverDay)=\"handleHoverDay($event)\"\n (response)=\"handleApplyResponse($event)\"\n (clearSelection)=\"handleClearSelection()\"\n (openIntegratedCalendar)=\"showLeftCalendar = false\"\n (changeMonth)=\"onChangeMonth('right', $event)\"\n (selectedRage)=\"onSelectRageDays(leftCalendar, $event)\"\n [navType]=\"appearance.isMobile ? 'none' : 'next'\" [currentDate]=\"nextMonth\"\n (changeMonthYearResponse)=\"handlerChangeMonthYearResponse($event, 'right')\"\n [appearance]=\"{language: appearance.language, actions: true, isMobile: appearance.isMobile, state: appearance.state}\">\n </day-calendar>\n</div>", styles: [".date-select-indicator{height:27px;display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--gravity-spacing-sm);margin-bottom:var(--gravity-spacing-md);border-bottom:2px solid var(--divider-menu-active-primary)}.date-select-indicator p{display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs);color:var(--bg-calendar-nav-primary)}.dual-calendar-container{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;gap:var(--gravity-spacing-md)}.dual-calendar-container.mobile{flex-direction:column;gap:var(--gravity-spacing-sm)}.dual-calendar-container.mobile day-calendar{width:100%}\n"] }]
91
+ }], propDecorators: { initDate: [{
95
92
  type: Input
96
- }], disabled: [{
93
+ }], restart: [{
97
94
  type: Input
98
- }], isMobile: [{
99
- type: Input
100
- }], language: [{
101
- type: Input
102
- }], preSelectedDate: [{
95
+ }], appearance: [{
103
96
  type: Input
104
97
  }], clearSelection: [{
105
98
  type: Output
@@ -113,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
113
106
  type: ViewChild,
114
107
  args: ['rightCalendar']
115
108
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVhbC1tb250aC1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL2R1YWwtbW9udGgtY2FsZW5kYXIvZHVhbC1tb250aC1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL2R1YWwtbW9udGgtY2FsZW5kYXIvZHVhbC1tb250aC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsR0FBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQU9sSCxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBTWtCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGFBQVEsR0FBZ0IsSUFBSSxDQUFDO1FBRzVCLG1CQUFjLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7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LENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQTthQUNqRjtTQUNGO0lBQ0gsQ0FBQzsrR0F6RlUsMEJBQTBCO21HQUExQiwwQkFBMEIsa2ZDWnZDLDJzRUErQk07OzRGRG5CTywwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UscUJBQXFCOzhCQUtmLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFFVyxjQUFjO3NCQUE5QixNQUFNO2dCQUNvQixnQkFBZ0I7c0JBQTFDLE1BQU07dUJBQUMsVUFBVTtnQkFFUyxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0csYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDYWxlbmRhckRhdGV9IGZyb20gXCIuLi8uLi9zaGFyZWQvY2FsZW5kYXIubW9kYWxcIjtcbmltcG9ydCB7RGF5Q2FsZW5kYXJDb21wb25lbnR9IGZyb20gXCIuLi9kYXktY2FsZW5kYXIvZGF5LWNhbGVuZGFyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtjaGFuZ2VEYXRlLCBnZXRTdGFydERhdGUsIHRvQ2FsZW5kYXJEYXl9IGZyb20gXCIuLi8uLi9zaGFyZWQvY2FsZW5kYXIudXRpbHNcIjtcbmltcG9ydCB7b25DbGVhckhvdmVyLCBvbkhvdmVyRGF5LCBvblNlbGVjdFJhZ2VEYXlzLH0gZnJvbSBcIi4uL2RheS1jYWxlbmRhci9yYW5nZS1kYXlzLWNhbGVuZGFyLnV0aWxzXCI7XG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NBTEVOREFSX0kxOE4sIERBWVNfRU4sIERBWVNfRVMsIE1PTlRIU19TSE9SVF9FTiwgTU9OVEhTX1NIT1JUX0VTfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLmNvbnN0YW50c1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkdWFsLW1vbnRoLWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2R1YWwtbW9udGgtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kdWFsLW1vbnRoLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRHVhbE1vbnRoQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwdWJsaWMgcmVzdGFydDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlzTW9iaWxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYW5ndWFnZTogJ2VzJyB8ICdlbicgPSAnZW4nO1xuICBASW5wdXQoKSBwdWJsaWMgcHJlU2VsZWN0ZWREYXRlOiBEYXRlIHwgRGF0ZVtdO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJTZWxlY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgncmVzcG9uc2UnKSBwdWJsaWMgY2FsZW5kYXJSZXNwb25zZTogRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2xlZnRDYWxlbmRhcicpIGxlZnRDYWxlbmRhcjogRGF5Q2FsZW5kYXJDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3JpZ2h0Q2FsZW5kYXInKSByaWdodENhbGVuZGFyOiBEYXlDYWxlbmRhckNvbXBvbmVudDtcblxuICBwdWJsaWMgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuICBwdWJsaWMgc2hvd0xlZnRDYWxlbmRhcjogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBzaG93UmlnaHRDYWxlbmRhcjogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBuZXh0TW9udGggPSBjaGFuZ2VEYXRlKDEsIHRoaXMuY3VycmVudERhdGUsIHRydWUpO1xuXG4gIHB1YmxpYyBnZXQgaTE4bigpIHsgcmV0dXJuIENBTEVOREFSX0kxOE5bdGhpcy5sYW5ndWFnZV07IH1cbiAgcHVibGljIGdldCBkYXlzTGlzdCgpIHsgcmV0dXJuIHRoaXMubGFuZ3VhZ2UgPT09ICdlbicgPyBEQVlTX0VOIDogREFZU19FUzsgfVxuICBwdWJsaWMgZ2V0IG1vbnRoc1Nob3J0TGlzdCgpIHsgcmV0dXJuIHRoaXMubGFuZ3VhZ2UgPT09ICdlbicgPyBNT05USFNfU0hPUlRfRU4gOiBNT05USFNfU0hPUlRfRVM7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3Qgc2hvdWxkUmVzdGFydCA9IGNoYW5nZXNbJ3Jlc3RhcnQnXSAmJiB0aGlzLnJlc3RhcnQ7XG4gICAgY29uc3Qgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkID0gY2hhbmdlc1sncHJlU2VsZWN0ZWREYXRlJ10gJiYgdGhpcy5wcmVTZWxlY3RlZERhdGU7XG4gICAgaWYgKHNob3VsZFJlc3RhcnQgfHwgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkKSB7IHRoaXMucHJvY2Vzc1ByZXNlbGVjdGVkRGF0ZSgpOyB9XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NQcmVzZWxlY3RlZERhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93TGVmdENhbGVuZGFyID0gdHJ1ZTtcbiAgICB0aGlzLnNob3dSaWdodENhbGVuZGFyID0gdHJ1ZTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJlU2VsZWN0ZWREYXRlKSkge1xuICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5wcmVTZWxlY3RlZERhdGUgYXMgRGF0ZVtdO1xuXG4gICAgICBpZiAoc3RhcnQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIHRoaXMuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUoc3RhcnQpO1xuICAgICAgICB0aGlzLm5leHRNb250aCA9IGNoYW5nZURhdGUoMSwgdGhpcy5jdXJyZW50RGF0ZSwgdHJ1ZSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubGVmdENhbGVuZGFyLnNlbGVjdGVkUmFuZ2VTdGFydCA9IHRvQ2FsZW5kYXJEYXkoc3RhcnQpO1xuICAgICAgICAgIHRoaXMucmlnaHRDYWxlbmRhci5zZWxlY3RlZFJhbmdlU3RhcnQgPSB0b0NhbGVuZGFyRGF5KHN0YXJ0KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlbmQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubGVmdENhbGVuZGFyLnNlbGVjdGVkUmFuZ2VFbmQgPSB0b0NhbGVuZGFyRGF5KGVuZCk7XG4gICAgICAgICAgdGhpcy5yaWdodENhbGVuZGFyLnNlbGVjdGVkUmFuZ2VFbmQgPSB0b0NhbGVuZGFyRGF5KGVuZCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZU1vbnRoKGNhbGVuZGFyOiAnbGVmdCcgfCAncmlnaHQnLCBvZmZzZXQ6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldENhbGVuZGFyID0gY2FsZW5kYXIgPT09ICdsZWZ0JyA/IHRoaXMucmlnaHRDYWxlbmRhciA6IHRoaXMubGVmdENhbGVuZGFyO1xuICAgIHRhcmdldENhbGVuZGFyLmN1cnJlbnREYXRlID0gY2hhbmdlRGF0ZShvZmZzZXQsIHRhcmdldENhbGVuZGFyLmN1cnJlbnREYXRlLCB0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGb3JtYXR0ZWREYXRlKGRheTogQ2FsZW5kYXJEYXRlKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF5c0xpc3RbZGF5LndlZWtEYXldICsgJywgJyArIGRheS5kYXkgKyAnICcgKyB0aGlzLm1vbnRoc1Nob3J0TGlzdFtkYXkubW9udGhZZWFyLm1vbnRoXTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVIb3ZlckRheShkYXk6IENhbGVuZGFyRGF0ZSkge1xuICAgIG9uSG92ZXJEYXkodGhpcy5sZWZ0Q2FsZW5kYXIsIGRheSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ2xlYXJIb3Zlcigpe1xuICAgIG9uQ2xlYXJIb3Zlcih0aGlzLmxlZnRDYWxlbmRhcik7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQXBwbHlSZXNwb25zZSgkZXZlbnQ6IERhdGUgfCBEYXRlW10pOiB2b2lkIHtcbiAgICB0aGlzLmNhbGVuZGFyUmVzcG9uc2UuZW1pdCgkZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNsZWFyU2VsZWN0aW9uKCl7XG4gICAgdGhpcy5jbGVhclNlbGVjdGlvbi5lbWl0KCk7XG4gICAgdGhpcy5sZWZ0Q2FsZW5kYXIuY2xlYXJTZWxlY3RlZERhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVyQ2hhbmdlTW9udGhZZWFyUmVzcG9uc2UoJGV2ZW50OiBEYXRlIHwgRGF0ZVtdLCBvcmlnaW46ICdsZWZ0JyB8ICdyaWdodCcpe1xuICAgIGlmKCRldmVudCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIGlmKG9yaWdpbiA9PT0gJ2xlZnQnKSB7XG4gICAgICAgIHRoaXMuc2hvd1JpZ2h0Q2FsZW5kYXIgPSB0cnVlO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHt0aGlzLnJpZ2h0Q2FsZW5kYXIuY3VycmVudERhdGUgPSBjaGFuZ2VEYXRlKDEsICRldmVudCwgdHJ1ZSl9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaG93TGVmdENhbGVuZGFyID0gdHJ1ZTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7dGhpcy5sZWZ0Q2FsZW5kYXIuY3VycmVudERhdGUgPSBjaGFuZ2VEYXRlKC0xLCAkZXZlbnQsIHRydWUpfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgRGF0ZSA9IERhdGU7XG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFuZ2VEYXRlID0gY2hhbmdlRGF0ZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9uU2VsZWN0UmFnZURheXMgPSBvblNlbGVjdFJhZ2VEYXlzO1xufVxuIiwiPGRpdiAqbmdJZj1cInNob3dSaWdodENhbGVuZGFyICYmIHNob3dMZWZ0Q2FsZW5kYXJcIiBjbGFzcz1cImRhdGUtc2VsZWN0LWluZGljYXRvclwiPlxuICAgIDxwPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhyLXRpdGxlXCIgIFtuZ0NsYXNzXT1cImxlZnRDYWxlbmRhcj8uc2VsZWN0ZWRSYW5nZVN0YXJ0ID8gJ3NtLXJlZ3VsYXInIDogJ3NtLWJvbGQnXCI+XG4gICAgICAgICAgICB7e2xlZnRDYWxlbmRhcj8uc2VsZWN0ZWRSYW5nZVN0YXJ0ID8gZ2V0Rm9ybWF0dGVkRGF0ZShsZWZ0Q2FsZW5kYXIuc2VsZWN0ZWRSYW5nZVN0YXJ0KSA6IGkxOG4uc3RhcnRfZGF0ZX19IDwvc3Bhbj5cblxuICAgICAgICA8Z3Jhdml0eS1pY29uIFtpY29uU2l6ZV09XCInbWQtMTYnXCIgW3NpemVdPVwiJ21kJ1wiIFtpY29uTmFtZV09XCInc3dhcHMtYXJyb3ctcmlnaHQnXCI+PC9ncmF2aXR5LWljb24+XG5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoci10aXRsZVwiICBbbmdDbGFzc109XCJsZWZ0Q2FsZW5kYXI/LnNlbGVjdGVkUmFuZ2VTdGFydCAmJiAhbGVmdENhbGVuZGFyLnNlbGVjdGVkUmFuZ2VFbmQgPyAnc20tYm9sZCcgOiAnc20tcmVndWxhcidcIj5cbiAgICAgICAgICAgIHt7bGVmdENhbGVuZGFyPy5zZWxlY3RlZFJhbmdlRW5kID8gZ2V0Rm9ybWF0dGVkRGF0ZShsZWZ0Q2FsZW5kYXIuc2VsZWN0ZWRSYW5nZUVuZCkgOiBpMThuLmVuZF9kYXRlfX0gPC9zcGFuPlxuICAgIDwvcD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZHVhbC1jYWxlbmRhci1jb250YWluZXJcIiBbY2xhc3MubW9iaWxlXT1cImlzTW9iaWxlXCI+XG5cbiAgICA8ZGF5LWNhbGVuZGFyICNsZWZ0Q2FsZW5kYXIgKm5nSWY9XCJzaG93TGVmdENhbGVuZGFyXCIgW3JhbmdlXT1cInRydWVcIiBbbGFuZ3VhZ2VdPVwibGFuZ3VhZ2VcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgW25hdlR5cGVdPVwiIGlzTW9iaWxlID8gJ25vbmUnIDogJ3ByZXYnXCIgW2FjdGlvbnNTZWN0aW9uXT1cImZhbHNlXCIgW2N1cnJlbnREYXRlXT1cImN1cnJlbnREYXRlXCIgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICAgICAgICAgICAgICAgIChjaGFuZ2VNb250aFllYXJSZXNwb25zZSk9XCJoYW5kbGVyQ2hhbmdlTW9udGhZZWFyUmVzcG9uc2UoJGV2ZW50LCAnbGVmdCcpXCJcbiAgICAgICAgICAgICAgICAgIChzZWxlY3RlZFJhZ2UpPVwib25TZWxlY3RSYWdlRGF5cyhyaWdodENhbGVuZGFyLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIChjaGFuZ2VNb250aCk9XCJvbkNoYW5nZU1vbnRoKCdsZWZ0JywgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAob3BlbkludGVncmF0ZWRDYWxlbmRhcik9XCJzaG93UmlnaHRDYWxlbmRhciA9IGZhbHNlXCI+IDwvZGF5LWNhbGVuZGFyPlxuXG4gICAgPGRheS1jYWxlbmRhciAjcmlnaHRDYWxlbmRhciAqbmdJZj1cInNob3dSaWdodENhbGVuZGFyXCIgW3JhbmdlXT1cInRydWVcIiBbbGFuZ3VhZ2VdPVwibGFuZ3VhZ2VcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgW25hdlR5cGVdPVwiaXNNb2JpbGUgPyAnbm9uZScgOiAnbmV4dCdcIiBbYWN0aW9uc1NlY3Rpb25dPVwidHJ1ZVwiIFtjdXJyZW50RGF0ZV09XCJuZXh0TW9udGhcIiBbaXNNb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgICAgICAgICAgICAgICAgKGNoYW5nZU1vbnRoWWVhclJlc3BvbnNlKT1cImhhbmRsZXJDaGFuZ2VNb250aFllYXJSZXNwb25zZSgkZXZlbnQsICdyaWdodCcpXCJcbiAgICAgICAgICAgICAgICAgIChzZWxlY3RlZFJhZ2UpPVwib25TZWxlY3RSYWdlRGF5cyhsZWZ0Q2FsZW5kYXIsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgKGNoYW5nZU1vbnRoKT1cIm9uQ2hhbmdlTW9udGgoJ3JpZ2h0JywgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAob3BlbkludGVncmF0ZWRDYWxlbmRhcik9XCJzaG93TGVmdENhbGVuZGFyID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgKGNsZWFyU2VsZWN0aW9uKT1cImhhbmRsZUNsZWFyU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKT1cImhhbmRsZUFwcGx5UmVzcG9uc2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAoaG92ZXJEYXkpPVwiaGFuZGxlSG92ZXJEYXkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAoY2xlYXJIb3Zlcik9XCJoYW5kbGVDbGVhckhvdmVyKClcIj4gPC9kYXktY2FsZW5kYXI+XG48L2Rpdj4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVhbC1tb250aC1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL2R1YWwtbW9udGgtY2FsZW5kYXIvZHVhbC1tb250aC1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL2R1YWwtbW9udGgtY2FsZW5kYXIvZHVhbC1tb250aC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsR0FBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQU9sSCxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBT2tCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHeEIsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFLdEcsZ0JBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FB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QUksQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUE7YUFDakY7U0FDRjtJQUNILENBQUM7K0dBdkZVLDBCQUEwQjttR0FBMUIsMEJBQTBCLDRiQ1p2QyxzcEVBcUNNOzs0RkR6Qk8sMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHFCQUFxQjs4QkFLZixRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFFVyxjQUFjO3NCQUE5QixNQUFNO2dCQUNvQixnQkFBZ0I7c0JBQTFDLE1BQU07dUJBQUMsVUFBVTtnQkFFUyxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0csYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDYWxlbmRhckFwcGVhcmFuY2UsIENhbGVuZGFyRGF0ZX0gZnJvbSBcIi4uLy4uL3NoYXJlZC9jYWxlbmRhci5tb2RhbFwiO1xuaW1wb3J0IHtEYXlDYWxlbmRhckNvbXBvbmVudH0gZnJvbSBcIi4uL2RheS1jYWxlbmRhci9kYXktY2FsZW5kYXIuY29tcG9uZW50XCI7XG5pbXBvcnQge2NoYW5nZURhdGUsIGdldFN0YXJ0RGF0ZSwgdG9DYWxlbmRhckRheX0gZnJvbSBcIi4uLy4uL3NoYXJlZC9jYWxlbmRhci51dGlsc1wiO1xuaW1wb3J0IHtvbkNsZWFySG92ZXIsIG9uSG92ZXJEYXksIG9uU2VsZWN0UmFnZURheXMsfSBmcm9tIFwiLi4vZGF5LWNhbGVuZGFyL3JhbmdlLWRheXMtY2FsZW5kYXIudXRpbHNcIjtcbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q0FMRU5EQVJfSTE4TiwgREFZU19FTiwgREFZU19FUywgTU9OVEhTX1NIT1JUX0VOLCBNT05USFNfU0hPUlRfRVN9IGZyb20gXCIuLi8uLi9zaGFyZWQvY2FsZW5kYXIuY29uc3RhbnRzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2R1YWwtbW9udGgtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZHVhbC1tb250aC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R1YWwtbW9udGgtY2FsZW5kYXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEdWFsTW9udGhDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbml0RGF0ZTogRGF0ZSB8IERhdGVbXTtcbiAgQElucHV0KCkgcHVibGljIHJlc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGFwcGVhcmFuY2U6IENhbGVuZGFyQXBwZWFyYW5jZVxuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJTZWxlY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgncmVzcG9uc2UnKSBwdWJsaWMgY2FsZW5kYXJSZXNwb25zZTogRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2xlZnRDYWxlbmRhcicpIGxlZnRDYWxlbmRhcjogRGF5Q2FsZW5kYXJDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3JpZ2h0Q2FsZW5kYXInKSByaWdodENhbGVuZGFyOiBEYXlDYWxlbmRhckNvbXBvbmVudDtcblxuICBwdWJsaWMgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuICBwdWJsaWMgc2hvd0xlZnRDYWxlbmRhcjogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBzaG93UmlnaHRDYWxlbmRhcjogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBuZXh0TW9udGggPSBjaGFuZ2VEYXRlKDEsIHRoaXMuY3VycmVudERhdGUsIHRydWUpO1xuXG4gIHB1YmxpYyBnZXQgaTE4bigpIHsgcmV0dXJuIENBTEVOREFSX0kxOE5bdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlXTsgfVxuICBwdWJsaWMgZ2V0IGRheXNMaXN0KCkgeyByZXR1cm4gdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlID09PSAnZW4nID8gREFZU19FTiA6IERBWVNfRVM7IH1cbiAgcHVibGljIGdldCBtb250aHNTaG9ydExpc3QoKSB7IHJldHVybiB0aGlzLmFwcGVhcmFuY2UubGFuZ3VhZ2UgPT09ICdlbicgPyBNT05USFNfU0hPUlRfRU4gOiBNT05USFNfU0hPUlRfRVM7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3Qgc2hvdWxkUmVzdGFydCA9IGNoYW5nZXNbJ3Jlc3RhcnQnXSAmJiB0aGlzLnJlc3RhcnQ7XG4gICAgY29uc3Qgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkID0gY2hhbmdlc1sncHJlU2VsZWN0ZWREYXRlJ10gJiYgdGhpcy5pbml0RGF0ZTtcbiAgICBpZiAoc2hvdWxkUmVzdGFydCB8fCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQpIHsgdGhpcy5wcm9jZXNzSW5pdERhdGUoKTsgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzSW5pdERhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93TGVmdENhbGVuZGFyID0gdHJ1ZTtcbiAgICB0aGlzLnNob3dSaWdodENhbGVuZGFyID0gdHJ1ZTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaW5pdERhdGUpKSB7XG4gICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLmluaXREYXRlIGFzIERhdGVbXTtcblxuICAgICAgaWYgKHN0YXJ0IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICB0aGlzLmN1cnJlbnREYXRlID0gZ2V0U3RhcnREYXRlKHN0YXJ0KTtcbiAgICAgICAgdGhpcy5uZXh0TW9udGggPSBjaGFuZ2VEYXRlKDEsIHRoaXMuY3VycmVudERhdGUsIHRydWUpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmxlZnRDYWxlbmRhci5zZWxlY3RlZFJhbmdlU3RhcnQgPSB0b0NhbGVuZGFyRGF5KHN0YXJ0KTtcbiAgICAgICAgICB0aGlzLnJpZ2h0Q2FsZW5kYXIuc2VsZWN0ZWRSYW5nZVN0YXJ0ID0gdG9DYWxlbmRhckRheShzdGFydCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoZW5kIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmxlZnRDYWxlbmRhci5zZWxlY3RlZFJhbmdlRW5kID0gdG9DYWxlbmRhckRheShlbmQpO1xuICAgICAgICAgIHRoaXMucmlnaHRDYWxlbmRhci5zZWxlY3RlZFJhbmdlRW5kID0gdG9DYWxlbmRhckRheShlbmQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2VNb250aChjYWxlbmRhcjogJ2xlZnQnIHwgJ3JpZ2h0Jywgb2Zmc2V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRDYWxlbmRhciA9IGNhbGVuZGFyID09PSAnbGVmdCcgPyB0aGlzLnJpZ2h0Q2FsZW5kYXIgOiB0aGlzLmxlZnRDYWxlbmRhcjtcbiAgICB0YXJnZXRDYWxlbmRhci5jdXJyZW50RGF0ZSA9IGNoYW5nZURhdGUob2Zmc2V0LCB0YXJnZXRDYWxlbmRhci5jdXJyZW50RGF0ZSwgdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkRGF0ZShkYXk6IENhbGVuZGFyRGF0ZSkge1xuICAgIHJldHVybiB0aGlzLmRheXNMaXN0W2RheS53ZWVrRGF5XSArICcsICcgKyBkYXkuZGF5ICsgJyAnICsgdGhpcy5tb250aHNTaG9ydExpc3RbZGF5Lm1vbnRoWWVhci5tb250aF07XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlSG92ZXJEYXkoZGF5OiBDYWxlbmRhckRhdGUpIHtcbiAgICBvbkhvdmVyRGF5KHRoaXMubGVmdENhbGVuZGFyLCBkYXkpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNsZWFySG92ZXIoKXtcbiAgICBvbkNsZWFySG92ZXIodGhpcy5sZWZ0Q2FsZW5kYXIpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUFwcGx5UmVzcG9uc2UoJGV2ZW50OiBEYXRlIHwgRGF0ZVtdKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDbGVhclNlbGVjdGlvbigpe1xuICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24uZW1pdCgpO1xuICAgIHRoaXMubGVmdENhbGVuZGFyLmNsZWFyU2VsZWN0ZWREYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlckNoYW5nZU1vbnRoWWVhclJlc3BvbnNlKCRldmVudDogRGF0ZSB8IERhdGVbXSwgb3JpZ2luOiAnbGVmdCcgfCAncmlnaHQnKXtcbiAgICBpZigkZXZlbnQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICBpZihvcmlnaW4gPT09ICdsZWZ0Jykge1xuICAgICAgICB0aGlzLnNob3dSaWdodENhbGVuZGFyID0gdHJ1ZTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7dGhpcy5yaWdodENhbGVuZGFyLmN1cnJlbnREYXRlID0gY2hhbmdlRGF0ZSgxLCAkZXZlbnQsIHRydWUpfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2hvd0xlZnRDYWxlbmRhciA9IHRydWU7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMubGVmdENhbGVuZGFyLmN1cnJlbnREYXRlID0gY2hhbmdlRGF0ZSgtMSwgJGV2ZW50LCB0cnVlKX0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IERhdGUgPSBEYXRlO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGF0ZSA9IGNoYW5nZURhdGU7XG4gIHByb3RlY3RlZCByZWFkb25seSBvblNlbGVjdFJhZ2VEYXlzID0gb25TZWxlY3RSYWdlRGF5cztcbn1cbiIsIjxkaXYgKm5nSWY9XCJzaG93UmlnaHRDYWxlbmRhciAmJiBzaG93TGVmdENhbGVuZGFyXCIgY2xhc3M9XCJkYXRlLXNlbGVjdC1pbmRpY2F0b3JcIj5cbiAgICA8cD5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoci10aXRsZVwiICBbbmdDbGFzc109XCJsZWZ0Q2FsZW5kYXI/LnNlbGVjdGVkUmFuZ2VTdGFydCA/ICdzbS1yZWd1bGFyJyA6ICdzbS1ib2xkJ1wiPlxuICAgICAgICAgICAge3tsZWZ0Q2FsZW5kYXI/LnNlbGVjdGVkUmFuZ2VTdGFydCA/IGdldEZvcm1hdHRlZERhdGUobGVmdENhbGVuZGFyLnNlbGVjdGVkUmFuZ2VTdGFydCkgOiBpMThuLnN0YXJ0X2RhdGV9fSA8L3NwYW4+XG5cbiAgICAgICAgPGdyYXZpdHktaWNvbiBbaWNvblNpemVdPVwiJ21kLTE2J1wiIFtzaXplXT1cIidtZCdcIiBbaWNvbk5hbWVdPVwiJ3N3YXBzLWFycm93LXJpZ2h0J1wiPjwvZ3Jhdml0eS1pY29uPlxuXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaHItdGl0bGVcIiAgW25nQ2xhc3NdPVwibGVmdENhbGVuZGFyPy5zZWxlY3RlZFJhbmdlU3RhcnQgJiYgIWxlZnRDYWxlbmRhci5zZWxlY3RlZFJhbmdlRW5kID8gJ3NtLWJvbGQnIDogJ3NtLXJlZ3VsYXInXCI+XG4gICAgICAgICAgICB7e2xlZnRDYWxlbmRhcj8uc2VsZWN0ZWRSYW5nZUVuZCA/IGdldEZvcm1hdHRlZERhdGUobGVmdENhbGVuZGFyLnNlbGVjdGVkUmFuZ2VFbmQpIDogaTE4bi5lbmRfZGF0ZX19IDwvc3Bhbj5cbiAgICA8L3A+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImR1YWwtY2FsZW5kYXItY29udGFpbmVyXCIgW2NsYXNzLm1vYmlsZV09XCJhcHBlYXJhbmNlLmlzTW9iaWxlXCI+XG5cbiAgICA8ZGF5LWNhbGVuZGFyICNsZWZ0Q2FsZW5kYXIgKm5nSWY9XCJzaG93TGVmdENhbGVuZGFyXCJcbiAgICAgIFtyYW5nZV09XCJ0cnVlXCJcbiAgICAgIChvcGVuSW50ZWdyYXRlZENhbGVuZGFyKT1cInNob3dSaWdodENhbGVuZGFyID0gZmFsc2VcIlxuICAgICAgKGNoYW5nZU1vbnRoKT1cIm9uQ2hhbmdlTW9udGgoJ2xlZnQnLCAkZXZlbnQpXCJcbiAgICAgIChzZWxlY3RlZFJhZ2UpPVwib25TZWxlY3RSYWdlRGF5cyhyaWdodENhbGVuZGFyLCAkZXZlbnQpXCJcbiAgICAgIFtuYXZUeXBlXT1cImFwcGVhcmFuY2UuaXNNb2JpbGUgPyAnbm9uZScgOiAncHJldidcIiBbY3VycmVudERhdGVdPVwiY3VycmVudERhdGVcIlxuICAgICAgKGNoYW5nZU1vbnRoWWVhclJlc3BvbnNlKT1cImhhbmRsZXJDaGFuZ2VNb250aFllYXJSZXNwb25zZSgkZXZlbnQsICdsZWZ0JylcIlxuICAgICAgW2FwcGVhcmFuY2VdPVwie2xhbmd1YWdlOiBhcHBlYXJhbmNlLmxhbmd1YWdlLCBhY3Rpb25zOiBmYWxzZSwgaXNNb2JpbGU6IGFwcGVhcmFuY2UuaXNNb2JpbGUsIHN0YXRlOiBhcHBlYXJhbmNlLnN0YXRlfVwiPlxuICAgIDwvZGF5LWNhbGVuZGFyPlxuXG4gICAgPGRheS1jYWxlbmRhciAjcmlnaHRDYWxlbmRhciAqbmdJZj1cInNob3dSaWdodENhbGVuZGFyXCJcbiAgICAgIFtyYW5nZV09XCJ0cnVlXCJcbiAgICAgIChjbGVhckhvdmVyKT1cImhhbmRsZUNsZWFySG92ZXIoKVwiXG4gICAgICAoaG92ZXJEYXkpPVwiaGFuZGxlSG92ZXJEYXkoJGV2ZW50KVwiXG4gICAgICAocmVzcG9uc2UpPVwiaGFuZGxlQXBwbHlSZXNwb25zZSgkZXZlbnQpXCJcbiAgICAgIChjbGVhclNlbGVjdGlvbik9XCJoYW5kbGVDbGVhclNlbGVjdGlvbigpXCJcbiAgICAgIChvcGVuSW50ZWdyYXRlZENhbGVuZGFyKT1cInNob3dMZWZ0Q2FsZW5kYXIgPSBmYWxzZVwiXG4gICAgICAoY2hhbmdlTW9udGgpPVwib25DaGFuZ2VNb250aCgncmlnaHQnLCAkZXZlbnQpXCJcbiAgICAgIChzZWxlY3RlZFJhZ2UpPVwib25TZWxlY3RSYWdlRGF5cyhsZWZ0Q2FsZW5kYXIsICRldmVudClcIlxuICAgICAgW25hdlR5cGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZSA/ICdub25lJyA6ICduZXh0J1wiICBbY3VycmVudERhdGVdPVwibmV4dE1vbnRoXCJcbiAgICAgIChjaGFuZ2VNb250aFllYXJSZXNwb25zZSk9XCJoYW5kbGVyQ2hhbmdlTW9udGhZZWFyUmVzcG9uc2UoJGV2ZW50LCAncmlnaHQnKVwiXG4gICAgICBbYXBwZWFyYW5jZV09XCJ7bGFuZ3VhZ2U6IGFwcGVhcmFuY2UubGFuZ3VhZ2UsIGFjdGlvbnM6IHRydWUsIGlzTW9iaWxlOiBhcHBlYXJhbmNlLmlzTW9iaWxlLCBzdGF0ZTogYXBwZWFyYW5jZS5zdGF0ZX1cIj5cbiAgICA8L2RheS1jYWxlbmRhcj5cbjwvZGl2PiJdfQ==
@@ -10,35 +10,31 @@ import * as i5 from "../../../gravity-dropdown-label/gravity-dropdown-label.comp
10
10
  export class MonthCalendarComponent {
11
11
  constructor() {
12
12
  this.restart = false;
13
- this.disabled = false;
14
- this.isMobile = false;
15
- this.language = 'en';
16
- this.actionsSection = true;
17
13
  this.integratedMode = false;
18
14
  this.clearSelection = new EventEmitter();
19
15
  this.calendarResponse = new EventEmitter();
20
16
  this.currentDate = new Date();
21
17
  this.changeDate = changeDate;
22
18
  }
23
- get i18n() { return CALENDAR_I18N[this.language]; }
24
- get monthsList() { return this.language === 'en' ? MONTHS_EN : MONTHS_ES; }
25
- get monthsShortList() { return this.language === 'en' ? MONTHS_SHORT_EN : MONTHS_SHORT_ES; }
19
+ get i18n() { return CALENDAR_I18N[this.appearance.language]; }
20
+ get monthsList() { return this.appearance.language === 'en' ? MONTHS_EN : MONTHS_ES; }
21
+ get monthsShortList() { return this.appearance.language === 'en' ? MONTHS_SHORT_EN : MONTHS_SHORT_ES; }
26
22
  ngOnChanges(changes) {
27
23
  const shouldRestart = changes['restart'] && this.restart;
28
- const shouldProcessPreSelected = changes['preSelectedDate'] && this.preSelectedDate;
24
+ const shouldProcessPreSelected = changes['preSelectedDate'] && this.initDate;
29
25
  if (shouldRestart || shouldProcessPreSelected) {
30
- this.processPreselectedDate();
26
+ this.processInitDate();
31
27
  }
32
28
  }
33
29
  trackByMonth(_, month) {
34
30
  return `${month.year}-${month.month}`;
35
31
  }
36
- processPreselectedDate() {
37
- if (this.preSelectedDate instanceof Date) {
38
- this.currentDate = getStartDate(this.preSelectedDate);
32
+ processInitDate() {
33
+ if (this.initDate instanceof Date) {
34
+ this.currentDate = getStartDate(this.initDate);
39
35
  this.selectedMonth = {
40
- month: this.preSelectedDate.getMonth(),
41
- year: this.preSelectedDate.getFullYear()
36
+ month: this.initDate.getMonth(),
37
+ year: this.initDate.getFullYear()
42
38
  };
43
39
  }
44
40
  }
@@ -77,22 +73,16 @@ export class MonthCalendarComponent {
77
73
  return months;
78
74
  }
79
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MonthCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MonthCalendarComponent, selector: "month-calendar", inputs: { restart: "restart", disabled: "disabled", isMobile: "isMobile", language: "language", preSelectedDate: "preSelectedDate", actionsSection: "actionsSection", integratedMode: "integratedMode" }, outputs: { clearSelection: "clearSelection", calendarResponse: "response" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"gravity-calendar-header\" [class.mobile]=\"isMobile\">\n <div class=\"header-container\">\n <div *ngIf=\"!integratedMode\" class=\"previous-button\" (click)=\"currentDate = changeDate(-1, currentDate, false)\">\n <gravity-icon *ngIf=\"!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 && !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=\"!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]=\"isMobile\">\n <div class=\"items-table\">\n <span class=\"hr-body sm-regular item\" *ngFor=\"let month of getYearMonthsList(), trackBy: trackByMonth\"\n [ngClass]=\"disabled ? 'disabled' : getMonthSelectionClass(month)\" (click)=\"onSelectMonth(month)\"\n [class.current]=\"isCurrentMonth(month)\"> {{ monthsShortList[month.month] }} </span>\n </div>\n\n <div *ngIf=\"actionsSection\" 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-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", "customState", "iconPosition", "iconName", "isLoading", "showContent", "size", "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"] }] }); }
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-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", "customState", "iconPosition", "iconName", "isLoading", "showContent", "size", "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"] }] }); }
81
77
  }
82
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MonthCalendarComponent, decorators: [{
83
79
  type: Component,
84
- args: [{ selector: 'month-calendar', template: "<section class=\"gravity-calendar-header\" [class.mobile]=\"isMobile\">\n <div class=\"header-container\">\n <div *ngIf=\"!integratedMode\" class=\"previous-button\" (click)=\"currentDate = changeDate(-1, currentDate, false)\">\n <gravity-icon *ngIf=\"!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 && !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=\"!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]=\"isMobile\">\n <div class=\"items-table\">\n <span class=\"hr-body sm-regular item\" *ngFor=\"let month of getYearMonthsList(), trackBy: trackByMonth\"\n [ngClass]=\"disabled ? 'disabled' : getMonthSelectionClass(month)\" (click)=\"onSelectMonth(month)\"\n [class.current]=\"isCurrentMonth(month)\"> {{ monthsShortList[month.month] }} </span>\n </div>\n\n <div *ngIf=\"actionsSection\" 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-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"] }]
85
- }], propDecorators: { restart: [{
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-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: [{
86
82
  type: Input
87
- }], disabled: [{
83
+ }], restart: [{
88
84
  type: Input
89
- }], isMobile: [{
90
- type: Input
91
- }], language: [{
92
- type: Input
93
- }], preSelectedDate: [{
94
- type: Input
95
- }], actionsSection: [{
85
+ }], appearance: [{
96
86
  type: Input
97
87
  }], integratedMode: [{
98
88
  type: Input
@@ -102,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
102
92
  type: Output,
103
93
  args: ['response']
104
94
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLW5leHQvY29tcG9uZW50cy9tb250aC1jYWxlbmRhci9tb250aC1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL21vbnRoLWNhbGVuZGFyL21vbnRoLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sR0FBaUIsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQU90SCxNQUFNLE9BQU8sc0JBQXNCO0lBTG5DO1FBTW9CLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGFBQVEsR0FBZ0IsSUFBSSxDQUFDO1FBRTdCLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQy9CLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRS9CLG1CQUFjLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDcEQscUJBQWdCLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRXRHLGdCQUFXLEdB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QUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0saUJBQWlCO1FBQ3BCLE1BQU0sTUFBTSxHQUFxQixFQUFFLENBQUM7UUFFcEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBQyxDQUFDLENBQUM7U0FDakU7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOytHQWpGUSxzQkFBc0I7bUdBQXRCLHNCQUFzQixrV0NWbkMsaXFFQWlDVTs7NEZEdkJHLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxnQkFBZ0I7OEJBS1IsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFFVyxjQUFjO3NCQUE5QixNQUFNO2dCQUNvQixnQkFBZ0I7c0JBQTFDLE1BQU07dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FsZW5kYXJQZXJpb2R9IGZyb20gXCIuLi8uLi9zaGFyZWQvY2FsZW5kYXIubW9kYWxcIjtcbmltcG9ydCB7Y2hhbmdlRGF0ZSwgZ2V0U3RhcnREYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLnV0aWxzXCI7XG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q0FMRU5EQVJfSTE4TiwgTU9OVEhTX0VOLCBNT05USFNfU0hPUlRfRU4sIE1PTlRIU19FUywgTU9OVEhTX1NIT1JUX0VTfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLmNvbnN0YW50c1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb250aC1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb250aC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vbnRoLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTW9udGhDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgcHVibGljIHJlc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNNb2JpbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgbGFuZ3VhZ2U6ICdlcycgfCAnZW4nID0gJ2VuJztcbiAgICBASW5wdXQoKSBwdWJsaWMgcHJlU2VsZWN0ZWREYXRlOiBEYXRlIHwgRGF0ZVtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhY3Rpb25zU2VjdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgcHVibGljIGludGVncmF0ZWRNb2RlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIGNsZWFyU2VsZWN0aW9uOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgncmVzcG9uc2UnKSBwdWJsaWMgY2FsZW5kYXJSZXNwb25zZTogRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPigpO1xuXG4gICAgcHVibGljIGN1cnJlbnREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgICBwdWJsaWMgc2VsZWN0ZWRNb250aDogQ2FsZW5kYXJQZXJpb2Q7XG5cbiAgICBwdWJsaWMgZ2V0IGkxOG4oKSB7IHJldHVybiBDQUxFTkRBUl9JMThOW3RoaXMubGFuZ3VhZ2VdOyB9XG4gICAgcHVibGljIGdldCBtb250aHNMaXN0KCkgeyByZXR1cm4gdGhpcy5sYW5ndWFnZSA9PT0gJ2VuJyA/IE1PTlRIU19FTiA6IE1PTlRIU19FUzsgfVxuICAgIHB1YmxpYyBnZXQgbW9udGhzU2hvcnRMaXN0KCkgeyByZXR1cm4gdGhpcy5sYW5ndWFnZSA9PT0gJ2VuJyA/IE1PTlRIU19TSE9SVF9FTiA6IE1PTlRIU19TSE9SVF9FUzsgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCBzaG91bGRSZXN0YXJ0ID0gY2hhbmdlc1sncmVzdGFydCddICYmIHRoaXMucmVzdGFydDtcbiAgICAgICAgY29uc3Qgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkID0gY2hhbmdlc1sncHJlU2VsZWN0ZWREYXRlJ10gJiYgdGhpcy5wcmVTZWxlY3RlZERhdGU7XG4gICAgICAgIGlmIChzaG91bGRSZXN0YXJ0IHx8IHNob3VsZFByb2Nlc3NQcmVTZWxlY3RlZCkgeyB0aGlzLnByb2Nlc3NQcmVzZWxlY3RlZERhdGUoKTsgfVxuICAgIH1cblxuICAgIHB1YmxpYyB0cmFja0J5TW9udGgoXzogbnVtYmVyLCBtb250aDogQ2FsZW5kYXJQZXJpb2QpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7bW9udGgueWVhcn0tJHttb250aC5tb250aH1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1ByZXNlbGVjdGVkRGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucHJlU2VsZWN0ZWREYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IGdldFN0YXJ0RGF0ZSh0aGlzLnByZVNlbGVjdGVkRGF0ZSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGggPSB7XG4gICAgICAgICAgICAgICAgbW9udGg6IHRoaXMucHJlU2VsZWN0ZWREYXRlLmdldE1vbnRoKCksXG4gICAgICAgICAgICAgICAgeWVhcjogdGhpcy5wcmVTZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblNlbGVjdE1vbnRoKG1vbnRoOiBDYWxlbmRhclBlcmlvZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGggPSBtb250aDtcbiAgICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKG1vbnRoLnllYXIsIG1vbnRoLm1vbnRoLCAxKTtcbiAgICAgICAgdGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQodGhpcy5jdXJyZW50RGF0ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TW9udGhTZWxlY3Rpb25DbGFzcyhtb250aDogQ2FsZW5kYXJQZXJpb2QpOiBzdHJpbmcge1xuXG4gICAgICAgaWYodGhpcy5zZWxlY3RlZE1vbnRoICYmIHRoaXMuc2VsZWN0ZWRNb250aC5tb250aCA9PT0gbW9udGgubW9udGggJiZcbiAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoLnllYXIgPT09IG1vbnRoLnllYXIpIHtcbiAgICAgICAgICAgcmV0dXJuICdzZWxlY3RlZCdcbiAgICAgICB9XG5cbiAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQ3VycmVudE1vbnRoKG1vbnRoOiBDYWxlbmRhclBlcmlvZCkge1xuICAgICAgICBpZihuZXcgRGF0ZSgpLmdldE1vbnRoKCkgPT09IG1vbnRoLm1vbnRoICYmXG4gICAgICAgICAgICBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgPT09IG1vbnRoLnllYXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyU2VsZWN0ZWRNb250aCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoID0gbnVsbDtcbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbi5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFwcGx5U2VsZWN0ZWRNb250aCgpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWRNb250aC55ZWFyLCB0aGlzLnNlbGVjdGVkTW9udGgubW9udGgpXG4gICAgICAgIHRoaXMuY2FsZW5kYXJSZXNwb25zZS5lbWl0KGRhdGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRZZWFyTW9udGhzTGlzdCgpOiBDYWxlbmRhclBlcmlvZFtdIHtcbiAgICAgICAgY29uc3QgbW9udGhzOiBDYWxlbmRhclBlcmlvZFtdID0gW107XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMjsgaSsrKSB7XG4gICAgICAgICAgICBtb250aHMucHVzaCh7bW9udGg6IGksIHllYXI6IHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1vbnRocztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGF0ZSA9IGNoYW5nZURhdGU7XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImdyYXZpdHktY2FsZW5kYXItaGVhZGVyXCIgW2NsYXNzLm1vYmlsZV09XCJpc01vYmlsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaW50ZWdyYXRlZE1vZGVcIiBjbGFzcz1cInByZXZpb3VzLWJ1dHRvblwiIChjbGljayk9XCJjdXJyZW50RGF0ZSA9IGNoYW5nZURhdGUoLTEsIGN1cnJlbnREYXRlLCBmYWxzZSlcIj5cbiAgICAgICAgICAgIDxncmF2aXR5LWljb24gKm5nSWY9XCIhZGlzYWJsZWRcIiBbc3R5bGUuLS1pY29uLWNvbG9yXT1cIid2YXIoLS10ZXh0LWhpZ2hsaWdodC1wcmltYXJ5KSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiJ2Fycm93LWxlZnQnXCIgW2ljb25TaXplXT1cIidzbS0xMidcIiA+IDwvZ3Jhdml0eS1pY29uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwieWVhci1sYWJlbFwiPlxuICAgICAgICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWwgW3N0YXRlXT1cImludGVncmF0ZWRNb2RlICYmICFkaXNhYmxlZCA/ICdhY3RpdmUnIDogJ2luYWN0aXZlJ1wiIFtmb250Q2xhc3NdPVwiJ2hyLXRpdGxlIHNtLWJvbGQnXCIgW3NpemVdPVwiJ3NtJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiaW50ZWdyYXRlZE1vZGUgPyBtb250aHNMaXN0W2N1cnJlbnREYXRlLmdldE1vbnRoKCldIDogY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc09wZW5dPVwiaW50ZWdyYXRlZE1vZGVcIiAob25DbGlja0xhYmVsKT1cImNhbGVuZGFyUmVzcG9uc2UuZW1pdChjdXJyZW50RGF0ZSlcIiA+IDwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFpbnRlZ3JhdGVkTW9kZVwiIGNsYXNzPVwibmV4dC1idXR0b25cIiAoY2xpY2spPVwiY3VycmVudERhdGUgPSBjaGFuZ2VEYXRlKDEsIGN1cnJlbnREYXRlLCBmYWxzZSlcIj5cbiAgICAgICAgICAgIDxncmF2aXR5LWljb24gKm5nSWY9XCIhZGlzYWJsZWRcIiBbc3R5bGUuLS1pY29uLWNvbG9yXT1cIid2YXIoLS10ZXh0LWhpZ2hsaWdodC1wcmltYXJ5KSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiJ2Fycm93LXJpZ2h0J1wiIFtpY29uU2l6ZV09XCInc20tMTInXCI+IDwvZ3Jhdml0eS1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3ItbGluZVwiPjwvZGl2PlxuPC9zZWN0aW9uPlxuXG48c2VjdGlvbiBjbGFzcz1cImdyYXZpdHktY2FsZW5kYXItYm9keVwiIFtjbGFzcy5tb2JpbGVdPVwiaXNNb2JpbGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbXMtdGFibGVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWJvZHkgc20tcmVndWxhciBpdGVtXCIgKm5nRm9yPVwibGV0IG1vbnRoIG9mIGdldFllYXJNb250aHNMaXN0KCksIHRyYWNrQnk6IHRyYWNrQnlNb250aFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogZ2V0TW9udGhTZWxlY3Rpb25DbGFzcyhtb250aClcIiAoY2xpY2spPVwib25TZWxlY3RNb250aChtb250aClcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5jdXJyZW50XT1cImlzQ3VycmVudE1vbnRoKG1vbnRoKVwiPiB7eyBtb250aHNTaG9ydExpc3RbbW9udGgubW9udGhdIH19IDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJhY3Rpb25zU2VjdGlvblwiIGNsYXNzPVwiYWN0aW9uLXNlY3Rpb25cIiA+XG4gICAgICAgIDxncmF2aXR5LWxpbmsgW2xpbmtUZXh0XT1cImkxOG4uY2xlYXJcIiBbc3RhdGVdPVwiIXNlbGVjdGVkTW9udGggPyAnZGlzYWJsZWQnIDogJ2FjdGl2ZSdcIiAoY2xpY2spPVwiY2xlYXJTZWxlY3RlZE1vbnRoKClcIj48L2dyYXZpdHktbGluaz5cbiAgICAgICAgPGdyYXZpdHktYnV0dG9uIFtzaXplXT1cIidzbSdcIiBbdHlwZV09XCIndGVydGlhcnknXCIgW2Rpc2FibGVkXT1cIiFzZWxlY3RlZE1vbnRoXCIgKGNsaWNrKT1cImFwcGx5U2VsZWN0ZWRNb250aCgpXCI+e3tpMThuLmFwcGx5fX08L2dyYXZpdHktYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLW5leHQvY29tcG9uZW50cy9tb250aC1jYWxlbmRhci9tb250aC1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL21vbnRoLWNhbGVuZGFyL21vbnRoLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sR0FBaUIsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQU90SCxNQUFNLE9BQU8sc0JBQXNCO0lBTG5DO1FBT29CLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFL0IsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFdEcsZ0JBQVcsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBdUVuQixlQUFVLEdBQUcsVUFBVSxDQUFDO0tBQzlDO0lBckVHLElBQVcsSUFBSSxLQUFLLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFV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RUFBRSxDQUFDO1FBRXBDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEVBQUMsQ0FBQyxDQUFDO1NBQ2pFO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzsrR0E5RVEsc0JBQXNCO21HQUF0QixzQkFBc0IsMFFDVm5DLG94RUFpQ1U7OzRGRHZCRyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQUtSLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBRVcsY0FBYztzQkFBOUIsTUFBTTtnQkFDb0IsZ0JBQWdCO3NCQUExQyxNQUFNO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NhbGVuZGFyQXBwZWFyYW5jZSwgQ2FsZW5kYXJQZXJpb2R9IGZyb20gXCIuLi8uLi9zaGFyZWQvY2FsZW5kYXIubW9kYWxcIjtcbmltcG9ydCB7Y2hhbmdlRGF0ZSwgZ2V0U3RhcnREYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLnV0aWxzXCI7XG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q0FMRU5EQVJfSTE4TiwgTU9OVEhTX0VOLCBNT05USFNfU0hPUlRfRU4sIE1PTlRIU19FUywgTU9OVEhTX1NIT1JUX0VTfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2NhbGVuZGFyLmNvbnN0YW50c1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb250aC1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb250aC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vbnRoLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTW9udGhDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgcHVibGljIGluaXREYXRlOiBEYXRlIHwgRGF0ZVtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByZXN0YXJ0OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGFwcGVhcmFuY2U6IENhbGVuZGFyQXBwZWFyYW5jZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaW50ZWdyYXRlZE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJTZWxlY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCdyZXNwb25zZScpIHB1YmxpYyBjYWxlbmRhclJlc3BvbnNlOiBFdmVudEVtaXR0ZXI8RGF0ZVtdIHwgRGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+KCk7XG5cbiAgICBwdWJsaWMgY3VycmVudERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHB1YmxpYyBzZWxlY3RlZE1vbnRoOiBDYWxlbmRhclBlcmlvZDtcblxuICAgIHB1YmxpYyBnZXQgaTE4bigpIHsgcmV0dXJuIENBTEVOREFSX0kxOE5bdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlXTsgfVxuICAgIHB1YmxpYyBnZXQgbW9udGhzTGlzdCgpIHsgcmV0dXJuIHRoaXMuYXBwZWFyYW5jZS5sYW5ndWFnZSA9PT0gJ2VuJyA/IE1PTlRIU19FTiA6IE1PTlRIU19FUzsgfVxuICAgIHB1YmxpYyBnZXQgbW9udGhzU2hvcnRMaXN0KCkgeyByZXR1cm4gdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlID09PSAnZW4nID8gTU9OVEhTX1NIT1JUX0VOIDogTU9OVEhTX1NIT1JUX0VTOyB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNob3VsZFJlc3RhcnQgPSBjaGFuZ2VzWydyZXN0YXJ0J10gJiYgdGhpcy5yZXN0YXJ0O1xuICAgICAgICBjb25zdCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQgPSBjaGFuZ2VzWydwcmVTZWxlY3RlZERhdGUnXSAmJiB0aGlzLmluaXREYXRlO1xuICAgICAgICBpZiAoc2hvdWxkUmVzdGFydCB8fCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQpIHsgdGhpcy5wcm9jZXNzSW5pdERhdGUoKTsgfVxuICAgIH1cblxuICAgIHB1YmxpYyB0cmFja0J5TW9udGgoXzogbnVtYmVyLCBtb250aDogQ2FsZW5kYXJQZXJpb2QpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7bW9udGgueWVhcn0tJHttb250aC5tb250aH1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0luaXREYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbml0RGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUodGhpcy5pbml0RGF0ZSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGggPSB7XG4gICAgICAgICAgICAgICAgbW9udGg6IHRoaXMuaW5pdERhdGUuZ2V0TW9udGgoKSxcbiAgICAgICAgICAgICAgICB5ZWFyOiB0aGlzLmluaXREYXRlLmdldEZ1bGxZZWFyKClcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3RNb250aChtb250aDogQ2FsZW5kYXJQZXJpb2QpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoID0gbW9udGg7XG4gICAgICAgIHRoaXMuY3VycmVudERhdGUgPSBuZXcgRGF0ZShtb250aC55ZWFyLCBtb250aC5tb250aCwgMSk7XG4gICAgICAgIHRoaXMuY2FsZW5kYXJSZXNwb25zZS5lbWl0KHRoaXMuY3VycmVudERhdGUpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1vbnRoU2VsZWN0aW9uQ2xhc3MobW9udGg6IENhbGVuZGFyUGVyaW9kKTogc3RyaW5nIHtcblxuICAgICAgIGlmKHRoaXMuc2VsZWN0ZWRNb250aCAmJiB0aGlzLnNlbGVjdGVkTW9udGgubW9udGggPT09IG1vbnRoLm1vbnRoICYmXG4gICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aC55ZWFyID09PSBtb250aC55ZWFyKSB7XG4gICAgICAgICAgIHJldHVybiAnc2VsZWN0ZWQnXG4gICAgICAgfVxuXG4gICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0N1cnJlbnRNb250aChtb250aDogQ2FsZW5kYXJQZXJpb2QpIHtcbiAgICAgICAgaWYobmV3IERhdGUoKS5nZXRNb250aCgpID09PSBtb250aC5tb250aCAmJlxuICAgICAgICAgICAgbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpID09PSBtb250aC55ZWFyKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhclNlbGVjdGVkTW9udGgoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IG51bGw7XG4gICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24uZW1pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhcHBseVNlbGVjdGVkTW9udGgoKSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkTW9udGgueWVhciwgdGhpcy5zZWxlY3RlZE1vbnRoLm1vbnRoKVxuICAgICAgICB0aGlzLmNhbGVuZGFyUmVzcG9uc2UuZW1pdChkYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0WWVhck1vbnRoc0xpc3QoKTogQ2FsZW5kYXJQZXJpb2RbXSB7XG4gICAgICAgIGNvbnN0IG1vbnRoczogQ2FsZW5kYXJQZXJpb2RbXSA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTI7IGkrKykge1xuICAgICAgICAgICAgbW9udGhzLnB1c2goe21vbnRoOiBpLCB5ZWFyOiB0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCl9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtb250aHM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURhdGUgPSBjaGFuZ2VEYXRlO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJncmF2aXR5LWNhbGVuZGFyLWhlYWRlclwiIFtjbGFzcy5tb2JpbGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaW50ZWdyYXRlZE1vZGVcIiBjbGFzcz1cInByZXZpb3VzLWJ1dHRvblwiIChjbGljayk9XCJjdXJyZW50RGF0ZSA9IGNoYW5nZURhdGUoLTEsIGN1cnJlbnREYXRlLCBmYWxzZSlcIj5cbiAgICAgICAgICAgIDxncmF2aXR5LWljb24gKm5nSWY9XCJhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnXCIgW3N0eWxlLi0taWNvbi1jb2xvcl09XCIndmFyKC0tdGV4dC1oaWdobGlnaHQtcHJpbWFyeSknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cIidhcnJvdy1sZWZ0J1wiIFtpY29uU2l6ZV09XCInc20tMTInXCIgPiA8L2dyYXZpdHktaWNvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInllYXItbGFiZWxcIj5cbiAgICAgICAgICAgIDxncmF2aXR5LWRyb3Bkb3duLWxhYmVsIFtzdGF0ZV09XCJpbnRlZ3JhdGVkTW9kZSAmJiBhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnID8gJ2FjdGl2ZScgOiAnaW5hY3RpdmUnXCIgW2ZvbnRDbGFzc109XCInaHItdGl0bGUgc20tYm9sZCdcIiBbc2l6ZV09XCInc20nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpbnRlZ3JhdGVkTW9kZSA/IG1vbnRoc0xpc3RbY3VycmVudERhdGUuZ2V0TW9udGgoKV0gOiBjdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzT3Blbl09XCJpbnRlZ3JhdGVkTW9kZVwiIChvbkNsaWNrTGFiZWwpPVwiY2FsZW5kYXJSZXNwb25zZS5lbWl0KGN1cnJlbnREYXRlKVwiID4gPC9ncmF2aXR5LWRyb3Bkb3duLWxhYmVsPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWludGVncmF0ZWRNb2RlXCIgY2xhc3M9XCJuZXh0LWJ1dHRvblwiIChjbGljayk9XCJjdXJyZW50RGF0ZSA9IGNoYW5nZURhdGUoMSwgY3VycmVudERhdGUsIGZhbHNlKVwiPlxuICAgICAgICAgICAgPGdyYXZpdHktaWNvbiAqbmdJZj1cImFwcGVhcmFuY2Uuc3RhdGUgIT09ICdkaXNhYmxlZCdcIiBbc3R5bGUuLS1pY29uLWNvbG9yXT1cIid2YXIoLS10ZXh0LWhpZ2hsaWdodC1wcmltYXJ5KSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiJ2Fycm93LXJpZ2h0J1wiIFtpY29uU2l6ZV09XCInc20tMTInXCI+IDwvZ3Jhdml0eS1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3ItbGluZVwiPjwvZGl2PlxuPC9zZWN0aW9uPlxuXG48c2VjdGlvbiBjbGFzcz1cImdyYXZpdHktY2FsZW5kYXItYm9keVwiIFtjbGFzcy5tb2JpbGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtcy10YWJsZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaHItYm9keSBzbS1yZWd1bGFyIGl0ZW1cIiAqbmdGb3I9XCJsZXQgbW9udGggb2YgZ2V0WWVhck1vbnRoc0xpc3QoKSwgdHJhY2tCeTogdHJhY2tCeU1vbnRoXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJhcHBlYXJhbmNlLnN0YXRlID09PSAnZGlzYWJsZWQnID8gJ2Rpc2FibGVkJyA6IGdldE1vbnRoU2VsZWN0aW9uQ2xhc3MobW9udGgpXCIgKGNsaWNrKT1cIm9uU2VsZWN0TW9udGgobW9udGgpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuY3VycmVudF09XCJpc0N1cnJlbnRNb250aChtb250aClcIj4ge3sgbW9udGhzU2hvcnRMaXN0W21vbnRoLm1vbnRoXSB9fSA8L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiYXBwZWFyYW5jZS5hY3Rpb25zXCIgY2xhc3M9XCJhY3Rpb24tc2VjdGlvblwiID5cbiAgICAgICAgPGdyYXZpdHktbGluayBbbGlua1RleHRdPVwiaTE4bi5jbGVhclwiIFtzdGF0ZV09XCIhc2VsZWN0ZWRNb250aCA/ICdkaXNhYmxlZCcgOiAnYWN0aXZlJ1wiIChjbGljayk9XCJjbGVhclNlbGVjdGVkTW9udGgoKVwiPjwvZ3Jhdml0eS1saW5rPlxuICAgICAgICA8Z3Jhdml0eS1idXR0b24gW3NpemVdPVwiJ3NtJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIiBbZGlzYWJsZWRdPVwiIXNlbGVjdGVkTW9udGhcIiAoY2xpY2spPVwiYXBwbHlTZWxlY3RlZE1vbnRoKClcIj57e2kxOG4uYXBwbHl9fTwvZ3Jhdml0eS1idXR0b24+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+Il19