instantsearch.js 4.49.1 → 4.49.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/README.md +3 -3
  2. package/cjs/components/Answers/Answers.js +6 -16
  3. package/cjs/components/Breadcrumb/Breadcrumb.js +5 -12
  4. package/cjs/components/ClearRefinements/ClearRefinements.js +4 -11
  5. package/cjs/components/CurrentRefinements/CurrentRefinements.js +5 -12
  6. package/cjs/components/GeoSearchControls/GeoSearchButton.js +4 -6
  7. package/cjs/components/GeoSearchControls/GeoSearchControls.js +11 -20
  8. package/cjs/components/GeoSearchControls/GeoSearchToggle.js +4 -6
  9. package/cjs/components/Highlight/Highlight.js +3 -11
  10. package/cjs/components/Hits/Hits.js +8 -20
  11. package/cjs/components/InfiniteHits/InfiniteHits.js +13 -25
  12. package/cjs/components/InternalHighlight/InternalHighlight.js +0 -3
  13. package/cjs/components/MenuSelect/MenuSelect.js +9 -19
  14. package/cjs/components/Pagination/Pagination.js +10 -17
  15. package/cjs/components/Panel/Panel.js +7 -26
  16. package/cjs/components/PoweredBy/PoweredBy.js +4 -5
  17. package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +2 -6
  18. package/cjs/components/RangeInput/RangeInput.js +16 -48
  19. package/cjs/components/RefinementList/RefinementList.js +19 -73
  20. package/cjs/components/RefinementList/RefinementListItem.js +8 -14
  21. package/cjs/components/RelevantSort/RelevantSort.js +4 -8
  22. package/cjs/components/ReverseHighlight/ReverseHighlight.js +3 -11
  23. package/cjs/components/ReverseSnippet/ReverseSnippet.js +3 -11
  24. package/cjs/components/SearchBox/SearchBox.js +25 -69
  25. package/cjs/components/Selector/Selector.js +3 -6
  26. package/cjs/components/Slider/Pit.js +3 -10
  27. package/cjs/components/Slider/Rheostat.js +63 -131
  28. package/cjs/components/Slider/Slider.js +28 -65
  29. package/cjs/components/Snippet/Snippet.js +3 -11
  30. package/cjs/components/Stats/Stats.js +7 -20
  31. package/cjs/components/Template/Template.js +8 -37
  32. package/cjs/components/ToggleRefinement/ToggleRefinement.js +4 -10
  33. package/cjs/components/VoiceSearch/VoiceSearch.js +8 -15
  34. package/cjs/connectors/answers/connectAnswers.js +21 -36
  35. package/cjs/connectors/autocomplete/connectAutocomplete.js +8 -25
  36. package/cjs/connectors/breadcrumb/connectBreadcrumb.js +17 -48
  37. package/cjs/connectors/clear-refinements/connectClearRefinements.js +27 -45
  38. package/cjs/connectors/configure/connectConfigure.js +6 -20
  39. package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +11 -36
  40. package/cjs/connectors/current-refinements/connectCurrentRefinements.js +18 -57
  41. package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +17 -37
  42. package/cjs/connectors/geo-search/connectGeoSearch.js +17 -47
  43. package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +38 -74
  44. package/cjs/connectors/hits/connectHits.js +10 -26
  45. package/cjs/connectors/hits/connectHitsWithInsights.js +0 -4
  46. package/cjs/connectors/hits-per-page/connectHitsPerPage.js +15 -38
  47. package/cjs/connectors/index.js +62 -96
  48. package/cjs/connectors/infinite-hits/connectInfiniteHits.js +26 -62
  49. package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +0 -4
  50. package/cjs/connectors/menu/connectMenu.js +28 -66
  51. package/cjs/connectors/numeric-menu/connectNumericMenu.js +24 -78
  52. package/cjs/connectors/pagination/Paginator.js +3 -20
  53. package/cjs/connectors/pagination/connectPagination.js +8 -25
  54. package/cjs/connectors/powered-by/connectPoweredBy.js +4 -13
  55. package/cjs/connectors/query-rules/connectQueryRules.js +32 -56
  56. package/cjs/connectors/range/connectRange.js +41 -101
  57. package/cjs/connectors/rating-menu/connectRatingMenu.js +23 -79
  58. package/cjs/connectors/refinement-list/connectRefinementList.js +37 -70
  59. package/cjs/connectors/relevant-sort/connectRelevantSort.js +4 -14
  60. package/cjs/connectors/search-box/connectSearchBox.js +7 -23
  61. package/cjs/connectors/sort-by/connectSortBy.js +11 -21
  62. package/cjs/connectors/stats/connectStats.js +4 -11
  63. package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +29 -63
  64. package/cjs/connectors/voice-search/connectVoiceSearch.js +13 -35
  65. package/cjs/helpers/components/Highlight.js +4 -12
  66. package/cjs/helpers/components/ReverseHighlight.js +7 -19
  67. package/cjs/helpers/components/ReverseSnippet.js +7 -19
  68. package/cjs/helpers/components/Snippet.js +4 -12
  69. package/cjs/helpers/components/index.js +0 -8
  70. package/cjs/helpers/get-insights-anonymous-user-token.js +4 -15
  71. package/cjs/helpers/highlight.js +10 -16
  72. package/cjs/helpers/index.js +17 -31
  73. package/cjs/helpers/insights.js +5 -17
  74. package/cjs/helpers/reverseHighlight.js +10 -16
  75. package/cjs/helpers/reverseSnippet.js +10 -16
  76. package/cjs/helpers/snippet.js +10 -16
  77. package/cjs/index.js +3 -18
  78. package/cjs/lib/InstantSearch.js +79 -180
  79. package/cjs/lib/createHelpers.js +4 -11
  80. package/cjs/lib/formatNumber.js +0 -1
  81. package/cjs/lib/infiniteHitsCache/index.js +0 -2
  82. package/cjs/lib/infiniteHitsCache/sessionStorage.js +9 -18
  83. package/cjs/lib/insights/client.js +8 -34
  84. package/cjs/lib/insights/index.js +7 -13
  85. package/cjs/lib/insights/listener.js +4 -20
  86. package/cjs/lib/routers/history.js +63 -102
  87. package/cjs/lib/routers/index.js +0 -2
  88. package/cjs/lib/stateMappings/index.js +0 -3
  89. package/cjs/lib/stateMappings/simple.js +6 -13
  90. package/cjs/lib/stateMappings/singleIndex.js +1 -7
  91. package/cjs/lib/suit.js +2 -5
  92. package/cjs/lib/templating/index.js +0 -4
  93. package/cjs/lib/templating/prepareTemplateProps.js +8 -19
  94. package/cjs/lib/templating/renderTemplate.js +9 -24
  95. package/cjs/lib/utils/capitalize.js +0 -1
  96. package/cjs/lib/utils/checkIndexUiState.js +15 -43
  97. package/cjs/lib/utils/checkRendering.js +0 -2
  98. package/cjs/lib/utils/clearRefinements.js +2 -9
  99. package/cjs/lib/utils/concatHighlightedParts.js +1 -3
  100. package/cjs/lib/utils/createConcurrentSafePromise.js +0 -3
  101. package/cjs/lib/utils/createSendEventForFacet.js +7 -14
  102. package/cjs/lib/utils/createSendEventForHits.js +9 -33
  103. package/cjs/lib/utils/debounce.js +0 -3
  104. package/cjs/lib/utils/defer.js +0 -11
  105. package/cjs/lib/utils/detect-insights-client.js +0 -2
  106. package/cjs/lib/utils/documentation.js +2 -5
  107. package/cjs/lib/utils/escape-highlight.js +5 -22
  108. package/cjs/lib/utils/escape-html.js +9 -7
  109. package/cjs/lib/utils/escapeFacetValue.js +1 -5
  110. package/cjs/lib/utils/find.js +2 -5
  111. package/cjs/lib/utils/findIndex.js +0 -3
  112. package/cjs/lib/utils/geo-search.js +14 -34
  113. package/cjs/lib/utils/getAppIdAndApiKey.js +2 -3
  114. package/cjs/lib/utils/getContainerNode.js +0 -6
  115. package/cjs/lib/utils/getHighlightFromSiblings.js +0 -6
  116. package/cjs/lib/utils/getHighlightedParts.js +1 -4
  117. package/cjs/lib/utils/getObjectType.js +0 -1
  118. package/cjs/lib/utils/getPropertyByPath.js +0 -1
  119. package/cjs/lib/utils/getRefinements.js +13 -26
  120. package/cjs/lib/utils/getWidgetAttribute.js +0 -6
  121. package/cjs/lib/utils/hits-absolute-position.js +2 -6
  122. package/cjs/lib/utils/hits-query-id.js +2 -7
  123. package/cjs/lib/utils/index.js +0 -92
  124. package/cjs/lib/utils/isDomElement.js +0 -1
  125. package/cjs/lib/utils/isEqual.js +0 -8
  126. package/cjs/lib/utils/isFacetRefined.js +0 -1
  127. package/cjs/lib/utils/isFiniteNumber.js +0 -1
  128. package/cjs/lib/utils/isIndexWidget.js +0 -1
  129. package/cjs/lib/utils/isPlainObject.js +3 -11
  130. package/cjs/lib/utils/isSpecialClick.js +0 -1
  131. package/cjs/lib/utils/logger.js +3 -13
  132. package/cjs/lib/utils/mergeSearchParameters.js +16 -40
  133. package/cjs/lib/utils/noop.js +0 -1
  134. package/cjs/lib/utils/range.js +8 -14
  135. package/cjs/lib/utils/render-args.js +0 -2
  136. package/cjs/lib/utils/resolveSearchParameters.js +0 -3
  137. package/cjs/lib/utils/reverseHighlightedParts.js +2 -8
  138. package/cjs/lib/utils/safelyRunOnBrowser.js +7 -9
  139. package/cjs/lib/utils/serializer.js +1 -3
  140. package/cjs/lib/utils/setIndexHelperState.js +0 -5
  141. package/cjs/lib/utils/toArray.js +0 -1
  142. package/cjs/lib/utils/typedObject.js +0 -1
  143. package/cjs/lib/utils/uniq.js +0 -1
  144. package/cjs/lib/version.js +1 -1
  145. package/cjs/lib/voiceSearchHelper/index.js +8 -36
  146. package/cjs/middlewares/createInsightsMiddleware.js +15 -44
  147. package/cjs/middlewares/createMetadataMiddleware.js +4 -12
  148. package/cjs/middlewares/createRouterMiddleware.js +8 -19
  149. package/cjs/middlewares/index.js +0 -6
  150. package/cjs/types/algoliasearch.js +0 -2
  151. package/cjs/types/index.js +0 -28
  152. package/cjs/widgets/analytics/analytics.js +12 -47
  153. package/cjs/widgets/answers/answers.js +19 -39
  154. package/cjs/widgets/breadcrumb/breadcrumb.js +18 -38
  155. package/cjs/widgets/clear-refinements/clear-refinements.js +15 -35
  156. package/cjs/widgets/configure/configure.js +2 -10
  157. package/cjs/widgets/configure-related-items/configure-related-items.js +2 -10
  158. package/cjs/widgets/current-refinements/current-refinements.js +12 -30
  159. package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +6 -25
  160. package/cjs/widgets/geo-search/GeoSearchRenderer.js +41 -68
  161. package/cjs/widgets/geo-search/createHTMLMarker.js +30 -60
  162. package/cjs/widgets/geo-search/defaultTemplates.js +0 -3
  163. package/cjs/widgets/geo-search/geo-search.js +27 -59
  164. package/cjs/widgets/hierarchical-menu/defaultTemplates.js +4 -7
  165. package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +28 -47
  166. package/cjs/widgets/hits/hits.js +16 -37
  167. package/cjs/widgets/hits-per-page/hits-per-page.js +13 -31
  168. package/cjs/widgets/index/index.js +49 -95
  169. package/cjs/widgets/index.js +12 -50
  170. package/cjs/widgets/infinite-hits/infinite-hits.js +23 -44
  171. package/cjs/widgets/menu/defaultTemplates.js +3 -6
  172. package/cjs/widgets/menu/menu.js +23 -43
  173. package/cjs/widgets/menu-select/defaultTemplates.js +1 -3
  174. package/cjs/widgets/menu-select/menu-select.js +18 -38
  175. package/cjs/widgets/numeric-menu/defaultTemplates.js +3 -4
  176. package/cjs/widgets/numeric-menu/numeric-menu.js +17 -37
  177. package/cjs/widgets/pagination/pagination.js +32 -53
  178. package/cjs/widgets/panel/panel.js +20 -48
  179. package/cjs/widgets/places/places.js +16 -33
  180. package/cjs/widgets/powered-by/powered-by.js +10 -27
  181. package/cjs/widgets/query-rule-context/query-rule-context.js +2 -13
  182. package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +14 -32
  183. package/cjs/widgets/range-input/range-input.js +23 -50
  184. package/cjs/widgets/range-slider/range-slider.js +28 -53
  185. package/cjs/widgets/rating-menu/defaultTemplates.js +8 -14
  186. package/cjs/widgets/rating-menu/rating-menu.js +17 -38
  187. package/cjs/widgets/refinement-list/defaultTemplates.js +5 -8
  188. package/cjs/widgets/refinement-list/refinement-list.js +39 -60
  189. package/cjs/widgets/relevant-sort/relevant-sort.js +10 -29
  190. package/cjs/widgets/search-box/defaultTemplates.js +0 -5
  191. package/cjs/widgets/search-box/search-box.js +31 -49
  192. package/cjs/widgets/sort-by/sort-by.js +11 -29
  193. package/cjs/widgets/stats/defaultTemplates.js +0 -1
  194. package/cjs/widgets/stats/stats.js +27 -57
  195. package/cjs/widgets/toggle-refinement/toggle-refinement.js +16 -36
  196. package/cjs/widgets/voice-search/defaultTemplates.js +4 -14
  197. package/cjs/widgets/voice-search/voice-search.js +17 -36
  198. package/dist/instantsearch.development.d.ts +8 -6
  199. package/dist/instantsearch.development.js +1722 -3088
  200. package/dist/instantsearch.development.js.map +1 -1
  201. package/dist/instantsearch.production.d.ts +8 -6
  202. package/dist/instantsearch.production.min.d.ts +8 -6
  203. package/dist/instantsearch.production.min.js +2 -2
  204. package/dist/instantsearch.production.min.js.map +1 -1
  205. package/es/components/Answers/Answers.js +6 -11
  206. package/es/components/Breadcrumb/Breadcrumb.js +5 -7
  207. package/es/components/ClearRefinements/ClearRefinements.js +4 -6
  208. package/es/components/CurrentRefinements/CurrentRefinements.js +7 -10
  209. package/es/components/GeoSearchControls/GeoSearchButton.js +6 -6
  210. package/es/components/GeoSearchControls/GeoSearchControls.js +11 -13
  211. package/es/components/GeoSearchControls/GeoSearchToggle.js +6 -6
  212. package/es/components/Highlight/Highlight.js +3 -7
  213. package/es/components/Hits/Hits.js +8 -15
  214. package/es/components/InfiniteHits/InfiniteHits.js +13 -20
  215. package/es/components/MenuSelect/MenuSelect.js +9 -13
  216. package/es/components/Pagination/Pagination.js +12 -15
  217. package/es/components/Panel/Panel.js +7 -20
  218. package/es/components/PoweredBy/PoweredBy.js +6 -5
  219. package/es/components/QueryRuleCustomData/QueryRuleCustomData.js +4 -4
  220. package/es/components/RangeInput/RangeInput.js +16 -43
  221. package/es/components/RefinementList/RefinementList.js +19 -64
  222. package/es/components/RefinementList/RefinementListItem.js +8 -10
  223. package/es/components/RelevantSort/RelevantSort.js +6 -6
  224. package/es/components/ReverseHighlight/ReverseHighlight.js +3 -7
  225. package/es/components/ReverseSnippet/ReverseSnippet.js +3 -7
  226. package/es/components/SearchBox/SearchBox.js +25 -63
  227. package/es/components/Selector/Selector.js +5 -5
  228. package/es/components/Slider/Pit.js +3 -7
  229. package/es/components/Slider/Rheostat.js +64 -129
  230. package/es/components/Slider/Slider.js +28 -58
  231. package/es/components/Snippet/Snippet.js +3 -7
  232. package/es/components/Stats/Stats.js +7 -15
  233. package/es/components/Template/Template.js +8 -32
  234. package/es/components/ToggleRefinement/ToggleRefinement.js +4 -6
  235. package/es/components/VoiceSearch/VoiceSearch.js +10 -13
  236. package/es/connectors/answers/connectAnswers.js +21 -35
  237. package/es/connectors/autocomplete/connectAutocomplete.js +8 -23
  238. package/es/connectors/breadcrumb/connectBreadcrumb.js +17 -46
  239. package/es/connectors/clear-refinements/connectClearRefinements.js +27 -43
  240. package/es/connectors/configure/connectConfigure.js +7 -16
  241. package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +11 -31
  242. package/es/connectors/current-refinements/connectCurrentRefinements.js +18 -55
  243. package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +17 -35
  244. package/es/connectors/geo-search/connectGeoSearch.js +17 -45
  245. package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +38 -72
  246. package/es/connectors/hits/connectHits.js +10 -24
  247. package/es/connectors/hits-per-page/connectHitsPerPage.js +15 -36
  248. package/es/connectors/index.d.ts +2 -1
  249. package/es/connectors/index.js +6 -3
  250. package/es/connectors/infinite-hits/connectInfiniteHits.js +26 -60
  251. package/es/connectors/menu/connectMenu.js +28 -64
  252. package/es/connectors/numeric-menu/connectNumericMenu.js +24 -76
  253. package/es/connectors/pagination/Paginator.js +3 -19
  254. package/es/connectors/pagination/connectPagination.js +8 -21
  255. package/es/connectors/powered-by/connectPoweredBy.js +4 -11
  256. package/es/connectors/query-rules/connectQueryRules.js +32 -54
  257. package/es/connectors/range/connectRange.js +41 -99
  258. package/es/connectors/rating-menu/connectRatingMenu.js +23 -77
  259. package/es/connectors/refinement-list/connectRefinementList.js +37 -68
  260. package/es/connectors/relevant-sort/connectRelevantSort.js +4 -13
  261. package/es/connectors/search-box/connectSearchBox.js +7 -21
  262. package/es/connectors/sort-by/connectSortBy.js +11 -19
  263. package/es/connectors/stats/connectStats.js +4 -9
  264. package/es/connectors/toggle-refinement/connectToggleRefinement.js +29 -61
  265. package/es/connectors/voice-search/connectVoiceSearch.js +13 -31
  266. package/es/helpers/components/Highlight.js +4 -8
  267. package/es/helpers/components/ReverseHighlight.js +7 -15
  268. package/es/helpers/components/ReverseSnippet.js +7 -15
  269. package/es/helpers/components/Snippet.js +4 -8
  270. package/es/helpers/get-insights-anonymous-user-token.js +2 -10
  271. package/es/helpers/highlight.js +9 -11
  272. package/es/helpers/insights.js +3 -10
  273. package/es/helpers/reverseHighlight.js +9 -11
  274. package/es/helpers/reverseSnippet.js +9 -11
  275. package/es/helpers/snippet.js +9 -11
  276. package/es/index.js +0 -2
  277. package/es/lib/InstantSearch.js +79 -170
  278. package/es/lib/createHelpers.js +4 -8
  279. package/es/lib/infiniteHitsCache/sessionStorage.js +9 -16
  280. package/es/lib/insights/client.js +8 -32
  281. package/es/lib/insights/listener.js +6 -18
  282. package/es/lib/routers/history.js +63 -99
  283. package/es/lib/stateMappings/simple.js +6 -12
  284. package/es/lib/stateMappings/singleIndex.js +1 -6
  285. package/es/lib/suit.js +2 -3
  286. package/es/lib/templating/prepareTemplateProps.js +8 -18
  287. package/es/lib/templating/renderTemplate.js +9 -20
  288. package/es/lib/utils/checkIndexUiState.js +18 -40
  289. package/es/lib/utils/clearRefinements.js +2 -8
  290. package/es/lib/utils/concatHighlightedParts.js +1 -1
  291. package/es/lib/utils/createConcurrentSafePromise.js +0 -2
  292. package/es/lib/utils/createSendEventForFacet.js +7 -12
  293. package/es/lib/utils/createSendEventForHits.js +8 -30
  294. package/es/lib/utils/debounce.js +0 -2
  295. package/es/lib/utils/defer.js +0 -10
  296. package/es/lib/utils/documentation.js +2 -3
  297. package/es/lib/utils/escape-highlight.js +3 -16
  298. package/es/lib/utils/escape-html.js +9 -5
  299. package/es/lib/utils/escapeFacetValue.js +0 -2
  300. package/es/lib/utils/find.js +2 -4
  301. package/es/lib/utils/findIndex.js +0 -2
  302. package/es/lib/utils/geo-search.js +14 -32
  303. package/es/lib/utils/getAppIdAndApiKey.js +2 -2
  304. package/es/lib/utils/getContainerNode.js +1 -5
  305. package/es/lib/utils/getHighlightFromSiblings.js +0 -3
  306. package/es/lib/utils/getHighlightedParts.js +1 -2
  307. package/es/lib/utils/getRefinements.js +13 -24
  308. package/es/lib/utils/getWidgetAttribute.js +0 -5
  309. package/es/lib/utils/hits-absolute-position.js +2 -5
  310. package/es/lib/utils/hits-query-id.js +2 -6
  311. package/es/lib/utils/isEqual.js +0 -7
  312. package/es/lib/utils/isPlainObject.js +3 -10
  313. package/es/lib/utils/logger.js +2 -12
  314. package/es/lib/utils/mergeSearchParameters.js +16 -37
  315. package/es/lib/utils/range.js +8 -13
  316. package/es/lib/utils/resolveSearchParameters.js +0 -2
  317. package/es/lib/utils/reverseHighlightedParts.js +2 -6
  318. package/es/lib/utils/safelyRunOnBrowser.js +7 -8
  319. package/es/lib/utils/setIndexHelperState.js +0 -2
  320. package/es/lib/version.d.ts +1 -1
  321. package/es/lib/version.js +1 -1
  322. package/es/lib/voiceSearchHelper/index.js +8 -35
  323. package/es/middlewares/createInsightsMiddleware.js +15 -41
  324. package/es/middlewares/createMetadataMiddleware.js +3 -9
  325. package/es/middlewares/createRouterMiddleware.js +8 -13
  326. package/es/types/index.js +9 -5
  327. package/es/widgets/analytics/analytics.js +12 -45
  328. package/es/widgets/answers/answers.js +19 -28
  329. package/es/widgets/breadcrumb/breadcrumb.js +18 -27
  330. package/es/widgets/clear-refinements/clear-refinements.js +15 -24
  331. package/es/widgets/configure/configure.js +3 -6
  332. package/es/widgets/configure-related-items/configure-related-items.js +2 -7
  333. package/es/widgets/current-refinements/current-refinements.js +12 -21
  334. package/es/widgets/dynamic-widgets/dynamic-widgets.js +6 -20
  335. package/es/widgets/geo-search/GeoSearchRenderer.js +41 -63
  336. package/es/widgets/geo-search/createHTMLMarker.js +30 -59
  337. package/es/widgets/geo-search/defaultTemplates.js +2 -2
  338. package/es/widgets/geo-search/geo-search.js +27 -49
  339. package/es/widgets/hierarchical-menu/defaultTemplates.js +5 -4
  340. package/es/widgets/hierarchical-menu/hierarchical-menu.js +28 -36
  341. package/es/widgets/hits/hits.js +16 -25
  342. package/es/widgets/hits-per-page/hits-per-page.js +13 -22
  343. package/es/widgets/index/index.js +49 -91
  344. package/es/widgets/index.d.ts +2 -1
  345. package/es/widgets/index.js +4 -3
  346. package/es/widgets/infinite-hits/infinite-hits.js +23 -32
  347. package/es/widgets/menu/defaultTemplates.js +4 -3
  348. package/es/widgets/menu/menu.js +23 -32
  349. package/es/widgets/menu-select/defaultTemplates.js +1 -1
  350. package/es/widgets/menu-select/menu-select.js +18 -27
  351. package/es/widgets/numeric-menu/defaultTemplates.js +4 -3
  352. package/es/widgets/numeric-menu/numeric-menu.js +17 -26
  353. package/es/widgets/pagination/pagination.js +32 -44
  354. package/es/widgets/panel/panel.js +20 -40
  355. package/es/widgets/places/places.js +16 -32
  356. package/es/widgets/powered-by/powered-by.js +10 -18
  357. package/es/widgets/query-rule-context/query-rule-context.js +2 -9
  358. package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +13 -22
  359. package/es/widgets/range-input/range-input.js +23 -40
  360. package/es/widgets/range-slider/range-slider.js +28 -44
  361. package/es/widgets/rating-menu/defaultTemplates.js +9 -12
  362. package/es/widgets/rating-menu/rating-menu.js +17 -27
  363. package/es/widgets/refinement-list/defaultTemplates.js +6 -5
  364. package/es/widgets/refinement-list/refinement-list.js +39 -48
  365. package/es/widgets/relevant-sort/relevant-sort.js +10 -19
  366. package/es/widgets/search-box/defaultTemplates.js +1 -4
  367. package/es/widgets/search-box/search-box.js +31 -39
  368. package/es/widgets/sort-by/sort-by.js +11 -20
  369. package/es/widgets/stats/stats.js +26 -45
  370. package/es/widgets/toggle-refinement/toggle-refinement.js +16 -25
  371. package/es/widgets/voice-search/defaultTemplates.js +5 -13
  372. package/es/widgets/voice-search/voice-search.js +17 -26
  373. package/package.json +20 -119
  374. package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.input.js +0 -1
  375. package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.output.js +0 -1
  376. package/CHANGELOG.md +0 -3693
