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,29 +1,22 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2
-
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
1
+ 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); }
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ 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; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ 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); }
7
7
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
-
9
8
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
-
11
9
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
-
13
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
14
-
15
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
16
-
10
+ 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; }
11
+ 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; } }
17
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
-
19
13
  import { getInsightsAnonymousUserTokenInternal } from "../helpers/index.js";
20
14
  import { warning, noop, getAppIdAndApiKey, find } from "../lib/utils/index.js";
21
15
  export function createInsightsMiddleware(props) {
22
16
  var _ref = props || {},
23
- _insightsClient = _ref.insightsClient,
24
- insightsInitParams = _ref.insightsInitParams,
25
- onEvent = _ref.onEvent;
26
-
17
+ _insightsClient = _ref.insightsClient,
18
+ insightsInitParams = _ref.insightsInitParams,
19
+ onEvent = _ref.onEvent;
27
20
  if (_insightsClient !== null && !_insightsClient) {
28
21
  if (process.env.NODE_ENV === 'development') {
29
22
  throw new Error("The `insightsClient` option is required if you want userToken to be automatically set in search calls. If you don't want this behaviour, set it to `null`.");
@@ -31,25 +24,21 @@ export function createInsightsMiddleware(props) {
31
24
  throw new Error('The `insightsClient` option is required. To disable, set it to `null`.');
32
25
  }
33
26
  }
34
-
35
27
  var hasInsightsClient = Boolean(_insightsClient);
36
28
  var insightsClient = _insightsClient === null ? noop : _insightsClient;
37
29
  return function (_ref2) {
38
30
  var instantSearchInstance = _ref2.instantSearchInstance;
39
-
40
31
  var _getAppIdAndApiKey = getAppIdAndApiKey(instantSearchInstance.client),
41
- _getAppIdAndApiKey2 = _slicedToArray(_getAppIdAndApiKey, 2),
42
- appId = _getAppIdAndApiKey2[0],
43
- apiKey = _getAppIdAndApiKey2[1]; // search-insights.js also throws an error so dev-only clarification is sufficient
44
-
32
+ _getAppIdAndApiKey2 = _slicedToArray(_getAppIdAndApiKey, 2),
33
+ appId = _getAppIdAndApiKey2[0],
34
+ apiKey = _getAppIdAndApiKey2[1];
45
35
 
36
+ // search-insights.js also throws an error so dev-only clarification is sufficient
46
37
  if (process.env.NODE_ENV === 'development' && !(appId && apiKey)) {
47
38
  throw new Error('[insights middleware]: could not extract Algolia credentials from searchClient');
48
39
  }
49
-
50
40
  var queuedUserToken = undefined;
51
41
  var userTokenBeforeInit = undefined;
52
-
53
42
  if (Array.isArray(insightsClient.queue)) {
54
43
  // Context: The umd build of search-insights is asynchronously loaded by the snippet.
55
44
  //
@@ -63,16 +52,12 @@ export function createInsightsMiddleware(props) {
63
52
  // Otherwise, the first search call will be fired without the token.
64
53
  var _ref3 = find(insightsClient.queue.slice().reverse(), function (_ref5) {
65
54
  var _ref6 = _slicedToArray(_ref5, 1),
66
- method = _ref6[0];
67
-
55
+ method = _ref6[0];
68
56
  return method === 'setUserToken';
69
57
  }) || [];
70
-
71
58
  var _ref4 = _slicedToArray(_ref3, 2);
72
-
73
59
  queuedUserToken = _ref4[1];
74
60
  }
75
-
76
61
  insightsClient('getUserToken', null, function (_error, userToken) {
77
62
  // If user has called `aa('setUserToken', 'my-user-token')` before creating
78
63
  // the `insights` middleware, we store them temporarily and
@@ -101,41 +86,36 @@ export function createInsightsMiddleware(props) {
101
86
  clickAnalytics: true
102
87
  }));
103
88
  instantSearchInstance.scheduleSearch();
104
-
105
89
  var setUserTokenToSearch = function setUserTokenToSearch(userToken) {
106
90
  helper.overrideStateWithoutTriggeringChangeEvent(_objectSpread(_objectSpread({}, helper.state), {}, {
107
91
  userToken: userToken
108
92
  }));
109
93
  instantSearchInstance.scheduleSearch();
110
94
  };
111
-
112
95
  var anonymousUserToken = getInsightsAnonymousUserTokenInternal();
113
-
114
96
  if (hasInsightsClient && anonymousUserToken) {
115
97
  // When `aa('init', { ... })` is called, it creates an anonymous user token in cookie.
116
98
  // We can set it as userToken.
117
99
  setUserTokenToSearch(anonymousUserToken);
118
- } // We consider the `userToken` coming from a `init` call to have a higher
119
- // importance than the one coming from the queue.
120
-
100
+ }
121
101
 
102
+ // We consider the `userToken` coming from a `init` call to have a higher
103
+ // importance than the one coming from the queue.
122
104
  if (userTokenBeforeInit) {
123
105
  insightsClient('setUserToken', userTokenBeforeInit);
124
106
  } else if (queuedUserToken) {
125
107
  insightsClient('setUserToken', queuedUserToken);
126
- } // This updates userToken which is set explicitly by `aa('setUserToken', userToken)`
127
-
108
+ }
128
109
 
110
+ // This updates userToken which is set explicitly by `aa('setUserToken', userToken)`
129
111
  insightsClient('onUserTokenChange', setUserTokenToSearch, {
130
112
  immediate: true
131
113
  });
132
-
133
114
  instantSearchInstance.sendEventToInsights = function (event) {
134
115
  if (onEvent) {
135
116
  onEvent(event, _insightsClient);
136
117
  } else if (event.insightsMethod) {
137
118
  var hasUserToken = Boolean(helper.state.userToken);
138
-
139
119
  if (hasUserToken) {
140
120
  insightsClient(event.insightsMethod, event.payload);
141
121
  } else {
@@ -149,7 +129,6 @@ export function createInsightsMiddleware(props) {
149
129
  unsubscribe: function unsubscribe() {
150
130
  insightsClient('onUserTokenChange', undefined);
151
131
  instantSearchInstance.sendEventToInsights = noop;
152
-
153
132
  if (helper && initialParameters) {
154
133
  helper.setState(_objectSpread(_objectSpread({}, helper.state), initialParameters));
155
134
  instantSearchInstance.scheduleSearch();
@@ -1,20 +1,17 @@
1
1
  import { createInitArgs, safelyRunOnBrowser } from "../lib/utils/index.js";
2
-
3
2
  function extractPayload(widgets, instantSearchInstance, payload) {
4
3
  var initOptions = createInitArgs(instantSearchInstance, instantSearchInstance.mainIndex, instantSearchInstance._initialUiState);
5
4
  widgets.forEach(function (widget) {
6
5
  var widgetParams = {};
7
-
8
6
  if (widget.getWidgetRenderState) {
9
7
  var renderState = widget.getWidgetRenderState(initOptions);
10
-
11
8
  if (renderState && renderState.widgetParams) {
12
9
  // casting, as we just earlier checked widgetParams exists, and thus an object
13
10
  widgetParams = renderState.widgetParams;
14
11
  }
15
- } // since we destructure in all widgets, the parameters with defaults are set to "undefined"
16
-
12
+ }
17
13
 
14
+ // since we destructure in all widgets, the parameters with defaults are set to "undefined"
18
15
  var params = Object.keys(widgetParams).filter(function (key) {
19
16
  return widgetParams[key] !== undefined;
20
17
  });
@@ -23,17 +20,14 @@ function extractPayload(widgets, instantSearchInstance, payload) {
23
20
  widgetType: widget.$$widgetType,
24
21
  params: params
25
22
  });
26
-
27
23
  if (widget.$$type === 'ais.index') {
28
24
  extractPayload(widget.getWidgets(), instantSearchInstance, payload);
29
25
  }
30
26
  });
31
27
  }
32
-
33
28
  export function isMetadataEnabled() {
34
29
  return safelyRunOnBrowser(function (_ref) {
35
30
  var _window$navigator, _window$navigator$use;
36
-
37
31
  var window = _ref.window;
38
32
  return ((_window$navigator = window.navigator) === null || _window$navigator === void 0 ? void 0 : (_window$navigator$use = _window$navigator.userAgent) === null || _window$navigator$use === void 0 ? void 0 : _window$navigator$use.indexOf('Algolia Crawler')) > -1;
39
33
  }, {
@@ -42,6 +36,7 @@ export function isMetadataEnabled() {
42
36
  }
43
37
  });
44
38
  }
39
+
45
40
  /**
46
41
  * Exposes the metadata of mounted widgets in a custom
47
42
  * `<meta name="instantsearch:widgets" />` tag. The metadata per widget is:
@@ -49,7 +44,6 @@ export function isMetadataEnabled() {
49
44
  * - widget name
50
45
  * - connector name
51
46
  */
52
-
53
47
  export function createMetadataMiddleware() {
54
48
  return function (_ref2) {
55
49
  var instantSearchInstance = _ref2.instantSearchInstance;
@@ -1,31 +1,30 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2
-
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
1
+ 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); }
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ 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; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ 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); }
7
7
  import simpleStateMapping from "../lib/stateMappings/simple.js";
8
8
  import historyRouter from "../lib/routers/history.js";
9
9
  import { isEqual } from "../lib/utils/index.js";
10
10
  export var createRouterMiddleware = function createRouterMiddleware() {
11
11
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
12
12
  var _props$router = props.router,
13
- router = _props$router === void 0 ? historyRouter() : _props$router,
14
- _props$stateMapping = props.stateMapping,
15
- stateMapping = _props$stateMapping === void 0 ? simpleStateMapping() : _props$stateMapping;
13
+ router = _props$router === void 0 ? historyRouter() : _props$router,
14
+ _props$stateMapping = props.stateMapping,
15
+ stateMapping = _props$stateMapping === void 0 ? simpleStateMapping() : _props$stateMapping;
16
16
  return function (_ref) {
17
17
  var instantSearchInstance = _ref.instantSearchInstance;
18
-
19
18
  function topLevelCreateURL(nextState) {
20
19
  var uiState = Object.keys(nextState).reduce(function (acc, indexId) {
21
20
  return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, indexId, nextState[indexId]));
22
21
  }, instantSearchInstance.mainIndex.getWidgetUiState({}));
23
22
  var route = stateMapping.stateToRoute(uiState);
24
23
  return router.createURL(route);
25
- } // casting to UiState here to keep createURL unaware of custom UiState
26
- // (as long as it's an object, it's ok)
27
-
24
+ }
28
25
 
26
+ // casting to UiState here to keep createURL unaware of custom UiState
27
+ // (as long as it's an object, it's ok)
29
28
  instantSearchInstance._createURL = topLevelCreateURL;
30
29
  var lastRouteState = undefined;
31
30
  var initialUiState = instantSearchInstance._initialUiState;
@@ -33,7 +32,6 @@ export var createRouterMiddleware = function createRouterMiddleware() {
33
32
  onStateChange: function onStateChange(_ref2) {
34
33
  var uiState = _ref2.uiState;
35
34
  var routeState = stateMapping.stateToRoute(uiState);
36
-
37
35
  if (lastRouteState === undefined || !isEqual(lastRouteState, routeState)) {
38
36
  router.write(routeState);
39
37
  lastRouteState = routeState;
@@ -1,2 +1,3 @@
1
+ // eslint-disable-next-line import/extensions
1
2
  export * from 'algoliasearch-helper/types/algoliasearch.js';
2
3
  export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
package/es/types/index.js CHANGED
@@ -1,17 +1,21 @@
1
1
  // internal
2
- export * from "./utils.js"; // Algolia-related
3
- // eslint-disable-next-line import/export
2
+ export * from "./utils.js";
4
3
 
4
+ // Algolia-related
5
+ // eslint-disable-next-line import/export
5
6
  export * from "./algoliasearch.js";
6
- export * from "./results.js"; // component-related
7
+ export * from "./results.js";
7
8
 
8
- export * from "./component.js"; // instantsearch-related
9
+ // component-related
10
+ export * from "./component.js";
9
11
 
12
+ // instantsearch-related
10
13
  export * from "./instantsearch.js";
11
14
  export * from "./middleware.js";
12
15
  export * from "./router.js";
13
- export * from "./insights.js"; // widget-related
16
+ export * from "./insights.js";
14
17
 
18
+ // widget-related
15
19
  export * from "./connector.js";
16
20
  export * from "./widget-factory.js";
17
21
  export * from "./widget.js";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
package/es/types/utils.js CHANGED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,54 +1,49 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2
-
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
1
+ 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); }
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ 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; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ 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); }
7
7
  import { createDocumentationMessageGenerator, warning } from "../../lib/utils/index.js";
8
8
  var withUsage = createDocumentationMessageGenerator({
9
9
  name: 'analytics'
10
10
  });
11
-
12
11
  // @major this widget will be removed from the next major version.
13
12
  var analytics = function analytics(widgetParams) {
14
13
  var _ref = widgetParams || {},
15
- pushFunction = _ref.pushFunction,
16
- _ref$delay = _ref.delay,
17
- delay = _ref$delay === void 0 ? 3000 : _ref$delay,
18
- _ref$triggerOnUIInter = _ref.triggerOnUIInteraction,
19
- triggerOnUIInteraction = _ref$triggerOnUIInter === void 0 ? false : _ref$triggerOnUIInter,
20
- _ref$pushInitialSearc = _ref.pushInitialSearch,
21
- pushInitialSearch = _ref$pushInitialSearc === void 0 ? true : _ref$pushInitialSearc,
22
- _ref$pushPagination = _ref.pushPagination,
23
- pushPagination = _ref$pushPagination === void 0 ? false : _ref$pushPagination;
24
-
14
+ pushFunction = _ref.pushFunction,
15
+ _ref$delay = _ref.delay,
16
+ delay = _ref$delay === void 0 ? 3000 : _ref$delay,
17
+ _ref$triggerOnUIInter = _ref.triggerOnUIInteraction,
18
+ triggerOnUIInteraction = _ref$triggerOnUIInter === void 0 ? false : _ref$triggerOnUIInter,
19
+ _ref$pushInitialSearc = _ref.pushInitialSearch,
20
+ pushInitialSearch = _ref$pushInitialSearc === void 0 ? true : _ref$pushInitialSearc,
21
+ _ref$pushPagination = _ref.pushPagination,
22
+ pushPagination = _ref$pushPagination === void 0 ? false : _ref$pushPagination;
25
23
  if (!pushFunction) {
26
24
  throw new Error(withUsage('The `pushFunction` option is required.'));
27
25
  }
28
-
29
26
  process.env.NODE_ENV === 'development' ? warning(false, "`analytics` widget has been deprecated. It is still supported in 4.x releases, but not further. It is replaced by the `insights` middleware.\n\nFor the migration, visit https://www.algolia.com/doc/guides/building-search-ui/upgrade-guides/js/#analytics-widget") : void 0;
30
27
  var cachedState = null;
31
-
32
28
  var serializeRefinements = function serializeRefinements(parameters) {
33
29
  var refinements = [];
34
30
 
31
+ // eslint-disable-next-line no-restricted-syntax
35
32
  for (var parameter in parameters) {
36
33
  if (parameters.hasOwnProperty(parameter)) {
37
34
  var values = parameters[parameter].join('+');
38
35
  refinements.push("".concat(encodeURIComponent(parameter), "=").concat(encodeURIComponent(parameter), "_").concat(encodeURIComponent(values)));
39
36
  }
40
37
  }
41
-
42
38
  return refinements.join('&');
43
39
  };
44
-
45
40
  var serializeNumericRefinements = function serializeNumericRefinements(numericRefinements) {
46
41
  var refinements = [];
47
42
 
43
+ // eslint-disable-next-line no-restricted-syntax
48
44
  for (var attribute in numericRefinements) {
49
45
  if (numericRefinements.hasOwnProperty(attribute)) {
50
46
  var filter = numericRefinements[attribute];
51
-
52
47
  if (filter.hasOwnProperty('>=') && filter.hasOwnProperty('<=')) {
53
48
  if (filter['>='] && filter['>='][0] === filter['<='] && filter['<='][0]) {
54
49
  refinements.push("".concat(attribute, "=").concat(attribute, "_").concat(filter['>=']));
@@ -62,6 +57,7 @@ var analytics = function analytics(widgetParams) {
62
57
  } else if (filter.hasOwnProperty('=')) {
63
58
  var equals = [];
64
59
 
60
+ // eslint-disable-next-line no-restricted-syntax
65
61
  for (var equal in filter['=']) {
66
62
  // eslint-disable-next-line max-depth
67
63
  if (filter['='].hasOwnProperty(equal)) {
@@ -69,62 +65,47 @@ var analytics = function analytics(widgetParams) {
69
65
  equals.push(filter['='][equal]);
70
66
  }
71
67
  }
72
-
73
68
  refinements.push("".concat(attribute, "=").concat(attribute, "_").concat(equals.join('-')));
74
69
  }
75
70
  }
76
71
  }
77
-
78
72
  return refinements.join('&');
79
73
  };
80
-
81
74
  var lastSentData = '';
82
-
83
75
  var sendAnalytics = function sendAnalytics(analyticsState) {
84
76
  if (analyticsState === null) {
85
77
  return;
86
78
  }
87
-
88
79
  var serializedParams = [];
89
80
  var serializedRefinements = serializeRefinements(_objectSpread(_objectSpread(_objectSpread({}, analyticsState.state.disjunctiveFacetsRefinements), analyticsState.state.facetsRefinements), analyticsState.state.hierarchicalFacetsRefinements));
90
81
  var serializedNumericRefinements = serializeNumericRefinements(analyticsState.state.numericRefinements);
91
-
92
82
  if (serializedRefinements !== '') {
93
83
  serializedParams.push(serializedRefinements);
94
84
  }
95
-
96
85
  if (serializedNumericRefinements !== '') {
97
86
  serializedParams.push(serializedNumericRefinements);
98
87
  }
99
-
100
88
  var stringifiedParams = serializedParams.join('&');
101
89
  var dataToSend = "Query: ".concat(analyticsState.state.query || '', ", ").concat(stringifiedParams);
102
-
103
90
  if (pushPagination === true) {
104
91
  dataToSend += ", Page: ".concat(analyticsState.state.page || 0);
105
92
  }
106
-
107
93
  if (lastSentData !== dataToSend) {
108
94
  pushFunction(stringifiedParams, analyticsState.state, analyticsState.results);
109
95
  lastSentData = dataToSend;
110
96
  }
111
97
  };
112
-
113
98
  var pushTimeout;
114
99
  var isInitialSearch = true;
115
-
116
100
  if (pushInitialSearch === true) {
117
101
  isInitialSearch = false;
118
102
  }
119
-
120
103
  var onClick = function onClick() {
121
104
  sendAnalytics(cachedState);
122
105
  };
123
-
124
106
  var onUnload = function onUnload() {
125
107
  sendAnalytics(cachedState);
126
108
  };
127
-
128
109
  return {
129
110
  $$type: 'ais.analytics',
130
111
  $$widgetType: 'ais.analytics',
@@ -136,22 +117,18 @@ var analytics = function analytics(widgetParams) {
136
117
  },
137
118
  render: function render(_ref2) {
138
119
  var results = _ref2.results,
139
- state = _ref2.state;
140
-
120
+ state = _ref2.state;
141
121
  if (isInitialSearch === true) {
142
122
  isInitialSearch = false;
143
123
  return;
144
124
  }
145
-
146
125
  cachedState = {
147
126
  results: results,
148
127
  state: state
149
128
  };
150
-
151
129
  if (pushTimeout) {
152
130
  clearTimeout(pushTimeout);
153
131
  }
154
-
155
132
  pushTimeout = window.setTimeout(function () {
156
133
  return sendAnalytics(cachedState);
157
134
  }, delay);
@@ -174,5 +151,4 @@ var analytics = function analytics(widgetParams) {
174
151
  }
175
152
  };
176
153
  };
177
-
178
154
  export default analytics;
@@ -1,9 +1,9 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2
-
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
1
+ 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); }
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ 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; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ 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); }
7
7
  import { h, render } from 'preact';
8
8
  import { cx } from '@algolia/ui-components-shared';
9
9
  import defaultTemplates from "./defaultTemplates.js";
@@ -16,17 +16,15 @@ var withUsage = createDocumentationMessageGenerator({
16
16
  name: 'answers'
17
17
  });
18
18
  var suit = component('Answers');
19
-
20
19
  var renderer = function renderer(_ref) {
21
20
  var containerNode = _ref.containerNode,
22
- cssClasses = _ref.cssClasses,
23
- renderState = _ref.renderState,
24
- templates = _ref.templates;
21
+ cssClasses = _ref.cssClasses,
22
+ renderState = _ref.renderState,
23
+ templates = _ref.templates;
25
24
  return function (_ref2, isFirstRendering) {
26
25
  var hits = _ref2.hits,
27
- isLoading = _ref2.isLoading,
28
- instantSearchInstance = _ref2.instantSearchInstance;
29
-
26
+ isLoading = _ref2.isLoading,
27
+ instantSearchInstance = _ref2.instantSearchInstance;
30
28
  if (isFirstRendering) {
31
29
  renderState.templateProps = prepareTemplateProps({
32
30
  defaultTemplates: defaultTemplates,
@@ -35,7 +33,6 @@ var renderer = function renderer(_ref) {
35
33
  });
36
34
  return;
37
35
  }
38
-
39
36
  render(h(Answers, {
40
37
  cssClasses: cssClasses,
41
38
  hits: hits,
@@ -44,26 +41,23 @@ var renderer = function renderer(_ref) {
44
41
  }), containerNode);
45
42
  };
46
43
  };
47
-
48
44
  var answersWidget = function answersWidget(widgetParams) {
49
45
  var _ref3 = widgetParams || {},
50
- container = _ref3.container,
51
- attributesForPrediction = _ref3.attributesForPrediction,
52
- queryLanguages = _ref3.queryLanguages,
53
- nbHits = _ref3.nbHits,
54
- searchDebounceTime = _ref3.searchDebounceTime,
55
- renderDebounceTime = _ref3.renderDebounceTime,
56
- escapeHTML = _ref3.escapeHTML,
57
- extraParameters = _ref3.extraParameters,
58
- _ref3$templates = _ref3.templates,
59
- templates = _ref3$templates === void 0 ? {} : _ref3$templates,
60
- _ref3$cssClasses = _ref3.cssClasses,
61
- userCssClasses = _ref3$cssClasses === void 0 ? {} : _ref3$cssClasses;
62
-
46
+ container = _ref3.container,
47
+ attributesForPrediction = _ref3.attributesForPrediction,
48
+ queryLanguages = _ref3.queryLanguages,
49
+ nbHits = _ref3.nbHits,
50
+ searchDebounceTime = _ref3.searchDebounceTime,
51
+ renderDebounceTime = _ref3.renderDebounceTime,
52
+ escapeHTML = _ref3.escapeHTML,
53
+ extraParameters = _ref3.extraParameters,
54
+ _ref3$templates = _ref3.templates,
55
+ templates = _ref3$templates === void 0 ? {} : _ref3$templates,
56
+ _ref3$cssClasses = _ref3.cssClasses,
57
+ userCssClasses = _ref3$cssClasses === void 0 ? {} : _ref3$cssClasses;
63
58
  if (!container) {
64
59
  throw new Error(withUsage('The `container` option is required.'));
65
60
  }
66
-
67
61
  var containerNode = getContainerNode(container);
68
62
  var cssClasses = {
69
63
  root: cx(suit(), userCssClasses.root),
@@ -104,5 +98,4 @@ var answersWidget = function answersWidget(widgetParams) {
104
98
  $$widgetType: 'ais.answers'
105
99
  });
106
100
  };
107
-
108
101
  export default answersWidget;