shineout
Version:
Shein 前端组件库
88 lines (87 loc) • 3.27 kB
TypeScript
import React, { FocusEvent, KeyboardEvent } from 'react';
import { PureComponent } from '../component';
import Picker from './Picker';
import Range from './Range';
import { AreaType, BaseProps, DateTimeType, ContainerProps, vaildFn, vaildFns, QuickSelectType } from './Props';
interface ContainerState {
focus: boolean;
current: Date[] | Date;
position: BaseProps['position'];
picker0: boolean;
picker1: boolean;
}
declare class Container extends PureComponent<ContainerProps, ContainerState> {
static defaultProps: {
type: string;
clearable: boolean;
allowSingle: boolean;
placeholder: JSX.Element;
};
handleClick: any;
handleBlur: any;
disabledMap: {
day?: vaildFn | vaildFns;
date?: vaildFn | vaildFns;
time?: vaildFn | vaildFns;
month?: vaildFn | vaildFns;
year?: vaildFn | vaildFns;
quarter?: vaildFn | vaildFns;
datetime?: vaildFn | vaildFns;
week?: vaildFn | vaildFns;
};
pickerId: string;
firstRender: boolean;
element: HTMLSpanElement;
picker: Range | Picker;
pickerContainer: HTMLDivElement;
textSpan: HTMLSpanElement;
lastFoucs: boolean;
constructor(props: ContainerProps);
componentDidMount(): void;
componentDidUpdate(): void;
componentWillUnmount(): void;
get focus(): boolean;
setOpenEvent(): void;
getOptions(): {
timeZone: string | undefined;
weekStartsOn: any;
};
getCurrent(): Date | Date[];
getFormat(): string;
getQuick(format: string): ({
name: string;
invalid: boolean;
value?: undefined;
} | {
name: string;
value: Date[];
invalid?: undefined;
})[] | undefined;
getDefaultTime(): DateTimeType[];
bindElement(el: HTMLDivElement): void;
bindPicker(picker: Range | Picker): void;
bindWrappedPicker(el: HTMLDivElement): void;
bindTextSpan(el: HTMLSpanElement): void;
parseDate(value: DateTimeType): Date;
bindClickAway(): void;
clearClickAway(): void;
shouldFocus(el: HTMLElement): boolean;
handleClickAway(e: MouseEvent): void;
handleFocus(e: FocusEvent<HTMLDivElement>): void;
handleKeyDown(e: KeyboardEvent<HTMLDivElement>): void;
handleToggle(focus: boolean, e?: MouseEvent): void;
triggerValueBlur(cb: () => void): void;
disabledRegister(disabled: vaildFn, mode: 'time' | 'date' | 'week' | 'month' | 'year' | 'quarter' | 'datetime', index: number): void;
handleDisabled(date: Date, index: number): boolean;
handleTextChange(date: Date, index: number, e: FocusEvent): void;
dateToCurrent(date: Date | Date[]): Date | Date[];
handleChange(date: Date[] | Date, change: boolean | null | undefined, blur: boolean | null | undefined, _isEnd: boolean | null | undefined, isQuickSelect: QuickSelectType | undefined, areaType: AreaType): void;
handleClear(e: React.MouseEvent): void;
handleHover(index: number, isEnter: boolean): void;
renderText(value: Date, placeholder: string, key?: 0 | 1): JSX.Element;
renderResult(): JSX.Element;
renderWrappedPicker(): JSX.Element;
renderPicker(): JSX.Element | undefined;
render(): JSX.Element;
}
export default Container;