@odx/angular 2.6.1 → 2.7.0

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 (174) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/cdk/autocomplete-control/index.d.ts +0 -1
  3. package/cdk/autocomplete-control/lib/autocomplete-control.d.ts +2 -3
  4. package/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.d.ts +3 -3
  5. package/cdk/custom-form-control/index.d.ts +1 -0
  6. package/cdk/{autocomplete-control/lib/abstract/base-search-field.directive.d.ts → custom-form-control/lib/input-control.directive.d.ts} +3 -3
  7. package/charts-config/lib/charts-theme.directive.d.ts +1 -1
  8. package/charts-config/lib/charts-theme.service.d.ts +3 -3
  9. package/components/autocomplete/lib/autocomplete.component.d.ts +2 -2
  10. package/components/autocomplete/lib/autocomplete.module.d.ts +2 -2
  11. package/components/autocomplete/lib/directives/autocomplete-input-control.directive.d.ts +9 -0
  12. package/components/autocomplete/lib/directives/index.d.ts +1 -1
  13. package/components/calendar/README.md +3 -0
  14. package/components/calendar/index.d.ts +5 -0
  15. package/components/calendar/lib/calendar.component.d.ts +18 -0
  16. package/components/calendar/lib/calendar.config.d.ts +100 -0
  17. package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +27 -0
  18. package/components/calendar/lib/components/calendar-header/index.d.ts +1 -0
  19. package/components/calendar/lib/components/calendar-month/calendar-month.component.d.ts +21 -0
  20. package/components/calendar/lib/components/calendar-month/index.d.ts +1 -0
  21. package/components/calendar/lib/components/calendar-year/calendar-year.component.d.ts +18 -0
  22. package/components/calendar/lib/components/calendar-year/index.d.ts +1 -0
  23. package/components/calendar/lib/components/calendar-years/calendar-years.component.d.ts +20 -0
  24. package/components/calendar/lib/components/calendar-years/index.d.ts +1 -0
  25. package/components/calendar/lib/components/index.d.ts +4 -0
  26. package/components/calendar/lib/directives/calendar-cell.directive.d.ts +34 -0
  27. package/components/calendar/lib/directives/calendar-view.directive.d.ts +29 -0
  28. package/components/calendar/lib/directives/index.d.ts +2 -0
  29. package/components/calendar/lib/enums/calendar-view.enum.d.ts +5 -0
  30. package/components/calendar/lib/enums/index.d.ts +1 -0
  31. package/components/calendar/lib/models/date-filter.d.ts +1 -0
  32. package/components/calendar/lib/models/date-type.d.ts +1 -0
  33. package/components/calendar/lib/models/date-validator.d.ts +1 -0
  34. package/components/calendar/lib/models/index.d.ts +3 -0
  35. package/components/calendar/lib/pipes/date-label.pipe.d.ts +18 -0
  36. package/components/calendar/lib/pipes/index.d.ts +1 -0
  37. package/components/calendar/lib/services/calendar-month.service.d.ts +13 -0
  38. package/components/calendar/lib/services/calendar-year.service.d.ts +11 -0
  39. package/components/calendar/lib/services/calendar-years.service.d.ts +9 -0
  40. package/components/calendar/lib/services/calendar.service.d.ts +25 -0
  41. package/components/calendar/lib/services/index.d.ts +4 -0
  42. package/components/calendar/lib/utils/check-identical-date.d.ts +2 -0
  43. package/components/calendar/lib/utils/get-A11y-label.d.ts +3 -0
  44. package/components/calendar/lib/utils/index.d.ts +7 -0
  45. package/components/calendar/lib/utils/parse-date.d.ts +2 -0
  46. package/components/calendar/lib/utils/validate-max-date.d.ts +2 -0
  47. package/components/calendar/lib/utils/validate-min-date.d.ts +2 -0
  48. package/components/calendar/lib/utils/validate-next-date-set.d.ts +2 -0
  49. package/components/calendar/lib/utils/validate-previous-date-set.d.ts +2 -0
  50. package/components/datepicker/README.md +3 -0
  51. package/components/datepicker/index.d.ts +5 -0
  52. package/components/datepicker/lib/datepicker.component.d.ts +37 -0
  53. package/components/datepicker/lib/datepicker.config.d.ts +29 -0
  54. package/components/datepicker/lib/datepicker.module.d.ts +9 -0
  55. package/components/datepicker/lib/directives/datepicker-input-control.directive.d.ts +24 -0
  56. package/components/datepicker/lib/directives/index.d.ts +1 -0
  57. package/components/datepicker/lib/models/datepicker-input-date-order.d.ts +6 -0
  58. package/components/datepicker/lib/models/datepicker-input-pattern.d.ts +11 -0
  59. package/components/datepicker/lib/models/index.d.ts +2 -0
  60. package/components/datepicker/lib/utils/get-datepicker-input-pattern.d.ts +3 -0
  61. package/components/datepicker/lib/utils/get-datepicker-input-value-as-date.d.ts +2 -0
  62. package/components/datepicker/lib/utils/index.d.ts +2 -0
  63. package/components/select/lib/directives/index.d.ts +1 -1
  64. package/components/select/lib/directives/select-input-control.directive.d.ts +9 -0
  65. package/components/select/lib/select.component.d.ts +2 -2
  66. package/components/select/lib/select.module.d.ts +2 -2
  67. package/esm2020/cdk/autocomplete-control/index.mjs +1 -2
  68. package/esm2020/cdk/autocomplete-control/lib/autocomplete-control.mjs +1 -1
  69. package/esm2020/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.mjs +1 -1
  70. package/esm2020/cdk/custom-form-control/index.mjs +2 -1
  71. package/esm2020/cdk/custom-form-control/lib/input-control.directive.mjs +35 -0
  72. package/esm2020/charts-config/lib/charts-theme.directive.mjs +5 -5
  73. package/esm2020/charts-config/lib/charts-theme.module.mjs +4 -4
  74. package/esm2020/charts-config/lib/charts-theme.service.mjs +5 -5
  75. package/esm2020/components/autocomplete/lib/autocomplete.component.mjs +4 -5
  76. package/esm2020/components/autocomplete/lib/autocomplete.module.mjs +4 -4
  77. package/esm2020/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +32 -0
  78. package/esm2020/components/autocomplete/lib/directives/index.mjs +2 -2
  79. package/esm2020/components/calendar/index.mjs +6 -0
  80. package/esm2020/components/calendar/lib/calendar.component.mjs +57 -0
  81. package/esm2020/components/calendar/lib/calendar.config.mjs +15 -0
  82. package/esm2020/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +51 -0
  83. package/esm2020/components/calendar/lib/components/calendar-header/index.mjs +2 -0
  84. package/esm2020/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +59 -0
  85. package/esm2020/components/calendar/lib/components/calendar-month/index.mjs +2 -0
  86. package/esm2020/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +57 -0
  87. package/esm2020/components/calendar/lib/components/calendar-year/index.mjs +2 -0
  88. package/esm2020/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +65 -0
  89. package/esm2020/components/calendar/lib/components/calendar-years/index.mjs +2 -0
  90. package/esm2020/components/calendar/lib/components/index.mjs +5 -0
  91. package/esm2020/components/calendar/lib/directives/calendar-cell.directive.mjs +92 -0
  92. package/esm2020/components/calendar/lib/directives/calendar-view.directive.mjs +39 -0
  93. package/esm2020/components/calendar/lib/directives/index.mjs +3 -0
  94. package/esm2020/components/calendar/lib/enums/calendar-view.enum.mjs +7 -0
  95. package/esm2020/components/calendar/lib/enums/index.mjs +2 -0
  96. package/esm2020/components/calendar/lib/models/date-filter.mjs +2 -0
  97. package/esm2020/components/calendar/lib/models/date-type.mjs +2 -0
  98. package/esm2020/components/calendar/lib/models/date-validator.mjs +2 -0
  99. package/esm2020/components/calendar/lib/models/index.mjs +4 -0
  100. package/esm2020/components/calendar/lib/pipes/date-label.pipe.mjs +25 -0
  101. package/esm2020/components/calendar/lib/pipes/index.mjs +2 -0
  102. package/esm2020/components/calendar/lib/services/calendar-month.service.mjs +38 -0
  103. package/esm2020/components/calendar/lib/services/calendar-year.service.mjs +31 -0
  104. package/esm2020/components/calendar/lib/services/calendar-years.service.mjs +33 -0
  105. package/esm2020/components/calendar/lib/services/calendar.service.mjs +74 -0
  106. package/esm2020/components/calendar/lib/services/index.mjs +5 -0
  107. package/esm2020/components/calendar/lib/utils/check-identical-date.mjs +11 -0
  108. package/esm2020/components/calendar/lib/utils/get-A11y-label.mjs +10 -0
  109. package/esm2020/components/calendar/lib/utils/index.mjs +8 -0
  110. package/esm2020/components/calendar/lib/utils/parse-date.mjs +15 -0
  111. package/esm2020/components/calendar/lib/utils/validate-max-date.mjs +11 -0
  112. package/esm2020/components/calendar/lib/utils/validate-min-date.mjs +11 -0
  113. package/esm2020/components/calendar/lib/utils/validate-next-date-set.mjs +12 -0
  114. package/esm2020/components/calendar/lib/utils/validate-previous-date-set.mjs +12 -0
  115. package/esm2020/components/calendar/odx-angular-components-calendar.mjs +5 -0
  116. package/esm2020/components/datepicker/index.mjs +6 -0
  117. package/esm2020/components/datepicker/lib/datepicker.component.mjs +118 -0
  118. package/esm2020/components/datepicker/lib/datepicker.config.mjs +7 -0
  119. package/esm2020/components/datepicker/lib/datepicker.module.mjs +19 -0
  120. package/esm2020/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +60 -0
  121. package/esm2020/components/datepicker/lib/directives/index.mjs +2 -0
  122. package/esm2020/components/datepicker/lib/models/datepicker-input-date-order.mjs +6 -0
  123. package/esm2020/components/datepicker/lib/models/datepicker-input-pattern.mjs +11 -0
  124. package/esm2020/components/datepicker/lib/models/index.mjs +3 -0
  125. package/esm2020/components/datepicker/lib/utils/get-datepicker-input-pattern.mjs +16 -0
  126. package/esm2020/components/datepicker/lib/utils/get-datepicker-input-value-as-date.mjs +30 -0
  127. package/esm2020/components/datepicker/lib/utils/index.mjs +3 -0
  128. package/esm2020/components/datepicker/odx-angular-components-datepicker.mjs +5 -0
  129. package/esm2020/components/select/lib/directives/index.mjs +2 -2
  130. package/esm2020/components/select/lib/directives/select-input-control.directive.mjs +35 -0
  131. package/esm2020/components/select/lib/select.component.mjs +4 -4
  132. package/esm2020/components/select/lib/select.module.mjs +4 -4
  133. package/esm2020/utils/lib/helpers/index.mjs +2 -2
  134. package/fesm2015/odx-angular-cdk-autocomplete-control.mjs +4 -39
  135. package/fesm2015/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  136. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +34 -2
  137. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  138. package/fesm2015/odx-angular-charts-config.mjs +10 -10
  139. package/fesm2015/odx-angular-charts-config.mjs.map +1 -1
  140. package/fesm2015/odx-angular-components-autocomplete.mjs +15 -12
  141. package/fesm2015/odx-angular-components-autocomplete.mjs.map +1 -1
  142. package/fesm2015/odx-angular-components-calendar.mjs +623 -0
  143. package/fesm2015/odx-angular-components-calendar.mjs.map +1 -0
  144. package/fesm2015/odx-angular-components-datepicker.mjs +249 -0
  145. package/fesm2015/odx-angular-components-datepicker.mjs.map +1 -0
  146. package/fesm2015/odx-angular-components-select.mjs +14 -13
  147. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  148. package/fesm2015/odx-angular-utils.mjs +21 -21
  149. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  150. package/fesm2020/odx-angular-cdk-autocomplete-control.mjs +4 -39
  151. package/fesm2020/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  152. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +34 -2
  153. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  154. package/fesm2020/odx-angular-charts-config.mjs +10 -10
  155. package/fesm2020/odx-angular-charts-config.mjs.map +1 -1
  156. package/fesm2020/odx-angular-components-autocomplete.mjs +15 -12
  157. package/fesm2020/odx-angular-components-autocomplete.mjs.map +1 -1
  158. package/fesm2020/odx-angular-components-calendar.mjs +621 -0
  159. package/fesm2020/odx-angular-components-calendar.mjs.map +1 -0
  160. package/fesm2020/odx-angular-components-datepicker.mjs +249 -0
  161. package/fesm2020/odx-angular-components-datepicker.mjs.map +1 -0
  162. package/fesm2020/odx-angular-components-select.mjs +14 -13
  163. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  164. package/fesm2020/odx-angular-utils.mjs +21 -21
  165. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  166. package/package.json +21 -3
  167. package/utils/lib/helpers/index.d.ts +1 -1
  168. package/cdk/autocomplete-control/lib/abstract/index.d.ts +0 -1
  169. package/components/autocomplete/lib/directives/autocomplete-search-field.directive.d.ts +0 -9
  170. package/components/select/lib/directives/select-search-field.directive.d.ts +0 -9
  171. package/esm2020/cdk/autocomplete-control/lib/abstract/base-search-field.directive.mjs +0 -38
  172. package/esm2020/cdk/autocomplete-control/lib/abstract/index.mjs +0 -2
  173. package/esm2020/components/autocomplete/lib/directives/autocomplete-search-field.directive.mjs +0 -26
  174. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +0 -35
