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

74 lines (73 loc) 2.88 kB
import { EventEmitter } from "@uplink-protocol/core"; import { ITimeEventManagerService } from "../interfaces"; /** * TimeEventManagerService - Implementation of ITimeEventManagerService * Manages event emission for time picker */ export declare class TimeEventManagerService implements ITimeEventManagerService { /** * Initialize event emitters for time picker * @returns Initialized event emitters */ initializeEvents(): { timeSelected: EventEmitter<Date>; timeRangeSelected: EventEmitter<{ startTime: Date | null; endTime: Date | null; }>; timeChanged: EventEmitter<Date>; segmentFocused: EventEmitter<'hours' | 'minutes' | 'seconds' | 'milliseconds' | 'period'>; formatChanged: EventEmitter<{ use12Hour: boolean; showSeconds: boolean; showMilliseconds: boolean; }>; localeChanged: EventEmitter<string>; }; /** * Emit time selected event * @param timeSelectedEmitter Time selected event emitter * @param time Selected time */ emitTimeSelected(timeSelectedEmitter: EventEmitter<Date>, time: Date): void; /** * Emit time range selected event * @param rangeSelectedEmitter Range selected event emitter * @param startTime Range start time * @param endTime Range end time */ emitTimeRangeSelected(rangeSelectedEmitter: EventEmitter<{ startTime: Date | null; endTime: Date | null; }>, startTime: Date | null, endTime: Date | null): void; /** * Emit time changed event * @param timeChangedEmitter Time changed event emitter * @param time New time */ emitTimeChanged(timeChangedEmitter: EventEmitter<Date>, time: Date): void; /** * Emit segment focused event * @param segmentFocusedEmitter Segment focused event emitter * @param segment Focused segment */ emitSegmentFocused(segmentFocusedEmitter: EventEmitter<'hours' | 'minutes' | 'seconds' | 'milliseconds' | 'period'>, segment: 'hours' | 'minutes' | 'seconds' | 'milliseconds' | 'period'): void; /** * Emit format changed event * @param formatChangedEmitter Format changed event emitter * @param use12Hour Whether using 12-hour format * @param showSeconds Whether showing seconds * @param showMilliseconds Whether showing milliseconds */ emitFormatChanged(formatChangedEmitter: EventEmitter<{ use12Hour: boolean; showSeconds: boolean; showMilliseconds: boolean; }>, use12Hour: boolean, showSeconds: boolean, showMilliseconds: boolean): void; /** * Emit locale changed event * @param localeChangedEmitter Locale changed event emitter * @param locale New locale */ emitLocaleChanged(localeChangedEmitter: EventEmitter<string>, locale: string): void; }