import * as i0 from '@angular/core'; import { OnInit, OnChanges, EventEmitter, ElementRef, ChangeDetectorRef, SimpleChanges } from '@angular/core'; import { Locale as Locale$1 } from 'date-fns'; import { TranslationService } from '@kirbydesign/designsystem/shared'; interface CalendarDay extends CalendarDayMetadata { date: number; monthIndex: number; year: number; ariaLabel: string; } interface CalendarDayMetadata { isToday: boolean; isPast: boolean; isFuture: boolean; isWeekend: boolean; isCurrentMonth: boolean; isSelectable: boolean; isSelected: boolean; isFocussed: boolean; isFocusable: boolean; } type CalendarYearNavigatorConfig = { from: number | Date; to: number | Date; }; type Locale = Locale$1; interface WeekDay { firstLetterCapitalized: string; fullName: string; } declare class CalendarComponent implements OnInit, OnChanges { private elementRef; private cdr; translations: TranslationService; dateChange: EventEmitter; dateSelect: EventEmitter; yearSelect: EventEmitter; previousMonthClicked: EventEmitter; nextMonthClicked: EventEmitter; timezone: 'local' | 'UTC'; disableWeekends: boolean; disablePastDates: boolean; disableFutureDates: boolean; alwaysEnableToday: boolean; set locales(locales: { [key: string]: Locale; }); customLocales: { [key: string]: Locale; }; /** * @deprecated This input is no longer needed. The year selection dropdown now always uses popover positioning. * This input will be removed in a future major version. */ set usePopover(_value: boolean); /** * Configuration for the year navigator. * * Internally, calendar component: * - bases yearNavigatorOptions.from and yearNavigatorOptions.to on todayDate if a number is provided * - prioritizes minDate and maxDate over yearNavigatorOptions.from and yearNavigatorOptions.to */ yearNavigatorOptions: CalendarYearNavigatorConfig; _tableMonthId: string; _month: CalendarDay[][]; _weekDays: WeekDay[]; private selectedDay; private focussedDay; private activeMonth; private _selectedDate; private _disabledDates; private _enabledDates; private _todayDate; private _minDate; private _maxDate; private focussedDate; private locale; private timeZoneName; private includedLocales; get selectedDate(): Date; set selectedDate(valueLocalOrUTC: Date | null); get disabledDates(): Date[]; set disabledDates(value: Date[]); get enabledDates(): Date[]; set enabledDates(value: Date[]); get todayDate(): Date; set todayDate(value: Date); get minDate(): Date; set minDate(value: Date); get maxDate(): Date; set maxDate(value: Date); get activeMonthName(): string; get activeYear(): string; /** * Gets navigable years for year navigator based on yearNavigatorOptions. */ get navigableYears(): string[]; get navigatedYear(): number; get _hasYearNavigator(): boolean; private getTodayDate; constructor(locale: string, elementRef: ElementRef, cdr: ChangeDetectorRef, translations: TranslationService); private formatWithLocale; private mapLocale; private formatDateLabel; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; private setActiveMonth; private normalizeDate; private getWeekDays; private hasDateChanged; private isDisabledDate; private isEnabledDate; refreshActiveMonth(): void; private getCalendarDayMetadata; private isSelectable; private isWithinAllowedRange; private chunk; private onSelectedDateChange; _onDateSelected(newDay: CalendarDay): void; _changeMonth(index: number): void; _changeYear(year: string): void; private changeActiveView; get _canNavigateBack(): boolean; get _canNavigateForward(): boolean; private getDay; private subtractTimezoneOffset; private getDateFromNavigableYear; private getYearsBetweenDates; private setFocussedDay; private focusDate; _onDateKeydown(event: KeyboardEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export { CalendarComponent }; export type { CalendarYearNavigatorConfig, Locale }; //# sourceMappingURL=kirbydesign-designsystem-calendar.d.ts.map