UNPKG

vue-json-search

Version:

Headless Vue (3.x) search component based on [Fuse.js](https://github.com/krisk/Fuse). Designed for static generators like [Hugo](https://github.com/gohugoio/hugo) but works with any site that's cabable of producing a JSON corpus.

144 lines (143 loc) 5.01 kB
import type { renderTag } from '../utils'; import type { DefineComponent, Ref, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, EmitsOptions } from 'vue'; import Fuse from 'fuse.js'; import { FuseResult, SearchResultItem } from '../types'; declare const _sfc_main: DefineComponent<{ url: { type: StringConstructor; required: false; }; fuseOptions: { type: null; required: false; }; maxResults: { type: NumberConstructor; required: false; }; showTags: { type: BooleanConstructor; required: false; }; tagRoot: { type: StringConstructor; required: false; }; }, { defaultOptions: Fuse.IFuseOptions<SearchResultItem>; searchReady: Ref<boolean>; searchTerm: Ref<string>; resultsTitle: Ref<string>; numResults: Ref<number>; results: Ref<{ item: { title: string; permalink: string; summary: string; tags: string[]; }; refIndex: number; score?: number | undefined; matches?: readonly { indices: readonly [number, number][]; key?: string | undefined; refIndex?: number | undefined; value?: string | undefined; }[] | undefined; }[]>; visibleResults: Ref<{ item: { title: string; permalink: string; summary: string; tags: string[]; }; refIndex: number; score?: number | undefined; matches?: readonly { indices: readonly [number, number][]; key?: string | undefined; refIndex?: number | undefined; value?: string | undefined; }[] | undefined; }[]>; fuse: Fuse<SearchResultItem>; props: { url?: string | undefined; fuseOptions?: Fuse.IFuseOptions<unknown> | undefined; maxResults?: number | undefined; showTags?: boolean | undefined; tagRoot?: string | undefined; }; dataUrl: string; maxResults: number; fuseOptions: Fuse.IFuseOptions<SearchResultItem>; initSearch: () => Promise<void>; SearchInput: DefineComponent<{ label: { type: StringConstructor; required: false; }; }, { props: { label?: string | undefined; }; label: string; searchTerm: Ref<string> | undefined; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{ label: { type: StringConstructor; required: false; }; }>>, {}>; SearchResults: DefineComponent<{}, { searchTerm: Ref<string> | undefined; ResultTitle: DefineComponent<{}, { numResults: Ref<number> | undefined; resultsTitle: string | undefined; searchTerm: string | undefined; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{}>>, {}>; ResultList: DefineComponent<{}, { results: Ref<FuseResult<SearchResultItem>[]> | undefined; ResultListItem: DefineComponent<{ result: { type: null; required: true; }; }, { showTags: boolean | undefined; tagRoot: string | undefined; renderTag: typeof renderTag; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{ result: { type: null; required: true; }; }>>, {}>; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{}>>, {}>; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{}>>, {}>; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{ url: { type: StringConstructor; required: false; }; fuseOptions: { type: null; required: false; }; maxResults: { type: NumberConstructor; required: false; }; showTags: { type: BooleanConstructor; required: false; }; tagRoot: { type: StringConstructor; required: false; }; }>>, { showTags: boolean; }>; export default _sfc_main;