instantsearch.js 4.49.1 → 4.49.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -8
- package/cjs/components/Answers/Answers.js +11 -18
- package/cjs/components/Breadcrumb/Breadcrumb.js +6 -13
- package/cjs/components/ClearRefinements/ClearRefinements.js +5 -12
- package/cjs/components/CurrentRefinements/CurrentRefinements.js +8 -16
- package/cjs/components/GeoSearchControls/GeoSearchButton.js +4 -7
- package/cjs/components/GeoSearchControls/GeoSearchControls.js +14 -23
- package/cjs/components/GeoSearchControls/GeoSearchToggle.js +4 -7
- package/cjs/components/Highlight/Highlight.js +5 -12
- package/cjs/components/Hits/Hits.js +13 -22
- package/cjs/components/InfiniteHits/InfiniteHits.js +18 -27
- package/cjs/components/InternalHighlight/InternalHighlight.js +0 -3
- package/cjs/components/MenuSelect/MenuSelect.js +12 -22
- package/cjs/components/Pagination/Pagination.js +12 -20
- package/cjs/components/Panel/Panel.js +9 -28
- package/cjs/components/PoweredBy/PoweredBy.js +4 -6
- package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +3 -8
- package/cjs/components/RangeInput/RangeInput.js +21 -51
- package/cjs/components/RefinementList/RefinementList.js +30 -81
- package/cjs/components/RefinementList/RefinementListItem.js +9 -15
- package/cjs/components/RelevantSort/RelevantSort.js +5 -10
- package/cjs/components/ReverseHighlight/ReverseHighlight.js +5 -12
- package/cjs/components/ReverseSnippet/ReverseSnippet.js +5 -12
- package/cjs/components/SearchBox/SearchBox.js +35 -77
- package/cjs/components/Selector/Selector.js +3 -7
- package/cjs/components/Slider/Pit.js +7 -11
- package/cjs/components/Slider/Rheostat.js +69 -133
- package/cjs/components/Slider/Slider.js +39 -72
- package/cjs/components/Snippet/Snippet.js +5 -12
- package/cjs/components/Stats/Stats.js +13 -22
- package/cjs/components/Template/Template.js +17 -44
- package/cjs/components/ToggleRefinement/ToggleRefinement.js +5 -11
- package/cjs/components/VoiceSearch/VoiceSearch.js +9 -17
- package/cjs/connectors/answers/connectAnswers.js +36 -46
- package/cjs/connectors/autocomplete/connectAutocomplete.js +21 -35
- package/cjs/connectors/breadcrumb/connectBreadcrumb.js +27 -55
- package/cjs/connectors/clear-refinements/connectClearRefinements.js +41 -56
- package/cjs/connectors/configure/connectConfigure.js +17 -28
- package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +21 -43
- package/cjs/connectors/current-refinements/connectCurrentRefinements.js +29 -65
- package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +27 -45
- package/cjs/connectors/geo-search/connectGeoSearch.js +32 -59
- package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +50 -82
- package/cjs/connectors/hits/connectHits.js +25 -38
- package/cjs/connectors/hits/connectHitsWithInsights.js +3 -7
- package/cjs/connectors/hits-per-page/connectHitsPerPage.js +26 -46
- package/cjs/connectors/index.js +92 -126
- package/cjs/connectors/infinite-hits/connectInfiniteHits.js +43 -75
- package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +3 -7
- package/cjs/connectors/menu/connectMenu.js +39 -73
- package/cjs/connectors/numeric-menu/connectNumericMenu.js +37 -86
- package/cjs/connectors/pagination/Paginator.js +11 -25
- package/cjs/connectors/pagination/connectPagination.js +17 -31
- package/cjs/connectors/powered-by/connectPoweredBy.js +13 -19
- package/cjs/connectors/query-rules/connectQueryRules.js +44 -65
- package/cjs/connectors/range/connectRange.js +72 -129
- package/cjs/connectors/rating-menu/connectRatingMenu.js +34 -87
- package/cjs/connectors/refinement-list/connectRefinementList.js +51 -79
- package/cjs/connectors/relevant-sort/connectRelevantSort.js +11 -18
- package/cjs/connectors/search-box/connectSearchBox.js +15 -28
- package/cjs/connectors/sort-by/connectSortBy.js +21 -28
- package/cjs/connectors/stats/connectStats.js +12 -16
- package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +44 -75
- package/cjs/connectors/voice-search/connectVoiceSearch.js +22 -41
- package/cjs/helpers/components/Highlight.js +11 -18
- package/cjs/helpers/components/ReverseHighlight.js +19 -26
- package/cjs/helpers/components/ReverseSnippet.js +19 -26
- package/cjs/helpers/components/Snippet.js +11 -18
- package/cjs/helpers/components/index.js +4 -12
- package/cjs/helpers/get-insights-anonymous-user-token.js +6 -17
- package/cjs/helpers/highlight.js +15 -19
- package/cjs/helpers/index.js +23 -37
- package/cjs/helpers/insights.js +9 -21
- package/cjs/helpers/reverseHighlight.js +16 -20
- package/cjs/helpers/reverseSnippet.js +16 -20
- package/cjs/helpers/snippet.js +15 -19
- package/cjs/index.js +12 -27
- package/cjs/lib/InstantSearch.js +108 -207
- package/cjs/lib/createHelpers.js +15 -19
- package/cjs/lib/formatNumber.js +0 -1
- package/cjs/lib/infiniteHitsCache/index.js +1 -3
- package/cjs/lib/infiniteHitsCache/sessionStorage.js +14 -22
- package/cjs/lib/insights/client.js +17 -40
- package/cjs/lib/insights/index.js +9 -15
- package/cjs/lib/insights/listener.js +7 -24
- package/cjs/lib/routers/history.js +75 -117
- package/cjs/lib/routers/index.js +1 -3
- package/cjs/lib/stateMappings/index.js +2 -5
- package/cjs/lib/stateMappings/simple.js +11 -14
- package/cjs/lib/stateMappings/singleIndex.js +6 -8
- package/cjs/lib/suit.js +2 -5
- package/cjs/lib/templating/index.js +2 -6
- package/cjs/lib/templating/prepareTemplateProps.js +14 -22
- package/cjs/lib/templating/renderTemplate.js +17 -30
- package/cjs/lib/utils/capitalize.js +0 -1
- package/cjs/lib/utils/checkIndexUiState.js +19 -47
- package/cjs/lib/utils/checkRendering.js +1 -3
- package/cjs/lib/utils/clearRefinements.js +2 -9
- package/cjs/lib/utils/concatHighlightedParts.js +2 -4
- package/cjs/lib/utils/createConcurrentSafePromise.js +0 -3
- package/cjs/lib/utils/createSendEventForFacet.js +8 -15
- package/cjs/lib/utils/createSendEventForHits.js +10 -34
- package/cjs/lib/utils/debounce.js +0 -3
- package/cjs/lib/utils/defer.js +0 -11
- package/cjs/lib/utils/detect-insights-client.js +1 -3
- package/cjs/lib/utils/documentation.js +2 -5
- package/cjs/lib/utils/escape-highlight.js +13 -26
- package/cjs/lib/utils/escape-html.js +9 -7
- package/cjs/lib/utils/escapeFacetValue.js +1 -5
- package/cjs/lib/utils/find.js +2 -5
- package/cjs/lib/utils/findIndex.js +0 -3
- package/cjs/lib/utils/geo-search.js +21 -37
- package/cjs/lib/utils/getAppIdAndApiKey.js +2 -3
- package/cjs/lib/utils/getContainerNode.js +1 -7
- package/cjs/lib/utils/getHighlightFromSiblings.js +1 -7
- package/cjs/lib/utils/getHighlightedParts.js +2 -5
- package/cjs/lib/utils/getObjectType.js +0 -1
- package/cjs/lib/utils/getPropertyByPath.js +0 -1
- package/cjs/lib/utils/getRefinements.js +30 -45
- package/cjs/lib/utils/getWidgetAttribute.js +0 -6
- package/cjs/lib/utils/hits-absolute-position.js +6 -7
- package/cjs/lib/utils/hits-query-id.js +6 -8
- package/cjs/lib/utils/index.js +46 -138
- package/cjs/lib/utils/isDomElement.js +0 -1
- package/cjs/lib/utils/isEqual.js +2 -7
- package/cjs/lib/utils/isFacetRefined.js +0 -1
- package/cjs/lib/utils/isFiniteNumber.js +0 -1
- package/cjs/lib/utils/isIndexWidget.js +0 -1
- package/cjs/lib/utils/isPlainObject.js +3 -11
- package/cjs/lib/utils/isSpecialClick.js +0 -1
- package/cjs/lib/utils/logger.js +6 -16
- package/cjs/lib/utils/mergeSearchParameters.js +23 -43
- package/cjs/lib/utils/noop.js +0 -1
- package/cjs/lib/utils/range.js +9 -15
- package/cjs/lib/utils/render-args.js +0 -2
- package/cjs/lib/utils/resolveSearchParameters.js +0 -3
- package/cjs/lib/utils/reverseHighlightedParts.js +7 -10
- package/cjs/lib/utils/safelyRunOnBrowser.js +7 -9
- package/cjs/lib/utils/serializer.js +1 -3
- package/cjs/lib/utils/setIndexHelperState.js +2 -7
- package/cjs/lib/utils/toArray.js +0 -1
- package/cjs/lib/utils/typedObject.js +0 -1
- package/cjs/lib/utils/uniq.js +0 -1
- package/cjs/lib/version.js +1 -1
- package/cjs/lib/voiceSearchHelper/index.js +12 -37
- package/cjs/middlewares/createInsightsMiddleware.js +30 -54
- package/cjs/middlewares/createMetadataMiddleware.js +7 -15
- package/cjs/middlewares/createRouterMiddleware.js +16 -24
- package/cjs/middlewares/index.js +3 -9
- package/cjs/types/algoliasearch.js +0 -2
- package/cjs/types/index.js +14 -42
- package/cjs/widgets/analytics/analytics.js +22 -48
- package/cjs/widgets/answers/answers.js +32 -49
- package/cjs/widgets/breadcrumb/breadcrumb.js +31 -48
- package/cjs/widgets/clear-refinements/clear-refinements.js +28 -45
- package/cjs/widgets/configure/configure.js +9 -14
- package/cjs/widgets/configure-related-items/configure-related-items.js +9 -14
- package/cjs/widgets/current-refinements/current-refinements.js +22 -37
- package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +17 -32
- package/cjs/widgets/geo-search/GeoSearchRenderer.js +50 -72
- package/cjs/widgets/geo-search/createHTMLMarker.js +34 -62
- package/cjs/widgets/geo-search/defaultTemplates.js +0 -3
- package/cjs/widgets/geo-search/geo-search.js +44 -70
- package/cjs/widgets/hierarchical-menu/defaultTemplates.js +5 -9
- package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +41 -57
- package/cjs/widgets/hits/hits.js +32 -50
- package/cjs/widgets/hits-per-page/hits-per-page.js +24 -39
- package/cjs/widgets/index/index.js +71 -113
- package/cjs/widgets/index.js +47 -85
- package/cjs/widgets/infinite-hits/infinite-hits.js +39 -57
- package/cjs/widgets/menu/defaultTemplates.js +4 -8
- package/cjs/widgets/menu/menu.js +36 -53
- package/cjs/widgets/menu-select/defaultTemplates.js +2 -4
- package/cjs/widgets/menu-select/menu-select.js +31 -48
- package/cjs/widgets/numeric-menu/defaultTemplates.js +3 -5
- package/cjs/widgets/numeric-menu/numeric-menu.js +30 -47
- package/cjs/widgets/pagination/pagination.js +43 -61
- package/cjs/widgets/panel/panel.js +31 -56
- package/cjs/widgets/places/places.js +22 -34
- package/cjs/widgets/powered-by/powered-by.js +20 -34
- package/cjs/widgets/query-rule-context/query-rule-context.js +10 -18
- package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +24 -39
- package/cjs/widgets/range-input/range-input.js +36 -60
- package/cjs/widgets/range-slider/range-slider.js +39 -61
- package/cjs/widgets/rating-menu/defaultTemplates.js +9 -16
- package/cjs/widgets/rating-menu/rating-menu.js +30 -48
- package/cjs/widgets/refinement-list/defaultTemplates.js +6 -10
- package/cjs/widgets/refinement-list/refinement-list.js +54 -72
- package/cjs/widgets/relevant-sort/relevant-sort.js +21 -37
- package/cjs/widgets/search-box/defaultTemplates.js +0 -5
- package/cjs/widgets/search-box/search-box.js +42 -57
- package/cjs/widgets/sort-by/sort-by.js +21 -36
- package/cjs/widgets/stats/defaultTemplates.js +1 -2
- package/cjs/widgets/stats/stats.js +40 -67
- package/cjs/widgets/toggle-refinement/toggle-refinement.js +29 -46
- package/cjs/widgets/voice-search/defaultTemplates.js +4 -14
- package/cjs/widgets/voice-search/voice-search.js +28 -44
- package/dist/instantsearch.development.d.ts +9 -6
- package/dist/instantsearch.development.js +1840 -3142
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +9 -6
- package/dist/instantsearch.production.min.d.ts +9 -6
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/components/Answers/Answers.js +10 -13
- package/es/components/Breadcrumb/Breadcrumb.js +5 -8
- package/es/components/ClearRefinements/ClearRefinements.js +4 -7
- package/es/components/CurrentRefinements/CurrentRefinements.js +5 -10
- package/es/components/GeoSearchControls/GeoSearchButton.js +4 -6
- package/es/components/GeoSearchControls/GeoSearchControls.js +11 -14
- package/es/components/GeoSearchControls/GeoSearchToggle.js +4 -6
- package/es/components/Highlight/Highlight.js +4 -7
- package/es/components/Hits/Hits.js +12 -17
- package/es/components/InfiniteHits/InfiniteHits.js +17 -22
- package/es/components/MenuSelect/MenuSelect.js +9 -14
- package/es/components/Pagination/Pagination.js +10 -15
- package/es/components/Panel/Panel.js +8 -22
- package/es/components/PoweredBy/PoweredBy.js +4 -5
- package/es/components/QueryRuleCustomData/QueryRuleCustomData.js +2 -4
- package/es/components/RangeInput/RangeInput.js +20 -46
- package/es/components/RefinementList/RefinementList.js +24 -67
- package/es/components/RefinementList/RefinementListItem.js +8 -11
- package/es/components/RelevantSort/RelevantSort.js +4 -6
- package/es/components/ReverseHighlight/ReverseHighlight.js +4 -7
- package/es/components/ReverseSnippet/ReverseSnippet.js +4 -7
- package/es/components/SearchBox/SearchBox.js +29 -66
- package/es/components/Selector/Selector.js +3 -5
- package/es/components/Slider/Pit.js +7 -9
- package/es/components/Slider/Rheostat.js +70 -133
- package/es/components/Slider/Slider.js +34 -61
- package/es/components/Snippet/Snippet.js +4 -7
- package/es/components/Stats/Stats.js +12 -17
- package/es/components/Template/Template.js +12 -35
- package/es/components/ToggleRefinement/ToggleRefinement.js +4 -7
- package/es/components/VoiceSearch/VoiceSearch.js +8 -13
- package/es/connectors/answers/connectAnswers.js +27 -36
- package/es/connectors/autocomplete/connectAutocomplete.js +12 -24
- package/es/connectors/breadcrumb/connectBreadcrumb.js +22 -48
- package/es/connectors/clear-refinements/connectClearRefinements.js +32 -45
- package/es/connectors/configure/connectConfigure.js +11 -17
- package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +16 -33
- package/es/connectors/current-refinements/connectCurrentRefinements.js +23 -57
- package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +20 -36
- package/es/connectors/geo-search/connectGeoSearch.js +21 -46
- package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +44 -74
- package/es/connectors/hits/connectHits.js +14 -25
- package/es/connectors/hits-per-page/connectHitsPerPage.js +20 -38
- package/es/connectors/index.d.ts +2 -1
- package/es/connectors/index.js +6 -3
- package/es/connectors/infinite-hits/connectInfiniteHits.js +32 -62
- package/es/connectors/menu/connectMenu.js +34 -66
- package/es/connectors/numeric-menu/connectNumericMenu.js +31 -78
- package/es/connectors/pagination/Paginator.js +8 -21
- package/es/connectors/pagination/connectPagination.js +12 -22
- package/es/connectors/powered-by/connectPoweredBy.js +8 -12
- package/es/connectors/query-rules/connectQueryRules.js +37 -56
- package/es/connectors/range/connectRange.js +46 -101
- package/es/connectors/rating-menu/connectRatingMenu.js +28 -79
- package/es/connectors/refinement-list/connectRefinementList.js +43 -69
- package/es/connectors/relevant-sort/connectRelevantSort.js +8 -14
- package/es/connectors/search-box/connectSearchBox.js +11 -22
- package/es/connectors/sort-by/connectSortBy.js +15 -20
- package/es/connectors/stats/connectStats.js +8 -10
- package/es/connectors/toggle-refinement/connectToggleRefinement.js +33 -62
- package/es/connectors/toggle-refinement/types.js +1 -0
- package/es/connectors/voice-search/connectVoiceSearch.js +17 -32
- package/es/helpers/components/Highlight.js +5 -8
- package/es/helpers/components/ReverseHighlight.js +13 -16
- package/es/helpers/components/ReverseSnippet.js +13 -16
- package/es/helpers/components/Snippet.js +5 -8
- package/es/helpers/get-insights-anonymous-user-token.js +2 -10
- package/es/helpers/highlight.js +10 -10
- package/es/helpers/insights.js +3 -10
- package/es/helpers/reverseHighlight.js +10 -10
- package/es/helpers/reverseSnippet.js +10 -10
- package/es/helpers/snippet.js +10 -10
- package/es/index.js +0 -2
- package/es/lib/InstantSearch.js +83 -172
- package/es/lib/createHelpers.js +8 -9
- package/es/lib/infiniteHitsCache/sessionStorage.js +10 -16
- package/es/lib/insights/client.js +12 -33
- package/es/lib/insights/listener.js +4 -18
- package/es/lib/routers/history.js +69 -108
- package/es/lib/stateMappings/simple.js +11 -13
- package/es/lib/stateMappings/singleIndex.js +6 -7
- package/es/lib/suit.js +2 -3
- package/es/lib/templating/prepareTemplateProps.js +13 -20
- package/es/lib/templating/renderTemplate.js +12 -21
- package/es/lib/utils/checkIndexUiState.js +19 -41
- package/es/lib/utils/clearRefinements.js +2 -8
- package/es/lib/utils/concatHighlightedParts.js +1 -1
- package/es/lib/utils/createConcurrentSafePromise.js +0 -2
- package/es/lib/utils/createSendEventForFacet.js +7 -12
- package/es/lib/utils/createSendEventForHits.js +8 -30
- package/es/lib/utils/debounce.js +0 -2
- package/es/lib/utils/defer.js +0 -10
- package/es/lib/utils/documentation.js +2 -3
- package/es/lib/utils/escape-highlight.js +9 -18
- package/es/lib/utils/escape-html.js +9 -5
- package/es/lib/utils/escapeFacetValue.js +0 -2
- package/es/lib/utils/find.js +2 -4
- package/es/lib/utils/findIndex.js +0 -2
- package/es/lib/utils/geo-search.js +21 -35
- package/es/lib/utils/getAppIdAndApiKey.js +2 -2
- package/es/lib/utils/getContainerNode.js +1 -5
- package/es/lib/utils/getHighlightFromSiblings.js +0 -3
- package/es/lib/utils/getHighlightedParts.js +1 -2
- package/es/lib/utils/getRefinements.js +28 -41
- package/es/lib/utils/getWidgetAttribute.js +0 -5
- package/es/lib/utils/hits-absolute-position.js +6 -6
- package/es/lib/utils/hits-query-id.js +6 -7
- package/es/lib/utils/isEqual.js +2 -6
- package/es/lib/utils/isPlainObject.js +3 -10
- package/es/lib/utils/logger.js +4 -14
- package/es/lib/utils/mergeSearchParameters.js +21 -38
- package/es/lib/utils/range.js +9 -14
- package/es/lib/utils/resolveSearchParameters.js +0 -2
- package/es/lib/utils/reverseHighlightedParts.js +6 -7
- package/es/lib/utils/safelyRunOnBrowser.js +7 -8
- package/es/lib/utils/setIndexHelperState.js +0 -2
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/lib/voiceSearchHelper/index.js +12 -36
- package/es/lib/voiceSearchHelper/types.js +1 -0
- package/es/middlewares/createInsightsMiddleware.js +21 -42
- package/es/middlewares/createMetadataMiddleware.js +3 -9
- package/es/middlewares/createRouterMiddleware.js +12 -14
- package/es/types/algoliasearch.js +1 -0
- package/es/types/component.js +1 -0
- package/es/types/connector.js +1 -0
- package/es/types/index.js +9 -5
- package/es/types/insights.js +1 -0
- package/es/types/instantsearch.js +1 -0
- package/es/types/middleware.js +1 -0
- package/es/types/render-state.js +1 -0
- package/es/types/results.js +1 -0
- package/es/types/router.js +1 -0
- package/es/types/templates.js +1 -0
- package/es/types/ui-state.js +1 -0
- package/es/types/utils.js +1 -0
- package/es/types/widget-factory.js +1 -0
- package/es/types/widget.js +1 -0
- package/es/widgets/analytics/analytics.js +19 -43
- package/es/widgets/answers/answers.js +23 -30
- package/es/widgets/breadcrumb/breadcrumb.js +22 -29
- package/es/widgets/clear-refinements/clear-refinements.js +19 -26
- package/es/widgets/configure/configure.js +7 -7
- package/es/widgets/configure-related-items/configure-related-items.js +6 -8
- package/es/widgets/current-refinements/current-refinements.js +16 -23
- package/es/widgets/dynamic-widgets/dynamic-widgets.js +11 -21
- package/es/widgets/geo-search/GeoSearchRenderer.d.js +1 -0
- package/es/widgets/geo-search/GeoSearchRenderer.js +47 -65
- package/es/widgets/geo-search/createHTMLMarker.d.ts +1 -0
- package/es/widgets/geo-search/createHTMLMarker.js +34 -61
- package/es/widgets/geo-search/defaultTemplates.js +0 -2
- package/es/widgets/geo-search/geo-search.d.ts +1 -0
- package/es/widgets/geo-search/geo-search.js +34 -50
- package/es/widgets/hierarchical-menu/defaultTemplates.js +4 -4
- package/es/widgets/hierarchical-menu/hierarchical-menu.js +32 -38
- package/es/widgets/hits/hits.js +20 -27
- package/es/widgets/hits-per-page/hits-per-page.js +17 -24
- package/es/widgets/index/index.js +55 -93
- package/es/widgets/index.d.ts +2 -1
- package/es/widgets/index.js +4 -3
- package/es/widgets/infinite-hits/infinite-hits.js +27 -34
- package/es/widgets/menu/defaultTemplates.js +3 -3
- package/es/widgets/menu/menu.js +27 -34
- package/es/widgets/menu-select/defaultTemplates.js +1 -1
- package/es/widgets/menu-select/menu-select.js +22 -29
- package/es/widgets/numeric-menu/defaultTemplates.js +3 -3
- package/es/widgets/numeric-menu/numeric-menu.js +21 -28
- package/es/widgets/pagination/pagination.js +36 -46
- package/es/widgets/panel/panel.js +24 -42
- package/es/widgets/places/places.js +22 -33
- package/es/widgets/powered-by/powered-by.js +14 -20
- package/es/widgets/query-rule-context/query-rule-context.js +6 -10
- package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +17 -24
- package/es/widgets/range-input/range-input.js +28 -43
- package/es/widgets/range-slider/range-slider.js +33 -47
- package/es/widgets/rating-menu/defaultTemplates.js +8 -12
- package/es/widgets/rating-menu/rating-menu.js +21 -29
- package/es/widgets/refinement-list/defaultTemplates.js +5 -5
- package/es/widgets/refinement-list/refinement-list.js +43 -50
- package/es/widgets/relevant-sort/relevant-sort.js +14 -21
- package/es/widgets/search-box/defaultTemplates.js +0 -4
- package/es/widgets/search-box/search-box.js +35 -41
- package/es/widgets/sort-by/sort-by.js +15 -22
- package/es/widgets/stats/stats.js +30 -47
- package/es/widgets/toggle-refinement/toggle-refinement.js +20 -27
- package/es/widgets/voice-search/defaultTemplates.js +4 -13
- package/es/widgets/voice-search/voice-search.js +21 -28
- package/package.json +20 -119
- package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.input.js +0 -1
- package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.output.js +0 -1
- package/scripts/transforms/__tests__/addWidget-to-addWidgets.test.js +1 -0
- package/CHANGELOG.md +0 -3693
|
@@ -1,35 +1,23 @@
|
|
|
1
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
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
|
-
function
|
|
6
|
-
|
|
7
|
-
function
|
|
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
|
-
|
|
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, _toPropertyKey(descriptor.key), descriptor); } }
|
|
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
|
|
20
|
-
|
|
21
|
-
function
|
|
22
|
-
|
|
23
|
-
function
|
|
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
|
-
|
|
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); }
|
|
12
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
15
|
+
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
16
|
/**
|
|
28
17
|
* This is a fork of Rheostat for Preact X.
|
|
29
18
|
*
|
|
30
19
|
* @see https://github.com/airbnb/rheostat
|
|
31
|
-
*/
|
|
32
|
-
import { h, Component, createRef } from 'preact';
|
|
20
|
+
*/import { h, Component, createRef } from 'preact';
|
|
33
21
|
var KEYS = {
|
|
34
22
|
DOWN: 40,
|
|
35
23
|
END: 35,
|
|
@@ -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
|
-
}
|
|
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
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
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
|
-
|
|
157
|
-
|
|
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
|
-
|
|
182
|
-
|
|
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
|
-
|
|
261
|
-
|
|
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
|
-
|
|
273
|
-
|
|
237
|
+
handlePos = _this$state2.handlePos,
|
|
238
|
+
values = _this$state2.values;
|
|
274
239
|
var _ref2 = this.props,
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
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) {
|
|
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
|
-
}
|
|
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
|
-
|
|
349
|
-
|
|
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
|
-
|
|
430
|
-
|
|
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
|
-
}
|
|
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);
|
|
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
|
-
}
|
|
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
|
-
|
|
522
|
-
|
|
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
|
-
|
|
532
|
-
|
|
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
|
-
|
|
549
|
-
|
|
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,15 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
577
521
|
key: "updateNewValues",
|
|
578
522
|
value: function updateNewValues(nextProps) {
|
|
579
523
|
var _this6 = this;
|
|
524
|
+
var slidingIndex = this.state.slidingIndex;
|
|
580
525
|
|
|
581
|
-
|
|
582
|
-
|
|
526
|
+
// Don't update while the slider is sliding
|
|
583
527
|
if (slidingIndex !== null) {
|
|
584
528
|
return;
|
|
585
529
|
}
|
|
586
|
-
|
|
587
530
|
var max = nextProps.max,
|
|
588
|
-
|
|
589
|
-
|
|
531
|
+
min = nextProps.min,
|
|
532
|
+
values = nextProps.values;
|
|
590
533
|
var nextValues = this.validateValues(values, nextProps);
|
|
591
534
|
this.setState({
|
|
592
535
|
handlePos: nextValues.map(function (value) {
|
|
@@ -601,22 +544,20 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
601
544
|
key: "render",
|
|
602
545
|
value: function render() {
|
|
603
546
|
var _this7 = this;
|
|
604
|
-
|
|
605
547
|
var _ref5 = this.props,
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
548
|
+
children = _ref5.children,
|
|
549
|
+
disabled = _ref5.disabled,
|
|
550
|
+
Handle = _ref5.handle,
|
|
551
|
+
max = _ref5.max,
|
|
552
|
+
min = _ref5.min,
|
|
553
|
+
orientation = _ref5.orientation,
|
|
554
|
+
PitComponent = _ref5.pitComponent,
|
|
555
|
+
pitPoints = _ref5.pitPoints,
|
|
556
|
+
ProgressBar = _ref5.progressBar; // all required thanks to defaultProps
|
|
616
557
|
var _this$state6 = this.state,
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
558
|
+
className = _this$state6.className,
|
|
559
|
+
handlePos = _this$state6.handlePos,
|
|
560
|
+
values = _this$state6.values;
|
|
620
561
|
return h("div", {
|
|
621
562
|
className: className,
|
|
622
563
|
ref: this.rheostat,
|
|
@@ -652,7 +593,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
652
593
|
if (idx === 0 && arr.length > 1) {
|
|
653
594
|
return null;
|
|
654
595
|
}
|
|
655
|
-
|
|
656
596
|
return h(ProgressBar, {
|
|
657
597
|
className: "rheostat-progress",
|
|
658
598
|
key: "progress-bar-".concat(idx),
|
|
@@ -674,10 +614,8 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
674
614
|
}), children);
|
|
675
615
|
}
|
|
676
616
|
}]);
|
|
677
|
-
|
|
678
617
|
return Rheostat;
|
|
679
618
|
}(Component);
|
|
680
|
-
|
|
681
619
|
_defineProperty(Rheostat, "defaultProps", {
|
|
682
620
|
className: '',
|
|
683
621
|
children: null,
|
|
@@ -700,5 +638,4 @@ _defineProperty(Rheostat, "defaultProps", {
|
|
|
700
638
|
snapPoints: [],
|
|
701
639
|
values: [PERCENT_EMPTY]
|
|
702
640
|
});
|
|
703
|
-
|
|
704
641
|
export default Rheostat;
|