@@ -4,53 +4,36 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _preact = require("preact");
9
-
10
8
  var _index = require("../../lib/templating/index.js");
11
-
12
9
  var _GeoSearchControls = _interopRequireDefault(require("../../components/GeoSearchControls/GeoSearchControls.js"));
13
-
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
-
11
+ 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; }
12
+ 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; }
20
13
  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
-
22
14
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
-
24
15
  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."); }
25
-
26
16
  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); }
27
-
28
17
  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; }
29
-
30
- 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; }
31
-
18
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
32
19
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
-
34
20
  var refineWithMap = function refineWithMap(_ref) {
35
21
  var refine = _ref.refine,
36
- mapInstance = _ref.mapInstance;
22
+ mapInstance = _ref.mapInstance;
37
23
  return refine({
38
24
  northEast: mapInstance.getBounds().getNorthEast().toJSON(),
39
25
  southWest: mapInstance.getBounds().getSouthWest().toJSON()
40
26
  });
41
27
  };
42
-
43
28
  var collectMarkersForNextRender = function collectMarkersForNextRender(markers, nextIds) {
44
29
  return markers.reduce(function (_ref2, marker) {
45
30
  var _ref3 = _slicedToArray(_ref2, 2),
46
- update = _ref3[0],
47
- exit = _ref3[1];
48
-
31
+ update = _ref3[0],
32
+ exit = _ref3[1];
49
33
  var persist = nextIds.includes(marker.__id);
50
34
  return persist ? [update.concat(marker), exit] : [update, exit.concat(marker)];
51
35
  }, [[], []]);
52
36
  };
