ant-design/components/date-picker/index.ts

33 lines
1.3 KiB
TypeScript
Raw Normal View History

import type { Dayjs } from 'dayjs';
import dayjsGenerateConfig from 'rc-picker/lib/generate/dayjs';
import genPurePanel from '../_util/PurePanel';
import type {
RangePickerProps as BaseRangePickerProps,
PickerDateProps,
2022-06-22 14:57:09 +08:00
PickerProps,
} from './generatePicker';
import generatePicker from './generatePicker';
export type DatePickerProps = PickerProps<Dayjs>;
export type MonthPickerProps = Omit<PickerDateProps<Dayjs>, 'picker'>;
export type WeekPickerProps = Omit<PickerDateProps<Dayjs>, 'picker'>;
export type RangePickerProps = BaseRangePickerProps<Dayjs>;
2015-08-25 17:27:38 +08:00
const DatePicker = generatePicker<Dayjs>(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;