instantsearch.js 4.80.0 → 4.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/cjs/components/Answers/Answers.js +4 -4
  2. package/cjs/components/Breadcrumb/Breadcrumb.js +2 -2
  3. package/cjs/components/ClearRefinements/ClearRefinements.js +2 -2
  4. package/cjs/components/GeoSearchControls/GeoSearchControls.js +2 -2
  5. package/cjs/components/Highlight/Highlight.js +3 -3
  6. package/cjs/components/InfiniteHits/InfiniteHits.js +4 -4
  7. package/cjs/components/MenuSelect/MenuSelect.js +2 -2
  8. package/cjs/components/Pagination/Pagination.js +1 -1
  9. package/cjs/components/Panel/Panel.js +5 -5
  10. package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +1 -1
  11. package/cjs/components/RangeInput/RangeInput.js +14 -14
  12. package/cjs/components/RefinementList/RefinementList.js +16 -16
  13. package/cjs/components/RefinementList/RefinementListItem.js +2 -2
  14. package/cjs/components/RelevantSort/RelevantSort.js +1 -1
  15. package/cjs/components/ReverseHighlight/ReverseHighlight.js +3 -3
  16. package/cjs/components/ReverseSnippet/ReverseSnippet.js +3 -3
  17. package/cjs/components/SearchBox/SearchBox.js +31 -19
  18. package/cjs/components/Slider/Pit.js +2 -2
  19. package/cjs/components/Slider/Rheostat.js +13 -13
  20. package/cjs/components/Slider/Slider.js +19 -19
  21. package/cjs/components/Snippet/Snippet.js +3 -3
  22. package/cjs/components/Stats/Stats.js +6 -6
  23. package/cjs/components/Template/Template.js +18 -18
  24. package/cjs/components/ToggleRefinement/ToggleRefinement.js +2 -2
  25. package/cjs/components/VoiceSearch/VoiceSearch.js +1 -1
  26. package/cjs/connectors/answers/connectAnswers.js +2 -2
  27. package/cjs/connectors/autocomplete/connectAutocomplete.js +2 -2
  28. package/cjs/connectors/breadcrumb/connectBreadcrumb.js +6 -6
  29. package/cjs/connectors/chat/connectChat.js +221 -0
  30. package/cjs/connectors/clear-refinements/connectClearRefinements.js +7 -7
  31. package/cjs/connectors/configure/connectConfigure.js +3 -3
  32. package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +8 -8
  33. package/cjs/connectors/current-refinements/connectCurrentRefinements.js +7 -7
  34. package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +2 -2
  35. package/cjs/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +6 -3
  36. package/cjs/connectors/geo-search/connectGeoSearch.js +2 -2
  37. package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +28 -16
  38. package/cjs/connectors/hits/connectHits.js +2 -2
  39. package/cjs/connectors/hits/connectHitsWithInsights.js +1 -1
  40. package/cjs/connectors/hits-per-page/connectHitsPerPage.js +7 -7
  41. package/cjs/connectors/index.js +8 -1
  42. package/cjs/connectors/index.umd.js +239 -0
  43. package/cjs/connectors/infinite-hits/connectInfiniteHits.js +11 -11
  44. package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +1 -1
  45. package/cjs/connectors/looking-similar/connectLookingSimilar.js +3 -3
  46. package/cjs/connectors/menu/connectMenu.js +8 -8
  47. package/cjs/connectors/numeric-menu/connectNumericMenu.js +7 -7
  48. package/cjs/connectors/pagination/Paginator.js +5 -5
  49. package/cjs/connectors/pagination/connectPagination.js +3 -3
  50. package/cjs/connectors/powered-by/connectPoweredBy.js +2 -2
  51. package/cjs/connectors/query-rules/connectQueryRules.js +7 -7
  52. package/cjs/connectors/range/connectRange.js +22 -22
  53. package/cjs/connectors/rating-menu/connectRatingMenu.js +9 -9
  54. package/cjs/connectors/refinement-list/connectRefinementList.js +4 -4
  55. package/cjs/connectors/related-products/connectRelatedProducts.js +3 -3
  56. package/cjs/connectors/relevant-sort/connectRelevantSort.js +2 -2
  57. package/cjs/connectors/search-box/connectSearchBox.js +2 -2
  58. package/cjs/connectors/sort-by/connectSortBy.js +2 -2
  59. package/cjs/connectors/stats/connectStats.js +2 -2
  60. package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +10 -10
  61. package/cjs/connectors/trending-items/connectTrendingItems.js +3 -3
  62. package/cjs/connectors/voice-search/connectVoiceSearch.js +3 -3
  63. package/cjs/helpers/components/Highlight.js +3 -3
  64. package/cjs/helpers/components/ReverseHighlight.js +5 -5
  65. package/cjs/helpers/components/ReverseSnippet.js +5 -5
  66. package/cjs/helpers/components/Snippet.js +3 -3
  67. package/cjs/helpers/index.js +2 -3
  68. package/cjs/index.js +4 -5
  69. package/cjs/lib/InstantSearch.js +13 -13
  70. package/cjs/lib/chat/chat.js +177 -0
  71. package/cjs/lib/chat/index.js +27 -0
  72. package/cjs/lib/createHelpers.js +2 -2
  73. package/cjs/lib/infiniteHitsCache/index.js +1 -1
  74. package/cjs/lib/infiniteHitsCache/sessionStorage.js +2 -2
  75. package/cjs/lib/insights/client.js +2 -2
  76. package/cjs/lib/insights/index.js +2 -3
  77. package/cjs/lib/routers/history.js +8 -8
  78. package/cjs/lib/routers/index.js +1 -1
  79. package/cjs/lib/server.js +2 -2
  80. package/cjs/lib/stateMappings/index.js +1 -1
  81. package/cjs/lib/stateMappings/simple.js +4 -4
  82. package/cjs/lib/stateMappings/singleIndex.js +4 -4
  83. package/cjs/lib/templating/prepareTemplateProps.js +7 -7
  84. package/cjs/lib/templating/renderTemplate.js +3 -3
  85. package/cjs/lib/useStickToBottom.js +20 -0
  86. package/cjs/lib/utils/checkIndexUiState.js +14 -14
  87. package/cjs/lib/utils/createSendEventForFacet.js +6 -6
  88. package/cjs/lib/utils/createSendEventForHits.js +6 -6
  89. package/cjs/lib/utils/escape-highlight.js +4 -4
  90. package/cjs/lib/utils/geo-search.js +4 -4
  91. package/cjs/lib/utils/hits-absolute-position.js +2 -2
  92. package/cjs/lib/utils/hits-query-id.js +2 -2
  93. package/cjs/lib/utils/hydrateRecommendCache.js +2 -2
  94. package/cjs/lib/utils/hydrateSearchClient.js +6 -6
  95. package/cjs/lib/utils/mergeSearchParameters.js +4 -4
  96. package/cjs/lib/utils/range.js +5 -5
  97. package/cjs/lib/utils/reverseHighlightedParts.js +2 -2
  98. package/cjs/lib/version.js +1 -1
  99. package/cjs/lib/voiceSearchHelper/index.js +2 -2
  100. package/cjs/middlewares/createInsightsMiddleware.js +13 -13
  101. package/cjs/middlewares/createRouterMiddleware.js +3 -3
  102. package/cjs/templates/carousel/carousel.js +34 -7
  103. package/cjs/widgets/analytics/analytics.js +2 -2
  104. package/cjs/widgets/answers/answers.js +3 -3
  105. package/cjs/widgets/autocomplete/autocomplete.js +281 -0
  106. package/cjs/widgets/breadcrumb/breadcrumb.js +3 -3
  107. package/cjs/widgets/chat/chat.js +612 -0
  108. package/cjs/widgets/clear-refinements/clear-refinements.js +3 -3
  109. package/cjs/widgets/configure/configure.js +3 -3
  110. package/cjs/widgets/configure-related-items/configure-related-items.js +3 -3
  111. package/cjs/widgets/current-refinements/current-refinements.js +3 -3
  112. package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +5 -5
  113. package/cjs/widgets/frequently-bought-together/frequently-bought-together.js +8 -6
  114. package/cjs/widgets/geo-search/GeoSearchRenderer.js +7 -7
  115. package/cjs/widgets/geo-search/createHTMLMarker.js +12 -12
  116. package/cjs/widgets/geo-search/geo-search.js +5 -5
  117. package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +3 -3
  118. package/cjs/widgets/hits/hits.js +7 -7
  119. package/cjs/widgets/hits-per-page/hits-per-page.js +3 -3
  120. package/cjs/widgets/index/index.js +18 -11
  121. package/cjs/widgets/index.js +17 -2
  122. package/cjs/widgets/index.umd.js +275 -0
  123. package/cjs/widgets/infinite-hits/infinite-hits.js +3 -3
  124. package/cjs/widgets/looking-similar/looking-similar.js +6 -6
  125. package/cjs/widgets/menu/menu.js +3 -3
  126. package/cjs/widgets/menu-select/menu-select.js +3 -3
  127. package/cjs/widgets/numeric-menu/numeric-menu.js +3 -3
  128. package/cjs/widgets/pagination/pagination.js +3 -3
  129. package/cjs/widgets/panel/panel.js +3 -3
  130. package/cjs/widgets/places/places.js +4 -4
  131. package/cjs/widgets/powered-by/powered-by.js +3 -3
  132. package/cjs/widgets/query-rule-context/query-rule-context.js +3 -3
  133. package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +3 -3
  134. package/cjs/widgets/range-input/range-input.js +7 -7
  135. package/cjs/widgets/range-slider/range-slider.js +7 -7
  136. package/cjs/widgets/rating-menu/rating-menu.js +3 -3
  137. package/cjs/widgets/refinement-list/refinement-list.js +3 -3
  138. package/cjs/widgets/related-products/related-products.js +6 -6
  139. package/cjs/widgets/relevant-sort/relevant-sort.js +3 -3
  140. package/cjs/widgets/search-box/search-box.js +3 -3
  141. package/cjs/widgets/sort-by/sort-by.js +3 -3
  142. package/cjs/widgets/stats/stats.js +3 -3
  143. package/cjs/widgets/toggle-refinement/toggle-refinement.js +3 -3
  144. package/cjs/widgets/trending-items/trending-items.js +6 -6
  145. package/cjs/widgets/voice-search/voice-search.js +3 -3
  146. package/dist/instantsearch.development.d.ts +165 -14
  147. package/dist/instantsearch.development.js +1456 -680
  148. package/dist/instantsearch.development.js.map +1 -1
  149. package/dist/instantsearch.production.d.ts +165 -14
  150. package/dist/instantsearch.production.min.d.ts +165 -14
  151. package/dist/instantsearch.production.min.js +2 -2
  152. package/dist/instantsearch.production.min.js.map +1 -1
  153. package/es/components/Answers/Answers.js +3 -3
  154. package/es/components/Breadcrumb/Breadcrumb.js +1 -1
  155. package/es/components/ClearRefinements/ClearRefinements.js +1 -1
  156. package/es/components/GeoSearchControls/GeoSearchControls.js +1 -1
  157. package/es/components/Highlight/Highlight.js +3 -3
  158. package/es/components/InfiniteHits/InfiniteHits.js +3 -3
  159. package/es/components/MenuSelect/MenuSelect.js +1 -1
  160. package/es/components/Panel/Panel.js +4 -4
  161. package/es/components/RangeInput/RangeInput.js +13 -13
  162. package/es/components/RefinementList/RefinementList.js +15 -15
  163. package/es/components/RefinementList/RefinementListItem.js +1 -1
  164. package/es/components/ReverseHighlight/ReverseHighlight.js +3 -3
  165. package/es/components/ReverseSnippet/ReverseSnippet.js +3 -3
  166. package/es/components/SearchBox/SearchBox.d.ts +4 -0
  167. package/es/components/SearchBox/SearchBox.js +30 -18
  168. package/es/components/Slider/Pit.js +2 -2
  169. package/es/components/Slider/Rheostat.js +13 -13
  170. package/es/components/Slider/Slider.js +18 -18
  171. package/es/components/Snippet/Snippet.js +3 -3
  172. package/es/components/Stats/Stats.js +5 -5
  173. package/es/components/Template/Template.js +18 -18
  174. package/es/components/ToggleRefinement/ToggleRefinement.js +1 -1
  175. package/es/connectors/answers/connectAnswers.js +2 -2
  176. package/es/connectors/autocomplete/connectAutocomplete.js +2 -2
  177. package/es/connectors/breadcrumb/connectBreadcrumb.js +6 -6
  178. package/es/connectors/chat/connectChat.d.ts +433 -0
  179. package/es/connectors/chat/connectChat.js +215 -0
  180. package/es/connectors/clear-refinements/connectClearRefinements.js +7 -7
  181. package/es/connectors/configure/connectConfigure.js +2 -2
  182. package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +7 -7
  183. package/es/connectors/current-refinements/connectCurrentRefinements.js +7 -7
  184. package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +2 -2
  185. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +6 -0
  186. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +6 -3
  187. package/es/connectors/geo-search/connectGeoSearch.d.ts +1 -0
  188. package/es/connectors/geo-search/connectGeoSearch.js +2 -2
  189. package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +28 -16
  190. package/es/connectors/hits/connectHits.d.ts +1 -0
  191. package/es/connectors/hits/connectHits.js +2 -2
  192. package/es/connectors/hits/connectHitsWithInsights.d.ts +1 -0
  193. package/es/connectors/hits-per-page/connectHitsPerPage.js +7 -7
  194. package/es/connectors/index.d.ts +1 -0
  195. package/es/connectors/index.js +2 -1
  196. package/es/connectors/index.umd.d.ts +39 -0
  197. package/es/connectors/index.umd.js +47 -0
  198. package/es/connectors/infinite-hits/connectInfiniteHits.d.ts +1 -0
  199. package/es/connectors/infinite-hits/connectInfiniteHits.js +11 -11
  200. package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.d.ts +1 -0
  201. package/es/connectors/looking-similar/connectLookingSimilar.d.ts +2 -0
  202. package/es/connectors/looking-similar/connectLookingSimilar.js +3 -3
  203. package/es/connectors/menu/connectMenu.js +8 -8
  204. package/es/connectors/numeric-menu/connectNumericMenu.js +7 -7
  205. package/es/connectors/pagination/Paginator.js +5 -5
  206. package/es/connectors/pagination/connectPagination.js +2 -2
  207. package/es/connectors/powered-by/connectPoweredBy.js +2 -2
  208. package/es/connectors/query-rules/connectQueryRules.js +7 -7
  209. package/es/connectors/range/connectRange.js +22 -22
  210. package/es/connectors/rating-menu/connectRatingMenu.js +9 -9
  211. package/es/connectors/refinement-list/connectRefinementList.js +4 -4
  212. package/es/connectors/related-products/connectRelatedProducts.d.ts +2 -0
  213. package/es/connectors/related-products/connectRelatedProducts.js +3 -3
  214. package/es/connectors/relevant-sort/connectRelevantSort.js +2 -2
  215. package/es/connectors/search-box/connectSearchBox.js +2 -2
  216. package/es/connectors/sort-by/connectSortBy.js +2 -2
  217. package/es/connectors/stats/connectStats.js +2 -2
  218. package/es/connectors/toggle-refinement/connectToggleRefinement.js +10 -10
  219. package/es/connectors/trending-items/connectTrendingItems.d.ts +2 -0
  220. package/es/connectors/trending-items/connectTrendingItems.js +3 -3
  221. package/es/connectors/voice-search/connectVoiceSearch.js +2 -2
  222. package/es/helpers/components/Highlight.js +3 -3
  223. package/es/helpers/components/ReverseHighlight.js +5 -5
  224. package/es/helpers/components/ReverseSnippet.js +5 -5
  225. package/es/helpers/components/Snippet.js +3 -3
  226. package/es/lib/InstantSearch.d.ts +1 -1
  227. package/es/lib/InstantSearch.js +12 -12
  228. package/es/lib/chat/chat.d.ts +40 -0
  229. package/es/lib/chat/chat.js +166 -0
  230. package/es/lib/chat/index.d.ts +7 -0
  231. package/es/lib/chat/index.js +5 -0
  232. package/es/lib/createHelpers.js +2 -2
  233. package/es/lib/infiniteHitsCache/sessionStorage.js +2 -2
  234. package/es/lib/insights/client.js +2 -2
  235. package/es/lib/routers/history.js +7 -7
  236. package/es/lib/server.js +2 -2
  237. package/es/lib/stateMappings/simple.js +4 -4
  238. package/es/lib/stateMappings/singleIndex.js +4 -4
  239. package/es/lib/templating/prepareTemplateProps.js +7 -7
  240. package/es/lib/templating/renderTemplate.js +2 -2
  241. package/es/lib/useStickToBottom.d.ts +1 -0
  242. package/es/lib/useStickToBottom.js +14 -0
  243. package/es/lib/utils/checkIndexUiState.js +14 -14
  244. package/es/lib/utils/createSendEventForFacet.js +6 -6
  245. package/es/lib/utils/createSendEventForHits.js +6 -6
  246. package/es/lib/utils/escape-highlight.js +4 -4
  247. package/es/lib/utils/geo-search.js +4 -4
  248. package/es/lib/utils/hits-absolute-position.js +2 -2
  249. package/es/lib/utils/hits-query-id.js +2 -2
  250. package/es/lib/utils/hydrateRecommendCache.js +2 -2
  251. package/es/lib/utils/hydrateSearchClient.js +6 -6
  252. package/es/lib/utils/mergeSearchParameters.js +4 -4
  253. package/es/lib/utils/range.js +5 -5
  254. package/es/lib/utils/reverseHighlightedParts.js +2 -2
  255. package/es/lib/version.d.ts +1 -1
  256. package/es/lib/version.js +1 -1
  257. package/es/lib/voiceSearchHelper/index.js +2 -2
  258. package/es/middlewares/createInsightsMiddleware.js +13 -13
  259. package/es/middlewares/createRouterMiddleware.js +2 -2
  260. package/es/templates/carousel/carousel.d.ts +10 -3
  261. package/es/templates/carousel/carousel.js +35 -8
  262. package/es/types/render-state.d.ts +2 -1
  263. package/es/types/templates.d.ts +1 -1
  264. package/es/types/widget.d.ts +10 -3
  265. package/es/widgets/analytics/analytics.js +2 -2
  266. package/es/widgets/answers/answers.js +2 -2
  267. package/es/widgets/autocomplete/autocomplete.d.ts +57 -0
  268. package/es/widgets/autocomplete/autocomplete.js +274 -0
  269. package/es/widgets/breadcrumb/breadcrumb.js +2 -2
  270. package/es/widgets/chat/chat.d.ts +559 -0
  271. package/es/widgets/chat/chat.js +594 -0
  272. package/es/widgets/clear-refinements/clear-refinements.js +2 -2
  273. package/es/widgets/configure/configure.js +2 -2
  274. package/es/widgets/configure-related-items/configure-related-items.js +2 -2
  275. package/es/widgets/current-refinements/current-refinements.js +2 -2
  276. package/es/widgets/dynamic-widgets/dynamic-widgets.js +4 -4
  277. package/es/widgets/frequently-bought-together/frequently-bought-together.d.ts +3 -1
  278. package/es/widgets/frequently-bought-together/frequently-bought-together.js +7 -5
  279. package/es/widgets/geo-search/GeoSearchRenderer.js +6 -6
  280. package/es/widgets/geo-search/createHTMLMarker.js +12 -12
  281. package/es/widgets/geo-search/geo-search.d.ts +1 -0
  282. package/es/widgets/geo-search/geo-search.js +4 -4
  283. package/es/widgets/hierarchical-menu/hierarchical-menu.js +2 -2
  284. package/es/widgets/hits/hits.d.ts +1 -0
  285. package/es/widgets/hits/hits.js +6 -6
  286. package/es/widgets/hits-per-page/hits-per-page.js +2 -2
  287. package/es/widgets/index/index.d.ts +1 -1
  288. package/es/widgets/index/index.js +17 -10
  289. package/es/widgets/index.d.ts +2 -0
  290. package/es/widgets/index.js +3 -1
  291. package/es/widgets/index.umd.d.ts +45 -0
  292. package/es/widgets/index.umd.js +52 -0
  293. package/es/widgets/infinite-hits/infinite-hits.d.ts +1 -0
  294. package/es/widgets/infinite-hits/infinite-hits.js +2 -2
  295. package/es/widgets/looking-similar/looking-similar.d.ts +3 -1
  296. package/es/widgets/looking-similar/looking-similar.js +5 -5
  297. package/es/widgets/menu/menu.js +2 -2
  298. package/es/widgets/menu-select/menu-select.js +2 -2
  299. package/es/widgets/numeric-menu/numeric-menu.js +2 -2
  300. package/es/widgets/pagination/pagination.js +2 -2
  301. package/es/widgets/panel/panel.js +2 -2
  302. package/es/widgets/places/places.js +4 -4
  303. package/es/widgets/powered-by/powered-by.js +2 -2
  304. package/es/widgets/query-rule-context/query-rule-context.js +2 -2
  305. package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +2 -2
  306. package/es/widgets/range-input/range-input.js +6 -6
  307. package/es/widgets/range-slider/range-slider.js +6 -6
  308. package/es/widgets/rating-menu/rating-menu.js +2 -2
  309. package/es/widgets/refinement-list/refinement-list.js +2 -2
  310. package/es/widgets/related-products/related-products.d.ts +3 -1
  311. package/es/widgets/related-products/related-products.js +5 -5
  312. package/es/widgets/relevant-sort/relevant-sort.js +2 -2
  313. package/es/widgets/search-box/search-box.js +2 -2
  314. package/es/widgets/sort-by/sort-by.js +2 -2
  315. package/es/widgets/stats/stats.js +2 -2
  316. package/es/widgets/toggle-refinement/toggle-refinement.js +2 -2
  317. package/es/widgets/trending-items/trending-items.d.ts +3 -1
  318. package/es/widgets/trending-items/trending-items.js +5 -5
  319. package/es/widgets/voice-search/voice-search.js +2 -2
  320. package/package.json +11 -7