53
-
54
37
  var createBoundingBoxFromMarkers = function createBoundingBoxFromMarkers(google, markers) {
55
38
  var latLngBounds = markers.reduce(function (acc, marker) {
56
39
  return acc.extend(marker.getPosition());
@@ -60,40 +43,37 @@ var createBoundingBoxFromMarkers = function createBoundingBoxFromMarkers(google,
60
43
  southWest: latLngBounds.getSouthWest().toJSON()
61
44
  };
62
45
  };
63
-
64
46
  var lockUserInteraction = function lockUserInteraction(renderState, functionThatAltersTheMapPosition) {
65
47
  renderState.isUserInteraction = false;
66
48
  functionThatAltersTheMapPosition();
67
49
  renderState.isUserInteraction = true;
68
50
  };
69
-
70
51
  var renderer = function renderer(_ref4, isFirstRendering) {
71
52
  var items = _ref4.items,
72
- position = _ref4.position,
73
- currentRefinement = _ref4.currentRefinement,
74
- refine = _ref4.refine,
75
- clearMapRefinement = _ref4.clearMapRefinement,
76
- toggleRefineOnMapMove = _ref4.toggleRefineOnMapMove,
77
- isRefineOnMapMove = _ref4.isRefineOnMapMove,
78
- setMapMoveSinceLastRefine = _ref4.setMapMoveSinceLastRefine,
79
- hasMapMoveSinceLastRefine = _ref4.hasMapMoveSinceLastRefine,
80
- isRefinedWithMap = _ref4.isRefinedWithMap,
81
- widgetParams = _ref4.widgetParams,
82
- instantSearchInstance = _ref4.instantSearchInstance;
53
+ position = _ref4.position,
54
+ currentRefinement = _ref4.currentRefinement,
55
+ refine = _ref4.refine,
56
+ clearMapRefinement = _ref4.clearMapRefinement,
57
+ toggleRefineOnMapMove = _ref4.toggleRefineOnMapMove,
58
+ isRefineOnMapMove = _ref4.isRefineOnMapMove,
59
+ setMapMoveSinceLastRefine = _ref4.setMapMoveSinceLastRefine,
60
+ hasMapMoveSinceLastRefine = _ref4.hasMapMoveSinceLastRefine,
61
+ isRefinedWithMap = _ref4.isRefinedWithMap,
62
+ widgetParams = _ref4.widgetParams,
63
+ instantSearchInstance = _ref4.instantSearchInstance;
83
64
  var container = widgetParams.container,
84
- googleReference = widgetParams.googleReference,
85
- cssClasses = widgetParams.cssClasses,
86
- templates = widgetParams.templates,
87
- initialZoom = widgetParams.initialZoom,
88
- initialPosition = widgetParams.initialPosition,
89
- enableRefine = widgetParams.enableRefine,
90
- enableClearMapRefinement = widgetParams.enableClearMapRefinement,
91
- enableRefineControl = widgetParams.enableRefineControl,
92
- mapOptions = widgetParams.mapOptions,
93
- createMarker = widgetParams.createMarker,
94
- markerOptions = widgetParams.markerOptions,
95
- renderState = widgetParams.renderState;
96
-
65
+ googleReference = widgetParams.googleReference,
66
+ cssClasses = widgetParams.cssClasses,
67
+ templates = widgetParams.templates,
68
+ initialZoom = widgetParams.initialZoom,
69
+ initialPosition = widgetParams.initialPosition,
70
+ enableRefine = widgetParams.enableRefine,
71
+ enableClearMapRefinement = widgetParams.enableClearMapRefinement,
72
+ enableRefineControl = widgetParams.enableRefineControl,
73
+ mapOptions = widgetParams.mapOptions,
74
+ createMarker = widgetParams.createMarker,
75
+ markerOptions = widgetParams.markerOptions,
76
+ renderState = widgetParams.renderState;
97
77
  if (isFirstRendering) {
98
78
  renderState.isUserInteraction = true;
99
79
  renderState.isPendingRefine = false;
@@ -116,18 +96,15 @@ var renderer = function renderer(_ref4, isFirstRendering) {
116
96
  position: googleReference.maps.ControlPosition.LEFT_TOP
117
97
  }
118
98
  }, mapOptions));
119
-
120
99
  var setupListenersWhenMapIsReady = function setupListenersWhenMapIsReady() {
121
100
  var onChange = function onChange() {
122
101
  if (renderState.isUserInteraction && enableRefine) {
123
102
  setMapMoveSinceLastRefine();
124
-
125
103
  if (isRefineOnMapMove()) {
126
104
  renderState.isPendingRefine = true;
127
105
  }
128
106
  }
129
107
  };
130
-
131
108
  renderState.mapInstance.addListener('center_changed', onChange);
132
109
  renderState.mapInstance.addListener('zoom_changed', onChange);
133
110
  renderState.mapInstance.addListener('dragstart', onChange);
@@ -141,37 +118,35 @@ var renderer = function renderer(_ref4, isFirstRendering) {
141
118
  }
142
119
  });
