instantsearch.js 4.49.0 → 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 +7 -12
  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 +1725 -3087
  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 +5 -7
  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 -3684
@@ -1,31 +1,19 @@
1
- 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; }
2
-
3
- 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; }
4
-
1
+ 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; }
2
+ 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; }
5
3
  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; }
6
-
7
4
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
-
9
5
  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."); }
10
-
11
6
  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); }
12
-
13
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
14
-
7
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
15
8
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
16
-
17
9
  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; }
18
-
19
10
  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; }
20
-
21
11
  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; }
22
-
23
12
  import algoliasearchHelper from 'algoliasearch-helper';
24
13
  import { checkIndexUiState, createDocumentationMessageGenerator, resolveSearchParameters, mergeSearchParameters, warning, isIndexWidget, createInitArgs, createRenderArgs } from "../../lib/utils/index.js";
25
14
  var withUsage = createDocumentationMessageGenerator({
26
15
  name: 'index-widget'
27
16
  });
28
-
29
17
  /**
30
18
  * This is the same content as helper._change / setState, but allowing for extra
31
19
  * UiState to be synchronized.
@@ -33,9 +21,8 @@ var withUsage = createDocumentationMessageGenerator({
33
21
  */
34
22
  function privateHelperSetState(helper, _ref) {
35
23
  var state = _ref.state,
36
- isPageReset = _ref.isPageReset,
37
- _uiState = _ref._uiState;
38
-
24
+ isPageReset = _ref.isPageReset,
25
+ _uiState = _ref._uiState;
39
26
  if (state !== helper.state) {
40
27
  helper.state = state;
41
28
  helper.emit('change', {
@@ -46,48 +33,38 @@ function privateHelperSetState(helper, _ref) {
46
33
  });
47
34
  }
48
35
  }
49
-
50
36
  function getLocalWidgetsUiState(widgets, widgetStateOptions) {
51
37
  var initialUiState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
52
38
  return widgets.reduce(function (uiState, widget) {
53
39
  if (isIndexWidget(widget)) {
54
40
  return uiState;
55
41
  }
56
-
57
42
  if (!widget.getWidgetUiState && !widget.getWidgetState) {
58
43
  return uiState;
59
44
  }
60
-
61
45
  if (widget.getWidgetUiState) {
62
46
  return widget.getWidgetUiState(uiState, widgetStateOptions);
63
47
  }
64
-
65
48
  return widget.getWidgetState(uiState, widgetStateOptions);
66
49
  }, initialUiState);
67
50
  }
68
-
69
51
  function getLocalWidgetsSearchParameters(widgets, widgetSearchParametersOptions) {
70
52
  var initialSearchParameters = widgetSearchParametersOptions.initialSearchParameters,
71
- rest = _objectWithoutProperties(widgetSearchParametersOptions, ["initialSearchParameters"]);
72
-
53
+ rest = _objectWithoutProperties(widgetSearchParametersOptions, ["initialSearchParameters"]);
73
54
  return widgets.filter(function (widget) {
74
55
  return !isIndexWidget(widget);
75
56
  }).reduce(function (state, widget) {
76
57
  if (!widget.getWidgetSearchParameters) {
77
58
  return state;
78
59
  }
79
-
80
60
  return widget.getWidgetSearchParameters(state, rest);
81
61
  }, initialSearchParameters);
82
62
  }
83
-
84
63
  function resetPageFromWidgets(widgets) {
85
64
  var indexWidgets = widgets.filter(isIndexWidget);
86
-
87
65
  if (indexWidgets.length === 0) {
88
66
  return;
89
67
  }
90
-
91
68
  indexWidgets.forEach(function (widget) {
92
69
  var widgetHelper = widget.getHelper();
93
70
  privateHelperSetState(widgetHelper, {
@@ -97,7 +74,6 @@ function resetPageFromWidgets(widgets) {
97
74
  resetPageFromWidgets(widget.getWidgets());
98
75
  });
99
76
  }
100
-
101
77
  function resolveScopedResultsFromWidgets(widgets) {
102
78
  var indexWidgets = widgets.filter(isIndexWidget);
103
79
  return indexWidgets.reduce(function (scopedResults, current) {
@@ -108,15 +84,13 @@ function resolveScopedResultsFromWidgets(widgets) {
108
84
  }].concat(_toConsumableArray(resolveScopedResultsFromWidgets(current.getWidgets()))));
109
85
  }, []);
110
86
  }
111
-
112
87
  var index = function index(widgetParams) {
113
88
  if (widgetParams === undefined || widgetParams.indexName === undefined) {
114
89
  throw new Error(withUsage('The `indexName` option is required.'));
115
90
  }
116
-
117
91
  var indexName = widgetParams.indexName,
118
- _widgetParams$indexId = widgetParams.indexId,
119
- indexId = _widgetParams$indexId === void 0 ? indexName : _widgetParams$indexId;
92
+ _widgetParams$indexId = widgetParams.indexId,
93
+ indexId = _widgetParams$indexId === void 0 ? indexName : _widgetParams$indexId;
120
94
  var localWidgets = [];
121
95
  var localUiState = {};
122
96
  var localInstantSearchInstance = null;
@@ -139,8 +113,9 @@ var index = function index(widgetParams) {
139
113
  return derivedHelper && derivedHelper.lastResults;
140
114
  },
141
115
  getScopedResults: function getScopedResults() {
142
- var widgetParent = this.getParent(); // If the widget is the root, we consider itself as the only sibling.
116
+ var widgetParent = this.getParent();
143
117
 
118
+ // If the widget is the root, we consider itself as the only sibling.
144
119
  var widgetSiblings = widgetParent ? widgetParent.getWidgets() : [this];
145
120
  return resolveScopedResultsFromWidgets(widgetSiblings);
146
121
  },
@@ -158,19 +133,15 @@ var index = function index(widgetParams) {
158
133
  },
159
134
  addWidgets: function addWidgets(widgets) {
160
135
  var _this = this;
161
-
162
136
  if (!Array.isArray(widgets)) {
163
137
  throw new Error(withUsage('The `addWidgets` method expects an array of widgets.'));
164
138
  }
165
-
166
139
  if (widgets.some(function (widget) {
167
140
  return typeof widget.init !== 'function' && typeof widget.render !== 'function';
168
141
  })) {
169
142
  throw new Error(withUsage('The widget definition expects a `render` and/or an `init` method.'));
170
143
  }
171
-
172
144
  localWidgets = localWidgets.concat(widgets);
173
-
174
145
  if (localInstantSearchInstance && Boolean(widgets.length)) {
175
146
  privateHelperSetState(helper, {
176
147
  state: getLocalWidgetsSearchParameters(localWidgets, {
@@ -178,10 +149,11 @@ var index = function index(widgetParams) {
178
149
  initialSearchParameters: helper.state
179
150
  }),
180
151
  _uiState: localUiState
181
- }); // We compute the render state before calling `init` in a separate loop
152
+ });
153
+
154
+ // We compute the render state before calling `init` in a separate loop
182
155
  // to construct the whole render state object that is then passed to
183
156
  // `init`.
184
-
185
157
  widgets.forEach(function (widget) {
186
158
  if (widget.getRenderState) {
187
159
  var renderState = widget.getRenderState(localInstantSearchInstance.renderState[_this.getIndexId()] || {}, createInitArgs(localInstantSearchInstance, _this, localInstantSearchInstance._initialUiState));
@@ -199,26 +171,21 @@ var index = function index(widgetParams) {
199
171
  });
200
172
  localInstantSearchInstance.scheduleSearch();
201
173
  }
202
-
203
174
  return this;
204
175
  },
205
176
  removeWidgets: function removeWidgets(widgets) {
206
177
  var _this2 = this;
207
-
208
178
  if (!Array.isArray(widgets)) {
209
179
  throw new Error(withUsage('The `removeWidgets` method expects an array of widgets.'));
210
180
  }
211
-
212
181
  if (widgets.some(function (widget) {
213
182
  return typeof widget.dispose !== 'function';
214
183
  })) {
215
184
  throw new Error(withUsage('The widget definition expects a `dispose` method.'));
216
185
  }
217
-
218
186
  localWidgets = localWidgets.filter(function (widget) {
219
187
  return widgets.indexOf(widget) === -1;
220
188
  });
221
-
222
189
  if (localInstantSearchInstance && Boolean(widgets.length)) {
223
190
  var nextState = widgets.reduce(function (state, widget) {
224
191
  // the `dispose` method exists at this point we already assert it
@@ -237,48 +204,46 @@ var index = function index(widgetParams) {
237
204
  uiState: localUiState,
238
205
  initialSearchParameters: nextState
239
206
  }));
240
-
241
207
  if (localWidgets.length) {
242
208
  localInstantSearchInstance.scheduleSearch();
243
209
  }
244
210
  }
245
-
246
211
  return this;
247
212
  },
248
213
  init: function init(_ref2) {
249
214
  var _this3 = this,
250
- _instantSearchInstanc;
251
-
215
+ _instantSearchInstanc;
252
216
  var instantSearchInstance = _ref2.instantSearchInstance,
253
- parent = _ref2.parent,
254
- uiState = _ref2.uiState;
255
-
217
+ parent = _ref2.parent,
218
+ uiState = _ref2.uiState;
256
219
  if (helper !== null) {
257
220
  // helper is already initialized, therefore we do not need to set up
258
221
  // any listeners
259
222
  return;
260
223
  }
261
-
262
224
  localInstantSearchInstance = instantSearchInstance;
263
225
  localParent = parent;
264
- localUiState = uiState[indexId] || {}; // The `mainHelper` is already defined at this point. The instance is created
226
+ localUiState = uiState[indexId] || {};
227
+
228
+ // The `mainHelper` is already defined at this point. The instance is created
265
229
  // inside InstantSearch at the `start` method, which occurs before the `init`
266
230
  // step.
267
-
268
231
  var mainHelper = instantSearchInstance.mainHelper;
269
232
  var parameters = getLocalWidgetsSearchParameters(localWidgets, {
270
233
  uiState: localUiState,
271
234
  initialSearchParameters: new algoliasearchHelper.SearchParameters({
272
235
  index: indexName
273
236
  })
274
- }); // This Helper is only used for state management we do not care about the
237
+ });
238
+
239
+ // This Helper is only used for state management we do not care about the
275
240
  // `searchClient`. Only the "main" Helper created at the `InstantSearch`
276
241
  // level is aware of the client.
242
+ helper = algoliasearchHelper({}, parameters.index, parameters);
277
243
 
278
- helper = algoliasearchHelper({}, parameters.index, parameters); // We forward the call to `search` to the "main" instance of the Helper
244
+ // We forward the call to `search` to the "main" instance of the Helper
279
245
  // which is responsible for managing the queries (it's the only one that is
280
246
  // aware of the `searchClient`).
281
-
282
247
  helper.search = function () {
283
248
  if (instantSearchInstance.onStateChange) {
284
249
  instantSearchInstance.onStateChange({
@@ -286,45 +251,41 @@ var index = function index(widgetParams) {
286
251
  setUiState: function setUiState(nextState) {
287
252
  return instantSearchInstance.setUiState(nextState, false);
288
253
  }
289
- }); // We don't trigger a search when controlled because it becomes the
290
- // responsibility of `setUiState`.
254
+ });
291
255
 
256
+ // We don't trigger a search when controlled because it becomes the
257
+ // responsibility of `setUiState`.
292
258
  return mainHelper;
293
259
  }
294
-
295
260
  return mainHelper.search();
296
261
  };
297
-
298
262
  helper.searchWithoutTriggeringOnStateChange = function () {
299
263
  return mainHelper.search();
300
- }; // We use the same pattern for the `searchForFacetValues`.
301
-
264
+ };
302
265
 
266
+ // We use the same pattern for the `searchForFacetValues`.
303
267
  helper.searchForFacetValues = function (facetName, facetValue, maxFacetHits, userState) {
304
268
  var state = helper.state.setQueryParameters(userState);
305
269
  return mainHelper.searchForFacetValues(facetName, facetValue, maxFacetHits, state);
306
270
  };
307
-
308
271
  derivedHelper = mainHelper.derive(function () {
309
272
  return mergeSearchParameters.apply(void 0, _toConsumableArray(resolveSearchParameters(_this3)));
310
273
  });
311
274
  var indexInitialResults = (_instantSearchInstanc = instantSearchInstance._initialResults) === null || _instantSearchInstanc === void 0 ? void 0 : _instantSearchInstanc[this.getIndexId()];
312
-
313
275
  if (indexInitialResults) {
314
276
  // We restore the shape of the results provided to the instance to respect
315
277
  // the helper's structure.
316
278
  var results = new algoliasearchHelper.SearchResults(new algoliasearchHelper.SearchParameters(indexInitialResults.state), indexInitialResults.results);
317
279
  derivedHelper.lastResults = results;
318
280
  helper.lastResults = results;
319
- } // Subscribe to the Helper state changes for the page before widgets
281
+ }
282
+
283
+ // Subscribe to the Helper state changes for the page before widgets
320
284
  // are initialized. This behavior mimics the original one of the Helper.
