UNPKG

zim-fuzzysearch

Version:

Client side fuzzy search combined with seperate configurable result highlighting.

49 lines (48 loc) 1.34 kB
import React from "react"; import { FuzzyOptions } from "./hooks/useFuse"; import { ZimMarkOptions } from "./hooks/useMark"; export interface ZIMSearchAble<T = string> { label: string; value: T; txt?: string; tags?: string[]; [property: string]: any; } export interface Props { data?: ZIMSearchAble[]; tagConceptMap?: { [tagName: string]: { url: string; }; }; onSelect?: (sel: ZIMSearchAble) => void; onTagSelect?: (tagObj: { url: string; }) => void; onSearch?: (searchVal: string) => void; onInput?: (val: string) => void; onFuseScoreToCssClass?: (scoreAsFloat: number) => string; searchInput?: string; placeHolder?: string; fuseOptions?: FuzzyOptions; fuseKeyMap?: { [fuseKey: string]: { label: string; }; } | null; fuseKeyAllLabel?: string; onFuseKeySelect?: (fuseKeyMap: string[]) => void; markOptions?: ZimMarkOptions; resultCountLabel?: string; searchOnClick?: boolean; showResultGrid?: boolean; suggestions?: { [property: string]: { label: string; value: string; }; }; children?: JSX.Element; } declare const ZIMFuzzySearch: React.FC<Props>; export default ZIMFuzzySearch;