instantsearch.js 4.49.1 → 4.49.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/cjs/components/Answers/Answers.js +6 -16
- package/cjs/components/Breadcrumb/Breadcrumb.js +5 -12
- package/cjs/components/ClearRefinements/ClearRefinements.js +4 -11
- package/cjs/components/CurrentRefinements/CurrentRefinements.js +5 -12
- package/cjs/components/GeoSearchControls/GeoSearchButton.js +4 -6
- package/cjs/components/GeoSearchControls/GeoSearchControls.js +11 -20
- package/cjs/components/GeoSearchControls/GeoSearchToggle.js +4 -6
- package/cjs/components/Highlight/Highlight.js +3 -11
- package/cjs/components/Hits/Hits.js +8 -20
- package/cjs/components/InfiniteHits/InfiniteHits.js +13 -25
- package/cjs/components/InternalHighlight/InternalHighlight.js +0 -3
- package/cjs/components/MenuSelect/MenuSelect.js +9 -19
- package/cjs/components/Pagination/Pagination.js +10 -17
- package/cjs/components/Panel/Panel.js +7 -26
- package/cjs/components/PoweredBy/PoweredBy.js +4 -5
- package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +2 -6
- package/cjs/components/RangeInput/RangeInput.js +16 -48
- package/cjs/components/RefinementList/RefinementList.js +19 -73
- package/cjs/components/RefinementList/RefinementListItem.js +8 -14
- package/cjs/components/RelevantSort/RelevantSort.js +4 -8
- package/cjs/components/ReverseHighlight/ReverseHighlight.js +3 -11
- package/cjs/components/ReverseSnippet/ReverseSnippet.js +3 -11
- package/cjs/components/SearchBox/SearchBox.js +25 -69
- package/cjs/components/Selector/Selector.js +3 -6
- package/cjs/components/Slider/Pit.js +3 -10
- package/cjs/components/Slider/Rheostat.js +63 -131
- package/cjs/components/Slider/Slider.js +28 -65
- package/cjs/components/Snippet/Snippet.js +3 -11
- package/cjs/components/Stats/Stats.js +7 -20
- package/cjs/components/Template/Template.js +8 -37
- package/cjs/components/ToggleRefinement/ToggleRefinement.js +4 -10
- package/cjs/components/VoiceSearch/VoiceSearch.js +8 -15
- package/cjs/connectors/answers/connectAnswers.js +21 -36
- package/cjs/connectors/autocomplete/connectAutocomplete.js +8 -25
- package/cjs/connectors/breadcrumb/connectBreadcrumb.js +17 -48
- package/cjs/connectors/clear-refinements/connectClearRefinements.js +27 -45
- package/cjs/connectors/configure/connectConfigure.js +6 -20
- package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +11 -36
- package/cjs/connectors/current-refinements/connectCurrentRefinements.js +18 -57
- package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +17 -37
- package/cjs/connectors/geo-search/connectGeoSearch.js +17 -47
- package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +38 -74
- package/cjs/connectors/hits/connectHits.js +10 -26
- package/cjs/connectors/hits/connectHitsWithInsights.js +0 -4
- package/cjs/connectors/hits-per-page/connectHitsPerPage.js +15 -38
- package/cjs/connectors/index.js +62 -96
- package/cjs/connectors/infinite-hits/connectInfiniteHits.js +26 -62
- package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +0 -4
- package/cjs/connectors/menu/connectMenu.js +28 -66
- package/cjs/connectors/numeric-menu/connectNumericMenu.js +24 -78
- package/cjs/connectors/pagination/Paginator.js +3 -20
- package/cjs/connectors/pagination/connectPagination.js +8 -25
- package/cjs/connectors/powered-by/connectPoweredBy.js +4 -13
- package/cjs/connectors/query-rules/connectQueryRules.js +32 -56
- package/cjs/connectors/range/connectRange.js +41 -101
- package/cjs/connectors/rating-menu/connectRatingMenu.js +23 -79
- package/cjs/connectors/refinement-list/connectRefinementList.js +37 -70
- package/cjs/connectors/relevant-sort/connectRelevantSort.js +4 -14
- package/cjs/connectors/search-box/connectSearchBox.js +7 -23
- package/cjs/connectors/sort-by/connectSortBy.js +11 -21
- package/cjs/connectors/stats/connectStats.js +4 -11
- package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +29 -63
- package/cjs/connectors/voice-search/connectVoiceSearch.js +13 -35
- package/cjs/helpers/components/Highlight.js +4 -12
- package/cjs/helpers/components/ReverseHighlight.js +7 -19
- package/cjs/helpers/components/ReverseSnippet.js +7 -19
- package/cjs/helpers/components/Snippet.js +4 -12
- package/cjs/helpers/components/index.js +0 -8
- package/cjs/helpers/get-insights-anonymous-user-token.js +4 -15
- package/cjs/helpers/highlight.js +10 -16
- package/cjs/helpers/index.js +17 -31
- package/cjs/helpers/insights.js +5 -17
- package/cjs/helpers/reverseHighlight.js +10 -16
- package/cjs/helpers/reverseSnippet.js +10 -16
- package/cjs/helpers/snippet.js +10 -16
- package/cjs/index.js +3 -18
- package/cjs/lib/InstantSearch.js +79 -180
- package/cjs/lib/createHelpers.js +4 -11
- package/cjs/lib/formatNumber.js +0 -1
- package/cjs/lib/infiniteHitsCache/index.js +0 -2
- package/cjs/lib/infiniteHitsCache/sessionStorage.js +9 -18
- package/cjs/lib/insights/client.js +8 -34
- package/cjs/lib/insights/index.js +7 -13
- package/cjs/lib/insights/listener.js +4 -20
- package/cjs/lib/routers/history.js +63 -102
- package/cjs/lib/routers/index.js +0 -2
- package/cjs/lib/stateMappings/index.js +0 -3
- package/cjs/lib/stateMappings/simple.js +6 -13
- package/cjs/lib/stateMappings/singleIndex.js +1 -7
- package/cjs/lib/suit.js +2 -5
- package/cjs/lib/templating/index.js +0 -4
- package/cjs/lib/templating/prepareTemplateProps.js +8 -19
- package/cjs/lib/templating/renderTemplate.js +9 -24
- package/cjs/lib/utils/capitalize.js +0 -1
- package/cjs/lib/utils/checkIndexUiState.js +15 -43
- package/cjs/lib/utils/checkRendering.js +0 -2
- package/cjs/lib/utils/clearRefinements.js +2 -9
- package/cjs/lib/utils/concatHighlightedParts.js +1 -3
- package/cjs/lib/utils/createConcurrentSafePromise.js +0 -3
- package/cjs/lib/utils/createSendEventForFacet.js +7 -14
- package/cjs/lib/utils/createSendEventForHits.js +9 -33
- package/cjs/lib/utils/debounce.js +0 -3
- package/cjs/lib/utils/defer.js +0 -11
- package/cjs/lib/utils/detect-insights-client.js +0 -2
- package/cjs/lib/utils/documentation.js +2 -5
- package/cjs/lib/utils/escape-highlight.js +5 -22
- package/cjs/lib/utils/escape-html.js +9 -7
- package/cjs/lib/utils/escapeFacetValue.js +1 -5
- package/cjs/lib/utils/find.js +2 -5
- package/cjs/lib/utils/findIndex.js +0 -3
- package/cjs/lib/utils/geo-search.js +14 -34
- package/cjs/lib/utils/getAppIdAndApiKey.js +2 -3
- package/cjs/lib/utils/getContainerNode.js +0 -6
- package/cjs/lib/utils/getHighlightFromSiblings.js +0 -6
- package/cjs/lib/utils/getHighlightedParts.js +1 -4
- package/cjs/lib/utils/getObjectType.js +0 -1
- package/cjs/lib/utils/getPropertyByPath.js +0 -1
- package/cjs/lib/utils/getRefinements.js +13 -26
- package/cjs/lib/utils/getWidgetAttribute.js +0 -6
- package/cjs/lib/utils/hits-absolute-position.js +2 -6
- package/cjs/lib/utils/hits-query-id.js +2 -7
- package/cjs/lib/utils/index.js +0 -92
- package/cjs/lib/utils/isDomElement.js +0 -1
- package/cjs/lib/utils/isEqual.js +0 -8
- package/cjs/lib/utils/isFacetRefined.js +0 -1
- package/cjs/lib/utils/isFiniteNumber.js +0 -1
- package/cjs/lib/utils/isIndexWidget.js +0 -1
- package/cjs/lib/utils/isPlainObject.js +3 -11
- package/cjs/lib/utils/isSpecialClick.js +0 -1
- package/cjs/lib/utils/logger.js +3 -13
- package/cjs/lib/utils/mergeSearchParameters.js +16 -40
- package/cjs/lib/utils/noop.js +0 -1
- package/cjs/lib/utils/range.js +8 -14
- package/cjs/lib/utils/render-args.js +0 -2
- package/cjs/lib/utils/resolveSearchParameters.js +0 -3
- package/cjs/lib/utils/reverseHighlightedParts.js +2 -8
- package/cjs/lib/utils/safelyRunOnBrowser.js +7 -9
- package/cjs/lib/utils/serializer.js +1 -3
- package/cjs/lib/utils/setIndexHelperState.js +0 -5
- package/cjs/lib/utils/toArray.js +0 -1
- package/cjs/lib/utils/typedObject.js +0 -1
- package/cjs/lib/utils/uniq.js +0 -1
- package/cjs/lib/version.js +1 -1
- package/cjs/lib/voiceSearchHelper/index.js +8 -36
- package/cjs/middlewares/createInsightsMiddleware.js +15 -44
- package/cjs/middlewares/createMetadataMiddleware.js +4 -12
- package/cjs/middlewares/createRouterMiddleware.js +8 -19
- package/cjs/middlewares/index.js +0 -6
- package/cjs/types/algoliasearch.js +0 -2
- package/cjs/types/index.js +0 -28
- package/cjs/widgets/analytics/analytics.js +12 -47
- package/cjs/widgets/answers/answers.js +19 -39
- package/cjs/widgets/breadcrumb/breadcrumb.js +18 -38
- package/cjs/widgets/clear-refinements/clear-refinements.js +15 -35
- package/cjs/widgets/configure/configure.js +2 -10
- package/cjs/widgets/configure-related-items/configure-related-items.js +2 -10
- package/cjs/widgets/current-refinements/current-refinements.js +12 -30
- package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +6 -25
- package/cjs/widgets/geo-search/GeoSearchRenderer.js +41 -68
- package/cjs/widgets/geo-search/createHTMLMarker.js +30 -60
- package/cjs/widgets/geo-search/defaultTemplates.js +0 -3
- package/cjs/widgets/geo-search/geo-search.js +27 -59
- package/cjs/widgets/hierarchical-menu/defaultTemplates.js +4 -7
- package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +28 -47
- package/cjs/widgets/hits/hits.js +16 -37
- package/cjs/widgets/hits-per-page/hits-per-page.js +13 -31
- package/cjs/widgets/index/index.js +49 -95
- package/cjs/widgets/index.js +12 -50
- package/cjs/widgets/infinite-hits/infinite-hits.js +23 -44
- package/cjs/widgets/menu/defaultTemplates.js +3 -6
- package/cjs/widgets/menu/menu.js +23 -43
- package/cjs/widgets/menu-select/defaultTemplates.js +1 -3
- package/cjs/widgets/menu-select/menu-select.js +18 -38
- package/cjs/widgets/numeric-menu/defaultTemplates.js +3 -4
- package/cjs/widgets/numeric-menu/numeric-menu.js +17 -37
- package/cjs/widgets/pagination/pagination.js +32 -53
- package/cjs/widgets/panel/panel.js +20 -48
- package/cjs/widgets/places/places.js +16 -33
- package/cjs/widgets/powered-by/powered-by.js +10 -27
- package/cjs/widgets/query-rule-context/query-rule-context.js +2 -13
- package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +14 -32
- package/cjs/widgets/range-input/range-input.js +23 -50
- package/cjs/widgets/range-slider/range-slider.js +28 -53
- package/cjs/widgets/rating-menu/defaultTemplates.js +8 -14
- package/cjs/widgets/rating-menu/rating-menu.js +17 -38
- package/cjs/widgets/refinement-list/defaultTemplates.js +5 -8
- package/cjs/widgets/refinement-list/refinement-list.js +39 -60
- package/cjs/widgets/relevant-sort/relevant-sort.js +10 -29
- package/cjs/widgets/search-box/defaultTemplates.js +0 -5
- package/cjs/widgets/search-box/search-box.js +31 -49
- package/cjs/widgets/sort-by/sort-by.js +11 -29
- package/cjs/widgets/stats/defaultTemplates.js +0 -1
- package/cjs/widgets/stats/stats.js +27 -57
- package/cjs/widgets/toggle-refinement/toggle-refinement.js +16 -36
- package/cjs/widgets/voice-search/defaultTemplates.js +4 -14
- package/cjs/widgets/voice-search/voice-search.js +17 -36
- package/dist/instantsearch.development.d.ts +8 -6
- package/dist/instantsearch.development.js +1722 -3088
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +8 -6
- package/dist/instantsearch.production.min.d.ts +8 -6
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/components/Answers/Answers.js +6 -11
- package/es/components/Breadcrumb/Breadcrumb.js +5 -7
- package/es/components/ClearRefinements/ClearRefinements.js +4 -6
- package/es/components/CurrentRefinements/CurrentRefinements.js +7 -10
- package/es/components/GeoSearchControls/GeoSearchButton.js +6 -6
- package/es/components/GeoSearchControls/GeoSearchControls.js +11 -13
- package/es/components/GeoSearchControls/GeoSearchToggle.js +6 -6
- package/es/components/Highlight/Highlight.js +3 -7
- package/es/components/Hits/Hits.js +8 -15
- package/es/components/InfiniteHits/InfiniteHits.js +13 -20
- package/es/components/MenuSelect/MenuSelect.js +9 -13
- package/es/components/Pagination/Pagination.js +12 -15
- package/es/components/Panel/Panel.js +7 -20
- package/es/components/PoweredBy/PoweredBy.js +6 -5
- package/es/components/QueryRuleCustomData/QueryRuleCustomData.js +4 -4
- package/es/components/RangeInput/RangeInput.js +16 -43
- package/es/components/RefinementList/RefinementList.js +19 -64
- package/es/components/RefinementList/RefinementListItem.js +8 -10
- package/es/components/RelevantSort/RelevantSort.js +6 -6
- package/es/components/ReverseHighlight/ReverseHighlight.js +3 -7
- package/es/components/ReverseSnippet/ReverseSnippet.js +3 -7
- package/es/components/SearchBox/SearchBox.js +25 -63
- package/es/components/Selector/Selector.js +5 -5
- package/es/components/Slider/Pit.js +3 -7
- package/es/components/Slider/Rheostat.js +64 -129
- package/es/components/Slider/Slider.js +28 -58
- package/es/components/Snippet/Snippet.js +3 -7
- package/es/components/Stats/Stats.js +7 -15
- package/es/components/Template/Template.js +8 -32
- package/es/components/ToggleRefinement/ToggleRefinement.js +4 -6
- package/es/components/VoiceSearch/VoiceSearch.js +10 -13
- package/es/connectors/answers/connectAnswers.js +21 -35
- package/es/connectors/autocomplete/connectAutocomplete.js +8 -23
- package/es/connectors/breadcrumb/connectBreadcrumb.js +17 -46
- package/es/connectors/clear-refinements/connectClearRefinements.js +27 -43
- package/es/connectors/configure/connectConfigure.js +7 -16
- package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +11 -31
- package/es/connectors/current-refinements/connectCurrentRefinements.js +18 -55
- package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +17 -35
- package/es/connectors/geo-search/connectGeoSearch.js +17 -45
- package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +38 -72
- package/es/connectors/hits/connectHits.js +10 -24
- package/es/connectors/hits-per-page/connectHitsPerPage.js +15 -36
- package/es/connectors/index.d.ts +2 -1
- package/es/connectors/index.js +6 -3
- package/es/connectors/infinite-hits/connectInfiniteHits.js +26 -60
- package/es/connectors/menu/connectMenu.js +28 -64
- package/es/connectors/numeric-menu/connectNumericMenu.js +24 -76
- package/es/connectors/pagination/Paginator.js +3 -19
- package/es/connectors/pagination/connectPagination.js +8 -21
- package/es/connectors/powered-by/connectPoweredBy.js +4 -11
- package/es/connectors/query-rules/connectQueryRules.js +32 -54
- package/es/connectors/range/connectRange.js +41 -99
- package/es/connectors/rating-menu/connectRatingMenu.js +23 -77
- package/es/connectors/refinement-list/connectRefinementList.js +37 -68
- package/es/connectors/relevant-sort/connectRelevantSort.js +4 -13
- package/es/connectors/search-box/connectSearchBox.js +7 -21
- package/es/connectors/sort-by/connectSortBy.js +11 -19
- package/es/connectors/stats/connectStats.js +4 -9
- package/es/connectors/toggle-refinement/connectToggleRefinement.js +29 -61
- package/es/connectors/voice-search/connectVoiceSearch.js +13 -31
- package/es/helpers/components/Highlight.js +4 -8
- package/es/helpers/components/ReverseHighlight.js +7 -15
- package/es/helpers/components/ReverseSnippet.js +7 -15
- package/es/helpers/components/Snippet.js +4 -8
- package/es/helpers/get-insights-anonymous-user-token.js +2 -10
- package/es/helpers/highlight.js +9 -11
- package/es/helpers/insights.js +3 -10
- package/es/helpers/reverseHighlight.js +9 -11
- package/es/helpers/reverseSnippet.js +9 -11
- package/es/helpers/snippet.js +9 -11
- package/es/index.js +0 -2
- package/es/lib/InstantSearch.js +79 -170
- package/es/lib/createHelpers.js +4 -8
- package/es/lib/infiniteHitsCache/sessionStorage.js +9 -16
- package/es/lib/insights/client.js +8 -32
- package/es/lib/insights/listener.js +6 -18
- package/es/lib/routers/history.js +63 -99
- package/es/lib/stateMappings/simple.js +6 -12
- package/es/lib/stateMappings/singleIndex.js +1 -6
- package/es/lib/suit.js +2 -3
- package/es/lib/templating/prepareTemplateProps.js +8 -18
- package/es/lib/templating/renderTemplate.js +9 -20
- package/es/lib/utils/checkIndexUiState.js +18 -40
- package/es/lib/utils/clearRefinements.js +2 -8
- package/es/lib/utils/concatHighlightedParts.js +1 -1
- package/es/lib/utils/createConcurrentSafePromise.js +0 -2
- package/es/lib/utils/createSendEventForFacet.js +7 -12
- package/es/lib/utils/createSendEventForHits.js +8 -30
- package/es/lib/utils/debounce.js +0 -2
- package/es/lib/utils/defer.js +0 -10
- package/es/lib/utils/documentation.js +2 -3
- package/es/lib/utils/escape-highlight.js +3 -16
- package/es/lib/utils/escape-html.js +9 -5
- package/es/lib/utils/escapeFacetValue.js +0 -2
- package/es/lib/utils/find.js +2 -4
- package/es/lib/utils/findIndex.js +0 -2
- package/es/lib/utils/geo-search.js +14 -32
- package/es/lib/utils/getAppIdAndApiKey.js +2 -2
- package/es/lib/utils/getContainerNode.js +1 -5
- package/es/lib/utils/getHighlightFromSiblings.js +0 -3
- package/es/lib/utils/getHighlightedParts.js +1 -2
- package/es/lib/utils/getRefinements.js +13 -24
- package/es/lib/utils/getWidgetAttribute.js +0 -5
- package/es/lib/utils/hits-absolute-position.js +2 -5
- package/es/lib/utils/hits-query-id.js +2 -6
- package/es/lib/utils/isEqual.js +0 -7
- package/es/lib/utils/isPlainObject.js +3 -10
- package/es/lib/utils/logger.js +2 -12
- package/es/lib/utils/mergeSearchParameters.js +16 -37
- package/es/lib/utils/range.js +8 -13
- package/es/lib/utils/resolveSearchParameters.js +0 -2
- package/es/lib/utils/reverseHighlightedParts.js +2 -6
- package/es/lib/utils/safelyRunOnBrowser.js +7 -8
- package/es/lib/utils/setIndexHelperState.js +0 -2
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/lib/voiceSearchHelper/index.js +8 -35
- package/es/middlewares/createInsightsMiddleware.js +15 -41
- package/es/middlewares/createMetadataMiddleware.js +3 -9
- package/es/middlewares/createRouterMiddleware.js +8 -13
- package/es/types/index.js +9 -5
- package/es/widgets/analytics/analytics.js +12 -45
- package/es/widgets/answers/answers.js +19 -28
- package/es/widgets/breadcrumb/breadcrumb.js +18 -27
- package/es/widgets/clear-refinements/clear-refinements.js +15 -24
- package/es/widgets/configure/configure.js +3 -6
- package/es/widgets/configure-related-items/configure-related-items.js +2 -7
- package/es/widgets/current-refinements/current-refinements.js +12 -21
- package/es/widgets/dynamic-widgets/dynamic-widgets.js +6 -20
- package/es/widgets/geo-search/GeoSearchRenderer.js +41 -63
- package/es/widgets/geo-search/createHTMLMarker.js +30 -59
- package/es/widgets/geo-search/defaultTemplates.js +2 -2
- package/es/widgets/geo-search/geo-search.js +27 -49
- package/es/widgets/hierarchical-menu/defaultTemplates.js +5 -4
- package/es/widgets/hierarchical-menu/hierarchical-menu.js +28 -36
- package/es/widgets/hits/hits.js +16 -25
- package/es/widgets/hits-per-page/hits-per-page.js +13 -22
- package/es/widgets/index/index.js +49 -91
- package/es/widgets/index.d.ts +2 -1
- package/es/widgets/index.js +4 -3
- package/es/widgets/infinite-hits/infinite-hits.js +23 -32
- package/es/widgets/menu/defaultTemplates.js +4 -3
- package/es/widgets/menu/menu.js +23 -32
- package/es/widgets/menu-select/defaultTemplates.js +1 -1
- package/es/widgets/menu-select/menu-select.js +18 -27
- package/es/widgets/numeric-menu/defaultTemplates.js +4 -3
- package/es/widgets/numeric-menu/numeric-menu.js +17 -26
- package/es/widgets/pagination/pagination.js +32 -44
- package/es/widgets/panel/panel.js +20 -40
- package/es/widgets/places/places.js +16 -32
- package/es/widgets/powered-by/powered-by.js +10 -18
- package/es/widgets/query-rule-context/query-rule-context.js +2 -9
- package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +13 -22
- package/es/widgets/range-input/range-input.js +23 -40
- package/es/widgets/range-slider/range-slider.js +28 -44
- package/es/widgets/rating-menu/defaultTemplates.js +9 -12
- package/es/widgets/rating-menu/rating-menu.js +17 -27
- package/es/widgets/refinement-list/defaultTemplates.js +6 -5
- package/es/widgets/refinement-list/refinement-list.js +39 -48
- package/es/widgets/relevant-sort/relevant-sort.js +10 -19
- package/es/widgets/search-box/defaultTemplates.js +1 -4
- package/es/widgets/search-box/search-box.js +31 -39
- package/es/widgets/sort-by/sort-by.js +11 -20
- package/es/widgets/stats/stats.js +26 -45
- package/es/widgets/toggle-refinement/toggle-refinement.js +16 -25
- package/es/widgets/voice-search/defaultTemplates.js +5 -13
- package/es/widgets/voice-search/voice-search.js +17 -26
- package/package.json +20 -119
- package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.input.js +0 -1
- package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.output.js +0 -1
- package/CHANGELOG.md +0 -3693
|
@@ -1,32 +1,20 @@
|
|
|
1
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
2
|
-
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
4
|
-
|
|
1
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
3
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
-
|
|
7
4
|
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
5
|
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
6
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
12
|
-
|
|
13
7
|
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."); }
|
|
14
|
-
|
|
15
8
|
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); }
|
|
16
|
-
|
|
17
9
|
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; }
|
|
18
|
-
|
|
19
|
-
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; }
|
|
20
|
-
|
|
10
|
+
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; }
|
|
21
11
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
22
|
-
|
|
23
12
|
import { checkRendering, warning, createDocumentationMessageGenerator, createSendEventForFacet, isEqual, noop } from "../../lib/utils/index.js";
|
|
24
13
|
var withUsage = createDocumentationMessageGenerator({
|
|
25
14
|
name: 'hierarchical-menu',
|
|
26
15
|
connector: true
|
|
27
16
|
});
|
|
28
17
|
var DEFAULT_SORT = ['name:asc'];
|
|
29
|
-
|
|
30
18
|
/**
|
|
31
19
|
* **HierarchicalMenu** connector provides the logic to build a custom widget
|
|
32
20
|
* that will give the user the ability to explore facets in a tree-like structure.
|
|
@@ -45,86 +33,73 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
45
33
|
checkRendering(renderFn, withUsage());
|
|
46
34
|
return function (widgetParams) {
|
|
47
35
|
var _ref = widgetParams || {},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
36
|
+
attributes = _ref.attributes,
|
|
37
|
+
_ref$separator = _ref.separator,
|
|
38
|
+
separator = _ref$separator === void 0 ? ' > ' : _ref$separator,
|
|
39
|
+
_ref$rootPath = _ref.rootPath,
|
|
40
|
+
rootPath = _ref$rootPath === void 0 ? null : _ref$rootPath,
|
|
41
|
+
_ref$showParentLevel = _ref.showParentLevel,
|
|
42
|
+
showParentLevel = _ref$showParentLevel === void 0 ? true : _ref$showParentLevel,
|
|
43
|
+
_ref$limit = _ref.limit,
|
|
44
|
+
limit = _ref$limit === void 0 ? 10 : _ref$limit,
|
|
45
|
+
_ref$showMore = _ref.showMore,
|
|
46
|
+
showMore = _ref$showMore === void 0 ? false : _ref$showMore,
|
|
47
|
+
_ref$showMoreLimit = _ref.showMoreLimit,
|
|
48
|
+
showMoreLimit = _ref$showMoreLimit === void 0 ? 20 : _ref$showMoreLimit,
|
|
49
|
+
_ref$sortBy = _ref.sortBy,
|
|
50
|
+
sortBy = _ref$sortBy === void 0 ? DEFAULT_SORT : _ref$sortBy,
|
|
51
|
+
_ref$transformItems = _ref.transformItems,
|
|
52
|
+
transformItems = _ref$transformItems === void 0 ? function (items) {
|
|
53
|
+
return items;
|
|
54
|
+
} : _ref$transformItems;
|
|
68
55
|
if (!attributes || !Array.isArray(attributes) || attributes.length === 0) {
|
|
69
56
|
throw new Error(withUsage('The `attributes` option expects an array of strings.'));
|
|
70
57
|
}
|
|
71
|
-
|
|
72
58
|
if (showMore === true && showMoreLimit <= limit) {
|
|
73
59
|
throw new Error(withUsage('The `showMoreLimit` option must be greater than `limit`.'));
|
|
74
60
|
}
|
|
75
|
-
|
|
76
61
|
// we need to provide a hierarchicalFacet name for the search state
|
|
77
62
|
// so that we can always map $hierarchicalFacetName => real attributes
|
|
78
63
|
// we use the first attribute name
|
|
79
64
|
var _attributes = _slicedToArray(attributes, 1),
|
|
80
|
-
|
|
65
|
+
hierarchicalFacetName = _attributes[0];
|
|
66
|
+
var sendEvent;
|
|
81
67
|
|
|
82
|
-
|
|
68
|
+
// Provide the same function to the `renderFn` so that way the user
|
|
83
69
|
// has to only bind it once when `isFirstRendering` for instance
|
|
84
|
-
|
|
85
70
|
var toggleShowMore = function toggleShowMore() {};
|
|
86
|
-
|
|
87
71
|
function cachedToggleShowMore() {
|
|
88
72
|
toggleShowMore();
|
|
89
73
|
}
|
|
90
|
-
|
|
91
74
|
var _refine;
|
|
92
|
-
|
|
93
75
|
var isShowingMore = false;
|
|
94
|
-
|
|
95
76
|
function createToggleShowMore(renderOptions, widget) {
|
|
96
77
|
return function () {
|
|
97
78
|
isShowingMore = !isShowingMore;
|
|
98
79
|
widget.render(renderOptions);
|
|
99
80
|
};
|
|
100
81
|
}
|
|
101
|
-
|
|
102
82
|
function getLimit() {
|
|
103
83
|
return isShowingMore ? showMoreLimit : limit;
|
|
104
84
|
}
|
|
105
|
-
|
|
106
85
|
function _prepareFacetValues(facetValues) {
|
|
107
86
|
return facetValues.slice(0, getLimit()).map(function (_ref2) {
|
|
108
87
|
var label = _ref2.name,
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
88
|
+
value = _ref2.escapedValue,
|
|
89
|
+
data = _ref2.data,
|
|
90
|
+
path = _ref2.path,
|
|
91
|
+
subValue = _objectWithoutProperties(_ref2, ["name", "escapedValue", "data", "path"]);
|
|
114
92
|
var item = _objectSpread(_objectSpread({}, subValue), {}, {
|
|
115
93
|
value: value,
|
|
116
94
|
label: label,
|
|
117
95
|
data: null
|
|
118
96
|
});
|
|
119
|
-
|
|
120
97
|
if (Array.isArray(data)) {
|
|
121
98
|
item.data = _prepareFacetValues(data);
|
|
122
99
|
}
|
|
123
|
-
|
|
124
100
|
return item;
|
|
125
101
|
});
|
|
126
102
|
}
|
|
127
|
-
|
|
128
103
|
return {
|
|
129
104
|
$$type: 'ais.hierarchicalMenu',
|
|
130
105
|
init: function init(initOptions) {
|
|
@@ -152,17 +127,17 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
152
127
|
},
|
|
153
128
|
getWidgetRenderState: function getWidgetRenderState(_ref4) {
|
|
154
129
|
var results = _ref4.results,
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
130
|
+
state = _ref4.state,
|
|
131
|
+
createURL = _ref4.createURL,
|
|
132
|
+
instantSearchInstance = _ref4.instantSearchInstance,
|
|
133
|
+
helper = _ref4.helper;
|
|
159
134
|
var items = [];
|
|
160
|
-
var canToggleShowMore = false;
|
|
135
|
+
var canToggleShowMore = false;
|
|
161
136
|
|
|
137
|
+
// Bind createURL to this specific attribute
|
|
162
138
|
function _createURL(facetValue) {
|
|
163
139
|
return createURL(state.resetPage().toggleFacetRefinement(hierarchicalFacetName, facetValue));
|
|
164
140
|
}
|
|
165
|
-
|
|
166
141
|
if (!sendEvent) {
|
|
167
142
|
sendEvent = createSendEventForFacet({
|
|
168
143
|
instantSearchInstance: instantSearchInstance,
|
|
@@ -174,33 +149,31 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
174
149
|
widgetType: this.$$type
|
|
175
150
|
});
|
|
176
151
|
}
|
|
177
|
-
|
|
178
152
|
if (!_refine) {
|
|
179
153
|
_refine = function _refine(facetValue) {
|
|
180
154
|
sendEvent('click', facetValue);
|
|
181
155
|
helper.toggleFacetRefinement(hierarchicalFacetName, facetValue).search();
|
|
182
156
|
};
|
|
183
157
|
}
|
|
184
|
-
|
|
185
158
|
if (results) {
|
|
186
159
|
var facetValues = results.getFacetValues(hierarchicalFacetName, {
|
|
187
160
|
sortBy: sortBy,
|
|
188
161
|
facetOrdering: sortBy === DEFAULT_SORT
|
|
189
162
|
});
|
|
190
|
-
var facetItems = facetValues && !Array.isArray(facetValues) && facetValues.data ? facetValues.data : [];
|
|
163
|
+
var facetItems = facetValues && !Array.isArray(facetValues) && facetValues.data ? facetValues.data : [];
|
|
164
|
+
|
|
165
|
+
// If the limit is the max number of facet retrieved it is impossible to know
|
|
191
166
|
// if the facets are exhaustive. The only moment we are sure it is exhaustive
|
|
192
167
|
// is when it is strictly under the number requested unless we know that another
|
|
193
168
|
// widget has requested more values (maxValuesPerFacet > getLimit()).
|
|
194
169
|
// Because this is used for making the search of facets unable or not, it is important
|
|
195
170
|
// to be conservative here.
|
|
196
|
-
|
|
197
171
|
var hasExhaustiveItems = (state.maxValuesPerFacet || 0) > getLimit() ? facetItems.length <= getLimit() : facetItems.length < getLimit();
|
|
198
172
|
canToggleShowMore = showMore && (isShowingMore || !hasExhaustiveItems);
|
|
199
173
|
items = transformItems(_prepareFacetValues(facetItems), {
|
|
200
174
|
results: results
|
|
201
175
|
});
|
|
202
176
|
}
|
|
203
|
-
|
|
204
177
|
return {
|
|
205
178
|
items: items,
|
|
206
179
|
refine: _refine,
|
|
@@ -216,11 +189,9 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
216
189
|
getWidgetUiState: function getWidgetUiState(uiState, _ref5) {
|
|
217
190
|
var searchParameters = _ref5.searchParameters;
|
|
218
191
|
var path = searchParameters.getHierarchicalFacetBreadcrumb(hierarchicalFacetName);
|
|
219
|
-
|
|
220
192
|
if (!path.length) {
|
|
221
193
|
return uiState;
|
|
222
194
|
}
|
|
223
|
-
|
|
224
195
|
return _objectSpread(_objectSpread({}, uiState), {}, {
|
|
225
196
|
hierarchicalMenu: _objectSpread(_objectSpread({}, uiState.hierarchicalMenu), {}, _defineProperty({}, hierarchicalFacetName, path))
|
|
226
197
|
});
|
|
@@ -228,12 +199,10 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
228
199
|
getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref6) {
|
|
229
200
|
var uiState = _ref6.uiState;
|
|
230
201
|
var values = uiState.hierarchicalMenu && uiState.hierarchicalMenu[hierarchicalFacetName];
|
|
231
|
-
|
|
232
202
|
if (searchParameters.isHierarchicalFacet(hierarchicalFacetName)) {
|
|
233
203
|
var facet = searchParameters.getHierarchicalFacetByName(hierarchicalFacetName);
|
|
234
204
|
process.env.NODE_ENV === 'development' ? warning(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;
|
|
235
205
|
}
|
|
236
|
-
|
|
237
206
|
var withFacetConfiguration = searchParameters.removeHierarchicalFacet(hierarchicalFacetName).addHierarchicalFacet({
|
|
238
207
|
name: hierarchicalFacetName,
|
|
239
208
|
attributes: attributes,
|
|
@@ -244,17 +213,14 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
244
213
|
var currentMaxValuesPerFacet = withFacetConfiguration.maxValuesPerFacet || 0;
|
|
245
214
|
var nextMaxValuesPerFacet = Math.max(currentMaxValuesPerFacet, showMore ? showMoreLimit : limit);
|
|
246
215
|
var withMaxValuesPerFacet = withFacetConfiguration.setQueryParameter('maxValuesPerFacet', nextMaxValuesPerFacet);
|
|
247
|
-
|
|
248
216
|
if (!values) {
|
|
249
217
|
return withMaxValuesPerFacet.setQueryParameters({
|
|
250
218
|
hierarchicalFacetsRefinements: _objectSpread(_objectSpread({}, withMaxValuesPerFacet.hierarchicalFacetsRefinements), {}, _defineProperty({}, hierarchicalFacetName, []))
|
|
251
219
|
});
|
|
252
220
|
}
|
|
253
|
-
|
|
254
221
|
return withMaxValuesPerFacet.addHierarchicalFacetRefinement(hierarchicalFacetName, values.join(separator));
|
|
255
222
|
}
|
|
256
223
|
};
|
|
257
224
|
};
|
|
258
225
|
};
|
|
259
|
-
|
|
260
226
|
export default connectHierarchicalMenu;
|
|
@@ -1,27 +1,22 @@
|
|
|
1
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
2
|
-
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
4
|
-
|
|
1
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
3
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
-
|
|
7
4
|
import { escapeHits, TAG_PLACEHOLDER, checkRendering, createDocumentationMessageGenerator, addAbsolutePosition, addQueryID, createSendEventForHits, createBindEventForHits, noop } from "../../lib/utils/index.js";
|
|
8
5
|
var withUsage = createDocumentationMessageGenerator({
|
|
9
6
|
name: 'hits',
|
|
10
7
|
connector: true
|
|
11
8
|
});
|
|
12
|
-
|
|
13
9
|
var connectHits = function connectHits(renderFn) {
|
|
14
10
|
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
|
|
15
11
|
checkRendering(renderFn, withUsage());
|
|
16
12
|
return function (widgetParams) {
|
|
17
13
|
var _ref = widgetParams || {},
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
_ref$escapeHTML = _ref.escapeHTML,
|
|
15
|
+
escapeHTML = _ref$escapeHTML === void 0 ? true : _ref$escapeHTML,
|
|
16
|
+
_ref$transformItems = _ref.transformItems,
|
|
17
|
+
transformItems = _ref$transformItems === void 0 ? function (items) {
|
|
18
|
+
return items;
|
|
19
|
+
} : _ref$transformItems;
|
|
25
20
|
var sendEvent;
|
|
26
21
|
var bindEvent;
|
|
27
22
|
return {
|
|
@@ -45,9 +40,8 @@ var connectHits = function connectHits(renderFn) {
|
|
|
45
40
|
},
|
|
46
41
|
getWidgetRenderState: function getWidgetRenderState(_ref2) {
|
|
47
42
|
var results = _ref2.results,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
43
|
+
helper = _ref2.helper,
|
|
44
|
+
instantSearchInstance = _ref2.instantSearchInstance;
|
|
51
45
|
if (!sendEvent) {
|
|
52
46
|
sendEvent = createSendEventForHits({
|
|
53
47
|
instantSearchInstance: instantSearchInstance,
|
|
@@ -55,14 +49,12 @@ var connectHits = function connectHits(renderFn) {
|
|
|
55
49
|
widgetType: this.$$type
|
|
56
50
|
});
|
|
57
51
|
}
|
|
58
|
-
|
|
59
52
|
if (!bindEvent) {
|
|
60
53
|
bindEvent = createBindEventForHits({
|
|
61
54
|
index: helper.getIndex(),
|
|
62
55
|
widgetType: this.$$type
|
|
63
56
|
});
|
|
64
57
|
}
|
|
65
|
-
|
|
66
58
|
if (!results) {
|
|
67
59
|
return {
|
|
68
60
|
hits: [],
|
|
@@ -72,11 +64,9 @@ var connectHits = function connectHits(renderFn) {
|
|
|
72
64
|
widgetParams: widgetParams
|
|
73
65
|
};
|
|
74
66
|
}
|
|
75
|
-
|
|
76
67
|
if (escapeHTML && results.hits.length > 0) {
|
|
77
68
|
results.hits = escapeHits(results.hits);
|
|
78
69
|
}
|
|
79
|
-
|
|
80
70
|
var hitsWithAbsolutePosition = addAbsolutePosition(results.hits, results.page, results.hitsPerPage);
|
|
81
71
|
var hitsWithAbsolutePositionAndQueryID = addQueryID(hitsWithAbsolutePosition, results.queryID);
|
|
82
72
|
var transformedHits = transformItems(hitsWithAbsolutePositionAndQueryID, {
|
|
@@ -93,11 +83,9 @@ var connectHits = function connectHits(renderFn) {
|
|
|
93
83
|
dispose: function dispose(_ref3) {
|
|
94
84
|
var state = _ref3.state;
|
|
95
85
|
unmountFn();
|
|
96
|
-
|
|
97
86
|
if (!escapeHTML) {
|
|
98
87
|
return state;
|
|
99
88
|
}
|
|
100
|
-
|
|
101
89
|
return state.setQueryParameters(Object.keys(TAG_PLACEHOLDER).reduce(function (acc, key) {
|
|
102
90
|
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, undefined));
|
|
103
91
|
}, {}));
|
|
@@ -106,11 +94,9 @@ var connectHits = function connectHits(renderFn) {
|
|
|
106
94
|
if (!escapeHTML) {
|
|
107
95
|
return state;
|
|
108
96
|
}
|
|
109
|
-
|
|
110
97
|
return state.setQueryParameters(TAG_PLACEHOLDER);
|
|
111
98
|
}
|
|
112
99
|
};
|
|
113
100
|
};
|
|
114
101
|
};
|
|
115
|
-
|
|
116
102
|
export default connectHits;
|
|
@@ -1,57 +1,41 @@
|
|
|
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
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; }
|
|
12
|
-
|
|
13
|
-
function
|
|
14
|
-
|
|
15
|
-
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; }
|
|
16
|
-
|
|
7
|
+
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; }
|
|
8
|
+
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; }
|
|
17
9
|
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; }
|
|
18
|
-
|
|
19
10
|
import { checkRendering, warning, createDocumentationMessageGenerator, noop } from "../../lib/utils/index.js";
|
|
20
11
|
var withUsage = createDocumentationMessageGenerator({
|
|
21
12
|
name: 'hits-per-page',
|
|
22
13
|
connector: true
|
|
23
14
|
});
|
|
24
|
-
|
|
25
15
|
var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
26
16
|
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
|
|
27
17
|
checkRendering(renderFn, withUsage());
|
|
28
18
|
return function (widgetParams) {
|
|
29
19
|
var _ref = widgetParams || {},
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
20
|
+
userItems = _ref.items,
|
|
21
|
+
_ref$transformItems = _ref.transformItems,
|
|
22
|
+
transformItems = _ref$transformItems === void 0 ? function (items) {
|
|
23
|
+
return items;
|
|
24
|
+
} : _ref$transformItems;
|
|
36
25
|
if (!Array.isArray(userItems)) {
|
|
37
26
|
throw new Error(withUsage('The `items` option expects an array of objects.'));
|
|
38
27
|
}
|
|
39
|
-
|
|
40
28
|
var items = userItems;
|
|
41
29
|
var defaultItems = items.filter(function (item) {
|
|
42
30
|
return item.default === true;
|
|
43
31
|
});
|
|
44
|
-
|
|
45
32
|
if (defaultItems.length === 0) {
|
|
46
33
|
throw new Error(withUsage("A default value must be specified in `items`."));
|
|
47
34
|
}
|
|
48
|
-
|
|
49
35
|
if (defaultItems.length > 1) {
|
|
50
36
|
throw new Error(withUsage('More than one default value is specified in `items`.'));
|
|
51
37
|
}
|
|
52
|
-
|
|
53
38
|
var defaultItem = defaultItems[0];
|
|
54
|
-
|
|
55
39
|
var normalizeItems = function normalizeItems(_ref2) {
|
|
56
40
|
var hitsPerPage = _ref2.hitsPerPage;
|
|
57
41
|
return items.map(function (item) {
|
|
@@ -60,7 +44,6 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
60
44
|
});
|
|
61
45
|
});
|
|
62
46
|
};
|
|
63
|
-
|
|
64
47
|
var connectorState = {
|
|
65
48
|
getRefine: function getRefine(helper) {
|
|
66
49
|
return function (value) {
|
|
@@ -69,7 +52,7 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
69
52
|
},
|
|
70
53
|
createURLFactory: function createURLFactory(_ref3) {
|
|
71
54
|
var state = _ref3.state,
|
|
72
|
-
|
|
55
|
+
createURL = _ref3.createURL;
|
|
73
56
|
return function (value) {
|
|
74
57
|
return createURL(state.resetPage().setQueryParameter('hitsPerPage', !value && value !== 0 ? undefined : value));
|
|
75
58
|
};
|
|
@@ -79,21 +62,20 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
79
62
|
$$type: 'ais.hitsPerPage',
|
|
80
63
|
init: function init(initOptions) {
|
|
81
64
|
var state = initOptions.state,
|
|
82
|
-
|
|
65
|
+
instantSearchInstance = initOptions.instantSearchInstance;
|
|
83
66
|
var isCurrentInOptions = items.some(function (item) {
|
|
84
67
|
return Number(state.hitsPerPage) === Number(item.value);
|
|
85
68
|
});
|
|
86
|
-
|
|
87
69
|
if (!isCurrentInOptions) {
|
|
88
70
|
process.env.NODE_ENV === 'development' ? warning(state.hitsPerPage !== undefined, "\n`hitsPerPage` is not defined.\nThe option `hitsPerPage` needs to be set using the `configure` widget.\n\nLearn more: https://www.algolia.com/doc/api-reference/widgets/hits-per-page/js/\n ") : void 0;
|
|
89
71
|
process.env.NODE_ENV === 'development' ? warning(false, "\nThe `items` option of `hitsPerPage` does not contain the \"hits per page\" value coming from the state: ".concat(state.hitsPerPage, ".\n\nYou may want to add another entry to the `items` option with this value.")) : void 0;
|
|
90
|
-
items = [
|
|
72
|
+
items = [
|
|
73
|
+
// The helper will convert the empty string to `undefined`.
|
|
91
74
|
{
|
|
92
75
|
value: '',
|
|
93
76
|
label: ''
|
|
94
77
|
}].concat(_toConsumableArray(items));
|
|
95
78
|
}
|
|
96
|
-
|
|
97
79
|
renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(initOptions)), {}, {
|
|
98
80
|
instantSearchInstance: instantSearchInstance
|
|
99
81
|
}), true);
|
|
@@ -116,9 +98,9 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
116
98
|
},
|
|
117
99
|
getWidgetRenderState: function getWidgetRenderState(_ref5) {
|
|
118
100
|
var state = _ref5.state,
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
101
|
+
results = _ref5.results,
|
|
102
|
+
createURL = _ref5.createURL,
|
|
103
|
+
helper = _ref5.helper;
|
|
122
104
|
var canRefine = results ? results.nbHits > 0 : false;
|
|
123
105
|
return {
|
|
124
106
|
items: transformItems(normalizeItems(state), {
|
|
@@ -137,11 +119,9 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
137
119
|
getWidgetUiState: function getWidgetUiState(uiState, _ref6) {
|
|
138
120
|
var searchParameters = _ref6.searchParameters;
|
|
139
121
|
var hitsPerPage = searchParameters.hitsPerPage;
|
|
140
|
-
|
|
141
122
|
if (hitsPerPage === undefined || hitsPerPage === defaultItem.value) {
|
|
142
123
|
return uiState;
|
|
143
124
|
}
|
|
144
|
-
|
|
145
125
|
return _objectSpread(_objectSpread({}, uiState), {}, {
|
|
146
126
|
hitsPerPage: hitsPerPage
|
|
147
127
|
});
|
|
@@ -155,5 +135,4 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
155
135
|
};
|
|
156
136
|
};
|
|
157
137
|
};
|
|
158
|
-
|
|
159
138
|
export default connectHitsPerPage;
|
package/es/connectors/index.d.ts
CHANGED
|
@@ -24,7 +24,8 @@ export { default as EXPERIMENTAL_connectConfigureRelatedItems } from './configur
|
|
|
24
24
|
export { default as connectAutocomplete } from './autocomplete/connectAutocomplete';
|
|
25
25
|
export { default as connectQueryRules } from './query-rules/connectQueryRules';
|
|
26
26
|
export { default as connectVoiceSearch } from './voice-search/connectVoiceSearch';
|
|
27
|
-
|
|
27
|
+
/** @deprecated answers is no longer supported */
|
|
28
|
+
export declare const EXPERIMENTAL_connectAnswers: import("./answers/connectAnswers").AnswersConnector;
|
|
28
29
|
export { default as connectRelevantSort } from './relevant-sort/connectRelevantSort';
|
|
29
30
|
import connectDynamicWidgets from './dynamic-widgets/connectDynamicWidgets';
|
|
30
31
|
export { connectDynamicWidgets };
|
package/es/connectors/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { deprecate } from "../lib/utils/index.js";
|
|
1
2
|
export { default as connectClearRefinements } from "./clear-refinements/connectClearRefinements.js";
|
|
2
3
|
export { default as connectCurrentRefinements } from "./current-refinements/connectCurrentRefinements.js";
|
|
3
4
|
export { default as connectHierarchicalMenu } from "./hierarchical-menu/connectHierarchicalMenu.js";
|
|
@@ -24,11 +25,13 @@ export { default as EXPERIMENTAL_connectConfigureRelatedItems } from "./configur
|
|
|
24
25
|
export { default as connectAutocomplete } from "./autocomplete/connectAutocomplete.js";
|
|
25
26
|
export { default as connectQueryRules } from "./query-rules/connectQueryRules.js";
|
|
26
27
|
export { default as connectVoiceSearch } from "./voice-search/connectVoiceSearch.js";
|
|
27
|
-
|
|
28
|
+
import connectAnswers from "./answers/connectAnswers.js";
|
|
29
|
+
|
|
30
|
+
/** @deprecated answers is no longer supported */
|
|
31
|
+
export var EXPERIMENTAL_connectAnswers = deprecate(connectAnswers, 'answers is no longer supported');
|
|
28
32
|
export { default as connectRelevantSort } from "./relevant-sort/connectRelevantSort.js";
|
|
29
33
|
import connectDynamicWidgets from "./dynamic-widgets/connectDynamicWidgets.js";
|
|
30
34
|
export { connectDynamicWidgets };
|
|
31
|
-
import { deprecate } from "../lib/utils/index.js";
|
|
32
|
-
/** @deprecated use connectDynamicWidgets */
|
|
33
35
|
|
|
36
|
+
/** @deprecated use connectDynamicWidgets */
|
|
34
37
|
export var EXPERIMENTAL_connectDynamicWidgets = deprecate(connectDynamicWidgets, 'use connectDynamicWidgets');
|