UNPKG

@appbuckets/react-ui

Version:
51 lines (50 loc) 1.78 kB
import * as React from 'react'; import type { CheckboxProps } from '../../Checkbox'; import type { InputProps } from '../../Input'; import type { MultiSelectProps } from '../../MultiSelect'; import type { SelectProps } from '../../Select'; declare type CheckboxDataFilter<Data> = { initialValue?: boolean; type: 'checkbox'; props?: CheckboxProps; show: (value: boolean, data: Data, index: number, array: Data[]) => boolean; }; declare type InputDataFilter<Data> = { initialValue?: string; type: 'input'; props?: InputProps; show: (value: string, data: Data, index: number, array: Data[]) => boolean; }; declare type RegExpDataFilter<Data> = { initialValue?: string; type: 'regexp'; flags?: string; props?: InputProps; show: (value: RegExp, data: Data, index: number, array: Data[]) => boolean; }; declare type MultiSelectDataFilter<Data, Option, Value> = { initialValue?: Value[]; type: 'multi-select'; props: MultiSelectProps<Option, Value>; show: (value: Value[], data: Data, index: number, array: Data[]) => boolean; }; declare type SelectDataFilter<Data, Option, Value> = { initialValue?: Value; type: 'select'; props: SelectProps<Option, Value>; show: (value: Value, data: Data, index: number, array: Data[]) => boolean; }; export declare type RxTableDataFilter<Data, Option = any, Value = any> = | CheckboxDataFilter<Data> | InputDataFilter<Data> | RegExpDataFilter<Data> | MultiSelectDataFilter<Data, Option, Value> | SelectDataFilter<Data, Option, Value>; export interface DataFilterElementProps { /** The column key */ columnKey: string; /** Filter type */ filter?: RxTableDataFilter<unknown>; } declare const DataFilterElement: React.FunctionComponent<DataFilterElementProps>; export default DataFilterElement;