@guardian/threads
Version:
38 lines (37 loc) • 1.41 kB
TypeScript
import { Component } from 'react';
import { QueryElement } from '../StructuredQuery';
import { Filter } from '../Filter';
export declare type ChipSpawnPosition = {
startIndex: number;
cursorIndex: number;
};
declare type InputSupperProps = {
elements: QueryElement[];
className?: string;
availableFilters: Filter[];
onChange: (newElements: QueryElement[]) => void;
};
declare type InputSupperState = {
focusElementIndex?: number;
deleteStagedIndex?: number;
deleteExpiry?: number;
};
export declare class InputSupper extends Component<InputSupperProps, InputSupperState> {
private deleteExpiryInterval?;
private elementRefs;
state: InputSupperState;
componentDidMount(): void;
componentDidUpdate(prevProps: InputSupperProps): void;
focusElement: (index: number, focusEnd: boolean) => void;
focusElementAt: (index: number, offset: number) => void;
selectElement: (index: number) => void;
inputUpdated: (index: number, value: string, label?: string | undefined) => void;
spawnChip: (index: number, chipPosition: ChipSpawnPosition, filter: Filter) => void;
onNegateClicked: (index: number) => void;
onDeleteClicked: (index: number) => void;
deleteChip: (index: number) => void;
deleteExpiryTick: () => void;
renderElement: (e: QueryElement, index: number) => JSX.Element;
render(): JSX.Element;
}
export {};