UNPKG

next-static-search

Version:

A powerful react search based on pagefind with beautiful UI

67 lines (63 loc) 1.69 kB
import React from 'react'; declare global { interface Window { pagefind: { search: (query: string, options?: IPagefindSearchOptions) => Promise<IPagefindResults>; preload: () => Promise<void>; }; } } interface IPagefindSearchOptions { filters?: Record<string, string[]>; sort?: string; excerptLength?: number; verbose?: boolean; } interface IPagefindResultDataWeightedLocations { balanced_score: number; location: number; weight: number; } interface IPagefindResultDataPatch { excerpt: string; locations: Array<number>; url: string; weighted_locations: Array<IPagefindResultDataWeightedLocations>; } interface IPagefindResultData extends IPagefindResultDataPatch { anchors: Array<any>; content: string; filters: Record<any, any>; meta: { title: string; }; raw_content: string; raw_url: string; word_count: number; sub_results: Array<IPagefindResultDataPatch & { title: string; }>; } interface IPagefindResult { id: string; score: number; words: Array<any>; data: () => Promise<IPagefindResultData>; } interface IPagefindResults { results: Array<IPagefindResult>; query: string; } interface INextStaticSearch { placeholder?: string; searchClassName?: string; macSymbol?: React.JSX.Element | string; windowsSymbol?: React.JSX.Element | string; searchBoxTitle?: string; errorMessage?: string; notFoundMessage?: string; searchBoxType: "modal" | "inline"; pagesToIgnore?: Array<string>; } declare const NextStaticSearch: React.FC<Partial<INextStaticSearch>>; export { NextStaticSearch };