instantsearch.js 4.49.1 → 4.49.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/cjs/components/Answers/Answers.js +6 -16
- package/cjs/components/Breadcrumb/Breadcrumb.js +5 -12
- package/cjs/components/ClearRefinements/ClearRefinements.js +4 -11
- package/cjs/components/CurrentRefinements/CurrentRefinements.js +5 -12
- package/cjs/components/GeoSearchControls/GeoSearchButton.js +4 -6
- package/cjs/components/GeoSearchControls/GeoSearchControls.js +11 -20
- package/cjs/components/GeoSearchControls/GeoSearchToggle.js +4 -6
- package/cjs/components/Highlight/Highlight.js +3 -11
- package/cjs/components/Hits/Hits.js +8 -20
- package/cjs/components/InfiniteHits/InfiniteHits.js +13 -25
- package/cjs/components/InternalHighlight/InternalHighlight.js +0 -3
- package/cjs/components/MenuSelect/MenuSelect.js +9 -19
- package/cjs/components/Pagination/Pagination.js +10 -17
- package/cjs/components/Panel/Panel.js +7 -26
- package/cjs/components/PoweredBy/PoweredBy.js +4 -5
- package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +2 -6
- package/cjs/components/RangeInput/RangeInput.js +16 -48
- package/cjs/components/RefinementList/RefinementList.js +19 -73
- package/cjs/components/RefinementList/RefinementListItem.js +8 -14
- package/cjs/components/RelevantSort/RelevantSort.js +4 -8
- package/cjs/components/ReverseHighlight/ReverseHighlight.js +3 -11
- package/cjs/components/ReverseSnippet/ReverseSnippet.js +3 -11
- package/cjs/components/SearchBox/SearchBox.js +25 -69
- package/cjs/components/Selector/Selector.js +3 -6
- package/cjs/components/Slider/Pit.js +3 -10
- package/cjs/components/Slider/Rheostat.js +63 -131
- package/cjs/components/Slider/Slider.js +28 -65
- package/cjs/components/Snippet/Snippet.js +3 -11
- package/cjs/components/Stats/Stats.js +7 -20
- package/cjs/components/Template/Template.js +8 -37
- package/cjs/components/ToggleRefinement/ToggleRefinement.js +4 -10
- package/cjs/components/VoiceSearch/VoiceSearch.js +8 -15
- package/cjs/connectors/answers/connectAnswers.js +21 -36
- package/cjs/connectors/autocomplete/connectAutocomplete.js +8 -25
- package/cjs/connectors/breadcrumb/connectBreadcrumb.js +17 -48
- package/cjs/connectors/clear-refinements/connectClearRefinements.js +27 -45
- package/cjs/connectors/configure/connectConfigure.js +6 -20
- package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +11 -36
- package/cjs/connectors/current-refinements/connectCurrentRefinements.js +18 -57
- package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +17 -37
- package/cjs/connectors/geo-search/connectGeoSearch.js +17 -47
- package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +38 -74
- package/cjs/connectors/hits/connectHits.js +10 -26
- package/cjs/connectors/hits/connectHitsWithInsights.js +0 -4
- package/cjs/connectors/hits-per-page/connectHitsPerPage.js +15 -38
- package/cjs/connectors/index.js +62 -96
- package/cjs/connectors/infinite-hits/connectInfiniteHits.js +26 -62
- package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +0 -4
- package/cjs/connectors/menu/connectMenu.js +28 -66
- package/cjs/connectors/numeric-menu/connectNumericMenu.js +24 -78
- package/cjs/connectors/pagination/Paginator.js +3 -20
- package/cjs/connectors/pagination/connectPagination.js +8 -25
- package/cjs/connectors/powered-by/connectPoweredBy.js +4 -13
- package/cjs/connectors/query-rules/connectQueryRules.js +32 -56
- package/cjs/connectors/range/connectRange.js +41 -101
- package/cjs/connectors/rating-menu/connectRatingMenu.js +23 -79
- package/cjs/connectors/refinement-list/connectRefinementList.js +37 -70
- package/cjs/connectors/relevant-sort/connectRelevantSort.js +4 -14
- package/cjs/connectors/search-box/connectSearchBox.js +7 -23
- package/cjs/connectors/sort-by/connectSortBy.js +11 -21
- package/cjs/connectors/stats/connectStats.js +4 -11
- package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +29 -63
- package/cjs/connectors/voice-search/connectVoiceSearch.js +13 -35
- package/cjs/helpers/components/Highlight.js +4 -12
- package/cjs/helpers/components/ReverseHighlight.js +7 -19
- package/cjs/helpers/components/ReverseSnippet.js +7 -19
- package/cjs/helpers/components/Snippet.js +4 -12
- package/cjs/helpers/components/index.js +0 -8
- package/cjs/helpers/get-insights-anonymous-user-token.js +4 -15
- package/cjs/helpers/highlight.js +10 -16
- package/cjs/helpers/index.js +17 -31
- package/cjs/helpers/insights.js +5 -17
- package/cjs/helpers/reverseHighlight.js +10 -16
- package/cjs/helpers/reverseSnippet.js +10 -16
- package/cjs/helpers/snippet.js +10 -16
- package/cjs/index.js +3 -18
- package/cjs/lib/InstantSearch.js +79 -180
- package/cjs/lib/createHelpers.js +4 -11
- package/cjs/lib/formatNumber.js +0 -1
- package/cjs/lib/infiniteHitsCache/index.js +0 -2
- package/cjs/lib/infiniteHitsCache/sessionStorage.js +9 -18
- package/cjs/lib/insights/client.js +8 -34
- package/cjs/lib/insights/index.js +7 -13
- package/cjs/lib/insights/listener.js +4 -20
- package/cjs/lib/routers/history.js +63 -102
- package/cjs/lib/routers/index.js +0 -2
- package/cjs/lib/stateMappings/index.js +0 -3
- package/cjs/lib/stateMappings/simple.js +6 -13
- package/cjs/lib/stateMappings/singleIndex.js +1 -7
- package/cjs/lib/suit.js +2 -5
- package/cjs/lib/templating/index.js +0 -4
- package/cjs/lib/templating/prepareTemplateProps.js +8 -19
- package/cjs/lib/templating/renderTemplate.js +9 -24
- package/cjs/lib/utils/capitalize.js +0 -1
- package/cjs/lib/utils/checkIndexUiState.js +15 -43
- package/cjs/lib/utils/checkRendering.js +0 -2
- package/cjs/lib/utils/clearRefinements.js +2 -9
- package/cjs/lib/utils/concatHighlightedParts.js +1 -3
- package/cjs/lib/utils/createConcurrentSafePromise.js +0 -3
- package/cjs/lib/utils/createSendEventForFacet.js +7 -14
- package/cjs/lib/utils/createSendEventForHits.js +9 -33
- package/cjs/lib/utils/debounce.js +0 -3
- package/cjs/lib/utils/defer.js +0 -11
- package/cjs/lib/utils/detect-insights-client.js +0 -2
- package/cjs/lib/utils/documentation.js +2 -5
- package/cjs/lib/utils/escape-highlight.js +5 -22
- 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 +14 -34
- package/cjs/lib/utils/getAppIdAndApiKey.js +2 -3
- package/cjs/lib/utils/getContainerNode.js +0 -6
- package/cjs/lib/utils/getHighlightFromSiblings.js +0 -6
- package/cjs/lib/utils/getHighlightedParts.js +1 -4
- package/cjs/lib/utils/getObjectType.js +0 -1
- package/cjs/lib/utils/getPropertyByPath.js +0 -1
- package/cjs/lib/utils/getRefinements.js +13 -26
- package/cjs/lib/utils/getWidgetAttribute.js +0 -6
- package/cjs/lib/utils/hits-absolute-position.js +2 -6
- package/cjs/lib/utils/hits-query-id.js +2 -7
- package/cjs/lib/utils/index.js +0 -92
- package/cjs/lib/utils/isDomElement.js +0 -1
- package/cjs/lib/utils/isEqual.js +0 -8
- 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 +3 -13
- package/cjs/lib/utils/mergeSearchParameters.js +16 -40
- package/cjs/lib/utils/noop.js +0 -1
- package/cjs/lib/utils/range.js +8 -14
- package/cjs/lib/utils/render-args.js +0 -2
- package/cjs/lib/utils/resolveSearchParameters.js +0 -3
- package/cjs/lib/utils/reverseHighlightedParts.js +2 -8
- package/cjs/lib/utils/safelyRunOnBrowser.js +7 -9
- package/cjs/lib/utils/serializer.js +1 -3
- package/cjs/lib/utils/setIndexHelperState.js +0 -5
- 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 +8 -36
- package/cjs/middlewares/createInsightsMiddleware.js +15 -44
- package/cjs/middlewares/createMetadataMiddleware.js +4 -12
- package/cjs/middlewares/createRouterMiddleware.js +8 -19
- package/cjs/middlewares/index.js +0 -6
- package/cjs/types/algoliasearch.js +0 -2
- package/cjs/types/index.js +0 -28
- package/cjs/widgets/analytics/analytics.js +12 -47
- package/cjs/widgets/answers/answers.js +19 -39
- package/cjs/widgets/breadcrumb/breadcrumb.js +18 -38
- package/cjs/widgets/clear-refinements/clear-refinements.js +15 -35
- package/cjs/widgets/configure/configure.js +2 -10
- package/cjs/widgets/configure-related-items/configure-related-items.js +2 -10
- package/cjs/widgets/current-refinements/current-refinements.js +12 -30
- package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +6 -25
- package/cjs/widgets/geo-search/GeoSearchRenderer.js +41 -68
- package/cjs/widgets/geo-search/createHTMLMarker.js +30 -60
- package/cjs/widgets/geo-search/defaultTemplates.js +0 -3
- package/cjs/widgets/geo-search/geo-search.js +27 -59
- package/cjs/widgets/hierarchical-menu/defaultTemplates.js +4 -7
- package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +28 -47
- package/cjs/widgets/hits/hits.js +16 -37
- package/cjs/widgets/hits-per-page/hits-per-page.js +13 -31
- package/cjs/widgets/index/index.js +49 -95
- package/cjs/widgets/index.js +12 -50
- package/cjs/widgets/infinite-hits/infinite-hits.js +23 -44
- package/cjs/widgets/menu/defaultTemplates.js +3 -6
- package/cjs/widgets/menu/menu.js +23 -43
- package/cjs/widgets/menu-select/defaultTemplates.js +1 -3
- package/cjs/widgets/menu-select/menu-select.js +18 -38
- package/cjs/widgets/numeric-menu/defaultTemplates.js +3 -4
- package/cjs/widgets/numeric-menu/numeric-menu.js +17 -37
- package/cjs/widgets/pagination/pagination.js +32 -53
- package/cjs/widgets/panel/panel.js +20 -48
- package/cjs/widgets/places/places.js +16 -33
- package/cjs/widgets/powered-by/powered-by.js +10 -27
- package/cjs/widgets/query-rule-context/query-rule-context.js +2 -13
- package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +14 -32
- package/cjs/widgets/range-input/range-input.js +23 -50
- package/cjs/widgets/range-slider/range-slider.js +28 -53
- package/cjs/widgets/rating-menu/defaultTemplates.js +8 -14
- package/cjs/widgets/rating-menu/rating-menu.js +17 -38
- package/cjs/widgets/refinement-list/defaultTemplates.js +5 -8
- package/cjs/widgets/refinement-list/refinement-list.js +39 -60
- package/cjs/widgets/relevant-sort/relevant-sort.js +10 -29
- package/cjs/widgets/search-box/defaultTemplates.js +0 -5
- package/cjs/widgets/search-box/search-box.js +31 -49
- package/cjs/widgets/sort-by/sort-by.js +11 -29
- package/cjs/widgets/stats/defaultTemplates.js +0 -1
- package/cjs/widgets/stats/stats.js +27 -57
- package/cjs/widgets/toggle-refinement/toggle-refinement.js +16 -36
- package/cjs/widgets/voice-search/defaultTemplates.js +4 -14
- package/cjs/widgets/voice-search/voice-search.js +17 -36
- package/dist/instantsearch.development.d.ts +8 -6
- package/dist/instantsearch.development.js +1722 -3088
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +8 -6
- package/dist/instantsearch.production.min.d.ts +8 -6
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/components/Answers/Answers.js +6 -11
- package/es/components/Breadcrumb/Breadcrumb.js +5 -7
- package/es/components/ClearRefinements/ClearRefinements.js +4 -6
- package/es/components/CurrentRefinements/CurrentRefinements.js +7 -10
- package/es/components/GeoSearchControls/GeoSearchButton.js +6 -6
- package/es/components/GeoSearchControls/GeoSearchControls.js +11 -13
- package/es/components/GeoSearchControls/GeoSearchToggle.js +6 -6
- package/es/components/Highlight/Highlight.js +3 -7
- package/es/components/Hits/Hits.js +8 -15
- package/es/components/InfiniteHits/InfiniteHits.js +13 -20
- package/es/components/MenuSelect/MenuSelect.js +9 -13
- package/es/components/Pagination/Pagination.js +12 -15
- package/es/components/Panel/Panel.js +7 -20
- package/es/components/PoweredBy/PoweredBy.js +6 -5
- package/es/components/QueryRuleCustomData/QueryRuleCustomData.js +4 -4
- package/es/components/RangeInput/RangeInput.js +16 -43
- package/es/components/RefinementList/RefinementList.js +19 -64
- package/es/components/RefinementList/RefinementListItem.js +8 -10
- package/es/components/RelevantSort/RelevantSort.js +6 -6
- package/es/components/ReverseHighlight/ReverseHighlight.js +3 -7
- package/es/components/ReverseSnippet/ReverseSnippet.js +3 -7
- package/es/components/SearchBox/SearchBox.js +25 -63
- package/es/components/Selector/Selector.js +5 -5
- package/es/components/Slider/Pit.js +3 -7
- package/es/components/Slider/Rheostat.js +64 -129
- package/es/components/Slider/Slider.js +28 -58
- package/es/components/Snippet/Snippet.js +3 -7
- package/es/components/Stats/Stats.js +7 -15
- package/es/components/Template/Template.js +8 -32
- package/es/components/ToggleRefinement/ToggleRefinement.js +4 -6
- package/es/components/VoiceSearch/VoiceSearch.js +10 -13
- package/es/connectors/answers/connectAnswers.js +21 -35
- package/es/connectors/autocomplete/connectAutocomplete.js +8 -23
- package/es/connectors/breadcrumb/connectBreadcrumb.js +17 -46
- package/es/connectors/clear-refinements/connectClearRefinements.js +27 -43
- package/es/connectors/configure/connectConfigure.js +7 -16
- package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +11 -31
- package/es/connectors/current-refinements/connectCurrentRefinements.js +18 -55
- package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +17 -35
- package/es/connectors/geo-search/connectGeoSearch.js +17 -45
- package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +38 -72
- package/es/connectors/hits/connectHits.js +10 -24
- package/es/connectors/hits-per-page/connectHitsPerPage.js +15 -36
- package/es/connectors/index.d.ts +2 -1
- package/es/connectors/index.js +6 -3
- package/es/connectors/infinite-hits/connectInfiniteHits.js +26 -60
- package/es/connectors/menu/connectMenu.js +28 -64
- package/es/connectors/numeric-menu/connectNumericMenu.js +24 -76
- package/es/connectors/pagination/Paginator.js +3 -19
- package/es/connectors/pagination/connectPagination.js +8 -21
- package/es/connectors/powered-by/connectPoweredBy.js +4 -11
- package/es/connectors/query-rules/connectQueryRules.js +32 -54
- package/es/connectors/range/connectRange.js +41 -99
- package/es/connectors/rating-menu/connectRatingMenu.js +23 -77
- package/es/connectors/refinement-list/connectRefinementList.js +37 -68
- package/es/connectors/relevant-sort/connectRelevantSort.js +4 -13
- package/es/connectors/search-box/connectSearchBox.js +7 -21
- package/es/connectors/sort-by/connectSortBy.js +11 -19
- package/es/connectors/stats/connectStats.js +4 -9
- package/es/connectors/toggle-refinement/connectToggleRefinement.js +29 -61
- package/es/connectors/voice-search/connectVoiceSearch.js +13 -31
- package/es/helpers/components/Highlight.js +4 -8
- package/es/helpers/components/ReverseHighlight.js +7 -15
- package/es/helpers/components/ReverseSnippet.js +7 -15
- package/es/helpers/components/Snippet.js +4 -8
- package/es/helpers/get-insights-anonymous-user-token.js +2 -10
- package/es/helpers/highlight.js +9 -11
- package/es/helpers/insights.js +3 -10
- package/es/helpers/reverseHighlight.js +9 -11
- package/es/helpers/reverseSnippet.js +9 -11
- package/es/helpers/snippet.js +9 -11
- package/es/index.js +0 -2
- package/es/lib/InstantSearch.js +79 -170
- package/es/lib/createHelpers.js +4 -8
- package/es/lib/infiniteHitsCache/sessionStorage.js +9 -16
- package/es/lib/insights/client.js +8 -32
- package/es/lib/insights/listener.js +6 -18
- package/es/lib/routers/history.js +63 -99
- package/es/lib/stateMappings/simple.js +6 -12
- package/es/lib/stateMappings/singleIndex.js +1 -6
- package/es/lib/suit.js +2 -3
- package/es/lib/templating/prepareTemplateProps.js +8 -18
- package/es/lib/templating/renderTemplate.js +9 -20
- package/es/lib/utils/checkIndexUiState.js +18 -40
- 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 +3 -16
- 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 +14 -32
- 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 +13 -24
- package/es/lib/utils/getWidgetAttribute.js +0 -5
- package/es/lib/utils/hits-absolute-position.js +2 -5
- package/es/lib/utils/hits-query-id.js +2 -6
- package/es/lib/utils/isEqual.js +0 -7
- package/es/lib/utils/isPlainObject.js +3 -10
- package/es/lib/utils/logger.js +2 -12
- package/es/lib/utils/mergeSearchParameters.js +16 -37
- package/es/lib/utils/range.js +8 -13
- package/es/lib/utils/resolveSearchParameters.js +0 -2
- package/es/lib/utils/reverseHighlightedParts.js +2 -6
- 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 +8 -35
- package/es/middlewares/createInsightsMiddleware.js +15 -41
- package/es/middlewares/createMetadataMiddleware.js +3 -9
- package/es/middlewares/createRouterMiddleware.js +8 -13
- package/es/types/index.js +9 -5
- package/es/widgets/analytics/analytics.js +12 -45
- package/es/widgets/answers/answers.js +19 -28
- package/es/widgets/breadcrumb/breadcrumb.js +18 -27
- package/es/widgets/clear-refinements/clear-refinements.js +15 -24
- package/es/widgets/configure/configure.js +3 -6
- package/es/widgets/configure-related-items/configure-related-items.js +2 -7
- package/es/widgets/current-refinements/current-refinements.js +12 -21
- package/es/widgets/dynamic-widgets/dynamic-widgets.js +6 -20
- package/es/widgets/geo-search/GeoSearchRenderer.js +41 -63
- package/es/widgets/geo-search/createHTMLMarker.js +30 -59
- package/es/widgets/geo-search/defaultTemplates.js +2 -2
- package/es/widgets/geo-search/geo-search.js +27 -49
- package/es/widgets/hierarchical-menu/defaultTemplates.js +5 -4
- package/es/widgets/hierarchical-menu/hierarchical-menu.js +28 -36
- package/es/widgets/hits/hits.js +16 -25
- package/es/widgets/hits-per-page/hits-per-page.js +13 -22
- package/es/widgets/index/index.js +49 -91
- package/es/widgets/index.d.ts +2 -1
- package/es/widgets/index.js +4 -3
- package/es/widgets/infinite-hits/infinite-hits.js +23 -32
- package/es/widgets/menu/defaultTemplates.js +4 -3
- package/es/widgets/menu/menu.js +23 -32
- package/es/widgets/menu-select/defaultTemplates.js +1 -1
- package/es/widgets/menu-select/menu-select.js +18 -27
- package/es/widgets/numeric-menu/defaultTemplates.js +4 -3
- package/es/widgets/numeric-menu/numeric-menu.js +17 -26
- package/es/widgets/pagination/pagination.js +32 -44
- package/es/widgets/panel/panel.js +20 -40
- package/es/widgets/places/places.js +16 -32
- package/es/widgets/powered-by/powered-by.js +10 -18
- package/es/widgets/query-rule-context/query-rule-context.js +2 -9
- package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +13 -22
- package/es/widgets/range-input/range-input.js +23 -40
- package/es/widgets/range-slider/range-slider.js +28 -44
- package/es/widgets/rating-menu/defaultTemplates.js +9 -12
- package/es/widgets/rating-menu/rating-menu.js +17 -27
- package/es/widgets/refinement-list/defaultTemplates.js +6 -5
- package/es/widgets/refinement-list/refinement-list.js +39 -48
- package/es/widgets/relevant-sort/relevant-sort.js +10 -19
- package/es/widgets/search-box/defaultTemplates.js +1 -4
- package/es/widgets/search-box/search-box.js +31 -39
- package/es/widgets/sort-by/sort-by.js +11 -20
- package/es/widgets/stats/stats.js +26 -45
- package/es/widgets/toggle-refinement/toggle-refinement.js +16 -25
- package/es/widgets/voice-search/defaultTemplates.js +5 -13
- package/es/widgets/voice-search/voice-search.js +17 -26
- 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/CHANGELOG.md +0 -3693
|
@@ -1,38 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
4
|
-
|
|
3
|
+
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); }
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _preact = require("preact");
|
|
11
|
-
|
|
12
9
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
13
|
-
|
|
14
10
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
15
|
-
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
19
|
-
|
|
20
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
21
|
-
|
|
11
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
12
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
13
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
22
14
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
23
|
-
|
|
24
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
25
|
-
|
|
15
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
26
16
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
27
|
-
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
31
|
-
|
|
17
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
18
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
32
19
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
33
|
-
|
|
34
|
-
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); }
|
|
35
|
-
|
|
20
|
+
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); }
|
|
36
21
|
var KEYS = {
|
|
37
22
|
DOWN: 40,
|
|
38
23
|
END: 35,
|
|
@@ -46,61 +31,47 @@ var KEYS = {
|
|
|
46
31
|
};
|
|
47
32
|
var PERCENT_EMPTY = 0;
|
|
48
33
|
var PERCENT_FULL = 100;
|
|
49
|
-
|
|
50
34
|
function getPosition(value, min, max) {
|
|
51
35
|
return (value - min) / (max - min) * 100;
|
|
52
36
|
}
|
|
53
|
-
|
|
54
37
|
function getValue(pos, min, max) {
|
|
55
38
|
var decimal = pos / 100;
|
|
56
|
-
|
|
57
39
|
if (pos === 0) {
|
|
58
40
|
return min;
|
|
59
41
|
} else if (pos === 100) {
|
|
60
42
|
return max;
|
|
61
43
|
}
|
|
62
|
-
|
|
63
44
|
return Math.round((max - min) * decimal + min);
|
|
64
45
|
}
|
|
65
|
-
|
|
66
46
|
function getClassName(props) {
|
|
67
47
|
var orientation = props.orientation === 'vertical' ? 'rheostat-vertical' : 'rheostat-horizontal';
|
|
68
48
|
return ['rheostat', orientation].concat(props.className.split(' ')).join(' ');
|
|
69
49
|
}
|
|
70
|
-
|
|
71
50
|
function getHandleFor(ev) {
|
|
72
51
|
return Number(ev.currentTarget.getAttribute('data-handle-key'));
|
|
73
52
|
}
|
|
74
|
-
|
|
75
53
|
function killEvent(ev) {
|
|
76
54
|
ev.stopPropagation();
|
|
77
55
|
ev.preventDefault();
|
|
78
56
|
}
|
|
79
|
-
|
|
80
57
|
function Button(props) {
|
|
81
58
|
return (0, _preact.h)("button", _extends({}, props, {
|
|
82
59
|
type: "button"
|
|
83
60
|
}));
|
|
84
|
-
}
|
|
85
|
-
// maybe migrate to csstype later?
|
|
86
|
-
|
|
61
|
+
}
|
|
87
62
|
|
|
63
|
+
// Preact doesn't have builtin types for Style, JSX.HTMLAttributes['style'] is just object
|
|
64
|
+
// maybe migrate to csstype later?
|
|
88
65
|
var _ref6 = (0, _preact.h)("div", {
|
|
89
66
|
className: "rheostat-background"
|
|
90
67
|
});
|
|
91
|
-
|
|
92
68
|
var Rheostat = /*#__PURE__*/function (_Component) {
|
|
93
69
|
_inherits(Rheostat, _Component);
|
|
94
|
-
|
|
95
70
|
var _super = _createSuper(Rheostat);
|
|
96
|
-
|
|
97
71
|
function Rheostat(props) {
|
|
98
72
|
var _this;
|
|
99
|
-
|
|
100
73
|
_classCallCheck(this, Rheostat);
|
|
101
|
-
|
|
102
74
|
_this = _super.call(this, props);
|
|
103
|
-
|
|
104
75
|
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
105
76
|
className: getClassName(_this.props),
|
|
106
77
|
// non-null thanks to defaultProps
|
|
@@ -114,9 +85,7 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
114
85
|
// non-null thanks to defaultProps
|
|
115
86
|
values: _this.props.values
|
|
116
87
|
});
|
|
117
|
-
|
|
118
88
|
_defineProperty(_assertThisInitialized(_this), "rheostat", (0, _preact.createRef)());
|
|
119
|
-
|
|
120
89
|
_this.getPublicState = _this.getPublicState.bind(_assertThisInitialized(_this));
|
|
121
90
|
_this.getSliderBoundingBox = _this.getSliderBoundingBox.bind(_assertThisInitialized(_this));
|
|
122
91
|
_this.getProgressStyle = _this.getProgressStyle.bind(_assertThisInitialized(_this));
|
|
@@ -145,34 +114,30 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
145
114
|
_this.updateNewValues = _this.updateNewValues.bind(_assertThisInitialized(_this));
|
|
146
115
|
return _this;
|
|
147
116
|
}
|
|
148
|
-
|
|
149
117
|
_createClass(Rheostat, [{
|
|
150
118
|
key: "componentWillReceiveProps",
|
|
151
119
|
value: function componentWillReceiveProps(nextProps) {
|
|
152
120
|
var _this$props = this.props,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
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;
|
|
158
126
|
var _this$state = this.state,
|
|
159
|
-
|
|
160
|
-
|
|
127
|
+
values = _this$state.values,
|
|
128
|
+
slidingIndex = _this$state.slidingIndex;
|
|
161
129
|
var minMaxChanged = nextProps.min !== min || nextProps.max !== max;
|
|
162
130
|
var valuesChanged = values.length !== nextProps.values.length || values.some(function (value, idx) {
|
|
163
131
|
return nextProps.values[idx] !== value;
|
|
164
132
|
});
|
|
165
133
|
var orientationChanged = nextProps.className !== className || nextProps.orientation !== orientation;
|
|
166
134
|
var willBeDisabled = nextProps.disabled && !disabled;
|
|
167
|
-
|
|
168
135
|
if (orientationChanged) {
|
|
169
136
|
this.setState({
|
|
170
137
|
className: getClassName(nextProps)
|
|
171
138
|
});
|
|
172
139
|
}
|
|
173
|
-
|
|
174
140
|
if (minMaxChanged || valuesChanged) this.updateNewValues(nextProps);
|
|
175
|
-
|
|
176
141
|
if (willBeDisabled && slidingIndex !== null) {
|
|
177
142
|
this.endSlide();
|
|
178
143
|
}
|
|
@@ -181,8 +146,8 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
181
146
|
key: "getPublicState",
|
|
182
147
|
value: function getPublicState() {
|
|
183
148
|
var _this$props2 = this.props,
|
|
184
|
-
|
|
185
|
-
|
|
149
|
+
min = _this$props2.min,
|
|
150
|
+
max = _this$props2.max;
|
|
186
151
|
var values = this.state.values;
|
|
187
152
|
return {
|
|
188
153
|
max: max,
|
|
@@ -208,7 +173,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
208
173
|
value: function getProgressStyle(idx) {
|
|
209
174
|
var handlePos = this.state.handlePos;
|
|
210
175
|
var value = handlePos[idx];
|
|
211
|
-
|
|
212
176
|
if (idx === 0) {
|
|
213
177
|
return this.props.orientation === 'vertical' ? {
|
|
214
178
|
height: "".concat(value, "%"),
|
|
@@ -218,7 +182,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
218
182
|
width: "".concat(value, "%")
|
|
219
183
|
};
|
|
220
184
|
}
|
|
221
|
-
|
|
222
185
|
var prevValue = handlePos[idx - 1];
|
|
223
186
|
var diffValue = value - prevValue;
|
|
224
187
|
return this.props.orientation === 'vertical' ? {
|
|
@@ -260,8 +223,8 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
260
223
|
value: function getSnapPosition(positionPercent) {
|
|
261
224
|
if (!this.props.snap) return positionPercent;
|
|
262
225
|
var _ref = this.props,
|
|
263
|
-
|
|
264
|
-
|
|
226
|
+
max = _ref.max,
|
|
227
|
+
min = _ref.min;
|
|
265
228
|
var value = getValue(positionPercent, min, max);
|
|
266
229
|
var snapValue = this.getClosestSnapPoint(value);
|
|
267
230
|
return getPosition(snapValue, min, max);
|
|
@@ -270,32 +233,27 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
270
233
|
key: "getNextPositionForKey",
|
|
271
234
|
value: function getNextPositionForKey(idx, keyCode) {
|
|
272
235
|
var _stepMultiplier;
|
|
273
|
-
|
|
274
236
|
var _this$state2 = this.state,
|
|
275
|
-
|
|
276
|
-
|
|
237
|
+
handlePos = _this$state2.handlePos,
|
|
238
|
+
values = _this$state2.values;
|
|
277
239
|
var _ref2 = this.props,
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
240
|
+
max = _ref2.max,
|
|
241
|
+
min = _ref2.min,
|
|
242
|
+
snapPoints = _ref2.snapPoints;
|
|
281
243
|
var shouldSnap = this.props.snap;
|
|
282
244
|
var proposedValue = values[idx];
|
|
283
245
|
var proposedPercentage = handlePos[idx];
|
|
284
246
|
var originalPercentage = proposedPercentage;
|
|
285
247
|
var stepValue = 1;
|
|
286
|
-
|
|
287
248
|
if (max >= 100) {
|
|
288
249
|
proposedPercentage = Math.round(proposedPercentage);
|
|
289
250
|
} else {
|
|
290
251
|
stepValue = 100 / (max - min);
|
|
291
252
|
}
|
|
292
|
-
|
|
293
253
|
var currentIndex = null;
|
|
294
|
-
|
|
295
254
|
if (shouldSnap) {
|
|
296
255
|
currentIndex = snapPoints.indexOf(this.getClosestSnapPoint(values[idx]));
|
|
297
256
|
}
|
|
298
|
-
|
|
299
257
|
var stepMultiplier = (_stepMultiplier = {}, _defineProperty(_stepMultiplier, KEYS.LEFT, function (v) {
|
|
300
258
|
return v * -1;
|
|
301
259
|
}), _defineProperty(_stepMultiplier, KEYS.RIGHT, function (v) {
|
|
@@ -309,38 +267,34 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
309
267
|
}), _defineProperty(_stepMultiplier, KEYS.PAGE_UP, function (v) {
|
|
310
268
|
return v > 1 ? v : v * 10;
|
|
311
269
|
}), _stepMultiplier);
|
|
312
|
-
|
|
313
270
|
if (Object.prototype.hasOwnProperty.call(stepMultiplier, keyCode)) {
|
|
314
271
|
proposedPercentage += stepMultiplier[keyCode](stepValue);
|
|
315
|
-
|
|
316
272
|
if (shouldSnap) {
|
|
317
|
-
if (!currentIndex) {
|
|
273
|
+
if (!currentIndex) {
|
|
274
|
+
// nothing happens
|
|
318
275
|
} else if (proposedPercentage > originalPercentage) {
|
|
319
276
|
// move cursor right unless overflow
|
|
320
277
|
if (currentIndex < snapPoints.length - 1) {
|
|
321
278
|
proposedValue = snapPoints[currentIndex + 1];
|
|
322
|
-
}
|
|
323
|
-
|
|
279
|
+
}
|
|
280
|
+
// move cursor left unless there is overflow
|
|
324
281
|
} else if (currentIndex > 0) {
|
|
325
282
|
proposedValue = snapPoints[currentIndex - 1];
|
|
326
283
|
}
|
|
327
284
|
}
|
|
328
285
|
} else if (keyCode === KEYS.HOME) {
|
|
329
286
|
proposedPercentage = PERCENT_EMPTY;
|
|
330
|
-
|
|
331
287
|
if (shouldSnap) {
|
|
332
288
|
proposedValue = snapPoints[0];
|
|
333
289
|
}
|
|
334
290
|
} else if (keyCode === KEYS.END) {
|
|
335
291
|
proposedPercentage = PERCENT_FULL;
|
|
336
|
-
|
|
337
292
|
if (shouldSnap) {
|
|
338
293
|
proposedValue = snapPoints[snapPoints.length - 1];
|
|
339
294
|
}
|
|
340
295
|
} else {
|
|
341
296
|
return null;
|
|
342
297
|
}
|
|
343
|
-
|
|
344
298
|
return shouldSnap ? getPosition(proposedValue, min, max) : proposedPercentage;
|
|
345
299
|
}
|
|
346
300
|
}, {
|
|
@@ -348,8 +302,8 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
348
302
|
value: function getNextState(idx, proposedPosition) {
|
|
349
303
|
var handlePos = this.state.handlePos;
|
|
350
304
|
var _ref3 = this.props,
|
|
351
|
-
|
|
352
|
-
|
|
305
|
+
max = _ref3.max,
|
|
306
|
+
min = _ref3.min;
|
|
353
307
|
var actualPosition = this.validatePosition(idx, proposedPosition);
|
|
354
308
|
var nextHandlePos = handlePos.map(function (pos, index) {
|
|
355
309
|
return index === idx ? actualPosition : pos;
|
|
@@ -415,12 +369,10 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
415
369
|
key: "handleTouchSlide",
|
|
416
370
|
value: function handleTouchSlide(ev) {
|
|
417
371
|
if (this.state.slidingIndex === null) return;
|
|
418
|
-
|
|
419
372
|
if (ev.changedTouches.length > 1) {
|
|
420
373
|
this.endSlide();
|
|
421
374
|
return;
|
|
422
375
|
}
|
|
423
|
-
|
|
424
376
|
var touch = ev.changedTouches[0];
|
|
425
377
|
this.handleSlide(touch.clientX, touch.clientY);
|
|
426
378
|
killEvent(ev);
|
|
@@ -429,11 +381,10 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
429
381
|
key: "handleSlide",
|
|
430
382
|
value: function handleSlide(x, y) {
|
|
431
383
|
var _this$state3 = this.state,
|
|
432
|
-
|
|
433
|
-
|
|
384
|
+
idx = _this$state3.slidingIndex,
|
|
385
|
+
sliderBox = _this$state3.sliderBox;
|
|
434
386
|
var positionPercent = this.props.orientation === 'vertical' ? (y - sliderBox.top) / sliderBox.height * PERCENT_FULL : (x - sliderBox.left) / sliderBox.width * PERCENT_FULL;
|
|
435
387
|
this.slideTo(idx, positionPercent);
|
|
436
|
-
|
|
437
388
|
if (this.canMove(idx, positionPercent)) {
|
|
438
389
|
// update mouse positions
|
|
439
390
|
this.setState({
|
|
@@ -449,7 +400,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
449
400
|
key: "endSlide",
|
|
450
401
|
value: function endSlide() {
|
|
451
402
|
var _this2 = this;
|
|
452
|
-
|
|
453
403
|
var idx = this.state.slidingIndex;
|
|
454
404
|
this.setState({
|
|
455
405
|
slidingIndex: null
|
|
@@ -459,7 +409,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
459
409
|
document.removeEventListener('touchmove', this.handleTouchSlide, false);
|
|
460
410
|
document.removeEventListener('mousemove', this.handleMouseSlide, false);
|
|
461
411
|
if (this.props.onSliderDragEnd) this.props.onSliderDragEnd();
|
|
462
|
-
|
|
463
412
|
if (this.props.snap) {
|
|
464
413
|
var positionPercent = this.getSnapPosition(this.state.handlePos[idx]);
|
|
465
414
|
this.slideTo(idx, positionPercent, function () {
|
|
@@ -473,19 +422,19 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
473
422
|
key: "handleClick",
|
|
474
423
|
value: function handleClick(ev) {
|
|
475
424
|
var _this3 = this;
|
|
476
|
-
|
|
477
425
|
if (ev.target.getAttribute('data-handle-key')) {
|
|
478
426
|
return;
|
|
479
|
-
}
|
|
480
|
-
// the position where you click in relativity.
|
|
481
|
-
|
|
427
|
+
}
|
|
482
428
|
|
|
429
|
+
// Calculate the position of the slider on the page so we can determine
|
|
430
|
+
// the position where you click in relativity.
|
|
483
431
|
var sliderBox = this.getSliderBoundingBox();
|
|
484
432
|
var positionDecimal = this.props.orientation === 'vertical' ? (ev.clientY - sliderBox.top) / sliderBox.height : (ev.clientX - sliderBox.left) / sliderBox.width;
|
|
485
433
|
var positionPercent = positionDecimal * PERCENT_FULL;
|
|
486
434
|
var handleId = this.getClosestHandle(positionPercent);
|
|
487
|
-
var validPositionPercent = this.getSnapPosition(positionPercent);
|
|
435
|
+
var validPositionPercent = this.getSnapPosition(positionPercent);
|
|
488
436
|
|
|
437
|
+
// Move the handle there
|
|
489
438
|
this.slideTo(handleId, validPositionPercent, function () {
|
|
490
439
|
return _this3.fireChangeEvent();
|
|
491
440
|
});
|
|
@@ -495,34 +444,30 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
495
444
|
key: "handleKeydown",
|
|
496
445
|
value: function handleKeydown(ev) {
|
|
497
446
|
var _this4 = this;
|
|
498
|
-
|
|
499
447
|
var idx = getHandleFor(ev);
|
|
500
|
-
|
|
501
448
|
if (ev.keyCode === KEYS.ESC) {
|
|
502
449
|
ev.currentTarget.blur();
|
|
503
450
|
return;
|
|
504
451
|
}
|
|
505
|
-
|
|
506
452
|
var proposedPercentage = this.getNextPositionForKey(idx, ev.keyCode);
|
|
507
453
|
if (proposedPercentage === null) return;
|
|
508
|
-
|
|
509
454
|
if (this.canMove(idx, proposedPercentage)) {
|
|
510
455
|
this.slideTo(idx, proposedPercentage, function () {
|
|
511
456
|
return _this4.fireChangeEvent();
|
|
512
457
|
});
|
|
513
458
|
if (this.props.onKeyPress) this.props.onKeyPress();
|
|
514
459
|
}
|
|
515
|
-
|
|
516
460
|
killEvent(ev);
|
|
517
|
-
}
|
|
518
|
-
// does not collide with other handles too much.
|
|
461
|
+
}
|
|
519
462
|
|
|
463
|
+
// Make sure the proposed position respects the bounds and
|
|
464
|
+
// does not collide with other handles too much.
|
|
520
465
|
}, {
|
|
521
466
|
key: "validatePosition",
|
|
522
467
|
value: function validatePosition(idx, proposedPosition) {
|
|
523
468
|
var _this$state4 = this.state,
|
|
524
|
-
|
|
525
|
-
|
|
469
|
+
handlePos = _this$state4.handlePos,
|
|
470
|
+
handleDimensions = _this$state4.handleDimensions;
|
|
526
471
|
return Math.max(Math.min(proposedPosition, handlePos[idx + 1] !== undefined ? handlePos[idx + 1] - handleDimensions : PERCENT_FULL // 100% is the highest value
|
|
527
472
|
), handlePos[idx - 1] !== undefined ? handlePos[idx - 1] + handleDimensions : PERCENT_EMPTY // 0% is the lowest value
|
|
528
473
|
);
|
|
@@ -531,16 +476,13 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
531
476
|
key: "validateValues",
|
|
532
477
|
value: function validateValues(proposedValues, props) {
|
|
533
478
|
var _ref4 = props || this.props,
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
479
|
+
max = _ref4.max,
|
|
480
|
+
min = _ref4.min;
|
|
537
481
|
return proposedValues.map(function (value, idx, values) {
|
|
538
482
|
var realValue = Math.max(Math.min(value, max), min);
|
|
539
|
-
|
|
540
483
|
if (values.length && realValue < values[idx - 1]) {
|
|
541
484
|
return values[idx - 1];
|
|
542
485
|
}
|
|
543
|
-
|
|
544
486
|
return realValue;
|
|
545
487
|
});
|
|
546
488
|
}
|
|
@@ -548,8 +490,8 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
548
490
|
key: "canMove",
|
|
549
491
|
value: function canMove(idx, proposedPosition) {
|
|
550
492
|
var _this$state5 = this.state,
|
|
551
|
-
|
|
552
|
-
|
|
493
|
+
handlePos = _this$state5.handlePos,
|
|
494
|
+
handleDimensions = _this$state5.handleDimensions;
|
|
553
495
|
if (proposedPosition < PERCENT_EMPTY) return false;
|
|
554
496
|
if (proposedPosition > PERCENT_FULL) return false;
|
|
555
497
|
var nextHandlePosition = handlePos[idx + 1] !== undefined ? handlePos[idx + 1] - handleDimensions : Infinity;
|
|
@@ -568,7 +510,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
568
510
|
key: "slideTo",
|
|
569
511
|
value: function slideTo(idx, proposedPosition, onAfterSet) {
|
|
570
512
|
var _this5 = this;
|
|
571
|
-
|
|
572
513
|
var nextState = this.getNextState(idx, proposedPosition);
|
|
573
514
|
this.setState(nextState, function () {
|
|
574
515
|
var onValuesUpdated = _this5.props.onValuesUpdated;
|
|
@@ -580,16 +521,13 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
580
521
|
key: "updateNewValues",
|
|
581
522
|
value: function updateNewValues(nextProps) {
|
|
582
523
|
var _this6 = this;
|
|
583
|
-
|
|
584
524
|
var slidingIndex = this.state.slidingIndex; // Don't update while the slider is sliding
|
|
585
|
-
|
|
586
525
|
if (slidingIndex !== null) {
|
|
587
526
|
return;
|
|
588
527
|
}
|
|
589
|
-
|
|
590
528
|
var max = nextProps.max,
|
|
591
|
-
|
|
592
|
-
|
|
529
|
+
min = nextProps.min,
|
|
530
|
+
values = nextProps.values;
|
|
593
531
|
var nextValues = this.validateValues(values, nextProps);
|
|
594
532
|
this.setState({
|
|
595
533
|
handlePos: nextValues.map(function (value) {
|
|
@@ -604,22 +542,20 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
604
542
|
key: "render",
|
|
605
543
|
value: function render() {
|
|
606
544
|
var _this7 = this;
|
|
607
|
-
|
|
608
545
|
var _ref5 = this.props,
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
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
|
|
619
555
|
var _this$state6 = this.state,
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
556
|
+
className = _this$state6.className,
|
|
557
|
+
handlePos = _this$state6.handlePos,
|
|
558
|
+
values = _this$state6.values;
|
|
623
559
|
return (0, _preact.h)("div", {
|
|
624
560
|
className: className,
|
|
625
561
|
ref: this.rheostat,
|
|
@@ -655,7 +591,6 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
655
591
|
if (idx === 0 && arr.length > 1) {
|
|
656
592
|
return null;
|
|
657
593
|
}
|
|
658
|
-
|
|
659
594
|
return (0, _preact.h)(ProgressBar, {
|
|
660
595
|
className: "rheostat-progress",
|
|
661
596
|
key: "progress-bar-".concat(idx),
|
|
@@ -677,10 +612,8 @@ var Rheostat = /*#__PURE__*/function (_Component) {
|
|
|
677
612
|
}), children);
|
|
678
613
|
}
|
|
679
614
|
}]);
|
|
680
|
-
|
|
681
615
|
return Rheostat;
|
|
682
616
|
}(_preact.Component);
|
|
683
|
-
|
|
684
617
|
_defineProperty(Rheostat, "defaultProps", {
|
|
685
618
|
className: '',
|
|
686
619
|
children: null,
|
|
@@ -703,6 +636,5 @@ _defineProperty(Rheostat, "defaultProps", {
|
|
|
703
636
|
snapPoints: [],
|
|
704
637
|
values: [PERCENT_EMPTY]
|
|
705
638
|
});
|
|
706
|
-
|
|
707
639
|
var _default = Rheostat;
|
|
708
640
|
exports.default = _default;
|