@vaadin/hilla-react-crud
Version:
Hilla CRUD utils for React
26 lines (25 loc) • 1.36 kB
TypeScript
import type { GridColumnProps } from '@vaadin/react-components/GridColumn.js';
import { type ComponentType, type JSX, type ReactElement } from 'react';
import type FilterUnion from './types/com/vaadin/hilla/crud/filter/FilterUnion.js';
type ExtractComponentTypeProps<T extends ComponentType<any>> = T extends ComponentType<infer U> ? U : never;
export type HeaderRendererProps = ExtractComponentTypeProps<NonNullable<Required<GridColumnProps<unknown>>['headerRenderer']>>;
export type HeaderFilterRendererProps = HeaderRendererProps & {
setFilter(filter: FilterUnion): void;
};
export type HeaderFilterProps = Readonly<{
sortable?: boolean;
filterable?: boolean;
filterPlaceholder?: string;
filterDebounceTime?: number;
filterMinLength?: number;
headerFilterRenderer?: ComponentType<HeaderFilterRendererProps>;
}>;
export declare function StringHeaderFilter(): ReactElement;
export declare function NumberHeaderFilter(): ReactElement;
export declare function EnumHeaderFilter(): ReactElement;
export declare function BooleanHeaderFilter(): ReactElement;
export declare function DateHeaderFilter(): ReactElement;
export declare function TimeHeaderFilter(): ReactElement;
export declare function NoHeaderFilter(): ReactElement;
export declare function HeaderFilterWrapper({ original }: HeaderRendererProps): JSX.Element | null;
export {};