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,11 +1,12 @@
1
+
2
+
1
3
  import { h } from 'preact';
2
4
  import { cx } from '@algolia/ui-components-shared';
3
-
4
5
  function Selector(_ref) {
5
6
  var currentValue = _ref.currentValue,
6
- options = _ref.options,
7
- cssClasses = _ref.cssClasses,
8
- setValue = _ref.setValue;
7
+ options = _ref.options,
8
+ cssClasses = _ref.cssClasses,
9
+ setValue = _ref.setValue;
9
10
  return h("select", {
10
11
  className: cx(cssClasses.select),
11
12
  onChange: function onChange(event) {
@@ -20,5 +21,4 @@ function Selector(_ref) {
20
21
  }, option.label);
21
22
  }));
22
23
  }
23
-
24
24
  export default Selector;
@@ -1,15 +1,12 @@
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
4
 
7
5
  import { h } from 'preact';
8
6
  import { cx } from '@algolia/ui-components-shared';
9
-
10
7
  var Pit = function Pit(_ref) {
11
8
  var style = _ref.style,
12
- children = _ref.children;
9
+ children = _ref.children;
13
10
  // first, end & middle
14
11
  var positionValue = Math.round(parseFloat(style.left));
15
12
  var shouldDisplayValue = [0, 50, 100].includes(positionValue);
@@ -24,5 +21,4 @@ var Pit = function Pit(_ref) {
24
21
  className: 'rheostat-value'
25
22
  }, pitValue));
26
23
  };
27
-
28
24
  export default Pit;
@@ -1,34 +1,22 @@
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
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
26
-
13
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
14
  /**
28
15
  * This is a fork of Rheostat for Preact X.
29
16
  *
30
17
  * @see https://github.com/airbnb/rheostat
31
18
  */
19
+
32
20
  import { h, Component, createRef } from 'preact';
33
21
  var KEYS = {
34
22
  DOWN: 40,
@@ -43,61 +31,47 @@ var KEYS = {
43
31
  };
44
32
  var PERCENT_EMPTY = 0;
45
33
  var PERCENT_FULL = 100;
46
-
47
34
  function getPosition(value, min, max) {
48
35
  return (value - min) / (max - min) * 100;
49
36
  }
50
-
51
37
  function getValue(pos, min, max) {
52
38
  var decimal = pos / 100;
53
-
54
39
  if (pos === 0) {
55
40
  return min;
56
41
  } else if (pos === 100) {
57
42
  return max;
58
43
  }
59
-
60
44
  return Math.round((max - min) * decimal + min);
61
45
  }
62
-
63
46
  function getClassName(props) {
64
47
  var orientation = props.orientation === 'vertical' ? 'rheostat-vertical' : 'rheostat-horizontal';
65
48
  return ['rheostat', orientation].concat(props.className.split(' ')).join(' ');
66
49
  }
67
-
68
50
  function getHandleFor(ev) {
69
51
  return Number(ev.currentTarget.getAttribute('data-handle-key'));
70
52
  }
71
-
72
53
  function killEvent(ev) {
73
54
  ev.stopPropagation();
74
55
  ev.preventDefault();
75
56
  }
76
-
77
57
  function Button(props) {
78
58
  return h("button", _extends({}, props, {
79
59
  type: "button"
80
60
  }));
81
- } // Preact doesn't have builtin types for Style, JSX.HTMLAttributes['style'] is just object
82
- // maybe migrate to csstype later?
83
-
61
+ }
84
62
 
63
+ // Preact doesn't have builtin types for Style, JSX.HTMLAttributes['style'] is just object
64
+ // maybe migrate to csstype later?
85
65
  var _ref6 = h("div", {
86
66
  className: "rheostat-background"
87
67
  });
