mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-22 14:44:47 +08:00
48b28e5269
Co-authored-by: liangjunqi <liangjunqi@hmntech.com> Co-authored-by: afc163 <afc163@gmail.com>
41 lines
1.5 KiB
TypeScript
Executable File
41 lines
1.5 KiB
TypeScript
Executable File
import type { Dayjs } from 'dayjs';
|
|
import dayjsGenerateConfig from 'rc-picker/lib/generate/dayjs';
|
|
|
|
import genPurePanel from '../_util/PurePanel';
|
|
import generatePicker from './generatePicker';
|
|
import type {
|
|
RangePickerProps as BaseRangePickerProps,
|
|
PickerProps,
|
|
PickerPropsWithMultiple,
|
|
} from './generatePicker/interface';
|
|
|
|
export type DatePickerProps<ValueType = Dayjs | Dayjs> = PickerPropsWithMultiple<
|
|
Dayjs,
|
|
PickerProps<Dayjs>,
|
|
ValueType
|
|
>;
|
|
export type MonthPickerProps<ValueType = Dayjs | Dayjs> = Omit<
|
|
DatePickerProps<ValueType>,
|
|
'picker'
|
|
>;
|
|
export type WeekPickerProps<ValueType = Dayjs | Dayjs> = Omit<DatePickerProps<ValueType>, 'picker'>;
|
|
export type RangePickerProps = BaseRangePickerProps<Dayjs>;
|
|
|
|
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', null);
|
|
(DatePicker as DatePickerType)._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;
|
|
const PureRangePanel = genPurePanel(DatePicker.RangePicker, 'picker', null);
|
|
(DatePicker as DatePickerType)._InternalRangePanelDoNotUseOrYouWillBeFired = PureRangePanel;
|
|
(DatePicker as DatePickerType).generatePicker = generatePicker;
|
|
|
|
export default DatePicker as DatePickerType;
|