instantsearch.js 4.49.1 → 4.49.3

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 (396) hide show
  1. package/README.md +14 -8
  2. package/cjs/components/Answers/Answers.js +11 -18
  3. package/cjs/components/Breadcrumb/Breadcrumb.js +6 -13
  4. package/cjs/components/ClearRefinements/ClearRefinements.js +5 -12
  5. package/cjs/components/CurrentRefinements/CurrentRefinements.js +8 -16
  6. package/cjs/components/GeoSearchControls/GeoSearchButton.js +4 -7
  7. package/cjs/components/GeoSearchControls/GeoSearchControls.js +14 -23
  8. package/cjs/components/GeoSearchControls/GeoSearchToggle.js +4 -7
  9. package/cjs/components/Highlight/Highlight.js +5 -12
  10. package/cjs/components/Hits/Hits.js +13 -22
  11. package/cjs/components/InfiniteHits/InfiniteHits.js +18 -27
  12. package/cjs/components/InternalHighlight/InternalHighlight.js +0 -3
  13. package/cjs/components/MenuSelect/MenuSelect.js +12 -22
  14. package/cjs/components/Pagination/Pagination.js +12 -20
  15. package/cjs/components/Panel/Panel.js +9 -28
  16. package/cjs/components/PoweredBy/PoweredBy.js +4 -6
  17. package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +3 -8
  18. package/cjs/components/RangeInput/RangeInput.js +21 -51
  19. package/cjs/components/RefinementList/RefinementList.js +30 -81
  20. package/cjs/components/RefinementList/RefinementListItem.js +9 -15
  21. package/cjs/components/RelevantSort/RelevantSort.js +5 -10
  22. package/cjs/components/ReverseHighlight/ReverseHighlight.js +5 -12
  23. package/cjs/components/ReverseSnippet/ReverseSnippet.js +5 -12
  24. package/cjs/components/SearchBox/SearchBox.js +35 -77
  25. package/cjs/components/Selector/Selector.js +3 -7
  26. package/cjs/components/Slider/Pit.js +7 -11
  27. package/cjs/components/Slider/Rheostat.js +69 -133
  28. package/cjs/components/Slider/Slider.js +39 -72
  29. package/cjs/components/Snippet/Snippet.js +5 -12
  30. package/cjs/components/Stats/Stats.js +13 -22
  31. package/cjs/components/Template/Template.js +17 -44
  32. package/cjs/components/ToggleRefinement/ToggleRefinement.js +5 -11
  33. package/cjs/components/VoiceSearch/VoiceSearch.js +9 -17
  34. package/cjs/connectors/answers/connectAnswers.js +36 -46
  35. package/cjs/connectors/autocomplete/connectAutocomplete.js +21 -35
  36. package/cjs/connectors/breadcrumb/connectBreadcrumb.js +27 -55
  37. package/cjs/connectors/clear-refinements/connectClearRefinements.js +41 -56
  38. package/cjs/connectors/configure/connectConfigure.js +17 -28
  39. package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +21 -43
  40. package/cjs/connectors/current-refinements/connectCurrentRefinements.js +29 -65
  41. package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +27 -45
  42. package/cjs/connectors/geo-search/connectGeoSearch.js +32 -59
  43. package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +50 -82
  44. package/cjs/connectors/hits/connectHits.js +25 -38
  45. package/cjs/connectors/hits/connectHitsWithInsights.js +3 -7
  46. package/cjs/connectors/hits-per-page/connectHitsPerPage.js +26 -46
  47. package/cjs/connectors/index.js +92 -126
  48. package/cjs/connectors/infinite-hits/connectInfiniteHits.js +43 -75
  49. package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +3 -7
  50. package/cjs/connectors/menu/connectMenu.js +39 -73
  51. package/cjs/connectors/numeric-menu/connectNumericMenu.js +37 -86
  52. package/cjs/connectors/pagination/Paginator.js +11 -25
  53. package/cjs/connectors/pagination/connectPagination.js +17 -31
  54. package/cjs/connectors/powered-by/connectPoweredBy.js +13 -19
  55. package/cjs/connectors/query-rules/connectQueryRules.js +44 -65
  56. package/cjs/connectors/range/connectRange.js +72 -129
  57. package/cjs/connectors/rating-menu/connectRatingMenu.js +34 -87
  58. package/cjs/connectors/refinement-list/connectRefinementList.js +51 -79
  59. package/cjs/connectors/relevant-sort/connectRelevantSort.js +11 -18
  60. package/cjs/connectors/search-box/connectSearchBox.js +15 -28
  61. package/cjs/connectors/sort-by/connectSortBy.js +21 -28
  62. package/cjs/connectors/stats/connectStats.js +12 -16
  63. package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +44 -75
  64. package/cjs/connectors/voice-search/connectVoiceSearch.js +22 -41
  65. package/cjs/helpers/components/Highlight.js +11 -18
  66. package/cjs/helpers/components/ReverseHighlight.js +19 -26
  67. package/cjs/helpers/components/ReverseSnippet.js +19 -26
  68. package/cjs/helpers/components/Snippet.js +11 -18
  69. package/cjs/helpers/components/index.js +4 -12
  70. package/cjs/helpers/get-insights-anonymous-user-token.js +6 -17
  71. package/cjs/helpers/highlight.js +15 -19
  72. package/cjs/helpers/index.js +23 -37
  73. package/cjs/helpers/insights.js +9 -21
  74. package/cjs/helpers/reverseHighlight.js +16 -20
  75. package/cjs/helpers/reverseSnippet.js +16 -20
  76. package/cjs/helpers/snippet.js +15 -19
  77. package/cjs/index.js +12 -27
  78. package/cjs/lib/InstantSearch.js +108 -207
  79. package/cjs/lib/createHelpers.js +15 -19
  80. package/cjs/lib/formatNumber.js +0 -1
  81. package/cjs/lib/infiniteHitsCache/index.js +1 -3
  82. package/cjs/lib/infiniteHitsCache/sessionStorage.js +14 -22
  83. package/cjs/lib/insights/client.js +17 -40
  84. package/cjs/lib/insights/index.js +9 -15
  85. package/cjs/lib/insights/listener.js +7 -24
  86. package/cjs/lib/routers/history.js +75 -117
  87. package/cjs/lib/routers/index.js +1 -3
  88. package/cjs/lib/stateMappings/index.js +2 -5
  89. package/cjs/lib/stateMappings/simple.js +11 -14
  90. package/cjs/lib/stateMappings/singleIndex.js +6 -8
  91. package/cjs/lib/suit.js +2 -5
  92. package/cjs/lib/templating/index.js +2 -6
  93. package/cjs/lib/templating/prepareTemplateProps.js +14 -22
  94. package/cjs/lib/templating/renderTemplate.js +17 -30
  95. package/cjs/lib/utils/capitalize.js +0 -1
  96. package/cjs/lib/utils/checkIndexUiState.js +19 -47
  97. package/cjs/lib/utils/checkRendering.js +1 -3
  98. package/cjs/lib/utils/clearRefinements.js +2 -9
  99. package/cjs/lib/utils/concatHighlightedParts.js +2 -4
  100. package/cjs/lib/utils/createConcurrentSafePromise.js +0 -3
  101. package/cjs/lib/utils/createSendEventForFacet.js +8 -15
  102. package/cjs/lib/utils/createSendEventForHits.js +10 -34
  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 +1 -3
  106. package/cjs/lib/utils/documentation.js +2 -5
  107. package/cjs/lib/utils/escape-highlight.js +13 -26
  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 +21 -37
  113. package/cjs/lib/utils/getAppIdAndApiKey.js +2 -3
  114. package/cjs/lib/utils/getContainerNode.js +1 -7
  115. package/cjs/lib/utils/getHighlightFromSiblings.js +1 -7
  116. package/cjs/lib/utils/getHighlightedParts.js +2 -5
  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 +30 -45
  120. package/cjs/lib/utils/getWidgetAttribute.js +0 -6
  121. package/cjs/lib/utils/hits-absolute-position.js +6 -7
  122. package/cjs/lib/utils/hits-query-id.js +6 -8
  123. package/cjs/lib/utils/index.js +46 -138
  124. package/cjs/lib/utils/isDomElement.js +0 -1
  125. package/cjs/lib/utils/isEqual.js +2 -7
  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 +6 -16
  132. package/cjs/lib/utils/mergeSearchParameters.js +23 -43
  133. package/cjs/lib/utils/noop.js +0 -1
  134. package/cjs/lib/utils/range.js +9 -15
  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 +7 -10
  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 +2 -7
  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 +12 -37
  146. package/cjs/middlewares/createInsightsMiddleware.js +30 -54
  147. package/cjs/middlewares/createMetadataMiddleware.js +7 -15
  148. package/cjs/middlewares/createRouterMiddleware.js +16 -24
  149. package/cjs/middlewares/index.js +3 -9
  150. package/cjs/types/algoliasearch.js +0 -2
  151. package/cjs/types/index.js +14 -42
  152. package/cjs/widgets/analytics/analytics.js +22 -48
  153. package/cjs/widgets/answers/answers.js +32 -49
  154. package/cjs/widgets/breadcrumb/breadcrumb.js +31 -48
  155. package/cjs/widgets/clear-refinements/clear-refinements.js +28 -45
  156. package/cjs/widgets/configure/configure.js +9 -14
  157. package/cjs/widgets/configure-related-items/configure-related-items.js +9 -14
  158. package/cjs/widgets/current-refinements/current-refinements.js +22 -37
  159. package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +17 -32
  160. package/cjs/widgets/geo-search/GeoSearchRenderer.js +50 -72
  161. package/cjs/widgets/geo-search/createHTMLMarker.js +34 -62
  162. package/cjs/widgets/geo-search/defaultTemplates.js +0 -3
  163. package/cjs/widgets/geo-search/geo-search.js +44 -70
  164. package/cjs/widgets/hierarchical-menu/defaultTemplates.js +5 -9
  165. package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +41 -57
  166. package/cjs/widgets/hits/hits.js +32 -50
  167. package/cjs/widgets/hits-per-page/hits-per-page.js +24 -39
  168. package/cjs/widgets/index/index.js +71 -113
  169. package/cjs/widgets/index.js +47 -85
  170. package/cjs/widgets/infinite-hits/infinite-hits.js +39 -57
  171. package/cjs/widgets/menu/defaultTemplates.js +4 -8
  172. package/cjs/widgets/menu/menu.js +36 -53
  173. package/cjs/widgets/menu-select/defaultTemplates.js +2 -4
  174. package/cjs/widgets/menu-select/menu-select.js +31 -48
  175. package/cjs/widgets/numeric-menu/defaultTemplates.js +3 -5
  176. package/cjs/widgets/numeric-menu/numeric-menu.js +30 -47
  177. package/cjs/widgets/pagination/pagination.js +43 -61
  178. package/cjs/widgets/panel/panel.js +31 -56
  179. package/cjs/widgets/places/places.js +22 -34
  180. package/cjs/widgets/powered-by/powered-by.js +20 -34
  181. package/cjs/widgets/query-rule-context/query-rule-context.js +10 -18
  182. package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +24 -39
  183. package/cjs/widgets/range-input/range-input.js +36 -60
  184. package/cjs/widgets/range-slider/range-slider.js +39 -61
  185. package/cjs/widgets/rating-menu/defaultTemplates.js +9 -16
  186. package/cjs/widgets/rating-menu/rating-menu.js +30 -48
  187. package/cjs/widgets/refinement-list/defaultTemplates.js +6 -10
  188. package/cjs/widgets/refinement-list/refinement-list.js +54 -72
  189. package/cjs/widgets/relevant-sort/relevant-sort.js +21 -37
  190. package/cjs/widgets/search-box/defaultTemplates.js +0 -5
  191. package/cjs/widgets/search-box/search-box.js +42 -57
  192. package/cjs/widgets/sort-by/sort-by.js +21 -36
  193. package/cjs/widgets/stats/defaultTemplates.js +1 -2
  194. package/cjs/widgets/stats/stats.js +40 -67
  195. package/cjs/widgets/toggle-refinement/toggle-refinement.js +29 -46
  196. package/cjs/widgets/voice-search/defaultTemplates.js +4 -14
  197. package/cjs/widgets/voice-search/voice-search.js +28 -44
  198. package/dist/instantsearch.development.d.ts +9 -6
  199. package/dist/instantsearch.development.js +1840 -3142
  200. package/dist/instantsearch.development.js.map +1 -1
  201. package/dist/instantsearch.production.d.ts +9 -6
  202. package/dist/instantsearch.production.min.d.ts +9 -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 +10 -13
  206. package/es/components/Breadcrumb/Breadcrumb.js +5 -8
  207. package/es/components/ClearRefinements/ClearRefinements.js +4 -7
  208. package/es/components/CurrentRefinements/CurrentRefinements.js +5 -10
  209. package/es/components/GeoSearchControls/GeoSearchButton.js +4 -6
  210. package/es/components/GeoSearchControls/GeoSearchControls.js +11 -14
  211. package/es/components/GeoSearchControls/GeoSearchToggle.js +4 -6
  212. package/es/components/Highlight/Highlight.js +4 -7
  213. package/es/components/Hits/Hits.js +12 -17
  214. package/es/components/InfiniteHits/InfiniteHits.js +17 -22
  215. package/es/components/MenuSelect/MenuSelect.js +9 -14
  216. package/es/components/Pagination/Pagination.js +10 -15
  217. package/es/components/Panel/Panel.js +8 -22
  218. package/es/components/PoweredBy/PoweredBy.js +4 -5
  219. package/es/components/QueryRuleCustomData/QueryRuleCustomData.js +2 -4
  220. package/es/components/RangeInput/RangeInput.js +20 -46
  221. package/es/components/RefinementList/RefinementList.js +24 -67
  222. package/es/components/RefinementList/RefinementListItem.js +8 -11
  223. package/es/components/RelevantSort/RelevantSort.js +4 -6
  224. package/es/components/ReverseHighlight/ReverseHighlight.js +4 -7
  225. package/es/components/ReverseSnippet/ReverseSnippet.js +4 -7
  226. package/es/components/SearchBox/SearchBox.js +29 -66
  227. package/es/components/Selector/Selector.js +3 -5
  228. package/es/components/Slider/Pit.js +7 -9
  229. package/es/components/Slider/Rheostat.js +70 -133
  230. package/es/components/Slider/Slider.js +34 -61
  231. package/es/components/Snippet/Snippet.js +4 -7
  232. package/es/components/Stats/Stats.js +12 -17
  233. package/es/components/Template/Template.js +12 -35
  234. package/es/components/ToggleRefinement/ToggleRefinement.js +4 -7
  235. package/es/components/VoiceSearch/VoiceSearch.js +8 -13
  236. package/es/connectors/answers/connectAnswers.js +27 -36
  237. package/es/connectors/autocomplete/connectAutocomplete.js +12 -24
  238. package/es/connectors/breadcrumb/connectBreadcrumb.js +22 -48
  239. package/es/connectors/clear-refinements/connectClearRefinements.js +32 -45
  240. package/es/connectors/configure/connectConfigure.js +11 -17
  241. package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +16 -33
  242. package/es/connectors/current-refinements/connectCurrentRefinements.js +23 -57
  243. package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +20 -36
  244. package/es/connectors/geo-search/connectGeoSearch.js +21 -46
  245. package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +44 -74
  246. package/es/connectors/hits/connectHits.js +14 -25
  247. package/es/connectors/hits-per-page/connectHitsPerPage.js +20 -38
  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 +32 -62
  251. package/es/connectors/menu/connectMenu.js +34 -66
  252. package/es/connectors/numeric-menu/connectNumericMenu.js +31 -78
  253. package/es/connectors/pagination/Paginator.js +8 -21
  254. package/es/connectors/pagination/connectPagination.js +12 -22
  255. package/es/connectors/powered-by/connectPoweredBy.js +8 -12
  256. package/es/connectors/query-rules/connectQueryRules.js +37 -56
  257. package/es/connectors/range/connectRange.js +46 -101
  258. package/es/connectors/rating-menu/connectRatingMenu.js +28 -79
  259. package/es/connectors/refinement-list/connectRefinementList.js +43 -69
  260. package/es/connectors/relevant-sort/connectRelevantSort.js +8 -14
  261. package/es/connectors/search-box/connectSearchBox.js +11 -22
  262. package/es/connectors/sort-by/connectSortBy.js +15 -20
  263. package/es/connectors/stats/connectStats.js +8 -10
  264. package/es/connectors/toggle-refinement/connectToggleRefinement.js +33 -62
  265. package/es/connectors/toggle-refinement/types.js +1 -0
  266. package/es/connectors/voice-search/connectVoiceSearch.js +17 -32
  267. package/es/helpers/components/Highlight.js +5 -8
  268. package/es/helpers/components/ReverseHighlight.js +13 -16
  269. package/es/helpers/components/ReverseSnippet.js +13 -16
  270. package/es/helpers/components/Snippet.js +5 -8
  271. package/es/helpers/get-insights-anonymous-user-token.js +2 -10
  272. package/es/helpers/highlight.js +10 -10
  273. package/es/helpers/insights.js +3 -10
  274. package/es/helpers/reverseHighlight.js +10 -10
  275. package/es/helpers/reverseSnippet.js +10 -10
  276. package/es/helpers/snippet.js +10 -10
  277. package/es/index.js +0 -2
  278. package/es/lib/InstantSearch.js +83 -172
  279. package/es/lib/createHelpers.js +8 -9
  280. package/es/lib/infiniteHitsCache/sessionStorage.js +10 -16
  281. package/es/lib/insights/client.js +12 -33
  282. package/es/lib/insights/listener.js +4 -18
  283. package/es/lib/routers/history.js +69 -108
  284. package/es/lib/stateMappings/simple.js +11 -13
  285. package/es/lib/stateMappings/singleIndex.js +6 -7
  286. package/es/lib/suit.js +2 -3
  287. package/es/lib/templating/prepareTemplateProps.js +13 -20
  288. package/es/lib/templating/renderTemplate.js +12 -21
  289. package/es/lib/utils/checkIndexUiState.js +19 -41
  290. package/es/lib/utils/clearRefinements.js +2 -8
  291. package/es/lib/utils/concatHighlightedParts.js +1 -1
  292. package/es/lib/utils/createConcurrentSafePromise.js +0 -2
  293. package/es/lib/utils/createSendEventForFacet.js +7 -12
  294. package/es/lib/utils/createSendEventForHits.js +8 -30
  295. package/es/lib/utils/debounce.js +0 -2
  296. package/es/lib/utils/defer.js +0 -10
  297. package/es/lib/utils/documentation.js +2 -3
  298. package/es/lib/utils/escape-highlight.js +9 -18
  299. package/es/lib/utils/escape-html.js +9 -5
  300. package/es/lib/utils/escapeFacetValue.js +0 -2
  301. package/es/lib/utils/find.js +2 -4
  302. package/es/lib/utils/findIndex.js +0 -2
  303. package/es/lib/utils/geo-search.js +21 -35
  304. package/es/lib/utils/getAppIdAndApiKey.js +2 -2
  305. package/es/lib/utils/getContainerNode.js +1 -5
  306. package/es/lib/utils/getHighlightFromSiblings.js +0 -3
  307. package/es/lib/utils/getHighlightedParts.js +1 -2
  308. package/es/lib/utils/getRefinements.js +28 -41
  309. package/es/lib/utils/getWidgetAttribute.js +0 -5
  310. package/es/lib/utils/hits-absolute-position.js +6 -6
  311. package/es/lib/utils/hits-query-id.js +6 -7
  312. package/es/lib/utils/isEqual.js +2 -6
  313. package/es/lib/utils/isPlainObject.js +3 -10
  314. package/es/lib/utils/logger.js +4 -14
  315. package/es/lib/utils/mergeSearchParameters.js +21 -38
  316. package/es/lib/utils/range.js +9 -14
  317. package/es/lib/utils/resolveSearchParameters.js +0 -2
  318. package/es/lib/utils/reverseHighlightedParts.js +6 -7
  319. package/es/lib/utils/safelyRunOnBrowser.js +7 -8
  320. package/es/lib/utils/setIndexHelperState.js +0 -2
  321. package/es/lib/version.d.ts +1 -1
  322. package/es/lib/version.js +1 -1
  323. package/es/lib/voiceSearchHelper/index.js +12 -36
  324. package/es/lib/voiceSearchHelper/types.js +1 -0
  325. package/es/middlewares/createInsightsMiddleware.js +21 -42
  326. package/es/middlewares/createMetadataMiddleware.js +3 -9
  327. package/es/middlewares/createRouterMiddleware.js +12 -14
  328. package/es/types/algoliasearch.js +1 -0
  329. package/es/types/component.js +1 -0
  330. package/es/types/connector.js +1 -0
  331. package/es/types/index.js +9 -5
  332. package/es/types/insights.js +1 -0
  333. package/es/types/instantsearch.js +1 -0
  334. package/es/types/middleware.js +1 -0
  335. package/es/types/render-state.js +1 -0
  336. package/es/types/results.js +1 -0
  337. package/es/types/router.js +1 -0
  338. package/es/types/templates.js +1 -0
  339. package/es/types/ui-state.js +1 -0
  340. package/es/types/utils.js +1 -0
  341. package/es/types/widget-factory.js +1 -0
  342. package/es/types/widget.js +1 -0
  343. package/es/widgets/analytics/analytics.js +19 -43
  344. package/es/widgets/answers/answers.js +23 -30
  345. package/es/widgets/breadcrumb/breadcrumb.js +22 -29
  346. package/es/widgets/clear-refinements/clear-refinements.js +19 -26
  347. package/es/widgets/configure/configure.js +7 -7
  348. package/es/widgets/configure-related-items/configure-related-items.js +6 -8
  349. package/es/widgets/current-refinements/current-refinements.js +16 -23
  350. package/es/widgets/dynamic-widgets/dynamic-widgets.js +11 -21
  351. package/es/widgets/geo-search/GeoSearchRenderer.d.js +1 -0
  352. package/es/widgets/geo-search/GeoSearchRenderer.js +47 -65
  353. package/es/widgets/geo-search/createHTMLMarker.d.ts +1 -0
  354. package/es/widgets/geo-search/createHTMLMarker.js +34 -61
  355. package/es/widgets/geo-search/defaultTemplates.js +0 -2
  356. package/es/widgets/geo-search/geo-search.d.ts +1 -0
  357. package/es/widgets/geo-search/geo-search.js +34 -50
  358. package/es/widgets/hierarchical-menu/defaultTemplates.js +4 -4
  359. package/es/widgets/hierarchical-menu/hierarchical-menu.js +32 -38
  360. package/es/widgets/hits/hits.js +20 -27
  361. package/es/widgets/hits-per-page/hits-per-page.js +17 -24
  362. package/es/widgets/index/index.js +55 -93
  363. package/es/widgets/index.d.ts +2 -1
  364. package/es/widgets/index.js +4 -3
  365. package/es/widgets/infinite-hits/infinite-hits.js +27 -34
  366. package/es/widgets/menu/defaultTemplates.js +3 -3
  367. package/es/widgets/menu/menu.js +27 -34
  368. package/es/widgets/menu-select/defaultTemplates.js +1 -1
  369. package/es/widgets/menu-select/menu-select.js +22 -29
  370. package/es/widgets/numeric-menu/defaultTemplates.js +3 -3
  371. package/es/widgets/numeric-menu/numeric-menu.js +21 -28
  372. package/es/widgets/pagination/pagination.js +36 -46
  373. package/es/widgets/panel/panel.js +24 -42
  374. package/es/widgets/places/places.js +22 -33
  375. package/es/widgets/powered-by/powered-by.js +14 -20
  376. package/es/widgets/query-rule-context/query-rule-context.js +6 -10
  377. package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +17 -24
  378. package/es/widgets/range-input/range-input.js +28 -43
  379. package/es/widgets/range-slider/range-slider.js +33 -47
  380. package/es/widgets/rating-menu/defaultTemplates.js +8 -12
  381. package/es/widgets/rating-menu/rating-menu.js +21 -29
  382. package/es/widgets/refinement-list/defaultTemplates.js +5 -5
  383. package/es/widgets/refinement-list/refinement-list.js +43 -50
  384. package/es/widgets/relevant-sort/relevant-sort.js +14 -21
  385. package/es/widgets/search-box/defaultTemplates.js +0 -4
  386. package/es/widgets/search-box/search-box.js +35 -41
  387. package/es/widgets/sort-by/sort-by.js +15 -22
  388. package/es/widgets/stats/stats.js +30 -47
  389. package/es/widgets/toggle-refinement/toggle-refinement.js +20 -27
  390. package/es/widgets/voice-search/defaultTemplates.js +4 -13
  391. package/es/widgets/voice-search/voice-search.js +21 -28
  392. package/package.json +20 -119
  393. package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.input.js +0 -1
  394. package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.output.js +0 -1
  395. package/scripts/transforms/__tests__/addWidget-to-addWidgets.test.js +1 -0
  396. package/CHANGELOG.md +0 -3693
