instantsearch.js 4.49.0 → 4.49.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/cjs/components/Answers/Answers.js +6 -16
- package/cjs/components/Breadcrumb/Breadcrumb.js +5 -12
- package/cjs/components/ClearRefinements/ClearRefinements.js +4 -11
- package/cjs/components/CurrentRefinements/CurrentRefinements.js +5 -12
- package/cjs/components/GeoSearchControls/GeoSearchButton.js +4 -6
- package/cjs/components/GeoSearchControls/GeoSearchControls.js +11 -20
- package/cjs/components/GeoSearchControls/GeoSearchToggle.js +4 -6
- package/cjs/components/Highlight/Highlight.js +3 -11
- package/cjs/components/Hits/Hits.js +8 -20
- package/cjs/components/InfiniteHits/InfiniteHits.js +13 -25
- package/cjs/components/InternalHighlight/InternalHighlight.js +0 -3
- package/cjs/components/MenuSelect/MenuSelect.js +9 -19
- package/cjs/components/Pagination/Pagination.js +10 -17
- package/cjs/components/Panel/Panel.js +7 -26
- package/cjs/components/PoweredBy/PoweredBy.js +4 -5
- package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +2 -6
- package/cjs/components/RangeInput/RangeInput.js +16 -48
- package/cjs/components/RefinementList/RefinementList.js +19 -73
- package/cjs/components/RefinementList/RefinementListItem.js +8 -14
- package/cjs/components/RelevantSort/RelevantSort.js +4 -8
- package/cjs/components/ReverseHighlight/ReverseHighlight.js +3 -11
- package/cjs/components/ReverseSnippet/ReverseSnippet.js +3 -11
- package/cjs/components/SearchBox/SearchBox.js +25 -69
- package/cjs/components/Selector/Selector.js +3 -6
- package/cjs/components/Slider/Pit.js +3 -10
- package/cjs/components/Slider/Rheostat.js +63 -131
- package/cjs/components/Slider/Slider.js +28 -65
- package/cjs/components/Snippet/Snippet.js +3 -11
- package/cjs/components/Stats/Stats.js +7 -20
- package/cjs/components/Template/Template.js +8 -37
- package/cjs/components/ToggleRefinement/ToggleRefinement.js +4 -10
- package/cjs/components/VoiceSearch/VoiceSearch.js +8 -15
- package/cjs/connectors/answers/connectAnswers.js +21 -36
- package/cjs/connectors/autocomplete/connectAutocomplete.js +8 -25
- package/cjs/connectors/breadcrumb/connectBreadcrumb.js +17 -48
- package/cjs/connectors/clear-refinements/connectClearRefinements.js +27 -45
- package/cjs/connectors/configure/connectConfigure.js +6 -20
- package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +11 -36
- package/cjs/connectors/current-refinements/connectCurrentRefinements.js +18 -57
- package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +17 -37
- package/cjs/connectors/geo-search/connectGeoSearch.js +17 -47
- package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +38 -74
- package/cjs/connectors/hits/connectHits.js +10 -26
- package/cjs/connectors/hits/connectHitsWithInsights.js +0 -4
- package/cjs/connectors/hits-per-page/connectHitsPerPage.js +15 -38
- package/cjs/connectors/index.js +62 -96
- package/cjs/connectors/infinite-hits/connectInfiniteHits.js +26 -62
- package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +0 -4
- package/cjs/connectors/menu/connectMenu.js +28 -66
- package/cjs/connectors/numeric-menu/connectNumericMenu.js +24 -78
- package/cjs/connectors/pagination/Paginator.js +3 -20
- package/cjs/connectors/pagination/connectPagination.js +8 -25
- package/cjs/connectors/powered-by/connectPoweredBy.js +4 -13
- package/cjs/connectors/query-rules/connectQueryRules.js +32 -56
- package/cjs/connectors/range/connectRange.js +41 -101
- package/cjs/connectors/rating-menu/connectRatingMenu.js +23 -79
- package/cjs/connectors/refinement-list/connectRefinementList.js +37 -70
- package/cjs/connectors/relevant-sort/connectRelevantSort.js +4 -14
- package/cjs/connectors/search-box/connectSearchBox.js +7 -23
- package/cjs/connectors/sort-by/connectSortBy.js +11 -21
- package/cjs/connectors/stats/connectStats.js +4 -11
- package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +29 -63
- package/cjs/connectors/voice-search/connectVoiceSearch.js +13 -35
- package/cjs/helpers/components/Highlight.js +4 -12
- package/cjs/helpers/components/ReverseHighlight.js +7 -19
- package/cjs/helpers/components/ReverseSnippet.js +7 -19
- package/cjs/helpers/components/Snippet.js +4 -12
- package/cjs/helpers/components/index.js +0 -8
- package/cjs/helpers/get-insights-anonymous-user-token.js +7 -12
- package/cjs/helpers/highlight.js +10 -16
- package/cjs/helpers/index.js +17 -31
- package/cjs/helpers/insights.js +5 -17
- package/cjs/helpers/reverseHighlight.js +10 -16
- package/cjs/helpers/reverseSnippet.js +10 -16
- package/cjs/helpers/snippet.js +10 -16
- package/cjs/index.js +3 -18
- package/cjs/lib/InstantSearch.js +79 -180
- package/cjs/lib/createHelpers.js +4 -11
- package/cjs/lib/formatNumber.js +0 -1
- package/cjs/lib/infiniteHitsCache/index.js +0 -2
- package/cjs/lib/infiniteHitsCache/sessionStorage.js +9 -18
- package/cjs/lib/insights/client.js +8 -34
- package/cjs/lib/insights/index.js +7 -13
- package/cjs/lib/insights/listener.js +4 -20
- package/cjs/lib/routers/history.js +63 -102
- package/cjs/lib/routers/index.js +0 -2
- package/cjs/lib/stateMappings/index.js +0 -3
- package/cjs/lib/stateMappings/simple.js +6 -13
- package/cjs/lib/stateMappings/singleIndex.js +1 -7
- package/cjs/lib/suit.js +2 -5
- package/cjs/lib/templating/index.js +0 -4
- package/cjs/lib/templating/prepareTemplateProps.js +8 -19
- package/cjs/lib/templating/renderTemplate.js +9 -24
- package/cjs/lib/utils/capitalize.js +0 -1
- package/cjs/lib/utils/checkIndexUiState.js +15 -43
- package/cjs/lib/utils/checkRendering.js +0 -2
- package/cjs/lib/utils/clearRefinements.js +2 -9
- package/cjs/lib/utils/concatHighlightedParts.js +1 -3
- package/cjs/lib/utils/createConcurrentSafePromise.js +0 -3
- package/cjs/lib/utils/createSendEventForFacet.js +7 -14
- package/cjs/lib/utils/createSendEventForHits.js +9 -33
- package/cjs/lib/utils/debounce.js +0 -3
- package/cjs/lib/utils/defer.js +0 -11
- package/cjs/lib/utils/detect-insights-client.js +0 -2
- package/cjs/lib/utils/documentation.js +2 -5
- package/cjs/lib/utils/escape-highlight.js +5 -22
- package/cjs/lib/utils/escape-html.js +9 -7
- package/cjs/lib/utils/escapeFacetValue.js +1 -5
- package/cjs/lib/utils/find.js +2 -5
- package/cjs/lib/utils/findIndex.js +0 -3
- package/cjs/lib/utils/geo-search.js +14 -34
- package/cjs/lib/utils/getAppIdAndApiKey.js +2 -3
- package/cjs/lib/utils/getContainerNode.js +0 -6
- package/cjs/lib/utils/getHighlightFromSiblings.js +0 -6
- package/cjs/lib/utils/getHighlightedParts.js +1 -4
- package/cjs/lib/utils/getObjectType.js +0 -1
- package/cjs/lib/utils/getPropertyByPath.js +0 -1
- package/cjs/lib/utils/getRefinements.js +13 -26
- package/cjs/lib/utils/getWidgetAttribute.js +0 -6
- package/cjs/lib/utils/hits-absolute-position.js +2 -6
- package/cjs/lib/utils/hits-query-id.js +2 -7
- package/cjs/lib/utils/index.js +0 -92
- package/cjs/lib/utils/isDomElement.js +0 -1
- package/cjs/lib/utils/isEqual.js +0 -8
- package/cjs/lib/utils/isFacetRefined.js +0 -1
- package/cjs/lib/utils/isFiniteNumber.js +0 -1
- package/cjs/lib/utils/isIndexWidget.js +0 -1
- package/cjs/lib/utils/isPlainObject.js +3 -11
- package/cjs/lib/utils/isSpecialClick.js +0 -1
- package/cjs/lib/utils/logger.js +3 -13
- package/cjs/lib/utils/mergeSearchParameters.js +16 -40
- package/cjs/lib/utils/noop.js +0 -1
- package/cjs/lib/utils/range.js +8 -14
- package/cjs/lib/utils/render-args.js +0 -2
- package/cjs/lib/utils/resolveSearchParameters.js +0 -3
- package/cjs/lib/utils/reverseHighlightedParts.js +2 -8
- package/cjs/lib/utils/safelyRunOnBrowser.js +7 -9
- package/cjs/lib/utils/serializer.js +1 -3
- package/cjs/lib/utils/setIndexHelperState.js +0 -5
- package/cjs/lib/utils/toArray.js +0 -1
- package/cjs/lib/utils/typedObject.js +0 -1
- package/cjs/lib/utils/uniq.js +0 -1
- package/cjs/lib/version.js +1 -1
- package/cjs/lib/voiceSearchHelper/index.js +8 -36
- package/cjs/middlewares/createInsightsMiddleware.js +15 -44
- package/cjs/middlewares/createMetadataMiddleware.js +4 -12
- package/cjs/middlewares/createRouterMiddleware.js +8 -19
- package/cjs/middlewares/index.js +0 -6
- package/cjs/types/algoliasearch.js +0 -2
- package/cjs/types/index.js +0 -28
- package/cjs/widgets/analytics/analytics.js +12 -47
- package/cjs/widgets/answers/answers.js +19 -39
- package/cjs/widgets/breadcrumb/breadcrumb.js +18 -38
- package/cjs/widgets/clear-refinements/clear-refinements.js +15 -35
- package/cjs/widgets/configure/configure.js +2 -10
- package/cjs/widgets/configure-related-items/configure-related-items.js +2 -10
- package/cjs/widgets/current-refinements/current-refinements.js +12 -30
- package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +6 -25
- package/cjs/widgets/geo-search/GeoSearchRenderer.js +41 -68
- package/cjs/widgets/geo-search/createHTMLMarker.js +30 -60
- package/cjs/widgets/geo-search/defaultTemplates.js +0 -3
- package/cjs/widgets/geo-search/geo-search.js +27 -59
- package/cjs/widgets/hierarchical-menu/defaultTemplates.js +4 -7
- package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +28 -47
- package/cjs/widgets/hits/hits.js +16 -37
- package/cjs/widgets/hits-per-page/hits-per-page.js +13 -31
- package/cjs/widgets/index/index.js +49 -95
- package/cjs/widgets/index.js +12 -50
- package/cjs/widgets/infinite-hits/infinite-hits.js +23 -44
- package/cjs/widgets/menu/defaultTemplates.js +3 -6
- package/cjs/widgets/menu/menu.js +23 -43
- package/cjs/widgets/menu-select/defaultTemplates.js +1 -3
- package/cjs/widgets/menu-select/menu-select.js +18 -38
- package/cjs/widgets/numeric-menu/defaultTemplates.js +3 -4
- package/cjs/widgets/numeric-menu/numeric-menu.js +17 -37
- package/cjs/widgets/pagination/pagination.js +32 -53
- package/cjs/widgets/panel/panel.js +20 -48
- package/cjs/widgets/places/places.js +16 -33
- package/cjs/widgets/powered-by/powered-by.js +10 -27
- package/cjs/widgets/query-rule-context/query-rule-context.js +2 -13
- package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +14 -32
- package/cjs/widgets/range-input/range-input.js +23 -50
- package/cjs/widgets/range-slider/range-slider.js +28 -53
- package/cjs/widgets/rating-menu/defaultTemplates.js +8 -14
- package/cjs/widgets/rating-menu/rating-menu.js +17 -38
- package/cjs/widgets/refinement-list/defaultTemplates.js +5 -8
- package/cjs/widgets/refinement-list/refinement-list.js +39 -60
- package/cjs/widgets/relevant-sort/relevant-sort.js +10 -29
- package/cjs/widgets/search-box/defaultTemplates.js +0 -5
- package/cjs/widgets/search-box/search-box.js +31 -49
- package/cjs/widgets/sort-by/sort-by.js +11 -29
- package/cjs/widgets/stats/defaultTemplates.js +0 -1
- package/cjs/widgets/stats/stats.js +27 -57
- package/cjs/widgets/toggle-refinement/toggle-refinement.js +16 -36
- package/cjs/widgets/voice-search/defaultTemplates.js +4 -14
- package/cjs/widgets/voice-search/voice-search.js +17 -36
- package/dist/instantsearch.development.d.ts +8 -6
- package/dist/instantsearch.development.js +1725 -3087
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +8 -6
- package/dist/instantsearch.production.min.d.ts +8 -6
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/components/Answers/Answers.js +6 -11
- package/es/components/Breadcrumb/Breadcrumb.js +5 -7
- package/es/components/ClearRefinements/ClearRefinements.js +4 -6
- package/es/components/CurrentRefinements/CurrentRefinements.js +7 -10
- package/es/components/GeoSearchControls/GeoSearchButton.js +6 -6
- package/es/components/GeoSearchControls/GeoSearchControls.js +11 -13
- package/es/components/GeoSearchControls/GeoSearchToggle.js +6 -6
- package/es/components/Highlight/Highlight.js +3 -7
- package/es/components/Hits/Hits.js +8 -15
- package/es/components/InfiniteHits/InfiniteHits.js +13 -20
- package/es/components/MenuSelect/MenuSelect.js +9 -13
- package/es/components/Pagination/Pagination.js +12 -15
- package/es/components/Panel/Panel.js +7 -20
- package/es/components/PoweredBy/PoweredBy.js +6 -5
- package/es/components/QueryRuleCustomData/QueryRuleCustomData.js +4 -4
- package/es/components/RangeInput/RangeInput.js +16 -43
- package/es/components/RefinementList/RefinementList.js +19 -64
- package/es/components/RefinementList/RefinementListItem.js +8 -10
- package/es/components/RelevantSort/RelevantSort.js +6 -6
- package/es/components/ReverseHighlight/ReverseHighlight.js +3 -7
- package/es/components/ReverseSnippet/ReverseSnippet.js +3 -7
- package/es/components/SearchBox/SearchBox.js +25 -63
- package/es/components/Selector/Selector.js +5 -5
- package/es/components/Slider/Pit.js +3 -7
- package/es/components/Slider/Rheostat.js +64 -129
- package/es/components/Slider/Slider.js +28 -58
- package/es/components/Snippet/Snippet.js +3 -7
- package/es/components/Stats/Stats.js +7 -15
- package/es/components/Template/Template.js +8 -32
- package/es/components/ToggleRefinement/ToggleRefinement.js +4 -6
- package/es/components/VoiceSearch/VoiceSearch.js +10 -13
- package/es/connectors/answers/connectAnswers.js +21 -35
- package/es/connectors/autocomplete/connectAutocomplete.js +8 -23
- package/es/connectors/breadcrumb/connectBreadcrumb.js +17 -46
- package/es/connectors/clear-refinements/connectClearRefinements.js +27 -43
- package/es/connectors/configure/connectConfigure.js +7 -16
- package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +11 -31
- package/es/connectors/current-refinements/connectCurrentRefinements.js +18 -55
- package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +17 -35
- package/es/connectors/geo-search/connectGeoSearch.js +17 -45
- package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +38 -72
- package/es/connectors/hits/connectHits.js +10 -24
- package/es/connectors/hits-per-page/connectHitsPerPage.js +15 -36
- package/es/connectors/index.d.ts +2 -1
- package/es/connectors/index.js +6 -3
- package/es/connectors/infinite-hits/connectInfiniteHits.js +26 -60
- package/es/connectors/menu/connectMenu.js +28 -64
- package/es/connectors/numeric-menu/connectNumericMenu.js +24 -76
- package/es/connectors/pagination/Paginator.js +3 -19
- package/es/connectors/pagination/connectPagination.js +8 -21
- package/es/connectors/powered-by/connectPoweredBy.js +4 -11
- package/es/connectors/query-rules/connectQueryRules.js +32 -54
- package/es/connectors/range/connectRange.js +41 -99
- package/es/connectors/rating-menu/connectRatingMenu.js +23 -77
- package/es/connectors/refinement-list/connectRefinementList.js +37 -68
- package/es/connectors/relevant-sort/connectRelevantSort.js +4 -13
- package/es/connectors/search-box/connectSearchBox.js +7 -21
- package/es/connectors/sort-by/connectSortBy.js +11 -19
- package/es/connectors/stats/connectStats.js +4 -9
- package/es/connectors/toggle-refinement/connectToggleRefinement.js +29 -61
- package/es/connectors/voice-search/connectVoiceSearch.js +13 -31
- package/es/helpers/components/Highlight.js +4 -8
- package/es/helpers/components/ReverseHighlight.js +7 -15
- package/es/helpers/components/ReverseSnippet.js +7 -15
- package/es/helpers/components/Snippet.js +4 -8
- package/es/helpers/get-insights-anonymous-user-token.js +5 -7
- package/es/helpers/highlight.js +9 -11
- package/es/helpers/insights.js +3 -10
- package/es/helpers/reverseHighlight.js +9 -11
- package/es/helpers/reverseSnippet.js +9 -11
- package/es/helpers/snippet.js +9 -11
- package/es/index.js +0 -2
- package/es/lib/InstantSearch.js +79 -170
- package/es/lib/createHelpers.js +4 -8
- package/es/lib/infiniteHitsCache/sessionStorage.js +9 -16
- package/es/lib/insights/client.js +8 -32
- package/es/lib/insights/listener.js +6 -18
- package/es/lib/routers/history.js +63 -99
- package/es/lib/stateMappings/simple.js +6 -12
- package/es/lib/stateMappings/singleIndex.js +1 -6
- package/es/lib/suit.js +2 -3
- package/es/lib/templating/prepareTemplateProps.js +8 -18
- package/es/lib/templating/renderTemplate.js +9 -20
- package/es/lib/utils/checkIndexUiState.js +18 -40
- package/es/lib/utils/clearRefinements.js +2 -8
- package/es/lib/utils/concatHighlightedParts.js +1 -1
- package/es/lib/utils/createConcurrentSafePromise.js +0 -2
- package/es/lib/utils/createSendEventForFacet.js +7 -12
- package/es/lib/utils/createSendEventForHits.js +8 -30
- package/es/lib/utils/debounce.js +0 -2
- package/es/lib/utils/defer.js +0 -10
- package/es/lib/utils/documentation.js +2 -3
- package/es/lib/utils/escape-highlight.js +3 -16
- package/es/lib/utils/escape-html.js +9 -5
- package/es/lib/utils/escapeFacetValue.js +0 -2
- package/es/lib/utils/find.js +2 -4
- package/es/lib/utils/findIndex.js +0 -2
- package/es/lib/utils/geo-search.js +14 -32
- package/es/lib/utils/getAppIdAndApiKey.js +2 -2
- package/es/lib/utils/getContainerNode.js +1 -5
- package/es/lib/utils/getHighlightFromSiblings.js +0 -3
- package/es/lib/utils/getHighlightedParts.js +1 -2
- package/es/lib/utils/getRefinements.js +13 -24
- package/es/lib/utils/getWidgetAttribute.js +0 -5
- package/es/lib/utils/hits-absolute-position.js +2 -5
- package/es/lib/utils/hits-query-id.js +2 -6
- package/es/lib/utils/isEqual.js +0 -7
- package/es/lib/utils/isPlainObject.js +3 -10
- package/es/lib/utils/logger.js +2 -12
- package/es/lib/utils/mergeSearchParameters.js +16 -37
- package/es/lib/utils/range.js +8 -13
- package/es/lib/utils/resolveSearchParameters.js +0 -2
- package/es/lib/utils/reverseHighlightedParts.js +2 -6
- package/es/lib/utils/safelyRunOnBrowser.js +7 -8
- package/es/lib/utils/setIndexHelperState.js +0 -2
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/lib/voiceSearchHelper/index.js +8 -35
- package/es/middlewares/createInsightsMiddleware.js +15 -41
- package/es/middlewares/createMetadataMiddleware.js +3 -9
- package/es/middlewares/createRouterMiddleware.js +8 -13
- package/es/types/index.js +9 -5
- package/es/widgets/analytics/analytics.js +12 -45
- package/es/widgets/answers/answers.js +19 -28
- package/es/widgets/breadcrumb/breadcrumb.js +18 -27
- package/es/widgets/clear-refinements/clear-refinements.js +15 -24
- package/es/widgets/configure/configure.js +3 -6
- package/es/widgets/configure-related-items/configure-related-items.js +2 -7
- package/es/widgets/current-refinements/current-refinements.js +12 -21
- package/es/widgets/dynamic-widgets/dynamic-widgets.js +6 -20
- package/es/widgets/geo-search/GeoSearchRenderer.js +41 -63
- package/es/widgets/geo-search/createHTMLMarker.js +30 -59
- package/es/widgets/geo-search/defaultTemplates.js +2 -2
- package/es/widgets/geo-search/geo-search.js +27 -49
- package/es/widgets/hierarchical-menu/defaultTemplates.js +5 -4
- package/es/widgets/hierarchical-menu/hierarchical-menu.js +28 -36
- package/es/widgets/hits/hits.js +16 -25
- package/es/widgets/hits-per-page/hits-per-page.js +13 -22
- package/es/widgets/index/index.js +49 -91
- package/es/widgets/index.d.ts +2 -1
- package/es/widgets/index.js +4 -3
- package/es/widgets/infinite-hits/infinite-hits.js +23 -32
- package/es/widgets/menu/defaultTemplates.js +4 -3
- package/es/widgets/menu/menu.js +23 -32
- package/es/widgets/menu-select/defaultTemplates.js +1 -1
- package/es/widgets/menu-select/menu-select.js +18 -27
- package/es/widgets/numeric-menu/defaultTemplates.js +4 -3
- package/es/widgets/numeric-menu/numeric-menu.js +17 -26
- package/es/widgets/pagination/pagination.js +32 -44
- package/es/widgets/panel/panel.js +20 -40
- package/es/widgets/places/places.js +16 -32
- package/es/widgets/powered-by/powered-by.js +10 -18
- package/es/widgets/query-rule-context/query-rule-context.js +2 -9
- package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +13 -22
- package/es/widgets/range-input/range-input.js +23 -40
- package/es/widgets/range-slider/range-slider.js +28 -44
- package/es/widgets/rating-menu/defaultTemplates.js +9 -12
- package/es/widgets/rating-menu/rating-menu.js +17 -27
- package/es/widgets/refinement-list/defaultTemplates.js +6 -5
- package/es/widgets/refinement-list/refinement-list.js +39 -48
- package/es/widgets/relevant-sort/relevant-sort.js +10 -19
- package/es/widgets/search-box/defaultTemplates.js +1 -4
- package/es/widgets/search-box/search-box.js +31 -39
- package/es/widgets/sort-by/sort-by.js +11 -20
- package/es/widgets/stats/stats.js +26 -45
- package/es/widgets/toggle-refinement/toggle-refinement.js +16 -25
- package/es/widgets/voice-search/defaultTemplates.js +5 -13
- package/es/widgets/voice-search/voice-search.js +17 -26
- package/package.json +20 -119
- package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.input.js +0 -1
- package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.output.js +0 -1
- package/CHANGELOG.md +0 -3684
|
@@ -1,30 +1,19 @@
|
|
|
1
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it
|
|
2
|
-
|
|
1
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
3
2
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
4
|
-
|
|
5
3
|
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."); }
|
|
6
|
-
|
|
7
4
|
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); }
|
|
8
|
-
|
|
9
5
|
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; }
|
|
10
|
-
|
|
11
|
-
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; }
|
|
12
|
-
|
|
6
|
+
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; }
|
|
13
7
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
-
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
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; }
|
|
18
|
-
|
|
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; }
|
|
19
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; }
|
|
20
|
-
|
|
21
11
|
import { checkRendering, createDocumentationMessageGenerator, isFiniteNumber, noop } from "../../lib/utils/index.js";
|
|
22
12
|
var withUsage = createDocumentationMessageGenerator({
|
|
23
13
|
name: 'numeric-menu',
|
|
24
14
|
connector: true
|
|
25
15
|
});
|
|
26
16
|
var $$type = 'ais.numericMenu';
|
|
27
|
-
|
|
28
17
|
var createSendEvent = function createSendEvent(_ref) {
|
|
29
18
|
var instantSearchInstance = _ref.instantSearchInstance;
|
|
30
19
|
return function () {
|
|
@@ -34,34 +23,30 @@ var createSendEvent = function createSendEvent(_ref) {
|
|
|
34
23
|
}
|
|
35
24
|
};
|
|
36
25
|
};
|
|
37
|
-
|
|
38
26
|
var connectNumericMenu = function connectNumericMenu(renderFn) {
|
|
39
27
|
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
|
|
40
28
|
checkRendering(renderFn, withUsage());
|
|
41
29
|
return function (widgetParams) {
|
|
42
30
|
var _ref2 = widgetParams || {},
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
31
|
+
_ref2$attribute = _ref2.attribute,
|
|
32
|
+
attribute = _ref2$attribute === void 0 ? '' : _ref2$attribute,
|
|
33
|
+
_ref2$items = _ref2.items,
|
|
34
|
+
items = _ref2$items === void 0 ? [] : _ref2$items,
|
|
35
|
+
_ref2$transformItems = _ref2.transformItems,
|
|
36
|
+
transformItems = _ref2$transformItems === void 0 ? function (item) {
|
|
37
|
+
return item;
|
|
38
|
+
} : _ref2$transformItems;
|
|
52
39
|
if (attribute === '') {
|
|
53
40
|
throw new Error(withUsage('The `attribute` option is required.'));
|
|
54
41
|
}
|
|
55
|
-
|
|
56
42
|
if (!items || items.length === 0) {
|
|
57
43
|
throw new Error(withUsage('The `items` option expects an array of objects.'));
|
|
58
44
|
}
|
|
59
|
-
|
|
60
45
|
var prepareItems = function prepareItems(state) {
|
|
61
46
|
return items.map(function (_ref3) {
|
|
62
47
|
var start = _ref3.start,
|
|
63
|
-
|
|
64
|
-
|
|
48
|
+
end = _ref3.end,
|
|
49
|
+
label = _ref3.label;
|
|
65
50
|
return {
|
|
66
51
|
label: label,
|
|
67
52
|
value: encodeURI(JSON.stringify({
|
|
@@ -76,7 +61,6 @@ var connectNumericMenu = function connectNumericMenu(renderFn) {
|
|
|
76
61
|
};
|
|
77
62
|
});
|
|
78
63
|
};
|
|
79
|
-
|
|
80
64
|
var connectorState = {};
|
|
81
65
|
return {
|
|
82
66
|
$$type: $$type,
|
|
@@ -101,20 +85,16 @@ var connectNumericMenu = function connectNumericMenu(renderFn) {
|
|
|
101
85
|
var searchParameters = _ref5.searchParameters;
|
|
102
86
|
var values = searchParameters.getNumericRefinements(attribute);
|
|
103
87
|
var equal = values['='] && values['='][0];
|
|
104
|
-
|
|
105
88
|
if (equal || equal === 0) {
|
|
106
89
|
return _objectSpread(_objectSpread({}, uiState), {}, {
|
|
107
90
|
numericMenu: _objectSpread(_objectSpread({}, uiState.numericMenu), {}, _defineProperty({}, attribute, "".concat(values['='])))
|
|
108
91
|
});
|
|
109
92
|
}
|
|
110
|
-
|
|
111
93
|
var min = values['>='] && values['>='][0] || '';
|
|
112
94
|
var max = values['<='] && values['<='][0] || '';
|
|
113
|
-
|
|
114
95
|
if (min === '' && max === '') {
|
|
115
96
|
return uiState;
|
|
116
97
|
}
|
|
117
|
-
|
|
118
98
|
return _objectSpread(_objectSpread({}, uiState), {}, {
|
|
119
99
|
numericMenu: _objectSpread(_objectSpread({}, uiState.numericMenu), {}, _defineProperty({}, attribute, "".concat(min, ":").concat(max)))
|
|
120
100
|
});
|
|
@@ -123,24 +103,19 @@ var connectNumericMenu = function connectNumericMenu(renderFn) {
|
|
|
123
103
|
var uiState = _ref6.uiState;
|
|
124
104
|
var value = uiState.numericMenu && uiState.numericMenu[attribute];
|
|
125
105
|
var withoutRefinements = searchParameters.clearRefinements(attribute);
|
|
126
|
-
|
|
127
106
|
if (!value) {
|
|
128
107
|
return withoutRefinements.setQueryParameters({
|
|
129
108
|
numericRefinements: _objectSpread(_objectSpread({}, withoutRefinements.numericRefinements), {}, _defineProperty({}, attribute, {}))
|
|
130
109
|
});
|
|
131
110
|
}
|
|
132
|
-
|
|
133
111
|
var isExact = value.indexOf(':') === -1;
|
|
134
|
-
|
|
135
112
|
if (isExact) {
|
|
136
113
|
return withoutRefinements.addNumericRefinement(attribute, '=', Number(value));
|
|
137
114
|
}
|
|
138
|
-
|
|
139
115
|
var _value$split$map = value.split(':').map(parseFloat),
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
116
|
+
_value$split$map2 = _slicedToArray(_value$split$map, 2),
|
|
117
|
+
min = _value$split$map2[0],
|
|
118
|
+
max = _value$split$map2[1];
|
|
144
119
|
var withMinRefinement = isFiniteNumber(min) ? withoutRefinements.addNumericRefinement(attribute, '>=', min) : withoutRefinements;
|
|
145
120
|
var withMaxRefinement = isFiniteNumber(max) ? withMinRefinement.addNumericRefinement(attribute, '<=', max) : withMinRefinement;
|
|
146
121
|
return withMaxRefinement;
|
|
@@ -152,11 +127,10 @@ var connectNumericMenu = function connectNumericMenu(renderFn) {
|
|
|
152
127
|
},
|
|
153
128
|
getWidgetRenderState: function getWidgetRenderState(_ref7) {
|
|
154
129
|
var results = _ref7.results,
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
130
|
+
state = _ref7.state,
|
|
131
|
+
instantSearchInstance = _ref7.instantSearchInstance,
|
|
132
|
+
helper = _ref7.helper,
|
|
133
|
+
createURL = _ref7.createURL;
|
|
160
134
|
if (!connectorState.refine) {
|
|
161
135
|
connectorState.refine = function (facetValue) {
|
|
162
136
|
var refinedState = getRefinedState(helper.state, attribute, facetValue);
|
|
@@ -164,7 +138,6 @@ var connectNumericMenu = function connectNumericMenu(renderFn) {
|
|
|
164
138
|
helper.setState(refinedState).search();
|
|
165
139
|
};
|
|
166
140
|
}
|
|
167
|
-
|
|
168
141
|
if (!connectorState.createURL) {
|
|
169
142
|
connectorState.createURL = function (newState) {
|
|
170
143
|
return function (facetValue) {
|
|
@@ -172,24 +145,19 @@ var connectNumericMenu = function connectNumericMenu(renderFn) {
|
|
|
172
145
|
};
|
|
173
146
|
};
|
|
174
147
|
}
|
|
175
|
-
|
|
176
148
|
if (!connectorState.sendEvent) {
|
|
177
149
|
connectorState.sendEvent = createSendEvent({
|
|
178
150
|
instantSearchInstance: instantSearchInstance
|
|
179
151
|
});
|
|
180
152
|
}
|
|
181
|
-
|
|
182
153
|
var hasNoResults = results ? results.nbHits === 0 : true;
|
|
183
154
|
var preparedItems = prepareItems(state);
|
|
184
155
|
var allIsSelected = true;
|
|
185
|
-
|
|
186
156
|
var _iterator = _createForOfIteratorHelper(preparedItems),
|
|
187
|
-
|
|
188
|
-
|
|
157
|
+
_step;
|
|
189
158
|
try {
|
|
190
159
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
191
160
|
var item = _step.value;
|
|
192
|
-
|
|
193
161
|
if (item.isRefined && decodeURI(item.value) !== '{}') {
|
|
194
162
|
allIsSelected = false;
|
|
195
163
|
break;
|
|
@@ -200,7 +168,6 @@ var connectNumericMenu = function connectNumericMenu(renderFn) {
|
|
|
200
168
|
} finally {
|
|
201
169
|
_iterator.f();
|
|
202
170
|
}
|
|
203
|
-
|
|
204
171
|
return {
|
|
205
172
|
createURL: connectorState.createURL(state),
|
|
206
173
|
items: transformItems(preparedItems, {
|
|
@@ -216,11 +183,9 @@ var connectNumericMenu = function connectNumericMenu(renderFn) {
|
|
|
216
183
|
};
|
|
217
184
|
};
|
|
218
185
|
};
|
|
219
|
-
|
|
220
186
|
function isRefined(state, attribute, option) {
|
|
221
187
|
// @TODO: same as another spot, why is this mixing arrays & elements?
|
|
222
188
|
var currentRefinements = state.getNumericRefinements(attribute);
|
|
223
|
-
|
|
224
189
|
if (option.start !== undefined && option.end !== undefined) {
|
|
225
190
|
if (option.start === option.end) {
|
|
226
191
|
return hasNumericRefinement(currentRefinements, '=', option.start);
|
|
@@ -228,79 +193,62 @@ function isRefined(state, attribute, option) {
|
|
|
228
193
|
return hasNumericRefinement(currentRefinements, '>=', option.start) && hasNumericRefinement(currentRefinements, '<=', option.end);
|
|
229
194
|
}
|
|
230
195
|
}
|
|
231
|
-
|
|
232
196
|
if (option.start !== undefined) {
|
|
233
197
|
return hasNumericRefinement(currentRefinements, '>=', option.start);
|
|
234
198
|
}
|
|
235
|
-
|
|
236
199
|
if (option.end !== undefined) {
|
|
237
200
|
return hasNumericRefinement(currentRefinements, '<=', option.end);
|
|
238
201
|
}
|
|
239
|
-
|
|
240
202
|
if (option.start === undefined && option.end === undefined) {
|
|
241
203
|
return Object.keys(currentRefinements).every(function (operator) {
|
|
242
204
|
return (currentRefinements[operator] || []).length === 0;
|
|
243
205
|
});
|
|
244
206
|
}
|
|
245
|
-
|
|
246
207
|
return false;
|
|
247
208
|
}
|
|
248
|
-
|
|
249
209
|
function getRefinedState(state, attribute, facetValue) {
|
|
250
210
|
var resolvedState = state;
|
|
251
|
-
var refinedOption = JSON.parse(decodeURI(facetValue));
|
|
211
|
+
var refinedOption = JSON.parse(decodeURI(facetValue));
|
|
252
212
|
|
|
213
|
+
// @TODO: why is array / element mixed here & hasRefinements; seems wrong?
|
|
253
214
|
var currentRefinements = resolvedState.getNumericRefinements(attribute);
|
|
254
|
-
|
|
255
215
|
if (refinedOption.start === undefined && refinedOption.end === undefined) {
|
|
256
216
|
return resolvedState.removeNumericRefinement(attribute);
|
|
257
217
|
}
|
|
258
|
-
|
|
259
218
|
if (!isRefined(resolvedState, attribute, refinedOption)) {
|
|
260
219
|
resolvedState = resolvedState.removeNumericRefinement(attribute);
|
|
261
220
|
}
|
|
262
|
-
|
|
263
221
|
if (refinedOption.start !== undefined && refinedOption.end !== undefined) {
|
|
264
222
|
if (refinedOption.start > refinedOption.end) {
|
|
265
223
|
throw new Error('option.start should be > to option.end');
|
|
266
224
|
}
|
|
267
|
-
|
|
268
225
|
if (refinedOption.start === refinedOption.end) {
|
|
269
226
|
if (hasNumericRefinement(currentRefinements, '=', refinedOption.start)) {
|
|
270
227
|
resolvedState = resolvedState.removeNumericRefinement(attribute, '=', refinedOption.start);
|
|
271
228
|
} else {
|
|
272
229
|
resolvedState = resolvedState.addNumericRefinement(attribute, '=', refinedOption.start);
|
|
273
230
|
}
|
|
274
|
-
|
|
275
231
|
return resolvedState;
|
|
276
232
|
}
|
|
277
233
|
}
|
|
278
|
-
|
|
279
234
|
if (refinedOption.start !== undefined) {
|
|
280
235
|
if (hasNumericRefinement(currentRefinements, '>=', refinedOption.start)) {
|
|
281
236
|
resolvedState = resolvedState.removeNumericRefinement(attribute, '>=', refinedOption.start);
|
|
282
237
|
}
|
|
283
|
-
|
|
284
238
|
resolvedState = resolvedState.addNumericRefinement(attribute, '>=', refinedOption.start);
|
|
285
239
|
}
|
|
286
|
-
|
|
287
240
|
if (refinedOption.end !== undefined) {
|
|
288
241
|
if (hasNumericRefinement(currentRefinements, '<=', refinedOption.end)) {
|
|
289
242
|
resolvedState = resolvedState.removeNumericRefinement(attribute, '<=', refinedOption.end);
|
|
290
243
|
}
|
|
291
|
-
|
|
292
244
|
resolvedState = resolvedState.addNumericRefinement(attribute, '<=', refinedOption.end);
|
|
293
245
|
}
|
|
294
|
-
|
|
295
246
|
if (typeof resolvedState.page === 'number') {
|
|
296
247
|
resolvedState.page = 0;
|
|
297
248
|
}
|
|
298
|
-
|
|
299
249
|
return resolvedState;
|
|
300
250
|
}
|
|
301
|
-
|
|
302
251
|
function hasNumericRefinement(currentRefinements, operator, value) {
|
|
303
252
|
return currentRefinements[operator] !== undefined && currentRefinements[operator].includes(value);
|
|
304
253
|
}
|
|
305
|
-
|
|
306
254
|
export default connectNumericMenu;
|
|
@@ -1,43 +1,31 @@
|
|
|
1
1
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
2
|
-
|
|
3
2
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
4
|
-
|
|
5
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
6
|
-
|
|
3
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
7
4
|
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; }
|
|
8
|
-
|
|
9
5
|
import { range } from "../../lib/utils/index.js";
|
|
10
|
-
|
|
11
6
|
var Paginator = /*#__PURE__*/function () {
|
|
12
7
|
function Paginator(params) {
|
|
13
8
|
_classCallCheck(this, Paginator);
|
|
14
|
-
|
|
15
9
|
_defineProperty(this, "currentPage", void 0);
|
|
16
|
-
|
|
17
10
|
_defineProperty(this, "total", void 0);
|
|
18
|
-
|
|
19
11
|
_defineProperty(this, "padding", void 0);
|
|
20
|
-
|
|
21
12
|
this.currentPage = params.currentPage;
|
|
22
13
|
this.total = params.total;
|
|
23
14
|
this.padding = params.padding;
|
|
24
15
|
}
|
|
25
|
-
|
|
26
16
|
_createClass(Paginator, [{
|
|
27
17
|
key: "pages",
|
|
28
18
|
value: function pages() {
|
|
29
19
|
var total = this.total,
|
|
30
|
-
|
|
31
|
-
|
|
20
|
+
currentPage = this.currentPage,
|
|
21
|
+
padding = this.padding;
|
|
32
22
|
if (total === 0) return [0];
|
|
33
23
|
var totalDisplayedPages = this.nbPagesDisplayed(padding, total);
|
|
34
|
-
|
|
35
24
|
if (totalDisplayedPages === total) {
|
|
36
25
|
return range({
|
|
37
26
|
end: total
|
|
38
27
|
});
|
|
39
28
|
}
|
|
40
|
-
|
|
41
29
|
var paddingLeft = this.calculatePaddingLeft(currentPage, padding, total, totalDisplayedPages);
|
|
42
30
|
var paddingRight = totalDisplayedPages - paddingLeft;
|
|
43
31
|
var first = currentPage - paddingLeft;
|
|
@@ -58,11 +46,9 @@ var Paginator = /*#__PURE__*/function () {
|
|
|
58
46
|
if (current <= padding) {
|
|
59
47
|
return current;
|
|
60
48
|
}
|
|
61
|
-
|
|
62
49
|
if (current >= total - padding) {
|
|
63
50
|
return totalDisplayedPages - (total - current);
|
|
64
51
|
}
|
|
65
|
-
|
|
66
52
|
return padding;
|
|
67
53
|
}
|
|
68
54
|
}, {
|
|
@@ -76,8 +62,6 @@ var Paginator = /*#__PURE__*/function () {
|
|
|
76
62
|
return this.currentPage === 0;
|
|
77
63
|
}
|
|
78
64
|
}]);
|
|
79
|
-
|
|
80
65
|
return Paginator;
|
|
81
66
|
}();
|
|
82
|
-
|
|
83
67
|
export default Paginator;
|
|
@@ -1,16 +1,12 @@
|
|
|
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 { checkRendering, createDocumentationMessageGenerator, noop } from "../../lib/utils/index.js";
|
|
8
5
|
import Paginator from "./Paginator.js";
|
|
9
6
|
var withUsage = createDocumentationMessageGenerator({
|
|
10
7
|
name: 'pagination',
|
|
11
8
|
connector: true
|
|
12
9
|
});
|
|
13
|
-
|
|
14
10
|
/**
|
|
15
11
|
* **Pagination** connector provides the logic to build a widget that will let the user
|
|
16
12
|
* choose the current page of the results.
|
|
@@ -23,22 +19,19 @@ var connectPagination = function connectPagination(renderFn) {
|
|
|
23
19
|
checkRendering(renderFn, withUsage());
|
|
24
20
|
return function (widgetParams) {
|
|
25
21
|
var _ref = widgetParams || {},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
totalPages = _ref.totalPages,
|
|
23
|
+
_ref$padding = _ref.padding,
|
|
24
|
+
padding = _ref$padding === void 0 ? 3 : _ref$padding;
|
|
30
25
|
var pager = new Paginator({
|
|
31
26
|
currentPage: 0,
|
|
32
27
|
total: 0,
|
|
33
28
|
padding: padding
|
|
34
29
|
});
|
|
35
30
|
var connectorState = {};
|
|
36
|
-
|
|
37
31
|
function getMaxPage(_ref2) {
|
|
38
32
|
var nbPages = _ref2.nbPages;
|
|
39
33
|
return totalPages !== undefined ? Math.min(totalPages, nbPages) : nbPages;
|
|
40
34
|
}
|
|
41
|
-
|
|
42
35
|
return {
|
|
43
36
|
$$type: 'ais.pagination',
|
|
44
37
|
init: function init(initOptions) {
|
|
@@ -61,11 +54,9 @@ var connectPagination = function connectPagination(renderFn) {
|
|
|
61
54
|
getWidgetUiState: function getWidgetUiState(uiState, _ref4) {
|
|
62
55
|
var searchParameters = _ref4.searchParameters;
|
|
63
56
|
var page = searchParameters.page || 0;
|
|
64
|
-
|
|
65
57
|
if (!page) {
|
|
66
58
|
return uiState;
|
|
67
59
|
}
|
|
68
|
-
|
|
69
60
|
return _objectSpread(_objectSpread({}, uiState), {}, {
|
|
70
61
|
page: page + 1
|
|
71
62
|
});
|
|
@@ -77,17 +68,15 @@ var connectPagination = function connectPagination(renderFn) {
|
|
|
77
68
|
},
|
|
78
69
|
getWidgetRenderState: function getWidgetRenderState(_ref6) {
|
|
79
70
|
var results = _ref6.results,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
71
|
+
helper = _ref6.helper,
|
|
72
|
+
state = _ref6.state,
|
|
73
|
+
createURL = _ref6.createURL;
|
|
84
74
|
if (!connectorState.refine) {
|
|
85
75
|
connectorState.refine = function (page) {
|
|
86
76
|
helper.setPage(page);
|
|
87
77
|
helper.search();
|
|
88
78
|
};
|
|
89
79
|
}
|
|
90
|
-
|
|
91
80
|
if (!connectorState.createURL) {
|
|
92
81
|
connectorState.createURL = function (helperState) {
|
|
93
82
|
return function (page) {
|
|
@@ -95,7 +84,6 @@ var connectPagination = function connectPagination(renderFn) {
|
|
|
95
84
|
};
|
|
96
85
|
};
|
|
97
86
|
}
|
|
98
|
-
|
|
99
87
|
var page = state.page || 0;
|
|
100
88
|
var nbPages = getMaxPage(results || {
|
|
101
89
|
nbPages: 0
|
|
@@ -123,5 +111,4 @@ var connectPagination = function connectPagination(renderFn) {
|
|
|
123
111
|
};
|
|
124
112
|
};
|
|
125
113
|
};
|
|
126
|
-
|
|
127
114
|
export default connectPagination;
|
|
@@ -1,15 +1,11 @@
|
|
|
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 { safelyRunOnBrowser, checkRendering, createDocumentationMessageGenerator, noop } from "../../lib/utils/index.js";
|
|
8
5
|
var withUsage = createDocumentationMessageGenerator({
|
|
9
6
|
name: 'powered-by',
|
|
10
7
|
connector: true
|
|
11
8
|
});
|
|
12
|
-
|
|
13
9
|
/**
|
|
14
10
|
* **PoweredBy** connector provides the logic to build a custom widget that will displays
|
|
15
11
|
* the logo to redirect to Algolia.
|
|
@@ -19,7 +15,6 @@ var connectPoweredBy = function connectPoweredBy(renderFn) {
|
|
|
19
15
|
checkRendering(renderFn, withUsage());
|
|
20
16
|
var defaultUrl = 'https://www.algolia.com/?' + 'utm_source=instantsearch.js&' + 'utm_medium=website&' + "utm_content=".concat(safelyRunOnBrowser(function (_ref) {
|
|
21
17
|
var _window$location;
|
|
22
|
-
|
|
23
18
|
var window = _ref.window;
|
|
24
19
|
return ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || '';
|
|
25
20
|
}, {
|
|
@@ -29,9 +24,8 @@ var connectPoweredBy = function connectPoweredBy(renderFn) {
|
|
|
29
24
|
}), "&") + 'utm_campaign=poweredby';
|
|
30
25
|
return function (widgetParams) {
|
|
31
26
|
var _ref2 = widgetParams || {},
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
_ref2$url = _ref2.url,
|
|
28
|
+
url = _ref2$url === void 0 ? defaultUrl : _ref2$url;
|
|
35
29
|
return {
|
|
36
30
|
$$type: 'ais.poweredBy',
|
|
37
31
|
init: function init(initOptions) {
|
|
@@ -63,5 +57,4 @@ var connectPoweredBy = function connectPoweredBy(renderFn) {
|
|
|
63
57
|
};
|
|
64
58
|
};
|
|
65
59
|
};
|
|
66
|
-
|
|
67
60
|
export default connectPoweredBy;
|