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,38 +1,30 @@
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 { checkRendering, createDocumentationMessageGenerator, noop } from "../../lib/utils/index.js";
8
5
  var withUsage = createDocumentationMessageGenerator({
9
6
  name: 'search-box',
10
7
  connector: true
11
8
  });
12
-
13
9
  var defaultQueryHook = function defaultQueryHook(query, hook) {
14
10
  return hook(query);
15
11
  };
12
+
16
13
  /**
17
14
  * **SearchBox** connector provides the logic to build a widget that will let the user search for a query.
18
15
  *
19
16
  * The connector provides to the rendering: `refine()` to set the query. The behaviour of this function
20
17
  * may be impacted by the `queryHook` widget parameter.
21
18
  */
22
-
23
-
24
19
  var connectSearchBox = function connectSearchBox(renderFn) {
25
20
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
26
21
  checkRendering(renderFn, withUsage());
27
22
  return function (widgetParams) {
28
23
  var _ref = widgetParams || {},
29
- _ref$queryHook = _ref.queryHook,
30
- queryHook = _ref$queryHook === void 0 ? defaultQueryHook : _ref$queryHook;
31
-
24
+ _ref$queryHook = _ref.queryHook,
25
+ queryHook = _ref$queryHook === void 0 ? defaultQueryHook : _ref$queryHook;
32
26
  var _refine;
33
-
34
27
  var _clear;
35
-
36
28
  return {
37
29
  $$type: 'ais.searchBox',
38
30
  init: function init(initOptions) {
@@ -59,21 +51,18 @@ var connectSearchBox = function connectSearchBox(renderFn) {
59
51
  },
60
52
  getWidgetRenderState: function getWidgetRenderState(_ref3) {
61
53
  var helper = _ref3.helper,
62
- searchMetadata = _ref3.searchMetadata,
63
- state = _ref3.state;
64
-
54
+ searchMetadata = _ref3.searchMetadata,
55
+ state = _ref3.state;
65
56
  if (!_refine) {
66
57
  _refine = function _refine(query) {
67
58
  queryHook(query, function (q) {
68
59
  return helper.setQuery(q).search();
69
60
  });
70
61
  };
71
-
72
62
  _clear = function _clear() {
73
63
  helper.setQuery('').search();
74
64
  };
75
65
  }
76
-
77
66
  return {
78
67
  query: state.query || '',
79
68
  refine: _refine,
@@ -85,11 +74,9 @@ var connectSearchBox = function connectSearchBox(renderFn) {
85
74
  getWidgetUiState: function getWidgetUiState(uiState, _ref4) {
86
75
  var searchParameters = _ref4.searchParameters;
87
76
  var query = searchParameters.query || '';
88
-
89
77
  if (query === '' || uiState && uiState.query === query) {
90
78
  return uiState;
91
79
  }
92
-
93
80
  return _objectSpread(_objectSpread({}, uiState), {}, {
94
81
  query: query
95
82
  });
@@ -101,5 +88,4 @@ var connectSearchBox = function connectSearchBox(renderFn) {
101
88
  };
102
89
  };
103
90
  };
104
-
105
91
  export default connectSearchBox;
@@ -1,14 +1,12 @@
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 { checkRendering, createDocumentationMessageGenerator, find, warning, noop } from "../../lib/utils/index.js";
8
5
  var withUsage = createDocumentationMessageGenerator({
9
6
  name: 'sort-by',
10
7
  connector: true
11
8
  });
9
+
12
10
  /**
13
11
  * The **SortBy** connector provides the logic to build a custom widget that will display a
14
12
  * list of indices. With Algolia, this is most commonly used for changing ranking strategy. This allows
@@ -21,16 +19,14 @@ var connectSortBy = function connectSortBy(renderFn) {
21
19
  var connectorState = {};
22
20
  return function (widgetParams) {
23
21
  var _ref = widgetParams || {},
24
- items = _ref.items,
25
- _ref$transformItems = _ref.transformItems,
26
- transformItems = _ref$transformItems === void 0 ? function (x) {
27
- return x;
28
- } : _ref$transformItems;
29
-
22
+ items = _ref.items,
23
+ _ref$transformItems = _ref.transformItems,
24
+ transformItems = _ref$transformItems === void 0 ? function (x) {
25
+ return x;
26
+ } : _ref$transformItems;
30
27
  if (!Array.isArray(items)) {
31
28
  throw new Error(withUsage('The `items` option expects an array of objects.'));
32
29
  }
33
-
34
30
  return {
35
31
  $$type: 'ais.sortBy',
36
32
  init: function init(initOptions) {
@@ -63,20 +59,17 @@ var connectSortBy = function connectSortBy(renderFn) {
63
59
  },
64
60
  getWidgetRenderState: function getWidgetRenderState(_ref3) {
65
61
  var results = _ref3.results,
66
- helper = _ref3.helper,
67
- state = _ref3.state,
68
- parent = _ref3.parent;
69
-
62
+ helper = _ref3.helper,
63
+ state = _ref3.state,
64
+ parent = _ref3.parent;
70
65
  if (!connectorState.initialIndex && parent) {
71
66
  connectorState.initialIndex = parent.getIndexName();
72
67
  }
73
-
74
68
  if (!connectorState.setIndex) {
75
69
  connectorState.setIndex = function (indexName) {
76
70
  helper.setIndex(indexName).search();
77
71
  };
78
72
  }
79
-
80
73
  var hasNoResults = results ? results.nbHits === 0 : true;
81
74
  return {
82
75
  currentRefinement: state.index,
@@ -103,5 +96,4 @@ var connectSortBy = function connectSortBy(renderFn) {
103
96
  };
104
97
  };
105
98
  };
106
-
107
99
  export default connectSortBy;
@@ -1,14 +1,12 @@
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 { checkRendering, createDocumentationMessageGenerator, noop } from "../../lib/utils/index.js";
8
5
  var withUsage = createDocumentationMessageGenerator({
9
6
  name: 'stats',
10
7
  connector: true
11
8
  });
9
+
12
10
  /**
13
11
  * **Stats** connector provides the logic to build a custom widget that will displays
14
12
  * search statistics (hits number and processing time).
@@ -42,8 +40,7 @@ var connectStats = function connectStats(renderFn) {
42
40
  },
43
41
  getWidgetRenderState: function getWidgetRenderState(_ref) {
44
42
  var results = _ref.results,
45
- state = _ref.state;
46
-
43
+ state = _ref.state;
47
44
  if (!results) {
48
45
  return {
49
46
  hitsPerPage: state.hitsPerPage,
@@ -57,7 +54,6 @@ var connectStats = function connectStats(renderFn) {
57
54
  widgetParams: widgetParams
58
55
  };
59
56
  }
60
-
61
57
  return {
62
58
  hitsPerPage: results.hitsPerPage,
63
59
  nbHits: results.nbHits,
@@ -73,5 +69,4 @@ var connectStats = function connectStats(renderFn) {
73
69
  };
74
70
  };
75
71
  };
76
-
77
72
  export default connectStats;
@@ -1,43 +1,35 @@
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 { checkRendering, escapeFacetValue, createDocumentationMessageGenerator, find, noop, toArray } from "../../lib/utils/index.js";
8
5
  var withUsage = createDocumentationMessageGenerator({
9
6
  name: 'toggle-refinement',
10
7
  connector: true
11
8
  });
12
9
  var $$type = 'ais.toggleRefinement';
13
-
14
10
  var createSendEvent = function createSendEvent(_ref) {
15
11
  var instantSearchInstance = _ref.instantSearchInstance,
16
- helper = _ref.helper,
17
- attribute = _ref.attribute,
18
- on = _ref.on;
19
-
12
+ helper = _ref.helper,
13
+ attribute = _ref.attribute,
14
+ on = _ref.on;
20
15
  var sendEventForToggle = function sendEventForToggle() {
21
16
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
22
17
  args[_key] = arguments[_key];
23
18
  }
24
-
25
19
  if (args.length === 1) {
26
20
  instantSearchInstance.sendEventToInsights(args[0]);
27
21
  return;
28
22
  }
29
-
30
23
  var eventType = args[0],
31
- isRefined = args[1],
32
- _args$ = args[2],
33
- eventName = _args$ === void 0 ? 'Filter Applied' : _args$;
34
-
24
+ isRefined = args[1],
25
+ _args$ = args[2],
26
+ eventName = _args$ === void 0 ? 'Filter Applied' : _args$;
35
27
  if (eventType !== 'click' || on === undefined) {
36
28
  return;
37
- } // only send an event when the refinement gets applied,
38
- // not when it gets removed
39
-
29
+ }
40
30
 
31
+ // only send an event when the refinement gets applied,
32
+ // not when it gets removed
41
33
  if (!isRefined) {
42
34
  instantSearchInstance.sendEventToInsights({
43
35
  insightsMethod: 'clickedFilters',
@@ -54,10 +46,8 @@ var createSendEvent = function createSendEvent(_ref) {
54
46
  });
55
47
  }
56
48
  };
57
-
58
49
  return sendEventForToggle;
59
50
  };
60
-
61
51
  /**
62
52
  * **Toggle** connector provides the logic to build a custom widget that will provide
63
53
  * an on/off filtering feature based on an attribute value or values.
@@ -71,38 +61,32 @@ var connectToggleRefinement = function connectToggleRefinement(renderFn) {
71
61
  checkRendering(renderFn, withUsage());
72
62
  return function (widgetParams) {
73
63
  var _ref2 = widgetParams || {},
74
- attribute = _ref2.attribute,
75
- _ref2$on = _ref2.on,
76
- userOn = _ref2$on === void 0 ? true : _ref2$on,
77
- userOff = _ref2.off;
78
-
64
+ attribute = _ref2.attribute,
65
+ _ref2$on = _ref2.on,
66
+ userOn = _ref2$on === void 0 ? true : _ref2$on,
67
+ userOff = _ref2.off;
79
68
  if (!attribute) {
80
69
  throw new Error(withUsage('The `attribute` option is required.'));
81
70
  }
82
-
83
- var hasAnOffValue = userOff !== undefined; // even though facet values can be numbers and boolean,
71
+ var hasAnOffValue = userOff !== undefined;
72
+ // even though facet values can be numbers and boolean,
84
73
  // the helper methods only accept string in the type
85
-
86
74
  var on = toArray(userOn).map(escapeFacetValue);
87
75
  var off = hasAnOffValue ? toArray(userOff).map(escapeFacetValue) : undefined;
88
76
  var sendEvent;
89
-
90
77
  var toggleRefinementFactory = function toggleRefinementFactory(helper) {
91
78
  return function () {
92
79
  var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
93
- isRefined: false
94
- },
95
- isRefined = _ref3.isRefined;
96
-
80
+ isRefined: false
81
+ },
82
+ isRefined = _ref3.isRefined;
97
83
  if (!isRefined) {
98
84
  sendEvent('click', isRefined);
99
-
100
85
  if (hasAnOffValue) {
101
86
  off.forEach(function (v) {
102
87
  return helper.removeDisjunctiveFacetRefinement(attribute, v);
103
88
  });
104
89
  }
105
-
106
90
  on.forEach(function (v) {
107
91
  return helper.addDisjunctiveFacetRefinement(attribute, v);
108
92
  });
@@ -110,40 +94,33 @@ var connectToggleRefinement = function connectToggleRefinement(renderFn) {
110
94
  on.forEach(function (v) {
111
95
  return helper.removeDisjunctiveFacetRefinement(attribute, v);
112
96
  });
113
-
114
97
  if (hasAnOffValue) {
115
98
  off.forEach(function (v) {
116
99
  return helper.addDisjunctiveFacetRefinement(attribute, v);
117
100
  });
118
101
  }
119
102
  }
120
-
121
103
  helper.search();
122
104
  };
123
105
  };
124
-
125
106
  var connectorState = {
126
107
  createURLFactory: function createURLFactory(isRefined, _ref4) {
127
108
  var state = _ref4.state,
128
- createURL = _ref4.createURL;
109
+ createURL = _ref4.createURL;
129
110
  return function () {
130
111
  state = state.resetPage();
131
112
  var valuesToRemove = isRefined ? on : off;
132
-
133
113
  if (valuesToRemove) {
134
114
  valuesToRemove.forEach(function (v) {
135
115
  state = state.removeDisjunctiveFacetRefinement(attribute, v);
136
116
  });
137
117
  }
138
-
139
118
  var valuesToAdd = isRefined ? off : on;
140
-
141
119
  if (valuesToAdd) {
142
120
  valuesToAdd.forEach(function (v) {
143
121
  state = state.addDisjunctiveFacetRefinement(attribute, v);
144
122
  });
145
123
  }
146
-
147
124
  return createURL(state);
148
125
  };
149
126
  }
@@ -174,10 +151,10 @@ var connectToggleRefinement = function connectToggleRefinement(renderFn) {
174
151
  },
175
152
  getWidgetRenderState: function getWidgetRenderState(_ref6) {
176
153
  var state = _ref6.state,
177
- helper = _ref6.helper,
178
- results = _ref6.results,
179
- createURL = _ref6.createURL,
180
- instantSearchInstance = _ref6.instantSearchInstance;
154
+ helper = _ref6.helper,
155
+ results = _ref6.results,
156
+ createURL = _ref6.createURL,
157
+ instantSearchInstance = _ref6.instantSearchInstance;
181
158
  var isRefined = results ? on.every(function (v) {
182
159
  return state.isDisjunctiveFacetRefined(attribute, v);
183
160
  }) : on.every(function (v) {
@@ -191,7 +168,6 @@ var connectToggleRefinement = function connectToggleRefinement(renderFn) {
191
168
  isRefined: hasAnOffValue && !isRefined,
192
169
  count: 0
193
170
  };
194
-
195
171
  if (results) {
196
172
  var offValue = toArray(off || false);
197
173
  var allFacetValues = results.getFacetValues(attribute, {}) || [];
@@ -231,7 +207,6 @@ var connectToggleRefinement = function connectToggleRefinement(renderFn) {
231
207
  }, 0)
232
208
  };
233
209
  }
234
-
235
210
  if (!sendEvent) {
236
211
  sendEvent = createSendEvent({
237
212
  instantSearchInstance: instantSearchInstance,
@@ -240,7 +215,6 @@ var connectToggleRefinement = function connectToggleRefinement(renderFn) {
240
215
  helper: helper
241
216
  });
242
217
  }
243
-
244
218
  var nextRefinement = isRefined ? offFacetValue : onFacetValue;
245
219
  return {
246
220
  value: {
@@ -265,11 +239,9 @@ var connectToggleRefinement = function connectToggleRefinement(renderFn) {
265
239
  var isRefined = on && on.every(function (v) {
266
240
  return searchParameters.isDisjunctiveFacetRefined(attribute, v);
267
241
  });
268
-
269
242
  if (!isRefined) {
270
243
  return uiState;
271
244
  }
272
-
273
245
  return _objectSpread(_objectSpread({}, uiState), {}, {
274
246
  toggle: _objectSpread(_objectSpread({}, uiState.toggle), {}, _defineProperty({}, attribute, isRefined))
275
247
  });
@@ -278,29 +250,26 @@ var connectToggleRefinement = function connectToggleRefinement(renderFn) {
278
250
  var uiState = _ref11.uiState;
279
251
  var withFacetConfiguration = searchParameters.clearRefinements(attribute).addDisjunctiveFacet(attribute);
280
252
  var isRefined = Boolean(uiState.toggle && uiState.toggle[attribute]);
281
-
282
253
  if (isRefined) {
283
254
  if (on) {
284
255
  on.forEach(function (v) {
285
256
  withFacetConfiguration = withFacetConfiguration.addDisjunctiveFacetRefinement(attribute, v);
286
257
  });
287
258
  }
288
-
289
259
  return withFacetConfiguration;
290
- } // It's not refined with an `off` value
291
-
260
+ }
292
261
 
262
+ // It's not refined with an `off` value
293
263
  if (hasAnOffValue) {
294
264
  if (off) {
295
265
  off.forEach(function (v) {
296
266
  withFacetConfiguration = withFacetConfiguration.addDisjunctiveFacetRefinement(attribute, v);
297
267
  });
298
268
  }
299
-
300
269
  return withFacetConfiguration;
301
- } // It's not refined without an `off` value
302
-
270
+ }
303
271
 
272
+ // It's not refined without an `off` value
304
273
  return withFacetConfiguration.setQueryParameters({
305
274
  disjunctiveFacetsRefinements: _objectSpread(_objectSpread({}, searchParameters.disjunctiveFacetsRefinements), {}, _defineProperty({}, attribute, []))
306
275
  });
@@ -308,5 +277,4 @@ var connectToggleRefinement = function connectToggleRefinement(renderFn) {
308
277
  };
309
278
  };
310
279
  };
311
-
312
280
  export default connectToggleRefinement;
@@ -1,26 +1,22 @@
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 { checkRendering, createDocumentationMessageGenerator, noop } from "../../lib/utils/index.js";
8
5
  import builtInCreateVoiceSearchHelper from "../../lib/voiceSearchHelper/index.js";
9
6
  var withUsage = createDocumentationMessageGenerator({
10
7
  name: 'voice-search',
11
8
  connector: true
12
9
  });
13
-
14
10
  var connectVoiceSearch = function connectVoiceSearch(renderFn) {
15
11
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
16
12
  checkRendering(renderFn, withUsage());
17
13
  return function (widgetParams) {
18
14
  var _widgetParams$searchA = widgetParams.searchAsYouSpeak,
19
- searchAsYouSpeak = _widgetParams$searchA === void 0 ? false : _widgetParams$searchA,
20
- language = widgetParams.language,
21
- additionalQueryParameters = widgetParams.additionalQueryParameters,
22
- _widgetParams$createV = widgetParams.createVoiceSearchHelper,
23
- createVoiceSearchHelper = _widgetParams$createV === void 0 ? builtInCreateVoiceSearchHelper : _widgetParams$createV;
15
+ searchAsYouSpeak = _widgetParams$searchA === void 0 ? false : _widgetParams$searchA,
16
+ language = widgetParams.language,
17
+ additionalQueryParameters = widgetParams.additionalQueryParameters,
18
+ _widgetParams$createV = widgetParams.createVoiceSearchHelper,
19
+ createVoiceSearchHelper = _widgetParams$createV === void 0 ? builtInCreateVoiceSearchHelper : _widgetParams$createV;
24
20
  return {
25
21
  $$type: 'ais.voiceSearch',
26
22
  init: function init(initOptions) {
@@ -42,16 +38,13 @@ var connectVoiceSearch = function connectVoiceSearch(renderFn) {
42
38
  },
43
39
  getWidgetRenderState: function getWidgetRenderState(renderOptions) {
44
40
  var _this = this;
45
-
46
41
  var helper = renderOptions.helper,
47
- instantSearchInstance = renderOptions.instantSearchInstance;
48
-
42
+ instantSearchInstance = renderOptions.instantSearchInstance;
49
43
  if (!this._refine) {
50
44
  this._refine = function (query) {
51
45
  if (query !== helper.state.query) {
52
46
  var queryLanguages = language ? [language.split('-')[0]] : undefined;
53
47
  helper.setQueryParameter('queryLanguages', queryLanguages);
54
-
55
48
  if (typeof additionalQueryParameters === 'function') {
56
49
  helper.setState(helper.state.setQueryParameters(_objectSpread({
57
50
  ignorePlurals: true,
@@ -62,12 +55,10 @@ var connectVoiceSearch = function connectVoiceSearch(renderFn) {
62
55
  query: query
63
56
  }))));
64
57
  }
65
-
66
58
  helper.setQuery(query).search();
67
59
  }
68
60
  };
69
61
  }
70
-
71
62
  if (!this._voiceSearchHelper) {
72
63
  this._voiceSearchHelper = createVoiceSearchHelper({
73
64
  searchAsYouSpeak: searchAsYouSpeak,
@@ -82,13 +73,12 @@ var connectVoiceSearch = function connectVoiceSearch(renderFn) {
82
73
  }
83
74
  });
84
75
  }
85
-
86
76
  var _voiceSearchHelper = this._voiceSearchHelper,
87
- isBrowserSupported = _voiceSearchHelper.isBrowserSupported,
88
- isListening = _voiceSearchHelper.isListening,
89
- startListening = _voiceSearchHelper.startListening,
90
- stopListening = _voiceSearchHelper.stopListening,
91
- getState = _voiceSearchHelper.getState;
77
+ isBrowserSupported = _voiceSearchHelper.isBrowserSupported,
78
+ isListening = _voiceSearchHelper.isListening,
79
+ startListening = _voiceSearchHelper.startListening,
80
+ stopListening = _voiceSearchHelper.stopListening,
81
+ getState = _voiceSearchHelper.getState;
92
82
  return {
93
83
  isBrowserSupported: isBrowserSupported(),
94
84
  isListening: isListening(),
@@ -96,7 +86,6 @@ var connectVoiceSearch = function connectVoiceSearch(renderFn) {
96
86
  if (!isBrowserSupported()) {
97
87
  return;
98
88
  }
99
-
100
89
  if (isListening()) {
101
90
  stopListening();
102
91
  } else {
@@ -109,12 +98,9 @@ var connectVoiceSearch = function connectVoiceSearch(renderFn) {
109
98
  },
110
99
  dispose: function dispose(_ref) {
111
100
  var state = _ref.state;
112
-
113
101
  this._voiceSearchHelper.dispose();
114
-
115
102
  unmountFn();
116
103
  var newState = state;
117
-
118
104
  if (typeof additionalQueryParameters === 'function') {
119
105
  var additional = additionalQueryParameters({
120
106
  query: ''
@@ -132,17 +118,14 @@ var connectVoiceSearch = function connectVoiceSearch(renderFn) {
132
118
  optionalWords: undefined
133
119
  }, toReset));
134
120
  }
135
-
136
121
  return newState.setQueryParameter('query', undefined);
137
122
  },
138
123
  getWidgetUiState: function getWidgetUiState(uiState, _ref2) {
139
124
  var searchParameters = _ref2.searchParameters;
140
125
  var query = searchParameters.query || '';
141
-
142
126
  if (!query) {
143
127
  return uiState;
144
128
  }
145
-
146
129
  return _objectSpread(_objectSpread({}, uiState), {}, {
147
130
  query: query
148
131
  });
@@ -154,5 +137,4 @@ var connectVoiceSearch = function connectVoiceSearch(renderFn) {
154
137
  };
155
138
  };
156
139
  };
157
-
158
140
  export default connectVoiceSearch;
@@ -1,18 +1,14 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
2
  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; }
4
-
5
3
  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; }
6
-
7
4
  import { h } from 'preact';
8
5
  import { Highlight as HighlightUiComponent } from "../../components/Highlight/Highlight.js";
9
6
  import { getPropertyByPath, unescape, toArray, warning, getHighlightedParts } from "../../lib/utils/index.js";
10
7
  export function Highlight(_ref) {
11
8
  var hit = _ref.hit,
12
- attribute = _ref.attribute,
13
- cssClasses = _ref.cssClasses,
14
- props = _objectWithoutProperties(_ref, ["hit", "attribute", "cssClasses"]);
15
-
9
+ attribute = _ref.attribute,
10
+ cssClasses = _ref.cssClasses,
11
+ props = _objectWithoutProperties(_ref, ["hit", "attribute", "cssClasses"]);
16
12
  var property = getPropertyByPath(hit._highlightResult, attribute) || [];
17
13
  var properties = toArray(property);
18
14
  process.env.NODE_ENV === 'development' ? warning(Boolean(properties.length), "Could not enable highlight for \"".concat(attribute.toString(), "\", will display an empty string.\nPlease check whether this attribute exists and is either searchable or specified in `attributesToHighlight`.\n\nSee: https://alg.li/highlighting\n")) : void 0;
@@ -1,24 +1,17 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
- 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; }
4
-
5
- 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; }
6
-
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ 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; }
3
+ 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; }
7
4
  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; }
8
-
9
5
  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; }
10
-
11
6
  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; }
12
-
13
7
  import { h } from 'preact';
14
8
  import { ReverseHighlight as ReverseHighlightUiComponent } from "../../components/ReverseHighlight/ReverseHighlight.js";
15
9
  import { getPropertyByPath, unescape, toArray, warning, getHighlightedParts } from "../../lib/utils/index.js";
16
10
  export function ReverseHighlight(_ref) {
17
11
  var hit = _ref.hit,
18
- attribute = _ref.attribute,
19
- cssClasses = _ref.cssClasses,
20
- props = _objectWithoutProperties(_ref, ["hit", "attribute", "cssClasses"]);
21
-
12
+ attribute = _ref.attribute,
13
+ cssClasses = _ref.cssClasses,
14
+ props = _objectWithoutProperties(_ref, ["hit", "attribute", "cssClasses"]);
22
15
  var property = getPropertyByPath(hit._highlightResult, attribute) || [];
23
16
  var properties = toArray(property);
24
17
  process.env.NODE_ENV === 'development' ? warning(Boolean(properties.length), "Could not enable highlight for \"".concat(attribute.toString(), "\", will display an empty string.\nPlease check whether this attribute exists and is either searchable or specified in `attributesToHighlight`.\n\nSee: https://alg.li/highlighting\n")) : void 0;
@@ -26,8 +19,7 @@ export function ReverseHighlight(_ref) {
26
19
  var value = _ref2.value;
27
20
  return getHighlightedParts(unescape(value || '')).map(function (_ref3) {
28
21
  var isHighlighted = _ref3.isHighlighted,
29
- rest = _objectWithoutProperties(_ref3, ["isHighlighted"]);
30
-
22
+ rest = _objectWithoutProperties(_ref3, ["isHighlighted"]);
31
23
  return _objectSpread(_objectSpread({}, rest), {}, {
32
24
  isHighlighted: !isHighlighted
33
25
  });