import type { Dayjs } from 'dayjs'; import dayjsGenerateConfig from 'rc-picker/lib/generate/dayjs'; import genPurePanel from '../_util/PurePanel'; import type { RangePickerProps as BaseRangePickerProps, PickerDateProps, PickerProps, } from './generatePicker'; import generatePicker from './generatePicker'; export type DatePickerProps = PickerProps; export type MonthPickerProps = Omit, 'picker'>; export type WeekPickerProps = Omit, 'picker'>; export type RangePickerProps = BaseRangePickerProps; const DatePicker = generatePicker(dayjsGenerateConfig); export type DatePickerType = typeof DatePicker & { _InternalPanelDoNotUseOrYouWillBeFired: typeof PurePanel; _InternalRangePanelDoNotUseOrYouWillBeFired: typeof PureRangePanel; generatePicker: typeof generatePicker; }; // We don't care debug panel /* istanbul ignore next */ const PurePanel = genPurePanel(DatePicker, 'picker'); (DatePicker as DatePickerType)._InternalPanelDoNotUseOrYouWillBeFired = PurePanel; const PureRangePanel = genPurePanel(DatePicker.RangePicker, 'picker'); (DatePicker as DatePickerType)._InternalRangePanelDoNotUseOrYouWillBeFired = PureRangePanel; (DatePicker as DatePickerType).generatePicker = generatePicker; export default DatePicker as DatePickerType;