143
120
  };
144
-
145
121
  googleReference.maps.event.addListenerOnce(renderState.mapInstance, 'idle', setupListenersWhenMapIsReady);
146
122
  renderState.templateProps = (0, _index.prepareTemplateProps)({
147
123
  templatesConfig: instantSearchInstance.templatesConfig,
148
124
  templates: templates
149
125
  });
150
126
  return;
151
- } // Collect markers that need to be updated or removed
152
-
127
+ }
153
128
 
129
+ // Collect markers that need to be updated or removed
154
130
  var nextItemsIds = items.map(function (_) {
155
131
  return _.objectID;
156
132
  });
157
-
158
133
  var _collectMarkersForNex = collectMarkersForNextRender(renderState.markers, nextItemsIds),
159
- _collectMarkersForNex2 = _slicedToArray(_collectMarkersForNex, 2),
160
- updateMarkers = _collectMarkersForNex2[0],
161
- exitMarkers = _collectMarkersForNex2[1]; // Collect items that will be added
162
-
163
-
134
+ _collectMarkersForNex2 = _slicedToArray(_collectMarkersForNex, 2),
135
+ updateMarkers = _collectMarkersForNex2[0],
136
+ exitMarkers = _collectMarkersForNex2[1]; // Collect items that will be added
164
137
  var updateMarkerIds = updateMarkers.map(function (_) {
165
138
  return _.__id;
166
139
  });
