UNPKG

chowa

Version:

UI component library based on React

120 lines (119 loc) 4.22 kB
/** * @license chowa v1.1.3 * * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn). * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import * as React from 'react'; import * as PropTypes from 'prop-types'; import { OptionTitles } from './cascader-card'; export interface Option { label: string; value: React.ReactText; disabled?: boolean; children: Option[]; [key: string]: any; } export declare type Options = Option[]; export interface CascaderProps { className?: string; style?: React.CSSProperties; visible?: boolean; defaultVisible?: boolean; externalWheelHide?: boolean; tabIndex?: number; options: Options; optionTitles?: OptionTitles; onChange?: (values: React.ReactText[]) => void; changeOnSelect?: boolean; defaultValue?: React.ReactText[]; value?: React.ReactText[]; noDataDescription?: React.ReactNode; noDataImg?: string; noDataImgStyle?: React.CSSProperties; mode?: 'list' | 'card'; placeholder?: string; showArrow?: boolean; disabled?: boolean; searchable?: boolean; formatter?: (options: Options) => React.ReactNode; separator?: React.ReactNode; onSearch?: (value: string) => void; onFilter?: (searchValue: string, option: Option) => boolean; clearable?: boolean; } export interface CascaderState { renderOptions: Options; searchValue: string; searching: boolean; selectorVisible: boolean; selectedOptions: Options; showClear: boolean; optionsTier: number; activeOption: Option; activeFilterOptions: Options; } declare class Cascader extends React.PureComponent<CascaderProps, CascaderState> { static propTypes: { className: PropTypes.Requireable<string>; style: PropTypes.Requireable<object>; visible: PropTypes.Requireable<boolean>; defaultVisible: PropTypes.Requireable<boolean>; externalWheelHide: PropTypes.Requireable<boolean>; tabIndex: PropTypes.Requireable<number>; options: PropTypes.Validator<any[]>; optionTitles: PropTypes.Requireable<any[]>; onChange: PropTypes.Requireable<(...args: any[]) => any>; changeOnSelect: PropTypes.Requireable<boolean>; defaultValue: PropTypes.Requireable<any[]>; value: PropTypes.Requireable<any[]>; noDataDescription: PropTypes.Requireable<PropTypes.ReactNodeLike>; noDataImg: PropTypes.Requireable<string>; noDataImgStyle: PropTypes.Requireable<object>; mode: PropTypes.Requireable<string>; placeholder: PropTypes.Requireable<string>; showArrow: PropTypes.Requireable<boolean>; disabled: PropTypes.Requireable<boolean>; searchable: PropTypes.Requireable<boolean>; formatter: PropTypes.Requireable<(...args: any[]) => any>; separator: PropTypes.Requireable<PropTypes.ReactNodeLike>; onSearch: PropTypes.Requireable<(...args: any[]) => any>; onFilter: PropTypes.Requireable<(...args: any[]) => any>; clearable: PropTypes.Requireable<boolean>; }; static defaultProps: { visible: boolean; defaultVisible: boolean; externalWheelHide: boolean; tabIndex: number; mode: string; changeOnSelect: boolean; searchable: boolean; showArrow: boolean; disabled: boolean; separator: string; clearable: boolean; }; private inputElement; constructor(props: CascaderProps); componentDidUpdate(preProps: CascaderProps, preState: CascaderState): void; private clearSelectedValues; private onOptionMouseEnter; private onOptionMouseLeave; private onFilterOptionMouseEnter; private onFilterOptionMouseLeave; private onTriggerMouseEnterHandler; private onTriggerMouseLeaveHandler; private onKeyboardOperation; private onSearchChangeHandler; private onSearchFocusHandler; private onSearchBlurHandler; private onVisibleChange; private onSelectHandler; private onFilterSelectHandler; private renderDrop; render(): JSX.Element; } export default Cascader;