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
@@ -1,117 +1,96 @@
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 _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; }
8
-
9
5
  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; }
10
-
11
6
  import { findIndex } from "./findIndex.js";
12
7
  import { uniq } from "./uniq.js";
13
-
14
8
  var mergeWithRest = function mergeWithRest(left, right) {
15
9
  var facets = right.facets,
16
- disjunctiveFacets = right.disjunctiveFacets,
17
- facetsRefinements = right.facetsRefinements,
18
- facetsExcludes = right.facetsExcludes,
19
- disjunctiveFacetsRefinements = right.disjunctiveFacetsRefinements,
20
- numericRefinements = right.numericRefinements,
21
- tagRefinements = right.tagRefinements,
22
- hierarchicalFacets = right.hierarchicalFacets,
23
- hierarchicalFacetsRefinements = right.hierarchicalFacetsRefinements,
24
- ruleContexts = right.ruleContexts,
25
- rest = _objectWithoutProperties(right, ["facets", "disjunctiveFacets", "facetsRefinements", "facetsExcludes", "disjunctiveFacetsRefinements", "numericRefinements", "tagRefinements", "hierarchicalFacets", "hierarchicalFacetsRefinements", "ruleContexts"]);
26
-
10
+ disjunctiveFacets = right.disjunctiveFacets,
11
+ facetsRefinements = right.facetsRefinements,
12
+ facetsExcludes = right.facetsExcludes,
13
+ disjunctiveFacetsRefinements = right.disjunctiveFacetsRefinements,
14
+ numericRefinements = right.numericRefinements,
15
+ tagRefinements = right.tagRefinements,
16
+ hierarchicalFacets = right.hierarchicalFacets,
17
+ hierarchicalFacetsRefinements = right.hierarchicalFacetsRefinements,
18
+ ruleContexts = right.ruleContexts,
19
+ rest = _objectWithoutProperties(right, ["facets", "disjunctiveFacets", "facetsRefinements", "facetsExcludes", "disjunctiveFacetsRefinements", "numericRefinements", "tagRefinements", "hierarchicalFacets", "hierarchicalFacetsRefinements", "ruleContexts"]);
27
20
  return left.setQueryParameters(rest);
28
- }; // Merge facets
29
-
21
+ };
30
22
 
23
+ // Merge facets
31
24
  var mergeFacets = function mergeFacets(left, right) {
32
25
  return right.facets.reduce(function (_, name) {
33
26
  return _.addFacet(name);
34
27
  }, left);
35
28
  };
36
-
37
29
  var mergeDisjunctiveFacets = function mergeDisjunctiveFacets(left, right) {
38
30
  return right.disjunctiveFacets.reduce(function (_, name) {
39
31
  return _.addDisjunctiveFacet(name);
40
32
  }, left);
41
33
  };
42
-
43
34
  var mergeHierarchicalFacets = function mergeHierarchicalFacets(left, right) {
44
35
  return left.setQueryParameters({
45
36
  hierarchicalFacets: right.hierarchicalFacets.reduce(function (facets, facet) {
46
37
  var index = findIndex(facets, function (_) {
47
38
  return _.name === facet.name;
48
39
  });
49
-
50
40
  if (index === -1) {
51
41
  return facets.concat(facet);
52
42
  }
53
-
54
43
  var nextFacets = facets.slice();
55
44
  nextFacets.splice(index, 1, facet);
56
45
  return nextFacets;
57
46
  }, left.hierarchicalFacets)
58
47
  });
59
- }; // Merge facet refinements
60
-
48
+ };
61
49
 
50
+ // Merge facet refinements
62
51
  var mergeTagRefinements = function mergeTagRefinements(left, right) {
63
52
  return right.tagRefinements.reduce(function (_, value) {
64
53
  return _.addTagRefinement(value);
65
54
  }, left);
66
55
  };
67
-
68
56
  var mergeFacetRefinements = function mergeFacetRefinements(left, right) {
69
57
  return left.setQueryParameters({
70
58
  facetsRefinements: _objectSpread(_objectSpread({}, left.facetsRefinements), right.facetsRefinements)
71
59
  });
72
60
  };