167
140
  var nextPendingItems = items.filter(function (item) {
168
141
  return !updateMarkerIds.includes(item.objectID);
169
- }); // Remove all markers that need to be removed
142
+ });
170
143
 
144
+ // Remove all markers that need to be removed
171
145
  exitMarkers.forEach(function (marker) {
172
146
  return marker.setMap(null);
173
- }); // Create the markers from the items
147
+ });
174
148
 
149
+ // Create the markers from the items
175
150
  renderState.markers = updateMarkers.concat(nextPendingItems.map(function (item) {
176
151
  var marker = createMarker({
177
152
  map: renderState.mapInstance,
@@ -189,15 +164,15 @@ var renderer = function renderer(_ref4, isFirstRendering) {
189
164
  });
190
165
  return marker;
191
166
  }));
192
- var shouldUpdate = !hasMapMoveSinceLastRefine(); // We use this value for differentiate the padding to apply during
167
+ var shouldUpdate = !hasMapMoveSinceLastRefine();
168
+
169
+ // We use this value for differentiate the padding to apply during
193
170
  // fitBounds. When we don't have a currenRefinement (boundingBox)
194
171
  // we let Google Maps compute the automatic padding. But when we
195
172
  // provide the currentRefinement we explicitly set the padding
196
173
  // to `0` otherwise the map will decrease the zoom on each refine.
197
-
198
174
  var boundingBoxPadding = currentRefinement ? 0 : null;
199
175
  var boundingBox = !currentRefinement && Boolean(renderState.markers.length) ? createBoundingBoxFromMarkers(googleReference, renderState.markers) : currentRefinement;
200
-
201
176
  if (boundingBox && shouldUpdate) {
202
177
  lockUserInteraction(renderState, function () {
203
178
  renderState.mapInstance.fitBounds(new googleReference.maps.LatLngBounds(boundingBox.southWest, boundingBox.northEast), boundingBoxPadding);
@@ -208,7 +183,6 @@ var renderer = function renderer(_ref4, isFirstRendering) {
208
183
  renderState.mapInstance.setZoom(initialZoom);
209
184
  });
210
185
  }
211
-
212
186
  (0, _preact.render)((0, _preact.h)(_GeoSearchControls.default, {
213
187
  cssClasses: cssClasses,
214
188
  enableRefine: enableRefine,
@@ -228,6 +202,5 @@ var renderer = function renderer(_ref4, isFirstRendering) {
228
202
  templateProps: renderState.templateProps
229
203
  }), container.querySelector(".".concat(cssClasses.tree)));
230
204
  };
231
-
232
205
  var _default = renderer;
233
206
  exports.default = _default;
@@ -4,69 +4,43 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _preact = require("preact");
9
-
10
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
11
-
8
+ 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
9
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13
-
14
10
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15
-
16
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
17
-
18
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
19
-
20
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
21
-
11
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
12
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
13
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
22
14
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
23
-
24
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
25
-
15
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
26
16
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
27
-
28
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
29
-
30
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
31
-
17
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
18
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
32
19
  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; }
33
-
34
20
  var createHTMLMarker = function createHTMLMarker(googleReference) {
35
21
  var HTMLMarker = /*#__PURE__*/function (_googleReference$maps) {
36
22
  _inherits(HTMLMarker, _googleReference$maps);
37
-
38
23
  var _super = _createSuper(HTMLMarker);
39
-
40
24
  function HTMLMarker(_ref) {
41
25
  var _this;
42
-
43
26
  var __id = _ref.__id,
44
- position = _ref.position,
45
- map = _ref.map,
46
- template = _ref.template,
47
- className = _ref.className,
48
- _ref$anchor = _ref.anchor,
49
- anchor = _ref$anchor === void 0 ? {
50
- x: 0,
51
- y: 0
52
- } : _ref$anchor;
53
-
27
+ position = _ref.position,
28
+ map = _ref.map,
29
+ template = _ref.template,
30
+ className = _ref.className,
31
+ _ref$anchor = _ref.anchor,
32
+ anchor = _ref$anchor === void 0 ? {
33
+ x: 0,
34
+ y: 0
35
+ } : _ref$anchor;
54
36
  _classCallCheck(this, HTMLMarker);
55
-
56
37
  _this = _super.call(this);
57
-
58
38
  _defineProperty(_assertThisInitialized(_this), "__id", void 0);
59
-
60
39
  _defineProperty(_assertThisInitialized(_this), "anchor", void 0);
61
-
62
40
  _defineProperty(_assertThisInitialized(_this), "offset", void 0);
63
-
64
41
  _defineProperty(_assertThisInitialized(_this), "listeners", void 0);
65
-
66
42
  _defineProperty(_assertThisInitialized(_this), "latLng", void 0);
67
-
68
43
  _defineProperty(_assertThisInitialized(_this), "element", void 0);
69
-
70
44
  _this.__id = __id;
71
45
  _this.anchor = anchor;
72
46
  _this.listeners = {};
@@ -74,33 +48,31 @@ var createHTMLMarker = function createHTMLMarker(googleReference) {
74
48
  _this.element = document.createElement('div');
75
49
  _this.element.className = className;
76
50
  _this.element.style.position = 'absolute';
77
-
78
51
  if (_typeof(template) === 'object') {
79
52
  (0, _preact.render)(template, _this.element);
80
53
  } else {
81
54
  _this.element.innerHTML = template;
82
55
  }
83
-
84
56
  _this.setMap(map);
85
-
86
57
  return _this;
87
58
  }
88
-
89
59
  _createClass(HTMLMarker, [{
90
60
  key: "onAdd",
91
61
  value: function onAdd() {
92
62
  // Append the element to the map
93
- this.getPanes().overlayMouseTarget.appendChild(this.element); // Compute the offset onAdd & cache it because afterwards
63
+ this.getPanes().overlayMouseTarget.appendChild(this.element);
64
+
65
+ // Compute the offset onAdd & cache it because afterwards
94
66
  // it won't retrieve the correct values, we also avoid
95
67
  // to read the values on every draw
96
-
97
68
  var bbBox = this.element.getBoundingClientRect();
98
69
  this.offset = {
99
70
  x: this.anchor.x + bbBox.width / 2,
100
71
  y: this.anchor.y + bbBox.height
101
- }; // Force the width of the element will avoid the
102
- // content to collapse when we move the map
72
+ };
103
73
 
74
+ // Force the width of the element will avoid the
75
+ // content to collapse when we move the map
104
76
  this.element.style.width = "".concat(bbBox.width, "px");
105
77
  }
106
78
  }, {
@@ -108,25 +80,26 @@ var createHTMLMarker = function createHTMLMarker(googleReference) {
108
80
  value: function draw() {
109
81
  var position = this.getProjection().fromLatLngToDivPixel(this.latLng);
110
82
  this.element.style.left = "".concat(Math.round(position.x - this.offset.x), "px");
111
- this.element.style.top = "".concat(Math.round(position.y - this.offset.y), "px"); // Markers to the south are in front of markers to the north
112
- // This is the default behaviour of Google Maps
83
+ this.element.style.top = "".concat(Math.round(position.y - this.offset.y), "px");
113
84
 
85
+ // Markers to the south are in front of markers to the north
86
+ // This is the default behaviour of Google Maps
114
87
  this.element.style.zIndex = String(parseInt(this.element.style.top, 10));
115
88
  }
116
89
  }, {
117
90
  key: "onRemove",
118
91
  value: function onRemove() {
119
92
  var _this2 = this;
120
-
121
93
  if (this.element) {
122
94
  this.element.parentNode.removeChild(this.element);
123
95
  Object.keys(this.listeners).forEach(function (eventName) {
124
96
  _this2.element.removeEventListener(eventName, _this2.listeners[eventName]);
125
- }); // after onRemove the class is no longer used, thus it can be deleted
126
- // @ts-expect-error
127
-
128
- delete this.element; // @ts-expect-error
97
+ });
129
98
 
99
+ // after onRemove the class is no longer used, thus it can be deleted
100
+ // @ts-expect-error
101
+ delete this.element;
102
+ // @ts-expect-error
130
103
  delete this.listeners;
131
104
  }
132
105
  }
@@ -148,12 +121,9 @@ var createHTMLMarker = function createHTMLMarker(googleReference) {
148
121
  return this.latLng;
149
122
  }
150
123
  }]);
151
-
152
124
  return HTMLMarker;
153
125
  }(googleReference.maps.OverlayView);
154
-
155
126
  return HTMLMarker;
156
127
  };
