import React from 'react' ; import { PopupProps } from '../overlays' ; export interface TreeSelectItem { value : string ; label ? : React . ReactNode ; disabled ? : boolean ; detached ? : boolean ; children ? : TreeSelectItem [ ] ; } export type CascaderSelectItem = TreeSelectItem ; export interface SelectItem { value : string ; label ? : React . ReactNode ; /** 是否禁用交互 */ disabled ? : boolean ; } export interface ISelectAppearanceProps { category className ? : string ; category style ? : React . CSSProperties ; category containerProps ? : React . HTMLAttributes < HTMLDivElement > ; category size ? : string ; category fill ? : boolean ; category status ? : 'normal' | 'error' | 'warning' | 'success' ; category placeholder ? : string ; category shape ? : 'simple' | 'solid' ; category hasArrow ? : boolean ; category hasClear ? : boolean ; } export const selectAppearancePropKeys = [ 'className' , 'style' , 'containerProps' , 'size' , 'fill' , 'status' , 'placeholder' , 'shape' , 'hasArrow' , 'hasClear' , ] ; export interface ISelectSearchProps { category showSearch ? : boolean ; category searchValue : string ; category defaultSearchValue ? : string ; category onSearch ( nextSearchValue , detail ) : void ; category notFoundContent ? : React . ReactNode ; } export interface ISelectPopupProps { category defaultVisible ? : boolean ; category visible : boolean ; category onRequestClose ( reason ? ) : void ; category onRequestOpen ( reason ? ) : void ; category default autoWidth ? : boolean ; category default autoHeight ? : boolean ; category default autoScrollToFirstItemWhenOpen ? : boolean ; category autoCloseAfterSelect ? : boolean ; category displayType popupProps ? : Omit < PopupProps , 'children' > ; }