@@ -1,38 +1,28 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.createInsightsMiddleware = createInsightsMiddleware;
7
-
8
- var _index = require("../helpers/index.js");
9
-
10
- var _index2 = require("../lib/utils/index.js");
11
-
12
- 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; }
13
-
14
- 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; }
15
-
16
- 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; }
17
-
8
+ var _helpers = require("../helpers");
9
+ var _utils = require("../lib/utils");
10
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
18
15
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
19
-
20
16
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
21
-
22
17
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
-
24
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
-
26
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
27
-
18
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
19
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
28
20
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
29
-
30
21
  function createInsightsMiddleware(props) {
31
22
  var _ref = props || {},
32
- _insightsClient = _ref.insightsClient,
33
- insightsInitParams = _ref.insightsInitParams,
34
- onEvent = _ref.onEvent;
35
-
23
+ _insightsClient = _ref.insightsClient,
24
+ insightsInitParams = _ref.insightsInitParams,
25
+ onEvent = _ref.onEvent;
36
26
  if (_insightsClient !== null && !_insightsClient) {
37
27
  if (process.env.NODE_ENV === 'development') {
38
28
  throw new Error("The `insightsClient` option is required if you want userToken to be automatically set in search calls. If you don't want this behaviour, set it to `null`.");
@@ -40,25 +30,21 @@ function createInsightsMiddleware(props) {
40
30
  throw new Error('The `insightsClient` option is required. To disable, set it to `null`.');
41
31
  }
42
32
  }
43
-
44
33
  var hasInsightsClient = Boolean(_insightsClient);
45
- var insightsClient = _insightsClient === null ? _index2.noop : _insightsClient;
34
+ var insightsClient = _insightsClient === null ? _utils.noop : _insightsClient;
46
35
  return function (_ref2) {
47
36
  var instantSearchInstance = _ref2.instantSearchInstance;
37
+ var _getAppIdAndApiKey = (0, _utils.getAppIdAndApiKey)(instantSearchInstance.client),
38
+ _getAppIdAndApiKey2 = _slicedToArray(_getAppIdAndApiKey, 2),
39
+ appId = _getAppIdAndApiKey2[0],
40
+ apiKey = _getAppIdAndApiKey2[1];
48
41
 
49
- var _getAppIdAndApiKey = (0, _index2.getAppIdAndApiKey)(instantSearchInstance.client),
50
- _getAppIdAndApiKey2 = _slicedToArray(_getAppIdAndApiKey, 2),
51
- appId = _getAppIdAndApiKey2[0],
52
- apiKey = _getAppIdAndApiKey2[1]; // search-insights.js also throws an error so dev-only clarification is sufficient
53
-
54
-
42
+ // search-insights.js also throws an error so dev-only clarification is sufficient
55
43
  if (process.env.NODE_ENV === 'development' && !(appId && apiKey)) {
56
44
  throw new Error('[insights middleware]: could not extract Algolia credentials from searchClient');
57
45
  }
58
-
59
46
  var queuedUserToken = undefined;
60
47
  var userTokenBeforeInit = undefined;
61
-
62
48
  if (Array.isArray(insightsClient.queue)) {
63
49
  // Context: The umd build of search-insights is asynchronously loaded by the snippet.
64
50
  //
@@ -70,18 +56,14 @@ function createInsightsMiddleware(props) {
70
56
  // At this point, even though `search-insights` is not loaded yet,
71
57
  // we still want to read the token from the queue.
72
58
  // Otherwise, the first search call will be fired without the token.
73
- var _ref3 = (0, _index2.find)(insightsClient.queue.slice().reverse(), function (_ref5) {
59
+ var _ref3 = (0, _utils.find)(insightsClient.queue.slice().reverse(), function (_ref5) {
74
60
  var _ref6 = _slicedToArray(_ref5, 1),
75
- method = _ref6[0];
76
-
61
+ method = _ref6[0];
77
62
  return method === 'setUserToken';
78
63
  }) || [];
79
-
80
64
  var _ref4 = _slicedToArray(_ref3, 2);
81
-
82
65
  queuedUserToken = _ref4[1];
83
66
  }
84
-
85
67
  insightsClient('getUserToken', null, function (_error, userToken) {
86
68
  // If user has called `aa('setUserToken', 'my-user-token')` before creating
87
69
  // the `insights` middleware, we store them temporarily and
@@ -110,55 +92,49 @@ function createInsightsMiddleware(props) {
110
92
  clickAnalytics: true
111
93
  }));
112
94
  instantSearchInstance.scheduleSearch();
113
-
114
95
  var setUserTokenToSearch = function setUserTokenToSearch(userToken) {
115
96
  helper.overrideStateWithoutTriggeringChangeEvent(_objectSpread(_objectSpread({}, helper.state), {}, {
116
97
  userToken: userToken
117
98
  }));
118
99
  instantSearchInstance.scheduleSearch();
119
100
  };
120
-
121
- var anonymousUserToken = (0, _index.getInsightsAnonymousUserTokenInternal)();
122
-
101
+ var anonymousUserToken = (0, _helpers.getInsightsAnonymousUserTokenInternal)();
123
102
  if (hasInsightsClient && anonymousUserToken) {
124
103
  // When `aa('init', { ... })` is called, it creates an anonymous user token in cookie.
125
104
  // We can set it as userToken.
126
105
  setUserTokenToSearch(anonymousUserToken);
127
- } // We consider the `userToken` coming from a `init` call to have a higher
128
- // importance than the one coming from the queue.
129
-
106
+ }
130
107
 
108
+ // We consider the `userToken` coming from a `init` call to have a higher
109
+ // importance than the one coming from the queue.
131
110
  if (userTokenBeforeInit) {
132
111
  insightsClient('setUserToken', userTokenBeforeInit);
133
112
  } else if (queuedUserToken) {
134
113
  insightsClient('setUserToken', queuedUserToken);
135
- } // This updates userToken which is set explicitly by `aa('setUserToken', userToken)`
136
-
114
+ }
137
115
 
116
+ // This updates userToken which is set explicitly by `aa('setUserToken', userToken)`
138
117
  insightsClient('onUserTokenChange', setUserTokenToSearch, {
139
118
  immediate: true
140
119
  });
141
-
142
120
  instantSearchInstance.sendEventToInsights = function (event) {
143
121
  if (onEvent) {
144
122
  onEvent(event, _insightsClient);
145
123
  } else if (event.insightsMethod) {
146
124
  var hasUserToken = Boolean(helper.state.userToken);
147
-
148
125
  if (hasUserToken) {
149
126
  insightsClient(event.insightsMethod, event.payload);
150
127
  } else {
151
- process.env.NODE_ENV === 'development' ? (0, _index2.warning)(false, "\nCannot send event to Algolia Insights because `userToken` is not set.\n\nSee documentation: https://www.algolia.com/doc/guides/building-search-ui/going-further/send-insights-events/js/#setting-the-usertoken\n") : void 0;
128
+ process.env.NODE_ENV === 'development' ? (0, _utils.warning)(false, "\nCannot send event to Algolia Insights because `userToken` is not set.\n\nSee documentation: https://www.algolia.com/doc/guides/building-search-ui/going-further/send-insights-events/js/#setting-the-usertoken\n") : void 0;
152
129
  }
153
130
  } else {
154
- process.env.NODE_ENV === 'development' ? (0, _index2.warning)(false, 'Cannot send event to Algolia Insights because `insightsMethod` option is missing.') : void 0;
131
+ process.env.NODE_ENV === 'development' ? (0, _utils.warning)(false, 'Cannot send event to Algolia Insights because `insightsMethod` option is missing.') : void 0;
155
132
  }
156
133
  };
157
134
  },
158
135
  unsubscribe: function unsubscribe() {
159
136
  insightsClient('onUserTokenChange', undefined);
160
- instantSearchInstance.sendEventToInsights = _index2.noop;
161
-
137
+ instantSearchInstance.sendEventToInsights = _utils.noop;
162
138
  if (helper && initialParameters) {
163
139
  helper.setState(_objectSpread(_objectSpread({}, helper.state), initialParameters));
164
140
  instantSearchInstance.scheduleSearch();
@@ -3,26 +3,22 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isMetadataEnabled = isMetadataEnabled;
7
6
  exports.createMetadataMiddleware = createMetadataMiddleware;
8
-
9
- var _index = require("../lib/utils/index.js");
10
-
7
+ exports.isMetadataEnabled = isMetadataEnabled;
8
+ var _utils = require("../lib/utils");
11
9
  function extractPayload(widgets, instantSearchInstance, payload) {
12
- var initOptions = (0, _index.createInitArgs)(instantSearchInstance, instantSearchInstance.mainIndex, instantSearchInstance._initialUiState);
10
+ var initOptions = (0, _utils.createInitArgs)(instantSearchInstance, instantSearchInstance.mainIndex, instantSearchInstance._initialUiState);
13
11
  widgets.forEach(function (widget) {
14
12
  var widgetParams = {};
15
-
16
13
  if (widget.getWidgetRenderState) {
17
14
  var renderState = widget.getWidgetRenderState(initOptions);
18
-
19
15
  if (renderState && renderState.widgetParams) {
20
16
  // casting, as we just earlier checked widgetParams exists, and thus an object
21
17
  widgetParams = renderState.widgetParams;
22
18
  }
23
- } // since we destructure in all widgets, the parameters with defaults are set to "undefined"
24
-
19
+ }
25
20
 
21
+ // since we destructure in all widgets, the parameters with defaults are set to "undefined"
26
22
  var params = Object.keys(widgetParams).filter(function (key) {
27
23
  return widgetParams[key] !== undefined;
28
24
  });
@@ -31,17 +27,14 @@ function extractPayload(widgets, instantSearchInstance, payload) {
31
27
  widgetType: widget.$$widgetType,
32
28
  params: params
33
29
  });
34
-
35
30
  if (widget.$$type === 'ais.index') {
36
31
  extractPayload(widget.getWidgets(), instantSearchInstance, payload);
37
32
  }
38
33
  });
39
34
  }
40
-
41
35
  function isMetadataEnabled() {
42
- return (0, _index.safelyRunOnBrowser)(function (_ref) {
36
+ return (0, _utils.safelyRunOnBrowser)(function (_ref) {
43
37
  var _window$navigator, _window$navigator$use;
44
-
45
38
  var window = _ref.window;
46
39
  return ((_window$navigator = window.navigator) === null || _window$navigator === void 0 ? void 0 : (_window$navigator$use = _window$navigator.userAgent) === null || _window$navigator$use === void 0 ? void 0 : _window$navigator$use.indexOf('Algolia Crawler')) > -1;
47
40
  }, {
@@ -50,6 +43,7 @@ function isMetadataEnabled() {
50
43
  }
51
44
  });
52
45
  }
46
+
53
47
  /**
54
48
  * Exposes the metadata of mounted widgets in a custom
55
49
  * `<meta name="instantsearch:widgets" />` tag. The metadata per widget is:
@@ -57,8 +51,6 @@ function isMetadataEnabled() {
57
51
  * - widget name
58
52
  * - connector name
59
53
  */
60
-
61
-
62
54
  function createMetadataMiddleware() {
63
55
  return function (_ref2) {
64
56
  var instantSearchInstance = _ref2.instantSearchInstance;
@@ -4,40 +4,34 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createRouterMiddleware = void 0;
7
-
8
- var _simple = _interopRequireDefault(require("../lib/stateMappings/simple.js"));
9
-
10
- var _history = _interopRequireDefault(require("../lib/routers/history.js"));
11
-
12
- var _index = require("../lib/utils/index.js");
13
-
7
+ var _simple = _interopRequireDefault(require("../lib/stateMappings/simple"));
8
+ var _history = _interopRequireDefault(require("../lib/routers/history"));
9
+ var _utils = require("../lib/utils");
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- 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; }
17
-
18
- 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; }
19
-
20
- 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; }
21
-
11
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
12
+ 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; }
13
+ 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
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
22
17
  var createRouterMiddleware = function createRouterMiddleware() {
23
18
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
24
19
  var _props$router = props.router,
25
- router = _props$router === void 0 ? (0, _history.default)() : _props$router,
26
- _props$stateMapping = props.stateMapping,
27
- stateMapping = _props$stateMapping === void 0 ? (0, _simple.default)() : _props$stateMapping;
20
+ router = _props$router === void 0 ? (0, _history.default)() : _props$router,
21
+ _props$stateMapping = props.stateMapping,
22
+ stateMapping = _props$stateMapping === void 0 ? (0, _simple.default)() : _props$stateMapping;
28
23
  return function (_ref) {
29
24
  var instantSearchInstance = _ref.instantSearchInstance;
30
-
31
25
  function topLevelCreateURL(nextState) {
32
26
  var uiState = Object.keys(nextState).reduce(function (acc, indexId) {
33
27
  return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, indexId, nextState[indexId]));
34
28
  }, instantSearchInstance.mainIndex.getWidgetUiState({}));
35
29
  var route = stateMapping.stateToRoute(uiState);
36
30
  return router.createURL(route);
37
- } // casting to UiState here to keep createURL unaware of custom UiState
38
- // (as long as it's an object, it's ok)
39
-
31
+ }
40
32
 
33
+ // casting to UiState here to keep createURL unaware of custom UiState
34
+ // (as long as it's an object, it's ok)
41
35
  instantSearchInstance._createURL = topLevelCreateURL;
42
36
  var lastRouteState = undefined;
43
37
  var initialUiState = instantSearchInstance._initialUiState;
@@ -45,8 +39,7 @@ var createRouterMiddleware = function createRouterMiddleware() {
45
39
  onStateChange: function onStateChange(_ref2) {
46
40
  var uiState = _ref2.uiState;
47
41
  var routeState = stateMapping.stateToRoute(uiState);
48
-
49
- if (lastRouteState === undefined || !(0, _index.isEqual)(lastRouteState, routeState)) {
42
+ if (lastRouteState === undefined || !(0, _utils.isEqual)(lastRouteState, routeState)) {
50
43
  router.write(routeState);
51
44
  lastRouteState = routeState;
52
45
  }
@@ -64,5 +57,4 @@ var createRouterMiddleware = function createRouterMiddleware() {
64
57
  };
65
58
  };
66
59
  };
67
-
68
60
  exports.createRouterMiddleware = createRouterMiddleware;
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
- var _createInsightsMiddleware = require("./createInsightsMiddleware.js");
8
-
6
+ var _createInsightsMiddleware = require("./createInsightsMiddleware");
9
7
  Object.keys(_createInsightsMiddleware).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _createInsightsMiddleware[key]) return;
@@ -16,9 +14,7 @@ Object.keys(_createInsightsMiddleware).forEach(function (key) {
16
14
  }
17
15
  });
18
16
  });