157
-
158
128
  var _default = createHTMLMarker;
159
129
  exports.default = _default;
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _preact = require("preact");
9
-
10
8
  var _ref = (0, _preact.h)("p", null, "Your custom HTML Marker");
11
-
12
9
  var defaultTemplates = {
13
10
  HTMLMarker: function HTMLMarker() {
14
11
  return _ref;
@@ -4,42 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _uiComponentsShared = require("@algolia/ui-components-shared");
9
-
10
8
  var _preact = require("preact");
11
-
12
9
  var _index = require("../../lib/utils/index.js");
13
-
14
10
  var _index2 = require("../../lib/templating/index.js");
15
-
16
11
  var _suit = require("../../lib/suit.js");
17
-
18
12
  var _connectGeoSearch = _interopRequireDefault(require("../../connectors/geo-search/connectGeoSearch.js"));
19
-
20
13
  var _GeoSearchRenderer = _interopRequireDefault(require("./GeoSearchRenderer.js"));
21
-
22
14
  var _defaultTemplates = _interopRequireDefault(require("./defaultTemplates.js"));
23
-
24
15
  var _createHTMLMarker = _interopRequireDefault(require("./createHTMLMarker.js"));
25
-
26
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
- 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; }
29
-
30
- 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; }
31
-
17
+ 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; }
18
+ 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; }
32
19
  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; }
