import type { PickClassStyleType, ReactPropsBase, Schema, SchemaClassName } from 'jamis-core'; import type { Moment } from 'moment'; import type { CalendarViewMode } from './types'; export type DateRangeValue = T extends number ? 'today' | 'yesterday' | 'tomorrow' | 'prevweek' | 'thisweek' | 'thismonth' | 'prevmonth' | 'prevquarter' | 'thisquarter' | 'prevyear' | 'lastyear' | 'halfyearago' | 'thisyear' | 'halfyearlater' | `${T}${'daysago' | 'dayslater' | 'weeksago' | 'weekslater' | 'monthsago' | 'monthslater' | 'quartersago' | 'quarterslater' | 'yearsago' | 'yearslater'}` : never; export type DateRanges = Array; export interface DateRangePickerProps extends ReactPropsBase, PickClassStyleType { borderMode?: 'full' | 'half' | 'none'; clearable?: boolean; closeOnSelect?: boolean; data?: any; dateFormat?: string; delimiter: string; disabled?: boolean; embed?: boolean; endPlaceholder?: string; format: string; hasError?: boolean; inputFormat?: string; joinValues: boolean; label?: string | false | Schema; maxDate?: moment.Moment; maxDuration?: moment.Duration; minDate?: moment.Moment; minDuration?: moment.Duration; overlayPlacement: string; popoverClassName?: string; popOverContainer?: any; ranges?: DateRanges | string; rangesPosition?: 'picker' | 'input'; rangesClassName?: SchemaClassName; rangesRefDate?: Moment; resetValue?: any; startPlaceholder?: string; theme?: any; timeFormat?: string; type?: string; utc?: boolean; value?: any; viewMode?: CalendarViewMode; /** 是否开启游标动画 */ animation?: boolean; pickerInputClassName?: SchemaClassName; onBlur?: Function; onChange: (value: any) => void; onFocus?: Function; onRef?: any; }