88
-
89
68
  var Rheostat = /*#__PURE__*/function (_Component) {
90
69
  _inherits(Rheostat, _Component);
91
-
92
70
  var _super = _createSuper(Rheostat);
93
-
94
71
  function Rheostat(props) {
95
72
  var _this;
96
-
97
73
  _classCallCheck(this, Rheostat);
98
-
99
74
  _this = _super.call(this, props);
100
-
101
75
  _defineProperty(_assertThisInitialized(_this), "state", {
102
76
  className: getClassName(_this.props),
103
77
  // non-null thanks to defaultProps
@@ -111,9 +85,7 @@ var Rheostat = /*#__PURE__*/function (_Component) {
111
85
  // non-null thanks to defaultProps
112
86
  values: _this.props.values
113
87
  });
114
-
115
88
  _defineProperty(_assertThisInitialized(_this), "rheostat", createRef());
116
-
117
89
  _this.getPublicState = _this.getPublicState.bind(_assertThisInitialized(_this));
118
90
  _this.getSliderBoundingBox = _this.getSliderBoundingBox.bind(_assertThisInitialized(_this));
119
91
  _this.getProgressStyle = _this.getProgressStyle.bind(_assertThisInitialized(_this));
@@ -142,34 +114,30 @@ var Rheostat = /*#__PURE__*/function (_Component) {
142
114
  _this.updateNewValues = _this.updateNewValues.bind(_assertThisInitialized(_this));
143
115
  return _this;
144
116
  }
145
-
146
117
  _createClass(Rheostat, [{
147
118
  key: "componentWillReceiveProps",
148
119
  value: function componentWillReceiveProps(nextProps) {
149
120
  var _this$props = this.props,
150
- className = _this$props.className,
151
- disabled = _this$props.disabled,
152
- min = _this$props.min,
153
- max = _this$props.max,
154
- orientation = _this$props.orientation;
121
+ className = _this$props.className,
122
+ disabled = _this$props.disabled,
123
+ min = _this$props.min,
124
+ max = _this$props.max,
125
+ orientation = _this$props.orientation;
155
126
  var _this$state = this.state,
156
- values = _this$state.values,
157
- slidingIndex = _this$state.slidingIndex;
127
+ values = _this$state.values,
128
+ slidingIndex = _this$state.slidingIndex;
158
129
  var minMaxChanged = nextProps.min !== min || nextProps.max !== max;
159
130
  var valuesChanged = values.length !== nextProps.values.length || values.some(function (value, idx) {
160
131
  return nextProps.values[idx] !== value;
161
132
  });
162
133
  var orientationChanged = nextProps.className !== className || nextProps.orientation !== orientation;
163
134
  var willBeDisabled = nextProps.disabled && !disabled;
164
-
165
135
  if (orientationChanged) {
166
136
  this.setState({
167
137
  className: getClassName(nextProps)
168
138
  });
169
139
  }
170
-
171
140
  if (minMaxChanged || valuesChanged) this.updateNewValues(nextProps);
172
-
173
141
  if (willBeDisabled && slidingIndex !== null) {
174
142
  this.endSlide();
175
143
  }
@@ -178,8 +146,8 @@ var Rheostat = /*#__PURE__*/function (_Component) {
178
146
  key: "getPublicState",
179
147
  value: function getPublicState() {
180
148
  var _this$props2 = this.props,
181
- min = _this$props2.min,
182
- max = _this$props2.max;
149
+ min = _this$props2.min,
150
+ max = _this$props2.max;
183
151
  var values = this.state.values;
184
152
  return {
185
153
  max: max,
@@ -205,7 +173,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
205
173
  value: function getProgressStyle(idx) {
206
174
  var handlePos = this.state.handlePos;
207
175
  var value = handlePos[idx];
208
-
209
176
  if (idx === 0) {
210
177
  return this.props.orientation === 'vertical' ? {
211
178
  height: "".concat(value, "%"),
@@ -215,7 +182,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
215
182
  width: "".concat(value, "%")
216
183
  };
217
184
  }
218
-
219
185
  var prevValue = handlePos[idx - 1];
220
186
  var diffValue = value - prevValue;
221
187
  return this.props.orientation === 'vertical' ? {
@@ -257,8 +223,8 @@ var Rheostat = /*#__PURE__*/function (_Component) {
257
223
  value: function getSnapPosition(positionPercent) {
258
224
  if (!this.props.snap) return positionPercent;
259
225
  var _ref = this.props,
260
- max = _ref.max,
261
- min = _ref.min;
226
+ max = _ref.max,
227
+ min = _ref.min;
262
228
  var value = getValue(positionPercent, min, max);
263
229
  var snapValue = this.getClosestSnapPoint(value);
264
230
  return getPosition(snapValue, min, max);
@@ -267,32 +233,27 @@ var Rheostat = /*#__PURE__*/function (_Component) {
267
233
  key: "getNextPositionForKey",
268
234
  value: function getNextPositionForKey(idx, keyCode) {
269
235
  var _stepMultiplier;
270
-
271
236
  var _this$state2 = this.state,
272
- handlePos = _this$state2.handlePos,
273
- values = _this$state2.values;
237
+ handlePos = _this$state2.handlePos,
238
+ values = _this$state2.values;
274
239
  var _ref2 = this.props,
275
- max = _ref2.max,
276
- min = _ref2.min,
277
- snapPoints = _ref2.snapPoints;
240
+ max = _ref2.max,
241
+ min = _ref2.min,
242
+ snapPoints = _ref2.snapPoints;
278
243
  var shouldSnap = this.props.snap;
279
244
  var proposedValue = values[idx];
280
245
  var proposedPercentage = handlePos[idx];
281
246
  var originalPercentage = proposedPercentage;
282
247
  var stepValue = 1;
283
-
284
248
  if (max >= 100) {
285
249
  proposedPercentage = Math.round(proposedPercentage);
286
250
  } else {
287
251
  stepValue = 100 / (max - min);
288
252
  }
289
-
290
253
  var currentIndex = null;
291
-
292
254
  if (shouldSnap) {
293
255
  currentIndex = snapPoints.indexOf(this.getClosestSnapPoint(values[idx]));
294
256
  }
295
-
296
257
  var stepMultiplier = (_stepMultiplier = {}, _defineProperty(_stepMultiplier, KEYS.LEFT, function (v) {
297
258
  return v * -1;
298
259
  }), _defineProperty(_stepMultiplier, KEYS.RIGHT, function (v) {
@@ -306,38 +267,34 @@ var Rheostat = /*#__PURE__*/function (_Component) {
306
267
  }), _defineProperty(_stepMultiplier, KEYS.PAGE_UP, function (v) {
307
268
  return v > 1 ? v : v * 10;
308
269
  }), _stepMultiplier);
309
-
310
270
  if (Object.prototype.hasOwnProperty.call(stepMultiplier, keyCode)) {
311
271
  proposedPercentage += stepMultiplier[keyCode](stepValue);
312
-
313
272
  if (shouldSnap) {
314
- if (!currentIndex) {// nothing happens
273
+ if (!currentIndex) {
274
+ // nothing happens
315
275
  } else if (proposedPercentage > originalPercentage) {
316
276
  // move cursor right unless overflow
317
277
  if (currentIndex < snapPoints.length - 1) {
318
278
  proposedValue = snapPoints[currentIndex + 1];
319
- } // move cursor left unless there is overflow
320
-
279
+ }
280
+ // move cursor left unless there is overflow
321
281
  } else if (currentIndex > 0) {
322
282
  proposedValue = snapPoints[currentIndex - 1];
323
283
  }
324
284
  }
325
285
  } else if (keyCode === KEYS.HOME) {
326
286
  proposedPercentage = PERCENT_EMPTY;
327
-
328
287
  if (shouldSnap) {
329
288
  proposedValue = snapPoints[0];
330
289
  }
331
290
  } else if (keyCode === KEYS.END) {
332
291
  proposedPercentage = PERCENT_FULL;
333
-
334
292
  if (shouldSnap) {
335
293
  proposedValue = snapPoints[snapPoints.length - 1];
336
294
  }
337
295
  } else {
338
296
  return null;
339
297
  }
340
-
341
298
  return shouldSnap ? getPosition(proposedValue, min, max) : proposedPercentage;
342
299
  }
343
300
  }, {
@@ -345,8 +302,8 @@ var Rheostat = /*#__PURE__*/function (_Component) {
345
302
  value: function getNextState(idx, proposedPosition) {
346
303
  var handlePos = this.state.handlePos;
347
304
  var _ref3 = this.props,
348
- max = _ref3.max,
349
- min = _ref3.min;
305
+ max = _ref3.max,
306
+ min = _ref3.min;
350
307
  var actualPosition = this.validatePosition(idx, proposedPosition);
351
308
  var nextHandlePos = handlePos.map(function (pos, index) {
352
309
  return index === idx ? actualPosition : pos;
@@ -412,12 +369,10 @@ var Rheostat = /*#__PURE__*/function (_Component) {
412
369
  key: "handleTouchSlide",
413
370
  value: function handleTouchSlide(ev) {
414
371
  if (this.state.slidingIndex === null) return;
415
-
416
372
  if (ev.changedTouches.length > 1) {
417
373
  this.endSlide();
418
374
  return;
419
375
  }
420
-
421
376
  var touch = ev.changedTouches[0];
422
377
  this.handleSlide(touch.clientX, touch.clientY);
423
378
  killEvent(ev);
@@ -426,11 +381,10 @@ var Rheostat = /*#__PURE__*/function (_Component) {
426
381
  key: "handleSlide",
427
382
  value: function handleSlide(x, y) {
428
383
  var _this$state3 = this.state,
429
- idx = _this$state3.slidingIndex,
430
- sliderBox = _this$state3.sliderBox;
384
+ idx = _this$state3.slidingIndex,
385
+ sliderBox = _this$state3.sliderBox;
431
386
  var positionPercent = this.props.orientation === 'vertical' ? (y - sliderBox.top) / sliderBox.height * PERCENT_FULL : (x - sliderBox.left) / sliderBox.width * PERCENT_FULL;
432
387
  this.slideTo(idx, positionPercent);
433
-
434
388
  if (this.canMove(idx, positionPercent)) {
435
389
  // update mouse positions
436
390
  this.setState({
@@ -446,7 +400,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
446
400
  key: "endSlide",
447
401
  value: function endSlide() {
448
402
  var _this2 = this;
449
-
450
403
  var idx = this.state.slidingIndex;
451
404
  this.setState({
452
405
  slidingIndex: null
@@ -456,7 +409,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
456
409
  document.removeEventListener('touchmove', this.handleTouchSlide, false);
457
410
  document.removeEventListener('mousemove', this.handleMouseSlide, false);
458
411
  if (this.props.onSliderDragEnd) this.props.onSliderDragEnd();
459
-
460
412
  if (this.props.snap) {
461
413
  var positionPercent = this.getSnapPosition(this.state.handlePos[idx]);
462
414
  this.slideTo(idx, positionPercent, function () {
@@ -470,19 +422,19 @@ var Rheostat = /*#__PURE__*/function (_Component) {
470
422
  key: "handleClick",
471
423
  value: function handleClick(ev) {
472
424
  var _this3 = this;
473
-
474
425
  if (ev.target.getAttribute('data-handle-key')) {
475
426
  return;
476
- } // Calculate the position of the slider on the page so we can determine
477
- // the position where you click in relativity.
478
-
427
+ }
479
428
 
429
+ // Calculate the position of the slider on the page so we can determine
430
+ // the position where you click in relativity.
480
431
  var sliderBox = this.getSliderBoundingBox();
481
432
  var positionDecimal = this.props.orientation === 'vertical' ? (ev.clientY - sliderBox.top) / sliderBox.height : (ev.clientX - sliderBox.left) / sliderBox.width;
482
433
  var positionPercent = positionDecimal * PERCENT_FULL;
483
434
  var handleId = this.getClosestHandle(positionPercent);
484
- var validPositionPercent = this.getSnapPosition(positionPercent); // Move the handle there
435
+ var validPositionPercent = this.getSnapPosition(positionPercent);
485
436
 
437
+ // Move the handle there
486
438
  this.slideTo(handleId, validPositionPercent, function () {
487
439
  return _this3.fireChangeEvent();
488
440
  });
@@ -492,34 +444,30 @@ var Rheostat = /*#__PURE__*/function (_Component) {
492
444
  key: "handleKeydown",
493
445
  value: function handleKeydown(ev) {
494
446
  var _this4 = this;
495
-
496
447
  var idx = getHandleFor(ev);
497
-
498
448
  if (ev.keyCode === KEYS.ESC) {
499
449
  ev.currentTarget.blur();
500
450
  return;
501
451
  }
502
-
503
452
  var proposedPercentage = this.getNextPositionForKey(idx, ev.keyCode);
504
453
  if (proposedPercentage === null) return;
505
-
506
454
  if (this.canMove(idx, proposedPercentage)) {
507
455
  this.slideTo(idx, proposedPercentage, function () {
508
456
  return _this4.fireChangeEvent();
509
457
  });
510
458
  if (this.props.onKeyPress) this.props.onKeyPress();
511
459
  }
512
-
513
460
  killEvent(ev);
514
- } // Make sure the proposed position respects the bounds and
515
- // does not collide with other handles too much.
461
+ }
516
462
 
463
+ // Make sure the proposed position respects the bounds and
464
+ // does not collide with other handles too much.
517
465
  }, {
518
466
  key: "validatePosition",
519
467
  value: function validatePosition(idx, proposedPosition) {
520
468
  var _this$state4 = this.state,
521
- handlePos = _this$state4.handlePos,
522
- handleDimensions = _this$state4.handleDimensions;
469
+ handlePos = _this$state4.handlePos,
470
+ handleDimensions = _this$state4.handleDimensions;
523
471
  return Math.max(Math.min(proposedPosition, handlePos[idx + 1] !== undefined ? handlePos[idx + 1] - handleDimensions : PERCENT_FULL // 100% is the highest value
524
472
  ), handlePos[idx - 1] !== undefined ? handlePos[idx - 1] + handleDimensions : PERCENT_EMPTY // 0% is the lowest value
525
473
  );
@@ -528,16 +476,13 @@ var Rheostat = /*#__PURE__*/function (_Component) {
528
476
  key: "validateValues",
529
477
  value: function validateValues(proposedValues, props) {
530
478
  var _ref4 = props || this.props,
531
- max = _ref4.max,
532
- min = _ref4.min;
533
-
479
+ max = _ref4.max,
480
+ min = _ref4.min;
534
481
  return proposedValues.map(function (value, idx, values) {
535
482
  var realValue = Math.max(Math.min(value, max), min);
536
-
537
483
  if (values.length && realValue < values[idx - 1]) {
538
484
  return values[idx - 1];
539
485
  }
540
-
541
486
  return realValue;
542
487
  });
543
488
  }
@@ -545,8 +490,8 @@ var Rheostat = /*#__PURE__*/function (_Component) {
545
490
  key: "canMove",
546
491
  value: function canMove(idx, proposedPosition) {
547
492
  var _this$state5 = this.state,
548
- handlePos = _this$state5.handlePos,
549
- handleDimensions = _this$state5.handleDimensions;
493
+ handlePos = _this$state5.handlePos,
494
+ handleDimensions = _this$state5.handleDimensions;
550
495
  if (proposedPosition < PERCENT_EMPTY) return false;
551
496
  if (proposedPosition > PERCENT_FULL) return false;
552
497
  var nextHandlePosition = handlePos[idx + 1] !== undefined ? handlePos[idx + 1] - handleDimensions : Infinity;
@@ -565,7 +510,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
565
510
  key: "slideTo",
566
511
  value: function slideTo(idx, proposedPosition, onAfterSet) {
567
512
  var _this5 = this;
568
-
569
513
  var nextState = this.getNextState(idx, proposedPosition);
570
514
  this.setState(nextState, function () {
571
515
  var onValuesUpdated = _this5.props.onValuesUpdated;
@@ -577,16 +521,13 @@ var Rheostat = /*#__PURE__*/function (_Component) {
577
521
  key: "updateNewValues",
578
522
  value: function updateNewValues(nextProps) {
579
523
  var _this6 = this;
580
-
581
524
  var slidingIndex = this.state.slidingIndex; // Don't update while the slider is sliding
582
-
583
525
  if (slidingIndex !== null) {
584
526
  return;
585
527
  }
586
-
587
528
  var max = nextProps.max,
588
- min = nextProps.min,
589
- values = nextProps.values;
529
+ min = nextProps.min,
530
+ values = nextProps.values;
590
531
  var nextValues = this.validateValues(values, nextProps);
591
532
  this.setState({
592
533
  handlePos: nextValues.map(function (value) {
@@ -601,22 +542,20 @@ var Rheostat = /*#__PURE__*/function (_Component) {
601
542
  key: "render",
602
543
  value: function render() {
603
544
  var _this7 = this;
604
-
605
545
  var _ref5 = this.props,
606
- children = _ref5.children,
607
- disabled = _ref5.disabled,
608
- Handle = _ref5.handle,
609
- max = _ref5.max,
610
- min = _ref5.min,
611
- orientation = _ref5.orientation,
612
- PitComponent = _ref5.pitComponent,
613
- pitPoints = _ref5.pitPoints,
614
- ProgressBar = _ref5.progressBar; // all required thanks to defaultProps
615
-
546
+ children = _ref5.children,
547
+ disabled = _ref5.disabled,
548
+ Handle = _ref5.handle,
549
+ max = _ref5.max,
550
+ min = _ref5.min,
551
+ orientation = _ref5.orientation,
552
+ PitComponent = _ref5.pitComponent,
553
+ pitPoints = _ref5.pitPoints,
554
+ ProgressBar = _ref5.progressBar; // all required thanks to defaultProps
616
555
  var _this$state6 = this.state,
617
- className = _this$state6.className,
618
- handlePos = _this$state6.handlePos,
619
- values = _this$state6.values;
556
+ className = _this$state6.className,
557
+ handlePos = _this$state6.handlePos,
558
+ values = _this$state6.values;
620
559
  return h("div", {
621
560
  className: className,
622
561
  ref: this.rheostat,
@@ -652,7 +591,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
652
591
  if (idx === 0 && arr.length > 1) {
653
592
  return null;
654
593
  }
655
-
656
594
  return h(ProgressBar, {
657
595
  className: "rheostat-progress",
658
596
  key: "progress-bar-".concat(idx),
@@ -674,10 +612,8 @@ var Rheostat = /*#__PURE__*/function (_Component) {
674
612
  }), children);
675
613
  }
676
614
  }]);
677
-
678
615
  return Rheostat;
679
616
  }(Component);
680
-
681
617
  _defineProperty(Rheostat, "defaultProps", {
682
618
  className: '',
683
619
  children: null,
@@ -700,5 +636,4 @@ _defineProperty(Rheostat, "defaultProps", {
700
636
  snapPoints: [],
701
637
  values: [PERCENT_EMPTY]
702
638
  });
703
-
704
639
  export default Rheostat;