instantsearch.js 4.49.0 → 4.49.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +7 -12
- 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 +1725 -3087
- 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 +5 -7
- 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 -3684
|
@@ -4,28 +4,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _index = require("../../lib/utils/index.js");
|
|
9
|
-
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
13
|
-
|
|
8
|
+
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; }
|
|
9
|
+
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; }
|
|
14
10
|
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; }
|
|
15
|
-
|
|
16
11
|
var withUsage = (0, _index.createDocumentationMessageGenerator)({
|
|
17
12
|
name: 'autocomplete',
|
|
18
13
|
connector: true
|
|
19
14
|
});
|
|
20
|
-
|
|
21
15
|
var connectAutocomplete = function connectAutocomplete(renderFn) {
|
|
22
16
|
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _index.noop;
|
|
23
17
|
(0, _index.checkRendering)(renderFn, withUsage());
|
|
24
18
|
return function (widgetParams) {
|
|
25
19
|
var _ref = widgetParams || {},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
20
|
+
_ref$escapeHTML = _ref.escapeHTML,
|
|
21
|
+
escapeHTML = _ref$escapeHTML === void 0 ? true : _ref$escapeHTML;
|
|
29
22
|
process.env.NODE_ENV === 'development' ? (0, _index.warning)(!widgetParams.indices, "\nThe option `indices` has been removed from the Autocomplete connector.\n\nThe indices to target are now inferred from the widgets tree.\n".concat(Array.isArray(widgetParams.indices) ? "\nAn alternative would be:\n\nconst autocomplete = connectAutocomplete(renderer);\n\nsearch.addWidgets([\n ".concat(widgetParams.indices.map(function (_ref2) {
|
|
30
23
|
var value = _ref2.value;
|
|
31
24
|
return "index({ indexName: '".concat(value, "' }),");
|
|
@@ -44,7 +37,7 @@ var connectAutocomplete = function connectAutocomplete(renderFn) {
|
|
|
44
37
|
var renderState = this.getWidgetRenderState(renderOptions);
|
|
45
38
|
renderState.indices.forEach(function (_ref3) {
|
|
46
39
|
var sendEvent = _ref3.sendEvent,
|
|
47
|
-
|
|
40
|
+
hits = _ref3.hits;
|
|
48
41
|
sendEvent('view', hits);
|
|
49
42
|
});
|
|
50
43
|
renderFn(_objectSpread(_objectSpread({}, renderState), {}, {
|
|
@@ -58,18 +51,15 @@ var connectAutocomplete = function connectAutocomplete(renderFn) {
|
|
|
58
51
|
},
|
|
59
52
|
getWidgetRenderState: function getWidgetRenderState(_ref4) {
|
|
60
53
|
var _this = this;
|
|
61
|
-
|
|
62
54
|
var helper = _ref4.helper,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
55
|
+
state = _ref4.state,
|
|
56
|
+
scopedResults = _ref4.scopedResults,
|
|
57
|
+
instantSearchInstance = _ref4.instantSearchInstance;
|
|
67
58
|
if (!connectorState.refine) {
|
|
68
59
|
connectorState.refine = function (query) {
|
|
69
60
|
helper.setQuery(query).search();
|
|
70
61
|
};
|
|
71
62
|
}
|
|
72
|
-
|
|
73
63
|
var indices = scopedResults.map(function (scopedResult) {
|
|
74
64
|
// We need to escape the hits because highlighting
|
|
75
65
|
// exposes HTML tags to the end-user.
|
|
@@ -97,11 +87,9 @@ var connectAutocomplete = function connectAutocomplete(renderFn) {
|
|
|
97
87
|
getWidgetUiState: function getWidgetUiState(uiState, _ref5) {
|
|
98
88
|
var searchParameters = _ref5.searchParameters;
|
|
99
89
|
var query = searchParameters.query || '';
|
|
100
|
-
|
|
101
90
|
if (query === '' || uiState && uiState.query === query) {
|
|
102
91
|
return uiState;
|
|
103
92
|
}
|
|
104
|
-
|
|
105
93
|
return _objectSpread(_objectSpread({}, uiState), {}, {
|
|
106
94
|
query: query
|
|
107
95
|
});
|
|
@@ -111,22 +99,18 @@ var connectAutocomplete = function connectAutocomplete(renderFn) {
|
|
|
111
99
|
var parameters = {
|
|
112
100
|
query: uiState.query || ''
|
|
113
101
|
};
|
|
114
|
-
|
|
115
102
|
if (!escapeHTML) {
|
|
116
103
|
return searchParameters.setQueryParameters(parameters);
|
|
117
104
|
}
|
|
118
|
-
|
|
119
105
|
return searchParameters.setQueryParameters(_objectSpread(_objectSpread({}, parameters), _index.TAG_PLACEHOLDER));
|
|
120
106
|
},
|
|
121
107
|
dispose: function dispose(_ref7) {
|
|
122
108
|
var state = _ref7.state;
|
|
123
109
|
unmountFn();
|
|
124
110
|
var stateWithoutQuery = state.setQueryParameter('query', undefined);
|
|
125
|
-
|
|
126
111
|
if (!escapeHTML) {
|
|
127
112
|
return stateWithoutQuery;
|
|
128
113
|
}
|
|
129
|
-
|
|
130
114
|
return stateWithoutQuery.setQueryParameters(Object.keys(_index.TAG_PLACEHOLDER).reduce(function (acc, key) {
|
|
131
115
|
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, undefined));
|
|
132
116
|
}, {}));
|
|
@@ -134,6 +118,5 @@ var connectAutocomplete = function connectAutocomplete(renderFn) {
|
|
|
134
118
|
};
|
|
135
119
|
};
|
|
136
120
|
};
|
|
137
|
-
|
|
138
121
|
var _default = connectAutocomplete;
|
|
139
122
|
exports.default = _default;
|
|
@@ -4,69 +4,51 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _index = require("../../lib/utils/index.js");
|
|
9
|
-
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
13
|
-
|
|
8
|
+
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; }
|
|
9
|
+
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; }
|
|
14
10
|
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; }
|
|
15
|
-
|
|
16
11
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
|
-
|
|
18
12
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
-
|
|
20
13
|
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); }
|
|
21
|
-
|
|
22
14
|
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; }
|
|
23
|
-
|
|
24
|
-
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
25
|
-
|
|
15
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
26
16
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
27
|
-
|
|
28
17
|
var withUsage = (0, _index.createDocumentationMessageGenerator)({
|
|
29
18
|
name: 'breadcrumb',
|
|
30
19
|
connector: true
|
|
31
20
|
});
|
|
32
|
-
|
|
33
21
|
var connectBreadcrumb = function connectBreadcrumb(renderFn) {
|
|
34
22
|
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _index.noop;
|
|
35
23
|
(0, _index.checkRendering)(renderFn, withUsage());
|
|
36
24
|
var connectorState = {};
|
|
37
25
|
return function (widgetParams) {
|
|
38
26
|
var _ref = widgetParams || {},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
27
|
+
attributes = _ref.attributes,
|
|
28
|
+
_ref$separator = _ref.separator,
|
|
29
|
+
separator = _ref$separator === void 0 ? ' > ' : _ref$separator,
|
|
30
|
+
_ref$rootPath = _ref.rootPath,
|
|
31
|
+
rootPath = _ref$rootPath === void 0 ? null : _ref$rootPath,
|
|
32
|
+
_ref$transformItems = _ref.transformItems,
|
|
33
|
+
transformItems = _ref$transformItems === void 0 ? function (items) {
|
|
34
|
+
return items;
|
|
35
|
+
} : _ref$transformItems;
|
|
49
36
|
if (!attributes || !Array.isArray(attributes) || attributes.length === 0) {
|
|
50
37
|
throw new Error(withUsage('The `attributes` option expects an array of strings.'));
|
|
51
38
|
}
|
|
52
|
-
|
|
53
39
|
var _attributes = _slicedToArray(attributes, 1),
|
|
54
|
-
|
|
55
|
-
|
|
40
|
+
hierarchicalFacetName = _attributes[0];
|
|
56
41
|
function getRefinedState(state, facetValue) {
|
|
57
42
|
if (!facetValue) {
|
|
58
43
|
var breadcrumb = state.getHierarchicalFacetBreadcrumb(hierarchicalFacetName);
|
|
59
|
-
|
|
60
44
|
if (breadcrumb.length === 0) {
|
|
61
45
|
return state;
|
|
62
46
|
} else {
|
|
63
47
|
return state.resetPage().toggleFacetRefinement(hierarchicalFacetName, breadcrumb[0]);
|
|
64
48
|
}
|
|
65
49
|
}
|
|
66
|
-
|
|
67
50
|
return state.resetPage().toggleFacetRefinement(hierarchicalFacetName, facetValue);
|
|
68
51
|
}
|
|
69
|
-
|
|
70
52
|
return {
|
|
71
53
|
$$type: 'ais.breadcrumb',
|
|
72
54
|
init: function init(initOptions) {
|
|
@@ -89,10 +71,9 @@ var connectBreadcrumb = function connectBreadcrumb(renderFn) {
|
|
|
89
71
|
},
|
|
90
72
|
getWidgetRenderState: function getWidgetRenderState(_ref2) {
|
|
91
73
|
var helper = _ref2.helper,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
74
|
+
createURL = _ref2.createURL,
|
|
75
|
+
results = _ref2.results,
|
|
76
|
+
state = _ref2.state;
|
|
96
77
|
function getItems() {
|
|
97
78
|
// The hierarchicalFacets condition is required for flavors
|
|
98
79
|
// that render immediately with empty results, without relying
|
|
@@ -100,10 +81,8 @@ var connectBreadcrumb = function connectBreadcrumb(renderFn) {
|
|
|
100
81
|
if (!results || state.hierarchicalFacets.length === 0) {
|
|
101
82
|
return [];
|
|
102
83
|
}
|
|
103
|
-
|
|
104
84
|
var _state$hierarchicalFa = _slicedToArray(state.hierarchicalFacets, 1),
|
|
105
|
-
|
|
106
|
-
|
|
85
|
+
facetName = _state$hierarchicalFa[0].name;
|
|
107
86
|
var facetValues = results.getFacetValues(facetName, {});
|
|
108
87
|
var data = Array.isArray(facetValues.data) ? facetValues.data : [];
|
|
109
88
|
var items = transformItems(shiftItemsValues(prepareItems(data)), {
|
|
@@ -111,21 +90,17 @@ var connectBreadcrumb = function connectBreadcrumb(renderFn) {
|
|
|
111
90
|
});
|
|
112
91
|
return items;
|
|
113
92
|
}
|
|
114
|
-
|
|
115
93
|
var items = getItems();
|
|
116
|
-
|
|
117
94
|
if (!connectorState.createURL) {
|
|
118
95
|
connectorState.createURL = function (facetValue) {
|
|
119
96
|
return createURL(getRefinedState(helper.state, facetValue));
|
|
120
97
|
};
|
|
121
98
|
}
|
|
122
|
-
|
|
123
99
|
if (!connectorState.refine) {
|
|
124
100
|
connectorState.refine = function (facetValue) {
|
|
125
101
|
helper.setState(getRefinedState(helper.state, facetValue)).search();
|
|
126
102
|
};
|
|
127
103
|
}
|
|
128
|
-
|
|
129
104
|
return {
|
|
130
105
|
canRefine: items.length > 0,
|
|
131
106
|
createURL: connectorState.createURL,
|
|
@@ -140,7 +115,6 @@ var connectBreadcrumb = function connectBreadcrumb(renderFn) {
|
|
|
140
115
|
process.env.NODE_ENV === 'development' ? (0, _index.warning)((0, _index.isEqual)(facet.attributes, attributes) && facet.separator === separator && facet.rootPath === rootPath, 'Using Breadcrumb and HierarchicalMenu on the same facet with different options overrides the configuration of the HierarchicalMenu.') : void 0;
|
|
141
116
|
return searchParameters;
|
|
142
117
|
}
|
|
143
|
-
|
|
144
118
|
return searchParameters.addHierarchicalFacet({
|
|
145
119
|
name: hierarchicalFacetName,
|
|
146
120
|
attributes: attributes,
|
|
@@ -151,7 +125,6 @@ var connectBreadcrumb = function connectBreadcrumb(renderFn) {
|
|
|
151
125
|
};
|
|
152
126
|
};
|
|
153
127
|
};
|
|
154
|
-
|
|
155
128
|
function prepareItems(data) {
|
|
156
129
|
return data.reduce(function (result, currentItem) {
|
|
157
130
|
if (currentItem.isRefined) {
|
|
@@ -159,16 +132,13 @@ function prepareItems(data) {
|
|
|
159
132
|
label: currentItem.name,
|
|
160
133
|
value: currentItem.escapedValue
|
|
161
134
|
});
|
|
162
|
-
|
|
163
135
|
if (Array.isArray(currentItem.data)) {
|
|
164
136
|
result = result.concat(prepareItems(currentItem.data));
|
|
165
137
|
}
|
|
166
138
|
}
|
|
167
|
-
|
|
168
139
|
return result;
|
|
169
140
|
}, []);
|
|
170
141
|
}
|
|
171
|
-
|
|
172
142
|
function shiftItemsValues(array) {
|
|
173
143
|
return array.map(function (x, idx) {
|
|
174
144
|
return {
|
|
@@ -177,6 +147,5 @@ function shiftItemsValues(array) {
|
|
|
177
147
|
};
|
|
178
148
|
});
|
|
179
149
|
}
|
|
180
|
-
|
|
181
150
|
var _default = connectBreadcrumb;
|
|
182
151
|
exports.default = _default;
|
|
@@ -4,50 +4,36 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _index = require("../../lib/utils/index.js");
|
|
9
|
-
|
|
10
8
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
11
|
-
|
|
12
9
|
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."); }
|
|
13
|
-
|
|
14
10
|
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); }
|
|
15
|
-
|
|
16
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
17
|
-
|
|
11
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
18
12
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
19
|
-
|
|
20
13
|
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; }
|
|
21
|
-
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
25
|
-
|
|
14
|
+
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; }
|
|
15
|
+
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; }
|
|
26
16
|
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; }
|
|
27
|
-
|
|
28
17
|
var withUsage = (0, _index.createDocumentationMessageGenerator)({
|
|
29
18
|
name: 'clear-refinements',
|
|
30
19
|
connector: true
|
|
31
20
|
});
|
|
32
|
-
|
|
33
21
|
var connectClearRefinements = function connectClearRefinements(renderFn) {
|
|
34
22
|
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _index.noop;
|
|
35
23
|
(0, _index.checkRendering)(renderFn, withUsage());
|
|
36
24
|
return function (widgetParams) {
|
|
37
25
|
var _ref = widgetParams || {},
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
26
|
+
_ref$includedAttribut = _ref.includedAttributes,
|
|
27
|
+
includedAttributes = _ref$includedAttribut === void 0 ? [] : _ref$includedAttribut,
|
|
28
|
+
_ref$excludedAttribut = _ref.excludedAttributes,
|
|
29
|
+
excludedAttributes = _ref$excludedAttribut === void 0 ? ['query'] : _ref$excludedAttribut,
|
|
30
|
+
_ref$transformItems = _ref.transformItems,
|
|
31
|
+
transformItems = _ref$transformItems === void 0 ? function (items) {
|
|
32
|
+
return items;
|
|
33
|
+
} : _ref$transformItems;
|
|
47
34
|
if (widgetParams && widgetParams.includedAttributes && widgetParams.excludedAttributes) {
|
|
48
35
|
throw new Error(withUsage('The options `includedAttributes` and `excludedAttributes` cannot be used together.'));
|
|
49
36
|
}
|
|
50
|
-
|
|
51
37
|
var connectorState = {
|
|
52
38
|
refine: _index.noop,
|
|
53
39
|
createURL: function createURL() {
|
|
@@ -55,15 +41,12 @@ var connectClearRefinements = function connectClearRefinements(renderFn) {
|
|
|
55
41
|
},
|
|
56
42
|
attributesToClear: []
|
|
57
43
|
};
|
|
58
|
-
|
|
59
44
|
var cachedRefine = function cachedRefine() {
|
|
60
45
|
return connectorState.refine();
|
|
61
46
|
};
|
|
62
|
-
|
|
63
47
|
var cachedCreateURL = function cachedCreateURL() {
|
|
64
48
|
return connectorState.createURL();
|
|
65
49
|
};
|
|
66
|
-
|
|
67
50
|
return {
|
|
68
51
|
$$type: 'ais.clearRefinements',
|
|
69
52
|
init: function init(initOptions) {
|
|
@@ -88,8 +71,8 @@ var connectClearRefinements = function connectClearRefinements(renderFn) {
|
|
|
88
71
|
},
|
|
89
72
|
getWidgetRenderState: function getWidgetRenderState(_ref2) {
|
|
90
73
|
var createURL = _ref2.createURL,
|
|
91
|
-
|
|
92
|
-
|
|
74
|
+
scopedResults = _ref2.scopedResults,
|
|
75
|
+
results = _ref2.results;
|
|
93
76
|
connectorState.attributesToClear = scopedResults.reduce(function (attributesToClear, scopedResult) {
|
|
94
77
|
return attributesToClear.concat(getAttributesToClear({
|
|
95
78
|
scopedResult: scopedResult,
|
|
@@ -99,29 +82,26 @@ var connectClearRefinements = function connectClearRefinements(renderFn) {
|
|
|
99
82
|
results: results
|
|
100
83
|
}));
|
|
101
84
|
}, []);
|
|
102
|
-
|
|
103
85
|
connectorState.refine = function () {
|
|
104
86
|
connectorState.attributesToClear.forEach(function (_ref3) {
|
|
105
87
|
var indexHelper = _ref3.helper,
|
|
106
|
-
|
|
88
|
+
items = _ref3.items;
|
|
107
89
|
indexHelper.setState((0, _index.clearRefinements)({
|
|
108
90
|
helper: indexHelper,
|
|
109
91
|
attributesToClear: items
|
|
110
92
|
})).search();
|
|
111
93
|
});
|
|
112
94
|
};
|
|
113
|
-
|
|
114
95
|
connectorState.createURL = function () {
|
|
115
96
|
return createURL(_index.mergeSearchParameters.apply(void 0, _toConsumableArray(connectorState.attributesToClear.map(function (_ref4) {
|
|
116
97
|
var indexHelper = _ref4.helper,
|
|
117
|
-
|
|
98
|
+
items = _ref4.items;
|
|
118
99
|
return (0, _index.clearRefinements)({
|
|
119
100
|
helper: indexHelper,
|
|
120
101
|
attributesToClear: items
|
|
121
102
|
});
|
|
122
103
|
}))));
|
|
123
104
|
};
|
|
124
|
-
|
|
125
105
|
var canRefine = connectorState.attributesToClear.some(function (attributeToClear) {
|
|
126
106
|
return attributeToClear.items.length > 0;
|
|
127
107
|
});
|
|
@@ -136,26 +116,29 @@ var connectClearRefinements = function connectClearRefinements(renderFn) {
|
|
|
136
116
|
};
|
|
137
117
|
};
|
|
138
118
|
};
|
|
139
|
-
|
|
140
119
|
function getAttributesToClear(_ref5) {
|
|
141
120
|
var scopedResult = _ref5.scopedResult,
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
121
|
+
includedAttributes = _ref5.includedAttributes,
|
|
122
|
+
excludedAttributes = _ref5.excludedAttributes,
|
|
123
|
+
transformItems = _ref5.transformItems,
|
|
124
|
+
results = _ref5.results;
|
|
146
125
|
var includesQuery = includedAttributes.indexOf('query') !== -1 || excludedAttributes.indexOf('query') === -1;
|
|
147
126
|
return {
|
|
148
127
|
helper: scopedResult.helper,
|
|
149
128
|
items: transformItems((0, _index.uniq)((0, _index.getRefinements)(scopedResult.results, scopedResult.helper.state, includesQuery).map(function (refinement) {
|
|
150
129
|
return refinement.attribute;
|
|
151
130
|
}).filter(function (attribute) {
|
|
152
|
-
return (
|
|
153
|
-
|
|
131
|
+
return (
|
|
132
|
+
// If the array is empty (default case), we keep all the attributes
|
|
133
|
+
includedAttributes.length === 0 ||
|
|
134
|
+
// Otherwise, only add the specified attributes
|
|
154
135
|
includedAttributes.indexOf(attribute) !== -1
|
|
155
136
|
);
|
|
156
137
|
}).filter(function (attribute) {
|
|
157
|
-
return (
|
|
158
|
-
|
|
138
|
+
return (
|
|
139
|
+
// If the query is included, we ignore the default `excludedAttributes = ['query']`
|
|
140
|
+
attribute === 'query' && includesQuery ||
|
|
141
|
+
// Otherwise, ignore the excluded attributes
|
|
159
142
|
excludedAttributes.indexOf(attribute) === -1
|
|
160
143
|
);
|
|
161
144
|
})), {
|
|
@@ -163,6 +146,5 @@ function getAttributesToClear(_ref5) {
|
|
|
163
146
|
})
|
|
164
147
|
};
|
|
165
148
|
}
|
|
166
|
-
|
|
167
149
|
var _default = connectClearRefinements;
|
|
168
150
|
exports.default = _default;
|
|
@@ -4,24 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _algoliasearchHelper = _interopRequireDefault(require("algoliasearch-helper"));
|
|
9
|
-
|
|
10
8
|
var _index = require("../../lib/utils/index.js");
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
function
|
|
15
|
-
|
|
16
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
17
|
-
|
|
10
|
+
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; }
|
|
11
|
+
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; }
|
|
18
12
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
-
|
|
20
13
|
var withUsage = (0, _index.createDocumentationMessageGenerator)({
|
|
21
14
|
name: 'configure',
|
|
22
15
|
connector: true
|
|
23
16
|
});
|
|
24
|
-
|
|
25
17
|
function getInitialSearchParameters(state, widgetParams) {
|
|
26
18
|
// We leverage the helper internals to remove the `widgetParams` from
|
|
27
19
|
// the state. The function `setQueryParameters` omits the values that
|
|
@@ -30,7 +22,6 @@ function getInitialSearchParameters(state, widgetParams) {
|
|
|
30
22
|
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, undefined));
|
|
31
23
|
}, {}));
|
|
32
24
|
}
|
|
33
|
-
|
|
34
25
|
var connectConfigure = function connectConfigure() {
|
|
35
26
|
var renderFn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _index.noop;
|
|
36
27
|
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _index.noop;
|
|
@@ -38,21 +29,20 @@ var connectConfigure = function connectConfigure() {
|
|
|
38
29
|
if (!widgetParams || !(0, _index.isPlainObject)(widgetParams.searchParameters)) {
|
|
39
30
|
throw new Error(withUsage('The `searchParameters` option expects an object.'));
|
|
40
31
|
}
|
|
41
|
-
|
|
42
32
|
var connectorState = {};
|
|
43
|
-
|
|
44
33
|
function refine(helper) {
|
|
45
34
|
return function (searchParameters) {
|
|
46
35
|
// Merge new `searchParameters` with the ones set from other widgets
|
|
47
36
|
var actualState = getInitialSearchParameters(helper.state, widgetParams);
|
|
48
|
-
var nextSearchParameters = (0, _index.mergeSearchParameters)(actualState, new _algoliasearchHelper.default.SearchParameters(searchParameters));
|
|
37
|
+
var nextSearchParameters = (0, _index.mergeSearchParameters)(actualState, new _algoliasearchHelper.default.SearchParameters(searchParameters));
|
|
49
38
|
|
|
50
|
-
|
|
39
|
+
// Update original `widgetParams.searchParameters` to the new refined one
|
|
40
|
+
widgetParams.searchParameters = searchParameters;
|
|
51
41
|
|
|
42
|
+
// Trigger a search with the resolved search parameters
|
|
52
43
|
helper.setState(nextSearchParameters).search();
|
|
53
44
|
};
|
|
54
45
|
}
|
|
55
|
-
|
|
56
46
|
return {
|
|
57
47
|
$$type: 'ais.configure',
|
|
58
48
|
init: function init(initOptions) {
|
|
@@ -74,7 +64,6 @@ var connectConfigure = function connectConfigure() {
|
|
|
74
64
|
},
|
|
75
65
|
getRenderState: function getRenderState(renderState, renderOptions) {
|
|
76
66
|
var _renderState$configur;
|
|
77
|
-
|
|
78
67
|
var widgetRenderState = this.getWidgetRenderState(renderOptions);
|
|
79
68
|
return _objectSpread(_objectSpread({}, renderState), {}, {
|
|
80
69
|
configure: _objectSpread(_objectSpread({}, widgetRenderState), {}, {
|
|
@@ -86,11 +75,9 @@ var connectConfigure = function connectConfigure() {
|
|
|
86
75
|
},
|
|
87
76
|
getWidgetRenderState: function getWidgetRenderState(_ref2) {
|
|
88
77
|
var helper = _ref2.helper;
|
|
89
|
-
|
|
90
78
|
if (!connectorState.refine) {
|
|
91
79
|
connectorState.refine = refine(helper);
|
|
92
80
|
}
|
|
93
|
-
|
|
94
81
|
return {
|
|
95
82
|
refine: connectorState.refine,
|
|
96
83
|
widgetParams: widgetParams
|
|
@@ -108,6 +95,5 @@ var connectConfigure = function connectConfigure() {
|
|
|
108
95
|
};
|
|
109
96
|
};
|
|
110
97
|
};
|
|
111
|
-
|
|
112
98
|
var _default = connectConfigure;
|
|
113
99
|
exports.default = _default;
|
|
@@ -4,68 +4,48 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _algoliasearchHelper = _interopRequireDefault(require("algoliasearch-helper"));
|
|
9
|
-
|
|
10
8
|
var _index = require("../../lib/utils/index.js");
|
|
11
|
-
|
|
12
9
|
var _connectConfigure = _interopRequireDefault(require("../configure/connectConfigure.js"));
|
|
13
|
-
|
|
14
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
19
|
-
|
|
11
|
+
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; }
|
|
12
|
+
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; }
|
|
20
13
|
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; }
|
|
21
|
-
|
|
22
14
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
23
|
-
|
|
24
15
|
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."); }
|
|
25
|
-
|
|
26
16
|
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); }
|
|
27
|
-
|
|
28
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
29
|
-
|
|
17
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
30
18
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
31
|
-
|
|
32
19
|
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; }
|
|
33
|
-
|
|
34
20
|
var withUsage = (0, _index.createDocumentationMessageGenerator)({
|
|
35
21
|
name: 'configure-related-items',
|
|
36
22
|
connector: true
|
|
37
23
|
});
|
|
38
|
-
|
|
39
24
|
function createOptionalFilter(_ref) {
|
|
40
25
|
var attributeName = _ref.attributeName,
|
|
41
|
-
|
|
42
|
-
|
|
26
|
+
attributeValue = _ref.attributeValue,
|
|
27
|
+
attributeScore = _ref.attributeScore;
|
|
43
28
|
return "".concat(attributeName, ":").concat(attributeValue, "<score=").concat(attributeScore || 1, ">");
|
|
44
29
|
}
|
|
45
|
-
|
|
46
30
|
var connectConfigureRelatedItems = function connectConfigureRelatedItems(renderFn, unmountFn) {
|
|
47
31
|
return function (widgetParams) {
|
|
48
32
|
var _ref2 = widgetParams || {},
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
33
|
+
hit = _ref2.hit,
|
|
34
|
+
matchingPatterns = _ref2.matchingPatterns,
|
|
35
|
+
_ref2$transformSearch = _ref2.transformSearchParameters,
|
|
36
|
+
transformSearchParameters = _ref2$transformSearch === void 0 ? function (x) {
|
|
37
|
+
return x;
|
|
38
|
+
} : _ref2$transformSearch;
|
|
56
39
|
if (!hit) {
|
|
57
40
|
throw new Error(withUsage('The `hit` option is required.'));
|
|
58
41
|
}
|
|
59
|
-
|
|
60
42
|
if (!matchingPatterns) {
|
|
61
43
|
throw new Error(withUsage('The `matchingPatterns` option is required.'));
|
|
62
44
|
}
|
|
63
|
-
|
|
64
45
|
var optionalFilters = Object.keys(matchingPatterns).reduce(function (acc, attributeName) {
|
|
65
46
|
var attribute = matchingPatterns[attributeName];
|
|
66
47
|
var attributeValue = (0, _index.getPropertyByPath)(hit, attributeName);
|
|
67
48
|
var attributeScore = attribute.score;
|
|
68
|
-
|
|
69
49
|
if (Array.isArray(attributeValue)) {
|
|
70
50
|
return [].concat(_toConsumableArray(acc), [attributeValue.map(function (attributeSubValue) {
|
|
71
51
|
return createOptionalFilter({
|
|
@@ -75,7 +55,6 @@ var connectConfigureRelatedItems = function connectConfigureRelatedItems(renderF
|
|
|
75
55
|
});
|
|
76
56
|
})]);
|
|
77
57
|
}
|
|
78
|
-
|
|
79
58
|
if (typeof attributeValue === 'string') {
|
|
80
59
|
return [].concat(_toConsumableArray(acc), [createOptionalFilter({
|
|
81
60
|
attributeName: attributeName,
|
|
@@ -83,17 +62,14 @@ var connectConfigureRelatedItems = function connectConfigureRelatedItems(renderF
|
|
|
83
62
|
attributeScore: attributeScore
|
|
84
63
|
})]);
|
|
85
64
|
}
|
|
86
|
-
|
|
87
65
|
process.env.NODE_ENV === 'development' ? (0, _index.warning)(false, "\nThe `matchingPatterns` option returned a value of type ".concat((0, _index.getObjectType)(attributeValue), " for the \"").concat(attributeName, "\" key. This value was not sent to Algolia because `optionalFilters` only supports strings and array of strings.\n\nYou can remove the \"").concat(attributeName, "\" key from the `matchingPatterns` option.\n\nSee https://www.algolia.com/doc/api-reference/api-parameters/optionalFilters/\n ")) : void 0;
|
|
88
66
|
return acc;
|
|
89
67
|
}, []);
|
|
90
|
-
|
|
91
68
|
var searchParameters = _objectSpread({}, transformSearchParameters(new _algoliasearchHelper.default.SearchParameters({
|
|
92
69
|
sumOrFiltersScores: true,
|
|
93
70
|
facetFilters: ["objectID:-".concat(hit.objectID)],
|
|
94
71
|
optionalFilters: optionalFilters
|
|
95
72
|
})));
|
|
96
|
-
|
|
97
73
|
var makeWidget = (0, _connectConfigure.default)(renderFn, unmountFn);
|
|
98
74
|
return _objectSpread(_objectSpread({}, makeWidget({
|
|
99
75
|
searchParameters: searchParameters
|
|
@@ -102,6 +78,5 @@ var connectConfigureRelatedItems = function connectConfigureRelatedItems(renderF
|
|
|
102
78
|
});
|
|
103
79
|
};
|
|
104
80
|
};
|
|
105
|
-
|
|
106
81
|
var _default = connectConfigureRelatedItems;
|
|
107
82
|
exports.default = _default;
|