@@ -1,4 +1,8 @@
1
+ import { AbstractChat } from 'ai';
1
2
  import { AlgoliaSearchHelper } from 'algoliasearch-helper';
3
+ import type { AutocompleteClassNames } from 'instantsearch-ui-components';
4
+ import type { AutocompleteIndexClassNames } from 'instantsearch-ui-components';
5
+ import type { AutocompleteIndexConfig } from 'instantsearch-ui-components';
2
6
  import { Banner } from 'algoliasearch-helper';
3
7
  import type { CarouselProps } from 'instantsearch-ui-components';
4
8
  import { CompositionClient } from 'algoliasearch-helper/types/algoliasearch.js';
@@ -28,6 +32,8 @@ import { SearchOptions } from 'algoliasearch-helper/types/algoliasearch.js';
28
32
  import { SearchParameters } from 'algoliasearch-helper';
29
33
  import { SearchResults } from 'algoliasearch-helper';
30
34
  import type { TrendingItemsProps } from 'instantsearch-ui-components';
35
+ import type { UIMessage } from 'ai';
36
+ import type { UserClientSideTool } from 'instantsearch-ui-components';
31
37
  import { VNode } from 'preact';
32
38
  import type { VNode as VNode_2 } from 'instantsearch-ui-components';
33
39
 