@@ -0,0 +1,65 @@
1
+ import { __decorate } from "tslib";
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';
4
+ import { CoreModule } from '@odx/angular';
5
+ import { CSSComponent } from '@odx/angular/internal';
6
+ import { deferFn, isFunction } from '@odx/angular/utils';
7
+ import { addMonths, getYear, setYear, subMonths } from 'date-fns';
8
+ import { CalendarCellDirective, CalendarViewDirective } from '../../directives';
9
+ import { CalendarViewEnum } from '../../enums';
10
+ import { DateLabelPipe } from '../../pipes';
11
+ import { CalendarYearsService } from '../../services';
12
+ import { CalendarHeaderComponent } from '../calendar-header';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/common";
15
+ import * as i2 from "@odx/angular";
16
+ let CalendarYearsComponent = class CalendarYearsComponent extends CalendarViewDirective {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.document = inject(DOCUMENT);
20
+ this.calendarYears = inject(CalendarYearsService);
21
+ this.calendarNextView = CalendarViewEnum.Year;
22
+ this.calendarCurrentView = CalendarViewEnum.Years;
23
+ }
24
+ ngAfterViewInit() {
25
+ deferFn(() => this.scrollCurrentYearIntoView());
26
+ }
27
+ previousYear(event) {
28
+ this.updateActiveDate(event, subMonths(this.activeDate, 12));
29
+ }
30
+ nextYear(event) {
31
+ this.updateActiveDate(event, addMonths(this.activeDate, 12));
32
+ }
33
+ previousRow(event) {
34
+ this.updateActiveDate(event, subMonths(this.activeDate, 12 * 3));
35
+ }
36
+ nextRow(event) {
37
+ this.updateActiveDate(event, addMonths(this.activeDate, 12 * 3));
38
+ }
39
+ selectDate(value) {
40
+ if (this.isDateDisabled(value))
41
+ return;
42
+ const date = setYear(this.calendar.activeDate, getYear(value));
43
+ this.calendar.selectDate(date);
44
+ this.changeView();
45
+ }
46
+ scrollCurrentYearIntoView() {
47
+ const selectedYear = this.document.querySelector('.odx-calendar-cell.is-selected');
48
+ const currentYear = this.document.querySelector('.odx-calendar-cell--is-current');
49
+ const element = selectedYear || currentYear;
50
+ if (element && isFunction(element.scrollIntoView)) {
51
+ element.scrollIntoView({ block: 'center', behavior: 'smooth' });
52
+ }
53
+ }
54
+ };
55
+ CalendarYearsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
56
+ CalendarYearsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CalendarYearsComponent, isStandalone: true, selector: "odx-calendar-years", providers: [CalendarYearsService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n *ngIf=\"calendar.activeDate$ | async as activeDate\"\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; let i = index; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellSelectedDate]=\"calendar.selectedDate$ | async\"\n [odxCalendarCellCalendarView]=\"calendarCurrentView\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: config.yearLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
57
+ CalendarYearsComponent = __decorate([
58
+ CSSComponent('calendar-years')
59
+ ], CalendarYearsComponent);
60
+ export { CalendarYearsComponent };
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearsComponent, decorators: [{
62
+ type: Component,
63
+ args: [{ selector: 'odx-calendar-years', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearsService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n *ngIf=\"calendar.activeDate$ | async as activeDate\"\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; let i = index; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellSelectedDate]=\"calendar.selectedDate$ | async\"\n [odxCalendarCellCalendarView]=\"calendarCurrentView\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: config.yearLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
64
+ }] });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLXllYXJzL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci15ZWFycy9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFZdEQsSUFBTSxzQkFBc0IsR0FBNUIsTUFBTSxzQkFBdUIsU0FBUSxxQkFBcUI7SUFBMUQ7O1FBQ1ksYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUxQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRTdDLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUN6Qyx3QkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7S0F5Q2pFO0lBdkNRLGVBQWU7UUFDcEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQVk7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxXQUFXLENBQUMsS0FBWTtRQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxPQUFPLENBQUMsS0FBWTtRQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBVztRQUMzQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUV2QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTSx5QkFBeUI7UUFDOUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNuRixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBRWxGLE1BQU0sT0FBTyxHQUFHLFlBQVksSUFBSSxXQUFXLENBQUM7UUFFNUMsSUFBSSxPQUFPLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNqRCxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7O21IQTlDVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixpRUFGdEIsQ0FBQyxvQkFBb0IsQ0FBQyxpRENwQm5DLHFtQ0E2QkEsMkNEYlksVUFBVSx1WkFBRSxxQkFBcUIsaUxBQTJCLGFBQWE7QUFNeEUsc0JBQXNCO0lBVmxDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztHQVVsQixzQkFBc0IsQ0ErQ2xDO1NBL0NZLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQVRsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxVQUFVLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxDQUFDLG1CQUVuRSx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBkZWZlckZuLCBpc0Z1bmN0aW9uIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGFkZE1vbnRocywgZ2V0WWVhciwgc2V0WWVhciwgc3ViTW9udGhzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDZWxsRGlyZWN0aXZlLCBDYWxlbmRhclZpZXdEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENhbGVuZGFyVmlld0VudW0gfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBEYXRlTGFiZWxQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJZZWFyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYWxlbmRhckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NhbGVuZGFyLWhlYWRlcic7XG5cbkBDU1NDb21wb25lbnQoJ2NhbGVuZGFyLXllYXJzJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYWxlbmRhci15ZWFycycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBDYWxlbmRhckNlbGxEaXJlY3RpdmUsIENhbGVuZGFySGVhZGVyQ29tcG9uZW50LCBEYXRlTGFiZWxQaXBlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW0NhbGVuZGFyWWVhcnNTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJZZWFyc0NvbXBvbmVudCBleHRlbmRzIENhbGVuZGFyVmlld0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJZZWFycyA9IGluamVjdChDYWxlbmRhclllYXJzU2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyTmV4dFZpZXcgPSBDYWxlbmRhclZpZXdFbnVtLlllYXI7XG4gIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhckN1cnJlbnRWaWV3ID0gQ2FsZW5kYXJWaWV3RW51bS5ZZWFycztcblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGRlZmVyRm4oKCkgPT4gdGhpcy5zY3JvbGxDdXJyZW50WWVhckludG9WaWV3KCkpO1xuICB9XG5cbiAgcHVibGljIHByZXZpb3VzWWVhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1Yk1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEyKSk7XG4gIH1cblxuICBwdWJsaWMgbmV4dFllYXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGRNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMikpO1xuICB9XG5cbiAgcHVibGljIHByZXZpb3VzUm93KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgc3ViTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIgKiAzKSk7XG4gIH1cblxuICBwdWJsaWMgbmV4dFJvdyhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZE1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEyICogMykpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdERhdGUodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0RhdGVEaXNhYmxlZCh2YWx1ZSkpIHJldHVybjtcblxuICAgIGNvbnN0IGRhdGUgPSBzZXRZZWFyKHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSwgZ2V0WWVhcih2YWx1ZSkpO1xuICAgIHRoaXMuY2FsZW5kYXIuc2VsZWN0RGF0ZShkYXRlKTtcblxuICAgIHRoaXMuY2hhbmdlVmlldygpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbEN1cnJlbnRZZWFySW50b1ZpZXcoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRZZWFyID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub2R4LWNhbGVuZGFyLWNlbGwuaXMtc2VsZWN0ZWQnKTtcbiAgICBjb25zdCBjdXJyZW50WWVhciA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm9keC1jYWxlbmRhci1jZWxsLS1pcy1jdXJyZW50Jyk7XG5cbiAgICBjb25zdCBlbGVtZW50ID0gc2VsZWN0ZWRZZWFyIHx8IGN1cnJlbnRZZWFyO1xuXG4gICAgaWYgKGVsZW1lbnQgJiYgaXNGdW5jdGlvbihlbGVtZW50LnNjcm9sbEludG9WaWV3KSkge1xuICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnY2VudGVyJywgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwib2R4LWNhbGVuZGFyX190YWJsZVwiIHJvbGU9XCJncmlkXCIgYXJpYS1kZXNjcmliZWRieT1cIm9keC1jYWxlbmRhclwiPlxuICA8dGhlYWQgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgPHRoPjwvdGg+XG4gIDwvdGhlYWQ+XG5cbiAgPHRib2R5XG4gICAgKm5nSWY9XCJjYWxlbmRhci5hY3RpdmVEYXRlJCB8IGFzeW5jIGFzIGFjdGl2ZURhdGVcIlxuICAgIGNsYXNzPVwib2R4LWNhbGVuZGFyX19ib2R5XCJcbiAgICAoa2V5ZG93bi5BcnJvd0xlZnQpPVwicHJldmlvdXNZZWFyKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93UmlnaHQpPVwibmV4dFllYXIoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dVcCk9XCJwcmV2aW91c1JvdygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd0Rvd24pPVwibmV4dFJvdygkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciBjbGFzcz1cIm9keC1jYWxlbmRhcl9feWVhci1yb3dcIiAqbmdGb3I9XCJsZXQgeWVhclJvdyBvZiBjYWxlbmRhclllYXJzLnllYXJzOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgIDx0ZCByb2xlPVwiZ3JpZGNlbGxcIiAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyUm93OyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0RhdGVEaXNhYmxlZCh5ZWFyKVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbF09XCJ5ZWFyXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cImNhbGVuZGFyLnNlbGVjdGVkRGF0ZSQgfCBhc3luY1wiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbENhbGVuZGFyVmlld109XCJjYWxlbmRhckN1cnJlbnRWaWV3XCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZSh5ZWFyKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB5ZWFyIHwgb2R4RGF0ZUxhYmVsOiBjb25maWcueWVhckxhYmVsIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './calendar-years.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIteWVhcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIteWVhcnMuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './calendar-header';
2
+ export * from './calendar-month';
3
+ export * from './calendar-year';
4
+ export * from './calendar-years';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXItaGVhZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXItbW9udGgnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci15ZWFyJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIteWVhcnMnO1xuIl19
@@ -0,0 +1,92 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Directive, inject, Input } from '@angular/core';
3
+ import { DisabledController } from '@odx/angular';
4
+ import { CSSComponent, CSSModifier } from '@odx/angular/internal';
5
+ import { deferFn, hasChanged, injectElement } from '@odx/angular/utils';
6
+ import { isSameMonth } from 'date-fns';
7
+ import { injectCalendarConfig } from '../calendar.config';
8
+ import { CalendarViewEnum } from '../enums';
9
+ import { DateLabelPipe } from '../pipes';
10
+ import { checkIdenticalDate, getA11yLabel } from '../utils';
11
+ import * as i0 from "@angular/core";
12
+ let CalendarCellDirective = class CalendarCellDirective {
13
+ constructor() {
14
+ this.disabledController = DisabledController.inject();
15
+ this.isActive = false;
16
+ this.isSelected = false;
17
+ this.isCurrent = false;
18
+ this.adjacent = false;
19
+ this.element = injectElement();
20
+ this.dateLabelPipe = inject(DateLabelPipe);
21
+ this.config = injectCalendarConfig();
22
+ this.calendarView = CalendarViewEnum.Month;
23
+ this.activeDate = null;
24
+ this.selectedDate = null;
25
+ }
26
+ get isDisabled() {
27
+ return !!this.disabledController?.disabled;
28
+ }
29
+ ngOnChanges(changes) {
30
+ if (hasChanged(changes, ['date'], false)) {
31
+ this.isCurrent = checkIdenticalDate(this.date, new Date(), this.calendarView);
32
+ }
33
+ if (this.activeDate && hasChanged(changes, ['date', 'activeDate'], false)) {
34
+ this.isActive = checkIdenticalDate(this.date, this.activeDate, this.calendarView);
35
+ if (this.calendarView === CalendarViewEnum.Month) {
36
+ this.adjacent = !isSameMonth(this.date, this.activeDate);
37
+ }
38
+ }
39
+ if (this.selectedDate && hasChanged(changes, ['date', 'selectedDate'], false)) {
40
+ this.isSelected = checkIdenticalDate(this.date, this.selectedDate, this.calendarView);
41
+ }
42
+ if (this.isActive) {
43
+ deferFn(() => this.element.nativeElement.focus());
44
+ }
45
+ }
46
+ get ariaLabel() {
47
+ const dateFormat = getA11yLabel(this.calendarView, this.config);
48
+ return this.dateLabelPipe.transform(this.date, dateFormat);
49
+ }
50
+ };
51
+ CalendarCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
52
+ CalendarCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: CalendarCellDirective, isStandalone: true, selector: "[odxCalendarCell]", inputs: { date: ["odxCalendarCell", "date"], calendarView: ["odxCalendarCellCalendarView", "calendarView"], activeDate: ["odxCalendarCellActiveDate", "activeDate"], selectedDate: ["odxCalendarCellSelectedDate", "selectedDate"] }, host: { properties: { "class.is-disabled": "isDisabled", "class.is-selected": "isSelected", "tabindex": "isActive ? 0 : -1", "attr.aria-label": "ariaLabel", "attr.aria-disabled": "isDisabled" } }, providers: [DisabledController.connect(), DateLabelPipe], usesOnChanges: true, ngImport: i0 });
53
+ __decorate([
54
+ CSSModifier(),
55
+ __metadata("design:type", Object)
56
+ ], CalendarCellDirective.prototype, "isCurrent", void 0);
57
+ __decorate([
58
+ CSSModifier(),
59
+ __metadata("design:type", Object)
60
+ ], CalendarCellDirective.prototype, "adjacent", void 0);
61
+ CalendarCellDirective = __decorate([
62
+ CSSComponent('calendar-cell')
63
+ ], CalendarCellDirective);
64
+ export { CalendarCellDirective };
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarCellDirective, decorators: [{
66
+ type: Directive,
67
+ args: [{
68
+ selector: '[odxCalendarCell]',
69
+ standalone: true,
70
+ providers: [DisabledController.connect(), DateLabelPipe],
71
+ host: {
72
+ '[class.is-disabled]': 'isDisabled',
73
+ '[class.is-selected]': 'isSelected',
74
+ '[tabindex]': 'isActive ? 0 : -1',
75
+ '[attr.aria-label]': 'ariaLabel',
76
+ '[attr.aria-disabled]': 'isDisabled',
77
+ },
78
+ }]
79
+ }], propDecorators: { isCurrent: [], adjacent: [], date: [{
80
+ type: Input,
81
+ args: ['odxCalendarCell']
82
+ }], calendarView: [{
83
+ type: Input,
84
+ args: ['odxCalendarCellCalendarView']
85
+ }], activeDate: [{
86
+ type: Input,
87
+ args: ['odxCalendarCellActiveDate']
88
+ }], selectedDate: [{
89
+ type: Input,
90
+ args: ['odxCalendarCellSelectedDate']
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2RpcmVjdGl2ZXMvY2FsZW5kYXItY2VsbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBZXJELElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBQTNCO1FBQ1ksdUJBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFeEQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBR25CLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQU1YLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUMxQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0QyxXQUFNLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztRQU16QyxpQkFBWSxHQUFxQixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFHeEQsZUFBVSxHQUFnQixJQUFJLENBQUM7UUFHL0IsaUJBQVksR0FBZ0IsSUFBSSxDQUFDO0tBNEJ6QztJQS9DQyxJQUFjLFVBQVU7UUFDdEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQztJQUM3QyxDQUFDO0lBbUJNLFdBQVcsQ0FBQyxPQUF5QztRQUMxRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDL0U7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUN6RSxJQUFJLENBQUMsUUFBUSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFbEYsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLGdCQUFnQixDQUFDLEtBQUssRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMxRDtTQUNGO1FBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDN0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3ZGO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzdELENBQUM7O2tIQTFEVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwyZUFUckIsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUM7QUFleEQ7SUFBQyxXQUFXLEVBQUU7O3dEQUNjO0FBRTVCO0lBQUMsV0FBVyxFQUFFOzt1REFDYTtBQVZoQixxQkFBcUI7SUFiakMsWUFBWSxDQUFDLGVBQWUsQ0FBQztHQWFqQixxQkFBcUIsQ0EyRGpDO1NBM0RZLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQVpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUM7b0JBQ3hELElBQUksRUFBRTt3QkFDSixxQkFBcUIsRUFBRSxZQUFZO3dCQUNuQyxxQkFBcUIsRUFBRSxZQUFZO3dCQUNuQyxZQUFZLEVBQUUsbUJBQW1CO3dCQUNqQyxtQkFBbUIsRUFBRSxXQUFXO3dCQUNoQyxzQkFBc0IsRUFBRSxZQUFZO3FCQUNyQztpQkFDRjs4QkFRVyxTQUFTLE1BR1QsUUFBUSxNQVlYLElBQUk7c0JBRFYsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBSWpCLFlBQVk7c0JBRGxCLEtBQUs7dUJBQUMsNkJBQTZCO2dCQUk3QixVQUFVO3NCQURoQixLQUFLO3VCQUFDLDJCQUEyQjtnQkFJM0IsWUFBWTtzQkFEbEIsS0FBSzt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlzYWJsZWRDb250cm9sbGVyIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCwgQ1NTTW9kaWZpZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZGVmZXJGbiwgaGFzQ2hhbmdlZCwgaW5qZWN0RWxlbWVudCwgTmdDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGlzU2FtZU1vbnRoIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgaW5qZWN0Q2FsZW5kYXJDb25maWcgfSBmcm9tICcuLi9jYWxlbmRhci5jb25maWcnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3RW51bSB9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB7IERhdGVMYWJlbFBpcGUgfSBmcm9tICcuLi9waXBlcyc7XG5pbXBvcnQgeyBjaGVja0lkZW50aWNhbERhdGUsIGdldEExMXlMYWJlbCB9IGZyb20gJy4uL3V0aWxzJztcblxuQENTU0NvbXBvbmVudCgnY2FsZW5kYXItY2VsbCcpXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbb2R4Q2FsZW5kYXJDZWxsXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW0Rpc2FibGVkQ29udHJvbGxlci5jb25uZWN0KCksIERhdGVMYWJlbFBpcGVdLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5pcy1kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5pcy1zZWxlY3RlZF0nOiAnaXNTZWxlY3RlZCcsXG4gICAgJ1t0YWJpbmRleF0nOiAnaXNBY3RpdmUgPyAwIDogLTEnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdhcmlhTGFiZWwnLFxuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDZWxsRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkaXNhYmxlZENvbnRyb2xsZXIgPSBEaXNhYmxlZENvbnRyb2xsZXIuaW5qZWN0KCk7XG5cbiAgcHJvdGVjdGVkIGlzQWN0aXZlID0gZmFsc2U7XG4gIHByb3RlY3RlZCBpc1NlbGVjdGVkID0gZmFsc2U7XG5cbiAgQENTU01vZGlmaWVyKClcbiAgcHJvdGVjdGVkIGlzQ3VycmVudCA9IGZhbHNlO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIHByb3RlY3RlZCBhZGphY2VudCA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmRpc2FibGVkQ29udHJvbGxlcj8uZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGVMYWJlbFBpcGUgPSBpbmplY3QoRGF0ZUxhYmVsUGlwZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdENhbGVuZGFyQ29uZmlnKCk7XG5cbiAgQElucHV0KCdvZHhDYWxlbmRhckNlbGwnKVxuICBwdWJsaWMgZGF0ZSE6IERhdGU7XG5cbiAgQElucHV0KCdvZHhDYWxlbmRhckNlbGxDYWxlbmRhclZpZXcnKVxuICBwdWJsaWMgY2FsZW5kYXJWaWV3OiBDYWxlbmRhclZpZXdFbnVtID0gQ2FsZW5kYXJWaWV3RW51bS5Nb250aDtcblxuICBASW5wdXQoJ29keENhbGVuZGFyQ2VsbEFjdGl2ZURhdGUnKVxuICBwdWJsaWMgYWN0aXZlRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgnb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlJylcbiAgcHVibGljIHNlbGVjdGVkRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBOZ0NoYW5nZXM8Q2FsZW5kYXJDZWxsRGlyZWN0aXZlPik6IHZvaWQge1xuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsIFsnZGF0ZSddLCBmYWxzZSkpIHtcbiAgICAgIHRoaXMuaXNDdXJyZW50ID0gY2hlY2tJZGVudGljYWxEYXRlKHRoaXMuZGF0ZSwgbmV3IERhdGUoKSwgdGhpcy5jYWxlbmRhclZpZXcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFjdGl2ZURhdGUgJiYgaGFzQ2hhbmdlZChjaGFuZ2VzLCBbJ2RhdGUnLCAnYWN0aXZlRGF0ZSddLCBmYWxzZSkpIHtcbiAgICAgIHRoaXMuaXNBY3RpdmUgPSBjaGVja0lkZW50aWNhbERhdGUodGhpcy5kYXRlLCB0aGlzLmFjdGl2ZURhdGUsIHRoaXMuY2FsZW5kYXJWaWV3KTtcblxuICAgICAgaWYgKHRoaXMuY2FsZW5kYXJWaWV3ID09PSBDYWxlbmRhclZpZXdFbnVtLk1vbnRoKSB7XG4gICAgICAgIHRoaXMuYWRqYWNlbnQgPSAhaXNTYW1lTW9udGgodGhpcy5kYXRlLCB0aGlzLmFjdGl2ZURhdGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZSAmJiBoYXNDaGFuZ2VkKGNoYW5nZXMsIFsnZGF0ZScsICdzZWxlY3RlZERhdGUnXSwgZmFsc2UpKSB7XG4gICAgICB0aGlzLmlzU2VsZWN0ZWQgPSBjaGVja0lkZW50aWNhbERhdGUodGhpcy5kYXRlLCB0aGlzLnNlbGVjdGVkRGF0ZSwgdGhpcy5jYWxlbmRhclZpZXcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzQWN0aXZlKSB7XG4gICAgICBkZWZlckZuKCgpID0+IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IGdldEExMXlMYWJlbCh0aGlzLmNhbGVuZGFyVmlldywgdGhpcy5jb25maWcpO1xuICAgIHJldHVybiB0aGlzLmRhdGVMYWJlbFBpcGUudHJhbnNmb3JtKHRoaXMuZGF0ZSwgZGF0ZUZvcm1hdCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { Directive, inject } from '@angular/core';
2
+ import { injectElement, untilDestroyed } from '@odx/angular/utils';
3
+ import { injectCalendarConfig } from '../calendar.config';
4
+ import { CalendarService } from '../services';
5
+ import * as i0 from "@angular/core";
6
+ export class CalendarViewDirective {
7
+ constructor() {
8
+ this.takeUntilDestroyed = untilDestroyed();
9
+ this.calendar = inject(CalendarService);
10
+ this.config = injectCalendarConfig();
11
+ this.element = injectElement();
12
+ }
13
+ get activeDate() {
14
+ return this.calendar.activeDate;
15
+ }
16
+ trackByIndex(index) {
17
+ return index;
18
+ }
19
+ isDateDisabled(value) {
20
+ return this.calendar.isDateDisabled(value);
21
+ }
22
+ changeView() {
23
+ this.calendar.changeView(this.calendarNextView);
24
+ }
25
+ updateActiveDate(event, date) {
26
+ event.preventDefault();
27
+ event.stopPropagation();
28
+ this.calendar.setActiveDate(date);
29
+ }
30
+ }
31
+ CalendarViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarViewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
32
+ CalendarViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: CalendarViewDirective, isStandalone: true, ngImport: i0 });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarViewDirective, decorators: [{
34
+ type: Directive,
35
+ args: [{
36
+ standalone: true,
37
+ }]
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItdmlldy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2RpcmVjdGl2ZXMvY2FsZW5kYXItdmlldy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUs5QyxNQUFNLE9BQWdCLHFCQUFxQjtJQUgzQztRQUlxQix1QkFBa0IsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUV0QyxhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBTXRDLFdBQU0sR0FBRyxvQkFBb0IsRUFBRSxDQUFDO1FBRWhDLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztLQTBCM0M7SUF4QkMsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7SUFDbEMsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFhO1FBQy9CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFXO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBWSxFQUFFLElBQVU7UUFDOUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDOztrSEFsQ21CLHFCQUFxQjtzR0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBSDFDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQsIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGluamVjdENhbGVuZGFyQ29uZmlnIH0gZnJvbSAnLi4vY2FsZW5kYXIuY29uZmlnJztcbmltcG9ydCB7IENhbGVuZGFyVmlld0VudW0gfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDYWxlbmRhclZpZXdEaXJlY3RpdmUge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXIgPSBpbmplY3QoQ2FsZW5kYXJTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgY2FsZW5kYXJOZXh0VmlldzogQ2FsZW5kYXJWaWV3RW51bTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgY2FsZW5kYXJDdXJyZW50VmlldzogQ2FsZW5kYXJWaWV3RW51bTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0Q2FsZW5kYXJDb25maWcoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBwdWJsaWMgZ2V0IGFjdGl2ZURhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgcHVibGljIGlzRGF0ZURpc2FibGVkKHZhbHVlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsZW5kYXIuaXNEYXRlRGlzYWJsZWQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZVZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhci5jaGFuZ2VWaWV3KHRoaXMuY2FsZW5kYXJOZXh0Vmlldyk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQWN0aXZlRGF0ZShldmVudDogRXZlbnQsIGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5jYWxlbmRhci5zZXRBY3RpdmVEYXRlKGRhdGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbGVjdERhdGUoZXZlbnQ6IERhdGUpOiB2b2lkO1xufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './calendar-cell.directive';
2
+ export * from './calendar-view.directive';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci1jZWxsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyLXZpZXcuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export var CalendarViewEnum;
2
+ (function (CalendarViewEnum) {
3
+ CalendarViewEnum["Month"] = "month";
4
+ CalendarViewEnum["Year"] = "year";
5
+ CalendarViewEnum["Years"] = "years";
6
+ })(CalendarViewEnum || (CalendarViewEnum = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItdmlldy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9lbnVtcy9jYWxlbmRhci12aWV3LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQixtQ0FBZSxDQUFBO0lBQ2YsaUNBQWEsQ0FBQTtJQUNiLG1DQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFJM0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDYWxlbmRhclZpZXdFbnVtIHtcbiAgTW9udGggPSAnbW9udGgnLFxuICBZZWFyID0gJ3llYXInLFxuICBZZWFycyA9ICd5ZWFycycsXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './calendar-view.enum';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyLXZpZXcuZW51bSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL21vZGVscy9kYXRlLWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRGF0ZUZpbHRlciA9IChkYXRlOiBEYXRlKSA9PiBib29sZWFuO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9tb2RlbHMvZGF0ZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBEYXRlVHlwZSA9IERhdGUgfCBudW1iZXIgfCBzdHJpbmc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL21vZGVscy9kYXRlLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRGF0ZVZhbGlkYXRvciA9IChkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpID0+IGJvb2xlYW47XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './date-filter';
2
+ export * from './date-type';
3
+ export * from './date-validator';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRlLWZpbHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtdmFsaWRhdG9yJztcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { format } from 'date-fns';
3
+ import { injectCalendarConfig } from '../calendar.config';
4
+ import * as i0 from "@angular/core";
5
+ export class DateLabelPipe {
6
+ constructor() {
7
+ this.config = injectCalendarConfig();
8
+ }
9
+ transform(value, dateFormat) {
10
+ if (!value)
11
+ return '';
12
+ return format(value, dateFormat, { locale: this.config.locale.getValue() });
13
+ }
14
+ }
15
+ DateLabelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateLabelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
16
+ DateLabelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DateLabelPipe, isStandalone: true, name: "odxDateLabel", pure: false });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateLabelPipe, decorators: [{
18
+ type: Pipe,
19
+ args: [{
20
+ pure: false,
21
+ name: 'odxDateLabel',
22
+ standalone: true,
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1sYWJlbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9waXBlcy9kYXRlLWxhYmVsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFPMUQsTUFBTSxPQUFPLGFBQWE7SUFMMUI7UUFNa0IsV0FBTSxHQUFHLG9CQUFvQixFQUFFLENBQUM7S0FPakQ7SUFMUSxTQUFTLENBQUMsS0FBa0IsRUFBRSxVQUFrQjtRQUNyRCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXRCLE9BQU8sTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7OzBHQVBVLGFBQWE7d0dBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUx6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxLQUFLO29CQUNYLElBQUksRUFBRSxjQUFjO29CQUNwQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpbmplY3RDYWxlbmRhckNvbmZpZyB9IGZyb20gJy4uL2NhbGVuZGFyLmNvbmZpZyc7XG5cbkBQaXBlKHtcbiAgcHVyZTogZmFsc2UsXG4gIG5hbWU6ICdvZHhEYXRlTGFiZWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlTGFiZWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyByZWFkb25seSBjb25maWcgPSBpbmplY3RDYWxlbmRhckNvbmZpZygpO1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IERhdGUgfCBudWxsLCBkYXRlRm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHJldHVybiAnJztcblxuICAgIHJldHVybiBmb3JtYXQodmFsdWUsIGRhdGVGb3JtYXQsIHsgbG9jYWxlOiB0aGlzLmNvbmZpZy5sb2NhbGUuZ2V0VmFsdWUoKSB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './date-label.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGUtbGFiZWwucGlwZSc7XG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { addDays, endOfMonth, endOfWeek, startOfMonth, startOfWeek } from 'date-fns';
3
+ import { map } from 'rxjs';
4
+ import { CalendarService } from './calendar.service';
5
+ import * as i0 from "@angular/core";
6
+ export class CalendarMonthService {
7
+ constructor() {
8
+ this.calendar = inject(CalendarService);
9
+ this.weekDays$ = this.calendar.activeDate$.pipe(map((date) => this.generateWeekDays(date)));
10
+ this.weeks$ = this.calendar.activeDate$.pipe(map((date) => this.generateWeeks(date)));
11
+ }
12
+ generateWeekDays(date) {
13
+ const firstWeekDay = startOfWeek(date, { weekStartsOn: 1 });
14
+ return Array.from({ length: 7 }, (_, i) => addDays(firstWeekDay, i));
15
+ }
16
+ generateWeeks(date) {
17
+ const startOfTheSelectedMonth = startOfMonth(date);
18
+ const endOfTheSelectedMonth = endOfMonth(date);
19
+ const startDate = startOfWeek(startOfTheSelectedMonth, { weekStartsOn: 1 });
20
+ const endDate = endOfWeek(endOfTheSelectedMonth);
21
+ const allWeeks = [];
22
+ let currentDate = startDate;
23
+ while (currentDate <= endDate) {
24
+ allWeeks.push(this.generateDaysForWeek(currentDate, date));
25
+ currentDate = addDays(currentDate, 7);
26
+ }
27
+ return allWeeks;
28
+ }
29
+ generateDaysForWeek(date, currentDate) {
30
+ return Array.from({ length: 7 }).map((_, i) => addDays(date, i), currentDate);
31
+ }
32
+ }
33
+ CalendarMonthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarMonthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
+ CalendarMonthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarMonthService });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarMonthService, decorators: [{
36
+ type: Injectable
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvc2VydmljZXMvY2FsZW5kYXItbW9udGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyRixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFHckQsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUVxQixhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXRDLGNBQVMsR0FBdUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRyxXQUFNLEdBQXlCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBMkJ4SDtJQXpCUSxnQkFBZ0IsQ0FBQyxJQUFVO1FBQ2hDLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU1RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLGFBQWEsQ0FBQyxJQUFVO1FBQzdCLE1BQU0sdUJBQXVCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELE1BQU0scUJBQXFCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVwQixJQUFJLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDNUIsT0FBTyxXQUFXLElBQUksT0FBTyxFQUFFO1lBQzdCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzNELFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVNLG1CQUFtQixDQUFDLElBQVUsRUFBRSxXQUFpQjtRQUN0RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7O2lIQTlCVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhZGREYXlzLCBlbmRPZk1vbnRoLCBlbmRPZldlZWssIHN0YXJ0T2ZNb250aCwgc3RhcnRPZldlZWsgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSB9IGZyb20gJy4vY2FsZW5kYXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYWxlbmRhck1vbnRoU2VydmljZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhciA9IGluamVjdChDYWxlbmRhclNlcnZpY2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSB3ZWVrRGF5cyQ6IE9ic2VydmFibGU8RGF0ZVtdPiA9IHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSQucGlwZShtYXAoKGRhdGUpID0+IHRoaXMuZ2VuZXJhdGVXZWVrRGF5cyhkYXRlKSkpO1xuICBwdWJsaWMgcmVhZG9ubHkgd2Vla3MkOiBPYnNlcnZhYmxlPERhdGVbXVtdPiA9IHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSQucGlwZShtYXAoKGRhdGUpID0+IHRoaXMuZ2VuZXJhdGVXZWVrcyhkYXRlKSkpO1xuXG4gIHB1YmxpYyBnZW5lcmF0ZVdlZWtEYXlzKGRhdGU6IERhdGUpOiBEYXRlW10ge1xuICAgIGNvbnN0IGZpcnN0V2Vla0RheSA9IHN0YXJ0T2ZXZWVrKGRhdGUsIHsgd2Vla1N0YXJ0c09uOiAxIH0pO1xuXG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IDcgfSwgKF8sIGkpID0+IGFkZERheXMoZmlyc3RXZWVrRGF5LCBpKSk7XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGVXZWVrcyhkYXRlOiBEYXRlKTogRGF0ZVtdW10ge1xuICAgIGNvbnN0IHN0YXJ0T2ZUaGVTZWxlY3RlZE1vbnRoID0gc3RhcnRPZk1vbnRoKGRhdGUpO1xuICAgIGNvbnN0IGVuZE9mVGhlU2VsZWN0ZWRNb250aCA9IGVuZE9mTW9udGgoZGF0ZSk7XG4gICAgY29uc3Qgc3RhcnREYXRlID0gc3RhcnRPZldlZWsoc3RhcnRPZlRoZVNlbGVjdGVkTW9udGgsIHsgd2Vla1N0YXJ0c09uOiAxIH0pO1xuICAgIGNvbnN0IGVuZERhdGUgPSBlbmRPZldlZWsoZW5kT2ZUaGVTZWxlY3RlZE1vbnRoKTtcbiAgICBjb25zdCBhbGxXZWVrcyA9IFtdO1xuXG4gICAgbGV0IGN1cnJlbnREYXRlID0gc3RhcnREYXRlO1xuICAgIHdoaWxlIChjdXJyZW50RGF0ZSA8PSBlbmREYXRlKSB7XG4gICAgICBhbGxXZWVrcy5wdXNoKHRoaXMuZ2VuZXJhdGVEYXlzRm9yV2VlayhjdXJyZW50RGF0ZSwgZGF0ZSkpO1xuICAgICAgY3VycmVudERhdGUgPSBhZGREYXlzKGN1cnJlbnREYXRlLCA3KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWxsV2Vla3M7XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGVEYXlzRm9yV2VlayhkYXRlOiBEYXRlLCBjdXJyZW50RGF0ZTogRGF0ZSk6IERhdGVbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IDcgfSkubWFwKChfLCBpKSA9PiBhZGREYXlzKGRhdGUsIGkpLCBjdXJyZW50RGF0ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { eachMonthOfInterval, endOfYear, startOfYear } from 'date-fns';
3
+ import { map } from 'rxjs';
4
+ import { CalendarService } from './calendar.service';
5
+ import * as i0 from "@angular/core";
6
+ export class CalendarYearService {
7
+ constructor() {
8
+ this.calendar = inject(CalendarService);
9
+ this.seasonSeparator = 3;
10
+ this.seasons$ = this.calendar.activeDate$.pipe(map((selectedDate) => this.generateSeasons(selectedDate)));
11
+ }
12
+ generateSeasons(date) {
13
+ const seasons = [];
14
+ const months = eachMonthOfInterval({
15
+ start: startOfYear(date),
16
+ end: endOfYear(date),
17
+ });
18
+ let index = 0;
19
+ while (index < months.length) {
20
+ seasons.push(months.slice(index, index + this.seasonSeparator));
21
+ index += this.seasonSeparator;
22
+ }
23
+ return seasons;
24
+ }
25
+ }
26
+ CalendarYearService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
27
+ CalendarYearService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearService });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearService, decorators: [{
29
+ type: Injectable
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9zZXJ2aWNlcy9jYWxlbmRhci15ZWFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkUsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBR3JELE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFcUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV0QyxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUVwQixhQUFRLEdBQXlCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBaUI1STtJQWZRLGVBQWUsQ0FBQyxJQUFVO1FBQy9CLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNuQixNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQztZQUNqQyxLQUFLLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztZQUN4QixHQUFHLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQztTQUNyQixDQUFDLENBQUM7UUFFSCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxPQUFPLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLEtBQUssSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO1NBQy9CO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs7Z0hBckJVLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGVhY2hNb250aE9mSW50ZXJ2YWwsIGVuZE9mWWVhciwgc3RhcnRPZlllYXIgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSB9IGZyb20gJy4vY2FsZW5kYXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYWxlbmRhclllYXJTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyID0gaW5qZWN0KENhbGVuZGFyU2VydmljZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNlYXNvblNlcGFyYXRvciA9IDM7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNlYXNvbnMkOiBPYnNlcnZhYmxlPERhdGVbXVtdPiA9IHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSQucGlwZShtYXAoKHNlbGVjdGVkRGF0ZSkgPT4gdGhpcy5nZW5lcmF0ZVNlYXNvbnMoc2VsZWN0ZWREYXRlKSkpO1xuXG4gIHB1YmxpYyBnZW5lcmF0ZVNlYXNvbnMoZGF0ZTogRGF0ZSk6IERhdGVbXVtdIHtcbiAgICBjb25zdCBzZWFzb25zID0gW107XG4gICAgY29uc3QgbW9udGhzID0gZWFjaE1vbnRoT2ZJbnRlcnZhbCh7XG4gICAgICBzdGFydDogc3RhcnRPZlllYXIoZGF0ZSksXG4gICAgICBlbmQ6IGVuZE9mWWVhcihkYXRlKSxcbiAgICB9KTtcblxuICAgIGxldCBpbmRleCA9IDA7XG4gICAgd2hpbGUgKGluZGV4IDwgbW9udGhzLmxlbmd0aCkge1xuICAgICAgc2Vhc29ucy5wdXNoKG1vbnRocy5zbGljZShpbmRleCwgaW5kZXggKyB0aGlzLnNlYXNvblNlcGFyYXRvcikpO1xuICAgICAgaW5kZXggKz0gdGhpcy5zZWFzb25TZXBhcmF0b3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlYXNvbnM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { addYears, getYear, setYear, startOfYear } from 'date-fns';
3
+ import * as i0 from "@angular/core";
4
+ export class CalendarYearsService {
5
+ constructor() {
6
+ this.yearsSeparator = 3;
7
+ this.yearsLimit = 100;
8
+ this.date = new Date();
9
+ }
10
+ get years() {
11
+ const startDate = startOfYear(addYears(this.date, -this.yearsLimit));
12
+ const startYear = getYear(startDate);
13
+ const endDate = startOfYear(addYears(this.date, this.yearsLimit));
14
+ const endYear = getYear(endDate);
15
+ const years = [];
16
+ const yearRows = [];
17
+ for (let i = startYear; i <= endYear; i++) {
18
+ years.push(setYear(startDate, i));
19
+ }
20
+ let index = 0;
21
+ while (index < years.length) {
22
+ yearRows.push(years.slice(index, index + this.yearsSeparator));
23
+ index += this.yearsSeparator;
24
+ }
25
+ return yearRows;
26
+ }
27
+ }
28
+ CalendarYearsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
+ CalendarYearsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearsService });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearsService, decorators: [{
31
+ type: Injectable
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhcnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvc2VydmljZXMvY2FsZW5kYXIteWVhcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR25FLE1BQU0sT0FBTyxvQkFBb0I7SUFEakM7UUFFa0IsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFHLEdBQUcsQ0FBQztRQUNqQixTQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztLQXVCbkM7SUFyQkMsSUFBVyxLQUFLO1FBQ2QsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckUsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNsRSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakMsTUFBTSxLQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUU5QixLQUFLLElBQUksQ0FBQyxHQUFHLFNBQVMsRUFBRSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25DO1FBRUQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsT0FBTyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUMvRCxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUM5QjtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7O2lIQXpCVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYWRkWWVhcnMsIGdldFllYXIsIHNldFllYXIsIHN0YXJ0T2ZZZWFyIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJZZWFyc1NlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgeWVhcnNTZXBhcmF0b3IgPSAzO1xuICBwdWJsaWMgcmVhZG9ubHkgeWVhcnNMaW1pdCA9IDEwMDtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gIHB1YmxpYyBnZXQgeWVhcnMoKTogRGF0ZVtdW10ge1xuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHN0YXJ0T2ZZZWFyKGFkZFllYXJzKHRoaXMuZGF0ZSwgLXRoaXMueWVhcnNMaW1pdCkpO1xuICAgIGNvbnN0IHN0YXJ0WWVhciA9IGdldFllYXIoc3RhcnREYXRlKTtcbiAgICBjb25zdCBlbmREYXRlID0gc3RhcnRPZlllYXIoYWRkWWVhcnModGhpcy5kYXRlLCB0aGlzLnllYXJzTGltaXQpKTtcbiAgICBjb25zdCBlbmRZZWFyID0gZ2V0WWVhcihlbmREYXRlKTtcblxuICAgIGNvbnN0IHllYXJzOiBEYXRlW10gPSBbXTtcbiAgICBjb25zdCB5ZWFyUm93czogRGF0ZVtdW10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSBzdGFydFllYXI7IGkgPD0gZW5kWWVhcjsgaSsrKSB7XG4gICAgICB5ZWFycy5wdXNoKHNldFllYXIoc3RhcnREYXRlLCBpKSk7XG4gICAgfVxuXG4gICAgbGV0IGluZGV4ID0gMDtcbiAgICB3aGlsZSAoaW5kZXggPCB5ZWFycy5sZW5ndGgpIHtcbiAgICAgIHllYXJSb3dzLnB1c2goeWVhcnMuc2xpY2UoaW5kZXgsIGluZGV4ICsgdGhpcy55ZWFyc1NlcGFyYXRvcikpO1xuICAgICAgaW5kZXggKz0gdGhpcy55ZWFyc1NlcGFyYXRvcjtcbiAgICB9XG5cbiAgICByZXR1cm4geWVhclJvd3M7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { isPresent, Pure } from '@odx/angular/utils';
4
+ import { startOfDay } from 'date-fns';
5
+ import { BehaviorSubject, shareReplay, tap } from 'rxjs';
6
+ import { CalendarViewEnum } from '../enums';
7
+ import { parseDate, validateMaxDate, validateMinDate, validateNextDateSet, validatePreviousDateSet } from '../utils';
8
+ import * as i0 from "@angular/core";
9
+ export class CalendarService {
10
+ constructor() {
11
+ this.calendarView$$ = new BehaviorSubject(CalendarViewEnum.Month);
12
+ this.activeDate$$ = new BehaviorSubject(startOfDay(new Date()));
13
+ this.selectedDate$$ = new BehaviorSubject(null);
14
+ this.minDate = null;
15
+ this.maxDate = null;
16
+ this.filterFn = null;
17
+ this.calendarView$ = this.calendarView$$.pipe(shareReplay({ refCount: true }));
18
+ this.activeDate$ = this.activeDate$$.pipe(shareReplay({ refCount: true }));
19
+ this.selectedDate$ = this.selectedDate$$.pipe(tap((date) => isPresent(date) && this.setActiveDate(date)), shareReplay({ refCount: true }));
20
+ }
21
+ setActiveDate(value) {
22
+ if (isPresent(value)) {
23
+ this.activeDate$$.next(parseDate(value));
24
+ }
25
+ }
26
+ selectDate(value) {
27
+ if (isPresent(value)) {
28
+ this.activeDate$$.next(parseDate(value));
29
+ this.selectedDate$$.next(parseDate(value));
30
+ }
31
+ else {
32
+ this.selectedDate$$.next(null);
33
+ }
34
+ }
35
+ get activeDate() {
36
+ return this.activeDate$$.getValue();
37
+ }
38
+ get selectedDate() {
39
+ return this.selectedDate$$.getValue();
40
+ }
41
+ changeView(view) {
42
+ this.calendarView$$.next(view);
43
+ }
44
+ get calendarCurrentView() {
45
+ return this.calendarView$$.getValue();
46
+ }
47
+ isDateDisabled(date) {
48
+ const minDate = this.minDate && validateMinDate(this.minDate, date, this.calendarCurrentView);
49
+ const maxDate = this.maxDate && validateMaxDate(this.maxDate, date, this.calendarCurrentView);
50
+ let isDateFiltered = false;
51
+ if (this.calendarCurrentView === CalendarViewEnum.Month) {
52
+ isDateFiltered = this.filterFn?.(date) ?? false;
53
+ }
54
+ return minDate || maxDate || isDateFiltered;
55
+ }
56
+ isPreviousDateSetDisabled() {
57
+ return this.minDate ? validatePreviousDateSet(this.minDate, this.activeDate, this.calendarCurrentView) : false;
58
+ }
59
+ isNextDateSetDisabled() {
60
+ return this.maxDate ? validateNextDateSet(this.maxDate, this.activeDate, this.calendarCurrentView) : false;
61
+ }
62
+ }
63
+ CalendarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
64
+ CalendarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarService });
65
+ __decorate([
66
+ Pure,
67
+ __metadata("design:type", Function),
68
+ __metadata("design:paramtypes", [Date]),
69
+ __metadata("design:returntype", Boolean)
70
+ ], CalendarService.prototype, "isDateDisabled", null);
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarService, decorators: [{
72
+ type: Injectable
73
+ }], propDecorators: { isDateDisabled: [] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvc2VydmljZXMvY2FsZW5kYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR3JILE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRW1CLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQW1CLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQU8sVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQWMsSUFBSSxDQUFDLENBQUM7UUFFbEUsWUFBTyxHQUFnQixJQUFJLENBQUM7UUFDNUIsWUFBTyxHQUFnQixJQUFJLENBQUM7UUFDNUIsYUFBUSxHQUF1QixJQUFJLENBQUM7UUFFM0Isa0JBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FB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QWU7QUFnRDFCO0lBQUMsSUFBSTs7cUNBQ3VCLElBQUk7O3FEQVUvQjsyRkEzRFUsZUFBZTtrQkFEM0IsVUFBVTs4QkFrREYsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUHJlc2VudCwgUHVyZSB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBzdGFydE9mRGF5IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBzaGFyZVJlcGxheSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXdFbnVtIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgRGF0ZUZpbHRlciwgRGF0ZVR5cGUgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgcGFyc2VEYXRlLCB2YWxpZGF0ZU1heERhdGUsIHZhbGlkYXRlTWluRGF0ZSwgdmFsaWRhdGVOZXh0RGF0ZVNldCwgdmFsaWRhdGVQcmV2aW91c0RhdGVTZXQgfSBmcm9tICcuLi91dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYWxlbmRhclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbGVuZGFyVmlldyQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDYWxlbmRhclZpZXdFbnVtPihDYWxlbmRhclZpZXdFbnVtLk1vbnRoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmVEYXRlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGU+KHN0YXJ0T2ZEYXkobmV3IERhdGUoKSkpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdGVkRGF0ZSQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRlIHwgbnVsbD4obnVsbCk7XG5cbiAgcHVibGljIG1pbkRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIG1heERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIGZpbHRlckZuPzogRGF0ZUZpbHRlciB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyByZWFkb25seSBjYWxlbmRhclZpZXckID0gdGhpcy5jYWxlbmRhclZpZXckJC5waXBlKHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUgfSkpO1xuXG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVEYXRlJCA9IHRoaXMuYWN0aXZlRGF0ZSQkLnBpcGUoc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSB9KSk7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZERhdGUkID0gdGhpcy5zZWxlY3RlZERhdGUkJC5waXBlKFxuICAgIHRhcCgoZGF0ZSkgPT4gaXNQcmVzZW50KGRhdGUpICYmIHRoaXMuc2V0QWN0aXZlRGF0ZShkYXRlKSksXG4gICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcblxuICBwdWJsaWMgc2V0QWN0aXZlRGF0ZSh2YWx1ZTogRGF0ZVR5cGUgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKGlzUHJlc2VudCh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSQkLm5leHQocGFyc2VEYXRlKHZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdERhdGUodmFsdWU6IERhdGVUeXBlIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChpc1ByZXNlbnQodmFsdWUpKSB7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUkJC5uZXh0KHBhcnNlRGF0ZSh2YWx1ZSkpO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUkJC5uZXh0KHBhcnNlRGF0ZSh2YWx1ZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSQkLm5leHQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVEYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZURhdGUkJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZERhdGUoKTogRGF0ZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRGF0ZSQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlVmlldyh2aWV3OiBDYWxlbmRhclZpZXdFbnVtKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclZpZXckJC5uZXh0KHZpZXcpO1xuICB9XG5cbiAgcHVibGljIGdldCBjYWxlbmRhckN1cnJlbnRWaWV3KCk6IENhbGVuZGFyVmlld0VudW0ge1xuICAgIHJldHVybiB0aGlzLmNhbGVuZGFyVmlldyQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBAUHVyZVxuICBwdWJsaWMgaXNEYXRlRGlzYWJsZWQoZGF0ZTogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1pbkRhdGUgPSB0aGlzLm1pbkRhdGUgJiYgdmFsaWRhdGVNaW5EYXRlKHRoaXMubWluRGF0ZSwgZGF0ZSwgdGhpcy5jYWxlbmRhckN1cnJlbnRWaWV3KTtcbiAgICBjb25zdCBtYXhEYXRlID0gdGhpcy5tYXhEYXRlICYmIHZhbGlkYXRlTWF4RGF0ZSh0aGlzLm1heERhdGUsIGRhdGUsIHRoaXMuY2FsZW5kYXJDdXJyZW50Vmlldyk7XG4gICAgbGV0IGlzRGF0ZUZpbHRlcmVkID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5jYWxlbmRhckN1cnJlbnRWaWV3ID09PSBDYWxlbmRhclZpZXdFbnVtLk1vbnRoKSB7XG4gICAgICBpc0RhdGVGaWx0ZXJlZCA9IHRoaXMuZmlsdGVyRm4/LihkYXRlKSA/PyBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWluRGF0ZSB8fCBtYXhEYXRlIHx8IGlzRGF0ZUZpbHRlcmVkO1xuICB9XG5cbiAgcHVibGljIGlzUHJldmlvdXNEYXRlU2V0RGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWluRGF0ZSA/IHZhbGlkYXRlUHJldmlvdXNEYXRlU2V0KHRoaXMubWluRGF0ZSwgdGhpcy5hY3RpdmVEYXRlLCB0aGlzLmNhbGVuZGFyQ3VycmVudFZpZXcpIDogZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgaXNOZXh0RGF0ZVNldERpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1heERhdGUgPyB2YWxpZGF0ZU5leHREYXRlU2V0KHRoaXMubWF4RGF0ZSwgdGhpcy5hY3RpdmVEYXRlLCB0aGlzLmNhbGVuZGFyQ3VycmVudFZpZXcpIDogZmFsc2U7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './calendar-month.service';
2
+ export * from './calendar-year.service';
3
+ export * from './calendar-years.service';
4
+ export * from './calendar.service';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyLW1vbnRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci15ZWFyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci15ZWFycy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { isSameDay, isSameMonth, isSameYear } from 'date-fns';
2
+ import { CalendarViewEnum } from '../enums';
3
+ const functionList = {
4
+ [CalendarViewEnum.Month]: (currentDate, date) => isSameDay(currentDate, date),
5
+ [CalendarViewEnum.Year]: (currentDate, date) => isSameMonth(currentDate, date),
6
+ [CalendarViewEnum.Years]: (currentDate, date) => isSameYear(currentDate, date),
7
+ };
8
+ export function checkIdenticalDate(currentDate, date, calendarView) {
9
+ return functionList[calendarView](currentDate, date);
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2staWRlbnRpY2FsLWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3V0aWxzL2NoZWNrLWlkZW50aWNhbC1kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHNUMsTUFBTSxZQUFZLEdBQTRDO0lBQzVELENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFpQixFQUFFLElBQVUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7SUFDekYsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQWlCLEVBQUUsSUFBVSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztJQUMxRixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBaUIsRUFBRSxJQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO0NBQzNGLENBQUM7QUFFRixNQUFNLFVBQVUsa0JBQWtCLENBQUMsV0FBaUIsRUFBRSxJQUFVLEVBQUUsWUFBOEI7SUFDOUYsT0FBTyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1NhbWVEYXksIGlzU2FtZU1vbnRoLCBpc1NhbWVZZWFyIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3RW51bSB9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB7IERhdGVWYWxpZGF0b3IgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5jb25zdCBmdW5jdGlvbkxpc3Q6IFJlY29yZDxDYWxlbmRhclZpZXdFbnVtLCBEYXRlVmFsaWRhdG9yPiA9IHtcbiAgW0NhbGVuZGFyVmlld0VudW0uTW9udGhdOiAoY3VycmVudERhdGU6IERhdGUsIGRhdGU6IERhdGUpID0+IGlzU2FtZURheShjdXJyZW50RGF0ZSwgZGF0ZSksXG4gIFtDYWxlbmRhclZpZXdFbnVtLlllYXJdOiAoY3VycmVudERhdGU6IERhdGUsIGRhdGU6IERhdGUpID0+IGlzU2FtZU1vbnRoKGN1cnJlbnREYXRlLCBkYXRlKSxcbiAgW0NhbGVuZGFyVmlld0VudW0uWWVhcnNdOiAoY3VycmVudERhdGU6IERhdGUsIGRhdGU6IERhdGUpID0+IGlzU2FtZVllYXIoY3VycmVudERhdGUsIGRhdGUpLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrSWRlbnRpY2FsRGF0ZShjdXJyZW50RGF0ZTogRGF0ZSwgZGF0ZTogRGF0ZSwgY2FsZW5kYXJWaWV3OiBDYWxlbmRhclZpZXdFbnVtKTogYm9vbGVhbiB7XG4gIHJldHVybiBmdW5jdGlvbkxpc3RbY2FsZW5kYXJWaWV3XShjdXJyZW50RGF0ZSwgZGF0ZSk7XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { CalendarViewEnum } from '../enums';
2
+ const functionList = {
3
+ [CalendarViewEnum.Month]: (config) => config.dayA11yLabel,
4
+ [CalendarViewEnum.Year]: (config) => config.monthA11yLabel,
5
+ [CalendarViewEnum.Years]: (config) => config.yearA11yLabel,
6
+ };
7
+ export function getA11yLabel(calendarView, config) {
8
+ return functionList[calendarView](config);
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LUExMXktbGFiZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3V0aWxzL2dldC1BMTF5LWxhYmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU1QyxNQUFNLFlBQVksR0FBaUU7SUFDakYsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQXNCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZO0lBQ3pFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFzQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYztJQUMxRSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBc0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWE7Q0FDM0UsQ0FBQztBQUVGLE1BQU0sVUFBVSxZQUFZLENBQUMsWUFBOEIsRUFBRSxNQUFzQjtJQUNqRixPQUFPLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FsZW5kYXJDb25maWcgfSBmcm9tICcuLi9jYWxlbmRhci5jb25maWcnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3RW51bSB9IGZyb20gJy4uL2VudW1zJztcblxuY29uc3QgZnVuY3Rpb25MaXN0OiBSZWNvcmQ8Q2FsZW5kYXJWaWV3RW51bSwgKGNvbmZpZzogQ2FsZW5kYXJDb25maWcpID0+IHN0cmluZz4gPSB7XG4gIFtDYWxlbmRhclZpZXdFbnVtLk1vbnRoXTogKGNvbmZpZzogQ2FsZW5kYXJDb25maWcpID0+IGNvbmZpZy5kYXlBMTF5TGFiZWwsXG4gIFtDYWxlbmRhclZpZXdFbnVtLlllYXJdOiAoY29uZmlnOiBDYWxlbmRhckNvbmZpZykgPT4gY29uZmlnLm1vbnRoQTExeUxhYmVsLFxuICBbQ2FsZW5kYXJWaWV3RW51bS5ZZWFyc106IChjb25maWc6IENhbGVuZGFyQ29uZmlnKSA9PiBjb25maWcueWVhckExMXlMYWJlbCxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBMTF5TGFiZWwoY2FsZW5kYXJWaWV3OiBDYWxlbmRhclZpZXdFbnVtLCBjb25maWc6IENhbGVuZGFyQ29uZmlnKTogc3RyaW5nIHtcbiAgcmV0dXJuIGZ1bmN0aW9uTGlzdFtjYWxlbmRhclZpZXddKGNvbmZpZyk7XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export * from './check-identical-date';
2
+ export * from './get-A11y-label';
3
+ export * from './parse-date';
4
+ export * from './validate-max-date';
5
+ export * from './validate-min-date';
6
+ export * from './validate-next-date-set';
7
+ export * from './validate-previous-date-set';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGVjay1pZGVudGljYWwtZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1BMTF5LWxhYmVsJztcbmV4cG9ydCAqIGZyb20gJy4vcGFyc2UtZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRlLW1heC1kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGUtbWluLWRhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0ZS1uZXh0LWRhdGUtc2V0JztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGUtcHJldmlvdXMtZGF0ZS1zZXQnO1xuIl19
@@ -0,0 +1,15 @@
1
+ import { isString } from '@odx/angular/utils';
2
+ import { isValid, toDate } from 'date-fns';
3
+ export function parseDate(value) {
4
+ try {
5
+ const timestamp = isString(value) ? Date.parse(value) : value;
6
+ if (!isValid(timestamp)) {
7
+ return new Date();
8
+ }
9
+ return toDate(timestamp);
10
+ }
11
+ catch {
12
+ return new Date();
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvdXRpbHMvcGFyc2UtZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHM0MsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFlO0lBQ3ZDLElBQUk7UUFDRixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUU5RCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztTQUNuQjtRQUVELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzFCO0lBQUMsTUFBTTtRQUNOLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztLQUNuQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBpc1ZhbGlkLCB0b0RhdGUgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBEYXRlVHlwZSB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZURhdGUodmFsdWU6IERhdGVUeXBlKTogRGF0ZSB7XG4gIHRyeSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gaXNTdHJpbmcodmFsdWUpID8gRGF0ZS5wYXJzZSh2YWx1ZSkgOiB2YWx1ZTtcblxuICAgIGlmICghaXNWYWxpZCh0aW1lc3RhbXApKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG9EYXRlKHRpbWVzdGFtcCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBuZXcgRGF0ZSgpO1xuICB9XG59XG4iXX0=