46 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Vue
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Vue
		
	
	
		
			Executable File
		
	
| import type { Dayjs } from 'dayjs';
 | |
| import type { App } from 'vue';
 | |
| import dayjsGenerateConfig from '../vc-picker/generate/dayjs';
 | |
| import type {
 | |
|   PickerProps,
 | |
|   PickerDateProps,
 | |
|   RangePickerProps as BaseRangePickerProps,
 | |
| } from './generatePicker';
 | |
| import generatePicker from './generatePicker';
 | |
| import type { ExtraDatePickerProps, ExtraRangePickerProps } from './generatePicker/props';
 | |
| 
 | |
| export type DatePickerProps = PickerProps<Dayjs> & ExtraDatePickerProps<Dayjs>;
 | |
| export type MonthPickerProps = Omit<PickerDateProps<Dayjs>, 'picker'> & ExtraDatePickerProps<Dayjs>;
 | |
| export type WeekPickerProps = Omit<PickerDateProps<Dayjs>, 'picker'> & ExtraDatePickerProps<Dayjs>;
 | |
| export type RangePickerProps = BaseRangePickerProps<Dayjs> & ExtraRangePickerProps<Dayjs>;
 | |
| 
 | |
| const { DatePicker, WeekPicker, MonthPicker, YearPicker, TimePicker, QuarterPicker, RangePicker } =
 | |
|   generatePicker<Dayjs>(dayjsGenerateConfig);
 | |
| 
 | |
| DatePicker.WeekPicker = WeekPicker;
 | |
| DatePicker.MonthPicker = MonthPicker;
 | |
| DatePicker.YearPicker = YearPicker;
 | |
| DatePicker.RangePicker = RangePicker;
 | |
| DatePicker.TimePicker = TimePicker;
 | |
| DatePicker.QuarterPicker = QuarterPicker;
 | |
| 
 | |
| /* istanbul ignore next */
 | |
| DatePicker.install = function (app: App) {
 | |
|   app.component(DatePicker.name, DatePicker);
 | |
|   app.component(RangePicker.name, RangePicker);
 | |
|   app.component(MonthPicker.name, MonthPicker);
 | |
|   app.component(WeekPicker.name, WeekPicker);
 | |
|   app.component(QuarterPicker.name, QuarterPicker);
 | |
|   return app;
 | |
| };
 | |
| 
 | |
| export { RangePicker, WeekPicker, MonthPicker, QuarterPicker };
 | |
| 
 | |
| export default DatePicker as typeof DatePicker &
 | |
|   Plugin & {
 | |
|     readonly RangePicker: typeof RangePicker;
 | |
|     readonly MonthPicker: typeof MonthPicker;
 | |
|     readonly WeekPicker: typeof WeekPicker;
 | |
|     readonly QuarterPicker: typeof QuarterPicker;
 | |
|   };
 |