instantsearch.js 4.51.0 → 4.52.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 (221) hide show
  1. package/cjs/components/Answers/Answers.js +7 -3
  2. package/cjs/components/Breadcrumb/Breadcrumb.js +1 -1
  3. package/cjs/components/ClearRefinements/ClearRefinements.js +1 -1
  4. package/cjs/components/CurrentRefinements/CurrentRefinements.js +1 -1
  5. package/cjs/components/GeoSearchControls/GeoSearchControls.js +1 -1
  6. package/cjs/components/Hits/Hits.js +6 -2
  7. package/cjs/components/InfiniteHits/InfiniteHits.js +7 -3
  8. package/cjs/components/MenuSelect/MenuSelect.js +1 -1
  9. package/cjs/components/Pagination/Pagination.js +1 -1
  10. package/cjs/components/Panel/Panel.js +1 -1
  11. package/cjs/components/RangeInput/RangeInput.js +1 -1
  12. package/cjs/components/RefinementList/RefinementList.js +2 -2
  13. package/cjs/components/Selector/Selector.js +1 -1
  14. package/cjs/components/Slider/Pit.js +1 -1
  15. package/cjs/components/Slider/Slider.js +2 -2
  16. package/cjs/components/Stats/Stats.js +1 -1
  17. package/cjs/components/Template/Template.js +1 -1
  18. package/cjs/connectors/breadcrumb/connectBreadcrumb.js +2 -2
  19. package/cjs/connectors/index.js +4 -3
  20. package/cjs/helpers/reverseHighlight.js +1 -1
  21. package/cjs/helpers/reverseSnippet.js +1 -1
  22. package/cjs/index.js +7 -7
  23. package/cjs/lib/InstantSearch.js +7 -5
  24. package/cjs/lib/insights/listener.js +1 -1
  25. package/cjs/lib/routers/history.js +5 -0
  26. package/cjs/lib/utils/createSendEventForHits.js +1 -5
  27. package/cjs/lib/utils/getRefinements.js +1 -1
  28. package/cjs/lib/utils/index.js +11 -0
  29. package/cjs/lib/utils/omit.js +25 -0
  30. package/cjs/lib/utils/setIndexHelperState.js +1 -1
  31. package/cjs/lib/version.js +1 -1
  32. package/cjs/middlewares/createRouterMiddleware.js +5 -2
  33. package/cjs/widgets/answers/answers.js +5 -5
  34. package/cjs/widgets/breadcrumb/breadcrumb.js +4 -4
  35. package/cjs/widgets/clear-refinements/clear-refinements.js +4 -4
  36. package/cjs/widgets/configure-related-items/configure-related-items.js +1 -1
  37. package/cjs/widgets/current-refinements/current-refinements.js +2 -2
  38. package/cjs/widgets/geo-search/GeoSearchRenderer.js +1 -1
  39. package/cjs/widgets/geo-search/geo-search.js +5 -5
  40. package/cjs/widgets/hierarchical-menu/defaultTemplates.js +1 -1
  41. package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +4 -4
  42. package/cjs/widgets/hits/defaultTemplates.js +2 -1
  43. package/cjs/widgets/hits/hits.js +6 -6
  44. package/cjs/widgets/hits-per-page/hits-per-page.js +2 -2
  45. package/cjs/widgets/index/index.js +11 -3
  46. package/cjs/widgets/index.js +4 -3
  47. package/cjs/widgets/infinite-hits/defaultTemplates.js +2 -1
  48. package/cjs/widgets/infinite-hits/infinite-hits.js +4 -4
  49. package/cjs/widgets/menu/defaultTemplates.js +1 -1
  50. package/cjs/widgets/menu/menu.js +4 -4
  51. package/cjs/widgets/menu-select/menu-select.js +5 -5
  52. package/cjs/widgets/numeric-menu/numeric-menu.js +3 -3
  53. package/cjs/widgets/pagination/pagination.js +2 -2
  54. package/cjs/widgets/panel/panel.js +3 -3
  55. package/cjs/widgets/powered-by/powered-by.js +2 -2
  56. package/cjs/widgets/query-rule-context/query-rule-context.js +1 -1
  57. package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +4 -4
  58. package/cjs/widgets/range-input/range-input.js +3 -3
  59. package/cjs/widgets/range-slider/range-slider.js +2 -2
  60. package/cjs/widgets/rating-menu/defaultTemplates.js +1 -1
  61. package/cjs/widgets/rating-menu/rating-menu.js +4 -4
  62. package/cjs/widgets/refinement-list/defaultTemplates.js +1 -1
  63. package/cjs/widgets/refinement-list/refinement-list.js +3 -3
  64. package/cjs/widgets/relevant-sort/relevant-sort.js +4 -4
  65. package/cjs/widgets/search-box/search-box.js +4 -4
  66. package/cjs/widgets/sort-by/sort-by.js +2 -2
  67. package/cjs/widgets/stats/stats.js +4 -4
  68. package/cjs/widgets/toggle-refinement/toggle-refinement.js +4 -4
  69. package/cjs/widgets/voice-search/voice-search.js +4 -4
  70. package/dist/instantsearch.development.d.ts +27 -9
  71. package/dist/instantsearch.development.js +13646 -13611
  72. package/dist/instantsearch.development.js.map +1 -1
  73. package/dist/instantsearch.production.d.ts +27 -9
  74. package/dist/instantsearch.production.min.d.ts +27 -9
  75. package/dist/instantsearch.production.min.js +2 -2
  76. package/dist/instantsearch.production.min.js.map +1 -1
  77. package/es/components/Answers/Answers.d.ts +1 -1
  78. package/es/components/Answers/Answers.js +7 -3
  79. package/es/components/Breadcrumb/Breadcrumb.d.ts +3 -3
  80. package/es/components/Breadcrumb/Breadcrumb.js +1 -1
  81. package/es/components/ClearRefinements/ClearRefinements.d.ts +2 -2
  82. package/es/components/ClearRefinements/ClearRefinements.js +1 -1
  83. package/es/components/CurrentRefinements/CurrentRefinements.d.ts +1 -1
  84. package/es/components/CurrentRefinements/CurrentRefinements.js +1 -1
  85. package/es/components/GeoSearchControls/GeoSearchButton.d.ts +1 -1
  86. package/es/components/GeoSearchControls/GeoSearchControls.d.ts +2 -2
  87. package/es/components/GeoSearchControls/GeoSearchControls.js +1 -1
  88. package/es/components/GeoSearchControls/GeoSearchToggle.d.ts +1 -1
  89. package/es/components/Hits/Hits.d.ts +2 -2
  90. package/es/components/Hits/Hits.js +6 -2
  91. package/es/components/InfiniteHits/InfiniteHits.d.ts +2 -2
  92. package/es/components/InfiniteHits/InfiniteHits.js +7 -3
  93. package/es/components/MenuSelect/MenuSelect.d.ts +1 -1
  94. package/es/components/MenuSelect/MenuSelect.js +1 -1
  95. package/es/components/Pagination/Pagination.d.ts +1 -1
  96. package/es/components/Pagination/Pagination.js +1 -1
  97. package/es/components/Panel/Panel.d.ts +1 -1
  98. package/es/components/Panel/Panel.js +1 -1
  99. package/es/components/RangeInput/RangeInput.d.ts +1 -1
  100. package/es/components/RangeInput/RangeInput.js +1 -1
  101. package/es/components/RefinementList/RefinementList.d.ts +7 -7
  102. package/es/components/RefinementList/RefinementList.js +2 -2
  103. package/es/components/RefinementList/RefinementListItem.d.ts +2 -1
  104. package/es/components/RelevantSort/RelevantSort.d.ts +1 -1
  105. package/es/components/SearchBox/SearchBox.d.ts +1 -1
  106. package/es/components/Selector/Selector.js +1 -1
  107. package/es/components/Slider/Pit.js +1 -1
  108. package/es/components/Slider/Rheostat.d.ts +3 -3
  109. package/es/components/Slider/Slider.d.ts +1 -1
  110. package/es/components/Slider/Slider.js +2 -2
  111. package/es/components/Stats/Stats.d.ts +1 -1
  112. package/es/components/Stats/Stats.js +1 -1
  113. package/es/components/Template/Template.d.ts +4 -4
  114. package/es/components/Template/Template.js +1 -1
  115. package/es/components/VoiceSearch/VoiceSearch.d.ts +1 -1
  116. package/es/connectors/autocomplete/connectAutocomplete.d.ts +1 -1
  117. package/es/connectors/breadcrumb/connectBreadcrumb.js +2 -2
  118. package/es/connectors/configure/connectConfigure.d.ts +1 -1
  119. package/es/connectors/configure/connectConfigure.js +0 -5
  120. package/es/connectors/configure-related-items/connectConfigureRelatedItems.d.ts +1 -1
  121. package/es/connectors/hierarchical-menu/connectHierarchicalMenu.d.ts +1 -1
  122. package/es/connectors/index.d.ts +6 -6
  123. package/es/connectors/index.js +10 -10
  124. package/es/connectors/infinite-hits/connectInfiniteHits.d.ts +2 -2
  125. package/es/connectors/menu/connectMenu.d.ts +1 -1
  126. package/es/connectors/rating-menu/connectRatingMenu.d.ts +1 -1
  127. package/es/connectors/refinement-list/connectRefinementList.d.ts +1 -1
  128. package/es/connectors/voice-search/connectVoiceSearch.d.ts +2 -2
  129. package/es/helpers/components/Highlight.d.ts +1 -1
  130. package/es/helpers/components/ReverseHighlight.d.ts +1 -1
  131. package/es/helpers/components/ReverseSnippet.d.ts +1 -1
  132. package/es/helpers/components/Snippet.d.ts +1 -1
  133. package/es/helpers/reverseHighlight.js +1 -1
  134. package/es/helpers/reverseSnippet.js +1 -1
  135. package/es/index.d.ts +3 -3
  136. package/es/index.js +2 -2
  137. package/es/lib/InstantSearch.d.ts +5 -4
  138. package/es/lib/InstantSearch.js +7 -5
  139. package/es/lib/insights/client.d.ts +1 -1
  140. package/es/lib/insights/listener.d.ts +1 -1
  141. package/es/lib/insights/listener.js +1 -1
  142. package/es/lib/routers/history.d.ts +1 -0
  143. package/es/lib/routers/history.js +5 -0
  144. package/es/lib/templating/renderTemplate.d.ts +1 -1
  145. package/es/lib/utils/checkIndexUiState.d.ts +1 -1
  146. package/es/lib/utils/checkIndexUiState.js +0 -1
  147. package/es/lib/utils/createSendEventForFacet.d.ts +1 -1
  148. package/es/lib/utils/createSendEventForHits.js +1 -5
  149. package/es/lib/utils/getRefinements.js +1 -1
  150. package/es/lib/utils/index.d.ts +1 -0
  151. package/es/lib/utils/index.js +1 -0
  152. package/es/lib/utils/omit.d.ts +7 -0
  153. package/es/lib/utils/omit.js +19 -0
  154. package/es/lib/utils/render-args.d.ts +2 -2
  155. package/es/lib/utils/resolveSearchParameters.d.ts +1 -1
  156. package/es/lib/utils/setIndexHelperState.js +1 -1
  157. package/es/lib/version.d.ts +1 -1
  158. package/es/lib/version.js +1 -1
  159. package/es/middlewares/createRouterMiddleware.js +5 -2
  160. package/es/types/connector.d.ts +2 -2
  161. package/es/types/index.d.ts +1 -0
  162. package/es/types/index.js +4 -1
  163. package/es/types/router.d.ts +4 -0
  164. package/es/types/templates.d.ts +2 -2
  165. package/es/types/widget.d.ts +2 -2
  166. package/es/widgets/analytics/analytics.d.ts +1 -1
  167. package/es/widgets/answers/answers.d.ts +1 -1
  168. package/es/widgets/answers/answers.js +5 -5
  169. package/es/widgets/breadcrumb/breadcrumb.js +4 -4
  170. package/es/widgets/clear-refinements/clear-refinements.js +4 -4
  171. package/es/widgets/configure/configure.js +0 -6
  172. package/es/widgets/configure-related-items/configure-related-items.d.ts +1 -1
  173. package/es/widgets/configure-related-items/configure-related-items.js +1 -1
  174. package/es/widgets/current-refinements/current-refinements.js +2 -2
  175. package/es/widgets/geo-search/GeoSearchRenderer.js +1 -1
  176. package/es/widgets/geo-search/geo-search.d.ts +1 -1
  177. package/es/widgets/geo-search/geo-search.js +5 -5
  178. package/es/widgets/hierarchical-menu/defaultTemplates.js +1 -1
  179. package/es/widgets/hierarchical-menu/hierarchical-menu.js +4 -4
  180. package/es/widgets/hits/defaultTemplates.js +2 -1
  181. package/es/widgets/hits/hits.d.ts +1 -0
  182. package/es/widgets/hits/hits.js +6 -6
  183. package/es/widgets/hits-per-page/hits-per-page.js +2 -2
  184. package/es/widgets/index/index.d.ts +13 -3
  185. package/es/widgets/index/index.js +11 -3
  186. package/es/widgets/index.d.ts +6 -6
  187. package/es/widgets/index.js +9 -7
  188. package/es/widgets/infinite-hits/defaultTemplates.js +2 -1
  189. package/es/widgets/infinite-hits/infinite-hits.d.ts +2 -1
  190. package/es/widgets/infinite-hits/infinite-hits.js +4 -4
  191. package/es/widgets/menu/defaultTemplates.js +1 -1
  192. package/es/widgets/menu/menu.js +4 -4
  193. package/es/widgets/menu-select/menu-select.js +5 -5
  194. package/es/widgets/numeric-menu/numeric-menu.js +3 -3
  195. package/es/widgets/pagination/pagination.js +2 -2
  196. package/es/widgets/panel/panel.js +3 -3
  197. package/es/widgets/places/places.d.ts +1 -1
  198. package/es/widgets/powered-by/powered-by.js +2 -2
  199. package/es/widgets/query-rule-context/query-rule-context.d.ts +1 -1
  200. package/es/widgets/query-rule-context/query-rule-context.js +1 -1
  201. package/es/widgets/query-rule-custom-data/query-rule-custom-data.d.ts +2 -2
  202. package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +4 -4
  203. package/es/widgets/range-input/range-input.js +3 -3
  204. package/es/widgets/range-slider/range-slider.js +2 -2
  205. package/es/widgets/rating-menu/defaultTemplates.js +1 -1
  206. package/es/widgets/rating-menu/rating-menu.js +4 -4
  207. package/es/widgets/refinement-list/defaultTemplates.js +1 -1
  208. package/es/widgets/refinement-list/refinement-list.js +3 -3
  209. package/es/widgets/relevant-sort/relevant-sort.d.ts +1 -1
  210. package/es/widgets/relevant-sort/relevant-sort.js +4 -4
  211. package/es/widgets/search-box/search-box.d.ts +2 -2
  212. package/es/widgets/search-box/search-box.js +4 -4
  213. package/es/widgets/sort-by/sort-by.js +2 -2
  214. package/es/widgets/stats/stats.js +4 -4
  215. package/es/widgets/toggle-refinement/toggle-refinement.js +4 -4
  216. package/es/widgets/voice-search/voice-search.d.ts +2 -2
  217. package/es/widgets/voice-search/voice-search.js +4 -4
  218. package/package.json +5 -5
  219. package/cjs/lib/utils/detect-insights-client.js +0 -17
  220. package/es/lib/utils/detect-insights-client.d.ts +0 -1
  221. package/es/lib/utils/detect-insights-client.js +0 -11
