UNPKG

mithril-materialized

Version:
77 lines (76 loc) 2.86 kB
import { FactoryComponent } from 'mithril'; import { InputAttrs } from './input-options'; export interface DatePickerI18n { cancel?: string; clear?: string; done?: string; previousMonth?: string; nextMonth?: string; months?: string[]; monthsShort?: string[]; weekdays?: string[]; weekdaysShort?: string[]; weekdaysAbbrev?: string[]; } export interface DatePickerOptions { /** Close when date is selected */ autoClose?: boolean; /** The default output format for the input field value */ format?: string; /** Custom parse function */ parse?: (dateString: string, format: string) => Date | null; /** The initial date to view when first opened */ defaultDate?: Date; /** Make the defaultDate the initial selected value */ setDefaultDate?: boolean; /** Disable weekends */ disableWeekends?: boolean; /** Custom function to disable specific days */ disableDayFn?: (date: Date) => boolean; /** First day of week (0: Sunday, 1: Monday etc) */ firstDay?: number; /** The earliest date that can be selected */ minDate?: Date; /** The latest date that can be selected */ maxDate?: Date; /** Number of years either side, or array of upper/lower range */ yearRange?: number | number[]; /** Show clear button */ showClearBtn?: boolean; /** Show week numbers */ showWeekNumbers?: boolean; /** Week numbering system: 'iso' (ISO 8601) or 'local' (local convention) */ weekNumbering?: 'iso' | 'local'; /** Internationalization */ i18n?: DatePickerI18n; /** Enable date range selection mode for selecting start and end dates */ dateRange?: boolean; /** Initial start date for range selection */ initialStartDate?: Date; /** Initial end date for range selection */ initialEndDate?: Date; /** Minimum number of days between start and end dates */ minDateRange?: number; /** Maximum number of days between start and end dates */ maxDateRange?: number; /** Callback when date is selected (single date or range start/end) */ onSelect?: (date: Date, endDate?: Date) => void; /** Callback when picker is opened */ onOpen?: () => void; /** Callback when picker is closed */ onClose?: () => void; } export interface DatePickerAttrs extends InputAttrs<string>, DatePickerOptions { /** Date format attribute (alternative to format property) */ format?: string; /** Year range attribute (alternative to yearRange property) */ yearrange?: string; /** Legacy: Date label (use label instead) */ dateLabel?: string; /** Legacy: Display format (use format instead) */ displayFormat?: string; } /** * Enhanced DatePicker component based on Materialize CSS datepicker */ export declare const DatePicker: FactoryComponent<DatePickerAttrs>;