19
-
20
- var _createRouterMiddleware = require("./createRouterMiddleware.js");
21
-
17
+ var _createRouterMiddleware = require("./createRouterMiddleware");
22
18
  Object.keys(_createRouterMiddleware).forEach(function (key) {
23
19
  if (key === "default" || key === "__esModule") return;
24
20
  if (key in exports && exports[key] === _createRouterMiddleware[key]) return;
@@ -29,9 +25,7 @@ Object.keys(_createRouterMiddleware).forEach(function (key) {
29
25
  }
30
26
  });
31
27
  });
32
-
33
- var _createMetadataMiddleware = require("./createMetadataMiddleware.js");
34
-
28
+ var _createMetadataMiddleware = require("./createMetadataMiddleware");
35
29
  Object.keys(_createMetadataMiddleware).forEach(function (key) {
36
30
  if (key === "default" || key === "__esModule") return;
37
31
  if (key in exports && exports[key] === _createMetadataMiddleware[key]) return;
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _algoliasearch = require("algoliasearch-helper/types/algoliasearch.js");
8
-
9
7
  Object.keys(_algoliasearch).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _algoliasearch[key]) return;
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
- var _utils = require("./utils.js");
8
-
6
+ var _utils = require("./utils");
9
7
  Object.keys(_utils).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _utils[key]) return;