@@ -515,6 +515,7 @@ declare class BrowserHistory<TRouteState> implements Router<TRouteState> {
515
515
  * Removes the event listener and cleans up the URL.
516
516
  */
517
517
  dispose(): void;
518
+ start(): void;
518
519
  private shouldWrite;
519
520
  }
520
521
 
@@ -785,6 +786,9 @@ declare type ConnectorRenderStates = AnswersWidgetDescription['indexRenderState'
785
786
 
786
787
  declare namespace connectors {
787
788
  export {
789
+ EXPERIMENTAL_connectAnswers,
790
+ EXPERIMENTAL_connectDynamicWidgets,
791
+ connectDynamicWidgets,
788
792
  connectClearRefinements,
789
793
  connectCurrentRefinements,
790
794
  connectHierarchicalMenu,
@@ -811,10 +815,7 @@ declare namespace connectors {
811
815
  connectAutocomplete,
812
816
  connectQueryRules,
813
817
  connectVoiceSearch,
814
- EXPERIMENTAL_connectAnswers,
815
- connectRelevantSort,
816
- connectDynamicWidgets,
817
- EXPERIMENTAL_connectDynamicWidgets
818
+ connectRelevantSort
818
819
  }
819
820
  }
820
821
 
@@ -1992,6 +1993,7 @@ declare type HitsTemplates = Partial<{
1992
1993
  * @default ''
1993
1994
  */
1994
1995
  item: TemplateWithBindEvent<Hit & {
1996
+ /** @deprecated the index in the hits array, use __position instead, which is the absolute position */
1995
1997
  __hitIndex: number;
1996
1998
  }>;
1997
1999
  }>;
@@ -2054,7 +2056,7 @@ declare type IndexRenderState = Partial<ConnectorRenderStates & WidgetRenderStat
2054
2056
 
2055
2057
  declare type IndexUiState = Partial<ConnectorUiStates & WidgetUiStates>;
2056
2058
 
2057
- declare type IndexWidget = Omit<Widget<IndexWidgetDescription & {
2059
+ declare type IndexWidget<TUiState extends UiState = UiState> = Omit<Widget<IndexWidgetDescription & {
2058
2060
  widgetParams: IndexWidgetParams;
2059
2061
  }>, 'getWidgetUiState' | 'getWidgetState'> & {
2060
2062
  getIndexName(): string;
@@ -2075,11 +2077,21 @@ declare type IndexWidget = Omit<Widget<IndexWidgetDescription & {
2075
2077
  * @deprecated
2076
2078
  */
2077
2079
  getWidgetState(uiState: UiState): UiState;
2078
- getWidgetUiState<TUiState extends UiState = UiState>(uiState: TUiState): TUiState;
2080
+ getWidgetUiState<TSpecificUiState extends UiState = TUiState>(uiState: TSpecificUiState): TSpecificUiState;
2079
2081
  getWidgetSearchParameters(searchParameters: SearchParameters, searchParametersOptions: {
2080
2082
  uiState: IndexUiState;
2081
2083
  }): SearchParameters;
2084
+ /**
2085
+ * Set this index' UI state back to the state defined by the widgets.
2086
+ * Can only be called after `init`.
2087
+ */
2082
2088
  refreshUiState(): void;
2089
+ /**
2090
+ * Set this index' UI state and search. This is the equivalent of calling
2091
+ * a spread `setUiState` on the InstantSearch instance.
2092
+ * Can only be called after `init`.
2093
+ */
2094
+ setIndexUiState(indexUiState: TUiState[string] | ((previousIndexUiState: TUiState[string]) => TUiState[string])): void;
2083
2095
  };
2084
2096
 
2085
2097
  declare type IndexWidgetDescription = {
@@ -2222,6 +2234,7 @@ declare type InfiniteHitsTemplates = Partial<{
2222
2234
  * The template to use for each result.
2223
2235
  */
2224
2236
  item: TemplateWithBindEvent<Hit & {
2237
+ /** @deprecated the index in the hits array, use __position instead, which is the absolute position */
2225
2238
  __hitIndex: number;
2226
2239
  }>;
2227
2240
  }>;
@@ -2514,6 +2527,7 @@ declare type InstantSearchOptions<TUiState extends UiState = UiState, TRouteStat
2514
2527
  * A hook that will be called each time a search needs to be done, with the
2515
2528
  * helper as a parameter. It's your responsibility to call `helper.search()`.
2516
2529
  * This option allows you to avoid doing searches at page load for example.
2530
+ * @deprecated use onStateChange instead
2517
2531
  */
2518
2532
  searchFunction?: (helper: AlgoliaSearchHelper) => void;
2519
2533
  /**
@@ -4520,6 +4534,10 @@ declare type Router<TRouteState = UiState> = {
4520
4534
  * Called when InstantSearch is disposed. Used to remove subscriptions.
4521
4535
  */
4522
4536
  dispose(): void;
4537
+ /**
4538
+ * Called when InstantSearch is started.
4539
+ */
4540
+ start?: () => void;
4523
4541
  };
4524
4542
 
4525
4543
  declare type RouterProps<TUiState extends UiState = UiState, TRouteState = TUiState> = {
@@ -5393,15 +5411,15 @@ declare type WidgetRenderStates = AnalyticsWidgetDescription['indexRenderState']
5393
5411
 
5394
5412
  declare namespace widgets {
5395
5413
  export {
5414
+ EXPERIMENTAL_answers,
5415
+ EXPERIMENTAL_dynamicWidgets,
5416
+ dynamicWidgets,
5396
5417
  analytics,
5397
5418
  breadcrumb,
5398
5419
  clearRefinements,
5399
5420
  configure,
5400
5421
  currentRefinements,
5401
- EXPERIMENTAL_answers,
5402
5422
  configureRelatedItems as EXPERIMENTAL_configureRelatedItems,
5403
- dynamicWidgets,
5404
- EXPERIMENTAL_dynamicWidgets,
5405
5423
  geoSearch,
5406
5424
  hierarchicalMenu,
5407
5425
  hits,
@@ -515,6 +515,7 @@ declare class BrowserHistory<TRouteState> implements Router<TRouteState> {
515
515
  * Removes the event listener and cleans up the URL.
516
516
  */
517
517
  dispose(): void;
518
+ start(): void;
518
519
  private shouldWrite;
519
520
  }
520
521
 
@@ -785,6 +786,9 @@ declare type ConnectorRenderStates = AnswersWidgetDescription['indexRenderState'
785
786
 
786
787
  declare namespace connectors {
787
788
  export {
789
+ EXPERIMENTAL_connectAnswers,
790
+ EXPERIMENTAL_connectDynamicWidgets,
791
+ connectDynamicWidgets,
788
792
  connectClearRefinements,
789
793
  connectCurrentRefinements,
790
794
  connectHierarchicalMenu,
@@ -811,10 +815,7 @@ declare namespace connectors {
811
815
  connectAutocomplete,
812
816
  connectQueryRules,
813
817
  connectVoiceSearch,
814
- EXPERIMENTAL_connectAnswers,
815
- connectRelevantSort,
816
- connectDynamicWidgets,
817
- EXPERIMENTAL_connectDynamicWidgets
818
+ connectRelevantSort
818
819
  }
819
820
  }
820
821
 
@@ -1992,6 +1993,7 @@ declare type HitsTemplates = Partial<{
1992
1993
  * @default ''
1993
1994
  */
1994
1995
  item: TemplateWithBindEvent<Hit & {
1996
+ /** @deprecated the index in the hits array, use __position instead, which is the absolute position */
1995
1997
  __hitIndex: number;
1996
1998
  }>;
1997
1999
  }>;
@@ -2054,7 +2056,7 @@ declare type IndexRenderState = Partial<ConnectorRenderStates & WidgetRenderStat
2054
2056
 
2055
2057
  declare type IndexUiState = Partial<ConnectorUiStates & WidgetUiStates>;
2056
2058
 
2057
- declare type IndexWidget = Omit<Widget<IndexWidgetDescription & {
2059
+ declare type IndexWidget<TUiState extends UiState = UiState> = Omit<Widget<IndexWidgetDescription & {
2058
2060
  widgetParams: IndexWidgetParams;
2059
2061
  }>, 'getWidgetUiState' | 'getWidgetState'> & {
2060
2062
  getIndexName(): string;
@@ -2075,11 +2077,21 @@ declare type IndexWidget = Omit<Widget<IndexWidgetDescription & {
2075
2077
  * @deprecated
2076
2078
  */
2077
2079
  getWidgetState(uiState: UiState): UiState;
2078
- getWidgetUiState<TUiState extends UiState = UiState>(uiState: TUiState): TUiState;
2080
+ getWidgetUiState<TSpecificUiState extends UiState = TUiState>(uiState: TSpecificUiState): TSpecificUiState;
2079
2081
  getWidgetSearchParameters(searchParameters: SearchParameters, searchParametersOptions: {
2080
2082
  uiState: IndexUiState;
2081
2083
  }): SearchParameters;
2084
+ /**
2085
+ * Set this index' UI state back to the state defined by the widgets.
2086
+ * Can only be called after `init`.
2087
+ */
2082
2088
  refreshUiState(): void;
2089
+ /**
2090
+ * Set this index' UI state and search. This is the equivalent of calling
2091
+ * a spread `setUiState` on the InstantSearch instance.
2092
+ * Can only be called after `init`.
2093
+ */
2094
+ setIndexUiState(indexUiState: TUiState[string] | ((previousIndexUiState: TUiState[string]) => TUiState[string])): void;
2083
2095
  };
2084
2096
 
2085
2097
  declare type IndexWidgetDescription = {
@@ -2222,6 +2234,7 @@ declare type InfiniteHitsTemplates = Partial<{
2222
2234
  * The template to use for each result.
2223
2235
  */
2224
2236
  item: TemplateWithBindEvent<Hit & {
2237
+ /** @deprecated the index in the hits array, use __position instead, which is the absolute position */
2225
2238
  __hitIndex: number;
2226
2239
  }>;
2227
2240
  }>;
@@ -2514,6 +2527,7 @@ declare type InstantSearchOptions<TUiState extends UiState = UiState, TRouteStat
2514
2527
  * A hook that will be called each time a search needs to be done, with the
2515
2528
  * helper as a parameter. It's your responsibility to call `helper.search()`.
2516
2529
  * This option allows you to avoid doing searches at page load for example.
2530
+ * @deprecated use onStateChange instead
2517
2531
  */
2518
2532
  searchFunction?: (helper: AlgoliaSearchHelper) => void;
2519
2533
  /**
@@ -4520,6 +4534,10 @@ declare type Router<TRouteState = UiState> = {
4520
4534
  * Called when InstantSearch is disposed. Used to remove subscriptions.
4521
4535
  */
4522
4536
  dispose(): void;
4537
+ /**
4538
+ * Called when InstantSearch is started.
4539
+ */
4540
+ start?: () => void;
4523
4541
  };
4524
4542
 
4525
4543
  declare type RouterProps<TUiState extends UiState = UiState, TRouteState = TUiState> = {
@@ -5393,15 +5411,15 @@ declare type WidgetRenderStates = AnalyticsWidgetDescription['indexRenderState']
5393
5411
 
5394
5412
  declare namespace widgets {
5395
5413
  export {
5414
+ EXPERIMENTAL_answers,
5415
+ EXPERIMENTAL_dynamicWidgets,
5416
+ dynamicWidgets,
5396
5417
  analytics,
5397
5418
  breadcrumb,
5398
5419
  clearRefinements,
5399
5420
  configure,
5400
5421
  currentRefinements,
5401
- EXPERIMENTAL_answers,
5402
5422
  configureRelatedItems as EXPERIMENTAL_configureRelatedItems,
5403
- dynamicWidgets,
5404
- EXPERIMENTAL_dynamicWidgets,
5405
5423
  geoSearch,
5406
5424
  hierarchicalMenu,
5407
5425
  hits,