instantsearch.js 4.49.0 → 4.49.2

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