import { DateType } from '@mezzanine-ui/core/calendar'; import { DatePickerCalendarProps } from './DatePickerCalendar'; import { PickerTriggerProps } from '../Picker'; export interface DatePickerProps extends Omit, Omit { /** * Default value for date picker. */ defaultValue?: DateType; /** * Disabled "double next" button on calendar controls * @default false */ disableOnDoubleNext?: boolean; /** * Disabled "double prev" button on calendar controls * @default false */ disableOnDoublePrev?: boolean; /** * The format for displaying date. * The length of the format must match the length of the actual generated value. For example, "gggg-wo" may cause a length mismatch when the week of year is a single digit. It is recommended to use the system's default format instead. */ format?: string; /** * A function that fires when calendar toggle. Receive open status in boolean format as props. */ onCalendarToggle?: (open: boolean) => void; /** * Change handler. Takes your declared `DateType` as argument. */ onChange?: (target?: DateType) => void; /** * The reference date for getting calendars. Default to current time. */ referenceDate?: DateType; } /** * 日期選擇器元件,透過點擊輸入框或日曆圖示開啟日曆彈出層進行日期選取。 * * 必須搭配 `CalendarContext`(`CalendarConfigProvider`)使用,以提供語系與格式化函式。 * 支援 `day`、`week`、`month`、`quarter`、`half-year`、`year` 等多種選取模式, * 可透過 `isDateDisabled` 等相關 props 限制可選日期範圍,並支援受控(`value`) * 與非受控(`defaultValue`)兩種使用方式。 * * @example * ```tsx * import DatePicker from '@mezzanine-ui/react/DatePicker'; * import CalendarConfigProvider from '@mezzanine-ui/react/CalendarConfigProvider'; * * // 基本用法(需包覆在 CalendarConfigProvider 內) * * console.log(date)} /> * * * // 受控用法 * const [date, setDate] = useState(); * * * * * // 月份選取模式,禁用過去月份 * * iso < '2024-01'} * onChange={setDate} * /> * * ``` * * @see {@link DateRangePicker} 日期範圍選擇器元件 * @see {@link DateTimePicker} 日期時間選擇器元件 * @see {@link Calendar} 日曆元件 */ declare const DatePicker: import("react").ForwardRefExoticComponent>; export default DatePicker;