import * as i0 from '@angular/core'; import { TemplateRef, EventEmitter, OnChanges, OnInit, OnDestroy, ChangeDetectorRef, PipeTransform } from '@angular/core'; import { CalendarEvent, MonthViewDay, CalendarEventTimesChangedEvent, WeekDay, MonthView, DayViewHour, WeekViewEventRow, WeekViewEvent, DayView, DayViewEvent, DayViewHourSegment } from 'novo-elements/utils'; import { Day } from 'date-fns'; import { Subject, Subscription } from 'rxjs'; import * as i20 from '@angular/common'; import * as i21 from 'novo-elements/elements/button'; import * as i22 from 'novo-elements/elements/tooltip'; import * as i23 from 'novo-elements/pipes'; declare class NovoEventTypeLegendElement { events: CalendarEvent[]; customTemplate: TemplateRef; eventTypeClicked: EventEmitter; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Shows all events on a given month. Example usage: * * ``` * <novo-agenda-month-view * [viewDate]="viewDate" * [events]="events"> * </novo-agenda-month-view> * ``` */ declare class NovoAgendaMonthViewElement implements OnChanges, OnInit, OnDestroy { private cdr; /** * The current view date */ viewDate: Date; /** * An array of events to display on view */ events: CalendarEvent[]; /** * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view */ excludeDays: number[]; /** * A function that will be called before each cell is rendered. The first argument will contain the calendar cell. * If you add the `cssClass` property to the cell it will add that class to the cell in the template */ dayModifier: Function; /** * An observable that when emitted on will re-render the current view */ refresh: Subject; /** * The locale used to format dates */ locale: string; /** * The placement of the event tooltip */ tooltipPosition: string; /** * The start number of the week */ weekStartsOn: Day; /** * A custom template to use to replace the header */ headerTemplate: TemplateRef; /** * A custom template to use to replace the day cell */ cellTemplate: TemplateRef; /** * Called when the day cell is clicked */ dayClicked: EventEmitter<{ day: MonthViewDay; }>; /** * Called when the event title is clicked */ eventClicked: EventEmitter<{ day: any; event: CalendarEvent; }>; /** * Called when an event is dragged and dropped */ eventTimesChanged: EventEmitter; viewDateChange: EventEmitter; /** * @hidden */ columnHeaders: WeekDay[]; /** * @hidden */ view: MonthView; /** * @hidden */ refreshSubscription: Subscription; /** * @hidden */ constructor(cdr: ChangeDetectorRef, locale: string); /** * @hidden */ ngOnInit(): void; /** * @hidden */ ngOnChanges(changes: any): void; /** * @hidden */ ngOnDestroy(): void; /** * @hidden */ eventDropped(day: MonthViewDay, event: CalendarEvent): void; private refreshHeader; private refreshBody; refreshAll(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoAgendaMonthHeaderElement { viewDate: Date; days: WeekDay[]; locale: string; customTemplate: TemplateRef; /** * Called when the view date is changed */ viewDateChange: EventEmitter; prevMonth(event: Event): void; nextMonth(event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoAgendaMonthDayElement { day: MonthViewDay; locale: string; tooltipPosition: string; customTemplate: TemplateRef; eventClicked: EventEmitter<{ event: CalendarEvent; }>; get accepted(): Array; get rejected(): Array; get maybes(): Array; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Shows all events on a given week. Example usage: * * ```typescript * <novo-agenda-week * [viewDate]="viewDate" * [events]="events"> * </novo-agenda-week> * ``` */ declare class NovoAgendaWeekViewElement implements OnChanges, OnInit, OnDestroy { private cdr; /** * The current view date */ viewDate: Date; /** * An array of events to display on view */ events: CalendarEvent[]; /** * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view */ excludeDays: number[]; /** * An observable that when emitted on will re-render the current view */ refresh: Subject; /** * The locale used to format dates */ locale: string; /** * The placement of the event tooltip */ tooltipPosition: string; /** * The start number of the week */ weekStartsOn: Day; /** * A custom template to use to replace the header */ headerTemplate: TemplateRef; /** * A custom template to use for week view events */ eventTemplate: TemplateRef; /** * The precision to display events. * `days` will round event start and end dates to the nearest day and `minutes` will not do this rounding */ precision: 'days' | 'minutes'; /** * The number of segments in an hour. Must be <= 6 */ hourSegments: number; /** * The day start hours in 24 hour time. Must be 0-23 */ dayStartHour: number; /** * The day start minutes. Must be 0-59 */ dayStartMinute: number; /** * The day end hours in 24 hour time. Must be 0-23 */ dayEndHour: number; /** * The day end minutes. Must be 0-59 */ dayEndMinute: number; /** * A custom template to use to replace the hour segment */ hourSegmentTemplate: TemplateRef; /** * Called when an hour segment is clicked */ hourSegmentClicked: EventEmitter<{ date: Date; }>; /** * Called when a header week day is clicked */ dayClicked: EventEmitter<{ date: Date; }>; /** * Called when the event title is clicked */ eventClicked: EventEmitter<{ event: CalendarEvent; }>; /** * Called when an event is resized or dragged and dropped */ eventTimesChanged: EventEmitter; /** * @hidden */ days: WeekDay[]; /** * @hidden */ hours: DayViewHour[]; /** * @hidden */ eventRows: WeekViewEventRow[]; /** * @hidden */ refreshSubscription: Subscription; /** * @hidden */ currentResize: { originalOffset: number; originalSpan: number; edge: string; }; /** * @hidden */ validateDrag: Function; /** * @hidden */ validateResize: Function; /** * @hidden */ constructor(cdr: ChangeDetectorRef, locale: string); /** * @hidden */ ngOnInit(): void; /** * @hidden */ ngOnChanges(changes: any): void; /** * @hidden */ ngOnDestroy(): void; getDayColumnWidth(eventRowContainer: HTMLElement): number; private refreshHeader; private refreshBody; private refreshHourGrid; private refreshAll; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoAgendaWeekHeaderElement { days: WeekDay[]; locale: string; customTemplate: TemplateRef; dayClicked: EventEmitter<{ date: Date; }>; eventDropped: EventEmitter<{ event: CalendarEvent; newStart: Date; }>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoAgendaWeekEventElement { weekEvent: WeekViewEvent; tooltipPosition: string; customTemplate: TemplateRef; eventClicked: EventEmitter; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Shows all events on a given day. Example usage: * * ```typescript * <novo-agenda-day * [viewDate]="viewDate" * [events]="events"> * </novo-agenda-day> * ``` */ declare class NovoAgendaDayViewElement implements OnChanges, OnInit, OnDestroy { private cdr; /** * The current view date */ viewDate: Date; /** * An array of events to display on view */ events: CalendarEvent[]; /** * The number of segments in an hour. Must be <= 6 */ hourSegments: number; /** * The day start hours in 24 hour time. Must be 0-23 */ dayStartHour: number; /** * The day start minutes. Must be 0-59 */ dayStartMinute: number; /** * The day end hours in 24 hour time. Must be 0-23 */ dayEndHour: number; /** * The day end minutes. Must be 0-59 */ dayEndMinute: number; /** * The width in pixels of each event on the view */ eventWidth: number; /** * An observable that when emitted on will re-render the current view */ refresh: Subject; /** * The locale used to format dates */ locale: string; /** * A function that will be called before each hour segment is called. The first argument will contain the hour segment. * If you add the `cssClass` property to the segment it will add that class to the hour segment in the template */ hourSegmentModifier: Function; /** * The grid size to snap resizing and dragging of events to */ eventSnapSize: number; /** * The placement of the event tooltip */ tooltipPosition: string; /** * A custom template to use to replace the hour segment */ hourSegmentTemplate: TemplateRef; /** * A custom template to use for all day events */ allDayEventTemplate: TemplateRef; /** * A custom template to use for day view events */ eventTemplate: TemplateRef; /** * Called when an event title is clicked */ eventClicked: EventEmitter<{ event: CalendarEvent; }>; /** * Called when an hour segment is clicked */ hourSegmentClicked: EventEmitter<{ date: Date; }>; /** * Called when an event is resized or dragged and dropped */ eventTimesChanged: EventEmitter; /** * @hidden */ hours: DayViewHour[]; /** * @hidden */ view: DayView; /** * @hidden */ width: number; /** * @hidden */ refreshSubscription: Subscription; /** * @hidden */ currentResize: { originalTop: number; originalHeight: number; edge: string; }; /** * @hidden */ validateDrag: Function; /** * @hidden */ validateResize: Function; /** * @hidden */ constructor(cdr: ChangeDetectorRef, locale: string); /** * @hidden */ ngOnInit(): void; /** * @hidden */ ngOnDestroy(): void; /** * @hidden */ ngOnChanges(changes: any): void; private refreshHourGrid; private refreshView; private refreshAll; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoAgendaDayEventElement { dayEvent: DayViewEvent; tooltipPosition: string; customTemplate: TemplateRef; eventClicked: EventEmitter; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoAgendaHourSegmentElement { segment: DayViewHourSegment; locale: string; customTemplate: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoAgendaAllDayEventElement { event: CalendarEvent; customTemplate: TemplateRef; eventClicked: EventEmitter; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoAgendaDateChangeElement { /** * The current view */ view: string; /** * The current view date */ viewDate: Date; locale: string; /** * Called when the view date is changed */ viewDateChange: EventEmitter; constructor(locale: string); /** * @hidden */ subtractDate(): void; addDate(): void; changeDate(unit: number): void; get startOfWeek(): Date; get endOfWeek(): Date; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class WeekdayPipe implements PipeTransform { private locale; constructor(locale?: string); transform(date: Date, locale?: string, method?: 'long' | 'short' | 'narrow'): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class DayOfMonthPipe implements PipeTransform { private locale; constructor(locale?: string); transform(date: Date, locale?: string, method?: 'numeric' | '2-digit'): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class MonthPipe implements PipeTransform { private locale; constructor(locale?: string); transform(date: Date, locale?: string, method?: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow'): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class MonthDayPipe implements PipeTransform { private locale; constructor(locale?: string); transform(date: Date, locale?: string, method?: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow'): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class YearPipe implements PipeTransform { private locale; constructor(locale?: string); transform(date: Date, locale?: string, method?: 'numeric' | '2-digit'): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class HoursPipe implements PipeTransform { private locale; constructor(locale?: string); transform(date: Date, locale?: string, method?: 'numeric' | '2-digit'): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class EndOfWeekDisplayPipe implements PipeTransform { private locale; constructor(locale?: string); transform(endOfWeek: Date, startOfWeek: Date, locale?: string, method?: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow'): String; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class NovoAgendaModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { DayOfMonthPipe, EndOfWeekDisplayPipe, HoursPipe, MonthDayPipe, MonthPipe, NovoAgendaAllDayEventElement, NovoAgendaDateChangeElement, NovoAgendaDayEventElement, NovoAgendaDayViewElement, NovoAgendaHourSegmentElement, NovoAgendaModule, NovoAgendaMonthDayElement, NovoAgendaMonthHeaderElement, NovoAgendaMonthViewElement, NovoAgendaWeekEventElement, NovoAgendaWeekHeaderElement, NovoAgendaWeekViewElement, NovoEventTypeLegendElement, WeekdayPipe, YearPipe };