33
-
34
20
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
35
-
36
21
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
37
-
38
22
  var withUsage = (0, _index.createDocumentationMessageGenerator)({
39
23
  name: 'geo-search'
40
24
  });
41
25
  var suit = (0, _suit.component)('GeoSearch');
42
-
43
26
  /**
44
27
  * The **GeoSearch** widget displays the list of results from the search on a Google Maps. It also provides a way to search for results based on their position. The widget also provide some of the common GeoSearch patterns like search on map interaction.
45
28
  *
@@ -55,30 +38,29 @@ var suit = (0, _suit.component)('GeoSearch');
55
38
  */
56
39
  var geoSearch = function geoSearch(widgetParams) {
57
40
  var _ref = widgetParams || {},
58
- _ref$initialZoom = _ref.initialZoom,
59
- initialZoom = _ref$initialZoom === void 0 ? 1 : _ref$initialZoom,
60
- _ref$initialPosition = _ref.initialPosition,
61
- initialPosition = _ref$initialPosition === void 0 ? {
62
- lat: 0,
63
- lng: 0
64
- } : _ref$initialPosition,
65
- _ref$templates = _ref.templates,
66
- userTemplates = _ref$templates === void 0 ? {} : _ref$templates,
67
- _ref$cssClasses = _ref.cssClasses,
68
- userCssClasses = _ref$cssClasses === void 0 ? {} : _ref$cssClasses,
69
- _ref$builtInMarker = _ref.builtInMarker,
70
- userBuiltInMarker = _ref$builtInMarker === void 0 ? {} : _ref$builtInMarker,
71
- userCustomHTMLMarker = _ref.customHTMLMarker,
72
- _ref$enableRefine = _ref.enableRefine,
73
- enableRefine = _ref$enableRefine === void 0 ? true : _ref$enableRefine,
74
- _ref$enableClearMapRe = _ref.enableClearMapRefinement,
75
- enableClearMapRefinement = _ref$enableClearMapRe === void 0 ? true : _ref$enableClearMapRe,
76
- _ref$enableRefineCont = _ref.enableRefineControl,
77
- enableRefineControl = _ref$enableRefineCont === void 0 ? true : _ref$enableRefineCont,
78
- container = _ref.container,
79
- googleReference = _ref.googleReference,
80
- otherWidgetParams = _objectWithoutProperties(_ref, ["initialZoom", "initialPosition", "templates", "cssClasses", "builtInMarker", "customHTMLMarker", "enableRefine", "enableClearMapRefinement", "enableRefineControl", "container", "googleReference"]);
81
-
41
+ _ref$initialZoom = _ref.initialZoom,
42
+ initialZoom = _ref$initialZoom === void 0 ? 1 : _ref$initialZoom,
43
+ _ref$initialPosition = _ref.initialPosition,
44
+ initialPosition = _ref$initialPosition === void 0 ? {
45
+ lat: 0,
46
+ lng: 0
47
+ } : _ref$initialPosition,
48
+ _ref$templates = _ref.templates,
49
+ userTemplates = _ref$templates === void 0 ? {} : _ref$templates,
50
+ _ref$cssClasses = _ref.cssClasses,
51
+ userCssClasses = _ref$cssClasses === void 0 ? {} : _ref$cssClasses,
52
+ _ref$builtInMarker = _ref.builtInMarker,
53
+ userBuiltInMarker = _ref$builtInMarker === void 0 ? {} : _ref$builtInMarker,
54
+ userCustomHTMLMarker = _ref.customHTMLMarker,
55
+ _ref$enableRefine = _ref.enableRefine,
56
+ enableRefine = _ref$enableRefine === void 0 ? true : _ref$enableRefine,
57
+ _ref$enableClearMapRe = _ref.enableClearMapRefinement,
58
+ enableClearMapRefinement = _ref$enableClearMapRe === void 0 ? true : _ref$enableClearMapRe,
59
+ _ref$enableRefineCont = _ref.enableRefineControl,
60
+ enableRefineControl = _ref$enableRefineCont === void 0 ? true : _ref$enableRefineCont,
61
+ container = _ref.container,
62
+ googleReference = _ref.googleReference,
63
+ otherWidgetParams = _objectWithoutProperties(_ref, ["initialZoom", "initialPosition", "templates", "cssClasses", "builtInMarker", "customHTMLMarker", "enableRefine", "enableClearMapRefinement", "enableRefineControl", "container", "googleReference"]);
82
64
  var defaultBuiltInMarker = {
83
65
  createOptions: function createOptions() {
84
66
  return {};
@@ -91,15 +73,12 @@ var geoSearch = function geoSearch(widgetParams) {
91
73
  },
92
74
  events: {}
93
75
  };
94
-
95
76
  if (!container) {
96
77
  throw new Error(withUsage('The `container` option is required.'));
97
78
  }
98
-
99
79
  if (!googleReference) {
100
80
  throw new Error(withUsage('The `googleReference` option is required.'));
101
81
  }
102
-
103
82
  var containerNode = (0, _index.getContainerNode)(container);
104
83
  var cssClasses = {
105
84
  root: (0, _uiComponentsShared.cx)(suit(), userCssClasses.root),
@@ -134,32 +113,23 @@ var geoSearch = function geoSearch(widgetParams) {
134
113
  descendantName: 'reset'
135
114
  }), userCssClasses.reset)
136
115
  };