73
-
74
61
  var mergeFacetsExcludes = function mergeFacetsExcludes(left, right) {
75
62
  return left.setQueryParameters({
76
63
  facetsExcludes: _objectSpread(_objectSpread({}, left.facetsExcludes), right.facetsExcludes)
77
64
  });
78
65
  };
79
-
80
66
  var mergeDisjunctiveFacetsRefinements = function mergeDisjunctiveFacetsRefinements(left, right) {
81
67
  return left.setQueryParameters({
82
68
  disjunctiveFacetsRefinements: _objectSpread(_objectSpread({}, left.disjunctiveFacetsRefinements), right.disjunctiveFacetsRefinements)
83
69
  });
84
70
  };
85
-
86
71
  var mergeNumericRefinements = function mergeNumericRefinements(left, right) {
87
72
  return left.setQueryParameters({
88
73
  numericRefinements: _objectSpread(_objectSpread({}, left.numericRefinements), right.numericRefinements)
89
74
  });
90
75
  };
91
-
92
76
  var mergeHierarchicalFacetsRefinements = function mergeHierarchicalFacetsRefinements(left, right) {
93
77
  return left.setQueryParameters({
94
78
  hierarchicalFacetsRefinements: _objectSpread(_objectSpread({}, left.hierarchicalFacetsRefinements), right.hierarchicalFacetsRefinements)
95
79
  });
96
80
  };
97
-
98
81
  var mergeRuleContexts = function mergeRuleContexts(left, right) {
99
82
  var ruleContexts = uniq([].concat(left.ruleContexts).concat(right.ruleContexts).filter(Boolean));
100
-
101
83
  if (ruleContexts.length > 0) {
102
84
  return left.setQueryParameters({
103
85
  ruleContexts: ruleContexts
104
86
  });
105
87
  }
106
-
107
88
  return left;
108
89
  };
109
-
110
90
  export var mergeSearchParameters = function mergeSearchParameters() {
111
91
  for (var _len = arguments.length, parameters = new Array(_len), _key = 0; _key < _len; _key++) {
112
92
  parameters[_key] = arguments[_key];
113
93
  }
114
-
115
94
  return parameters.reduce(function (left, right) {
116
95
  var hierarchicalFacetsRefinementsMerged = mergeHierarchicalFacetsRefinements(left, right);
117
96
  var hierarchicalFacetsMerged = mergeHierarchicalFacets(hierarchicalFacetsRefinementsMerged, right);
@@ -1,28 +1,23 @@
1
1
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
-
3
2
  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."); }
4
-
5
3
  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); }
6
-
7
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
8
-
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
9
5
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
10
-
11
6
  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; }