321
285
  // It makes sense to replicate it at the `init` step. We have another
322
286
  // listener on `change` below, once `init` is done.
323
-
324
-
325
287
  helper.on('change', function (_ref3) {
326
288
  var isPageReset = _ref3.isPageReset;
327
-
328
289
  if (isPageReset) {
329
290
  resetPageFromWidgets(localWidgets);
330
291
  }
@@ -335,7 +296,6 @@ var index = function index(widgetParams) {
335
296
  // it at the index level because it's either: all of them or none of them
336
297
  // that are stalled. The queries are performed into a single network request.
337
298
  instantSearchInstance.scheduleStalledRender();
338
-
339
299
  if (process.env.NODE_ENV === 'development') {
340
300
  checkIndexUiState({
341
301
  index: _this3,
@@ -348,16 +308,18 @@ var index = function index(widgetParams) {
348
308
  // The index does not render the results it schedules a new render
349
309
  // to let all the other indices emit their own results. It allows us to
350
310
  // run the render process in one pass.
351
- instantSearchInstance.scheduleRender(); // the derived helper is the one which actually searches, but the helper
311
+ instantSearchInstance.scheduleRender();
312
+
313
+ // the derived helper is the one which actually searches, but the helper
352
314
  // which is exposed e.g. via instance.helper, doesn't search, and thus
353
315
  // does not have access to lastResults, which it used to in pre-federated
354
316
  // search behavior.
355
-
356
317
  helper.lastResults = results;
357
- }); // We compute the render state before calling `init` in a separate loop
318
+ });
319
+
320
+ // We compute the render state before calling `init` in a separate loop
358
321
  // to construct the whole render state object that is then passed to
359
322
  // `init`.
360
-
361
323
  localWidgets.forEach(function (widget) {
362
324
  if (widget.getRenderState) {
363
325
  var renderState = widget.getRenderState(instantSearchInstance.renderState[_this3.getIndexId()] || {}, createInitArgs(instantSearchInstance, _this3, uiState));
@@ -369,34 +331,35 @@ var index = function index(widgetParams) {
369
331
  }
370
332
  });
371
333
  localWidgets.forEach(function (widget) {
372
- process.env.NODE_ENV === 'development' ? warning( // if it has NO getWidgetState or if it has getWidgetUiState, we don't warn
334
+ process.env.NODE_ENV === 'development' ? warning(
335
+ // if it has NO getWidgetState or if it has getWidgetUiState, we don't warn
373
336
  // aka we warn if there's _only_ getWidgetState
374
337
  !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;
375
-
376
338
  if (widget.init) {
377
339
  widget.init(createInitArgs(instantSearchInstance, _this3, uiState));
378
340
  }
379
- }); // Subscribe to the Helper state changes for the `uiState` once widgets
341
+ });
342
+
343
+ // Subscribe to the Helper state changes for the `uiState` once widgets
380
344
  // are initialized. Until the first render, state changes are part of the
381
345
  // configuration step. This is mainly for backward compatibility with custom
382
346
  // widgets. When the subscription happens before the `init` step, the (static)
383
347
  // configuration of the widget is pushed in the URL. That's what we want to avoid.
384
348
  // https://github.com/algolia/instantsearch.js/pull/994/commits/4a672ae3fd78809e213de0368549ef12e9dc9454
385
-
386
349
  helper.on('change', function (event) {
387
350
  var state = event.state;
388
351
  var _uiState = event._uiState;
389
352
  localUiState = getLocalWidgetsUiState(localWidgets, {
390
353
  searchParameters: state,
391
354
  helper: helper
392
- }, _uiState || {}); // We don't trigger an internal change when controlled because it
393
- // becomes the responsibility of `setUiState`.
355
+ }, _uiState || {});
394
356
 
357
+ // We don't trigger an internal change when controlled because it
358
+ // becomes the responsibility of `setUiState`.
395
359
  if (!instantSearchInstance.onStateChange) {
396
360
  instantSearchInstance.onInternalStateChange();
397
361
  }
398
362
  });
399
-
400
363
  if (indexInitialResults) {
401
364
  // If there are initial results, we're not notified of the next results
402
365
  // because we don't trigger an initial search. We therefore need to directly
@@ -406,13 +369,10 @@ var index = function index(widgetParams) {
406
369
  },
407
370
  render: function render(_ref5) {
408
371
  var _this4 = this;
409
-
410
372
  var instantSearchInstance = _ref5.instantSearchInstance;
411
-
412
373
  if (!this.getResults()) {
413
374
  return;
414
375
  }
415
-
416
376
  localWidgets.forEach(function (widget) {
417
377
  if (widget.getRenderState) {
418
378
  var renderState = widget.getRenderState(instantSearchInstance.renderState[_this4.getIndexId()] || {}, createRenderArgs(instantSearchInstance, _this4));
@@ -430,6 +390,7 @@ var index = function index(widgetParams) {
430
390
  // happens before the result e.g with a dynamically added index the request might
431
391
  // be delayed. The render is triggered for the complete tree but some parts do
432
392
  // not have results yet.
393
+
433
394
  if (widget.render) {
434
395
  widget.render(createRenderArgs(instantSearchInstance, _this4));
435
396
  }
@@ -437,7 +398,6 @@ var index = function index(widgetParams) {
437
398
  },
438
399
  dispose: function dispose() {
439
400
  var _this5 = this;
440
-
441
401
  localWidgets.forEach(function (widget) {
442
402
  if (widget.dispose) {
443
403
  // The dispose function is always called once the instance is started
@@ -484,13 +444,11 @@ var index = function index(widgetParams) {
484
444
  }
485
445
  };
486
446
  };
487
-
488
447
  export default index;
489
-
490
448
  function storeRenderState(_ref7) {
491
449
  var renderState = _ref7.renderState,
492
- instantSearchInstance = _ref7.instantSearchInstance,
493
- parent = _ref7.parent;
450
+ instantSearchInstance = _ref7.instantSearchInstance,
451
+ parent = _ref7.parent;
494
452
  var parentIndexName = parent ? parent.getIndexId() : instantSearchInstance.mainIndex.getIndexId();
495
453
  instantSearchInstance.renderState = _objectSpread(_objectSpread({}, instantSearchInstance.renderState), {}, _defineProperty({}, parentIndexName, _objectSpread(_objectSpread({}, instantSearchInstance.renderState[parentIndexName]), renderState)));
496
454
  }
@@ -3,7 +3,8 @@ export { default as breadcrumb } from './breadcrumb/breadcrumb';
3
3
  export { default as clearRefinements } from './clear-refinements/clear-refinements';
4
4
  export { default as configure } from './configure/configure';
5
5
  export { default as currentRefinements } from './current-refinements/current-refinements';
6
- export { default as EXPERIMENTAL_answers } from './answers/answers';
6
+ /** @deprecated answers is no longer supported */
7
+ export declare const EXPERIMENTAL_answers: import("./answers/answers").AnswersWidget;
7
8
  export { default as EXPERIMENTAL_configureRelatedItems } from './configure-related-items/configure-related-items';
8
9
  import dynamicWidgets from './dynamic-widgets/dynamic-widgets';
9
10
  export { dynamicWidgets };
@@ -1,15 +1,16 @@
1
+ import { deprecate } from "../lib/utils/index.js";
1
2
  export { default as analytics } from "./analytics/analytics.js";
2
3
  export { default as breadcrumb } from "./breadcrumb/breadcrumb.js";
3
4
  export { default as clearRefinements } from "./clear-refinements/clear-refinements.js";
4
5
  export { default as configure } from "./configure/configure.js";
5
6
  export { default as currentRefinements } from "./current-refinements/current-refinements.js";
6
- export { default as EXPERIMENTAL_answers } from "./answers/answers.js";
7
+ import answers from "./answers/answers.js";
8
+ /** @deprecated answers is no longer supported */
9
+ export var EXPERIMENTAL_answers = deprecate(answers, 'answers is no longer supported');
7
10
  export { default as EXPERIMENTAL_configureRelatedItems } from "./configure-related-items/configure-related-items.js";
8
11
  import dynamicWidgets from "./dynamic-widgets/dynamic-widgets.js";
9
12
  export { dynamicWidgets };
10
- import { deprecate } from "../lib/utils/index.js";
11
13
  /** @deprecated use dynamicWidgets */
12
-
13
14
  export var EXPERIMENTAL_dynamicWidgets = deprecate(dynamicWidgets, 'use dynamicWidgets');
14
15
  export { default as geoSearch } from "./geo-search/geo-search.js";
15
16
  export { default as hierarchicalMenu } from "./hierarchical-menu/hierarchical-menu.js";
@@ -1,7 +1,5 @@
1
- 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; }
2
-
3
- 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; }
4
-
1
+ 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; }
2
+ 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; }
5
3
  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; }
6
4
 
7
5
  import { h, render } from 'preact';
@@ -18,24 +16,22 @@ var withUsage = createDocumentationMessageGenerator({
18
16
  });
19
17
  var suit = component('InfiniteHits');
20
18
  var InfiniteHitsWithInsightsListener = withInsightsListener(InfiniteHits);
21
-
22
19
  var renderer = function renderer(_ref) {
23
20
  var containerNode = _ref.containerNode,
24
- cssClasses = _ref.cssClasses,
25
- renderState = _ref.renderState,
26
- templates = _ref.templates,
27
- hasShowPrevious = _ref.showPrevious;
21
+ cssClasses = _ref.cssClasses,
22
+ renderState = _ref.renderState,
23
+ templates = _ref.templates,
24
+ hasShowPrevious = _ref.showPrevious;
28
25
  return function (_ref2, isFirstRendering) {
29
26
  var hits = _ref2.hits,
30
- results = _ref2.results,
31
- showMore = _ref2.showMore,
32
- showPrevious = _ref2.showPrevious,
33
- isFirstPage = _ref2.isFirstPage,
34
- isLastPage = _ref2.isLastPage,
35
- instantSearchInstance = _ref2.instantSearchInstance,
36
- insights = _ref2.insights,
37
- bindEvent = _ref2.bindEvent;
38
-
27
+ results = _ref2.results,
28
+ showMore = _ref2.showMore,
29
+ showPrevious = _ref2.showPrevious,
30
+ isFirstPage = _ref2.isFirstPage,
31
+ isLastPage = _ref2.isLastPage,
32
+ instantSearchInstance = _ref2.instantSearchInstance,
33
+ insights = _ref2.insights,
34
+ bindEvent = _ref2.bindEvent;
39
35
  if (isFirstRendering) {
40
36
  renderState.templateProps = prepareTemplateProps({
41
37
  defaultTemplates: defaultTemplates,
@@ -44,7 +40,6 @@ var renderer = function renderer(_ref) {
44
40
  });
45
41
  return;
46
42
  }
47
-
48
43
  render(h(InfiniteHitsWithInsightsListener, {
49
44
  cssClasses: cssClasses,
50
45
  hits: hits,
@@ -63,23 +58,20 @@ var renderer = function renderer(_ref) {
63
58
  }), containerNode);
64
59
  };
65
60
  };
66
-
67
61
  var infiniteHits = function infiniteHits(widgetParams) {
68
62
  var _ref3 = widgetParams || {},
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;
78
-
63
+ container = _ref3.container,
64
+ escapeHTML = _ref3.escapeHTML,
65
+ transformItems = _ref3.transformItems,
66
+ _ref3$templates = _ref3.templates,
67
+ templates = _ref3$templates === void 0 ? {} : _ref3$templates,
68
+ _ref3$cssClasses = _ref3.cssClasses,
69
+ userCssClasses = _ref3$cssClasses === void 0 ? {} : _ref3$cssClasses,
70
+ showPrevious = _ref3.showPrevious,
71
+ cache = _ref3.cache;
79
72
  if (!container) {
80
73
  throw new Error(withUsage('The `container` option is required.'));
81
74
  }
82
-
83
75
  var containerNode = getContainerNode(container);
84
76
  var cssClasses = {
85
77
  root: cx(suit(), userCssClasses.root),
@@ -126,5 +118,4 @@ var infiniteHits = function infiniteHits(widgetParams) {
126
118
  $$widgetType: 'ais.infiniteHits'
127
119
  });
128
120
  };
129
-
130
121
  export default infiniteHits;
@@ -1,12 +1,13 @@
1
+
1
2
  import { h } from 'preact';
2
3
  import { formatNumber } from "../../lib/formatNumber.js";
3
4
  import { cx } from '@algolia/ui-components-shared';
4
5
  var defaultTemplates = {
5
6
  item: function item(_ref) {
6
7
  var cssClasses = _ref.cssClasses,
7
- url = _ref.url,
8
- label = _ref.label,
9
- count = _ref.count;
8
+ url = _ref.url,
9
+ label = _ref.label,
10
+ count = _ref.count;
10
11
  return h("a", {
11
12
  className: cx(cssClasses.link),
12
13
  href: url
@@ -1,7 +1,5 @@
1
- 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; }
2
-
3
- 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; }
4
-
1
+ 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; }
2
+ 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; }
5
3
  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; }
6
4
 
7
5
  import { h, render } from 'preact';
@@ -16,22 +14,20 @@ var withUsage = createDocumentationMessageGenerator({
16
14
  name: 'menu'
17
15
  });
18
16
  var suit = component('Menu');
19
-
20
17
  var renderer = function renderer(_ref) {
21
18
  var containerNode = _ref.containerNode,
22
- cssClasses = _ref.cssClasses,
23
- renderState = _ref.renderState,
24
- templates = _ref.templates,
25
- showMore = _ref.showMore;
19
+ cssClasses = _ref.cssClasses,
20
+ renderState = _ref.renderState,
21
+ templates = _ref.templates,
22
+ showMore = _ref.showMore;
26
23
  return function (_ref2, isFirstRendering) {
27
24
  var refine = _ref2.refine,
28
- items = _ref2.items,
29
- createURL = _ref2.createURL,
30
- instantSearchInstance = _ref2.instantSearchInstance,
31
- isShowingMore = _ref2.isShowingMore,
32
- toggleShowMore = _ref2.toggleShowMore,
33
- canToggleShowMore = _ref2.canToggleShowMore;
34
-
25
+ items = _ref2.items,
26
+ createURL = _ref2.createURL,
27
+ instantSearchInstance = _ref2.instantSearchInstance,
28
+ isShowingMore = _ref2.isShowingMore,
29
+ toggleShowMore = _ref2.toggleShowMore,
30
+ canToggleShowMore = _ref2.canToggleShowMore;
35
31
  if (isFirstRendering) {
36
32
  renderState.templateProps = prepareTemplateProps({
37
33
  defaultTemplates: defaultTemplates,
@@ -40,7 +36,6 @@ var renderer = function renderer(_ref) {
40
36
  });
41
37
  return;
42
38
  }
43
-
44
39
  var facetValues = items.map(function (facetValue) {
45
40
  return _objectSpread(_objectSpread({}, facetValue), {}, {
46
41
  url: createURL(facetValue.value)
@@ -59,25 +54,22 @@ var renderer = function renderer(_ref) {
59
54
  }), containerNode);
60
55
  };
61
56
  };
62
-
63
57
  var menu = function menu(widgetParams) {
64
58
  var _ref3 = widgetParams || {},
65
- container = _ref3.container,
66
- attribute = _ref3.attribute,
67
- sortBy = _ref3.sortBy,
68
- limit = _ref3.limit,
69
- showMore = _ref3.showMore,
70
- showMoreLimit = _ref3.showMoreLimit,
71
- _ref3$cssClasses = _ref3.cssClasses,
72
- userCssClasses = _ref3$cssClasses === void 0 ? {} : _ref3$cssClasses,
73
- _ref3$templates = _ref3.templates,
74
- templates = _ref3$templates === void 0 ? {} : _ref3$templates,
75
- transformItems = _ref3.transformItems;
76
-
59
+ container = _ref3.container,
60
+ attribute = _ref3.attribute,
61
+ sortBy = _ref3.sortBy,
62
+ limit = _ref3.limit,
63
+ showMore = _ref3.showMore,
64
+ showMoreLimit = _ref3.showMoreLimit,
65
+ _ref3$cssClasses = _ref3.cssClasses,
66
+ userCssClasses = _ref3$cssClasses === void 0 ? {} : _ref3$cssClasses,
67
+ _ref3$templates = _ref3.templates,
68
+ templates = _ref3$templates === void 0 ? {} : _ref3$templates,
69
+ transformItems = _ref3.transformItems;
77
70
  if (!container) {
78
71
  throw new Error(withUsage('The `container` option is required.'));
79
72
  }
80
-
81
73
  var containerNode = getContainerNode(container);
82
74
  var cssClasses = {
83
75
  root: cx(suit(), userCssClasses.root),
@@ -132,5 +124,4 @@ var menu = function menu(widgetParams) {
132
124
  $$widgetType: 'ais.menu'
133
125
  });
134
126
  };
135
-
136
127
  export default menu;