docsearch.d.ts 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. export interface DocSearchProps {
  2. appId: string
  3. apiKey: string
  4. indexName: string
  5. placeholder?: string
  6. searchParameters?: SearchOptions
  7. disableUserPersonalization?: boolean
  8. initialQuery?: string
  9. insights?: boolean
  10. translations?: DocSearchTranslations
  11. }
  12. export interface SearchOptions {
  13. query?: string
  14. similarQuery?: string
  15. facetFilters?: string | string[]
  16. optionalFilters?: string | string[]
  17. numericFilters?: string | string[]
  18. tagFilters?: string | string[]
  19. sumOrFiltersScores?: boolean
  20. filters?: string
  21. page?: number
  22. hitsPerPage?: number
  23. offset?: number
  24. length?: number
  25. attributesToHighlight?: string[]
  26. attributesToSnippet?: string[]
  27. attributesToRetrieve?: string[]
  28. highlightPreTag?: string
  29. highlightPostTag?: string
  30. snippetEllipsisText?: string
  31. restrictHighlightAndSnippetArrays?: boolean
  32. facets?: string[]
  33. maxValuesPerFacet?: number
  34. facetingAfterDistinct?: boolean
  35. minWordSizefor1Typo?: number
  36. minWordSizefor2Typos?: number
  37. allowTyposOnNumericTokens?: boolean
  38. disableTypoToleranceOnAttributes?: string[]
  39. queryType?: 'prefixLast' | 'prefixAll' | 'prefixNone'
  40. removeWordsIfNoResults?: 'none' | 'lastWords' | 'firstWords' | 'allOptional'
  41. advancedSyntax?: boolean
  42. advancedSyntaxFeatures?: ('exactPhrase' | 'excludeWords')[]
  43. optionalWords?: string | string[]
  44. disableExactOnAttributes?: string[]
  45. exactOnSingleWordQuery?: 'attribute' | 'none' | 'word'
  46. alternativesAsExact?: (
  47. | 'ignorePlurals'
  48. | 'singleWordSynonym'
  49. | 'multiWordsSynonym'
  50. )[]
  51. enableRules?: boolean
  52. ruleContexts?: string[]
  53. distinct?: boolean | number
  54. analytics?: boolean
  55. analyticsTags?: string[]
  56. synonyms?: boolean
  57. replaceSynonymsInHighlight?: boolean
  58. minProximity?: number
  59. responseFields?: string[]
  60. maxFacetHits?: number
  61. percentileComputation?: boolean
  62. clickAnalytics?: boolean
  63. personalizationImpact?: number
  64. enablePersonalization?: boolean
  65. restrictSearchableAttributes?: string[]
  66. sortFacetValuesBy?: 'count' | 'alpha'
  67. typoTolerance?: boolean | 'min' | 'strict'
  68. aroundLatLng?: string
  69. aroundLatLngViaIP?: boolean
  70. aroundRadius?: number | 'all'
  71. aroundPrecision?: number | { from: number; value: number }[]
  72. minimumAroundRadius?: number
  73. insideBoundingBox?: number[][]
  74. insidePolygon?: number[][]
  75. ignorePlurals?: boolean | string[]
  76. removeStopWords?: boolean | string[]
  77. naturalLanguages?: string[]
  78. getRankingInfo?: boolean
  79. userToken?: string
  80. enableABTest?: boolean
  81. decompoundQuery?: boolean
  82. relevancyStrictness?: number
  83. }
  84. export interface DocSearchTranslations {
  85. button?: ButtonTranslations
  86. modal?: ModalTranslations
  87. }
  88. export interface ButtonTranslations {
  89. buttonText?: string
  90. buttonAriaLabel?: string
  91. }
  92. export interface ModalTranslations extends ScreenStateTranslations {
  93. searchBox?: SearchBoxTranslations
  94. footer?: FooterTranslations
  95. }
  96. export interface ScreenStateTranslations {
  97. errorScreen?: ErrorScreenTranslations
  98. startScreen?: StartScreenTranslations
  99. noResultsScreen?: NoResultsScreenTranslations
  100. }
  101. export interface SearchBoxTranslations {
  102. resetButtonTitle?: string
  103. resetButtonAriaLabel?: string
  104. cancelButtonText?: string
  105. cancelButtonAriaLabel?: string
  106. }
  107. export interface FooterTranslations {
  108. selectText?: string
  109. selectKeyAriaLabel?: string
  110. navigateText?: string
  111. navigateUpKeyAriaLabel?: string
  112. navigateDownKeyAriaLabel?: string
  113. closeText?: string
  114. closeKeyAriaLabel?: string
  115. searchByText?: string
  116. }
  117. export interface ErrorScreenTranslations {
  118. titleText?: string
  119. helpText?: string
  120. }
  121. export interface StartScreenTranslations {
  122. recentSearchesTitle?: string
  123. noRecentSearchesText?: string
  124. saveRecentSearchButtonTitle?: string
  125. removeRecentSearchButtonTitle?: string
  126. favoriteSearchesTitle?: string
  127. removeFavoriteSearchButtonTitle?: string
  128. }
  129. export interface NoResultsScreenTranslations {
  130. noResultsText?: string
  131. suggestedQueryText?: string
  132. reportMissingResultsText?: string
  133. reportMissingResultsLinkText?: string
  134. }