12
-
13
7
  export function range(_ref) {
14
8
  var _ref$start = _ref.start,
15
- start = _ref$start === void 0 ? 0 : _ref$start,
16
- end = _ref.end,
17
- _ref$step = _ref.step,
18
- step = _ref$step === void 0 ? 1 : _ref$step;
9
+ start = _ref$start === void 0 ? 0 : _ref$start,
10
+ end = _ref.end,
11
+ _ref$step = _ref.step,
12
+ step = _ref$step === void 0 ? 1 : _ref$step;
19
13
  // We can't divide by 0 so we re-assign the step to 1 if it happens.
20
- var limitStep = step === 0 ? 1 : step; // In some cases the array to create has a decimal length.
14
+ var limitStep = step === 0 ? 1 : step;
15
+
16
+ // In some cases the array to create has a decimal length.
21
17
  // We therefore need to round the value.
22
18
  // Example:
23
19
  // { start: 1, end: 5000, step: 500 }
24
20
  // => Array length = (5000 - 1) / 500 = 9.998
25
-
26
21
  var arrayLength = Math.round((end - start) / limitStep);
27
22
  return _toConsumableArray(Array(arrayLength)).map(function (_, current) {
28
23
  return start + current * limitStep;
@@ -1,11 +1,9 @@
1
1
  export function resolveSearchParameters(current) {
2
2
  var parent = current.getParent();
3
3
  var states = [current.getHelper().state];
4
-
5
4
  while (parent !== null) {
6
5
  states = [parent.getHelper().state].concat(states);
7
6
  parent = parent.getParent();
8
7
  }
9
-
10
8
  return states;
11
9
  }
@@ -1,9 +1,6 @@
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
  import { getHighlightFromSiblings } from "./getHighlightFromSiblings.js";
8
5
  export function reverseHighlightedParts(parts) {
9
6
  if (!parts.some(function (part) {
@@ -15,7 +12,6 @@ export function reverseHighlightedParts(parts) {
15
12
  });
16
13
  });
17
14
  }
18
-
19
15
  return parts.map(function (part, i) {
20
16
  return _objectSpread(_objectSpread({}, part), {}, {
21
17
  isHighlighted: !getHighlightFromSiblings(parts, i)
@@ -5,18 +5,17 @@
5
5
  */
6
6
  export function safelyRunOnBrowser(callback) {
7
7
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
8
- fallback: function fallback() {
9
- return undefined;
10
- }
11
- },
12
- fallback = _ref.fallback;
13
-
8
+ fallback: function fallback() {
9
+ return undefined;
10
+ }
11
+ },
12
+ fallback = _ref.fallback;
14
13
  // eslint-disable-next-line no-restricted-globals
15
14
  if (typeof window === 'undefined') {
16
15
  return fallback();
17
- } // eslint-disable-next-line no-restricted-globals
18
-
16
+ }
19
17
 
18
+ // eslint-disable-next-line no-restricted-globals
20
19
  return callback({
21
20
  window: window
22
21
  });
@@ -2,14 +2,12 @@ import { isIndexWidget } from "./isIndexWidget.js";
2
2
  import { checkIndexUiState } from "./checkIndexUiState.js";
3
3
  export function setIndexHelperState(finalUiState, indexWidget) {
4
4
  var nextIndexUiState = finalUiState[indexWidget.getIndexId()] || {};
5
-
6
5
  if (process.env.NODE_ENV === 'development') {
7
6
  checkIndexUiState({
8
7
  index: indexWidget,
9
8
  indexUiState: nextIndexUiState
10
9
  });
11
10
  }
12
-
13
11
  indexWidget.getHelper().setState(indexWidget.getWidgetSearchParameters(indexWidget.getHelper().state, {
14
12
  uiState: nextIndexUiState
15
13
  }));
@@ -1,2 +1,2 @@
1
- declare const _default: "4.49.1";
1
+ declare const _default: "4.49.2";
2
2
  export default _default;
package/es/lib/version.js CHANGED
@@ -1 +1 @@
1
- export default '4.49.1';
1
+ export default '4.49.2';
@@ -1,22 +1,17 @@
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
  // `SpeechRecognition` is an API used on the browser so we can safely disable
8
5
  // the `window` check.
9
-
10
6
  /* eslint-disable no-restricted-globals */
11
-
12
7
  /* global SpeechRecognition SpeechRecognitionEvent */
8
+
13
9
  var createVoiceSearchHelper = function createVoiceSearchHelper(_ref) {
14
10
  var searchAsYouSpeak = _ref.searchAsYouSpeak,
15
- language = _ref.language,
16
- onQueryChange = _ref.onQueryChange,
17
- onStateChange = _ref.onStateChange;
11
+ language = _ref.language,
12
+ onQueryChange = _ref.onQueryChange,
13
+ onStateChange = _ref.onStateChange;
18
14
  var SpeechRecognitionAPI = window.webkitSpeechRecognition || window.SpeechRecognition;
19
-
20
15
  var getDefaultState = function getDefaultState(status) {
21
16
  return {
22
17
  status: status,
@@ -25,96 +20,77 @@ var createVoiceSearchHelper = function createVoiceSearchHelper(_ref) {
25
20
  errorCode: undefined
26
21
  };
27
22
  };
28
-
29
23
  var state = getDefaultState('initial');
30
24
  var recognition;
31
-
32
25
  var isBrowserSupported = function isBrowserSupported() {
33
26
  return Boolean(SpeechRecognitionAPI);
34
27
  };
35
-
36
28
  var isListening = function isListening() {
37
29
  return state.status === 'askingPermission' || state.status === 'waiting' || state.status === 'recognizing';
38
30
  };
39
-
40
31
  var setState = function setState() {
41
32
  var newState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
42
33
  state = _objectSpread(_objectSpread({}, state), newState);
43
34
  onStateChange();
44
35
  };
45
-
46
36
  var getState = function getState() {
47
37
  return state;
48
38
  };
49
-
50
39
  var resetState = function resetState() {
51
40
  var status = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'initial';
52
41
  setState(getDefaultState(status));
53
42
  };
54
-
55
43
  var onStart = function onStart() {
56
44
  setState({
57
45
  status: 'waiting'
58
46
  });
59
47
  };
60
-
61
48
  var onError = function onError(event) {
62
49
  setState({
63
50
  status: 'error',
64
51
  errorCode: event.error
65
52
  });
66
53
  };
67
-
68
54
  var onResult = function onResult(event) {
69
55
  setState({
70
56
  status: 'recognizing',
71
57
  transcript: event.results[0] && event.results[0][0] && event.results[0][0].transcript || '',
72
58
  isSpeechFinal: event.results[0] && event.results[0].isFinal
73
59
  });
74
-
75
60
  if (searchAsYouSpeak && state.transcript) {
76
61
  onQueryChange(state.transcript);
77
62
  }
78
63
  };
79
-
80
64
  var onEnd = function onEnd() {
81
65
  if (!state.errorCode && state.transcript && !searchAsYouSpeak) {
82
66
  onQueryChange(state.transcript);
83
67
  }
84
-
85
68
  if (state.status !== 'error') {
86
69
  setState({
87
70
  status: 'finished'
88
71
  });
89
72
  }
90
73
  };
91
-
92
74
  var startListening = function startListening() {
93
75
  recognition = new SpeechRecognitionAPI();
94
-
95
76
  if (!recognition) {
96
77
  return;
97
78
  }
98
-
99
79
  resetState('askingPermission');
100
80
  recognition.interimResults = true;
101
-
102
81
  if (language) {
103
82
  recognition.lang = language;
104
83
  }
105
-
106
84
  recognition.addEventListener('start', onStart);
107
85
  recognition.addEventListener('error', onError);
108
86
  recognition.addEventListener('result', onResult);
109
87
  recognition.addEventListener('end', onEnd);
110
88
  recognition.start();
111
89
  };
112
-
113
90
  var dispose = function dispose() {
114
91
  if (!recognition) {
115
92
  return;
116
93
  }
117
-
118
94
  recognition.stop();
119
95
  recognition.removeEventListener('start', onStart);
120
96
  recognition.removeEventListener('error', onError);
@@ -122,15 +98,13 @@ var createVoiceSearchHelper = function createVoiceSearchHelper(_ref) {
122
98
  recognition.removeEventListener('end', onEnd);
123
99
  recognition = undefined;
124
100
  };
125
-
126
101
  var stopListening = function stopListening() {
127
- dispose(); // Because `dispose` removes event listeners, `end` listener is not called.
102
+ dispose();
103
+ // Because `dispose` removes event listeners, `end` listener is not called.
128
104
  // So we're setting the `status` as `finished` here.
129
105
  // If we don't do it, it will be still `waiting` or `recognizing`.
130
-
131
106
  resetState('finished');
132
107
  };
133
-
134
108
  return {
135
109
  getState: getState,
136
110
  isBrowserSupported: isBrowserSupported,
@@ -140,5 +114,4 @@ var createVoiceSearchHelper = function createVoiceSearchHelper(_ref) {
140
114
  dispose: dispose
141
115
  };
142
116
  };
143
-
144
117
  export default createVoiceSearchHelper;
@@ -1,29 +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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
-
9
5
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure 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
7
  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; }
14
-
15
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
16
-
8
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
17
9
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
-
19
10
  import { getInsightsAnonymousUserTokenInternal } from "../helpers/index.js";
20
11
  import { warning, noop, getAppIdAndApiKey, find } from "../lib/utils/index.js";
21
12
  export function createInsightsMiddleware(props) {
22
13
  var _ref = props || {},
23
- _insightsClient = _ref.insightsClient,
24
- insightsInitParams = _ref.insightsInitParams,
25
- onEvent = _ref.onEvent;
26
-
14
+ _insightsClient = _ref.insightsClient,
15
+ insightsInitParams = _ref.insightsInitParams,
16
+ onEvent = _ref.onEvent;
27
17
  if (_insightsClient !== null && !_insightsClient) {
28
18
  if (process.env.NODE_ENV === 'development') {
29
19
  throw new Error("The `insightsClient` option is required if you want userToken to be automatically set in search calls. If you don't want this behaviour, set it to `null`.");
@@ -31,25 +21,19 @@ export function createInsightsMiddleware(props) {
31
21
  throw new Error('The `insightsClient` option is required. To disable, set it to `null`.');
32
22
  }
33
23
  }
34
-
35
24
  var hasInsightsClient = Boolean(_insightsClient);
36
25
  var insightsClient = _insightsClient === null ? noop : _insightsClient;
37
26
  return function (_ref2) {
38
27
  var instantSearchInstance = _ref2.instantSearchInstance;
39
-
40
28
  var _getAppIdAndApiKey = getAppIdAndApiKey(instantSearchInstance.client),
41
- _getAppIdAndApiKey2 = _slicedToArray(_getAppIdAndApiKey, 2),
42
- appId = _getAppIdAndApiKey2[0],
43
- apiKey = _getAppIdAndApiKey2[1]; // search-insights.js also throws an error so dev-only clarification is sufficient
44
-
45
-
29
+ _getAppIdAndApiKey2 = _slicedToArray(_getAppIdAndApiKey, 2),
30
+ appId = _getAppIdAndApiKey2[0],
31
+ apiKey = _getAppIdAndApiKey2[1]; // search-insights.js also throws an error so dev-only clarification is sufficient
46
32
  if (process.env.NODE_ENV === 'development' && !(appId && apiKey)) {
47
33
  throw new Error('[insights middleware]: could not extract Algolia credentials from searchClient');
48
34
  }
49
-
50
35
  var queuedUserToken = undefined;
51
36
  var userTokenBeforeInit = undefined;
52
-
53
37
  if (Array.isArray(insightsClient.queue)) {
54
38
  // Context: The umd build of search-insights is asynchronously loaded by the snippet.
55
39
  //
@@ -63,16 +47,12 @@ export function createInsightsMiddleware(props) {
63
47
  // Otherwise, the first search call will be fired without the token.
64
48
  var _ref3 = find(insightsClient.queue.slice().reverse(), function (_ref5) {
65
49
  var _ref6 = _slicedToArray(_ref5, 1),
66
- method = _ref6[0];
67
-
50
+ method = _ref6[0];
68
51
  return method === 'setUserToken';
69
52
  }) || [];
70
-
71
53
  var _ref4 = _slicedToArray(_ref3, 2);
72
-
73
54
  queuedUserToken = _ref4[1];
74
55
  }
75
-
76
56
  insightsClient('getUserToken', null, function (_error, userToken) {
77
57
  // If user has called `aa('setUserToken', 'my-user-token')` before creating
78
58
  // the `insights` middleware, we store them temporarily and
@@ -101,41 +81,36 @@ export function createInsightsMiddleware(props) {
101
81
  clickAnalytics: true
102
82
  }));
103
83
  instantSearchInstance.scheduleSearch();
104
-
105
84
  var setUserTokenToSearch = function setUserTokenToSearch(userToken) {
106
85
  helper.overrideStateWithoutTriggeringChangeEvent(_objectSpread(_objectSpread({}, helper.state), {}, {
107
86
  userToken: userToken
108
87
  }));
109
88
  instantSearchInstance.scheduleSearch();
110
89
  };
111
-
112
90
  var anonymousUserToken = getInsightsAnonymousUserTokenInternal();
113
-
114
91
  if (hasInsightsClient && anonymousUserToken) {
115
92
  // When `aa('init', { ... })` is called, it creates an anonymous user token in cookie.
116
93
  // We can set it as userToken.
117
94
  setUserTokenToSearch(anonymousUserToken);
118
- } // We consider the `userToken` coming from a `init` call to have a higher
119
- // importance than the one coming from the queue.
120
-
95
+ }
121
96
 
97
+ // We consider the `userToken` coming from a `init` call to have a higher
98
+ // importance than the one coming from the queue.
122
99
  if (userTokenBeforeInit) {
123
100
  insightsClient('setUserToken', userTokenBeforeInit);
124
101
  } else if (queuedUserToken) {
125
102
  insightsClient('setUserToken', queuedUserToken);
126
- } // This updates userToken which is set explicitly by `aa('setUserToken', userToken)`
127
-
103
+ }
128
104
 
105
+ // This updates userToken which is set explicitly by `aa('setUserToken', userToken)`
129
106
  insightsClient('onUserTokenChange', setUserTokenToSearch, {
130
107
  immediate: true
131
108
  });
132
-
133
109
  instantSearchInstance.sendEventToInsights = function (event) {
134
110
  if (onEvent) {
135
111
  onEvent(event, _insightsClient);
136
112
  } else if (event.insightsMethod) {
137
113
  var hasUserToken = Boolean(helper.state.userToken);
138
-
139
114
  if (hasUserToken) {
140
115
  insightsClient(event.insightsMethod, event.payload);
141
116
  } else {
@@ -149,7 +124,6 @@ export function createInsightsMiddleware(props) {
149
124
  unsubscribe: function unsubscribe() {
150
125
  insightsClient('onUserTokenChange', undefined);
151
126
  instantSearchInstance.sendEventToInsights = noop;
152
-
153
127
  if (helper && initialParameters) {
154
128
  helper.setState(_objectSpread(_objectSpread({}, helper.state), initialParameters));
155
129
  instantSearchInstance.scheduleSearch();
@@ -1,20 +1,17 @@
1
1
  import { createInitArgs, safelyRunOnBrowser } from "../lib/utils/index.js";
2
-
3
2
  function extractPayload(widgets, instantSearchInstance, payload) {
4
3
  var initOptions = createInitArgs(instantSearchInstance, instantSearchInstance.mainIndex, instantSearchInstance._initialUiState);
5
4
  widgets.forEach(function (widget) {
6
5
  var widgetParams = {};
7
-
8
6
  if (widget.getWidgetRenderState) {
9
7
  var renderState = widget.getWidgetRenderState(initOptions);
10
-
11
8
  if (renderState && renderState.widgetParams) {
12
9
  // casting, as we just earlier checked widgetParams exists, and thus an object
13
10
  widgetParams = renderState.widgetParams;
14
11
  }
15
- } // since we destructure in all widgets, the parameters with defaults are set to "undefined"
16
-
12
+ }
17
13
 
14
+ // since we destructure in all widgets, the parameters with defaults are set to "undefined"
18
15
  var params = Object.keys(widgetParams).filter(function (key) {
19
16
  return widgetParams[key] !== undefined;
20
17
  });
@@ -23,17 +20,14 @@ function extractPayload(widgets, instantSearchInstance, payload) {
23
20
  widgetType: widget.$$widgetType,
24
21
  params: params
25
22
  });
26
-
27
23
  if (widget.$$type === 'ais.index') {
28
24
  extractPayload(widget.getWidgets(), instantSearchInstance, payload);
29
25
  }
30
26
  });
31
27
  }
32
-
33
28
  export function isMetadataEnabled() {
34
29
  return safelyRunOnBrowser(function (_ref) {
35
30
  var _window$navigator, _window$navigator$use;
36
-
37
31
  var window = _ref.window;
38
32
  return ((_window$navigator = window.navigator) === null || _window$navigator === void 0 ? void 0 : (_window$navigator$use = _window$navigator.userAgent) === null || _window$navigator$use === void 0 ? void 0 : _window$navigator$use.indexOf('Algolia Crawler')) > -1;
39
33
  }, {
@@ -42,6 +36,7 @@ export function isMetadataEnabled() {
42
36
  }
43
37
  });
44
38
  }
39
+
45
40
  /**
46
41
  * Exposes the metadata of mounted widgets in a custom
47
42
  * `<meta name="instantsearch:widgets" />` tag. The metadata per widget is:
@@ -49,7 +44,6 @@ export function isMetadataEnabled() {
49
44
  * - widget name
50
45
  * - connector name
51
46
  */
52
-
53
47
  export function createMetadataMiddleware() {
54
48
  return function (_ref2) {
55
49
  var instantSearchInstance = _ref2.instantSearchInstance;