import React from 'react'; import { FormControlProps } from 'fabos-amis-core'; import { SpinnerExtraProps } from 'fabos-amis-ui'; import { FormBaseControlSchema } from '../../Schema'; import * as IconSelectStore from './IconSelectStore'; export interface IconSelectControlSchema extends FormBaseControlSchema { type: 'icon-select'; placeholder?: string; disabled?: boolean; noDataTip?: string; clearable?: boolean; } export interface IconSelectProps extends FormControlProps, SpinnerExtraProps { placeholder?: string; disabled?: boolean; noDataTip?: string; } export interface IconChecked { id: string; name?: string; svg?: string; } export interface IconSelectState { showModal: boolean; tmpCheckIconId: IconChecked | null; searchValue: string; activeTypeIndex: number; isRefreshLoading?: boolean; } /** * 新图标选择器 */ export default class IconSelectControl extends React.PureComponent { input?: HTMLInputElement; static defaultProps: Pick; state: IconSelectState; constructor(props: IconSelectProps); getValueBySvg(svg: string | undefined): IconSelectStore.SvgIcon | null; handleClick(): void; handleClear(e: React.MouseEvent): void; renderInputArea(): React.JSX.Element; handleIconTypeClick(item: any, index: number): void; renderIconTypes(): React.JSX.Element; handleConfirm(): void; handleLocalUpload(icon: string): Promise; handleClickIconInModal(icon: IconChecked): void; renderIconList(icons: IconSelectStore.SvgIcon[]): React.JSX.Element; handleSearchValueChange(e: string): void; handleRefreshIconList(): Promise; renderModalContent(): React.JSX.Element; getIconsByType(): IconSelectStore.SvgIcon[]; toggleModel(isShow?: boolean): void; render(): React.JSX.Element; } export declare class IconSelectControlRenderer extends IconSelectControl { }