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
|
@@ -4,37 +4,23 @@ 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 _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; }
|
|
17
|
-
|
|
18
12
|
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; }
|
|
19
|
-
|
|
20
13
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
21
|
-
|
|
22
14
|
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."); }
|
|
23
|
-
|
|
24
15
|
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); }
|
|
25
|
-
|
|
26
16
|
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; }
|
|
27
|
-
|
|
28
|
-
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; }
|
|
29
|
-
|
|
17
|
+
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; }
|
|
30
18
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
31
|
-
|
|
32
19
|
var withUsage = (0, _index.createDocumentationMessageGenerator)({
|
|
33
20
|
name: 'hierarchical-menu',
|
|
34
21
|
connector: true
|
|
35
22
|
});
|
|
36
23
|
var DEFAULT_SORT = ['name:asc'];
|
|
37
|
-
|
|
38
24
|
/**
|
|
39
25
|
* **HierarchicalMenu** connector provides the logic to build a custom widget
|
|
40
26
|
* that will give the user the ability to explore facets in a tree-like structure.
|
|
@@ -53,86 +39,73 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
53
39
|
(0, _index.checkRendering)(renderFn, withUsage());
|
|
54
40
|
return function (widgetParams) {
|
|
55
41
|
var _ref = widgetParams || {},
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
42
|
+
attributes = _ref.attributes,
|
|
43
|
+
_ref$separator = _ref.separator,
|
|
44
|
+
separator = _ref$separator === void 0 ? ' > ' : _ref$separator,
|
|
45
|
+
_ref$rootPath = _ref.rootPath,
|
|
46
|
+
rootPath = _ref$rootPath === void 0 ? null : _ref$rootPath,
|
|
47
|
+
_ref$showParentLevel = _ref.showParentLevel,
|
|
48
|
+
showParentLevel = _ref$showParentLevel === void 0 ? true : _ref$showParentLevel,
|
|
49
|
+
_ref$limit = _ref.limit,
|
|
50
|
+
limit = _ref$limit === void 0 ? 10 : _ref$limit,
|
|
51
|
+
_ref$showMore = _ref.showMore,
|
|
52
|
+
showMore = _ref$showMore === void 0 ? false : _ref$showMore,
|
|
53
|
+
_ref$showMoreLimit = _ref.showMoreLimit,
|
|
54
|
+
showMoreLimit = _ref$showMoreLimit === void 0 ? 20 : _ref$showMoreLimit,
|
|
55
|
+
_ref$sortBy = _ref.sortBy,
|
|
56
|
+
sortBy = _ref$sortBy === void 0 ? DEFAULT_SORT : _ref$sortBy,
|
|
57
|
+
_ref$transformItems = _ref.transformItems,
|
|
58
|
+
transformItems = _ref$transformItems === void 0 ? function (items) {
|
|
59
|
+
return items;
|
|
60
|
+
} : _ref$transformItems;
|
|
76
61
|
if (!attributes || !Array.isArray(attributes) || attributes.length === 0) {
|
|
77
62
|
throw new Error(withUsage('The `attributes` option expects an array of strings.'));
|
|
78
63
|
}
|
|
79
|
-
|
|
80
64
|
if (showMore === true && showMoreLimit <= limit) {
|
|
81
65
|
throw new Error(withUsage('The `showMoreLimit` option must be greater than `limit`.'));
|
|
82
66
|
}
|
|
83
|
-
|
|
84
67
|
// we need to provide a hierarchicalFacet name for the search state
|
|
85
68
|
// so that we can always map $hierarchicalFacetName => real attributes
|
|
86
69
|
// we use the first attribute name
|
|
87
70
|
var _attributes = _slicedToArray(attributes, 1),
|
|
88
|
-
|
|
71
|
+
hierarchicalFacetName = _attributes[0];
|
|
72
|
+
var sendEvent;
|
|
89
73
|
|
|
90
|
-
|
|
74
|
+
// Provide the same function to the `renderFn` so that way the user
|
|
91
75
|
// has to only bind it once when `isFirstRendering` for instance
|
|
92
|
-
|
|
93
76
|
var toggleShowMore = function toggleShowMore() {};
|
|
94
|
-
|
|
95
77
|
function cachedToggleShowMore() {
|
|
96
78
|
toggleShowMore();
|
|
97
79
|
}
|
|
98
|
-
|
|
99
80
|
var _refine;
|
|
100
|
-
|
|
101
81
|
var isShowingMore = false;
|
|
102
|
-
|
|
103
82
|
function createToggleShowMore(renderOptions, widget) {
|
|
104
83
|
return function () {
|
|
105
84
|
isShowingMore = !isShowingMore;
|
|
106
85
|
widget.render(renderOptions);
|
|
107
86
|
};
|
|
108
87
|
}
|
|
109
|
-
|
|
110
88
|
function getLimit() {
|
|
111
89
|
return isShowingMore ? showMoreLimit : limit;
|
|
112
90
|
}
|
|
113
|
-
|
|
114
91
|
function _prepareFacetValues(facetValues) {
|
|
115
92
|
return facetValues.slice(0, getLimit()).map(function (_ref2) {
|
|
116
93
|
var label = _ref2.name,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
94
|
+
value = _ref2.escapedValue,
|
|
95
|
+
data = _ref2.data,
|
|
96
|
+
path = _ref2.path,
|
|
97
|
+
subValue = _objectWithoutProperties(_ref2, ["name", "escapedValue", "data", "path"]);
|
|
122
98
|
var item = _objectSpread(_objectSpread({}, subValue), {}, {
|
|
123
99
|
value: value,
|
|
124
100
|
label: label,
|
|
125
101
|
data: null
|
|
126
102
|
});
|
|
127
|
-
|
|
128
103
|
if (Array.isArray(data)) {
|
|
129
104
|
item.data = _prepareFacetValues(data);
|
|
130
105
|
}
|
|
131
|
-
|
|
132
106
|
return item;
|
|
133
107
|
});
|
|
134
108
|
}
|
|
135
|
-
|
|
136
109
|
return {
|
|
137
110
|
$$type: 'ais.hierarchicalMenu',
|
|
138
111
|
init: function init(initOptions) {
|
|
@@ -160,17 +133,17 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
160
133
|
},
|
|
161
134
|
getWidgetRenderState: function getWidgetRenderState(_ref4) {
|
|
162
135
|
var results = _ref4.results,
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
136
|
+
state = _ref4.state,
|
|
137
|
+
createURL = _ref4.createURL,
|
|
138
|
+
instantSearchInstance = _ref4.instantSearchInstance,
|
|
139
|
+
helper = _ref4.helper;
|
|
167
140
|
var items = [];
|
|
168
|
-
var canToggleShowMore = false;
|
|
141
|
+
var canToggleShowMore = false;
|
|
169
142
|
|
|
143
|
+
// Bind createURL to this specific attribute
|
|
170
144
|
function _createURL(facetValue) {
|
|
171
145
|
return createURL(state.resetPage().toggleFacetRefinement(hierarchicalFacetName, facetValue));
|
|
172
146
|
}
|
|
173
|
-
|
|
174
147
|
if (!sendEvent) {
|
|
175
148
|
sendEvent = (0, _index.createSendEventForFacet)({
|
|
176
149
|
instantSearchInstance: instantSearchInstance,
|
|
@@ -182,33 +155,31 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
182
155
|
widgetType: this.$$type
|
|
183
156
|
});
|
|
184
157
|
}
|
|
185
|
-
|
|
186
158
|
if (!_refine) {
|
|
187
159
|
_refine = function _refine(facetValue) {
|
|
188
160
|
sendEvent('click', facetValue);
|
|
189
161
|
helper.toggleFacetRefinement(hierarchicalFacetName, facetValue).search();
|
|
190
162
|
};
|
|
191
163
|
}
|
|
192
|
-
|
|
193
164
|
if (results) {
|
|
194
165
|
var facetValues = results.getFacetValues(hierarchicalFacetName, {
|
|
195
166
|
sortBy: sortBy,
|
|
196
167
|
facetOrdering: sortBy === DEFAULT_SORT
|
|
197
168
|
});
|
|
198
|
-
var facetItems = facetValues && !Array.isArray(facetValues) && facetValues.data ? facetValues.data : [];
|
|
169
|
+
var facetItems = facetValues && !Array.isArray(facetValues) && facetValues.data ? facetValues.data : [];
|
|
170
|
+
|
|
171
|
+
// If the limit is the max number of facet retrieved it is impossible to know
|
|
199
172
|
// if the facets are exhaustive. The only moment we are sure it is exhaustive
|
|
200
173
|
// is when it is strictly under the number requested unless we know that another
|
|
201
174
|
// widget has requested more values (maxValuesPerFacet > getLimit()).
|
|
202
175
|
// Because this is used for making the search of facets unable or not, it is important
|
|
203
176
|
// to be conservative here.
|
|
204
|
-
|
|
205
177
|
var hasExhaustiveItems = (state.maxValuesPerFacet || 0) > getLimit() ? facetItems.length <= getLimit() : facetItems.length < getLimit();
|
|
206
178
|
canToggleShowMore = showMore && (isShowingMore || !hasExhaustiveItems);
|
|
207
179
|
items = transformItems(_prepareFacetValues(facetItems), {
|
|
208
180
|
results: results
|
|
209
181
|
});
|
|
210
182
|
}
|
|
211
|
-
|
|
212
183
|
return {
|
|
213
184
|
items: items,
|
|
214
185
|
refine: _refine,
|
|
@@ -224,11 +195,9 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
224
195
|
getWidgetUiState: function getWidgetUiState(uiState, _ref5) {
|
|
225
196
|
var searchParameters = _ref5.searchParameters;
|
|
226
197
|
var path = searchParameters.getHierarchicalFacetBreadcrumb(hierarchicalFacetName);
|
|
227
|
-
|
|
228
198
|
if (!path.length) {
|
|
229
199
|
return uiState;
|
|
230
200
|
}
|
|
231
|
-
|
|
232
201
|
return _objectSpread(_objectSpread({}, uiState), {}, {
|
|
233
202
|
hierarchicalMenu: _objectSpread(_objectSpread({}, uiState.hierarchicalMenu), {}, _defineProperty({}, hierarchicalFacetName, path))
|
|
234
203
|
});
|
|
@@ -236,12 +205,10 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
236
205
|
getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref6) {
|
|
237
206
|
var uiState = _ref6.uiState;
|
|
238
207
|
var values = uiState.hierarchicalMenu && uiState.hierarchicalMenu[hierarchicalFacetName];
|
|
239
|
-
|
|
240
208
|
if (searchParameters.isHierarchicalFacet(hierarchicalFacetName)) {
|
|
241
209
|
var facet = searchParameters.getHierarchicalFacetByName(hierarchicalFacetName);
|
|
242
210
|
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;
|
|
243
211
|
}
|
|
244
|
-
|
|
245
212
|
var withFacetConfiguration = searchParameters.removeHierarchicalFacet(hierarchicalFacetName).addHierarchicalFacet({
|
|
246
213
|
name: hierarchicalFacetName,
|
|
247
214
|
attributes: attributes,
|
|
@@ -252,18 +219,15 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
252
219
|
var currentMaxValuesPerFacet = withFacetConfiguration.maxValuesPerFacet || 0;
|
|
253
220
|
var nextMaxValuesPerFacet = Math.max(currentMaxValuesPerFacet, showMore ? showMoreLimit : limit);
|
|
254
221
|
var withMaxValuesPerFacet = withFacetConfiguration.setQueryParameter('maxValuesPerFacet', nextMaxValuesPerFacet);
|
|
255
|
-
|
|
256
222
|
if (!values) {
|
|
257
223
|
return withMaxValuesPerFacet.setQueryParameters({
|
|
258
224
|
hierarchicalFacetsRefinements: _objectSpread(_objectSpread({}, withMaxValuesPerFacet.hierarchicalFacetsRefinements), {}, _defineProperty({}, hierarchicalFacetName, []))
|
|
259
225
|
});
|
|
260
226
|
}
|
|
261
|
-
|
|
262
227
|
return withMaxValuesPerFacet.addHierarchicalFacetRefinement(hierarchicalFacetName, values.join(separator));
|
|
263
228
|
}
|
|
264
229
|
};
|
|
265
230
|
};
|
|
266
231
|
};
|
|
267
|
-
|
|
268
232
|
var _default = connectHierarchicalMenu;
|
|
269
233
|
exports.default = _default;
|
|
@@ -4,32 +4,25 @@ 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: 'hits',
|
|
18
13
|
connector: true
|
|
19
14
|
});
|
|
20
|
-
|
|
21
15
|
var connectHits = function connectHits(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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
20
|
+
_ref$escapeHTML = _ref.escapeHTML,
|
|
21
|
+
escapeHTML = _ref$escapeHTML === void 0 ? true : _ref$escapeHTML,
|
|
22
|
+
_ref$transformItems = _ref.transformItems,
|
|
23
|
+
transformItems = _ref$transformItems === void 0 ? function (items) {
|
|
24
|
+
return items;
|
|
25
|
+
} : _ref$transformItems;
|
|
33
26
|
var sendEvent;
|
|
34
27
|
var bindEvent;
|
|
35
28
|
return {
|
|
@@ -53,9 +46,8 @@ var connectHits = function connectHits(renderFn) {
|
|
|
53
46
|
},
|
|
54
47
|
getWidgetRenderState: function getWidgetRenderState(_ref2) {
|
|
55
48
|
var results = _ref2.results,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
49
|
+
helper = _ref2.helper,
|
|
50
|
+
instantSearchInstance = _ref2.instantSearchInstance;
|
|
59
51
|
if (!sendEvent) {
|
|
60
52
|
sendEvent = (0, _index.createSendEventForHits)({
|
|
61
53
|
instantSearchInstance: instantSearchInstance,
|
|
@@ -63,14 +55,12 @@ var connectHits = function connectHits(renderFn) {
|
|
|
63
55
|
widgetType: this.$$type
|
|
64
56
|
});
|
|
65
57
|
}
|
|
66
|
-
|
|
67
58
|
if (!bindEvent) {
|
|
68
59
|
bindEvent = (0, _index.createBindEventForHits)({
|
|
69
60
|
index: helper.getIndex(),
|
|
70
61
|
widgetType: this.$$type
|
|
71
62
|
});
|
|
72
63
|
}
|
|
73
|
-
|
|
74
64
|
if (!results) {
|
|
75
65
|
return {
|
|
76
66
|
hits: [],
|
|
@@ -80,11 +70,9 @@ var connectHits = function connectHits(renderFn) {
|
|
|
80
70
|
widgetParams: widgetParams
|
|
81
71
|
};
|
|
82
72
|
}
|
|
83
|
-
|
|
84
73
|
if (escapeHTML && results.hits.length > 0) {
|
|
85
74
|
results.hits = (0, _index.escapeHits)(results.hits);
|
|
86
75
|
}
|
|
87
|
-
|
|
88
76
|
var hitsWithAbsolutePosition = (0, _index.addAbsolutePosition)(results.hits, results.page, results.hitsPerPage);
|
|
89
77
|
var hitsWithAbsolutePositionAndQueryID = (0, _index.addQueryID)(hitsWithAbsolutePosition, results.queryID);
|
|
90
78
|
var transformedHits = transformItems(hitsWithAbsolutePositionAndQueryID, {
|
|
@@ -101,11 +89,9 @@ var connectHits = function connectHits(renderFn) {
|
|
|
101
89
|
dispose: function dispose(_ref3) {
|
|
102
90
|
var state = _ref3.state;
|
|
103
91
|
unmountFn();
|
|
104
|
-
|
|
105
92
|
if (!escapeHTML) {
|
|
106
93
|
return state;
|
|
107
94
|
}
|
|
108
|
-
|
|
109
95
|
return state.setQueryParameters(Object.keys(_index.TAG_PLACEHOLDER).reduce(function (acc, key) {
|
|
110
96
|
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, undefined));
|
|
111
97
|
}, {}));
|
|
@@ -114,12 +100,10 @@ var connectHits = function connectHits(renderFn) {
|
|
|
114
100
|
if (!escapeHTML) {
|
|
115
101
|
return state;
|
|
116
102
|
}
|
|
117
|
-
|
|
118
103
|
return state.setQueryParameters(_index.TAG_PLACEHOLDER);
|
|
119
104
|
}
|
|
120
105
|
};
|
|
121
106
|
};
|
|
122
107
|
};
|
|
123
|
-
|
|
124
108
|
var _default = connectHits;
|
|
125
109
|
exports.default = _default;
|
|
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _index = require("../../lib/insights/index.js");
|
|
9
|
-
|
|
10
8
|
var _connectHits = _interopRequireDefault(require("./connectHits.js"));
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
10
|
var connectHitsWithInsights = (0, _index.withInsights)(_connectHits.default);
|
|
15
11
|
var _default = connectHitsWithInsights;
|
|
16
12
|
exports.default = _default;
|
|
@@ -4,62 +4,44 @@ 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: 'hits-per-page',
|
|
30
19
|
connector: true
|
|
31
20
|
});
|
|
32
|
-
|
|
33
21
|
var connectHitsPerPage = function connectHitsPerPage(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
|
-
|
|
26
|
+
userItems = _ref.items,
|
|
27
|
+
_ref$transformItems = _ref.transformItems,
|
|
28
|
+
transformItems = _ref$transformItems === void 0 ? function (items) {
|
|
29
|
+
return items;
|
|
30
|
+
} : _ref$transformItems;
|
|
44
31
|
if (!Array.isArray(userItems)) {
|
|
45
32
|
throw new Error(withUsage('The `items` option expects an array of objects.'));
|
|
46
33
|
}
|
|
47
|
-
|
|
48
34
|
var items = userItems;
|
|
49
35
|
var defaultItems = items.filter(function (item) {
|
|
50
36
|
return item.default === true;
|
|
51
37
|
});
|
|
52
|
-
|
|
53
38
|
if (defaultItems.length === 0) {
|
|
54
39
|
throw new Error(withUsage("A default value must be specified in `items`."));
|
|
55
40
|
}
|
|
56
|
-
|
|
57
41
|
if (defaultItems.length > 1) {
|
|
58
42
|
throw new Error(withUsage('More than one default value is specified in `items`.'));
|
|
59
43
|
}
|
|
60
|
-
|
|
61
44
|
var defaultItem = defaultItems[0];
|
|
62
|
-
|
|
63
45
|
var normalizeItems = function normalizeItems(_ref2) {
|
|
64
46
|
var hitsPerPage = _ref2.hitsPerPage;
|
|
65
47
|
return items.map(function (item) {
|
|
@@ -68,7 +50,6 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
68
50
|
});
|
|
69
51
|
});
|
|
70
52
|
};
|
|
71
|
-
|
|
72
53
|
var connectorState = {
|
|
73
54
|
getRefine: function getRefine(helper) {
|
|
74
55
|
return function (value) {
|
|
@@ -77,7 +58,7 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
77
58
|
},
|
|
78
59
|
createURLFactory: function createURLFactory(_ref3) {
|
|
79
60
|
var state = _ref3.state,
|
|
80
|
-
|
|
61
|
+
createURL = _ref3.createURL;
|
|
81
62
|
return function (value) {
|
|
82
63
|
return createURL(state.resetPage().setQueryParameter('hitsPerPage', !value && value !== 0 ? undefined : value));
|
|
83
64
|
};
|
|
@@ -87,21 +68,20 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
87
68
|
$$type: 'ais.hitsPerPage',
|
|
88
69
|
init: function init(initOptions) {
|
|
89
70
|
var state = initOptions.state,
|
|
90
|
-
|
|
71
|
+
instantSearchInstance = initOptions.instantSearchInstance;
|
|
91
72
|
var isCurrentInOptions = items.some(function (item) {
|
|
92
73
|
return Number(state.hitsPerPage) === Number(item.value);
|
|
93
74
|
});
|
|
94
|
-
|
|
95
75
|
if (!isCurrentInOptions) {
|
|
96
76
|
process.env.NODE_ENV === 'development' ? (0, _index.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;
|
|
97
77
|
process.env.NODE_ENV === 'development' ? (0, _index.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;
|
|
98
|
-
items = [
|
|
78
|
+
items = [
|
|
79
|
+
// The helper will convert the empty string to `undefined`.
|
|
99
80
|
{
|
|
100
81
|
value: '',
|
|
101
82
|
label: ''
|
|
102
83
|
}].concat(_toConsumableArray(items));
|
|
103
84
|
}
|
|
104
|
-
|
|
105
85
|
renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(initOptions)), {}, {
|
|
106
86
|
instantSearchInstance: instantSearchInstance
|
|
107
87
|
}), true);
|
|
@@ -124,9 +104,9 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
124
104
|
},
|
|
125
105
|
getWidgetRenderState: function getWidgetRenderState(_ref5) {
|
|
126
106
|
var state = _ref5.state,
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
107
|
+
results = _ref5.results,
|
|
108
|
+
createURL = _ref5.createURL,
|
|
109
|
+
helper = _ref5.helper;
|
|
130
110
|
var canRefine = results ? results.nbHits > 0 : false;
|
|
131
111
|
return {
|
|
132
112
|
items: transformItems(normalizeItems(state), {
|
|
@@ -145,11 +125,9 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
145
125
|
getWidgetUiState: function getWidgetUiState(uiState, _ref6) {
|
|
146
126
|
var searchParameters = _ref6.searchParameters;
|
|
147
127
|
var hitsPerPage = searchParameters.hitsPerPage;
|
|
148
|
-
|
|
149
128
|
if (hitsPerPage === undefined || hitsPerPage === defaultItem.value) {
|
|
150
129
|
return uiState;
|
|
151
130
|
}
|
|
152
|
-
|
|
153
131
|
return _objectSpread(_objectSpread({}, uiState), {}, {
|
|
154
132
|
hitsPerPage: hitsPerPage
|
|
155
133
|
});
|
|
@@ -163,6 +141,5 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
163
141
|
};
|
|
164
142
|
};
|
|
165
143
|
};
|
|
166
|
-
|
|
167
144
|
var _default = connectHitsPerPage;
|
|
168
145
|
exports.default = _default;
|