UNPKG

mithril-materialized

Version:
49 lines (48 loc) 1.66 kB
import { FactoryComponent } from 'mithril'; /** * Attributes for the DigitalClock component */ export interface DigitalClockAttrs { /** Current hours value (1-12 for 12-hour, 0-23 for 24-hour) */ hours: number; /** Current minutes value (0-59) */ minutes: number; /** Current AM/PM value (only relevant in 12-hour mode) */ amOrPm: 'AM' | 'PM'; /** Whether to use 12-hour format (true) or 24-hour format (false) */ twelveHour: boolean; /** Step between minute options (default: 5) */ minuteStep?: number; /** Step between hour options (default: 1) */ hourStep?: number; /** Minimum allowed time in format "HH:MM" or "HH:MM AM/PM" */ minTime?: string; /** Maximum allowed time in format "HH:MM" or "HH:MM AM/PM" */ maxTime?: string; /** Callback when time changes */ onTimeChange: (hours: number, minutes: number, amOrPm: 'AM' | 'PM') => void; /** Optional reference to external hours display element for updates */ spanHours?: HTMLElement; /** Optional reference to external minutes display element for updates */ spanMinutes?: HTMLElement; /** Optional reference to external AM/PM display element for updates */ spanAmPm?: HTMLElement; } /** * DigitalClock component - A scrollable digital time picker * * @example * ```typescript * m(DigitalClock, { * hours: 10, * minutes: 30, * amOrPm: 'AM', * twelveHour: true, * minuteStep: 5, * onTimeChange: (hours, minutes, amOrPm) => { * console.log(`Time changed to ${hours}:${minutes} ${amOrPm}`); * } * }) * ``` */ export declare const DigitalClock: FactoryComponent<DigitalClockAttrs>;