@@ -265,6 +271,8 @@ declare type AutocompleteConnectorParams = {
265
271
  escapeHTML?: boolean;
266
272
  };
267
273
 
274
+ declare type AutocompleteCSSClasses = Partial<AutocompleteClassNames>;
275
+
268
276
  declare type AutocompleteRenderState = {
269
277
  /**
270
278
  * The current value of the query.
@@ -301,6 +309,8 @@ declare type AutocompleteRenderState = {
301
309
  refine: (query: string) => void;
302
310
  };
303
311
 
312
+ declare type AutocompleteTemplates<TItem extends BaseHit> = Partial<Record<string, TItem>>;
313
+
304
314
  declare type AutocompleteWidgetDescription = {
305
315
  $$type: 'ais.autocomplete';
306
316
  renderState: AutocompleteRenderState;
@@ -312,6 +322,33 @@ declare type AutocompleteWidgetDescription = {
312
322
  };
313
323
  };
314
324
 
325
+ declare type AutocompleteWidgetParams<TItem extends BaseHit> = {
326
+ /**
327
+ * CSS Selector or HTMLElement to insert the widget.
328
+ */
329
+ container: string | HTMLElement;
330
+ /**
331
+ * Indices to use in the Autocomplete.
332
+ */
333
+ indices?: Array<IndexConfig<TItem>>;
334
+ /**
335
+ * Index to use for retrieving and showing query suggestions.
336
+ */
337
+ showSuggestions?: Partial<Pick<IndexConfig<{
338
+ query: string;
339
+ }>, 'indexName' | 'getURL' | 'templates' | 'cssClasses'>>;
340
+ getSearchPageURL?: (nextUiState: IndexUiState) => string;
341
+ onSelect?: AutocompleteIndexConfig<TItem>['onSelect'];
342
+ /**
343
+ * Templates to use for the widget.
344
+ */
345
+ templates?: AutocompleteTemplates<TItem>;
346
+ /**
347
+ * CSS classes to add.
348
+ */
349
+ cssClasses?: AutocompleteCSSClasses;
350
+ };
351
+
315
352
  declare type BaseHit = Record<string, any>;
