instantsearch.js 4.49.1 → 4.49.2

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 (376) hide show
  1. package/README.md +3 -3
  2. package/cjs/components/Answers/Answers.js +6 -16
  3. package/cjs/components/Breadcrumb/Breadcrumb.js +5 -12
  4. package/cjs/components/ClearRefinements/ClearRefinements.js +4 -11
  5. package/cjs/components/CurrentRefinements/CurrentRefinements.js +5 -12
  6. package/cjs/components/GeoSearchControls/GeoSearchButton.js +4 -6
  7. package/cjs/components/GeoSearchControls/GeoSearchControls.js +11 -20
  8. package/cjs/components/GeoSearchControls/GeoSearchToggle.js +4 -6
  9. package/cjs/components/Highlight/Highlight.js +3 -11
  10. package/cjs/components/Hits/Hits.js +8 -20
  11. package/cjs/components/InfiniteHits/InfiniteHits.js +13 -25
  12. package/cjs/components/InternalHighlight/InternalHighlight.js +0 -3
  13. package/cjs/components/MenuSelect/MenuSelect.js +9 -19
  14. package/cjs/components/Pagination/Pagination.js +10 -17
  15. package/cjs/components/Panel/Panel.js +7 -26
  16. package/cjs/components/PoweredBy/PoweredBy.js +4 -5
  17. package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +2 -6
  18. package/cjs/components/RangeInput/RangeInput.js +16 -48
  19. package/cjs/components/RefinementList/RefinementList.js +19 -73
  20. package/cjs/components/RefinementList/RefinementListItem.js +8 -14
  21. package/cjs/components/RelevantSort/RelevantSort.js +4 -8
  22. package/cjs/components/ReverseHighlight/ReverseHighlight.js +3 -11
  23. package/cjs/components/ReverseSnippet/ReverseSnippet.js +3 -11
  24. package/cjs/components/SearchBox/SearchBox.js +25 -69
  25. package/cjs/components/Selector/Selector.js +3 -6
  26. package/cjs/components/Slider/Pit.js +3 -10
  27. package/cjs/components/Slider/Rheostat.js +63 -131
  28. package/cjs/components/Slider/Slider.js +28 -65
  29. package/cjs/components/Snippet/Snippet.js +3 -11
  30. package/cjs/components/Stats/Stats.js +7 -20
  31. package/cjs/components/Template/Template.js +8 -37
  32. package/cjs/components/ToggleRefinement/ToggleRefinement.js +4 -10
  33. package/cjs/components/VoiceSearch/VoiceSearch.js +8 -15
  34. package/cjs/connectors/answers/connectAnswers.js +21 -36
  35. package/cjs/connectors/autocomplete/connectAutocomplete.js +8 -25
  36. package/cjs/connectors/breadcrumb/connectBreadcrumb.js +17 -48
  37. package/cjs/connectors/clear-refinements/connectClearRefinements.js +27 -45
  38. package/cjs/connectors/configure/connectConfigure.js +6 -20
  39. package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +11 -36
  40. package/cjs/connectors/current-refinements/connectCurrentRefinements.js +18 -57
  41. package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +17 -37
  42. package/cjs/connectors/geo-search/connectGeoSearch.js +17 -47
  43. package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +38 -74
  44. package/cjs/connectors/hits/connectHits.js +10 -26
  45. package/cjs/connectors/hits/connectHitsWithInsights.js +0 -4
  46. package/cjs/connectors/hits-per-page/connectHitsPerPage.js +15 -38
  47. package/cjs/connectors/index.js +62 -96
  48. package/cjs/connectors/infinite-hits/connectInfiniteHits.js +26 -62
  49. package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +0 -4
  50. package/cjs/connectors/menu/connectMenu.js +28 -66
  51. package/cjs/connectors/numeric-menu/connectNumericMenu.js +24 -78
  52. package/cjs/connectors/pagination/Paginator.js +3 -20
  53. package/cjs/connectors/pagination/connectPagination.js +8 -25
  54. package/cjs/connectors/powered-by/connectPoweredBy.js +4 -13
  55. package/cjs/connectors/query-rules/connectQueryRules.js +32 -56
  56. package/cjs/connectors/range/connectRange.js +41 -101
  57. package/cjs/connectors/rating-menu/connectRatingMenu.js +23 -79
  58. package/cjs/connectors/refinement-list/connectRefinementList.js +37 -70
  59. package/cjs/connectors/relevant-sort/connectRelevantSort.js +4 -14
  60. package/cjs/connectors/search-box/connectSearchBox.js +7 -23
  61. package/cjs/connectors/sort-by/connectSortBy.js +11 -21
  62. package/cjs/connectors/stats/connectStats.js +4 -11
  63. package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +29 -63
  64. package/cjs/connectors/voice-search/connectVoiceSearch.js +13 -35
  65. package/cjs/helpers/components/Highlight.js +4 -12
  66. package/cjs/helpers/components/ReverseHighlight.js +7 -19
  67. package/cjs/helpers/components/ReverseSnippet.js +7 -19
  68. package/cjs/helpers/components/Snippet.js +4 -12
  69. package/cjs/helpers/components/index.js +0 -8
  70. package/cjs/helpers/get-insights-anonymous-user-token.js +4 -15
  71. package/cjs/helpers/highlight.js +10 -16
  72. package/cjs/helpers/index.js +17 -31
  73. package/cjs/helpers/insights.js +5 -17
  74. package/cjs/helpers/reverseHighlight.js +10 -16
  75. package/cjs/helpers/reverseSnippet.js +10 -16
  76. package/cjs/helpers/snippet.js +10 -16
  77. package/cjs/index.js +3 -18
  78. package/cjs/lib/InstantSearch.js +79 -180
  79. package/cjs/lib/createHelpers.js +4 -11
  80. package/cjs/lib/formatNumber.js +0 -1
  81. package/cjs/lib/infiniteHitsCache/index.js +0 -2
  82. package/cjs/lib/infiniteHitsCache/sessionStorage.js +9 -18
  83. package/cjs/lib/insights/client.js +8 -34
  84. package/cjs/lib/insights/index.js +7 -13
  85. package/cjs/lib/insights/listener.js +4 -20
  86. package/cjs/lib/routers/history.js +63 -102
  87. package/cjs/lib/routers/index.js +0 -2
  88. package/cjs/lib/stateMappings/index.js +0 -3
  89. package/cjs/lib/stateMappings/simple.js +6 -13
  90. package/cjs/lib/stateMappings/singleIndex.js +1 -7
  91. package/cjs/lib/suit.js +2 -5
  92. package/cjs/lib/templating/index.js +0 -4
  93. package/cjs/lib/templating/prepareTemplateProps.js +8 -19
  94. package/cjs/lib/templating/renderTemplate.js +9 -24
  95. package/cjs/lib/utils/capitalize.js +0 -1
  96. package/cjs/lib/utils/checkIndexUiState.js +15 -43
  97. package/cjs/lib/utils/checkRendering.js +0 -2
  98. package/cjs/lib/utils/clearRefinements.js +2 -9
  99. package/cjs/lib/utils/concatHighlightedParts.js +1 -3
  100. package/cjs/lib/utils/createConcurrentSafePromise.js +0 -3
  101. package/cjs/lib/utils/createSendEventForFacet.js +7 -14
  102. package/cjs/lib/utils/createSendEventForHits.js +9 -33
  103. package/cjs/lib/utils/debounce.js +0 -3
  104. package/cjs/lib/utils/defer.js +0 -11
  105. package/cjs/lib/utils/detect-insights-client.js +0 -2
  106. package/cjs/lib/utils/documentation.js +2 -5
  107. package/cjs/lib/utils/escape-highlight.js +5 -22
  108. package/cjs/lib/utils/escape-html.js +9 -7
  109. package/cjs/lib/utils/escapeFacetValue.js +1 -5
  110. package/cjs/lib/utils/find.js +2 -5
  111. package/cjs/lib/utils/findIndex.js +0 -3
  112. package/cjs/lib/utils/geo-search.js +14 -34
  113. package/cjs/lib/utils/getAppIdAndApiKey.js +2 -3
  114. package/cjs/lib/utils/getContainerNode.js +0 -6
  115. package/cjs/lib/utils/getHighlightFromSiblings.js +0 -6
  116. package/cjs/lib/utils/getHighlightedParts.js +1 -4
  117. package/cjs/lib/utils/getObjectType.js +0 -1
  118. package/cjs/lib/utils/getPropertyByPath.js +0 -1
  119. package/cjs/lib/utils/getRefinements.js +13 -26
  120. package/cjs/lib/utils/getWidgetAttribute.js +0 -6
  121. package/cjs/lib/utils/hits-absolute-position.js +2 -6
  122. package/cjs/lib/utils/hits-query-id.js +2 -7
  123. package/cjs/lib/utils/index.js +0 -92
  124. package/cjs/lib/utils/isDomElement.js +0 -1
  125. package/cjs/lib/utils/isEqual.js +0 -8
  126. package/cjs/lib/utils/isFacetRefined.js +0 -1
  127. package/cjs/lib/utils/isFiniteNumber.js +0 -1
  128. package/cjs/lib/utils/isIndexWidget.js +0 -1
  129. package/cjs/lib/utils/isPlainObject.js +3 -11
  130. package/cjs/lib/utils/isSpecialClick.js +0 -1
  131. package/cjs/lib/utils/logger.js +3 -13
  132. package/cjs/lib/utils/mergeSearchParameters.js +16 -40
  133. package/cjs/lib/utils/noop.js +0 -1
  134. package/cjs/lib/utils/range.js +8 -14
  135. package/cjs/lib/utils/render-args.js +0 -2
  136. package/cjs/lib/utils/resolveSearchParameters.js +0 -3
  137. package/cjs/lib/utils/reverseHighlightedParts.js +2 -8
  138. package/cjs/lib/utils/safelyRunOnBrowser.js +7 -9
  139. package/cjs/lib/utils/serializer.js +1 -3
  140. package/cjs/lib/utils/setIndexHelperState.js +0 -5
  141. package/cjs/lib/utils/toArray.js +0 -1
  142. package/cjs/lib/utils/typedObject.js +0 -1
  143. package/cjs/lib/utils/uniq.js +0 -1
  144. package/cjs/lib/version.js +1 -1
  145. package/cjs/lib/voiceSearchHelper/index.js +8 -36
  146. package/cjs/middlewares/createInsightsMiddleware.js +15 -44
  147. package/cjs/middlewares/createMetadataMiddleware.js +4 -12
  148. package/cjs/middlewares/createRouterMiddleware.js +8 -19
  149. package/cjs/middlewares/index.js +0 -6
  150. package/cjs/types/algoliasearch.js +0 -2
  151. package/cjs/types/index.js +0 -28
  152. package/cjs/widgets/analytics/analytics.js +12 -47
  153. package/cjs/widgets/answers/answers.js +19 -39
  154. package/cjs/widgets/breadcrumb/breadcrumb.js +18 -38
  155. package/cjs/widgets/clear-refinements/clear-refinements.js +15 -35
  156. package/cjs/widgets/configure/configure.js +2 -10
  157. package/cjs/widgets/configure-related-items/configure-related-items.js +2 -10
  158. package/cjs/widgets/current-refinements/current-refinements.js +12 -30
  159. package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +6 -25
  160. package/cjs/widgets/geo-search/GeoSearchRenderer.js +41 -68
  161. package/cjs/widgets/geo-search/createHTMLMarker.js +30 -60
  162. package/cjs/widgets/geo-search/defaultTemplates.js +0 -3
  163. package/cjs/widgets/geo-search/geo-search.js +27 -59
  164. package/cjs/widgets/hierarchical-menu/defaultTemplates.js +4 -7
  165. package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +28 -47
  166. package/cjs/widgets/hits/hits.js +16 -37
  167. package/cjs/widgets/hits-per-page/hits-per-page.js +13 -31
  168. package/cjs/widgets/index/index.js +49 -95
  169. package/cjs/widgets/index.js +12 -50
  170. package/cjs/widgets/infinite-hits/infinite-hits.js +23 -44
  171. package/cjs/widgets/menu/defaultTemplates.js +3 -6
  172. package/cjs/widgets/menu/menu.js +23 -43
  173. package/cjs/widgets/menu-select/defaultTemplates.js +1 -3
  174. package/cjs/widgets/menu-select/menu-select.js +18 -38
  175. package/cjs/widgets/numeric-menu/defaultTemplates.js +3 -4
  176. package/cjs/widgets/numeric-menu/numeric-menu.js +17 -37
  177. package/cjs/widgets/pagination/pagination.js +32 -53
  178. package/cjs/widgets/panel/panel.js +20 -48
  179. package/cjs/widgets/places/places.js +16 -33
  180. package/cjs/widgets/powered-by/powered-by.js +10 -27
  181. package/cjs/widgets/query-rule-context/query-rule-context.js +2 -13
  182. package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +14 -32
  183. package/cjs/widgets/range-input/range-input.js +23 -50
  184. package/cjs/widgets/range-slider/range-slider.js +28 -53
  185. package/cjs/widgets/rating-menu/defaultTemplates.js +8 -14
  186. package/cjs/widgets/rating-menu/rating-menu.js +17 -38
  187. package/cjs/widgets/refinement-list/defaultTemplates.js +5 -8
  188. package/cjs/widgets/refinement-list/refinement-list.js +39 -60
  189. package/cjs/widgets/relevant-sort/relevant-sort.js +10 -29
  190. package/cjs/widgets/search-box/defaultTemplates.js +0 -5
  191. package/cjs/widgets/search-box/search-box.js +31 -49
  192. package/cjs/widgets/sort-by/sort-by.js +11 -29
  193. package/cjs/widgets/stats/defaultTemplates.js +0 -1
  194. package/cjs/widgets/stats/stats.js +27 -57
  195. package/cjs/widgets/toggle-refinement/toggle-refinement.js +16 -36
  196. package/cjs/widgets/voice-search/defaultTemplates.js +4 -14
  197. package/cjs/widgets/voice-search/voice-search.js +17 -36
  198. package/dist/instantsearch.development.d.ts +8 -6
  199. package/dist/instantsearch.development.js +1722 -3088
  200. package/dist/instantsearch.development.js.map +1 -1
  201. package/dist/instantsearch.production.d.ts +8 -6
  202. package/dist/instantsearch.production.min.d.ts +8 -6
  203. package/dist/instantsearch.production.min.js +2 -2
  204. package/dist/instantsearch.production.min.js.map +1 -1
  205. package/es/components/Answers/Answers.js +6 -11
  206. package/es/components/Breadcrumb/Breadcrumb.js +5 -7
  207. package/es/components/ClearRefinements/ClearRefinements.js +4 -6
  208. package/es/components/CurrentRefinements/CurrentRefinements.js +7 -10
  209. package/es/components/GeoSearchControls/GeoSearchButton.js +6 -6
  210. package/es/components/GeoSearchControls/GeoSearchControls.js +11 -13
  211. package/es/components/GeoSearchControls/GeoSearchToggle.js +6 -6
  212. package/es/components/Highlight/Highlight.js +3 -7
  213. package/es/components/Hits/Hits.js +8 -15
  214. package/es/components/InfiniteHits/InfiniteHits.js +13 -20
  215. package/es/components/MenuSelect/MenuSelect.js +9 -13
  216. package/es/components/Pagination/Pagination.js +12 -15
  217. package/es/components/Panel/Panel.js +7 -20
  218. package/es/components/PoweredBy/PoweredBy.js +6 -5
  219. package/es/components/QueryRuleCustomData/QueryRuleCustomData.js +4 -4
  220. package/es/components/RangeInput/RangeInput.js +16 -43
  221. package/es/components/RefinementList/RefinementList.js +19 -64
  222. package/es/components/RefinementList/RefinementListItem.js +8 -10
  223. package/es/components/RelevantSort/RelevantSort.js +6 -6
  224. package/es/components/ReverseHighlight/ReverseHighlight.js +3 -7
  225. package/es/components/ReverseSnippet/ReverseSnippet.js +3 -7
  226. package/es/components/SearchBox/SearchBox.js +25 -63
  227. package/es/components/Selector/Selector.js +5 -5
  228. package/es/components/Slider/Pit.js +3 -7
  229. package/es/components/Slider/Rheostat.js +64 -129
  230. package/es/components/Slider/Slider.js +28 -58
  231. package/es/components/Snippet/Snippet.js +3 -7
  232. package/es/components/Stats/Stats.js +7 -15
  233. package/es/components/Template/Template.js +8 -32
  234. package/es/components/ToggleRefinement/ToggleRefinement.js +4 -6
  235. package/es/components/VoiceSearch/VoiceSearch.js +10 -13
  236. package/es/connectors/answers/connectAnswers.js +21 -35
  237. package/es/connectors/autocomplete/connectAutocomplete.js +8 -23
  238. package/es/connectors/breadcrumb/connectBreadcrumb.js +17 -46
  239. package/es/connectors/clear-refinements/connectClearRefinements.js +27 -43
  240. package/es/connectors/configure/connectConfigure.js +7 -16
  241. package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +11 -31
  242. package/es/connectors/current-refinements/connectCurrentRefinements.js +18 -55
  243. package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +17 -35
  244. package/es/connectors/geo-search/connectGeoSearch.js +17 -45
  245. package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +38 -72
  246. package/es/connectors/hits/connectHits.js +10 -24
  247. package/es/connectors/hits-per-page/connectHitsPerPage.js +15 -36
  248. package/es/connectors/index.d.ts +2 -1
  249. package/es/connectors/index.js +6 -3
  250. package/es/connectors/infinite-hits/connectInfiniteHits.js +26 -60
  251. package/es/connectors/menu/connectMenu.js +28 -64
  252. package/es/connectors/numeric-menu/connectNumericMenu.js +24 -76
  253. package/es/connectors/pagination/Paginator.js +3 -19
  254. package/es/connectors/pagination/connectPagination.js +8 -21
  255. package/es/connectors/powered-by/connectPoweredBy.js +4 -11
  256. package/es/connectors/query-rules/connectQueryRules.js +32 -54
  257. package/es/connectors/range/connectRange.js +41 -99
  258. package/es/connectors/rating-menu/connectRatingMenu.js +23 -77
  259. package/es/connectors/refinement-list/connectRefinementList.js +37 -68
  260. package/es/connectors/relevant-sort/connectRelevantSort.js +4 -13
  261. package/es/connectors/search-box/connectSearchBox.js +7 -21
  262. package/es/connectors/sort-by/connectSortBy.js +11 -19
  263. package/es/connectors/stats/connectStats.js +4 -9
  264. package/es/connectors/toggle-refinement/connectToggleRefinement.js +29 -61
  265. package/es/connectors/voice-search/connectVoiceSearch.js +13 -31
  266. package/es/helpers/components/Highlight.js +4 -8
  267. package/es/helpers/components/ReverseHighlight.js +7 -15
  268. package/es/helpers/components/ReverseSnippet.js +7 -15
  269. package/es/helpers/components/Snippet.js +4 -8
  270. package/es/helpers/get-insights-anonymous-user-token.js +2 -10
  271. package/es/helpers/highlight.js +9 -11
  272. package/es/helpers/insights.js +3 -10
  273. package/es/helpers/reverseHighlight.js +9 -11
  274. package/es/helpers/reverseSnippet.js +9 -11
  275. package/es/helpers/snippet.js +9 -11
  276. package/es/index.js +0 -2
  277. package/es/lib/InstantSearch.js +79 -170
  278. package/es/lib/createHelpers.js +4 -8
  279. package/es/lib/infiniteHitsCache/sessionStorage.js +9 -16
  280. package/es/lib/insights/client.js +8 -32
  281. package/es/lib/insights/listener.js +6 -18
  282. package/es/lib/routers/history.js +63 -99
  283. package/es/lib/stateMappings/simple.js +6 -12
  284. package/es/lib/stateMappings/singleIndex.js +1 -6
  285. package/es/lib/suit.js +2 -3
  286. package/es/lib/templating/prepareTemplateProps.js +8 -18
  287. package/es/lib/templating/renderTemplate.js +9 -20
  288. package/es/lib/utils/checkIndexUiState.js +18 -40
  289. package/es/lib/utils/clearRefinements.js +2 -8
  290. package/es/lib/utils/concatHighlightedParts.js +1 -1
  291. package/es/lib/utils/createConcurrentSafePromise.js +0 -2
  292. package/es/lib/utils/createSendEventForFacet.js +7 -12
  293. package/es/lib/utils/createSendEventForHits.js +8 -30
  294. package/es/lib/utils/debounce.js +0 -2
  295. package/es/lib/utils/defer.js +0 -10
  296. package/es/lib/utils/documentation.js +2 -3
  297. package/es/lib/utils/escape-highlight.js +3 -16
  298. package/es/lib/utils/escape-html.js +9 -5
  299. package/es/lib/utils/escapeFacetValue.js +0 -2
  300. package/es/lib/utils/find.js +2 -4
  301. package/es/lib/utils/findIndex.js +0 -2
  302. package/es/lib/utils/geo-search.js +14 -32
  303. package/es/lib/utils/getAppIdAndApiKey.js +2 -2
  304. package/es/lib/utils/getContainerNode.js +1 -5
  305. package/es/lib/utils/getHighlightFromSiblings.js +0 -3
  306. package/es/lib/utils/getHighlightedParts.js +1 -2
  307. package/es/lib/utils/getRefinements.js +13 -24
  308. package/es/lib/utils/getWidgetAttribute.js +0 -5
  309. package/es/lib/utils/hits-absolute-position.js +2 -5
  310. package/es/lib/utils/hits-query-id.js +2 -6
  311. package/es/lib/utils/isEqual.js +0 -7
  312. package/es/lib/utils/isPlainObject.js +3 -10
  313. package/es/lib/utils/logger.js +2 -12
  314. package/es/lib/utils/mergeSearchParameters.js +16 -37
  315. package/es/lib/utils/range.js +8 -13
  316. package/es/lib/utils/resolveSearchParameters.js +0 -2
  317. package/es/lib/utils/reverseHighlightedParts.js +2 -6
  318. package/es/lib/utils/safelyRunOnBrowser.js +7 -8
  319. package/es/lib/utils/setIndexHelperState.js +0 -2
  320. package/es/lib/version.d.ts +1 -1
  321. package/es/lib/version.js +1 -1
  322. package/es/lib/voiceSearchHelper/index.js +8 -35
  323. package/es/middlewares/createInsightsMiddleware.js +15 -41
  324. package/es/middlewares/createMetadataMiddleware.js +3 -9
  325. package/es/middlewares/createRouterMiddleware.js +8 -13
  326. package/es/types/index.js +9 -5
  327. package/es/widgets/analytics/analytics.js +12 -45
  328. package/es/widgets/answers/answers.js +19 -28
  329. package/es/widgets/breadcrumb/breadcrumb.js +18 -27
  330. package/es/widgets/clear-refinements/clear-refinements.js +15 -24
  331. package/es/widgets/configure/configure.js +3 -6
  332. package/es/widgets/configure-related-items/configure-related-items.js +2 -7
  333. package/es/widgets/current-refinements/current-refinements.js +12 -21
  334. package/es/widgets/dynamic-widgets/dynamic-widgets.js +6 -20
  335. package/es/widgets/geo-search/GeoSearchRenderer.js +41 -63
  336. package/es/widgets/geo-search/createHTMLMarker.js +30 -59
  337. package/es/widgets/geo-search/defaultTemplates.js +2 -2
  338. package/es/widgets/geo-search/geo-search.js +27 -49
  339. package/es/widgets/hierarchical-menu/defaultTemplates.js +5 -4
  340. package/es/widgets/hierarchical-menu/hierarchical-menu.js +28 -36
  341. package/es/widgets/hits/hits.js +16 -25
  342. package/es/widgets/hits-per-page/hits-per-page.js +13 -22
  343. package/es/widgets/index/index.js +49 -91
  344. package/es/widgets/index.d.ts +2 -1
  345. package/es/widgets/index.js +4 -3
  346. package/es/widgets/infinite-hits/infinite-hits.js +23 -32
  347. package/es/widgets/menu/defaultTemplates.js +4 -3
  348. package/es/widgets/menu/menu.js +23 -32
  349. package/es/widgets/menu-select/defaultTemplates.js +1 -1
  350. package/es/widgets/menu-select/menu-select.js +18 -27
  351. package/es/widgets/numeric-menu/defaultTemplates.js +4 -3
  352. package/es/widgets/numeric-menu/numeric-menu.js +17 -26
  353. package/es/widgets/pagination/pagination.js +32 -44
  354. package/es/widgets/panel/panel.js +20 -40
  355. package/es/widgets/places/places.js +16 -32
  356. package/es/widgets/powered-by/powered-by.js +10 -18
  357. package/es/widgets/query-rule-context/query-rule-context.js +2 -9
  358. package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +13 -22
  359. package/es/widgets/range-input/range-input.js +23 -40
  360. package/es/widgets/range-slider/range-slider.js +28 -44
  361. package/es/widgets/rating-menu/defaultTemplates.js +9 -12
  362. package/es/widgets/rating-menu/rating-menu.js +17 -27
  363. package/es/widgets/refinement-list/defaultTemplates.js +6 -5
  364. package/es/widgets/refinement-list/refinement-list.js +39 -48
  365. package/es/widgets/relevant-sort/relevant-sort.js +10 -19
  366. package/es/widgets/search-box/defaultTemplates.js +1 -4
  367. package/es/widgets/search-box/search-box.js +31 -39
  368. package/es/widgets/sort-by/sort-by.js +11 -20
  369. package/es/widgets/stats/stats.js +26 -45
  370. package/es/widgets/toggle-refinement/toggle-refinement.js +16 -25
  371. package/es/widgets/voice-search/defaultTemplates.js +5 -13
  372. package/es/widgets/voice-search/voice-search.js +17 -26
  373. package/package.json +20 -119
  374. package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.input.js +0 -1
  375. package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.output.js +0 -1
  376. package/CHANGELOG.md +0 -3693