@@ -16,9 +14,7 @@ Object.keys(_utils).forEach(function (key) {
16
14
  }
17
15
  });
18
16
  });
19
-
20
- var _algoliasearch = require("./algoliasearch.js");
21
-
17
+ var _algoliasearch = require("./algoliasearch");
22
18
  Object.keys(_algoliasearch).forEach(function (key) {
23
19
  if (key === "default" || key === "__esModule") return;
24
20
  if (key in exports && exports[key] === _algoliasearch[key]) return;
@@ -29,9 +25,7 @@ Object.keys(_algoliasearch).forEach(function (key) {
29
25
  }
30
26
  });
31
27
  });
32
-
33
- var _results = require("./results.js");
34
-
28
+ var _results = require("./results");
35
29
  Object.keys(_results).forEach(function (key) {
36
30
  if (key === "default" || key === "__esModule") return;
37
31
  if (key in exports && exports[key] === _results[key]) return;
@@ -42,9 +36,7 @@ Object.keys(_results).forEach(function (key) {
42
36
  }
43
37
  });
44
38
  });
45
-
46
- var _component = require("./component.js");
47
-
39
+ var _component = require("./component");
48
40
  Object.keys(_component).forEach(function (key) {
49
41
  if (key === "default" || key === "__esModule") return;
50
42
  if (key in exports && exports[key] === _component[key]) return;
@@ -55,9 +47,7 @@ Object.keys(_component).forEach(function (key) {
55
47
  }
56
48
  });
57
49
  });
