import type { CalendarView } from '../Types/CalendarView'; import type { IEventDetail } from '@breadstone/mosaik-elements'; /** * Represents a calendar date with metadata. * * @public */ export interface ICalendarDate { /** * The date value. */ date: Date; /** * Whether the date is from an adjacent month. */ isAdjacent?: boolean; /** * Whether the date is blacked out (disabled). */ isBlackout?: boolean; /** * Whether the date is special (holiday, etc.). */ isSpecial?: boolean; /** * Whether the date is today. */ isToday?: boolean; /** * Whether the date is a weekend day. */ isWeekend?: boolean; } /** * Represents the event detail for date changed events. * * @public */ export interface IDateChangedEventDetail extends IEventDetail { /** * The selected date. */ readonly value?: ICalendarDate; /** * The selected dates (for multi-select). */ readonly values?: ReadonlyArray; } /** * Event fired when calendar date changes. * * @public */ export type DateChangedEvent = CustomEvent; /** * Represents the event detail for calendar view changed events. * * @public */ export interface ICalendarViewChangedEventDetail extends IEventDetail { /** * The new calendar view. */ readonly view: CalendarView; } /** * Event fired when calendar view changes. * * @public */ export type CalendarViewChangedEvent = CustomEvent; /** * Represents the event detail for calendar display changed events. * * @public */ export interface ICalendarDisplayChangedEventDetail extends IEventDetail { /** * The display mode. */ readonly display: 'days' | 'months' | 'years'; } /** * Event fired when calendar display mode changes. * * @public */ export type CalendarDisplayChangedEvent = CustomEvent; declare global { interface HTMLElementEventMap { dateChanged: DateChangedEvent; calendarViewChanged: CalendarViewChangedEvent; calendarDisplayChanged: CalendarDisplayChangedEvent; } } //# sourceMappingURL=CalendarEvents.d.ts.map