@appbuckets/react-ui
Version:
Just Another React UI Framework
51 lines (50 loc) • 1.78 kB
TypeScript
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;