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,42 +1,35 @@
|
|
|
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
|
/**
|
|
4
3
|
* This implementation is taken from Lodash implementation.
|
|
5
4
|
* See: https://github.com/lodash/lodash/blob/master/isPlainObject.js
|
|
6
5
|
*/
|
|
6
|
+
|
|
7
7
|
function getTag(value) {
|
|
8
8
|
if (value === null) {
|
|
9
9
|
return value === undefined ? '[object Undefined]' : '[object Null]';
|
|
10
10
|
}
|
|
11
|
-
|
|
12
11
|
return Object.prototype.toString.call(value);
|
|
13
12
|
}
|
|
14
|
-
|
|
15
13
|
function isObjectLike(value) {
|
|
16
14
|
return _typeof(value) === 'object' && value !== null;
|
|
17
15
|
}
|
|
16
|
+
|
|
18
17
|
/**
|
|
19
18
|
* Checks if `value` is a plain object.
|
|
20
19
|
*
|
|
21
20
|
* A plain object is an object created by the `Object`
|
|
22
21
|
* constructor or with a `[[Prototype]]` of `null`.
|
|
23
22
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
23
|
export function isPlainObject(value) {
|
|
27
24
|
if (!isObjectLike(value) || getTag(value) !== '[object Object]') {
|
|
28
25
|
return false;
|
|
29
26
|
}
|
|
30
|
-
|
|
31
27
|
if (Object.getPrototypeOf(value) === null) {
|
|
32
28
|
return true;
|
|
33
29
|
}
|
|
34
|
-
|
|
35
30
|
var proto = value;
|
|
36
|
-
|
|
37
31
|
while (Object.getPrototypeOf(proto) !== null) {
|
|
38
32
|
proto = Object.getPrototypeOf(proto);
|
|
39
33
|
}
|
|
40
|
-
|
|
41
34
|
return Object.getPrototypeOf(value) === proto;
|
|
42
35
|
}
|
package/es/lib/utils/logger.js
CHANGED
|
@@ -1,57 +1,47 @@
|
|
|
1
1
|
import { noop } from "./noop.js";
|
|
2
|
-
|
|
3
2
|
/**
|
|
4
3
|
* Logs a warning when this function is called, in development environment only.
|
|
5
4
|
*/
|
|
6
5
|
var deprecate = function deprecate(fn, message) {
|
|
7
6
|
return fn;
|
|
8
7
|
};
|
|
8
|
+
|
|
9
9
|
/**
|
|
10
10
|
* Logs a warning
|
|
11
11
|
* This is used to log issues in development environment only.
|
|
12
12
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
13
|
var warn = noop;
|
|
14
|
+
|
|
16
15
|
/**
|
|
17
16
|
* Logs a warning if the condition is not met.
|
|
18
17
|
* This is used to log issues in development environment only.
|
|
19
18
|
*/
|
|
20
|
-
|
|
21
19
|
var _warning = noop;
|
|
22
|
-
|
|
23
20
|
if (process.env.NODE_ENV === 'development') {
|
|
24
21
|
warn = function warn(message) {
|
|
25
22
|
// eslint-disable-next-line no-console
|
|
26
23
|
console.warn("[InstantSearch.js]: ".concat(message.trim()));
|
|
27
24
|
};
|
|
28
|
-
|
|
29
25
|
deprecate = function deprecate(fn, message) {
|
|
30
26
|
var hasAlreadyPrinted = false;
|
|
31
27
|
return function () {
|
|
32
28
|
if (!hasAlreadyPrinted) {
|
|
33
29
|
hasAlreadyPrinted = true;
|
|
34
|
-
warn(message);
|
|
30
|
+
process.env.NODE_ENV === 'development' ? warn(message) : void 0;
|
|
35
31
|
}
|
|
36
|
-
|
|
37
32
|
return fn.apply(void 0, arguments);
|
|
38
33
|
};
|
|
39
34
|
};
|
|
40
|
-
|
|
41
35
|
_warning = function warning(condition, message) {
|
|
42
36
|
if (condition) {
|
|
43
37
|
return;
|
|
44
38
|
}
|
|
45
|
-
|
|
46
39
|
var hasAlreadyPrinted = _warning.cache[message];
|
|
47
|
-
|
|
48
40
|
if (!hasAlreadyPrinted) {
|
|
49
41
|
_warning.cache[message] = true;
|
|
50
|
-
warn(message);
|
|
42
|
+
process.env.NODE_ENV === 'development' ? warn(message) : void 0;
|
|
51
43
|
}
|
|
52
44
|
};
|
|
53
|
-
|
|
54
45
|
_warning.cache = {};
|
|
55
46
|
}
|
|
56
|
-
|
|
57
47
|
export { warn, deprecate, _warning as warning };
|
|
@@ -1,117 +1,100 @@
|
|
|
1
|
-
function
|
|
2
|
-
|
|
3
|
-
function
|
|
4
|
-
|
|
5
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
-
|
|
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); }
|
|
2
|
+
var _excluded = ["facets", "disjunctiveFacets", "facetsRefinements", "facetsExcludes", "disjunctiveFacetsRefinements", "numericRefinements", "tagRefinements", "hierarchicalFacets", "hierarchicalFacetsRefinements", "ruleContexts"];
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
|
+
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; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
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); }
|
|
7
8
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
8
|
-
|
|
9
9
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
10
|
-
|
|
11
10
|
import { findIndex } from "./findIndex.js";
|
|
12
11
|
import { uniq } from "./uniq.js";
|
|
13
|
-
|
|
14
12
|
var mergeWithRest = function mergeWithRest(left, right) {
|
|
15
13
|
var facets = right.facets,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
disjunctiveFacets = right.disjunctiveFacets,
|
|
15
|
+
facetsRefinements = right.facetsRefinements,
|
|
16
|
+
facetsExcludes = right.facetsExcludes,
|
|
17
|
+
disjunctiveFacetsRefinements = right.disjunctiveFacetsRefinements,
|
|
18
|
+
numericRefinements = right.numericRefinements,
|
|
19
|
+
tagRefinements = right.tagRefinements,
|
|
20
|
+
hierarchicalFacets = right.hierarchicalFacets,
|
|
21
|
+
hierarchicalFacetsRefinements = right.hierarchicalFacetsRefinements,
|
|
22
|
+
ruleContexts = right.ruleContexts,
|
|
23
|
+
rest = _objectWithoutProperties(right, _excluded);
|
|
27
24
|
return left.setQueryParameters(rest);
|
|
28
|
-
};
|
|
29
|
-
|
|
25
|
+
};
|
|
30
26
|
|
|
27
|
+
// Merge facets
|
|
31
28
|
var mergeFacets = function mergeFacets(left, right) {
|
|
32
29
|
return right.facets.reduce(function (_, name) {
|
|
33
30
|
return _.addFacet(name);
|
|
34
31
|
}, left);
|
|
35
32
|
};
|
|
36
|
-
|
|
37
33
|
var mergeDisjunctiveFacets = function mergeDisjunctiveFacets(left, right) {
|
|
38
34
|
return right.disjunctiveFacets.reduce(function (_, name) {
|
|
39
35
|
return _.addDisjunctiveFacet(name);
|
|
40
36
|
}, left);
|
|
41
37
|
};
|
|
42
|
-
|
|
43
38
|
var mergeHierarchicalFacets = function mergeHierarchicalFacets(left, right) {
|
|
44
39
|
return left.setQueryParameters({
|
|
45
40
|
hierarchicalFacets: right.hierarchicalFacets.reduce(function (facets, facet) {
|
|
46
41
|
var index = findIndex(facets, function (_) {
|
|
47
42
|
return _.name === facet.name;
|
|
48
43
|
});
|
|
49
|
-
|
|
50
44
|
if (index === -1) {
|
|
51
45
|
return facets.concat(facet);
|
|
52
46
|
}
|
|
53
|
-
|
|
54
47
|
var nextFacets = facets.slice();
|
|
55
48
|
nextFacets.splice(index, 1, facet);
|
|
56
49
|
return nextFacets;
|
|
57
50
|
}, left.hierarchicalFacets)
|
|
58
51
|
});
|
|
59
|
-
};
|
|
60
|
-
|
|
52
|
+
};
|
|
61
53
|
|
|
54
|
+
// Merge facet refinements
|
|
62
55
|
var mergeTagRefinements = function mergeTagRefinements(left, right) {
|
|
63
56
|
return right.tagRefinements.reduce(function (_, value) {
|
|
64
57
|
return _.addTagRefinement(value);
|
|
65
58
|
}, left);
|
|
66
59
|
};
|
|
67
|
-
|
|
68
60
|
var mergeFacetRefinements = function mergeFacetRefinements(left, right) {
|
|
69
61
|
return left.setQueryParameters({
|
|
70
62
|
facetsRefinements: _objectSpread(_objectSpread({}, left.facetsRefinements), right.facetsRefinements)
|
|
71
63
|
});
|
|
72
64
|
};
|
|
73
|
-
|
|
74
65
|
var mergeFacetsExcludes = function mergeFacetsExcludes(left, right) {
|
|
75
66
|
return left.setQueryParameters({
|
|
76
67
|
facetsExcludes: _objectSpread(_objectSpread({}, left.facetsExcludes), right.facetsExcludes)
|
|
77
68
|
});
|
|
78
69
|
};
|
|
79
|
-
|
|
80
70
|
var mergeDisjunctiveFacetsRefinements = function mergeDisjunctiveFacetsRefinements(left, right) {
|
|
81
71
|
return left.setQueryParameters({
|
|
82
72
|
disjunctiveFacetsRefinements: _objectSpread(_objectSpread({}, left.disjunctiveFacetsRefinements), right.disjunctiveFacetsRefinements)
|
|
83
73
|
});
|
|
84
74
|
};
|
|
85
|
-
|
|
86
75
|
var mergeNumericRefinements = function mergeNumericRefinements(left, right) {
|
|
87
76
|
return left.setQueryParameters({
|
|
88
77
|
numericRefinements: _objectSpread(_objectSpread({}, left.numericRefinements), right.numericRefinements)
|
|
89
78
|
});
|
|
90
79
|
};
|
|
91
|
-
|
|
92
80
|
var mergeHierarchicalFacetsRefinements = function mergeHierarchicalFacetsRefinements(left, right) {
|
|
93
81
|
return left.setQueryParameters({
|
|
94
82
|
hierarchicalFacetsRefinements: _objectSpread(_objectSpread({}, left.hierarchicalFacetsRefinements), right.hierarchicalFacetsRefinements)
|
|
95
83
|
});
|
|
96
84
|
};
|
|
97
|
-
|
|
98
85
|
var mergeRuleContexts = function mergeRuleContexts(left, right) {
|
|
99
86
|
var ruleContexts = uniq([].concat(left.ruleContexts).concat(right.ruleContexts).filter(Boolean));
|
|
100
|
-
|
|
101
87
|
if (ruleContexts.length > 0) {
|
|
102
88
|
return left.setQueryParameters({
|
|
103
89
|
ruleContexts: ruleContexts
|
|
104
90
|
});
|
|
105
91
|
}
|
|
106
|
-
|
|
107
92
|
return left;
|
|
108
93
|
};
|
|
109
|
-
|
|
110
94
|
export var mergeSearchParameters = function mergeSearchParameters() {
|
|
111
95
|
for (var _len = arguments.length, parameters = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
112
96
|
parameters[_key] = arguments[_key];
|
|
113
97
|
}
|
|
114
|
-
|
|
115
98
|
return parameters.reduce(function (left, right) {
|
|
116
99
|
var hierarchicalFacetsRefinementsMerged = mergeHierarchicalFacetsRefinements(left, right);
|
|
117
100
|
var hierarchicalFacetsMerged = mergeHierarchicalFacets(hierarchicalFacetsRefinementsMerged, right);
|
package/es/lib/utils/range.js
CHANGED
|
@@ -1,28 +1,23 @@
|
|
|
1
1
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
-
|
|
3
2
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
|
|
5
3
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
-
|
|
7
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
8
|
-
|
|
4
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
9
5
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
10
|
-
|
|
11
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
12
|
-
|
|
6
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
7
|
export function range(_ref) {
|
|
14
8
|
var _ref$start = _ref.start,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
start = _ref$start === void 0 ? 0 : _ref$start,
|
|
10
|
+
end = _ref.end,
|
|
11
|
+
_ref$step = _ref.step,
|
|
12
|
+
step = _ref$step === void 0 ? 1 : _ref$step;
|
|
19
13
|
// We can't divide by 0 so we re-assign the step to 1 if it happens.
|
|
20
|
-
var limitStep = step === 0 ? 1 : step;
|
|
14
|
+
var limitStep = step === 0 ? 1 : step;
|
|
15
|
+
|
|
16
|
+
// In some cases the array to create has a decimal length.
|
|
21
17
|
// We therefore need to round the value.
|
|
22
18
|
// Example:
|
|
23
19
|
// { start: 1, end: 5000, step: 500 }
|
|
24
20
|
// => Array length = (5000 - 1) / 500 = 9.998
|
|
25
|
-
|
|
26
21
|
var arrayLength = Math.round((end - start) / limitStep);
|
|
27
22
|
return _toConsumableArray(Array(arrayLength)).map(function (_, current) {
|
|
28
23
|
return start + current * limitStep;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
export function resolveSearchParameters(current) {
|
|
2
2
|
var parent = current.getParent();
|
|
3
3
|
var states = [current.getHelper().state];
|
|
4
|
-
|
|
5
4
|
while (parent !== null) {
|
|
6
5
|
states = [parent.getHelper().state].concat(states);
|
|
7
6
|
parent = parent.getParent();
|
|
8
7
|
}
|
|
9
|
-
|
|
10
8
|
return states;
|
|
11
9
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function
|
|
2
|
-
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
4
|
-
|
|
5
|
-
function
|
|
6
|
-
|
|
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); }
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
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; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
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); }
|
|
7
7
|
import { getHighlightFromSiblings } from "./getHighlightFromSiblings.js";
|
|
8
8
|
export function reverseHighlightedParts(parts) {
|
|
9
9
|
if (!parts.some(function (part) {
|
|
@@ -15,7 +15,6 @@ export function reverseHighlightedParts(parts) {
|
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
|
-
|
|
19
18
|
return parts.map(function (part, i) {
|
|
20
19
|
return _objectSpread(_objectSpread({}, part), {}, {
|
|
21
20
|
isHighlighted: !getHighlightFromSiblings(parts, i)
|
|
@@ -5,18 +5,17 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export function safelyRunOnBrowser(callback) {
|
|
7
7
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
fallback: function fallback() {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
fallback = _ref.fallback;
|
|
14
13
|
// eslint-disable-next-line no-restricted-globals
|
|
15
14
|
if (typeof window === 'undefined') {
|
|
16
15
|
return fallback();
|
|
17
|
-
}
|
|
18
|
-
|
|
16
|
+
}
|
|
19
17
|
|
|
18
|
+
// eslint-disable-next-line no-restricted-globals
|
|
20
19
|
return callback({
|
|
21
20
|
window: window
|
|
22
21
|
});
|
|
@@ -2,14 +2,12 @@ import { isIndexWidget } from "./isIndexWidget.js";
|
|
|
2
2
|
import { checkIndexUiState } from "./checkIndexUiState.js";
|
|
3
3
|
export function setIndexHelperState(finalUiState, indexWidget) {
|
|
4
4
|
var nextIndexUiState = finalUiState[indexWidget.getIndexId()] || {};
|
|
5
|
-
|
|
6
5
|
if (process.env.NODE_ENV === 'development') {
|
|
7
6
|
checkIndexUiState({
|
|
8
7
|
index: indexWidget,
|
|
9
8
|
indexUiState: nextIndexUiState
|
|
10
9
|
});
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
indexWidget.getHelper().setState(indexWidget.getWidgetSearchParameters(indexWidget.getHelper().state, {
|
|
14
12
|
uiState: nextIndexUiState
|
|
15
13
|
}));
|
package/es/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "4.49.
|
|
1
|
+
declare const _default: "4.49.3";
|
|
2
2
|
export default _default;
|
package/es/lib/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '4.49.
|
|
1
|
+
export default '4.49.3';
|
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
function
|
|
2
|
-
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
4
|
-
|
|
5
|
-
function
|
|
6
|
-
|
|
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); }
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
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; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
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); }
|
|
7
7
|
// `SpeechRecognition` is an API used on the browser so we can safely disable
|
|
8
8
|
// the `window` check.
|
|
9
|
-
|
|
10
9
|
/* eslint-disable no-restricted-globals */
|
|
11
|
-
|
|
12
10
|
/* global SpeechRecognition SpeechRecognitionEvent */
|
|
11
|
+
|
|
13
12
|
var createVoiceSearchHelper = function createVoiceSearchHelper(_ref) {
|
|
14
13
|
var searchAsYouSpeak = _ref.searchAsYouSpeak,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
language = _ref.language,
|
|
15
|
+
onQueryChange = _ref.onQueryChange,
|
|
16
|
+
onStateChange = _ref.onStateChange;
|
|
18
17
|
var SpeechRecognitionAPI = window.webkitSpeechRecognition || window.SpeechRecognition;
|
|
19
|
-
|
|
20
18
|
var getDefaultState = function getDefaultState(status) {
|
|
21
19
|
return {
|
|
22
20
|
status: status,
|
|
@@ -25,96 +23,77 @@ var createVoiceSearchHelper = function createVoiceSearchHelper(_ref) {
|
|
|
25
23
|
errorCode: undefined
|
|
26
24
|
};
|
|
27
25
|
};
|
|
28
|
-
|
|
29
26
|
var state = getDefaultState('initial');
|
|
30
27
|
var recognition;
|
|
31
|
-
|
|
32
28
|
var isBrowserSupported = function isBrowserSupported() {
|
|
33
29
|
return Boolean(SpeechRecognitionAPI);
|
|
34
30
|
};
|
|
35
|
-
|
|
36
31
|
var isListening = function isListening() {
|
|
37
32
|
return state.status === 'askingPermission' || state.status === 'waiting' || state.status === 'recognizing';
|
|
38
33
|
};
|
|
39
|
-
|
|
40
34
|
var setState = function setState() {
|
|
41
35
|
var newState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
42
36
|
state = _objectSpread(_objectSpread({}, state), newState);
|
|
43
37
|
onStateChange();
|
|
44
38
|
};
|
|
45
|
-
|
|
46
39
|
var getState = function getState() {
|
|
47
40
|
return state;
|
|
48
41
|
};
|
|
49
|
-
|
|
50
42
|
var resetState = function resetState() {
|
|
51
43
|
var status = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'initial';
|
|
52
44
|
setState(getDefaultState(status));
|
|
53
45
|
};
|
|
54
|
-
|
|
55
46
|
var onStart = function onStart() {
|
|
56
47
|
setState({
|
|
57
48
|
status: 'waiting'
|
|
58
49
|
});
|
|
59
50
|
};
|
|
60
|
-
|
|
61
51
|
var onError = function onError(event) {
|
|
62
52
|
setState({
|
|
63
53
|
status: 'error',
|
|
64
54
|
errorCode: event.error
|
|
65
55
|
});
|
|
66
56
|
};
|
|
67
|
-
|
|
68
57
|
var onResult = function onResult(event) {
|
|
69
58
|
setState({
|
|
70
59
|
status: 'recognizing',
|
|
71
60
|
transcript: event.results[0] && event.results[0][0] && event.results[0][0].transcript || '',
|
|
72
61
|
isSpeechFinal: event.results[0] && event.results[0].isFinal
|
|
73
62
|
});
|
|
74
|
-
|
|
75
63
|
if (searchAsYouSpeak && state.transcript) {
|
|
76
64
|
onQueryChange(state.transcript);
|
|
77
65
|
}
|
|
78
66
|
};
|
|
79
|
-
|
|
80
67
|
var onEnd = function onEnd() {
|
|
81
68
|
if (!state.errorCode && state.transcript && !searchAsYouSpeak) {
|
|
82
69
|
onQueryChange(state.transcript);
|
|
83
70
|
}
|
|
84
|
-
|
|
85
71
|
if (state.status !== 'error') {
|
|
86
72
|
setState({
|
|
87
73
|
status: 'finished'
|
|
88
74
|
});
|
|
89
75
|
}
|
|
90
76
|
};
|
|
91
|
-
|
|
92
77
|
var startListening = function startListening() {
|
|
93
78
|
recognition = new SpeechRecognitionAPI();
|
|
94
|
-
|
|
95
79
|
if (!recognition) {
|
|
96
80
|
return;
|
|
97
81
|
}
|
|
98
|
-
|
|
99
82
|
resetState('askingPermission');
|
|
100
83
|
recognition.interimResults = true;
|
|
101
|
-
|
|
102
84
|
if (language) {
|
|
103
85
|
recognition.lang = language;
|
|
104
86
|
}
|
|
105
|
-
|
|
106
87
|
recognition.addEventListener('start', onStart);
|
|
107
88
|
recognition.addEventListener('error', onError);
|
|
108
89
|
recognition.addEventListener('result', onResult);
|
|
109
90
|
recognition.addEventListener('end', onEnd);
|
|
110
91
|
recognition.start();
|
|
111
92
|
};
|
|
112
|
-
|
|
113
93
|
var dispose = function dispose() {
|
|
114
94
|
if (!recognition) {
|
|
115
95
|
return;
|
|
116
96
|
}
|
|
117
|
-
|
|
118
97
|
recognition.stop();
|
|
119
98
|
recognition.removeEventListener('start', onStart);
|
|
120
99
|
recognition.removeEventListener('error', onError);
|
|
@@ -122,15 +101,13 @@ var createVoiceSearchHelper = function createVoiceSearchHelper(_ref) {
|
|
|
122
101
|
recognition.removeEventListener('end', onEnd);
|
|
123
102
|
recognition = undefined;
|
|
124
103
|
};
|
|
125
|
-
|
|
126
104
|
var stopListening = function stopListening() {
|
|
127
|
-
dispose();
|
|
105
|
+
dispose();
|
|
106
|
+
// Because `dispose` removes event listeners, `end` listener is not called.
|
|
128
107
|
// So we're setting the `status` as `finished` here.
|
|
129
108
|
// If we don't do it, it will be still `waiting` or `recognizing`.
|
|
130
|
-
|
|
131
109
|
resetState('finished');
|
|
132
110
|
};
|
|
133
|
-
|
|
134
111
|
return {
|
|
135
112
|
getState: getState,
|
|
136
113
|
isBrowserSupported: isBrowserSupported,
|
|
@@ -140,5 +117,4 @@ var createVoiceSearchHelper = function createVoiceSearchHelper(_ref) {
|
|
|
140
117
|
dispose: dispose
|
|
141
118
|
};
|
|
142
119
|
};
|
|
143
|
-
|
|
144
120
|
export default createVoiceSearchHelper;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|