@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
86 lines (85 loc) • 2.37 kB
TypeScript
import { TimeOptions } from "./time.interfaces";
/**
* Time configuration service interface
* Manages time picker configuration and validation
*/
export interface ITimeConfigurationService {
/**
* Process and validate time configuration options
* @param options Raw time options
* @returns Processed and validated options
*/
processTimeOptions(options: TimeOptions): TimeOptions;
/**
* Get default time options
* @returns Default time configuration
*/
getDefaultTimeOptions(): TimeOptions;
/**
* Validate time format string
* @param format Time format string
* @returns Whether the format is valid
*/
validateTimeFormat(format: string): boolean;
/**
* Get supported time formats
* @returns Array of supported format strings
*/
getSupportedTimeFormats(): string[];
/**
* Normalize time options for consistency
* @param options Time options to normalize
* @returns Normalized options
*/
normalizeTimeOptions(options: TimeOptions): TimeOptions;
/**
* Get show seconds setting
* @returns Whether to show seconds
*/
getShowSeconds(): boolean;
/**
* Set show seconds setting
* @param show Whether to show seconds
*/
setShowSeconds(show: boolean): void;
/**
* Get show milliseconds setting
* @returns Whether to show milliseconds
*/
getShowMilliseconds(): boolean;
/**
* Set show milliseconds setting
* @param show Whether to show milliseconds
*/
setShowMilliseconds(show: boolean): void;
/**
* Get 12-hour format setting
* @returns Whether to use 12-hour format
*/
getUse12HourFormat(): boolean;
/**
* Set 12-hour format setting
* @param use12Hour Whether to use 12-hour format
*/
setUse12HourFormat(use12Hour: boolean): void;
/**
* Get minute step setting
* @returns Minute step interval
*/
getMinuteStep(): number;
/**
* Set minute step setting
* @param step Minute step interval
*/
setMinuteStep(step: number): void;
/**
* Get second step setting
* @returns Second step interval
*/
getSecondStep(): number;
/**
* Set second step setting
* @param step Second step interval
*/
setSecondStep(step: number): void;
}