UNPKG

@uplink-protocol/calendar-controller

Version:

Flexible calendar and time picker API supporting both calendar, date-picker, and time-picker integrations for any JavaScript framework or library

54 lines (53 loc) 2.38 kB
import { IEventFormattingService, DateFormatOptions, EventDisplayOptions, FormattedEvent, DurationFormatOptions, CalendarViewFormatOptions, ExportFormatOptions, LocalizationSettings } from '../interfaces/event-formatting.interfaces'; import { CalendarEvent, EventDateTime } from '../interfaces/event.interfaces'; /** * Implementation of event formatting service * Provides formatting capabilities for displaying events in various formats */ export declare class EventFormattingService implements IEventFormattingService { private localization; initialize(localization: LocalizationSettings): void; formatEvent(event: CalendarEvent | null, displayOptions?: EventDisplayOptions, dateOptions?: DateFormatOptions): FormattedEvent; formatEvents(events: CalendarEvent[], displayOptions?: EventDisplayOptions, dateOptions?: DateFormatOptions): FormattedEvent[]; formatDateTime(dateTime: EventDateTime, options?: DateFormatOptions): { startDate: string; startTime: string; endDate: string; endTime: string; duration: string; isMultiDay: boolean; relative?: string; }; formatDuration(startDate: Date, endDate: Date, options?: DurationFormatOptions): string; formatForCalendarView(events: CalendarEvent[], viewOptions: CalendarViewFormatOptions): Array<FormattedEvent & { position: { x: number; y: number; width: number; height: number; }; }>; exportEvents(events: CalendarEvent[], options: ExportFormatOptions): Promise<{ data: string | Blob; filename: string; mimeType: string; }>; getAccessibilityLabel(event: CalendarEvent): string; getEventSummary(event: CalendarEvent, maxLength?: number): string; updateLocalization(settings: Partial<LocalizationSettings>): void; getAvailableLocales(): string[]; getSupportedExportFormats(): string[]; formatRecurrencePattern(recurrence: any): string; getNextOccurrenceText(_event: CalendarEvent): string | null; private getStatusText; private getStatusColor; private getPriorityText; private getPriorityLevel; private getPriorityColor; private generateCssClasses; private getRelativeTimeText; private exportToCsv; private exportToIcs; private escapeCsvValue; private formatDateForIcs; }