import { PropType } from 'vue'; import type { DatePickerFoundationProps, DatePickerFoundationState, DayStatusType, PresetType, RangeType, Type } from '@douyinfe/semi-foundation/lib/es/datePicker/foundation'; import { PopoverProps } from '../popover/index'; import '@douyinfe/semi-foundation/lib/es/datePicker/datePicker.css'; import { Locale } from '../locale/interface'; import type { TimePickerProps } from '../timePicker'; import type { ScrollItemProps } from '../scrollList'; import type { AriaAttributes } from '../AriaAttributes'; import { CombineProps, VueJsxNode } from '../interface'; export interface DatePickerProps extends DatePickerFoundationProps { 'aria-describedby'?: AriaAttributes['aria-describedby']; 'aria-errormessage'?: AriaAttributes['aria-errormessage']; 'aria-invalid'?: AriaAttributes['aria-invalid']; 'aria-labelledby'?: AriaAttributes['aria-labelledby']; 'aria-required'?: AriaAttributes['aria-required']; clearIcon?: VueJsxNode; timePickerOpts?: TimePickerProps; bottomSlot?: VueJsxNode | (() => VueJsxNode); insetLabel?: VueJsxNode; insetLabelId?: string; prefix?: VueJsxNode; topSlot?: VueJsxNode | (() => VueJsxNode); rightSlot?: VueJsxNode | (() => VueJsxNode); leftSlot?: VueJsxNode | (() => VueJsxNode); renderDate?: (dayNumber?: number, fullDate?: string) => VueJsxNode; renderFullDate?: (dayNumber?: number, fullDate?: string, dayStatus?: DayStatusType) => VueJsxNode; triggerRender?: (props: DatePickerProps) => VueJsxNode; /** * There are multiple input boxes when selecting a range, and the input boxes will be out of focus multiple times. * * Use `onOpenChange` or `onClickOutSide` instead */ onBlur?: any; onClear?: any; /** * There are multiple input boxes when selecting a range, and the input boxes will be focused multiple times. * * Use `onOpenChange` or `triggerRender` instead */ onFocus?: (e: MouseEvent, rangeType: RangeType) => void; onPresetClick?: (item: PresetType, e: MouseEvent) => void; onClickOutSide?: (e: MouseEvent) => void; locale?: Locale['DatePicker']; dateFnsLocale?: Locale['dateFnsLocale']; yearAndMonthOpts?: ScrollItemProps; dropdownMargin?: PopoverProps['margin']; id?: string; } export type DatePickerState = DatePickerFoundationState; export declare const vuePropsTypeDatePickerProps: CombineProps; declare const DatePicker: import("vue").DefineComponent | { type: PropType; default?: any; required?: false; }; 'aria-errormessage': PropType | { type: PropType; default?: any; required?: false; }; 'aria-invalid': PropType | { type: PropType; default?: any; required?: false; }; 'aria-labelledby': PropType | { type: PropType; default?: any; required?: false; }; 'aria-required': PropType | { type: PropType; default?: any; required?: false; }; clearIcon: PropType | { type: PropType; default?: any; required?: false; }; timePickerOpts: PropType | { type: PropType; default?: any; required?: false; }; bottomSlot: PropType VueJsxNode)> | { type: PropType VueJsxNode)>; default?: any; required?: false; }; insetLabel: PropType | { type: PropType; default?: any; required?: false; }; insetLabelId: PropType | { type: PropType; default?: any; required?: false; }; prefix: PropType | { type: PropType; default?: any; required?: false; }; topSlot: PropType VueJsxNode)> | { type: PropType VueJsxNode)>; default?: any; required?: false; }; rightSlot: PropType VueJsxNode)> | { type: PropType VueJsxNode)>; default?: any; required?: false; }; leftSlot: PropType VueJsxNode)> | { type: PropType VueJsxNode)>; default?: any; required?: false; }; renderDate: PropType<(dayNumber?: number, fullDate?: string) => VueJsxNode> | { type: PropType<(dayNumber?: number, fullDate?: string) => VueJsxNode>; default?: any; required?: false; }; renderFullDate: PropType<(dayNumber?: number, fullDate?: string, dayStatus?: DayStatusType) => VueJsxNode> | { type: PropType<(dayNumber?: number, fullDate?: string, dayStatus?: DayStatusType) => VueJsxNode>; default?: any; required?: false; }; triggerRender: PropType<(props: DatePickerProps) => VueJsxNode> | { type: PropType<(props: DatePickerProps) => VueJsxNode>; default?: any; required?: false; }; onBlur: PropType | { type: PropType; default?: any; required?: false; }; onClear: PropType | { type: PropType; default?: any; required?: false; }; onFocus: PropType<(e: MouseEvent, rangeType: RangeType) => void> | { type: PropType<(e: MouseEvent, rangeType: RangeType) => void>; default?: any; required?: false; }; onPresetClick: PropType<(item: PresetType, e: MouseEvent) => void> | { type: PropType<(item: PresetType, e: MouseEvent) => void>; default?: any; required?: false; }; onClickOutSide: PropType<(e: MouseEvent) => void> | { type: PropType<(e: MouseEvent) => void>; default?: any; required?: false; }; locale: PropType<{ placeholder: { date: string; dateTime: string; dateRange: [string, string]; dateTimeRange: [string, string]; monthRange: [string, string]; }; presets: string; footer: { confirm: string; cancel: string; }; selectDate: string; selectTime: string; year: string; month: string; day: string; monthText: string; months: { 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; }; fullMonths: { 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; }; weeks: { Mon: string; Tue: string; Wed: string; Thu: string; Fri: string; Sat: string; Sun: string; }; localeFormatToken: { FORMAT_SWITCH_DATE: string; }; }> | { type: PropType<{ placeholder: { date: string; dateTime: string; dateRange: [string, string]; dateTimeRange: [string, string]; monthRange: [string, string]; }; presets: string; footer: { confirm: string; cancel: string; }; selectDate: string; selectTime: string; year: string; month: string; day: string; monthText: string; months: { 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; }; fullMonths: { 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; }; weeks: { Mon: string; Tue: string; Wed: string; Thu: string; Fri: string; Sat: string; Sun: string; }; localeFormatToken: { FORMAT_SWITCH_DATE: string; }; }>; default?: any; required?: false; }; dateFnsLocale: PropType | { type: PropType; default?: any; required?: false; }; yearAndMonthOpts: PropType> | { type: PropType>; default?: any; required?: false; }; dropdownMargin: PropType | { type: PropType; default?: any; required?: false; }; id: PropType | { type: PropType; default?: any; required?: false; }; autoAdjustOverflow: PropType | { type: PropType; default?: any; required?: false; }; autoFocus: PropType | { type: PropType; default?: any; required?: false; }; autoSwitchDate: PropType | { type: PropType; default?: any; required?: false; }; borderless: PropType | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; defaultOpen: PropType | { type: PropType; default?: any; required?: false; }; defaultPickerValue: PropType | { type: PropType; default?: any; required?: false; }; defaultValue: PropType | { type: PropType; default?: any; required?: false; }; density: PropType | { type: PropType; default?: any; required?: false; }; disabled: PropType | { type: PropType; default?: any; required?: false; }; disabledDate: PropType | { type: PropType; default?: any; required?: false; }; disabledTime: PropType | { type: PropType; default?: any; required?: false; }; dropdownClassName: PropType | { type: PropType; default?: any; required?: false; }; dropdownStyle: PropType> | { type: PropType>; default?: any; required?: false; }; endDateOffset: PropType | { type: PropType; default?: any; required?: false; }; format: PropType | { type: PropType; default?: any; required?: false; }; getPopupContainer: PropType<() => HTMLElement> | { type: PropType<() => HTMLElement>; default?: any; required?: false; }; inputReadOnly: PropType | { type: PropType; default?: any; required?: false; }; inputStyle: PropType> | { type: PropType>; default?: any; required?: false; }; max: PropType | { type: PropType; default?: any; required?: false; }; motion: PropType | { type: PropType; default?: any; required?: false; }; multiple: PropType | { type: PropType; default?: any; required?: false; }; needConfirm: PropType | { type: PropType; default?: any; required?: false; }; onChangeWithDateFirst: PropType | { type: PropType; default?: any; required?: false; }; open: PropType | { type: PropType; default?: any; required?: false; }; placeholder: PropType | { type: PropType; default?: any; required?: false; }; position: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver"> | { type: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">; default?: any; required?: false; }; prefixCls: PropType | { type: PropType; default?: any; required?: false; }; presets: PropType | { type: PropType; default?: any; required?: false; }; presetPosition: PropType<"bottom" | "left" | "right" | "top"> | { type: PropType<"bottom" | "left" | "right" | "top">; default?: any; required?: false; }; showClear: PropType | { type: PropType; default?: any; required?: false; }; size: PropType<"small" | "default" | "large"> | { type: PropType<"small" | "default" | "large">; default?: any; required?: false; }; spacing: PropType | { type: PropType; default?: any; required?: false; }; startDateOffset: PropType | { type: PropType; default?: any; required?: false; }; stopPropagation: PropType | { type: PropType; default?: any; required?: false; }; style: PropType> | { type: PropType>; default?: any; required?: false; }; timeZone: PropType | { type: PropType; default?: any; required?: false; }; type: PropType | { type: PropType; default?: any; required?: false; }; validateStatus: PropType<"default" | "error" | "warning" | "success"> | { type: PropType<"default" | "error" | "warning" | "success">; default?: any; required?: false; }; value: PropType | { type: PropType; default?: any; required?: false; }; weekStartsOn: PropType | { type: PropType; default?: any; required?: false; }; zIndex: PropType | { type: PropType; default?: any; required?: false; }; syncSwitchMonth: PropType | { type: PropType; default?: any; required?: false; }; hideDisabledOptions: PropType | { type: PropType; default?: any; required?: false; }; disabledTimePicker: PropType | { type: PropType; default?: any; required?: false; }; localeCode: PropType | { type: PropType; default?: any; required?: false; }; rangeSeparator: PropType | { type: PropType; default?: any; required?: false; }; insetInput: PropType | { type: PropType; default?: any; required?: false; }; preventScroll: PropType | { type: PropType; default?: any; required?: false; }; onCancel: PropType | { type: PropType; default?: any; required?: false; }; onChange: PropType | { type: PropType; default?: any; required?: false; }; onOpenChange: PropType<(status: boolean) => void> | { type: PropType<(status: boolean) => void>; default?: any; required?: false; }; onPanelChange: PropType | { type: PropType; default?: any; required?: false; }; onConfirm: PropType | { type: PropType; default?: any; required?: false; }; startYear: PropType | { type: PropType; default?: any; required?: false; }; endYear: PropType | { type: PropType; default?: any; required?: false; }; }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly | { type: PropType; default?: any; required?: false; }; 'aria-errormessage': PropType | { type: PropType; default?: any; required?: false; }; 'aria-invalid': PropType | { type: PropType; default?: any; required?: false; }; 'aria-labelledby': PropType | { type: PropType; default?: any; required?: false; }; 'aria-required': PropType | { type: PropType; default?: any; required?: false; }; clearIcon: PropType | { type: PropType; default?: any; required?: false; }; timePickerOpts: PropType | { type: PropType; default?: any; required?: false; }; bottomSlot: PropType VueJsxNode)> | { type: PropType VueJsxNode)>; default?: any; required?: false; }; insetLabel: PropType | { type: PropType; default?: any; required?: false; }; insetLabelId: PropType | { type: PropType; default?: any; required?: false; }; prefix: PropType | { type: PropType; default?: any; required?: false; }; topSlot: PropType VueJsxNode)> | { type: PropType VueJsxNode)>; default?: any; required?: false; }; rightSlot: PropType VueJsxNode)> | { type: PropType VueJsxNode)>; default?: any; required?: false; }; leftSlot: PropType VueJsxNode)> | { type: PropType VueJsxNode)>; default?: any; required?: false; }; renderDate: PropType<(dayNumber?: number, fullDate?: string) => VueJsxNode> | { type: PropType<(dayNumber?: number, fullDate?: string) => VueJsxNode>; default?: any; required?: false; }; renderFullDate: PropType<(dayNumber?: number, fullDate?: string, dayStatus?: DayStatusType) => VueJsxNode> | { type: PropType<(dayNumber?: number, fullDate?: string, dayStatus?: DayStatusType) => VueJsxNode>; default?: any; required?: false; }; triggerRender: PropType<(props: DatePickerProps) => VueJsxNode> | { type: PropType<(props: DatePickerProps) => VueJsxNode>; default?: any; required?: false; }; onBlur: PropType | { type: PropType; default?: any; required?: false; }; onClear: PropType | { type: PropType; default?: any; required?: false; }; onFocus: PropType<(e: MouseEvent, rangeType: RangeType) => void> | { type: PropType<(e: MouseEvent, rangeType: RangeType) => void>; default?: any; required?: false; }; onPresetClick: PropType<(item: PresetType, e: MouseEvent) => void> | { type: PropType<(item: PresetType, e: MouseEvent) => void>; default?: any; required?: false; }; onClickOutSide: PropType<(e: MouseEvent) => void> | { type: PropType<(e: MouseEvent) => void>; default?: any; required?: false; }; locale: PropType<{ placeholder: { date: string; dateTime: string; dateRange: [string, string]; dateTimeRange: [string, string]; monthRange: [string, string]; }; presets: string; footer: { confirm: string; cancel: string; }; selectDate: string; selectTime: string; year: string; month: string; day: string; monthText: string; months: { 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; }; fullMonths: { 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; }; weeks: { Mon: string; Tue: string; Wed: string; Thu: string; Fri: string; Sat: string; Sun: string; }; localeFormatToken: { FORMAT_SWITCH_DATE: string; }; }> | { type: PropType<{ placeholder: { date: string; dateTime: string; dateRange: [string, string]; dateTimeRange: [string, string]; monthRange: [string, string]; }; presets: string; footer: { confirm: string; cancel: string; }; selectDate: string; selectTime: string; year: string; month: string; day: string; monthText: string; months: { 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; }; fullMonths: { 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; }; weeks: { Mon: string; Tue: string; Wed: string; Thu: string; Fri: string; Sat: string; Sun: string; }; localeFormatToken: { FORMAT_SWITCH_DATE: string; }; }>; default?: any; required?: false; }; dateFnsLocale: PropType | { type: PropType; default?: any; required?: false; }; yearAndMonthOpts: PropType> | { type: PropType>; default?: any; required?: false; }; dropdownMargin: PropType | { type: PropType; default?: any; required?: false; }; id: PropType | { type: PropType; default?: any; required?: false; }; autoAdjustOverflow: PropType | { type: PropType; default?: any; required?: false; }; autoFocus: PropType | { type: PropType; default?: any; required?: false; }; autoSwitchDate: PropType | { type: PropType; default?: any; required?: false; }; borderless: PropType | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; defaultOpen: PropType | { type: PropType; default?: any; required?: false; }; defaultPickerValue: PropType | { type: PropType; default?: any; required?: false; }; defaultValue: PropType | { type: PropType; default?: any; required?: false; }; density: PropType | { type: PropType; default?: any; required?: false; }; disabled: PropType | { type: PropType; default?: any; required?: false; }; disabledDate: PropType | { type: PropType; default?: any; required?: false; }; disabledTime: PropType | { type: PropType; default?: any; required?: false; }; dropdownClassName: PropType | { type: PropType; default?: any; required?: false; }; dropdownStyle: PropType> | { type: PropType>; default?: any; required?: false; }; endDateOffset: PropType | { type: PropType; default?: any; required?: false; }; format: PropType | { type: PropType; default?: any; required?: false; }; getPopupContainer: PropType<() => HTMLElement> | { type: PropType<() => HTMLElement>; default?: any; required?: false; }; inputReadOnly: PropType | { type: PropType; default?: any; required?: false; }; inputStyle: PropType> | { type: PropType>; default?: any; required?: false; }; max: PropType | { type: PropType; default?: any; required?: false; }; motion: PropType | { type: PropType; default?: any; required?: false; }; multiple: PropType | { type: PropType; default?: any; required?: false; }; needConfirm: PropType | { type: PropType; default?: any; required?: false; }; onChangeWithDateFirst: PropType | { type: PropType; default?: any; required?: false; }; open: PropType | { type: PropType; default?: any; required?: false; }; placeholder: PropType | { type: PropType; default?: any; required?: false; }; position: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver"> | { type: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">; default?: any; required?: false; }; prefixCls: PropType | { type: PropType; default?: any; required?: false; }; presets: PropType | { type: PropType; default?: any; required?: false; }; presetPosition: PropType<"bottom" | "left" | "right" | "top"> | { type: PropType<"bottom" | "left" | "right" | "top">; default?: any; required?: false; }; showClear: PropType | { type: PropType; default?: any; required?: false; }; size: PropType<"small" | "default" | "large"> | { type: PropType<"small" | "default" | "large">; default?: any; required?: false; }; spacing: PropType | { type: PropType; default?: any; required?: false; }; startDateOffset: PropType | { type: PropType; default?: any; required?: false; }; stopPropagation: PropType | { type: PropType; default?: any; required?: false; }; style: PropType> | { type: PropType>; default?: any; required?: false; }; timeZone: PropType | { type: PropType; default?: any; required?: false; }; type: PropType | { type: PropType; default?: any; required?: false; }; validateStatus: PropType<"default" | "error" | "warning" | "success"> | { type: PropType<"default" | "error" | "warning" | "success">; default?: any; required?: false; }; value: PropType | { type: PropType; default?: any; required?: false; }; weekStartsOn: PropType | { type: PropType; default?: any; required?: false; }; zIndex: PropType | { type: PropType; default?: any; required?: false; }; syncSwitchMonth: PropType | { type: PropType; default?: any; required?: false; }; hideDisabledOptions: PropType | { type: PropType; default?: any; required?: false; }; disabledTimePicker: PropType | { type: PropType; default?: any; required?: false; }; localeCode: PropType | { type: PropType; default?: any; required?: false; }; rangeSeparator: PropType | { type: PropType; default?: any; required?: false; }; insetInput: PropType | { type: PropType; default?: any; required?: false; }; preventScroll: PropType | { type: PropType; default?: any; required?: false; }; onCancel: PropType | { type: PropType; default?: any; required?: false; }; onChange: PropType | { type: PropType; default?: any; required?: false; }; onOpenChange: PropType<(status: boolean) => void> | { type: PropType<(status: boolean) => void>; default?: any; required?: false; }; onPanelChange: PropType | { type: PropType; default?: any; required?: false; }; onConfirm: PropType | { type: PropType; default?: any; required?: false; }; startYear: PropType | { type: PropType; default?: any; required?: false; }; endYear: PropType | { type: PropType; default?: any; required?: false; }; }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export default DatePicker;