/** * @file DatePicker * @description 时间选择器组件 * @author fex */ /// import React from 'react'; import moment from 'moment'; import 'moment/locale/zh-cn'; import { ThemeProps } from 'amis-core'; import { LocaleProps } from 'amis-core'; export type ShortCutDate = { label: string; date: moment.Moment; }; export type ShortCutDateRange = { label: string; startDate?: moment.Moment; endDate?: moment.Moment; }; export type ShortCuts = { label: string; value: string; } | ShortCutDate | ShortCutDateRange; export interface DateProps extends LocaleProps, ThemeProps { viewMode: 'years' | 'months' | 'days' | 'time' | 'quarters'; className?: string; popoverClassName?: string; placeholder?: string; inputFormat?: string; timeFormat?: string; format?: string; closeOnSelect: boolean; disabled?: boolean; minDate?: moment.Moment; maxDate?: moment.Moment; clearable?: boolean; defaultValue?: any; utc?: boolean; onChange: (value: any) => void; value?: any; shortcuts: string | Array; overlayPlacement: string; dateFormat?: string; timeConstraints?: { hours?: { min: number; max: number; step: number; }; minutes?: { min: number; max: number; step: number; }; seconds: { min: number; max: number; step: number; }; }; popOverContainer?: any; label?: string | false; borderMode?: 'full' | 'half' | 'none'; embed?: boolean; schedules?: Array<{ startTime: Date; endTime: Date; content: any; className?: string; }>; scheduleClassNames?: Array; largeMode?: boolean; todayActiveStyle?: React.CSSProperties; onScheduleClick?: (scheduleData: any) => void; useMobileUI?: boolean; mobileCalendarMode?: 'picker' | 'calendar'; onFocus?: Function; onBlur?: Function; onRef?: any; } export interface DatePickerState { isOpened: boolean; isFocused: boolean; value: moment.Moment | undefined; inputValue: string | undefined; } export declare class DatePicker extends React.Component { static defaultProps: { viewMode: "time" | "years" | "months" | "days"; shortcuts: string; closeOnSelect: boolean; overlayPlacement: string; scheduleClassNames: string[]; }; state: DatePickerState; constructor(props: DateProps); dom: HTMLDivElement; inputRef: React.RefObject; inputValueCache: string; componentDidMount(): void; componentDidUpdate(prevProps: DateProps): void; focus(): void; handleFocus(e: React.SyntheticEvent): void; handleBlur(e: React.SyntheticEvent): void; handleKeyPress(e: React.KeyboardEvent): void; handleClick(): void; handlePopOverClick(e: React.MouseEvent): void; open(fn?: () => void): void; close(): void; clearValue(e: React.MouseEvent): void; clear(): void; reset(resetValue?: any): void; handleChange(value: moment.Moment): void; inputChange(e: React.ChangeEvent): void; onInputBlur(): void; selectRannge(item: any): void; checkIsValidDate(currentDate: moment.Moment): boolean; getTarget(): HTMLDivElement; getParent(): HTMLDivElement; domRef: (ref: HTMLDivElement) => void; getAvailableShortcuts(key: string): any; renderShortCuts(shortcuts: string | Array): JSX.Element | null; render(): JSX.Element; } declare const _default: { new (props: Omit & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps): { ref: any; childRef(ref: any): void; getWrappedInstance(): any; render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps> & Readonly<{ children?: import("react").ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: import("react").ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void; }; displayName: string; contextType: import("react").Context; ComposedComponent: import("react").ComponentType & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps> & { themeKey?: string | undefined; }>; } & import("hoist-non-react-statics").NonReactStatics & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps> & { themeKey?: string | undefined; }, {}> & { ComposedComponent: import("react").ComponentType & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps> & { themeKey?: string | undefined; }; }; export default _default;