ScreenState.d.ts 1.5 KB

123456789101112131415161718192021222324252627
  1. import type { AutocompleteApi, AutocompleteState, BaseItem } from '@algolia/autocomplete-core';
  2. import React from 'react';
  3. import type { DocSearchProps } from './DocSearch';
  4. import type { ErrorScreenTranslations } from './ErrorScreen';
  5. import type { NoResultsScreenTranslations } from './NoResultsScreen';
  6. import type { StartScreenTranslations } from './StartScreen';
  7. import type { StoredSearchPlugin } from './stored-searches';
  8. import type { InternalDocSearchHit, StoredDocSearchHit } from './types';
  9. export declare type ScreenStateTranslations = Partial<{
  10. errorScreen: ErrorScreenTranslations;
  11. startScreen: StartScreenTranslations;
  12. noResultsScreen: NoResultsScreenTranslations;
  13. }>;
  14. export interface ScreenStateProps<TItem extends BaseItem> extends AutocompleteApi<TItem, React.FormEvent, React.MouseEvent, React.KeyboardEvent> {
  15. state: AutocompleteState<TItem>;
  16. recentSearches: StoredSearchPlugin<StoredDocSearchHit>;
  17. favoriteSearches: StoredSearchPlugin<StoredDocSearchHit>;
  18. onItemClick: (item: InternalDocSearchHit) => void;
  19. inputRef: React.MutableRefObject<HTMLInputElement | null>;
  20. hitComponent: DocSearchProps['hitComponent'];
  21. indexName: DocSearchProps['indexName'];
  22. disableUserPersonalization: boolean;
  23. resultsFooterComponent: DocSearchProps['resultsFooterComponent'];
  24. translations: ScreenStateTranslations;
  25. getMissingResultsUrl?: DocSearchProps['getMissingResultsUrl'];
  26. }
  27. export declare const ScreenState: React.MemoExoticComponent<({ translations, ...props }: ScreenStateProps<InternalDocSearchHit>) => JSX.Element>;