import * as React from 'react'; import './style/text-filter.css'; import { TooltipPlacement } from '@/components/tooltip'; import { LabelValueItemInterface } from '../_utils/interfaces'; import { OptionsType } from '../select'; import { Locale } from './languages/zh-CN'; import { TextFilterTypeSet } from './__private__/constant'; import { FilterListValueProps } from './__private__/FilterList'; export interface FilterDataProps { $and: { $or: (FilterListValueProps | { $not: FilterListValueProps; })[]; }[]; } export interface TextFilterProps { /** 加载样式 */ loading?: boolean; /** 指定当前选中的条目 */ values?: (string | boolean)[]; /** 数据化配置选项内容 */ list?: (string | boolean)[] | LabelValueItemInterface[]; /** 点击关闭按钮的回调 */ onClose?: () => void; /** 点击确定按钮的回调 */ onOk?: (selected: (string | boolean)[], filterData?: FilterDataProps) => void; /** 类名 */ className?: string; children: React.ReactElement | string; /** 确定按钮的文案 */ okButtonLabel?: React.ReactNode; /** 关闭按钮的文案 */ cancelButtonLabel?: React.ReactNode; /** 全选的文案 */ allSelectLabel?: React.ReactNode; /** 任意点击关闭 */ clickAway?: boolean; /**气泡框位置 */ placement?: TooltipPlacement; /** 内容的类名 */ overlayClassName?: string; /** 空值占位文案 */ emptyValText?: string; /** 单选配置项 */ radio?: boolean; /** 菜单渲染父节点。默认渲染到 body 上 */ getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement; /** 标准模式 | 筛选模式 不传无切换功能 */ type?: TextFilterTypeSet; /** 当前语言 */ locale?: Locale; /** 筛选模式下的选择Options */ searchOptions?: OptionsType; /** 筛选模式下的值 */ filterData?: FilterDataProps; /** 筛选模式下的筛选字段 */ filterTitle?: string; /** 字段列表高度 */ listHeight?: number; /** 搜索回调 */ onSearch?: (value: string) => void; /** 当前气泡框的显隐回调 */ onVisibleChange?: (visible: boolean) => void; /** true时所有空值都为(空值),false则只包含null|undefined */ empty?: boolean; emptyText?: string; } declare const TextFilter: React.FC; export default TextFilter; declare const TextFilterMemo: React.NamedExoticComponent; export { TextFilterMemo };