UNPKG

@hashuplabs/omni-filter

Version:
47 lines (46 loc) 1.79 kB
import { Component } from 'react'; import { FilterManager } from '..'; import { OmniToken } from '../OmniToken'; import { OmniEntityReference, OmniFilterSet } from '../types'; declare type OmniFilterBarState = { boxOffset: number; filterShowing: boolean; activeToken: OmniToken | null; tokenInput: string; tokens: OmniToken[]; inputElement: HTMLInputElement | null; }; export declare type OmniFilterBarPropsShape = { filterSet: OmniFilterSet; filter: any; tokenAdded?: (sender: OmniFilterBar, token: OmniToken) => void; tokenRemoved?: (sender: OmniFilterBar, token: OmniToken) => void; tokenChanged?: (sender: OmniFilterBar, token: OmniToken) => void; tokenSetChanged?: (sender: OmniFilterBar) => void; ready?: (sender: OmniFilterBar) => void; placeholder?: string; filterManager?: typeof FilterManager; enableTokenGrouping?: boolean; tokenGroupSeparator?: string; }; export declare class OmniFilterBar extends Component<OmniFilterBarPropsShape, OmniFilterBarState> { _inputElement: HTMLInputElement | null; _scrollElement: HTMLElement | null; _entities: OmniEntityReference[]; _filterManagerClass: typeof FilterManager; _filterManager: FilterManager | null; constructor(props: OmniFilterBarPropsShape); initialize(): Promise<void>; updatePosition(stateObject?: Partial<OmniFilterBarState>): void; componentDidMount(): void; onSuggestionUpdated(newToken: OmniToken): void; onSuggestionCompleted(newToken: OmniToken): void; render(): JSX.Element; getTokens(): OmniToken[]; indexOfToken(token: OmniToken): number; removeToken(token: OmniToken | undefined): void; private onTokenAdded; private onTokenRemoved; render_in(): JSX.Element; } export {};