58
-
59
- var _instantsearch = require("./instantsearch.js");
60
-
50
+ var _instantsearch = require("./instantsearch");
61
51
  Object.keys(_instantsearch).forEach(function (key) {
62
52
  if (key === "default" || key === "__esModule") return;
63
53
  if (key in exports && exports[key] === _instantsearch[key]) return;
@@ -68,9 +58,7 @@ Object.keys(_instantsearch).forEach(function (key) {
68
58
  }
69
59
  });
70
60
  });
71
-
72
- var _middleware = require("./middleware.js");
73
-
61
+ var _middleware = require("./middleware");
74
62
  Object.keys(_middleware).forEach(function (key) {
75
63
  if (key === "default" || key === "__esModule") return;
76
64
  if (key in exports && exports[key] === _middleware[key]) return;
@@ -81,9 +69,7 @@ Object.keys(_middleware).forEach(function (key) {
81
69
  }
82
70
  });
83
71
  });
84
-
85
- var _router = require("./router.js");
86
-
72
+ var _router = require("./router");
87
73
  Object.keys(_router).forEach(function (key) {
88
74
  if (key === "default" || key === "__esModule") return;
89
75
  if (key in exports && exports[key] === _router[key]) return;
@@ -94,9 +80,7 @@ Object.keys(_router).forEach(function (key) {
94
80
  }
95
81
  });
96
82
  });
