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
@@ -4,25 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _index = require("../../lib/utils/index.js");
9
-
10
- 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; }
11
-
12
- 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; }
13
-
8
+ 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; }
9
+ 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; }
14
10
  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; }
15
-
16
11
  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; }
17
-
18
12
  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; }
19
-
20
13
  var withUsage = (0, _index.createDocumentationMessageGenerator)({
21
14
  name: 'refinement-list',
22
15
  connector: true
23
16
  });
24
17
  var DEFAULT_SORT = ['isRefined', 'count:desc', 'name:asc'];
25
-
26
18
  /**
27
19
  * **RefinementList** connector provides the logic to build a custom widget that
28
20
  * will let the user filter the results based on the values of a specific facet.
@@ -40,83 +32,71 @@ var connectRefinementList = function connectRefinementList(renderFn) {
40
32
  (0, _index.checkRendering)(renderFn, withUsage());
41
33
  return function (widgetParams) {
42
34
  var _ref = widgetParams || {},
43
- attribute = _ref.attribute,
44
- _ref$operator = _ref.operator,
45
- operator = _ref$operator === void 0 ? 'or' : _ref$operator,
46
- _ref$limit = _ref.limit,
47
- limit = _ref$limit === void 0 ? 10 : _ref$limit,
48
- _ref$showMore = _ref.showMore,
49
- showMore = _ref$showMore === void 0 ? false : _ref$showMore,
50
- _ref$showMoreLimit = _ref.showMoreLimit,
51
- showMoreLimit = _ref$showMoreLimit === void 0 ? 20 : _ref$showMoreLimit,
52
- _ref$sortBy = _ref.sortBy,
53
- sortBy = _ref$sortBy === void 0 ? DEFAULT_SORT : _ref$sortBy,
54
- _ref$escapeFacetValue = _ref.escapeFacetValues,
55
- escapeFacetValues = _ref$escapeFacetValue === void 0 ? true : _ref$escapeFacetValue,
56
- _ref$transformItems = _ref.transformItems,
57
- transformItems = _ref$transformItems === void 0 ? function (items) {
58
- return items;
59
- } : _ref$transformItems;
60
-
35
+ attribute = _ref.attribute,
36
+ _ref$operator = _ref.operator,
37
+ operator = _ref$operator === void 0 ? 'or' : _ref$operator,
38
+ _ref$limit = _ref.limit,
39
+ limit = _ref$limit === void 0 ? 10 : _ref$limit,
40
+ _ref$showMore = _ref.showMore,
41
+ showMore = _ref$showMore === void 0 ? false : _ref$showMore,
42
+ _ref$showMoreLimit = _ref.showMoreLimit,
43
+ showMoreLimit = _ref$showMoreLimit === void 0 ? 20 : _ref$showMoreLimit,
44
+ _ref$sortBy = _ref.sortBy,
45
+ sortBy = _ref$sortBy === void 0 ? DEFAULT_SORT : _ref$sortBy,
46
+ _ref$escapeFacetValue = _ref.escapeFacetValues,
47
+ escapeFacetValues = _ref$escapeFacetValue === void 0 ? true : _ref$escapeFacetValue,
48
+ _ref$transformItems = _ref.transformItems,
49
+ transformItems = _ref$transformItems === void 0 ? function (items) {
50
+ return items;
51
+ } : _ref$transformItems;
61
52
  if (!attribute) {
62
53
  throw new Error(withUsage('The `attribute` option is required.'));
63
54
  }
64
-
65
55
  if (!/^(and|or)$/.test(operator)) {
66
56
  throw new Error(withUsage("The `operator` must one of: `\"and\"`, `\"or\"` (got \"".concat(operator, "\").")));
67
57
  }
68
-
69
58
  if (showMore === true && showMoreLimit <= limit) {
70
59
  throw new Error(withUsage('`showMoreLimit` should be greater than `limit`.'));
71
60
  }
72
-
73
61
  var formatItems = function formatItems(_ref2) {
74
62
  var label = _ref2.name,
75
- value = _ref2.escapedValue,
76
- item = _objectWithoutProperties(_ref2, ["name", "escapedValue"]);
77
-
63
+ value = _ref2.escapedValue,
64
+ item = _objectWithoutProperties(_ref2, ["name", "escapedValue"]);
78
65
  return _objectSpread(_objectSpread({}, item), {}, {
79
66
  value: value,
80
67
  label: label,
81
68
  highlighted: label
82
69
  });
83
70
  };
84
-
85
71
  var lastResultsFromMainSearch;
86
72
  var lastItemsFromMainSearch = [];
87
73
  var hasExhaustiveItems = true;
88
74
  var triggerRefine;
89
75
  var sendEvent;
90
- var isShowingMore = false; // Provide the same function to the `renderFn` so that way the user
76
+ var isShowingMore = false;
77
+ // Provide the same function to the `renderFn` so that way the user
91
78
  // has to only bind it once when `isFirstRendering` for instance
92
-
93
79
  var toggleShowMore = function toggleShowMore() {};
94
-
95
80
  function cachedToggleShowMore() {
96
81
  toggleShowMore();
97
82
  }
98
-
99
83
  function createToggleShowMore(renderOptions, widget) {
100
84
  return function () {
101
85
  isShowingMore = !isShowingMore;
102
86
  widget.render(renderOptions);
103
87
  };
104
88
  }
105
-
106
89
  function getLimit() {
107
90
  return isShowingMore ? showMoreLimit : limit;
108
91
  }
109
-
110
92
  var searchForFacetValues = function searchForFacetValues() {
111
93
  return function () {};
112
94
  };
113
-
114
95
  var createSearchForFacetValues = function createSearchForFacetValues(helper, widget) {
115
96
  return function (renderOptions) {
116
97
  return function (query) {
117
98
  var instantSearchInstance = renderOptions.instantSearchInstance,
118
- searchResults = renderOptions.results;
119
-
99
+ searchResults = renderOptions.results;
120
100
  if (query === '' && lastItemsFromMainSearch) {
121
101
  // render with previous data from the helper.
122
102
  renderFn(_objectSpread(_objectSpread({}, widget.getWidgetRenderState(_objectSpread(_objectSpread({}, renderOptions), {}, {
@@ -129,16 +109,16 @@ var connectRefinementList = function connectRefinementList(renderFn) {
129
109
  highlightPreTag: escapeFacetValues ? _index.TAG_PLACEHOLDER.highlightPreTag : _index.TAG_REPLACEMENT.highlightPreTag,
130
110
  highlightPostTag: escapeFacetValues ? _index.TAG_PLACEHOLDER.highlightPostTag : _index.TAG_REPLACEMENT.highlightPostTag
131
111
  };
132
- helper.searchForFacetValues(attribute, query, // We cap the `maxFacetHits` value to 100 because the Algolia API
112
+ helper.searchForFacetValues(attribute, query,
113
+ // We cap the `maxFacetHits` value to 100 because the Algolia API
133
114
  // doesn't support a greater number.
134
115
  // See https://www.algolia.com/doc/api-reference/api-parameters/maxFacetHits/
135
116
  Math.min(getLimit(), 100), tags).then(function (results) {
136
117
  var facetValues = escapeFacetValues ? (0, _index.escapeFacets)(results.facetHits) : results.facetHits;
137
118
  var normalizedFacetValues = transformItems(facetValues.map(function (_ref3) {
138
119
  var escapedValue = _ref3.escapedValue,
139
- value = _ref3.value,
140
- item = _objectWithoutProperties(_ref3, ["escapedValue", "value"]);
141
-
120
+ value = _ref3.value,
121
+ item = _objectWithoutProperties(_ref3, ["escapedValue", "value"]);
142
122
  return _objectSpread(_objectSpread({}, item), {}, {
143
123
  value: escapedValue,
144
124
  label: value
@@ -160,7 +140,6 @@ var connectRefinementList = function connectRefinementList(renderFn) {
160
140
  };
161
141
  };
162
142
  };
163
-
164
143
  return {
165
144
  $$type: 'ais.refinementList',
166
145
  init: function init(initOptions) {
@@ -180,13 +159,12 @@ var connectRefinementList = function connectRefinementList(renderFn) {
180
159
  },
181
160
  getWidgetRenderState: function getWidgetRenderState(renderOptions) {
182
161
  var results = renderOptions.results,
183
- state = renderOptions.state,
184
- _createURL = renderOptions.createURL,
185
- instantSearchInstance = renderOptions.instantSearchInstance,
186
- helper = renderOptions.helper;
162
+ state = renderOptions.state,
163
+ _createURL = renderOptions.createURL,
164
+ instantSearchInstance = renderOptions.instantSearchInstance,
165
+ helper = renderOptions.helper;
187
166
  var items = [];
188
167
  var facetValues = [];
189
-
190
168
  if (!sendEvent || !triggerRefine || !searchForFacetValues) {
191
169
  sendEvent = (0, _index.createSendEventForFacet)({
192
170
  instantSearchInstance: instantSearchInstance,
@@ -194,15 +172,12 @@ var connectRefinementList = function connectRefinementList(renderFn) {
194
172
  attribute: attribute,
195
173
  widgetType: this.$$type
196
174
  });
197
-
198
175
  triggerRefine = function triggerRefine(facetValue) {
199
176
  sendEvent('click', facetValue);
200
177
  helper.toggleFacetRefinement(attribute, facetValue).search();
201
178
  };
202
-
203
179
  searchForFacetValues = createSearchForFacetValues(helper, this);
204
180
  }
205
-
206
181
  if (results) {
207
182
  var values = results.getFacetValues(attribute, {
208
183
  sortBy: sortBy,
@@ -213,24 +188,23 @@ var connectRefinementList = function connectRefinementList(renderFn) {
213
188
  results: results
214
189
  });
215
190
  var maxValuesPerFacetConfig = state.maxValuesPerFacet;
216
- var currentLimit = getLimit(); // If the limit is the max number of facet retrieved it is impossible to know
191
+ var currentLimit = getLimit();
192
+ // If the limit is the max number of facet retrieved it is impossible to know
217
193
  // if the facets are exhaustive. The only moment we are sure it is exhaustive
218
194
  // is when it is strictly under the number requested unless we know that another
219
195
  // widget has requested more values (maxValuesPerFacet > getLimit()).
220
196
  // Because this is used for making the search of facets unable or not, it is important
221
197
  // to be conservative here.
222
-
223
198
  hasExhaustiveItems = maxValuesPerFacetConfig > currentLimit ? facetValues.length <= currentLimit : facetValues.length < currentLimit;
224
199
  lastResultsFromMainSearch = results;
225
200
  lastItemsFromMainSearch = items;
226
-
227
201
  if (renderOptions.results) {
228
202
  toggleShowMore = createToggleShowMore(renderOptions, this);
229
203
  }
230
- } // Do not mistake searchForFacetValues and searchFacetValues which is the actual search
231
- // function
232
-
204
+ }
233
205
 
206
+ // Do not mistake searchForFacetValues and searchFacetValues which is the actual search
207
+ // function
234
208
  var searchFacetValues = searchForFacetValues && searchForFacetValues(renderOptions);
235
209
  var canShowLess = isShowingMore && lastItemsFromMainSearch.length > limit;
236
210
  var canShowMore = showMore && !hasExhaustiveItems;
@@ -256,21 +230,17 @@ var connectRefinementList = function connectRefinementList(renderFn) {
256
230
  var state = _ref4.state;
257
231
  unmountFn();
258
232
  var withoutMaxValuesPerFacet = state.setQueryParameter('maxValuesPerFacet', undefined);
259
-
260
233
  if (operator === 'and') {
261
234
  return withoutMaxValuesPerFacet.removeFacet(attribute);
262
235
  }
263
-
264
236
  return withoutMaxValuesPerFacet.removeDisjunctiveFacet(attribute);
265
237
  },
266
238
  getWidgetUiState: function getWidgetUiState(uiState, _ref5) {
267
239
  var searchParameters = _ref5.searchParameters;
268
240
  var values = operator === 'or' ? searchParameters.getDisjunctiveRefinements(attribute) : searchParameters.getConjunctiveRefinements(attribute);
269
-
270
241
  if (!values.length) {
271
242
  return uiState;
272
243
  }
273
-
274
244
  return _objectSpread(_objectSpread({}, uiState), {}, {
275
245
  refinementList: _objectSpread(_objectSpread({}, uiState.refinementList), {}, _defineProperty({}, attribute, values))
276
246
  });
@@ -284,12 +254,10 @@ var connectRefinementList = function connectRefinementList(renderFn) {
284
254
  var currentMaxValuesPerFacet = withFacetConfiguration.maxValuesPerFacet || 0;
285
255
  var nextMaxValuesPerFacet = Math.max(currentMaxValuesPerFacet, showMore ? showMoreLimit : limit);
286
256
  var withMaxValuesPerFacet = withFacetConfiguration.setQueryParameter('maxValuesPerFacet', nextMaxValuesPerFacet);
287
-
288
257
  if (!values) {
289
258
  var key = isDisjunctive ? 'disjunctiveFacetsRefinements' : 'facetsRefinements';
290
259
  return withMaxValuesPerFacet.setQueryParameters(_defineProperty({}, key, _objectSpread(_objectSpread({}, withMaxValuesPerFacet[key]), {}, _defineProperty({}, attribute, []))));
291
260
  }
292
-
293
261
  return values.reduce(function (parameters, value) {
294
262
  return isDisjunctive ? parameters.addDisjunctiveFacetRefinement(attribute, value) : parameters.addFacetRefinement(attribute, value);
295
263
  }, withMaxValuesPerFacet);
@@ -297,6 +265,5 @@ var connectRefinementList = function connectRefinementList(renderFn) {
297
265
  };
298
266
  };
299
267
  };
300
-
301
268
  var _default = connectRefinementList;
302
269
  exports.default = _default;
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _index = require("../../lib/utils/index.js");
9
-
10
- 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; }
11
-
12
- 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; }
13
-
8
+ 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; }
9
+ 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; }
14
10
  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; }
15
-
16
11
  var connectRelevantSort = function connectRelevantSort() {
17
12
  var renderFn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _index.noop;
18
13
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _index.noop;
@@ -44,17 +39,14 @@ var connectRelevantSort = function connectRelevantSort() {
44
39
  },
45
40
  getWidgetRenderState: function getWidgetRenderState(_ref2) {
46
41
  var results = _ref2.results,
47
- helper = _ref2.helper;
48
-
42
+ helper = _ref2.helper;
49
43
  if (!connectorState.refine) {
50
44
  connectorState.refine = function (relevancyStrictness) {
51
45
  helper.setQueryParameter('relevancyStrictness', relevancyStrictness).search();
52
46
  };
53
47
  }
54
-
55
48
  var _ref3 = results || {},
56
- appliedRelevancyStrictness = _ref3.appliedRelevancyStrictness;
57
-
49
+ appliedRelevancyStrictness = _ref3.appliedRelevancyStrictness;
58
50
  var isVirtualReplica = appliedRelevancyStrictness !== undefined;
59
51
  return {
60
52
  isRelevantSorted: typeof appliedRelevancyStrictness !== 'undefined' && appliedRelevancyStrictness > 0,
@@ -66,7 +58,6 @@ var connectRelevantSort = function connectRelevantSort() {
66
58
  },
67
59
  getWidgetSearchParameters: function getWidgetSearchParameters(state, _ref4) {
68
60
  var _uiState$relevantSort;
69
-
70
61
  var uiState = _ref4.uiState;
71
62
  return state.setQueryParameter('relevancyStrictness', (_uiState$relevantSort = uiState.relevantSort) !== null && _uiState$relevantSort !== void 0 ? _uiState$relevantSort : state.relevancyStrictness);
72
63
  },
@@ -79,6 +70,5 @@ var connectRelevantSort = function connectRelevantSort() {
79
70
  };
80
71
  };
81
72
  };
82
-
83
73
  var _default = connectRelevantSort;
84
74
  exports.default = _default;
@@ -4,43 +4,33 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _index = require("../../lib/utils/index.js");
9
-
10
- 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; }
11
-
12
- 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; }
13
-
8
+ 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; }
9
+ 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; }
14
10
  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; }
15
-
16
11
  var withUsage = (0, _index.createDocumentationMessageGenerator)({
17
12
  name: 'search-box',
18
13
  connector: true
19
14
  });
20
-
21
15
  var defaultQueryHook = function defaultQueryHook(query, hook) {
22
16
  return hook(query);
23
17
  };
18
+
24
19
  /**
25
20
  * **SearchBox** connector provides the logic to build a widget that will let the user search for a query.
26
21
  *
27
22
  * The connector provides to the rendering: `refine()` to set the query. The behaviour of this function
28
23
  * may be impacted by the `queryHook` widget parameter.
29
24
  */
30
-
31
-
32
25
  var connectSearchBox = function connectSearchBox(renderFn) {
33
26
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _index.noop;
34
27
  (0, _index.checkRendering)(renderFn, withUsage());
35
28
  return function (widgetParams) {
36
29
  var _ref = widgetParams || {},
37
- _ref$queryHook = _ref.queryHook,
38
- queryHook = _ref$queryHook === void 0 ? defaultQueryHook : _ref$queryHook;
39
-
30
+ _ref$queryHook = _ref.queryHook,
31
+ queryHook = _ref$queryHook === void 0 ? defaultQueryHook : _ref$queryHook;
40
32
  var _refine;
41
-
42
33
  var _clear;
43
-
44
34
  return {
45
35
  $$type: 'ais.searchBox',
46
36
  init: function init(initOptions) {
@@ -67,21 +57,18 @@ var connectSearchBox = function connectSearchBox(renderFn) {
67
57
  },
68
58
  getWidgetRenderState: function getWidgetRenderState(_ref3) {
69
59
  var helper = _ref3.helper,
70
- searchMetadata = _ref3.searchMetadata,
71
- state = _ref3.state;
72
-
60
+ searchMetadata = _ref3.searchMetadata,
61
+ state = _ref3.state;
73
62
  if (!_refine) {
74
63
  _refine = function _refine(query) {
75
64
  queryHook(query, function (q) {
76
65
  return helper.setQuery(q).search();
77
66
  });
78
67
  };
79
-
80
68
  _clear = function _clear() {
81
69
  helper.setQuery('').search();
82
70
  };
83
71
  }
84
-
85
72
  return {
86
73
  query: state.query || '',
87
74
  refine: _refine,
@@ -93,11 +80,9 @@ var connectSearchBox = function connectSearchBox(renderFn) {
93
80
  getWidgetUiState: function getWidgetUiState(uiState, _ref4) {
94
81
  var searchParameters = _ref4.searchParameters;
95
82
  var query = searchParameters.query || '';
96
-
97
83
  if (query === '' || uiState && uiState.query === query) {
98
84
  return uiState;
99
85
  }
100
-
101
86
  return _objectSpread(_objectSpread({}, uiState), {}, {
102
87
  query: query
103
88
  });
@@ -109,6 +94,5 @@ var connectSearchBox = function connectSearchBox(renderFn) {
109
94
  };
110
95
  };
111
96
  };
112
-
113
97
  var _default = connectSearchBox;
114
98
  exports.default = _default;
@@ -4,19 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _index = require("../../lib/utils/index.js");
9
-
10
- 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; }
11
-
12
- 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; }
13
-
8
+ 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; }
9
+ 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; }
14
10
  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; }
15
-
16
11
  var withUsage = (0, _index.createDocumentationMessageGenerator)({
17
12
  name: 'sort-by',
18
13
  connector: true
19
14
  });
15
+
20
16
  /**
21
17
  * The **SortBy** connector provides the logic to build a custom widget that will display a
22
18
  * list of indices. With Algolia, this is most commonly used for changing ranking strategy. This allows
@@ -29,16 +25,14 @@ var connectSortBy = function connectSortBy(renderFn) {
29
25
  var connectorState = {};
30
26
  return function (widgetParams) {
31
27
  var _ref = widgetParams || {},
32
- items = _ref.items,
33
- _ref$transformItems = _ref.transformItems,
34
- transformItems = _ref$transformItems === void 0 ? function (x) {
35
- return x;
36
- } : _ref$transformItems;
37
-
28
+ items = _ref.items,
29
+ _ref$transformItems = _ref.transformItems,
30
+ transformItems = _ref$transformItems === void 0 ? function (x) {
31
+ return x;
32
+ } : _ref$transformItems;
38
33
  if (!Array.isArray(items)) {
39
34
  throw new Error(withUsage('The `items` option expects an array of objects.'));
40
35
  }
41
-
42
36
  return {
43
37
  $$type: 'ais.sortBy',
44
38
  init: function init(initOptions) {
@@ -71,20 +65,17 @@ var connectSortBy = function connectSortBy(renderFn) {
71
65
  },
72
66
  getWidgetRenderState: function getWidgetRenderState(_ref3) {
73
67
  var results = _ref3.results,
74
- helper = _ref3.helper,
75
- state = _ref3.state,
76
- parent = _ref3.parent;
77
-
68
+ helper = _ref3.helper,
69
+ state = _ref3.state,
70
+ parent = _ref3.parent;
78
71
  if (!connectorState.initialIndex && parent) {
79
72
  connectorState.initialIndex = parent.getIndexName();
80
73
  }
81
-
82
74
  if (!connectorState.setIndex) {
83
75
  connectorState.setIndex = function (indexName) {
84
76
  helper.setIndex(indexName).search();
85
77
  };
86
78
  }
87
-
88
79
  var hasNoResults = results ? results.nbHits === 0 : true;
89
80
  return {
90
81
  currentRefinement: state.index,
@@ -111,6 +102,5 @@ var connectSortBy = function connectSortBy(renderFn) {
111
102
  };
112
103
  };
113
104
  };
114
-
115
105
  var _default = connectSortBy;
116
106
  exports.default = _default;
@@ -4,19 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _index = require("../../lib/utils/index.js");
9
-
10
- 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; }
11
-
12
- 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; }
13
-
8
+ 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; }
9
+ 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; }
14
10
  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; }
15
-
16
11
  var withUsage = (0, _index.createDocumentationMessageGenerator)({
17
12
  name: 'stats',
18
13
  connector: true
19
14
  });
15
+
20
16
  /**
21
17
  * **Stats** connector provides the logic to build a custom widget that will displays
22
18
  * search statistics (hits number and processing time).
@@ -50,8 +46,7 @@ var connectStats = function connectStats(renderFn) {
50
46
  },
51
47
  getWidgetRenderState: function getWidgetRenderState(_ref) {
52
48
  var results = _ref.results,
53
- state = _ref.state;
54
-
49
+ state = _ref.state;
55
50
  if (!results) {
56
51
  return {
57
52
  hitsPerPage: state.hitsPerPage,
@@ -65,7 +60,6 @@ var connectStats = function connectStats(renderFn) {
65
60
  widgetParams: widgetParams
66
61
  };
67
62
  }
68
-
69
63
  return {
70
64
  hitsPerPage: results.hitsPerPage,
71
65
  nbHits: results.nbHits,
@@ -81,6 +75,5 @@ var connectStats = function connectStats(renderFn) {
81
75
  };
82
76
  };
83
77
  };
84
-
85
78
  var _default = connectStats;
86
79
  exports.default = _default;