import type { ICancelEventDetail, IEventDetail } from '@breadstone/mosaik-elements'; /** * Trigger type for event activation. * * @public */ export type SchedulerEventActivateTrigger = 'click' | 'keyboard'; /** * Event detail for before-event-activate events. * * @public */ export interface ISchedulerBeforeEventActivateEventDetail extends ICancelEventDetail { /** * The key of the event being activated. */ readonly eventKey: string; /** * The trigger that caused the activation. */ readonly trigger: SchedulerEventActivateTrigger; } /** * Event fired before an event is activated. * Can be canceled by setting `cancel: true` in the event detail. * * @public */ export type SchedulerBeforeEventActivateEvent = CustomEvent; /** * Event detail for event-activate events. * * @public */ export interface ISchedulerEventActivateEventDetail extends IEventDetail { /** * The key of the event that was activated. */ readonly eventKey: string; /** * The trigger that caused the activation. */ readonly trigger: SchedulerEventActivateTrigger; } /** * Event fired when an event has been activated. * * @public */ export type SchedulerEventActivateEvent = CustomEvent; /** * Event detail for before-select-range events. * * @public */ export interface ISchedulerBeforeSelectRangeEventDetail extends ICancelEventDetail { /** * The start date-time of the selection. */ readonly start: Date; /** * The end date-time of the selection. */ readonly end: Date; /** * The key of the day column where selection occurred. */ readonly dayKey: string; /** * Whether the selection is in the all-day area. */ readonly isAllDay: boolean; } /** * Event fired before a range is selected in the grid. * Can be canceled by setting `cancel: true` in the event detail. * * @public */ export type SchedulerBeforeSelectRangeEvent = CustomEvent; /** * Event detail for select-range events. * * @public */ export interface ISchedulerSelectRangeEventDetail extends IEventDetail { /** * The start date-time of the selection. */ readonly start: Date; /** * The end date-time of the selection. */ readonly end: Date; /** * The key of the day column where selection occurred. */ readonly dayKey: string; /** * Whether the selection is in the all-day area. */ readonly isAllDay: boolean; } /** * Event fired when a range has been selected in the grid. * * @public */ export type SchedulerSelectRangeEvent = CustomEvent; /** * Event detail for range-change events. * * @public */ export interface ISchedulerRangeChangeEventDetail extends IEventDetail { /** * The start date of the visible range. */ readonly startDate: Date; /** * The number of visible days. */ readonly days: number; } /** * Event fired when the visible range changes. * * @public */ export type SchedulerRangeChangeEvent = CustomEvent; /** * Event detail for scheduler-event-change events. * * @public */ export interface ISchedulerEventChangeEventDetail extends IEventDetail { /** * The key of the event that changed. */ readonly eventKey: string; /** * The property that changed. */ readonly property: 'start' | 'end'; /** * The previous value. */ readonly previousValue: Date; /** * The new value. */ readonly newValue: Date; } /** * Event fired when a scheduler event's time properties change. * This event bubbles up from mosaik-scheduler-event elements. * * @public */ export type SchedulerEventChangeEvent = CustomEvent; declare global { interface HTMLElementEventMap { schedulerBeforeEventActivate: SchedulerBeforeEventActivateEvent; schedulerEventActivate: SchedulerEventActivateEvent; schedulerBeforeSelectRange: SchedulerBeforeSelectRangeEvent; schedulerSelectRange: SchedulerSelectRangeEvent; schedulerRangeChange: SchedulerRangeChangeEvent; schedulerEventChange: SchedulerEventChangeEvent; } } //# sourceMappingURL=SchedulerEvents.d.ts.map