import { Injector, OnInit } from '@angular/core'; import { FormControl } from '@angular/forms'; import { ValidationAlerts } from '../../validation-alert/validation-alert'; import { DateLikeFormFieldComponent } from '../date-like/date-like-form-field.component'; import * as i0 from "@angular/core"; export interface DayBlock { date: Date; isCurrentMonth: boolean; isToday: boolean; timestamp: number; } /** * Calendar Form Field Component */ export declare class CalendarFormFieldComponent extends DateLikeFormFieldComponent implements OnInit { /** * The source name to use for logging */ protected get logSourceName(): string; /** * Internal selected date value */ selectedDate: Date; /** * Gets the selected year */ private get selectedYear(); /** * Gets the selected month */ private get selectedMonth(); /** * Gets the text for the currently viewed month */ get headerText(): string; /** * Gets a value indicating if the current view contains today's date */ get isTodayInView(): boolean; /** * Gets a value indicating if the current view contains today's date */ get isSelectionInView(): boolean; /** * A workaround to have Screen reader know this is a required "input" field. */ get ariaLabel(): string; /** * The currently viewed year */ currentYear: number; /** * The currently viewed month */ currentMonth: number; /** * A localized list of date column headings */ dayHeadings: string[]; /** * A matrix of visible days acording to the week they appear in. */ dayBlocks: DayBlock[][]; /** * A Localized list of days of week. */ daysOfWeek: string[]; /** * Initializes a new instance of the @see CalendarFormFieldComponent class. * @param injector The angular injection service. required by @see SmeInjectableBase decorator in the @see BaseComponent class */ constructor(injector: Injector); /** * Implementation of angular OnInit interface */ ngOnInit(): void; /** * Occurs when the previous month button has been clicked */ onPreviousClicked(event: Event): void; /** * Occurs when the next month button has been clicked */ onNextClicked(event: Event): void; /** * Occurs when the go to today button has been clicked */ onGoToTodayClicked(event: Event): void; /** * Changes the current view to include the previous month */ goToPreviousMonth(): void; /** * Changes the current view to include the previous month */ goToNextMonth(): void; /** * Selects a day in the calander */ selectDay(day: Date): void; /** * Indicates if a given day is selected */ isDaySelected(day: Date): boolean; /** * Applies the focus to the current element */ focus(): void; private yieldFocus; /** * Brings today into view */ goToToday(): void; /** * Brings selected date into view */ goToSelection(): void; /** * Brings a month and year into view */ goTo(year: number, month: number): void; /** * Handles keydown events on dat blocks */ onDayBlockKeyDown(event: KeyboardEvent, day: DayBlock): void; /** * Occurs every time the value of the control changes, in the UI or programmatically. * @param value the value of the form control */ protected onValueChanged(value: any): void; /** * Performs validation that is internal to this control * @param c The form control attached to this instance */ protected validate(c: FormControl): ValidationAlerts; /** * Generates the current view of day blocks */ private generateDayBlocks; /** * attempts to find a day button via its timestamp */ private findDayButton; /** * Brings focus to a given date */ private focusOnDate; convertDateToScreenReaderFormat(day: Date): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }