mithril-materialized
Version:
A materialize library for mithril.
51 lines (50 loc) • 1.66 kB
TypeScript
import { FactoryComponent } from 'mithril';
import { InputAttrs } from './input-options';
export interface TimepickerI18n {
cancel?: string;
clear?: string;
done?: string;
next?: string;
}
export interface TimepickerOptions {
dialRadius?: number;
outerRadius?: number;
innerRadius?: number;
tickRadius?: number;
duration?: number;
container?: string | null;
defaultTime?: string;
fromNow?: number;
showClearBtn?: boolean;
i18n?: TimepickerI18n;
autoClose?: boolean;
twelveHour?: boolean;
vibrate?: boolean;
roundBy5?: boolean;
/** Display mode: 'analog' (default) or 'digital' */
displayMode?: 'analog' | 'digital';
/** Step for minute increments in digital mode (default 5) */
minuteStep?: number;
/** Step for hour increments (default 1) */
hourStep?: number;
/** Minimum selectable time in HH:MM or HH:MM AM/PM format */
minTime?: string;
/** Maximum selectable time in HH:MM or HH:MM AM/PM format */
maxTime?: string;
onOpen?: () => void;
onOpenStart?: () => void;
onOpenEnd?: () => void;
onCloseStart?: () => void;
onCloseEnd?: () => void;
onSelect?: (hour: number, minute: number) => void;
}
export interface TimePickerAttrs extends InputAttrs<string>, TimepickerOptions {
/** Use inline mode (HTML5 time input) instead of modal, default true */
useModal?: boolean;
/** Allow format toggle between 12h/24h (for inline mode) */
allowFormatToggle?: boolean;
}
/**
* TimePicker component based on original Materialize CSS timepicker
*/
export declare const TimePicker: FactoryComponent<TimePickerAttrs>;