97
-
98
- var _insights = require("./insights.js");
99
-
83
+ var _insights = require("./insights");
100
84
  Object.keys(_insights).forEach(function (key) {
101
85
  if (key === "default" || key === "__esModule") return;
102
86
  if (key in exports && exports[key] === _insights[key]) return;
@@ -107,9 +91,7 @@ Object.keys(_insights).forEach(function (key) {
107
91
  }
108
92
  });
109
93
  });
110
-
111
- var _connector = require("./connector.js");
112
-
94
+ var _connector = require("./connector");
113
95
  Object.keys(_connector).forEach(function (key) {
114
96
  if (key === "default" || key === "__esModule") return;
115
97
  if (key in exports && exports[key] === _connector[key]) return;
@@ -120,9 +102,7 @@ Object.keys(_connector).forEach(function (key) {
120
102
  }
121
103
  });
122
104
  });
123
-
124
- var _widgetFactory = require("./widget-factory.js");
125
-
105
+ var _widgetFactory = require("./widget-factory");
126
106
  Object.keys(_widgetFactory).forEach(function (key) {
127
107
  if (key === "default" || key === "__esModule") return;
128
108
  if (key in exports && exports[key] === _widgetFactory[key]) return;
@@ -133,9 +113,7 @@ Object.keys(_widgetFactory).forEach(function (key) {
133
113
  }
134
114
  });
135
115
  });