@@ -4,39 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _algoliasearchHelper = _interopRequireDefault(require("algoliasearch-helper"));
9
-
10
8
  var _index = require("../../lib/utils/index.js");
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
15
-
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
-
10
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
12
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
-
20
13
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
21
-
22
14
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
-
24
15
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
25
-
26
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
27
-
16
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
28
17
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
29
-
30
18
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
31
-
32
19
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
33
-
34
20
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
35
-
36
21
  var withUsage = (0, _index.createDocumentationMessageGenerator)({
37
22
  name: 'index-widget'
38
23
  });
39
-
40
24
  /**
41
25
  * This is the same content as helper._change / setState, but allowing for extra
42
26
  * UiState to be synchronized.
@@ -44,9 +28,8 @@ var withUsage = (0, _index.createDocumentationMessageGenerator)({
44
28
  */
45
29
  function privateHelperSetState(helper, _ref) {
46
30
  var state = _ref.state,
47
- isPageReset = _ref.isPageReset,
48
- _uiState = _ref._uiState;
49
-
31
+ isPageReset = _ref.isPageReset,
32
+ _uiState = _ref._uiState;
50
33
  if (state !== helper.state) {
51
34
  helper.state = state;
52
35
  helper.emit('change', {
@@ -57,48 +40,38 @@ function privateHelperSetState(helper, _ref) {
57
40
  });
58
41
  }
59
42
  }
60
-
61
43
  function getLocalWidgetsUiState(widgets, widgetStateOptions) {
62
44
  var initialUiState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
63
45
  return widgets.reduce(function (uiState, widget) {
64
46
  if ((0, _index.isIndexWidget)(widget)) {
65
47
  return uiState;
66
48
  }
67
-
68
49
  if (!widget.getWidgetUiState && !widget.getWidgetState) {
69
50
  return uiState;
70
51
  }
71
-
72
52
  if (widget.getWidgetUiState) {
73
53
  return widget.getWidgetUiState(uiState, widgetStateOptions);
74
54
  }
75
-
76
55
  return widget.getWidgetState(uiState, widgetStateOptions);
77
56
  }, initialUiState);
78
57
  }
79
-
80
58
  function getLocalWidgetsSearchParameters(widgets, widgetSearchParametersOptions) {
81
59
  var initialSearchParameters = widgetSearchParametersOptions.initialSearchParameters,
82
- rest = _objectWithoutProperties(widgetSearchParametersOptions, ["initialSearchParameters"]);
83
-
60
+ rest = _objectWithoutProperties(widgetSearchParametersOptions, ["initialSearchParameters"]);
84
61
  return widgets.filter(function (widget) {
85
62
  return !(0, _index.isIndexWidget)(widget);
86
63
  }).reduce(function (state, widget) {
87
64
  if (!widget.getWidgetSearchParameters) {
88
65
  return state;
89
66
  }
90
-
91
67
  return widget.getWidgetSearchParameters(state, rest);
92
68
  }, initialSearchParameters);
93
69
  }
94
-
95
70
  function resetPageFromWidgets(widgets) {
96
71
  var indexWidgets = widgets.filter(_index.isIndexWidget);
97
-
98
72
  if (indexWidgets.length === 0) {
99
73
  return;
100
74
  }
101
-
102
75
  indexWidgets.forEach(function (widget) {
103
76
  var widgetHelper = widget.getHelper();
104
77
  privateHelperSetState(widgetHelper, {
@@ -108,7 +81,6 @@ function resetPageFromWidgets(widgets) {
108
81
  resetPageFromWidgets(widget.getWidgets());
109
82
  });
110
83
  }
111
-
112
84
  function resolveScopedResultsFromWidgets(widgets) {
113
85
  var indexWidgets = widgets.filter(_index.isIndexWidget);
114
86
  return indexWidgets.reduce(function (scopedResults, current) {
@@ -119,15 +91,13 @@ function resolveScopedResultsFromWidgets(widgets) {
119
91
  }].concat(_toConsumableArray(resolveScopedResultsFromWidgets(current.getWidgets()))));
120
92
  }, []);
121
93
  }
122
-
123
94
  var index = function index(widgetParams) {
124
95
  if (widgetParams === undefined || widgetParams.indexName === undefined) {
125
96
  throw new Error(withUsage('The `indexName` option is required.'));
126
97
  }
127
-
128
98
  var indexName = widgetParams.indexName,
129
- _widgetParams$indexId = widgetParams.indexId,
130
- indexId = _widgetParams$indexId === void 0 ? indexName : _widgetParams$indexId;
99
+ _widgetParams$indexId = widgetParams.indexId,
100
+ indexId = _widgetParams$indexId === void 0 ? indexName : _widgetParams$indexId;
131
101
  var localWidgets = [];
132
102
  var localUiState = {};
133
103
  var localInstantSearchInstance = null;
@@ -150,8 +120,9 @@ var index = function index(widgetParams) {
150
120
  return derivedHelper && derivedHelper.lastResults;
151
121
  },
152
122
  getScopedResults: function getScopedResults() {
153
- var widgetParent = this.getParent(); // If the widget is the root, we consider itself as the only sibling.
123
+ var widgetParent = this.getParent();
154
124
 
125
+ // If the widget is the root, we consider itself as the only sibling.
155
126
  var widgetSiblings = widgetParent ? widgetParent.getWidgets() : [this];
156
127
  return resolveScopedResultsFromWidgets(widgetSiblings);
157
128
  },
@@ -169,19 +140,15 @@ var index = function index(widgetParams) {
169
140
  },
170
141
  addWidgets: function addWidgets(widgets) {
171
142
  var _this = this;
172
-
173
143
  if (!Array.isArray(widgets)) {
174
144
  throw new Error(withUsage('The `addWidgets` method expects an array of widgets.'));
175
145
  }
176
-
177
146
  if (widgets.some(function (widget) {
178
147
  return typeof widget.init !== 'function' && typeof widget.render !== 'function';
179
148
  })) {
180
149
  throw new Error(withUsage('The widget definition expects a `render` and/or an `init` method.'));
181
150
  }
182
-
183
151
  localWidgets = localWidgets.concat(widgets);
184
-
185
152
  if (localInstantSearchInstance && Boolean(widgets.length)) {
186
153
  privateHelperSetState(helper, {
187
154
  state: getLocalWidgetsSearchParameters(localWidgets, {
@@ -189,10 +156,11 @@ var index = function index(widgetParams) {
189
156
  initialSearchParameters: helper.state
190
157
  }),
191
158
  _uiState: localUiState
192
- }); // We compute the render state before calling `init` in a separate loop
159
+ });
160
+
161
+ // We compute the render state before calling `init` in a separate loop
193
162
  // to construct the whole render state object that is then passed to
194
163
  // `init`.
195
-
196
164
  widgets.forEach(function (widget) {
197
165
  if (widget.getRenderState) {
198
166
  var renderState = widget.getRenderState(localInstantSearchInstance.renderState[_this.getIndexId()] || {}, (0, _index.createInitArgs)(localInstantSearchInstance, _this, localInstantSearchInstance._initialUiState));
@@ -210,26 +178,21 @@ var index = function index(widgetParams) {
210
178
  });
211
179
  localInstantSearchInstance.scheduleSearch();
212
180
  }
213
-
214
181
  return this;
215
182
  },
216
183
  removeWidgets: function removeWidgets(widgets) {
217
184
  var _this2 = this;
218
-
219
185
  if (!Array.isArray(widgets)) {
220
186
  throw new Error(withUsage('The `removeWidgets` method expects an array of widgets.'));
221
187
  }
222
-
223
188
  if (widgets.some(function (widget) {
224
189
  return typeof widget.dispose !== 'function';
225
190
  })) {
226
191
  throw new Error(withUsage('The widget definition expects a `dispose` method.'));
227
192
  }
228
-
229
193
  localWidgets = localWidgets.filter(function (widget) {
230
194
  return widgets.indexOf(widget) === -1;
231
195
  });
232
-
233
196
  if (localInstantSearchInstance && Boolean(widgets.length)) {
234
197
  var nextState = widgets.reduce(function (state, widget) {
235
198
  // the `dispose` method exists at this point we already assert it
@@ -248,48 +211,46 @@ var index = function index(widgetParams) {
248
211
  uiState: localUiState,
249
212
  initialSearchParameters: nextState
250
213
  }));
251
-
252
214
  if (localWidgets.length) {
253
215
  localInstantSearchInstance.scheduleSearch();
254
216
  }
255
217
  }
256
-
257
218
  return this;
258
219
  },
259
220
  init: function init(_ref2) {
260
221
  var _this3 = this,
261
- _instantSearchInstanc;
262
-
222
+ _instantSearchInstanc;
263
223
  var instantSearchInstance = _ref2.instantSearchInstance,
264
- parent = _ref2.parent,
265
- uiState = _ref2.uiState;
266
-
224
+ parent = _ref2.parent,
225
+ uiState = _ref2.uiState;
267
226
  if (helper !== null) {
268
227
  // helper is already initialized, therefore we do not need to set up
269
228
  // any listeners
270
229
  return;
271
230
  }
272
-
273
231
  localInstantSearchInstance = instantSearchInstance;
274
232
  localParent = parent;
275
- localUiState = uiState[indexId] || {}; // The `mainHelper` is already defined at this point. The instance is created
233
+ localUiState = uiState[indexId] || {};
234
+
235
+ // The `mainHelper` is already defined at this point. The instance is created
276
236
  // inside InstantSearch at the `start` method, which occurs before the `init`
277
237
  // step.
278
-
279
238
  var mainHelper = instantSearchInstance.mainHelper;
280
239
  var parameters = getLocalWidgetsSearchParameters(localWidgets, {
281
240
  uiState: localUiState,
282
241
  initialSearchParameters: new _algoliasearchHelper.default.SearchParameters({
283
242
  index: indexName
284
243
  })
285
- }); // This Helper is only used for state management we do not care about the
244
+ });
245
+
246
+ // This Helper is only used for state management we do not care about the
286
247
  // `searchClient`. Only the "main" Helper created at the `InstantSearch`
287
248
  // level is aware of the client.
249
+ helper = (0, _algoliasearchHelper.default)({}, parameters.index, parameters);
288
250
 
289
- helper = (0, _algoliasearchHelper.default)({}, parameters.index, parameters); // We forward the call to `search` to the "main" instance of the Helper
251
+ // We forward the call to `search` to the "main" instance of the Helper
290
252
  // which is responsible for managing the queries (it's the only one that is
291
253
  // aware of the `searchClient`).
292
-
293
254
  helper.search = function () {
294
255
  if (instantSearchInstance.onStateChange) {
295
256
  instantSearchInstance.onStateChange({
@@ -297,45 +258,41 @@ var index = function index(widgetParams) {
297
258
  setUiState: function setUiState(nextState) {
298
259
  return instantSearchInstance.setUiState(nextState, false);
299
260
  }
300
- }); // We don't trigger a search when controlled because it becomes the
301
- // responsibility of `setUiState`.
261
+ });
302
262
 
263
+ // We don't trigger a search when controlled because it becomes the
264
+ // responsibility of `setUiState`.
303
265
  return mainHelper;
304
266
  }
305
-
306
267
  return mainHelper.search();
307
268
  };
308
-
309
269
  helper.searchWithoutTriggeringOnStateChange = function () {
310
270
  return mainHelper.search();
311
- }; // We use the same pattern for the `searchForFacetValues`.
312
-
271
+ };
313
272
 
273
+ // We use the same pattern for the `searchForFacetValues`.
314
274
  helper.searchForFacetValues = function (facetName, facetValue, maxFacetHits, userState) {
315
275
  var state = helper.state.setQueryParameters(userState);
316
276
  return mainHelper.searchForFacetValues(facetName, facetValue, maxFacetHits, state);
317
277
  };
318
-
319
278
  derivedHelper = mainHelper.derive(function () {
320
279
  return _index.mergeSearchParameters.apply(void 0, _toConsumableArray((0, _index.resolveSearchParameters)(_this3)));
321
280
  });
322
281
  var indexInitialResults = (_instantSearchInstanc = instantSearchInstance._initialResults) === null || _instantSearchInstanc === void 0 ? void 0 : _instantSearchInstanc[this.getIndexId()];
323
-
324
282
  if (indexInitialResults) {
325
283
  // We restore the shape of the results provided to the instance to respect
326
284
  // the helper's structure.
327
285
  var results = new _algoliasearchHelper.default.SearchResults(new _algoliasearchHelper.default.SearchParameters(indexInitialResults.state), indexInitialResults.results);
328
286
  derivedHelper.lastResults = results;
329
287
  helper.lastResults = results;
330
- } // Subscribe to the Helper state changes for the page before widgets
288
+ }
289
+
290
+ // Subscribe to the Helper state changes for the page before widgets
331
291
  // are initialized. This behavior mimics the original one of the Helper.
