import { I18nPluralPipe } from '@angular/common'; import { A11yParams } from './calendar-a11y.interface'; /** * This class is responsible for adding accessibility to the calendar. * You may override any of its methods via angulars DI to suit your requirements. * For example: * * ```typescript * import { A11yParams, CalendarA11y } from 'angular-calendar'; * import { formatDate, I18nPluralPipe } from '@angular/common'; * import { Injectable } from '@angular/core'; * * // adding your own a11y params * export interface CustomA11yParams extends A11yParams { * isDrSuess?: boolean; * } * * @Injectable() * export class CustomCalendarA11y extends CalendarA11y { * constructor(protected i18nPlural: I18nPluralPipe) { * super(i18nPlural); * } * * // overriding a function * public openDayEventsLandmark({ date, locale, isDrSuess }: CustomA11yParams): string { * if (isDrSuess) { * return ` * ${formatDate(date, 'EEEE MMMM d', locale)} * Today you are you! That is truer than true! There is no one alive * who is you-er than you! * `; * } * } * } * * // in your component that uses the calendar * providers: [{ * provide: CalendarA11y, * useClass: CustomCalendarA11y * }] * ``` */ export declare class CalendarA11y { protected i18nPlural: I18nPluralPipe; constructor(i18nPlural: I18nPluralPipe); /** * Aria label for the badges/date of a cell * @example: `Saturday October 19 1 event click to expand` */ monthCell({ day, locale }: A11yParams): string; /** * Aria label for the open day events start landmark * @example: `Saturday October 19 expanded view` */ openDayEventsLandmark({ date, locale }: A11yParams): string; /** * Aria label for alert that a day in the month view was expanded * @example: `Saturday October 19 expanded` */ openDayEventsAlert({ date, locale }: A11yParams): string; /** * Descriptive aria label for an event * @example: `Saturday October 19th, Scott's Pizza Party, from 11:00am to 5:00pm` */ eventDescription({ event, locale }: A11yParams): string; /** * Descriptive aria label for an all day event * @example: * `Scott's Party, event spans multiple days: start time October 19 5:00pm, no stop time` */ allDayEventDescription({ event, locale }: A11yParams): string; /** * Aria label for the calendar event actions icons * @returns 'Edit' for fa-pencil icons, and 'Delete' for fa-times icons */ actionButtonLabel({ action }: A11yParams): string; /** * @returns {number} Tab index to be given to month cells */ monthCellTabIndex(): number; /** * @returns true if the events inside the month cell should be aria-hidden */ hideMonthCellEvents(): boolean; /** * @returns true if event titles should be aria-hidden (global) */ hideEventTitle(): boolean; /** * @returns true if hour segments in the week view should be aria-hidden */ hideWeekHourSegment(): boolean; /** * @returns true if hour segments in the day view should be aria-hidden */ hideDayHourSegment(): boolean; }