137
-
138
116
  var templates = _objectSpread(_objectSpread({}, _defaultTemplates.default), userTemplates);
139
-
140
117
  var builtInMarker = _objectSpread(_objectSpread({}, defaultBuiltInMarker), userBuiltInMarker);
141
-
142
118
  var isCustomHTMLMarker = Boolean(userCustomHTMLMarker) || Boolean(userTemplates.HTMLMarker);
143
-
144
119
  var customHTMLMarker = isCustomHTMLMarker && _objectSpread(_objectSpread({}, defaultCustomHTMLMarker), userCustomHTMLMarker);
145
-
146
120
  var createBuiltInMarker = function createBuiltInMarker(_ref2) {
147
121
  var item = _ref2.item,
148
- rest = _objectWithoutProperties(_ref2, ["item"]);
149
-
122
+ rest = _objectWithoutProperties(_ref2, ["item"]);
150
123
  return new googleReference.maps.Marker(_objectSpread(_objectSpread(_objectSpread({}, builtInMarker.createOptions(item)), rest), {}, {
151
124
  // @ts-expect-error @types/googlemaps doesn't document this
152
125
  __id: item.objectID,
153
126
  position: item._geoloc
154
127
  }));
155
128
  };
156
-
157
129
  var HTMLMarker = (0, _createHTMLMarker.default)(googleReference);
158
-
159
130
  var createCustomHTMLMarker = function createCustomHTMLMarker(_ref3) {
160
131
  var item = _ref3.item,
161
- rest = _objectWithoutProperties(_ref3, ["item"]);
162
-
132
+ rest = _objectWithoutProperties(_ref3, ["item"]);
163
133
  return new HTMLMarker(_objectSpread(_objectSpread(_objectSpread({}, customHTMLMarker.createOptions(item)), rest), {}, {
164
134
  __id: item.objectID,
165
135
  position: item._geoloc,
@@ -173,7 +143,6 @@ var geoSearch = function geoSearch(widgetParams) {
173
143
  })
174
144
  }));
175
145
  };
176
-
177
146
  var createMarker = !customHTMLMarker ? createBuiltInMarker : createCustomHTMLMarker;
178
147
  var markerOptions = !customHTMLMarker ? builtInMarker : customHTMLMarker;
179
148
  var makeWidget = (0, _connectGeoSearch.default)(_GeoSearchRenderer.default, function () {
@@ -196,6 +165,5 @@ var geoSearch = function geoSearch(widgetParams) {
196
165
  $$widgetType: 'ais.geoSearch'
197
166
  });
198
167
  };
199
-
200
168
  var _default = geoSearch;
201
169
  exports.default = _default;
@@ -4,20 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _preact = require("preact");
9
-
10
8
  var _formatNumber = require("../../lib/formatNumber.js");
11
-
12
9
  var _uiComponentsShared = require("@algolia/ui-components-shared");
13
10
 
14
11
  var defaultTemplates = {
15
12
  item: function item(_ref) {
16
13
  var url = _ref.url,
17
- label = _ref.label,
18
- count = _ref.count,
19
- cssClasses = _ref.cssClasses,
20
- isRefined = _ref.isRefined;
14
+ label = _ref.label,
15
+ count = _ref.count,
16
+ cssClasses = _ref.cssClasses,
17
+ isRefined = _ref.isRefined;
21
18
  return (0, _preact.h)("a", {
22
19
  className: (0, _uiComponentsShared.cx)((0, _uiComponentsShared.cx)(cssClasses.link), (0, _uiComponentsShared.cx)(isRefined ? cssClasses.selectedItemLink : undefined)),
23
20
  href: url