mirror of
https://github.com/ant-design/ant-design.git
synced 2025-06-18 08:00:53 +08:00

* chore: upgrade RC component dependencies
* chore: trigger CI build
* chore: update deps and import path
* chore: update deps
* test: update snapshot
* test: update snapshot
* fix: lint fix
* chore: migrate Drawer to @rc-component/drawer
* chore: migrate Image to @rc-component/image
* test: update snapshot
* chore: replace api
* fix cascader dropdown api and snap, popupAlign
* fix ci test
* fix key
* test: update snapshot
* Revert "test: update snapshot"
This reverts commit 66a993332b
.
* chore: fix logic
* test: update snapshot
* chore: revert part logic
---------
Signed-off-by: Jony J <1844749591@qq.com>
Co-authored-by: thinkasany <480968828@qq.com>
Co-authored-by: 二货机器人 <smith3816@gmail.com>
47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
import type { GenerateConfig } from '@rc-component/picker/lib/generate/index';
|
|
|
|
import type { AnyObject } from '../../_util/type';
|
|
import generateRangePicker from './generateRangePicker';
|
|
import generateSinglePicker from './generateSinglePicker';
|
|
|
|
export type { PickerLocale, PickerProps } from './interface';
|
|
|
|
const generatePicker = <DateType extends AnyObject = AnyObject>(
|
|
generateConfig: GenerateConfig<DateType>,
|
|
) => {
|
|
// =========================== Picker ===========================
|
|
const { DatePicker, WeekPicker, MonthPicker, YearPicker, TimePicker, QuarterPicker } =
|
|
generateSinglePicker(generateConfig);
|
|
|
|
// ======================== Range Picker ========================
|
|
const RangePicker = generateRangePicker(generateConfig);
|
|
|
|
// =========================== Export ===========================
|
|
type MergedDatePickerType = typeof DatePicker & {
|
|
displayName?: string;
|
|
WeekPicker: typeof WeekPicker;
|
|
MonthPicker: typeof MonthPicker;
|
|
YearPicker: typeof YearPicker;
|
|
RangePicker: typeof RangePicker;
|
|
TimePicker: typeof TimePicker;
|
|
QuarterPicker: typeof QuarterPicker;
|
|
};
|
|
|
|
const MergedDatePicker = DatePicker as MergedDatePickerType;
|
|
|
|
MergedDatePicker.WeekPicker = WeekPicker;
|
|
MergedDatePicker.MonthPicker = MonthPicker;
|
|
MergedDatePicker.YearPicker = YearPicker;
|
|
MergedDatePicker.RangePicker = RangePicker;
|
|
MergedDatePicker.TimePicker = TimePicker;
|
|
MergedDatePicker.QuarterPicker = QuarterPicker;
|
|
|
|
if (process.env.NODE_ENV !== 'production') {
|
|
MergedDatePicker.displayName = 'DatePicker';
|
|
}
|
|
|
|
return MergedDatePicker;
|
|
};
|
|
|
|
export default generatePicker;
|