316
353
 
317
354
  declare type BindEventForHits = BuiltInBindEventForHits & CustomBindEventForHits;
@@ -563,7 +600,7 @@ declare type BuiltInSendEventForHits = (eventType: string, hits: Hit | Hit[], ev
563
600
 
564
601
  declare type BuiltInSendEventForToggle = (eventType: string, isRefined: boolean, eventName?: string) => void;
565
602
 
566
- declare function carousel<TObject extends Record<string, unknown>>({ cssClasses, templates, }?: CreateCarouselTemplateProps<TObject>): ({ items, templates: widgetTemplates, cssClasses: widgetCssClasses, sendEvent, }: CarouselTemplateProps<TObject>) => h.JSX.Element;
603
+ declare function carousel<TObject extends Record<string, unknown>>({ cssClasses, templates, showNavigation, }?: CreateCarouselTemplateProps<TObject>): ({ items, templates: widgetTemplates, cssClasses: widgetCssClasses, sendEvent, }: CarouselTemplateProps<TObject>) => h.JSX.Element;
567
604
 
568
605
  declare type CarouselTemplateProps<TObject extends Record<string, unknown>> = Pick<CarouselProps<TObject>, 'items'> & {
569
606
  templates: {
@@ -574,6 +611,49 @@ declare type CarouselTemplateProps<TObject extends Record<string, unknown>> = Pi
574
611
  sendEvent?: CarouselProps<TObject>['sendEvent'];
575
612
  };
576
613
 
614
+ declare const chat: () => never;
615
+
616
+ declare type ChatRenderState<TUiMessage extends UIMessage = UIMessage> = {
617
+ indexUiState: IndexUiState;
618
+ input: string;
619
+ open: boolean;
620
+ /**
621
+ * Sends an event to the Insights middleware.
622
+ */
623
+ sendEvent: SendEventForHits;
624
+ setIndexUiState: IndexWidget['setIndexUiState'];
625
+ setInput: (input: string) => void;
626
+ setOpen: (open: boolean) => void;
627
+ /**
628
+ * Updates the `messages` state locally. This is useful when you want to
629
+ * edit the messages on the client, and then trigger the `reload` method
630
+ * manually to regenerate the AI response.
631
+ */
632
+ setMessages: (messages: TUiMessage[] | ((m: TUiMessage[]) => TUiMessage[])) => void;
633
+ /**
634
+ * Whether the chat is in the process of clearing messages.
635
+ */
636
+ isClearing: boolean;
637
+ /**
638
+ * Clear all messages.
639
+ */
640
+ clearMessages: () => void;
641
+ /**
642
+ * Callback to be called when the clear transition ends.
643
+ */
644
+ onClearTransitionEnd: () => void;
645
+ /**
646
+ * Tools configuration passed to the connector.
647
+ */
648
+ tools: Record<string, Omit<UserClientSideTool, 'layoutComponent'>>;
649
+ } & Pick<AbstractChat<TUiMessage>, 'addToolResult' | 'clearError' | 'error' | 'id' | 'messages' | 'regenerate' | 'resumeStream' | 'sendMessage' | 'status' | 'stop'>;
650
+
651
+ declare type ChatWidgetDescription<TUiMessage extends UIMessage = UIMessage> = {
652
+ $$type: 'ais.chat';
653
+ renderState: ChatRenderState<TUiMessage>;
654
+ indexRenderState: Record<string, unknown>;
655
+ };
656
+
577
657
  declare const clearRefinements: ClearRefinementsWidget;
578
658
 
579
659
  declare type ClearRefinementsConnector = Connector<ClearRefinementsWidgetDescription, ClearRefinementsConnectorParams>;
@@ -741,6 +821,8 @@ declare const connectAutocomplete: AutocompleteConnector;
741
821
 
742
822
  declare const connectBreadcrumb: BreadcrumbConnector;
743
823
 
824
+ declare const connectChat: () => never;
825
+
744
826
  declare const connectClearRefinements: ClearRefinementsConnector;
745
827
 
746
828
  declare const connectConfigure: ConfigureConnector;
@@ -771,6 +853,7 @@ declare const connectHitsWithInsights: <TWidgetParams>(renderFn: Renderer<HitsRe
771
853
  init(initOptions: InitOptions): void;
772
854
  render(renderOptions: RenderOptions): void;
773
855
  getRenderState(renderState: {
856
+ [x: string]: unknown;
774
857
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
775
858
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
776
859
  breadcrumb?: {
@@ -878,6 +961,7 @@ declare const connectInfiniteHitsWithInsights: <TWidgetParams extends UnknownWid
878
961
  init(initOptions: InitOptions): void;
879
962
  render(renderOptions: RenderOptions): void;
880
963
  getRenderState(renderState: {
964
+ [x: string]: unknown;
881
965
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
882
966
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
883
967
  breadcrumb?: {
@@ -1080,7 +1164,7 @@ unmountFn?: Unmounter) => (widgetParams: TConnectorParams & TWidgetParams) => Wi
1080
1164
  widgetParams: typeof widgetParams;
1081
1165
  }>;
1082
1166
 
1083
- declare type ConnectorRenderStates = AnswersWidgetDescription['indexRenderState'] & AutocompleteWidgetDescription['indexRenderState'] & BreadcrumbWidgetDescription['indexRenderState'] & ClearRefinementsWidgetDescription['indexRenderState'] & ConfigureWidgetDescription['indexRenderState'] & CurrentRefinementsWidgetDescription['indexRenderState'] & GeoSearchWidgetDescription['indexRenderState'] & HierarchicalMenuWidgetDescription['indexRenderState'] & HitsWidgetDescription['indexRenderState'] & HitsPerPageWidgetDescription['indexRenderState'] & InfiniteHitsWidgetDescription['indexRenderState'] & MenuWidgetDescription['indexRenderState'] & NumericMenuWidgetDescription['indexRenderState'] & PaginationWidgetDescription['indexRenderState'] & PoweredByWidgetDescription['indexRenderState'] & QueryRulesWidgetDescription['indexRenderState'] & RangeWidgetDescription['indexRenderState'] & RatingMenuWidgetDescription['indexRenderState'] & RefinementListWidgetDescription['indexRenderState'] & RelevantSortWidgetDescription['indexRenderState'] & SearchBoxWidgetDescription['indexRenderState'] & SortByWidgetDescription['indexRenderState'] & StatsWidgetDescription['indexRenderState'] & ToggleRefinementWidgetDescription['indexRenderState'] & VoiceSearchWidgetDescription['indexRenderState'];
1167
+ declare type ConnectorRenderStates = AnswersWidgetDescription['indexRenderState'] & AutocompleteWidgetDescription['indexRenderState'] & BreadcrumbWidgetDescription['indexRenderState'] & ChatWidgetDescription['indexRenderState'] & ClearRefinementsWidgetDescription['indexRenderState'] & ConfigureWidgetDescription['indexRenderState'] & CurrentRefinementsWidgetDescription['indexRenderState'] & GeoSearchWidgetDescription['indexRenderState'] & HierarchicalMenuWidgetDescription['indexRenderState'] & HitsWidgetDescription['indexRenderState'] & HitsPerPageWidgetDescription['indexRenderState'] & InfiniteHitsWidgetDescription['indexRenderState'] & MenuWidgetDescription['indexRenderState'] & NumericMenuWidgetDescription['indexRenderState'] & PaginationWidgetDescription['indexRenderState'] & PoweredByWidgetDescription['indexRenderState'] & QueryRulesWidgetDescription['indexRenderState'] & RangeWidgetDescription['indexRenderState'] & RatingMenuWidgetDescription['indexRenderState'] & RefinementListWidgetDescription['indexRenderState'] & RelevantSortWidgetDescription['indexRenderState'] & SearchBoxWidgetDescription['indexRenderState'] & SortByWidgetDescription['indexRenderState'] & StatsWidgetDescription['indexRenderState'] & ToggleRefinementWidgetDescription['indexRenderState'] & VoiceSearchWidgetDescription['indexRenderState'];
1084
1168
 
1085
1169
  declare namespace connectors {
1086
1170
  export {
@@ -1117,7 +1201,8 @@ declare namespace connectors {
1117
1201
  connectVoiceSearch,
1118
1202
  connectRelevantSort,
1119
1203
  _default_6 as connectFrequentlyBoughtTogether,
1120
- _default_7 as connectLookingSimilar
1204
+ _default_7 as connectLookingSimilar,
1205
+ connectChat
1121
1206
  }
1122
1207
  }
1123
1208
 
@@ -1203,8 +1288,15 @@ declare type CreateCarouselTemplateProps<TObject extends Record<string, unknown>
1203
1288
  templates?: Partial<{
1204
1289
  previous: Exclude<Template_2, string>;
1205
1290
  next: Exclude<Template_2, string>;
1291
+ header: Exclude<Template_2<{
1292
+ canScrollLeft: boolean;
1293
+ canScrollRight: boolean;
1294
+ scrollLeft: () => void;
1295
+ scrollRight: () => void;
1296
+ }>, string>;
1206
1297
  }>;
1207
1298
  cssClasses?: Partial<CarouselProps<TObject>['classNames']>;
1299
+ showNavigation?: boolean;
1208
1300
  };
1209
1301
 
1210
1302
  declare function createInfiniteHitsSessionStorageCache({ key, }?: {
@@ -1423,6 +1515,7 @@ declare const _default: <TWidgetParams>(renderFn: Renderer<HitsRenderState, TWid
1423
1515
  init(initOptions: InitOptions): void;
1424
1516
  render(renderOptions: RenderOptions): void;
1425
1517
  getRenderState(renderState: {
1518
+ [x: string]: unknown;
1426
1519
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
1427
1520
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
1428
1521
  breadcrumb?: {
@@ -1531,6 +1624,7 @@ declare const _default_10: <THit extends NonNullable<object> = BaseHit>(widgetPa
1531
1624
  init(initOptions: InitOptions): void;
1532
1625
  render(renderOptions: RenderOptions): void;
1533
1626
  getRenderState(renderState: {
1627
+ [x: string]: unknown;
1534
1628
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
1535
1629
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
1536
1630
  breadcrumb?: {
@@ -1713,6 +1807,7 @@ declare const _default_12: <THit extends NonNullable<object> = BaseHit>(widgetPa
1713
1807
  init(initOptions: InitOptions): void;
1714
1808
  render(renderOptions: RenderOptions): void;
1715
1809
  getRenderState(renderState: {
1810
+ [x: string]: unknown;
1716
1811
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
1717
1812
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
1718
1813
  breadcrumb?: {
@@ -1757,6 +1852,7 @@ declare const _default_12: <THit extends NonNullable<object> = BaseHit>(widgetPa
1757
1852
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
1758
1853
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
1759
1854
  }): {
1855
+ [x: string]: unknown;
1760
1856
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
1761
1857
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
1762
1858
  breadcrumb?: {
@@ -1815,7 +1911,7 @@ declare const _default_12: <THit extends NonNullable<object> = BaseHit>(widgetPa
1815
1911
  breadcrumb: {
1816
1912
  [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
1817
1913
  };
1818
- } & {
1914
+ } & Record<string, unknown> & {
1819
1915
  clearRefinements: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams>;
1820
1916
  } & {
1821
1917
  configure: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams>;
@@ -1903,6 +1999,7 @@ declare const _default_13: <THit extends NonNullable<object> = BaseHit>(widgetPa
1903
1999
  init(initOptions: InitOptions): void;
1904
2000
  render(renderOptions: RenderOptions): void;
1905
2001
  getRenderState(renderState: {
2002
+ [x: string]: unknown;
1906
2003
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
1907
2004
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
1908
2005
  breadcrumb?: {
@@ -1947,6 +2044,7 @@ declare const _default_13: <THit extends NonNullable<object> = BaseHit>(widgetPa
1947
2044
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
1948
2045
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
1949
2046
  }): {
2047
+ [x: string]: unknown;
1950
2048
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
1951
2049
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
1952
2050
  breadcrumb?: {
@@ -2005,7 +2103,7 @@ declare const _default_13: <THit extends NonNullable<object> = BaseHit>(widgetPa
2005
2103
  breadcrumb: {
2006
2104
  [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2007
2105
  };
2008
- } & {
2106
+ } & Record<string, unknown> & {
2009
2107
  clearRefinements: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams>;
2010
2108
  } & {
2011
2109
  configure: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams>;
@@ -2093,6 +2191,7 @@ declare const _default_14: <THit extends NonNullable<object> = BaseHit>(widgetPa
2093
2191
  init(initOptions: InitOptions): void;
2094
2192
  render(renderOptions: RenderOptions): void;
2095
2193
  getRenderState(renderState: {
2194
+ [x: string]: unknown;
2096
2195
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2097
2196
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2098
2197
  breadcrumb?: {
@@ -2137,6 +2236,7 @@ declare const _default_14: <THit extends NonNullable<object> = BaseHit>(widgetPa
2137
2236
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2138
2237
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2139
2238
  }): {
2239
+ [x: string]: unknown;
2140
2240
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2141
2241
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2142
2242
  breadcrumb?: {
@@ -2195,7 +2295,7 @@ declare const _default_14: <THit extends NonNullable<object> = BaseHit>(widgetPa
2195
2295
  breadcrumb: {
2196
2296
  [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2197
2297
  };
2198
- } & {
2298
+ } & Record<string, unknown> & {
2199
2299
  clearRefinements: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams>;
2200
2300
  } & {
2201
2301
  configure: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams>;
@@ -2283,6 +2383,7 @@ declare const _default_15: <THit extends NonNullable<object> = BaseHit>(widgetPa
2283
2383
  init(initOptions: InitOptions): void;
2284
2384
  render(renderOptions: RenderOptions): void;
2285
2385
  getRenderState(renderState: {
2386
+ [x: string]: unknown;
2286
2387
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2287
2388
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2288
2389
  breadcrumb?: {
@@ -2327,6 +2428,7 @@ declare const _default_15: <THit extends NonNullable<object> = BaseHit>(widgetPa
2327
2428
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2328
2429
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2329
2430
  }): {
2431
+ [x: string]: unknown;
2330
2432
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2331
2433
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2332
2434
  breadcrumb?: {
@@ -2385,7 +2487,7 @@ declare const _default_15: <THit extends NonNullable<object> = BaseHit>(widgetPa
2385
2487
  breadcrumb: {
2386
2488
  [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2387
2489
  };
2388
- } & {
2490
+ } & Record<string, unknown> & {
2389
2491
  clearRefinements: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams>;
2390
2492
  } & {
2391
2493
  configure: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams>;
@@ -2471,6 +2573,7 @@ declare const _default_2: <TWidgetParams extends UnknownWidgetParams>(renderFn:
2471
2573
  init(initOptions: InitOptions): void;
2472
2574
  render(renderOptions: RenderOptions): void;
2473
2575
  getRenderState(renderState: {
2576
+ [x: string]: unknown;
2474
2577
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2475
2578
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2476
2579
  breadcrumb?: {
@@ -2650,6 +2753,7 @@ declare const _default_3: <TWidgetParams extends UnknownWidgetParams>(renderFn:
2650
2753
  init(initOptions: InitOptions): void;
2651
2754
  render(renderOptions: RenderOptions): void;
2652
2755
  getRenderState(renderState: {
2756
+ [x: string]: unknown;
2653
2757
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2654
2758
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2655
2759
  breadcrumb?: {
@@ -2694,6 +2798,7 @@ declare const _default_3: <TWidgetParams extends UnknownWidgetParams>(renderFn:
2694
2798
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2695
2799
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2696
2800
  }): {
2801
+ [x: string]: unknown;
2697
2802
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2698
2803
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2699
2804
  breadcrumb?: {
@@ -2769,6 +2874,7 @@ declare const _default_4: <TWidgetParams extends UnknownWidgetParams>(renderFn:
2769
2874
  init(initOptions: InitOptions): void;
2770
2875
  render(renderOptions: RenderOptions): void;
2771
2876
  getRenderState(renderState: {
2877
+ [x: string]: unknown;
2772
2878
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2773
2879
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2774
2880
  breadcrumb?: {
@@ -2813,6 +2919,7 @@ declare const _default_4: <TWidgetParams extends UnknownWidgetParams>(renderFn:
2813
2919
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2814
2920
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2815
2921
  }): {
2922
+ [x: string]: unknown;
2816
2923
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2817
2924
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2818
2925
  breadcrumb?: {
@@ -2922,6 +3029,7 @@ declare const _default_5: <TWidgetParams extends UnknownWidgetParams>(renderFn:
2922
3029
  widgetParams: TWidgetParams & GeoSearchConnectorParams<THit>;
2923
3030
  };
2924
3031
  getRenderState(renderState: {
3032
+ [x: string]: unknown;
2925
3033
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2926
3034
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2927
3035
  breadcrumb?: {
@@ -3108,6 +3216,7 @@ declare const _default_6: <TWidgetParams extends UnknownWidgetParams>(renderFn:
3108
3216
  init(initOptions: InitOptions): void;
3109
3217
  render(renderOptions: RenderOptions): void;
3110
3218
  getRenderState(renderState: {
3219
+ [x: string]: unknown;
3111
3220
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
3112
3221
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
3113
3222
  breadcrumb?: {
@@ -3152,6 +3261,7 @@ declare const _default_6: <TWidgetParams extends UnknownWidgetParams>(renderFn:
3152
3261
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
3153
3262
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
3154
3263
  }): {
3264
+ [x: string]: unknown;
3155
3265
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
3156
3266
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
3157
3267
  breadcrumb?: {
@@ -3227,6 +3337,7 @@ declare const _default_7: <TWidgetParams extends UnknownWidgetParams>(renderFn:
3227
3337
  init(initOptions: InitOptions): void;
3228
3338
  render(renderOptions: RenderOptions): void;
3229
3339
  getRenderState(renderState: {
3340
+ [x: string]: unknown;
3230
3341
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
3231
3342
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
3232
3343
  breadcrumb?: {
@@ -3271,6 +3382,7 @@ declare const _default_7: <TWidgetParams extends UnknownWidgetParams>(renderFn:
3271
3382
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
3272
3383
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
3273
3384
  }): {
3385
+ [x: string]: unknown;
3274
3386
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
3275
3387
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
3276
3388
  breadcrumb?: {
@@ -3434,6 +3546,7 @@ declare const _default_8: <THit extends GeoHit = GeoHit>(widgetParams: GeoSearch
3434
3546
  } & GeoSearchConnectorParams<THit>;
3435
3547
  };
3436
3548
  getRenderState(renderState: {
3549
+ [x: string]: unknown;
3437
3550
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
3438
3551
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
3439
3552
  breadcrumb?: {
@@ -3599,6 +3712,7 @@ declare const _default_9: <THit extends NonNullable<object> = BaseHit>(widgetPar
3599
3712
  init(initOptions: InitOptions): void;
3600
3713
  render(renderOptions: RenderOptions): void;
3601
3714
  getRenderState(renderState: {
3715
+ [x: string]: unknown;
3602
3716
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
3603
3717
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
3604
3718
  breadcrumb?: {
@@ -3803,6 +3917,10 @@ declare type Expand<T> = T extends infer O ? {
3803
3917
  /** @deprecated answers is no longer supported */
3804
3918
  declare const EXPERIMENTAL_answers: AnswersWidget;
3805
3919
 
3920
+ declare function EXPERIMENTAL_autocomplete<TItem extends BaseHit = BaseHit>(widgetParams: AutocompleteWidgetParams<TItem> & AutocompleteConnectorParams): (IndexWidget<UiState> | Widget<SearchBoxWidgetDescription & {
3921
+ widgetParams: SearchBoxConnectorParams & object;
3922
+ }>)[];
3923
+
3806
3924
  /** @deprecated use relatedItems instead */
3807
3925
  declare const EXPERIMENTAL_configureRelatedItems: ConfigureRelatedItemsWidget;
3808
3926
 
@@ -3829,6 +3947,10 @@ declare type FrequentlyBoughtTogetherConnectorParams<THit extends NonNullable<ob
3829
3947
  * Threshold for the recommendations confidence score (between 0 and 100). Only recommendations with a greater score are returned.
3830
3948
  */
3831
3949
  threshold?: number;
3950
+ /**
3951
+ * List of search parameters to send.
3952
+ */
3953
+ fallbackParameters?: Omit<PlainSearchParameters, 'page' | 'hitsPerPage' | 'offset' | 'length'>;
3832
3954
  /**
3833
3955
  * The maximum number of recommendations to return.
3834
3956
  */
@@ -4731,6 +4853,25 @@ declare type HTMLMarkerArguments = {
4731
4853
 
4732
4854
  declare const index: (widgetParams: IndexWidgetParams) => IndexWidget;
4733
4855
 
4856
+ declare type IndexConfig<TItem extends BaseHit> = AutocompleteIndexConfig<TItem> & {
4857
+ templates?: Partial<{
4858
+ /**
4859
+ * Template to use for the header, before the list of items.
4860
+ */
4861
+ header: Template<{
4862
+ items: TItem[];
4863
+ }>;
4864
+ /**
4865
+ * Template to use for each result. This template will receive an object containing a single record.
4866
+ */
4867
+ item: Template<{
4868
+ item: TItem;
4869
+ onSelect: () => void;
4870
+ }>;
4871
+ }>;
4872
+ cssClasses?: Partial<AutocompleteIndexClassNames>;
4873
+ };
4874
+
4734
4875
  declare type IndexInitOptions = {
4735
4876
  instantSearchInstance: InstantSearch;
4736
4877
  parent: IndexWidget | null;
@@ -4758,7 +4899,7 @@ declare type IndexWidget<TUiState extends UiState = UiState> = Omit<Widget<Index
4758
4899
  getParent: () => IndexWidget | null;
4759
4900
  getWidgets: () => Array<Widget | IndexWidget>;
4760
4901
  createURL: (nextState: SearchParameters | ((state: IndexUiState) => IndexUiState)) => string;
4761
- addWidgets: (widgets: Array<Widget | IndexWidget | Widget[]>) => IndexWidget;
4902
+ addWidgets: (widgets: Array<Widget | IndexWidget | Array<IndexWidget | Widget>>) => IndexWidget;
4762
4903
  removeWidgets: (widgets: Array<Widget | IndexWidget | Widget[]>) => IndexWidget;
4763
4904
  init: (options: IndexInitOptions) => void;
4764
4905
  render: (options: IndexRenderOptions) => void;
@@ -5169,7 +5310,7 @@ declare class InstantSearch<TUiState extends UiState = UiState, TRouteState = TU
5169
5310
  * Widgets can be added either before or after InstantSearch has started.
5170
5311
  * @param widgets The array of widgets to add to InstantSearch.
5171
5312
  */
5172
- addWidgets(widgets: Array<Widget | IndexWidget | Widget[]>): this;
5313
+ addWidgets(widgets: Array<Widget | IndexWidget | Array<IndexWidget | Widget>>): this;
5173
5314
  /**
5174
5315
  * Removes a widget from the search instance.
5175
5316
  * @deprecated This method will still be supported in 4.x releases, but not further. It is replaced by `removeWidgets([widget])`
@@ -6239,6 +6380,14 @@ declare type ParamTrackedFilters = {
6239
6380
 
6240
6381
  declare type ParamTransformRuleContexts = (ruleContexts: string[]) => string[];
6241
6382
 
6383
+ declare type Parent = {
6384
+ /**
6385
+ * This gets dynamically added by the `index` widget.
6386
+ * If the widget has gone through `addWidget`, it will have a parent.
6387
+ */
6388
+ parent?: IndexWidget;
6389
+ };
6390
+
6242
6391
  declare type ParseURL<TRouteState> = (args: {
6243
6392
  qsModule: typeof qs_2;
6244
6393
  location: Location;
@@ -8160,9 +8309,9 @@ declare type Status = 'initial' | 'askingPermission' | 'waiting' | 'recognizing'
8160
8309
 
8161
8310
  declare type Template<TTemplateData = void> = string | ((data: TTemplateData, params: TemplateParams) => VNode | VNode[] | string | null);
8162
8311
 
8163
- declare type Template_2 = (params: {
8312
+ declare type Template_2<TData = Record<string, unknown>> = (params: {
8164
8313
  html: typeof html;
8165
- }) => VNode_2 | VNode_2[] | null;
8314
+ } & TData) => VNode_2 | VNode_2[] | null;
8166
8315
 
8167
8316
  declare type TemplateParams = {
8168
8317
  html: typeof html;
@@ -8176,7 +8325,7 @@ declare type TemplateParams = {
8176
8325
  };
8177
8326
 
8178
8327
  declare type Templates = {
8179
- [key: string]: Template<any> | TemplateWithBindEvent<any> | undefined;
8328
+ [key: string]: Template<any> | TemplateWithBindEvent<any> | Templates | undefined;
8180
8329
  };
8181
8330
 
8182
8331
  declare namespace templates {
@@ -8571,7 +8720,7 @@ declare type VoiceSearchWidgetParams = {
8571
8720
 
8572
8721
  declare type Widget<TWidgetDescription extends WidgetDescription & WidgetParams = {
8573
8722
  $$type: string;
8574
- }> = Expand<RequiredWidgetLifeCycle<TWidgetDescription> & WidgetType<TWidgetDescription> & UiStateLifeCycle<TWidgetDescription> & RenderStateLifeCycle<TWidgetDescription>> & (SearchWidget<TWidgetDescription> | RecommendWidget<TWidgetDescription>);
8723
+ }> = Expand<Parent & RequiredWidgetLifeCycle<TWidgetDescription> & WidgetType<TWidgetDescription> & UiStateLifeCycle<TWidgetDescription> & RenderStateLifeCycle<TWidgetDescription>> & (SearchWidget<TWidgetDescription> | RecommendWidget<TWidgetDescription>);
8575
8724
 
8576
8725
  declare type WidgetDescription = {
8577
8726
  $$type: string;
@@ -8609,6 +8758,7 @@ declare namespace widgets {
8609
8758
  EXPERIMENTAL_dynamicWidgets,
8610
8759
  dynamicWidgets,
8611
8760
  analytics,
8761
+ EXPERIMENTAL_autocomplete,
8612
8762
  breadcrumb,
8613
8763
  clearRefinements,
8614
8764
  configure,
@@ -8642,7 +8792,8 @@ declare namespace widgets {
8642
8792
  _default_13 as trendingItems,
8643
8793
  voiceSearch,
8644
8794
  _default_14 as frequentlyBoughtTogether,
8645
- _default_15 as lookingSimilar
8795
+ _default_15 as lookingSimilar,
8796
+ chat
8646
8797
  }
8647
8798
  }
8648
8799