332
292
  // It makes sense to replicate it at the `init` step. We have another
333
293
  // listener on `change` below, once `init` is done.
334
-
335
-
336
294
  helper.on('change', function (_ref3) {
337
295
  var isPageReset = _ref3.isPageReset;
338
-
339
296
  if (isPageReset) {
340
297
  resetPageFromWidgets(localWidgets);
341
298
  }
@@ -346,7 +303,6 @@ var index = function index(widgetParams) {
346
303
  // it at the index level because it's either: all of them or none of them
347
304
  // that are stalled. The queries are performed into a single network request.
348
305
  instantSearchInstance.scheduleStalledRender();
349
-
350
306
  if (process.env.NODE_ENV === 'development') {
351
307
  (0, _index.checkIndexUiState)({
352
308
  index: _this3,
@@ -359,16 +315,18 @@ var index = function index(widgetParams) {
359
315
  // The index does not render the results it schedules a new render
360
316
  // to let all the other indices emit their own results. It allows us to
361
317
  // run the render process in one pass.
362
- instantSearchInstance.scheduleRender(); // the derived helper is the one which actually searches, but the helper
318
+ instantSearchInstance.scheduleRender();
319
+
320
+ // the derived helper is the one which actually searches, but the helper
363
321
  // which is exposed e.g. via instance.helper, doesn't search, and thus
364
322
  // does not have access to lastResults, which it used to in pre-federated
365
323
  // search behavior.
366
-
367
324
  helper.lastResults = results;
368
- }); // We compute the render state before calling `init` in a separate loop
325
+ });
326
+
327
+ // We compute the render state before calling `init` in a separate loop
369
328
  // to construct the whole render state object that is then passed to
370
329
  // `init`.
371
-
372
330
  localWidgets.forEach(function (widget) {
373
331
  if (widget.getRenderState) {
374
332
  var renderState = widget.getRenderState(instantSearchInstance.renderState[_this3.getIndexId()] || {}, (0, _index.createInitArgs)(instantSearchInstance, _this3, uiState));
@@ -380,34 +338,35 @@ var index = function index(widgetParams) {
380
338
  }
381
339
  });
382
340
  localWidgets.forEach(function (widget) {
383
- process.env.NODE_ENV === 'development' ? (0, _index.warning)( // if it has NO getWidgetState or if it has getWidgetUiState, we don't warn
341
+ process.env.NODE_ENV === 'development' ? (0, _index.warning)(
342
+ // if it has NO getWidgetState or if it has getWidgetUiState, we don't warn
384
343
  // aka we warn if there's _only_ getWidgetState
385
344
  !widget.getWidgetState || Boolean(widget.getWidgetUiState), 'The `getWidgetState` method is renamed `getWidgetUiState` and will no longer exist under that name in InstantSearch.js 5.x. Please use `getWidgetUiState` instead.') : void 0;
386
-
387
345
  if (widget.init) {
388
346
  widget.init((0, _index.createInitArgs)(instantSearchInstance, _this3, uiState));
389
347
  }
390
- }); // Subscribe to the Helper state changes for the `uiState` once widgets
348
+ });
349
+
350
+ // Subscribe to the Helper state changes for the `uiState` once widgets
391
351
  // are initialized. Until the first render, state changes are part of the
392
352
  // configuration step. This is mainly for backward compatibility with custom
393
353
  // widgets. When the subscription happens before the `init` step, the (static)
394
354
  // configuration of the widget is pushed in the URL. That's what we want to avoid.
395
355
  // https://github.com/algolia/instantsearch.js/pull/994/commits/4a672ae3fd78809e213de0368549ef12e9dc9454
396
-
397
356
  helper.on('change', function (event) {
398
357
  var state = event.state;
399
358
  var _uiState = event._uiState;
400
359
  localUiState = getLocalWidgetsUiState(localWidgets, {
401
360
  searchParameters: state,
402
361
  helper: helper
403
- }, _uiState || {}); // We don't trigger an internal change when controlled because it
404
- // becomes the responsibility of `setUiState`.
362
+ }, _uiState || {});
405
363
 
364
+ // We don't trigger an internal change when controlled because it
365
+ // becomes the responsibility of `setUiState`.
406
366
  if (!instantSearchInstance.onStateChange) {
407
367
  instantSearchInstance.onInternalStateChange();
408
368
  }
409
369
  });
410
-
411
370
  if (indexInitialResults) {
412
371
  // If there are initial results, we're not notified of the next results
413
372
  // because we don't trigger an initial search. We therefore need to directly
@@ -417,13 +376,10 @@ var index = function index(widgetParams) {
417
376
  },
418
377
  render: function render(_ref5) {
419
378
  var _this4 = this;
420
-
421
379
  var instantSearchInstance = _ref5.instantSearchInstance;
422
-
423
380
  if (!this.getResults()) {
424
381
  return;
425
382
  }
426
-
427
383
  localWidgets.forEach(function (widget) {
428
384
  if (widget.getRenderState) {
429
385
  var renderState = widget.getRenderState(instantSearchInstance.renderState[_this4.getIndexId()] || {}, (0, _index.createRenderArgs)(instantSearchInstance, _this4));
@@ -441,6 +397,7 @@ var index = function index(widgetParams) {
441
397
  // happens before the result e.g with a dynamically added index the request might
442
398
  // be delayed. The render is triggered for the complete tree but some parts do
443
399
  // not have results yet.
400
+
444
401
  if (widget.render) {
445
402
  widget.render((0, _index.createRenderArgs)(instantSearchInstance, _this4));
446
403
  }
@@ -448,7 +405,6 @@ var index = function index(widgetParams) {
448
405
  },
449
406
  dispose: function dispose() {
450
407
  var _this5 = this;
451
-
452
408
  localWidgets.forEach(function (widget) {
453
409
  if (widget.dispose) {
454
410
  // The dispose function is always called once the instance is started
@@ -495,14 +451,12 @@ var index = function index(widgetParams) {
495
451
  }
496
452
  };
497
453
  };
498
-
499
454
  var _default = index;
500
455
  exports.default = _default;
501
-
502
456
  function storeRenderState(_ref7) {
503
457
  var renderState = _ref7.renderState,
504
- instantSearchInstance = _ref7.instantSearchInstance,
505
- parent = _ref7.parent;
458
+ instantSearchInstance = _ref7.instantSearchInstance,
459
+ parent = _ref7.parent;
506
460
  var parentIndexName = parent ? parent.getIndexId() : instantSearchInstance.mainIndex.getIndexId();
507
461
  instantSearchInstance.renderState = _objectSpread(_objectSpread({}, instantSearchInstance.renderState), {}, _defineProperty({}, parentIndexName, _objectSpread(_objectSpread({}, instantSearchInstance.renderState[parentIndexName]), renderState)));
508
462
  }
@@ -3,6 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.EXPERIMENTAL_answers = void 0;
7
+ Object.defineProperty(exports, "EXPERIMENTAL_configureRelatedItems", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _configureRelatedItems.default;
11
+ }
12
+ });
13
+ exports.EXPERIMENTAL_dynamicWidgets = void 0;
6
14
  Object.defineProperty(exports, "analytics", {
7
15
  enumerable: true,
8
16
  get: function get() {
@@ -33,18 +41,6 @@ Object.defineProperty(exports, "currentRefinements", {
33
41
  return _currentRefinements.default;
34
42
  }
35
43
  });
36
- Object.defineProperty(exports, "EXPERIMENTAL_answers", {
37
- enumerable: true,
38
- get: function get() {
39
- return _answers.default;
40
- }
41
- });
42
- Object.defineProperty(exports, "EXPERIMENTAL_configureRelatedItems", {
43
- enumerable: true,
44
- get: function get() {
45
- return _configureRelatedItems.default;
46
- }
47
- });
48
44
  Object.defineProperty(exports, "dynamicWidgets", {
49
45
  enumerable: true,
50
46
  get: function get() {
@@ -201,78 +197,44 @@ Object.defineProperty(exports, "voiceSearch", {
201
197
  return _voiceSearch.default;
202
198
  }
203
199
  });
204
- exports.EXPERIMENTAL_dynamicWidgets = void 0;
205
-
200
+ var _index = require("../lib/utils/index.js");
206
201
  var _analytics = _interopRequireDefault(require("./analytics/analytics.js"));
207
-
208
202
  var _breadcrumb = _interopRequireDefault(require("./breadcrumb/breadcrumb.js"));
209
-
210
203
  var _clearRefinements = _interopRequireDefault(require("./clear-refinements/clear-refinements.js"));
211
-
212
204
  var _configure = _interopRequireDefault(require("./configure/configure.js"));
213
-
214
205
  var _currentRefinements = _interopRequireDefault(require("./current-refinements/current-refinements.js"));
215
-
216
206
  var _answers = _interopRequireDefault(require("./answers/answers.js"));
217
-
218
207
  var _configureRelatedItems = _interopRequireDefault(require("./configure-related-items/configure-related-items.js"));
219
-
220
208
  var _dynamicWidgets = _interopRequireDefault(require("./dynamic-widgets/dynamic-widgets.js"));
221
-
222
- var _index = require("../lib/utils/index.js");
223
-
224
209
  var _geoSearch = _interopRequireDefault(require("./geo-search/geo-search.js"));
225
-
226
210
  var _hierarchicalMenu = _interopRequireDefault(require("./hierarchical-menu/hierarchical-menu.js"));
227
-
228
211
  var _hits = _interopRequireDefault(require("./hits/hits.js"));
229
-
230
212
  var _hitsPerPage = _interopRequireDefault(require("./hits-per-page/hits-per-page.js"));
231
-
232
213
  var _index2 = _interopRequireDefault(require("./index/index.js"));
233
-
234
214
  var _infiniteHits = _interopRequireDefault(require("./infinite-hits/infinite-hits.js"));
235
-
236
215
  var _menu = _interopRequireDefault(require("./menu/menu.js"));
237
-
238
216
  var _menuSelect = _interopRequireDefault(require("./menu-select/menu-select.js"));
239
-
240
217
  var _numericMenu = _interopRequireDefault(require("./numeric-menu/numeric-menu.js"));
241
-
242
218
  var _pagination = _interopRequireDefault(require("./pagination/pagination.js"));
243
-
244
219
  var _panel = _interopRequireDefault(require("./panel/panel.js"));
245
-
246
220
  var _places = _interopRequireDefault(require("./places/places.js"));
247
-
248
221
  var _poweredBy = _interopRequireDefault(require("./powered-by/powered-by.js"));
249
-
250
222
  var _queryRuleContext = _interopRequireDefault(require("./query-rule-context/query-rule-context.js"));
251
-
252
223
  var _queryRuleCustomData = _interopRequireDefault(require("./query-rule-custom-data/query-rule-custom-data.js"));
253
-
254
224
  var _rangeInput = _interopRequireDefault(require("./range-input/range-input.js"));
255
-
256
225
  var _rangeSlider = _interopRequireDefault(require("./range-slider/range-slider.js"));
257
-
258
226
  var _ratingMenu = _interopRequireDefault(require("./rating-menu/rating-menu.js"));
259
-
260
227
  var _refinementList = _interopRequireDefault(require("./refinement-list/refinement-list.js"));
261
-
262
228
  var _relevantSort = _interopRequireDefault(require("./relevant-sort/relevant-sort.js"));
263
-
264
229
  var _searchBox = _interopRequireDefault(require("./search-box/search-box.js"));
265
-
266
230
  var _sortBy = _interopRequireDefault(require("./sort-by/sort-by.js"));
267
-
268
231
  var _stats = _interopRequireDefault(require("./stats/stats.js"));
269
-
270
232
  var _toggleRefinement = _interopRequireDefault(require("./toggle-refinement/toggle-refinement.js"));
271
-
272
233
  var _voiceSearch = _interopRequireDefault(require("./voice-search/voice-search.js"));
273
-
274
234
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
275
-
235
+ /** @deprecated answers is no longer supported */
236
+ var EXPERIMENTAL_answers = (0, _index.deprecate)(_answers.default, 'answers is no longer supported');
237
+ exports.EXPERIMENTAL_answers = EXPERIMENTAL_answers;
276
238
  /** @deprecated use dynamicWidgets */
277
239
  var EXPERIMENTAL_dynamicWidgets = (0, _index.deprecate)(_dynamicWidgets.default, 'use dynamicWidgets');
278
240
  exports.EXPERIMENTAL_dynamicWidgets = EXPERIMENTAL_dynamicWidgets;
@@ -4,56 +4,40 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _preact = require("preact");
9
-
10
8
  var _uiComponentsShared = require("@algolia/ui-components-shared");
11
-
12
9
  var _InfiniteHits = _interopRequireDefault(require("../../components/InfiniteHits/InfiniteHits.js"));
13
-
14
10
  var _connectInfiniteHits = _interopRequireDefault(require("../../connectors/infinite-hits/connectInfiniteHits.js"));
15
-
16
11
  var _index = require("../../lib/utils/index.js");
17
-
18
12
  var _index2 = require("../../lib/templating/index.js");
19
-
20
13
  var _suit = require("../../lib/suit.js");
21
-
22
14
  var _index3 = require("../../lib/insights/index.js");
23
-
24
15
  var _defaultTemplates = _interopRequireDefault(require("./defaultTemplates.js"));
25
-
26
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
29
-
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
31
-
17
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
19
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
-
34
20
  var withUsage = (0, _index.createDocumentationMessageGenerator)({
35
21
  name: 'infinite-hits'
36
22
  });
37
23
  var suit = (0, _suit.component)('InfiniteHits');
38
24
  var InfiniteHitsWithInsightsListener = (0, _index3.withInsightsListener)(_InfiniteHits.default);
39
-
40
25
  var renderer = function renderer(_ref) {
41
26
  var containerNode = _ref.containerNode,
42
- cssClasses = _ref.cssClasses,
43
- renderState = _ref.renderState,
44
- templates = _ref.templates,
45
- hasShowPrevious = _ref.showPrevious;
27
+ cssClasses = _ref.cssClasses,
28
+ renderState = _ref.renderState,
29
+ templates = _ref.templates,
30
+ hasShowPrevious = _ref.showPrevious;
46
31
  return function (_ref2, isFirstRendering) {
47
32
  var hits = _ref2.hits,
48
- results = _ref2.results,
49
- showMore = _ref2.showMore,
50
- showPrevious = _ref2.showPrevious,
51
- isFirstPage = _ref2.isFirstPage,
52
- isLastPage = _ref2.isLastPage,
53
- instantSearchInstance = _ref2.instantSearchInstance,
54
- insights = _ref2.insights,
55
- bindEvent = _ref2.bindEvent;
56
-
33
+ results = _ref2.results,
34
+ showMore = _ref2.showMore,
35
+ showPrevious = _ref2.showPrevious,
36
+ isFirstPage = _ref2.isFirstPage,
37
+ isLastPage = _ref2.isLastPage,
38
+ instantSearchInstance = _ref2.instantSearchInstance,
39
+ insights = _ref2.insights,
40
+ bindEvent = _ref2.bindEvent;
57
41
  if (isFirstRendering) {
58
42
  renderState.templateProps = (0, _index2.prepareTemplateProps)({
59
43
  defaultTemplates: _defaultTemplates.default,
@@ -62,7 +46,6 @@ var renderer = function renderer(_ref) {
62
46
  });
63
47
  return;
64
48
  }
65
-
66
49
  (0, _preact.render)((0, _preact.h)(InfiniteHitsWithInsightsListener, {
67
50
  cssClasses: cssClasses,
68
51
  hits: hits,
@@ -81,23 +64,20 @@ var renderer = function renderer(_ref) {
81
64
  }), containerNode);
82
65
  };
83
66
  };
84
-
85
67
  var infiniteHits = function infiniteHits(widgetParams) {
86
68
  var _ref3 = widgetParams || {},
87
- container = _ref3.container,
88
- escapeHTML = _ref3.escapeHTML,
89
- transformItems = _ref3.transformItems,
90
- _ref3$templates = _ref3.templates,
91
- templates = _ref3$templates === void 0 ? {} : _ref3$templates,
92
- _ref3$cssClasses = _ref3.cssClasses,
93
- userCssClasses = _ref3$cssClasses === void 0 ? {} : _ref3$cssClasses,
94
- showPrevious = _ref3.showPrevious,
95
- cache = _ref3.cache;
96
-
69
+ container = _ref3.container,
70
+ escapeHTML = _ref3.escapeHTML,
71
+ transformItems = _ref3.transformItems,
72
+ _ref3$templates = _ref3.templates,
73
+ templates = _ref3$templates === void 0 ? {} : _ref3$templates,
74
+ _ref3$cssClasses = _ref3.cssClasses,
75
+ userCssClasses = _ref3$cssClasses === void 0 ? {} : _ref3$cssClasses,
76
+ showPrevious = _ref3.showPrevious,
77
+ cache = _ref3.cache;
97
78
  if (!container) {
98
79
  throw new Error(withUsage('The `container` option is required.'));
99
80
  }
100
-
101
81
  var containerNode = (0, _index.getContainerNode)(container);
102
82
  var cssClasses = {
103
83
  root: (0, _uiComponentsShared.cx)(suit(), userCssClasses.root),
@@ -144,6 +124,5 @@ var infiniteHits = function infiniteHits(widgetParams) {
144
124
  $$widgetType: 'ais.infiniteHits'
145
125
  });
146
126
  };
147
-
148
127
  var _default = infiniteHits;
149
128
  exports.default = _default;