136
-
137
- var _widget = require("./widget.js");
138
-
116
+ var _widget = require("./widget");
139
117
  Object.keys(_widget).forEach(function (key) {
140
118
  if (key === "default" || key === "__esModule") return;
141
119
  if (key in exports && exports[key] === _widget[key]) return;
@@ -146,9 +124,7 @@ Object.keys(_widget).forEach(function (key) {
146
124
  }
147
125
  });
148
126
  });
149
-
150
- var _uiState = require("./ui-state.js");
151
-
127
+ var _uiState = require("./ui-state");
152
128
  Object.keys(_uiState).forEach(function (key) {
153
129
  if (key === "default" || key === "__esModule") return;
154
130
  if (key in exports && exports[key] === _uiState[key]) return;
@@ -159,9 +135,7 @@ Object.keys(_uiState).forEach(function (key) {
159
135
  }
160
136
  });
161
137
  });
162
-
163
- var _renderState = require("./render-state.js");
164
-
138
+ var _renderState = require("./render-state");
165
139
  Object.keys(_renderState).forEach(function (key) {
166
140
  if (key === "default" || key === "__esModule") return;
167
141
  if (key in exports && exports[key] === _renderState[key]) return;
@@ -172,9 +146,7 @@ Object.keys(_renderState).forEach(function (key) {
172
146
  }
173
147
  });
174
148
  });
175
-
176
- var _templates = require("./templates.js");
177
-
149
+ var _templates = require("./templates");
178
150
  Object.keys(_templates).forEach(function (key) {
179
151
  if (key === "default" || key === "__esModule") return;
180
152
  if (key in exports && exports[key] === _templates[key]) return;