@odx/angular 2.11.3 → 2.12.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.
- package/CHANGELOG.md +15 -0
- package/components/calendar/index.d.ts +5 -1
- package/components/calendar/lib/calendar.component.d.ts +11 -11
- package/components/calendar/lib/calendar.config.d.ts +42 -0
- package/components/calendar/lib/{services/calendar.service.d.ts → calendar.service.d.ts} +4 -14
- package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +17 -27
- package/components/calendar/lib/components/calendar-month/calendar-month.component.d.ts +11 -12
- package/components/calendar/lib/components/calendar-year/calendar-year.component.d.ts +10 -10
- package/components/calendar/lib/components/calendar-years/calendar-years.component.d.ts +9 -9
- package/components/calendar/lib/directives/calendar-cell.directive.d.ts +20 -13
- package/components/calendar/lib/directives/calendar-view.directive.d.ts +23 -12
- package/components/calendar/lib/{enums/calendar-view.enum.d.ts → models/calendar-view.d.ts} +1 -1
- package/components/calendar/lib/models/index.d.ts +1 -0
- package/components/calendar/lib/pipes/date-label.pipe.d.ts +7 -0
- package/components/calendar/lib/services/calendar-month.service.d.ts +6 -8
- package/components/calendar/lib/services/calendar-year.service.d.ts +4 -6
- package/components/calendar/lib/services/calendar-years.service.d.ts +3 -4
- package/components/calendar/lib/services/index.d.ts +0 -1
- package/components/calendar/lib/utils/check-identical-date.d.ts +2 -2
- package/components/calendar/lib/utils/get-A11y-label.d.ts +2 -2
- package/components/calendar/lib/utils/index.d.ts +1 -0
- package/components/calendar/lib/utils/is-date-disabled.d.ts +2 -0
- package/components/calendar/lib/utils/validate-max-date.d.ts +2 -2
- package/components/calendar/lib/utils/validate-min-date.d.ts +2 -2
- package/components/calendar/lib/utils/validate-next-date-set.d.ts +2 -2
- package/components/calendar/lib/utils/validate-previous-date-set.d.ts +2 -2
- package/components/datepicker/lib/datepicker.component.d.ts +3 -1
- package/components/main-menu/index.d.ts +1 -0
- package/components/main-menu/lib/helpers/create-main-menu-links.d.ts +2 -0
- package/components/main-menu/lib/helpers/index.d.ts +1 -0
- package/components/main-menu/lib/main-menu.component.d.ts +3 -0
- package/components/main-menu/lib/main-menu.config.d.ts +8 -0
- package/components/main-menu/lib/main-menu.i18n.d.ts +3 -0
- package/components/main-menu/lib/models/index.d.ts +1 -0
- package/components/main-menu/lib/models/main-menu-link.d.ts +4 -0
- package/esm2020/components/calendar/index.mjs +6 -2
- package/esm2020/components/calendar/lib/calendar.component.mjs +12 -19
- package/esm2020/components/calendar/lib/calendar.config.mjs +8 -1
- package/esm2020/components/calendar/lib/calendar.service.mjs +36 -0
- package/esm2020/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +33 -27
- package/esm2020/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +6 -6
- package/esm2020/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +7 -7
- package/esm2020/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +9 -8
- package/esm2020/components/calendar/lib/directives/calendar-cell.directive.mjs +8 -11
- package/esm2020/components/calendar/lib/directives/calendar-view.directive.mjs +24 -14
- package/esm2020/components/calendar/lib/models/calendar-view.mjs +7 -0
- package/esm2020/components/calendar/lib/models/index.mjs +2 -1
- package/esm2020/components/calendar/lib/pipes/date-label.pipe.mjs +4 -4
- package/esm2020/components/calendar/lib/services/calendar-month.service.mjs +2 -2
- package/esm2020/components/calendar/lib/services/calendar-year.service.mjs +7 -5
- package/esm2020/components/calendar/lib/services/calendar-years.service.mjs +12 -9
- package/esm2020/components/calendar/lib/services/index.mjs +1 -2
- package/esm2020/components/calendar/lib/utils/check-identical-date.mjs +7 -7
- package/esm2020/components/calendar/lib/utils/get-A11y-label.mjs +7 -7
- package/esm2020/components/calendar/lib/utils/index.mjs +2 -1
- package/esm2020/components/calendar/lib/utils/is-date-disabled.mjs +10 -0
- package/esm2020/components/calendar/lib/utils/validate-max-date.mjs +7 -7
- package/esm2020/components/calendar/lib/utils/validate-min-date.mjs +7 -7
- package/esm2020/components/calendar/lib/utils/validate-next-date-set.mjs +7 -8
- package/esm2020/components/calendar/lib/utils/validate-previous-date-set.mjs +7 -8
- package/esm2020/components/datepicker/lib/datepicker.component.mjs +7 -4
- package/esm2020/components/main-menu/index.mjs +2 -1
- package/esm2020/components/main-menu/lib/helpers/create-main-menu-links.mjs +13 -0
- package/esm2020/components/main-menu/lib/helpers/index.mjs +2 -0
- package/esm2020/components/main-menu/lib/main-menu.component.mjs +11 -5
- package/esm2020/components/main-menu/lib/main-menu.config.mjs +6 -0
- package/esm2020/components/main-menu/lib/main-menu.i18n.mjs +17 -0
- package/esm2020/components/main-menu/lib/models/index.mjs +2 -0
- package/esm2020/components/main-menu/lib/models/main-menu-link.mjs +2 -0
- package/esm2020/index.mjs +2 -1
- package/esm2020/internal/translate/index.mjs +7 -0
- package/esm2020/internal/translate/lib/helpers/get-language-code.mjs +6 -0
- package/esm2020/internal/translate/lib/helpers/index.mjs +2 -0
- package/esm2020/internal/translate/lib/models/index.mjs +2 -0
- package/esm2020/internal/translate/lib/models/translation.mjs +2 -0
- package/esm2020/internal/translate/lib/pipes/index.mjs +2 -0
- package/esm2020/internal/translate/lib/pipes/translate.pipe.mjs +22 -0
- package/esm2020/internal/translate/lib/services/index.mjs +2 -0
- package/esm2020/internal/translate/lib/services/language.service.mjs +21 -0
- package/esm2020/internal/translate/lib/translate.config.mjs +15 -0
- package/esm2020/internal/translate/lib/translate.service.mjs +16 -0
- package/esm2020/internal/translate/odx-angular-internal-translate.mjs +5 -0
- package/esm2020/lib/services/window-ref.mjs +3 -2
- package/esm2020/utils/lib/helpers/build-website-url.mjs +6 -0
- package/esm2020/utils/lib/helpers/index.mjs +2 -1
- package/fesm2015/odx-angular-components-calendar.mjs +254 -270
- package/fesm2015/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2015/odx-angular-components-datepicker.mjs +5 -2
- package/fesm2015/odx-angular-components-datepicker.mjs.map +1 -1
- package/fesm2015/odx-angular-components-main-menu.mjs +43 -6
- package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2015/odx-angular-internal-translate.mjs +75 -0
- package/fesm2015/odx-angular-internal-translate.mjs.map +1 -0
- package/fesm2015/odx-angular-utils.mjs +6 -1
- package/fesm2015/odx-angular-utils.mjs.map +1 -1
- package/fesm2015/odx-angular.mjs +3 -1
- package/fesm2015/odx-angular.mjs.map +1 -1
- package/fesm2020/odx-angular-components-calendar.mjs +254 -269
- package/fesm2020/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2020/odx-angular-components-datepicker.mjs +5 -2
- package/fesm2020/odx-angular-components-datepicker.mjs.map +1 -1
- package/fesm2020/odx-angular-components-main-menu.mjs +43 -6
- package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2020/odx-angular-internal-translate.mjs +74 -0
- package/fesm2020/odx-angular-internal-translate.mjs.map +1 -0
- package/fesm2020/odx-angular-utils.mjs +6 -1
- package/fesm2020/odx-angular-utils.mjs.map +1 -1
- package/fesm2020/odx-angular.mjs +3 -1
- package/fesm2020/odx-angular.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/internal/translate/README.md +3 -0
- package/internal/translate/index.d.ts +6 -0
- package/internal/translate/lib/helpers/get-language-code.d.ts +1 -0
- package/internal/translate/lib/helpers/index.d.ts +1 -0
- package/internal/translate/lib/models/index.d.ts +1 -0
- package/internal/translate/lib/models/translation.d.ts +2 -0
- package/internal/translate/lib/pipes/index.d.ts +1 -0
- package/internal/translate/lib/pipes/translate.pipe.d.ts +9 -0
- package/internal/translate/lib/services/index.d.ts +1 -0
- package/internal/translate/lib/services/language.service.d.ts +8 -0
- package/internal/translate/lib/translate.config.d.ts +9 -0
- package/internal/translate/lib/translate.service.d.ts +10 -0
- package/package.json +11 -3
- package/utils/lib/helpers/build-website-url.d.ts +2 -0
- package/utils/lib/helpers/index.d.ts +1 -0
- package/components/calendar/lib/enums/index.d.ts +0 -1
- package/esm2020/components/calendar/lib/enums/calendar-view.enum.mjs +0 -7
- package/esm2020/components/calendar/lib/enums/index.mjs +0 -2
- package/esm2020/components/calendar/lib/services/calendar.service.mjs +0 -73
package/esm2020/components/calendar/lib/components/calendar-years/calendar-years.component.mjs
CHANGED
|
@@ -6,20 +6,21 @@ import { CSSComponent } from '@odx/angular/internal';
|
|
|
6
6
|
import { deferFn, isFunction } from '@odx/angular/utils';
|
|
7
7
|
import { addMonths, getYear, setYear, subMonths } from 'date-fns';
|
|
8
8
|
import { CalendarCellDirective, CalendarViewDirective } from '../../directives';
|
|
9
|
-
import {
|
|
9
|
+
import { CalendarView } from '../../models';
|
|
10
10
|
import { DateLabelPipe } from '../../pipes';
|
|
11
11
|
import { CalendarYearsService } from '../../services';
|
|
12
12
|
import { CalendarHeaderComponent } from '../calendar-header';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "@angular/common";
|
|
15
|
-
import * as i2 from "@
|
|
15
|
+
import * as i2 from "@ngrx/component";
|
|
16
|
+
import * as i3 from "@odx/angular";
|
|
16
17
|
let CalendarYearsComponent = class CalendarYearsComponent extends CalendarViewDirective {
|
|
17
18
|
constructor() {
|
|
18
19
|
super(...arguments);
|
|
19
20
|
this.document = inject(DOCUMENT);
|
|
20
21
|
this.calendarYears = inject(CalendarYearsService);
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
22
|
+
this.nextView = CalendarView.Year;
|
|
23
|
+
this.currentView = CalendarView.Years;
|
|
23
24
|
}
|
|
24
25
|
ngAfterViewInit() {
|
|
25
26
|
deferFn(() => this.scrollCurrentYearIntoView());
|
|
@@ -39,7 +40,7 @@ let CalendarYearsComponent = class CalendarYearsComponent extends CalendarViewDi
|
|
|
39
40
|
selectDate(value) {
|
|
40
41
|
if (this.isDateDisabled(value))
|
|
41
42
|
return;
|
|
42
|
-
const date = setYear(this.
|
|
43
|
+
const date = setYear(this.activeDate, getYear(value));
|
|
43
44
|
this.calendar.selectDate(date);
|
|
44
45
|
this.changeView();
|
|
45
46
|
}
|
|
@@ -53,13 +54,13 @@ let CalendarYearsComponent = class CalendarYearsComponent extends CalendarViewDi
|
|
|
53
54
|
}
|
|
54
55
|
};
|
|
55
56
|
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
|
|
57
|
+
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\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\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$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"calendar.selectedDate$ | async\"\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: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "directive", type: i3.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
58
|
CalendarYearsComponent = __decorate([
|
|
58
59
|
CSSComponent('calendar-years')
|
|
59
60
|
], CalendarYearsComponent);
|
|
60
61
|
export { CalendarYearsComponent };
|
|
61
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearsComponent, decorators: [{
|
|
62
63
|
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
|
|
64
|
+
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\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\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$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"calendar.selectedDate$ | async\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: config.yearLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
|
|
64
65
|
}] });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLXllYXJzL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci15ZWFycy9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFv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bmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBkZWZlckZuLCBpc0Z1bmN0aW9uIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGFkZE1vbnRocywgZ2V0WWVhciwgc2V0WWVhciwgc3ViTW9udGhzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDZWxsRGlyZWN0aXZlLCBDYWxlbmRhclZpZXdEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENhbGVuZGFyVmlldyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBEYXRlTGFiZWxQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJZZWFyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYWxlbmRhckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NhbGVuZGFyLWhlYWRlcic7XG5cbkBDU1NDb21wb25lbnQoJ2NhbGVuZGFyLXllYXJzJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYWxlbmRhci15ZWFycycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBDYWxlbmRhckNlbGxEaXJlY3RpdmUsIENhbGVuZGFySGVhZGVyQ29tcG9uZW50LCBEYXRlTGFiZWxQaXBlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW0NhbGVuZGFyWWVhcnNTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJZZWFyc0NvbXBvbmVudCBleHRlbmRzIENhbGVuZGFyVmlld0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJZZWFycyA9IGluamVjdChDYWxlbmRhclllYXJzU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBuZXh0VmlldyA9IENhbGVuZGFyVmlldy5ZZWFyO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3VycmVudFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcnM7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBkZWZlckZuKCgpID0+IHRoaXMuc2Nyb2xsQ3VycmVudFllYXJJbnRvVmlldygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2aW91c1llYXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMikpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRZZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2aW91c1JvdyhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1Yk1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEyICogMykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRSb3coZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGRNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMiAqIDMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3REYXRlKHZhbHVlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEYXRlRGlzYWJsZWQodmFsdWUpKSByZXR1cm47XG5cbiAgICBjb25zdCBkYXRlID0gc2V0WWVhcih0aGlzLmFjdGl2ZURhdGUsIGdldFllYXIodmFsdWUpKTtcbiAgICB0aGlzLmNhbGVuZGFyLnNlbGVjdERhdGUoZGF0ZSk7XG5cbiAgICB0aGlzLmNoYW5nZVZpZXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsQ3VycmVudFllYXJJbnRvVmlldygpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZFllYXIgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vZHgtY2FsZW5kYXItY2VsbC5pcy1zZWxlY3RlZCcpO1xuICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub2R4LWNhbGVuZGFyLWNlbGwtLWlzLWN1cnJlbnQnKTtcblxuICAgIGNvbnN0IGVsZW1lbnQgPSBzZWxlY3RlZFllYXIgfHwgY3VycmVudFllYXI7XG5cbiAgICBpZiAoZWxlbWVudCAmJiBpc0Z1bmN0aW9uKGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcpKSB7XG4gICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICdjZW50ZXInLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8dGFibGUgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX3RhYmxlXCIgcm9sZT1cImdyaWRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwib2R4LWNhbGVuZGFyXCIgKm5ncnhMZXQ9XCJjYWxlbmRhci5hY3RpdmVEYXRlJCBhcyBhY3RpdmVEYXRlXCI+XG4gIDx0aGVhZCBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICA8dGg+PC90aD5cbiAgPC90aGVhZD5cblxuICA8dGJvZHlcbiAgICBjbGFzcz1cIm9keC1jYWxlbmRhcl9fYm9keVwiXG4gICAgKGtleWRvd24uQXJyb3dMZWZ0KT1cInByZXZpb3VzWWVhcigkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd1JpZ2h0KT1cIm5leHRZZWFyKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93VXApPVwicHJldmlvdXNSb3coJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dEb3duKT1cIm5leHRSb3coJGV2ZW50KVwiXG4gID5cbiAgICA8dHIgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX3llYXItcm93XCIgKm5nRm9yPVwibGV0IHllYXJSb3cgb2YgY2FsZW5kYXJZZWFycy55ZWFycyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICA8dGQgcm9sZT1cImdyaWRjZWxsXCIgKm5nRm9yPVwibGV0IHllYXIgb2YgeWVhclJvdzsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEYXRlRGlzYWJsZWQoeWVhcilcIlxuICAgICAgICAgIFtvZHhDYWxlbmRhckNlbGxdPVwieWVhclwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbEFjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbENhbGVuZGFyVmlld109XCJjdXJyZW50Vmlld1wiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZV09XCJjYWxlbmRhci5zZWxlY3RlZERhdGUkIHwgYXN5bmNcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKHllYXIpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHllYXIgfCBvZHhEYXRlTGFiZWw6IGNvbmZpZy55ZWFyTGFiZWwgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
|
|
@@ -5,22 +5,22 @@ import { CSSComponent, CSSModifier } from '@odx/angular/internal';
|
|
|
5
5
|
import { deferFn, hasChanged, injectElement } from '@odx/angular/utils';
|
|
6
6
|
import { isSameMonth } from 'date-fns';
|
|
7
7
|
import { injectCalendarConfig } from '../calendar.config';
|
|
8
|
-
import {
|
|
8
|
+
import { CalendarView } from '../models';
|
|
9
9
|
import { DateLabelPipe } from '../pipes';
|
|
10
10
|
import { checkIdenticalDate, getA11yLabel } from '../utils';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
let CalendarCellDirective = class CalendarCellDirective {
|
|
13
13
|
constructor() {
|
|
14
14
|
this.disabledController = DisabledController.inject();
|
|
15
|
+
this.config = injectCalendarConfig();
|
|
16
|
+
this.dateLabelPipe = inject(DateLabelPipe);
|
|
15
17
|
this.isActive = false;
|
|
16
18
|
this.isSelected = false;
|
|
17
19
|
this.isHidden = false;
|
|
20
|
+
this.ariaLabel = '';
|
|
18
21
|
this.isCurrent = false;
|
|
19
22
|
this.adjacent = false;
|
|
20
23
|
this.element = injectElement();
|
|
21
|
-
this.dateLabelPipe = inject(DateLabelPipe);
|
|
22
|
-
this.config = injectCalendarConfig();
|
|
23
|
-
this.calendarView = CalendarViewEnum.Month;
|
|
24
24
|
this.activeDate = null;
|
|
25
25
|
this.selectedDate = null;
|
|
26
26
|
}
|
|
@@ -28,12 +28,13 @@ let CalendarCellDirective = class CalendarCellDirective {
|
|
|
28
28
|
return !!this.disabledController?.disabled;
|
|
29
29
|
}
|
|
30
30
|
ngOnChanges(changes) {
|
|
31
|
-
if (hasChanged(changes, ['date'], false)) {
|
|
31
|
+
if (hasChanged(changes, ['date', 'calendarView'], false)) {
|
|
32
|
+
this.ariaLabel = this.dateLabelPipe.transform(this.date, getA11yLabel(this.calendarView, this.config));
|
|
32
33
|
this.isCurrent = checkIdenticalDate(this.date, new Date(), this.calendarView);
|
|
33
34
|
}
|
|
34
35
|
if (this.activeDate && hasChanged(changes, ['date', 'activeDate'], false)) {
|
|
35
36
|
this.isActive = checkIdenticalDate(this.date, this.activeDate, this.calendarView);
|
|
36
|
-
if (this.calendarView ===
|
|
37
|
+
if (this.calendarView === CalendarView.Month) {
|
|
37
38
|
this.adjacent = !isSameMonth(this.date, this.activeDate);
|
|
38
39
|
this.isHidden = this.adjacent && !this.config.displayAdjacentDays;
|
|
39
40
|
}
|
|
@@ -45,10 +46,6 @@ let CalendarCellDirective = class CalendarCellDirective {
|
|
|
45
46
|
deferFn(() => this.element.nativeElement.focus());
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
|
-
get ariaLabel() {
|
|
49
|
-
const dateFormat = getA11yLabel(this.calendarView, this.config);
|
|
50
|
-
return this.dateLabelPipe.transform(this.date, dateFormat);
|
|
51
|
-
}
|
|
52
49
|
};
|
|
53
50
|
CalendarCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
54
51
|
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", "attr.hidden": "isHidden || null", "tabindex": "isActive ? 0 : -1", "attr.aria-label": "ariaLabel", "attr.aria-disabled": "isDisabled", "attr.type": "\"button\"" } }, providers: [DisabledController.connect(), DateLabelPipe], usesOnChanges: true, ngImport: i0 });
|
|
@@ -93,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
93
90
|
type: Input,
|
|
94
91
|
args: ['odxCalendarCellSelectedDate']
|
|
95
92
|
}] } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2RpcmVjdGl2ZXMvY2FsZW5kYXItY2VsbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQWlCckQsSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBcUI7SUFBM0I7UUFDWSx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUUvQyxXQUFNLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztRQUNoQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixjQUFTLEdB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QUNqQyxtQkFBbUIsRUFBRSxXQUFXO3dCQUNoQyxzQkFBc0IsRUFBRSxZQUFZO3dCQUNwQyxhQUFhLEVBQUUsVUFBVTtxQkFDMUI7aUJBQ0Y7OEJBZ0JXLFNBQVMsTUFHVCxRQUFRLE1BS1gsSUFBSTtzQkFEVixLQUFLO3VCQUFDLGlCQUFpQjtnQkFJakIsWUFBWTtzQkFEbEIsS0FBSzt1QkFBQyw2QkFBNkI7Z0JBSTdCLFVBQVU7c0JBRGhCLEtBQUs7dUJBQUMsMkJBQTJCO2dCQUkzQixZQUFZO3NCQURsQixLQUFLO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXNhYmxlZENvbnRyb2xsZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBDU1NNb2RpZmllciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBkZWZlckZuLCBoYXNDaGFuZ2VkLCBpbmplY3RFbGVtZW50LCBOZ0NoYW5nZXMgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgaXNTYW1lTW9udGggfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpbmplY3RDYWxlbmRhckNvbmZpZyB9IGZyb20gJy4uL2NhbGVuZGFyLmNvbmZpZyc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXcgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRGF0ZUxhYmVsUGlwZSB9IGZyb20gJy4uL3BpcGVzJztcbmltcG9ydCB7IGNoZWNrSWRlbnRpY2FsRGF0ZSwgZ2V0QTExeUxhYmVsIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5AQ1NTQ29tcG9uZW50KCdjYWxlbmRhci1jZWxsJylcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tvZHhDYWxlbmRhckNlbGxdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbRGlzYWJsZWRDb250cm9sbGVyLmNvbm5lY3QoKSwgRGF0ZUxhYmVsUGlwZV0sXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmlzLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLmlzLXNlbGVjdGVkXSc6ICdpc1NlbGVjdGVkJyxcbiAgICAnW2F0dHIuaGlkZGVuXSc6ICdpc0hpZGRlbiB8fCBudWxsJyxcbiAgICAnW3RhYmluZGV4XSc6ICdpc0FjdGl2ZSA/IDAgOiAtMScsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxdJzogJ2FyaWFMYWJlbCcsXG4gICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2lzRGlzYWJsZWQnLFxuICAgICdbYXR0ci50eXBlXSc6ICdcImJ1dHRvblwiJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDZWxsRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkaXNhYmxlZENvbnRyb2xsZXIgPSBEaXNhYmxlZENvbnRyb2xsZXIuaW5qZWN0KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdENhbGVuZGFyQ29uZmlnKCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBkYXRlTGFiZWxQaXBlID0gaW5qZWN0KERhdGVMYWJlbFBpcGUpO1xuICBwcm90ZWN0ZWQgaXNBY3RpdmUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGlzSGlkZGVuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBhcmlhTGFiZWwgPSAnJztcblxuICBwcm90ZWN0ZWQgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kaXNhYmxlZENvbnRyb2xsZXI/LmRpc2FibGVkO1xuICB9XG5cbiAgQENTU01vZGlmaWVyKClcbiAgcHJvdGVjdGVkIGlzQ3VycmVudCA9IGZhbHNlO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIHByb3RlY3RlZCBhZGphY2VudCA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIEBJbnB1dCgnb2R4Q2FsZW5kYXJDZWxsJylcbiAgcHVibGljIGRhdGUhOiBEYXRlO1xuXG4gIEBJbnB1dCgnb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3JylcbiAgcHVibGljIGNhbGVuZGFyVmlldyE6IENhbGVuZGFyVmlldztcblxuICBASW5wdXQoJ29keENhbGVuZGFyQ2VsbEFjdGl2ZURhdGUnKVxuICBwdWJsaWMgYWN0aXZlRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgnb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlJylcbiAgcHVibGljIHNlbGVjdGVkRGF0ZT86IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogTmdDaGFuZ2VzPENhbGVuZGFyQ2VsbERpcmVjdGl2ZT4pOiB2b2lkIHtcbiAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCBbJ2RhdGUnLCAnY2FsZW5kYXJWaWV3J10sIGZhbHNlKSkge1xuICAgICAgdGhpcy5hcmlhTGFiZWwgPSB0aGlzLmRhdGVMYWJlbFBpcGUudHJhbnNmb3JtKHRoaXMuZGF0ZSwgZ2V0QTExeUxhYmVsKHRoaXMuY2FsZW5kYXJWaWV3LCB0aGlzLmNvbmZpZykpO1xuICAgICAgdGhpcy5pc0N1cnJlbnQgPSBjaGVja0lkZW50aWNhbERhdGUodGhpcy5kYXRlLCBuZXcgRGF0ZSgpLCB0aGlzLmNhbGVuZGFyVmlldyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYWN0aXZlRGF0ZSAmJiBoYXNDaGFuZ2VkKGNoYW5nZXMsIFsnZGF0ZScsICdhY3RpdmVEYXRlJ10sIGZhbHNlKSkge1xuICAgICAgdGhpcy5pc0FjdGl2ZSA9IGNoZWNrSWRlbnRpY2FsRGF0ZSh0aGlzLmRhdGUsIHRoaXMuYWN0aXZlRGF0ZSwgdGhpcy5jYWxlbmRhclZpZXcpO1xuICAgICAgaWYgKHRoaXMuY2FsZW5kYXJWaWV3ID09PSBDYWxlbmRhclZpZXcuTW9udGgpIHtcbiAgICAgICAgdGhpcy5hZGphY2VudCA9ICFpc1NhbWVNb250aCh0aGlzLmRhdGUsIHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICAgIHRoaXMuaXNIaWRkZW4gPSB0aGlzLmFkamFjZW50ICYmICF0aGlzLmNvbmZpZy5kaXNwbGF5QWRqYWNlbnREYXlzO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZSAmJiBoYXNDaGFuZ2VkKGNoYW5nZXMsIFsnZGF0ZScsICdzZWxlY3RlZERhdGUnXSwgZmFsc2UpKSB7XG4gICAgICB0aGlzLmlzU2VsZWN0ZWQgPSBjaGVja0lkZW50aWNhbERhdGUodGhpcy5kYXRlLCB0aGlzLnNlbGVjdGVkRGF0ZSwgdGhpcy5jYWxlbmRhclZpZXcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzQWN0aXZlKSB7XG4gICAgICBkZWZlckZuKCgpID0+IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCkpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { Directive, inject } from '@angular/core';
|
|
2
|
-
import { injectElement, untilDestroyed } from '@odx/angular/utils';
|
|
1
|
+
import { Directive, inject, Input } from '@angular/core';
|
|
2
|
+
import { injectElement, trackByIndex, untilDestroyed } from '@odx/angular/utils';
|
|
3
3
|
import { injectCalendarConfig } from '../calendar.config';
|
|
4
|
-
import { CalendarService } from '../
|
|
4
|
+
import { CalendarService } from '../calendar.service';
|
|
5
|
+
import { isDateDisabled } from '../utils';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class CalendarViewDirective {
|
|
7
8
|
constructor() {
|
|
8
9
|
this.takeUntilDestroyed = untilDestroyed();
|
|
9
10
|
this.calendar = inject(CalendarService);
|
|
10
11
|
this.config = injectCalendarConfig();
|
|
12
|
+
this.trackByIndex = trackByIndex;
|
|
11
13
|
this.element = injectElement();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
trackByIndex(index) {
|
|
17
|
-
return index;
|
|
14
|
+
this.selectedDate = null;
|
|
15
|
+
this.minDate = null;
|
|
16
|
+
this.maxDate = null;
|
|
17
|
+
this.filterFn = null;
|
|
18
18
|
}
|
|
19
19
|
isDateDisabled(value) {
|
|
20
|
-
return this.
|
|
20
|
+
return isDateDisabled(value, this.currentView, this.minDate, this.maxDate, this.filterFn);
|
|
21
21
|
}
|
|
22
22
|
changeView() {
|
|
23
|
-
this.calendar.changeView(this.
|
|
23
|
+
this.calendar.changeView(this.nextView);
|
|
24
24
|
}
|
|
25
25
|
updateActiveDate(event, date) {
|
|
26
26
|
event.preventDefault();
|
|
@@ -29,11 +29,21 @@ export class CalendarViewDirective {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
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 });
|
|
32
|
+
CalendarViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: CalendarViewDirective, isStandalone: true, inputs: { activeDate: "activeDate", selectedDate: "selectedDate", minDate: "minDate", maxDate: "maxDate", filterFn: "filterFn" }, ngImport: i0 });
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarViewDirective, decorators: [{
|
|
34
34
|
type: Directive,
|
|
35
35
|
args: [{
|
|
36
36
|
standalone: true,
|
|
37
37
|
}]
|
|
38
|
-
}]
|
|
39
|
-
|
|
38
|
+
}], propDecorators: { activeDate: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], selectedDate: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], minDate: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], maxDate: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], filterFn: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItdmlldy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2RpcmVjdGl2ZXMvY2FsZW5kYXItdmlldy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUsxQyxNQUFNLE9BQWdCLHFCQUFxQjtJQUgzQztRQUlxQix1QkFBa0IsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25DLFdBQU0sR0FBRyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBSS9CLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQU1uQyxpQkFBWSxHQUFpQixJQUFJLENBQUM7UUFHbEMsWUFBTyxHQUFpQixJQUFJLENBQUM7UUFHN0IsWUFBTyxHQUFpQixJQUFJLENBQUM7UUFHN0IsYUFBUSxHQUF1QixJQUFJLENBQUM7S0FnQjVDO0lBZFcsY0FBYyxDQUFDLEtBQVc7UUFDbEMsT0FBTyxjQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRVMsVUFBVTtRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEtBQVksRUFBRSxJQUFVO1FBQ2pELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7a0hBdENtQixxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUgxQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFZUSxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQsIHRyYWNrQnlJbmRleCwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgaW5qZWN0Q2FsZW5kYXJDb25maWcgfSBmcm9tICcuLi9jYWxlbmRhci5jb25maWcnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSAnLi4vY2FsZW5kYXIuc2VydmljZSc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXcsIERhdGVGaWx0ZXIgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgaXNEYXRlRGlzYWJsZWQgfSBmcm9tICcuLi91dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDYWxlbmRhclZpZXdEaXJlY3RpdmUge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyID0gaW5qZWN0KENhbGVuZGFyU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBpbmplY3RDYWxlbmRhckNvbmZpZygpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhY2tCeUluZGV4ID0gdHJhY2tCeUluZGV4O1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgY3VycmVudFZpZXc6IENhbGVuZGFyVmlldztcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IG5leHRWaWV3OiBDYWxlbmRhclZpZXc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFjdGl2ZURhdGUhOiBEYXRlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3RlZERhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1pbkRhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1heERhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlckZuPzogRGF0ZUZpbHRlciB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBpc0RhdGVEaXNhYmxlZCh2YWx1ZTogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0RhdGVEaXNhYmxlZCh2YWx1ZSwgdGhpcy5jdXJyZW50VmlldywgdGhpcy5taW5EYXRlLCB0aGlzLm1heERhdGUsIHRoaXMuZmlsdGVyRm4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoYW5nZVZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhci5jaGFuZ2VWaWV3KHRoaXMubmV4dFZpZXcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQ6IEV2ZW50LCBkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMuY2FsZW5kYXIuc2V0QWN0aXZlRGF0ZShkYXRlKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var CalendarView;
|
|
2
|
+
(function (CalendarView) {
|
|
3
|
+
CalendarView["Month"] = "month";
|
|
4
|
+
CalendarView["Year"] = "year";
|
|
5
|
+
CalendarView["Years"] = "years";
|
|
6
|
+
})(CalendarView || (CalendarView = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvbW9kZWxzL2NhbGVuZGFyLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFJWDtBQUpELFdBQVksWUFBWTtJQUN0QiwrQkFBZSxDQUFBO0lBQ2YsNkJBQWEsQ0FBQTtJQUNiLCtCQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ2FsZW5kYXJWaWV3IHtcbiAgTW9udGggPSAnbW9udGgnLFxuICBZZWFyID0gJ3llYXInLFxuICBZZWFycyA9ICd5ZWFycycsXG59XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
export * from './calendar-view';
|
|
1
2
|
export * from './date-filter';
|
|
2
3
|
export * from './date-type';
|
|
3
4
|
export * from './date-validator';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyLXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLWZpbHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtdmFsaWRhdG9yJztcbiJdfQ==
|
|
@@ -13,13 +13,13 @@ export class DateLabelPipe {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
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"
|
|
16
|
+
DateLabelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DateLabelPipe, isStandalone: true, name: "odxDateLabel" });
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateLabelPipe, decorators: [{
|
|
18
18
|
type: Pipe,
|
|
19
19
|
args: [{
|
|
20
|
-
pure: false,
|
|
21
|
-
name: 'odxDateLabel',
|
|
22
20
|
standalone: true,
|
|
21
|
+
name: 'odxDateLabel',
|
|
22
|
+
pure: true,
|
|
23
23
|
}]
|
|
24
24
|
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1sYWJlbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9waXBlcy9kYXRlLWxhYmVsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFPMUQsTUFBTSxPQUFPLGFBQWE7SUFMMUI7UUFNa0IsV0FBTSxHQUFHLG9CQUFvQixFQUFFLENBQUM7S0FPakQ7SUFMUSxTQUFTLENBQUMsS0FBa0IsRUFBRSxVQUFrQjtRQUNyRCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXRCLE9BQU8sTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7OzBHQVBVLGFBQWE7d0dBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUx6QixJQUFJO21CQUFDO29CQUNKLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsY0FBYztvQkFDcEIsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpbmplY3RDYWxlbmRhckNvbmZpZyB9IGZyb20gJy4uL2NhbGVuZGFyLmNvbmZpZyc7XG5cbkBQaXBlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgbmFtZTogJ29keERhdGVMYWJlbCcsXG4gIHB1cmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVMYWJlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdENhbGVuZGFyQ29uZmlnKCk7XG5cbiAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogRGF0ZSB8IG51bGwsIGRhdGVGb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuICcnO1xuXG4gICAgcmV0dXJuIGZvcm1hdCh2YWx1ZSwgZGF0ZUZvcm1hdCwgeyBsb2NhbGU6IHRoaXMuY29uZmlnLmxvY2FsZS5nZXRWYWx1ZSgpIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
2
|
import { addDays, endOfMonth, endOfWeek, startOfMonth, startOfWeek } from 'date-fns';
|
|
3
3
|
import { map } from 'rxjs';
|
|
4
|
-
import { CalendarService } from '
|
|
4
|
+
import { CalendarService } from '../calendar.service';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class CalendarMonthService {
|
|
7
7
|
constructor() {
|
|
@@ -35,4 +35,4 @@ CalendarMonthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarMonthService, decorators: [{
|
|
36
36
|
type: Injectable
|
|
37
37
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvc2VydmljZXMvY2FsZW5kYXItbW9udGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyRixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHdEQsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUVtQixhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXBDLGNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLFdBQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQTJCbEc7SUF6QlMsZ0JBQWdCLENBQUMsSUFBVTtRQUNqQyxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFNUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBVTtRQUM5QixNQUFNLHVCQUF1QixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRCxNQUFNLHFCQUFxQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RSxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFFcEIsSUFBSSxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQzVCLE9BQU8sV0FBVyxJQUFJLE9BQU8sRUFBRTtZQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMzRCxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN2QztRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxJQUFVLEVBQUUsV0FBaUI7UUFDdkQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNoRixDQUFDOztpSEE5QlUsb0JBQW9CO3FIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYWRkRGF5cywgZW5kT2ZNb250aCwgZW5kT2ZXZWVrLCBzdGFydE9mTW9udGgsIHN0YXJ0T2ZXZWVrIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyTW9udGhTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYWxlbmRhciA9IGluamVjdChDYWxlbmRhclNlcnZpY2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSB3ZWVrRGF5cyQgPSB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUkLnBpcGUobWFwKChkYXRlKSA9PiB0aGlzLmdlbmVyYXRlV2Vla0RheXMoZGF0ZSkpKTtcbiAgcHVibGljIHJlYWRvbmx5IHdlZWtzJCA9IHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSQucGlwZShtYXAoKGRhdGUpID0+IHRoaXMuZ2VuZXJhdGVXZWVrcyhkYXRlKSkpO1xuXG4gIHByaXZhdGUgZ2VuZXJhdGVXZWVrRGF5cyhkYXRlOiBEYXRlKTogRGF0ZVtdIHtcbiAgICBjb25zdCBmaXJzdFdlZWtEYXkgPSBzdGFydE9mV2VlayhkYXRlLCB7IHdlZWtTdGFydHNPbjogMSB9KTtcblxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiA3IH0sIChfLCBpKSA9PiBhZGREYXlzKGZpcnN0V2Vla0RheSwgaSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVdlZWtzKGRhdGU6IERhdGUpOiBEYXRlW11bXSB7XG4gICAgY29uc3Qgc3RhcnRPZlRoZVNlbGVjdGVkTW9udGggPSBzdGFydE9mTW9udGgoZGF0ZSk7XG4gICAgY29uc3QgZW5kT2ZUaGVTZWxlY3RlZE1vbnRoID0gZW5kT2ZNb250aChkYXRlKTtcbiAgICBjb25zdCBzdGFydERhdGUgPSBzdGFydE9mV2VlayhzdGFydE9mVGhlU2VsZWN0ZWRNb250aCwgeyB3ZWVrU3RhcnRzT246IDEgfSk7XG4gICAgY29uc3QgZW5kRGF0ZSA9IGVuZE9mV2VlayhlbmRPZlRoZVNlbGVjdGVkTW9udGgpO1xuICAgIGNvbnN0IGFsbFdlZWtzID0gW107XG5cbiAgICBsZXQgY3VycmVudERhdGUgPSBzdGFydERhdGU7XG4gICAgd2hpbGUgKGN1cnJlbnREYXRlIDw9IGVuZERhdGUpIHtcbiAgICAgIGFsbFdlZWtzLnB1c2godGhpcy5nZW5lcmF0ZURheXNGb3JXZWVrKGN1cnJlbnREYXRlLCBkYXRlKSk7XG4gICAgICBjdXJyZW50RGF0ZSA9IGFkZERheXMoY3VycmVudERhdGUsIDcpO1xuICAgIH1cblxuICAgIHJldHVybiBhbGxXZWVrcztcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVEYXlzRm9yV2VlayhkYXRlOiBEYXRlLCBjdXJyZW50RGF0ZTogRGF0ZSk6IERhdGVbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IDcgfSkubWFwKChfLCBpKSA9PiBhZGREYXlzKGRhdGUsIGkpLCBjdXJyZW50RGF0ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
2
|
import { eachMonthOfInterval, endOfYear, startOfYear } from 'date-fns';
|
|
3
3
|
import { map } from 'rxjs';
|
|
4
|
-
import {
|
|
4
|
+
import { injectCalendarConfig } from '../calendar.config';
|
|
5
|
+
import { CalendarService } from '../calendar.service';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class CalendarYearService {
|
|
7
8
|
constructor() {
|
|
9
|
+
this.config = injectCalendarConfig();
|
|
8
10
|
this.calendar = inject(CalendarService);
|
|
9
|
-
this.seasonSeparator = 3;
|
|
10
11
|
this.seasons$ = this.calendar.activeDate$.pipe(map((selectedDate) => this.generateSeasons(selectedDate)));
|
|
11
12
|
}
|
|
12
13
|
generateSeasons(date) {
|
|
14
|
+
const { itemsPerRow } = this.config.yearView;
|
|
13
15
|
const seasons = [];
|
|
14
16
|
const months = eachMonthOfInterval({
|
|
15
17
|
start: startOfYear(date),
|
|
@@ -17,8 +19,8 @@ export class CalendarYearService {
|
|
|
17
19
|
});
|
|
18
20
|
let index = 0;
|
|
19
21
|
while (index < months.length) {
|
|
20
|
-
seasons.push(months.slice(index, index +
|
|
21
|
-
index +=
|
|
22
|
+
seasons.push(months.slice(index, index + itemsPerRow));
|
|
23
|
+
index += itemsPerRow;
|
|
22
24
|
}
|
|
23
25
|
return seasons;
|
|
24
26
|
}
|
|
@@ -28,4 +30,4 @@ CalendarYearService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
|
28
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearService, decorators: [{
|
|
29
31
|
type: Injectable
|
|
30
32
|
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9zZXJ2aWNlcy9jYWxlbmRhci15ZWFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR3RELE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFbUIsV0FBTSxHQUFHLG9CQUFvQixFQUFFLENBQUM7UUFDaEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVwQyxhQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FrQnRIO0lBaEJTLGVBQWUsQ0FBQyxJQUFVO1FBQ2hDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUM7WUFDakMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDeEIsR0FBRyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUM7U0FDckIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsT0FBTyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUM1QixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELEtBQUssSUFBSSxXQUFXLENBQUM7U0FDdEI7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOztnSEFyQlUsbUJBQW1CO29IQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZWFjaE1vbnRoT2ZJbnRlcnZhbCwgZW5kT2ZZZWFyLCBzdGFydE9mWWVhciB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaW5qZWN0Q2FsZW5kYXJDb25maWcgfSBmcm9tICcuLi9jYWxlbmRhci5jb25maWcnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSAnLi4vY2FsZW5kYXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYWxlbmRhclllYXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3RDYWxlbmRhckNvbmZpZygpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbGVuZGFyID0gaW5qZWN0KENhbGVuZGFyU2VydmljZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNlYXNvbnMkID0gdGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlJC5waXBlKG1hcCgoc2VsZWN0ZWREYXRlKSA9PiB0aGlzLmdlbmVyYXRlU2Vhc29ucyhzZWxlY3RlZERhdGUpKSk7XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVNlYXNvbnMoZGF0ZTogRGF0ZSk6IERhdGVbXVtdIHtcbiAgICBjb25zdCB7IGl0ZW1zUGVyUm93IH0gPSB0aGlzLmNvbmZpZy55ZWFyVmlldztcbiAgICBjb25zdCBzZWFzb25zID0gW107XG4gICAgY29uc3QgbW9udGhzID0gZWFjaE1vbnRoT2ZJbnRlcnZhbCh7XG4gICAgICBzdGFydDogc3RhcnRPZlllYXIoZGF0ZSksXG4gICAgICBlbmQ6IGVuZE9mWWVhcihkYXRlKSxcbiAgICB9KTtcblxuICAgIGxldCBpbmRleCA9IDA7XG4gICAgd2hpbGUgKGluZGV4IDwgbW9udGhzLmxlbmd0aCkge1xuICAgICAgc2Vhc29ucy5wdXNoKG1vbnRocy5zbGljZShpbmRleCwgaW5kZXggKyBpdGVtc1BlclJvdykpO1xuICAgICAgaW5kZXggKz0gaXRlbXNQZXJSb3c7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlYXNvbnM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { addYears, getYear, setYear, startOfYear } from 'date-fns';
|
|
3
|
+
import { defer, of } from 'rxjs';
|
|
4
|
+
import { injectCalendarConfig } from '../calendar.config';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
export class CalendarYearsService {
|
|
5
7
|
constructor() {
|
|
6
|
-
this.
|
|
7
|
-
this.
|
|
8
|
-
this.date = new Date();
|
|
8
|
+
this.config = injectCalendarConfig();
|
|
9
|
+
this.years$ = defer(() => of(this.generateYears()));
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
const
|
|
11
|
+
generateYears() {
|
|
12
|
+
const { itemsPerRow, padding } = this.config.yearsView;
|
|
13
|
+
const now = Date.now();
|
|
14
|
+
const startDate = startOfYear(addYears(now, -padding));
|
|
12
15
|
const startYear = getYear(startDate);
|
|
13
|
-
const endDate = startOfYear(addYears(
|
|
16
|
+
const endDate = startOfYear(addYears(now, padding));
|
|
14
17
|
const endYear = getYear(endDate);
|
|
15
18
|
const years = [];
|
|
16
19
|
const yearRows = [];
|
|
@@ -19,8 +22,8 @@ export class CalendarYearsService {
|
|
|
19
22
|
}
|
|
20
23
|
let index = 0;
|
|
21
24
|
while (index < years.length) {
|
|
22
|
-
yearRows.push(years.slice(index, index +
|
|
23
|
-
index +=
|
|
25
|
+
yearRows.push(years.slice(index, index + itemsPerRow));
|
|
26
|
+
index += itemsPerRow;
|
|
24
27
|
}
|
|
25
28
|
return yearRows;
|
|
26
29
|
}
|
|
@@ -30,4 +33,4 @@ CalendarYearsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
|
30
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearsService, decorators: [{
|
|
31
34
|
type: Injectable
|
|
32
35
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhcnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvc2VydmljZXMvY2FsZW5kYXIteWVhcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRzFELE1BQU0sT0FBTyxvQkFBb0I7SUFEakM7UUFFbUIsV0FBTSxHQUFHLG9CQUFvQixFQUFFLENBQUM7UUFFakMsV0FBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztLQXlCaEU7SUF2QlMsYUFBYTtRQUNuQixNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3ZELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN2QixNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDdkQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDcEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpDLE1BQU0sS0FBSyxHQUFXLEVBQUUsQ0FBQztRQUN6QixNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFFOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztRQUVELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLE9BQU8sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDM0IsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN2RCxLQUFLLElBQUksV0FBVyxDQUFDO1NBQ3RCO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7aUhBM0JVLG9CQUFvQjtxSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhZGRZZWFycywgZ2V0WWVhciwgc2V0WWVhciwgc3RhcnRPZlllYXIgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBkZWZlciwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGluamVjdENhbGVuZGFyQ29uZmlnIH0gZnJvbSAnLi4vY2FsZW5kYXIuY29uZmlnJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyWWVhcnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3RDYWxlbmRhckNvbmZpZygpO1xuXG4gIHB1YmxpYyByZWFkb25seSB5ZWFycyQgPSBkZWZlcigoKSA9PiBvZih0aGlzLmdlbmVyYXRlWWVhcnMoKSkpO1xuXG4gIHByaXZhdGUgZ2VuZXJhdGVZZWFycygpOiBEYXRlW11bXSB7XG4gICAgY29uc3QgeyBpdGVtc1BlclJvdywgcGFkZGluZyB9ID0gdGhpcy5jb25maWcueWVhcnNWaWV3O1xuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgY29uc3Qgc3RhcnREYXRlID0gc3RhcnRPZlllYXIoYWRkWWVhcnMobm93LCAtcGFkZGluZykpO1xuICAgIGNvbnN0IHN0YXJ0WWVhciA9IGdldFllYXIoc3RhcnREYXRlKTtcbiAgICBjb25zdCBlbmREYXRlID0gc3RhcnRPZlllYXIoYWRkWWVhcnMobm93LCBwYWRkaW5nKSk7XG4gICAgY29uc3QgZW5kWWVhciA9IGdldFllYXIoZW5kRGF0ZSk7XG5cbiAgICBjb25zdCB5ZWFyczogRGF0ZVtdID0gW107XG4gICAgY29uc3QgeWVhclJvd3M6IERhdGVbXVtdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gc3RhcnRZZWFyOyBpIDw9IGVuZFllYXI7IGkrKykge1xuICAgICAgeWVhcnMucHVzaChzZXRZZWFyKHN0YXJ0RGF0ZSwgaSkpO1xuICAgIH1cblxuICAgIGxldCBpbmRleCA9IDA7XG4gICAgd2hpbGUgKGluZGV4IDwgeWVhcnMubGVuZ3RoKSB7XG4gICAgICB5ZWFyUm93cy5wdXNoKHllYXJzLnNsaWNlKGluZGV4LCBpbmRleCArIGl0ZW1zUGVyUm93KSk7XG4gICAgICBpbmRleCArPSBpdGVtc1BlclJvdztcbiAgICB9XG5cbiAgICByZXR1cm4geWVhclJvd3M7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from './calendar-month.service';
|
|
2
2
|
export * from './calendar-year.service';
|
|
3
3
|
export * from './calendar-years.service';
|
|
4
|
-
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyLW1vbnRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci15ZWFyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci15ZWFycy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIuc2VydmljZSc7XG4iXX0=
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci1tb250aC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIteWVhci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIteWVhcnMuc2VydmljZSc7XG4iXX0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { isSameDay, isSameMonth, isSameYear } from 'date-fns';
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
4
|
-
[
|
|
5
|
-
[
|
|
6
|
-
[
|
|
2
|
+
import { CalendarView } from '../models';
|
|
3
|
+
const dateValidators = {
|
|
4
|
+
[CalendarView.Month]: (currentDate, date) => isSameDay(currentDate, date),
|
|
5
|
+
[CalendarView.Year]: (currentDate, date) => isSameMonth(currentDate, date),
|
|
6
|
+
[CalendarView.Years]: (currentDate, date) => isSameYear(currentDate, date),
|
|
7
7
|
};
|
|
8
8
|
export function checkIdenticalDate(currentDate, date, calendarView) {
|
|
9
|
-
return
|
|
9
|
+
return dateValidators[calendarView](currentDate, date);
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2staWRlbnRpY2FsLWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3V0aWxzL2NoZWNrLWlkZW50aWNhbC1kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFpQixNQUFNLFdBQVcsQ0FBQztBQUV4RCxNQUFNLGNBQWMsR0FBd0M7SUFDMUQsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFpQixFQUFFLElBQVUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7SUFDckYsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFpQixFQUFFLElBQVUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7SUFDdEYsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFpQixFQUFFLElBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7Q0FDdkYsQ0FBQztBQUVGLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxXQUFpQixFQUFFLElBQVUsRUFBRSxZQUEwQjtJQUMxRixPQUFPLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2FtZURheSwgaXNTYW1lTW9udGgsIGlzU2FtZVllYXIgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXcsIERhdGVWYWxpZGF0b3IgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5jb25zdCBkYXRlVmFsaWRhdG9yczogUmVjb3JkPENhbGVuZGFyVmlldywgRGF0ZVZhbGlkYXRvcj4gPSB7XG4gIFtDYWxlbmRhclZpZXcuTW9udGhdOiAoY3VycmVudERhdGU6IERhdGUsIGRhdGU6IERhdGUpID0+IGlzU2FtZURheShjdXJyZW50RGF0ZSwgZGF0ZSksXG4gIFtDYWxlbmRhclZpZXcuWWVhcl06IChjdXJyZW50RGF0ZTogRGF0ZSwgZGF0ZTogRGF0ZSkgPT4gaXNTYW1lTW9udGgoY3VycmVudERhdGUsIGRhdGUpLFxuICBbQ2FsZW5kYXJWaWV3LlllYXJzXTogKGN1cnJlbnREYXRlOiBEYXRlLCBkYXRlOiBEYXRlKSA9PiBpc1NhbWVZZWFyKGN1cnJlbnREYXRlLCBkYXRlKSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0lkZW50aWNhbERhdGUoY3VycmVudERhdGU6IERhdGUsIGRhdGU6IERhdGUsIGNhbGVuZGFyVmlldzogQ2FsZW5kYXJWaWV3KTogYm9vbGVhbiB7XG4gIHJldHVybiBkYXRlVmFsaWRhdG9yc1tjYWxlbmRhclZpZXddKGN1cnJlbnREYXRlLCBkYXRlKTtcbn1cbiJdfQ==
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const
|
|
3
|
-
[
|
|
4
|
-
[
|
|
5
|
-
[
|
|
1
|
+
import { CalendarView } from '../models';
|
|
2
|
+
const labelResolvers = {
|
|
3
|
+
[CalendarView.Month]: (config) => config.dayA11yLabel,
|
|
4
|
+
[CalendarView.Year]: (config) => config.monthA11yLabel,
|
|
5
|
+
[CalendarView.Years]: (config) => config.yearA11yLabel,
|
|
6
6
|
};
|
|
7
7
|
export function getA11yLabel(calendarView, config) {
|
|
8
|
-
return
|
|
8
|
+
return labelResolvers[calendarView](config);
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LUExMXktbGFiZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3V0aWxzL2dldC1BMTF5LWxhYmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekMsTUFBTSxjQUFjLEdBQTZEO0lBQy9FLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBc0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVk7SUFDckUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFzQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYztJQUN0RSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQXNCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhO0NBQ3ZFLENBQUM7QUFFRixNQUFNLFVBQVUsWUFBWSxDQUFDLFlBQTBCLEVBQUUsTUFBc0I7SUFDN0UsT0FBTyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbGVuZGFyQ29uZmlnIH0gZnJvbSAnLi4vY2FsZW5kYXIuY29uZmlnJztcbmltcG9ydCB7IENhbGVuZGFyVmlldyB9IGZyb20gJy4uL21vZGVscyc7XG5cbmNvbnN0IGxhYmVsUmVzb2x2ZXJzOiBSZWNvcmQ8Q2FsZW5kYXJWaWV3LCAoY29uZmlnOiBDYWxlbmRhckNvbmZpZykgPT4gc3RyaW5nPiA9IHtcbiAgW0NhbGVuZGFyVmlldy5Nb250aF06IChjb25maWc6IENhbGVuZGFyQ29uZmlnKSA9PiBjb25maWcuZGF5QTExeUxhYmVsLFxuICBbQ2FsZW5kYXJWaWV3LlllYXJdOiAoY29uZmlnOiBDYWxlbmRhckNvbmZpZykgPT4gY29uZmlnLm1vbnRoQTExeUxhYmVsLFxuICBbQ2FsZW5kYXJWaWV3LlllYXJzXTogKGNvbmZpZzogQ2FsZW5kYXJDb25maWcpID0+IGNvbmZpZy55ZWFyQTExeUxhYmVsLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEExMXlMYWJlbChjYWxlbmRhclZpZXc6IENhbGVuZGFyVmlldywgY29uZmlnOiBDYWxlbmRhckNvbmZpZyk6IHN0cmluZyB7XG4gIHJldHVybiBsYWJlbFJlc29sdmVyc1tjYWxlbmRhclZpZXddKGNvbmZpZyk7XG59XG4iXX0=
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export * from './check-identical-date';
|
|
2
2
|
export * from './get-A11y-label';
|
|
3
|
+
export * from './is-date-disabled';
|
|
3
4
|
export * from './parse-date';
|
|
4
5
|
export * from './validate-max-date';
|
|
5
6
|
export * from './validate-min-date';
|
|
6
7
|
export * from './validate-next-date-set';
|
|
7
8
|
export * from './validate-previous-date-set';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NoZWNrLWlkZW50aWNhbC1kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LUExMXktbGFiZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1kYXRlLWRpc2FibGVkJztcbmV4cG9ydCAqIGZyb20gJy4vcGFyc2UtZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRlLW1heC1kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGUtbWluLWRhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0ZS1uZXh0LWRhdGUtc2V0JztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGUtcHJldmlvdXMtZGF0ZS1zZXQnO1xuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CalendarView } from '../models';
|
|
2
|
+
import { validateMaxDate } from './validate-max-date';
|
|
3
|
+
import { validateMinDate } from './validate-min-date';
|
|
4
|
+
export function isDateDisabled(date, calendarView, minDate, maxDate, filterFn) {
|
|
5
|
+
const minDateValidation = minDate && validateMinDate(minDate, date, calendarView);
|
|
6
|
+
const maxDateValidation = maxDate && validateMaxDate(maxDate, date, calendarView);
|
|
7
|
+
const isDateFiltered = calendarView === CalendarView.Month && !!filterFn?.(date);
|
|
8
|
+
return minDateValidation || maxDateValidation || isDateFiltered;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZGF0ZS1kaXNhYmxlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvdXRpbHMvaXMtZGF0ZS1kaXNhYmxlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFjLE1BQU0sV0FBVyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUFVLEVBQUUsWUFBMEIsRUFBRSxPQUFxQixFQUFFLE9BQXFCLEVBQUUsUUFBNEI7SUFDL0ksTUFBTSxpQkFBaUIsR0FBRyxPQUFPLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDbEYsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDbEYsTUFBTSxjQUFjLEdBQUcsWUFBWSxLQUFLLFlBQVksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWpGLE9BQU8saUJBQWlCLElBQUksaUJBQWlCLElBQUksY0FBYyxDQUFDO0FBQ2xFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYWxlbmRhclZpZXcsIERhdGVGaWx0ZXIgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgdmFsaWRhdGVNYXhEYXRlIH0gZnJvbSAnLi92YWxpZGF0ZS1tYXgtZGF0ZSc7XG5pbXBvcnQgeyB2YWxpZGF0ZU1pbkRhdGUgfSBmcm9tICcuL3ZhbGlkYXRlLW1pbi1kYXRlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZURpc2FibGVkKGRhdGU6IERhdGUsIGNhbGVuZGFyVmlldzogQ2FsZW5kYXJWaWV3LCBtaW5EYXRlPzogRGF0ZSB8IG51bGwsIG1heERhdGU/OiBEYXRlIHwgbnVsbCwgZmlsdGVyRm4/OiBEYXRlRmlsdGVyIHwgbnVsbCk6IGJvb2xlYW4ge1xuICBjb25zdCBtaW5EYXRlVmFsaWRhdGlvbiA9IG1pbkRhdGUgJiYgdmFsaWRhdGVNaW5EYXRlKG1pbkRhdGUsIGRhdGUsIGNhbGVuZGFyVmlldyk7XG4gIGNvbnN0IG1heERhdGVWYWxpZGF0aW9uID0gbWF4RGF0ZSAmJiB2YWxpZGF0ZU1heERhdGUobWF4RGF0ZSwgZGF0ZSwgY2FsZW5kYXJWaWV3KTtcbiAgY29uc3QgaXNEYXRlRmlsdGVyZWQgPSBjYWxlbmRhclZpZXcgPT09IENhbGVuZGFyVmlldy5Nb250aCAmJiAhIWZpbHRlckZuPy4oZGF0ZSk7XG5cbiAgcmV0dXJuIG1pbkRhdGVWYWxpZGF0aW9uIHx8IG1heERhdGVWYWxpZGF0aW9uIHx8IGlzRGF0ZUZpbHRlcmVkO1xufVxuIl19
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { endOfDay, endOfMonth, endOfYear } from 'date-fns';
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
4
|
-
[
|
|
5
|
-
[
|
|
6
|
-
[
|
|
2
|
+
import { CalendarView } from '../models';
|
|
3
|
+
const dateValidators = {
|
|
4
|
+
[CalendarView.Month]: (maxDate, date) => endOfDay(maxDate) < endOfDay(date),
|
|
5
|
+
[CalendarView.Year]: (maxDate, date) => endOfMonth(maxDate) < endOfMonth(date),
|
|
6
|
+
[CalendarView.Years]: (maxDate, date) => endOfYear(maxDate) < endOfYear(date),
|
|
7
7
|
};
|
|
8
8
|
export function validateMaxDate(maxDate, date, calendarView) {
|
|
9
|
-
return
|
|
9
|
+
return dateValidators[calendarView](maxDate, date);
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtbWF4LWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL3V0aWxzL3ZhbGlkYXRlLW1heC1kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFpQixNQUFNLFdBQVcsQ0FBQztBQUV4RCxNQUFNLGNBQWMsR0FBd0M7SUFDMUQsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFhLEVBQUUsSUFBVSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztJQUN2RixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQWEsRUFBRSxJQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQzFGLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBYSxFQUFFLElBQVUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7Q0FDMUYsQ0FBQztBQUVGLE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBYSxFQUFFLElBQVUsRUFBRSxZQUEwQjtJQUNuRixPQUFPLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVuZE9mRGF5LCBlbmRPZk1vbnRoLCBlbmRPZlllYXIgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXcsIERhdGVWYWxpZGF0b3IgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5jb25zdCBkYXRlVmFsaWRhdG9yczogUmVjb3JkPENhbGVuZGFyVmlldywgRGF0ZVZhbGlkYXRvcj4gPSB7XG4gIFtDYWxlbmRhclZpZXcuTW9udGhdOiAobWF4RGF0ZTogRGF0ZSwgZGF0ZTogRGF0ZSkgPT4gZW5kT2ZEYXkobWF4RGF0ZSkgPCBlbmRPZkRheShkYXRlKSxcbiAgW0NhbGVuZGFyVmlldy5ZZWFyXTogKG1heERhdGU6IERhdGUsIGRhdGU6IERhdGUpID0+IGVuZE9mTW9udGgobWF4RGF0ZSkgPCBlbmRPZk1vbnRoKGRhdGUpLFxuICBbQ2FsZW5kYXJWaWV3LlllYXJzXTogKG1heERhdGU6IERhdGUsIGRhdGU6IERhdGUpID0+IGVuZE9mWWVhcihtYXhEYXRlKSA8IGVuZE9mWWVhcihkYXRlKSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU1heERhdGUobWF4RGF0ZTogRGF0ZSwgZGF0ZTogRGF0ZSwgY2FsZW5kYXJWaWV3OiBDYWxlbmRhclZpZXcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGRhdGVWYWxpZGF0b3JzW2NhbGVuZGFyVmlld10obWF4RGF0ZSwgZGF0ZSk7XG59XG4iXX0=
|