UNPKG

@51yzone/pc-components

Version:

An enterprise-class UI design language and React-based implementation

57 lines (56 loc) 2.12 kB
import React from 'react'; import { RangePickerProps } from 'antd/lib/date-picker/generatePicker'; import moment, { Moment } from 'moment'; import PropTypes from 'prop-types'; export declare type RangeType = 'week' | 'lastWeek' | 'day' | 'month' | 'custom' | 'all'; export declare type DateValueType = Moment | null; export interface Locale { 'date.range.day': string; 'date.range.week': string; 'date.range.lastWeek': string; 'date.range.month': string; 'date.range.all': string; 'date.range.custom': string; } export interface DateRangeProps { locale?: Locale; maxRangeDays?: number; prefixCls?: string; className?: string; style?: React.CSSProperties; rangePickerProps?: RangePickerProps<Moment>; onChange?: (start?: DateValueType, end?: DateValueType) => void; onDateRangeLoading?: (start?: DateValueType, end?: DateValueType) => void; } export interface DateRangeState { value?: [DateValueType, DateValueType]; dates?: [DateValueType, DateValueType] | null; showCustom: boolean; selectValue: RangeType; } export default class DateRange extends React.Component<DateRangeProps> { static defaultProps: { prefixCls: string; }; static propTypes: { rangePickerProps: PropTypes.Requireable<object>; maxRangeDays: PropTypes.Requireable<number>; locale: PropTypes.Requireable<object>; prefixCls: PropTypes.Requireable<string>; className: PropTypes.Requireable<string>; style: PropTypes.Requireable<object>; onChange: PropTypes.Requireable<(...args: any[]) => any>; onDateRangeLoading: PropTypes.Requireable<(...args: any[]) => any>; }; state: DateRangeState; getRangeBySelectValue: (value: RangeType) => null[] | moment.Moment[]; handleSelectChange: (value: RangeType) => void; onChangeRange: (timeRange: [Moment, Moment]) => void; changeRangeDate: (timeRange: [Moment, Moment] | [ null, null ]) => void; componentDidMount(): void; disabledDate: (current: DateValueType) => boolean; render(): JSX.Element; }