jccp_a/vuepress/node_modules/@vuepress-plume/plugin-search/lib/shared/index.d.ts
hellcat ac91e1fbe4 1
2025-11-12 17:57:30 +08:00

43 lines
1.2 KiB
TypeScript

import { Options } from "minisearch";
import { LocaleConfig, Page } from "vuepress/core";
//#region src/shared/index.d.ts
interface SearchLocaleOptions {
placeholder: string;
buttonText: string;
resetButtonTitle: string;
backButtonTitle: string;
noResultsText: string;
footer: {
selectText: string;
selectKeyAriaLabel: string;
navigateText: string;
navigateUpKeyAriaLabel: string;
navigateDownKeyAriaLabel: string;
closeText: string;
closeKeyAriaLabel: string;
};
}
type SearchBoxLocales = LocaleConfig<SearchLocaleOptions>;
interface SearchPluginOptions extends SearchOptions {
locales?: SearchBoxLocales;
isSearchable?: (page: Page) => boolean;
}
interface SearchOptions {
/**
* @default false
*/
disableQueryPersistence?: boolean;
miniSearch?: {
/**
* @see https://lucaong.github.io/minisearch/modules/_minisearch_.html#options
*/
options?: Pick<Options, 'extractField' | 'tokenize' | 'processTerm'>;
/**
* @see https://lucaong.github.io/minisearch/modules/_minisearch_.html#searchoptions-1
*/
searchOptions?: Options['searchOptions'];
};
}
//#endregion
export { SearchBoxLocales, SearchLocaleOptions, SearchOptions, SearchPluginOptions };