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,39 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _algoliasearchHelper = _interopRequireDefault(require("algoliasearch-helper"));
|
|
9
|
-
|
|
10
8
|
var _index = require("../../lib/utils/index.js");
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
function
|
|
15
|
-
|
|
16
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
17
|
-
|
|
10
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
12
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
-
|
|
20
13
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
21
|
-
|
|
22
14
|
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."); }
|
|
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
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
27
|
-
|
|
16
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
28
17
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
29
|
-
|
|
30
18
|
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; }
|
|
31
|
-
|
|
32
19
|
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; }
|
|
33
|
-
|
|
34
20
|
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; }
|
|
35
|
-
|
|
36
21
|
var withUsage = (0, _index.createDocumentationMessageGenerator)({
|
|
37
22
|
name: 'index-widget'
|
|
38
23
|
});
|
|
39
|
-
|
|
40
24
|
/**
|
|
41
25
|
* This is the same content as helper._change / setState, but allowing for extra
|
|
42
26
|
* UiState to be synchronized.
|
|
@@ -44,9 +28,8 @@ var withUsage = (0, _index.createDocumentationMessageGenerator)({
|
|
|
44
28
|
*/
|
|
45
29
|
function privateHelperSetState(helper, _ref) {
|
|
46
30
|
var state = _ref.state,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
31
|
+
isPageReset = _ref.isPageReset,
|
|
32
|
+
_uiState = _ref._uiState;
|
|
50
33
|
if (state !== helper.state) {
|
|
51
34
|
helper.state = state;
|
|
52
35
|
helper.emit('change', {
|
|
@@ -57,48 +40,38 @@ function privateHelperSetState(helper, _ref) {
|
|
|
57
40
|
});
|
|
58
41
|
}
|
|
59
42
|
}
|
|
60
|
-
|
|
61
43
|
function getLocalWidgetsUiState(widgets, widgetStateOptions) {
|
|
62
44
|
var initialUiState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
63
45
|
return widgets.reduce(function (uiState, widget) {
|
|
64
46
|
if ((0, _index.isIndexWidget)(widget)) {
|
|
65
47
|
return uiState;
|
|
66
48
|
}
|
|
67
|
-
|
|
68
49
|
if (!widget.getWidgetUiState && !widget.getWidgetState) {
|
|
69
50
|
return uiState;
|
|
70
51
|
}
|
|
71
|
-
|
|
72
52
|
if (widget.getWidgetUiState) {
|
|
73
53
|
return widget.getWidgetUiState(uiState, widgetStateOptions);
|
|
74
54
|
}
|
|
75
|
-
|
|
76
55
|
return widget.getWidgetState(uiState, widgetStateOptions);
|
|
77
56
|
}, initialUiState);
|
|
78
57
|
}
|
|
79
|
-
|
|
80
58
|
function getLocalWidgetsSearchParameters(widgets, widgetSearchParametersOptions) {
|
|
81
59
|
var initialSearchParameters = widgetSearchParametersOptions.initialSearchParameters,
|
|
82
|
-
|
|
83
|
-
|
|
60
|
+
rest = _objectWithoutProperties(widgetSearchParametersOptions, ["initialSearchParameters"]);
|
|
84
61
|
return widgets.filter(function (widget) {
|
|
85
62
|
return !(0, _index.isIndexWidget)(widget);
|
|
86
63
|
}).reduce(function (state, widget) {
|
|
87
64
|
if (!widget.getWidgetSearchParameters) {
|
|
88
65
|
return state;
|
|
89
66
|
}
|
|
90
|
-
|
|
91
67
|
return widget.getWidgetSearchParameters(state, rest);
|
|
92
68
|
}, initialSearchParameters);
|
|
93
69
|
}
|
|
94
|
-
|
|
95
70
|
function resetPageFromWidgets(widgets) {
|
|
96
71
|
var indexWidgets = widgets.filter(_index.isIndexWidget);
|
|
97
|
-
|
|
98
72
|
if (indexWidgets.length === 0) {
|
|
99
73
|
return;
|
|
100
74
|
}
|
|
101
|
-
|
|
102
75
|
indexWidgets.forEach(function (widget) {
|
|
103
76
|
var widgetHelper = widget.getHelper();
|
|
104
77
|
privateHelperSetState(widgetHelper, {
|
|
@@ -108,7 +81,6 @@ function resetPageFromWidgets(widgets) {
|
|
|
108
81
|
resetPageFromWidgets(widget.getWidgets());
|
|
109
82
|
});
|
|
110
83
|
}
|
|
111
|
-
|
|
112
84
|
function resolveScopedResultsFromWidgets(widgets) {
|
|
113
85
|
var indexWidgets = widgets.filter(_index.isIndexWidget);
|
|
114
86
|
return indexWidgets.reduce(function (scopedResults, current) {
|
|
@@ -119,15 +91,13 @@ function resolveScopedResultsFromWidgets(widgets) {
|
|
|
119
91
|
}].concat(_toConsumableArray(resolveScopedResultsFromWidgets(current.getWidgets()))));
|
|
120
92
|
}, []);
|
|
121
93
|
}
|
|
122
|
-
|
|
123
94
|
var index = function index(widgetParams) {
|
|
124
95
|
if (widgetParams === undefined || widgetParams.indexName === undefined) {
|
|
125
96
|
throw new Error(withUsage('The `indexName` option is required.'));
|
|
126
97
|
}
|
|
127
|
-
|
|
128
98
|
var indexName = widgetParams.indexName,
|
|
129
|
-
|
|
130
|
-
|
|
99
|
+
_widgetParams$indexId = widgetParams.indexId,
|
|
100
|
+
indexId = _widgetParams$indexId === void 0 ? indexName : _widgetParams$indexId;
|
|
131
101
|
var localWidgets = [];
|
|
132
102
|
var localUiState = {};
|
|
133
103
|
var localInstantSearchInstance = null;
|
|
@@ -150,8 +120,9 @@ var index = function index(widgetParams) {
|
|
|
150
120
|
return derivedHelper && derivedHelper.lastResults;
|
|
151
121
|
},
|
|
152
122
|
getScopedResults: function getScopedResults() {
|
|
153
|
-
var widgetParent = this.getParent();
|
|
123
|
+
var widgetParent = this.getParent();
|
|
154
124
|
|
|
125
|
+
// If the widget is the root, we consider itself as the only sibling.
|
|
155
126
|
var widgetSiblings = widgetParent ? widgetParent.getWidgets() : [this];
|
|
156
127
|
return resolveScopedResultsFromWidgets(widgetSiblings);
|
|
157
128
|
},
|
|
@@ -169,19 +140,15 @@ var index = function index(widgetParams) {
|
|
|
169
140
|
},
|
|
170
141
|
addWidgets: function addWidgets(widgets) {
|
|
171
142
|
var _this = this;
|
|
172
|
-
|
|
173
143
|
if (!Array.isArray(widgets)) {
|
|
174
144
|
throw new Error(withUsage('The `addWidgets` method expects an array of widgets.'));
|
|
175
145
|
}
|
|
176
|
-
|
|
177
146
|
if (widgets.some(function (widget) {
|
|
178
147
|
return typeof widget.init !== 'function' && typeof widget.render !== 'function';
|
|
179
148
|
})) {
|
|
180
149
|
throw new Error(withUsage('The widget definition expects a `render` and/or an `init` method.'));
|
|
181
150
|
}
|
|
182
|
-
|
|
183
151
|
localWidgets = localWidgets.concat(widgets);
|
|
184
|
-
|
|
185
152
|
if (localInstantSearchInstance && Boolean(widgets.length)) {
|
|
186
153
|
privateHelperSetState(helper, {
|
|
187
154
|
state: getLocalWidgetsSearchParameters(localWidgets, {
|
|
@@ -189,10 +156,11 @@ var index = function index(widgetParams) {
|
|
|
189
156
|
initialSearchParameters: helper.state
|
|
190
157
|
}),
|
|
191
158
|
_uiState: localUiState
|
|
192
|
-
});
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
// We compute the render state before calling `init` in a separate loop
|
|
193
162
|
// to construct the whole render state object that is then passed to
|
|
194
163
|
// `init`.
|
|
195
|
-
|
|
196
164
|
widgets.forEach(function (widget) {
|
|
197
165
|
if (widget.getRenderState) {
|
|
198
166
|
var renderState = widget.getRenderState(localInstantSearchInstance.renderState[_this.getIndexId()] || {}, (0, _index.createInitArgs)(localInstantSearchInstance, _this, localInstantSearchInstance._initialUiState));
|
|
@@ -210,26 +178,21 @@ var index = function index(widgetParams) {
|
|
|
210
178
|
});
|
|
211
179
|
localInstantSearchInstance.scheduleSearch();
|
|
212
180
|
}
|
|
213
|
-
|
|
214
181
|
return this;
|
|
215
182
|
},
|
|
216
183
|
removeWidgets: function removeWidgets(widgets) {
|
|
217
184
|
var _this2 = this;
|
|
218
|
-
|
|
219
185
|
if (!Array.isArray(widgets)) {
|
|
220
186
|
throw new Error(withUsage('The `removeWidgets` method expects an array of widgets.'));
|
|
221
187
|
}
|
|
222
|
-
|
|
223
188
|
if (widgets.some(function (widget) {
|
|
224
189
|
return typeof widget.dispose !== 'function';
|
|
225
190
|
})) {
|
|
226
191
|
throw new Error(withUsage('The widget definition expects a `dispose` method.'));
|
|
227
192
|
}
|
|
228
|
-
|
|
229
193
|
localWidgets = localWidgets.filter(function (widget) {
|
|
230
194
|
return widgets.indexOf(widget) === -1;
|
|
231
195
|
});
|
|
232
|
-
|
|
233
196
|
if (localInstantSearchInstance && Boolean(widgets.length)) {
|
|
234
197
|
var nextState = widgets.reduce(function (state, widget) {
|
|
235
198
|
// the `dispose` method exists at this point we already assert it
|
|
@@ -248,48 +211,46 @@ var index = function index(widgetParams) {
|
|
|
248
211
|
uiState: localUiState,
|
|
249
212
|
initialSearchParameters: nextState
|
|
250
213
|
}));
|
|
251
|
-
|
|
252
214
|
if (localWidgets.length) {
|
|
253
215
|
localInstantSearchInstance.scheduleSearch();
|
|
254
216
|
}
|
|
255
217
|
}
|
|
256
|
-
|
|
257
218
|
return this;
|
|
258
219
|
},
|
|
259
220
|
init: function init(_ref2) {
|
|
260
221
|
var _this3 = this,
|
|
261
|
-
|
|
262
|
-
|
|
222
|
+
_instantSearchInstanc;
|
|
263
223
|
var instantSearchInstance = _ref2.instantSearchInstance,
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
224
|
+
parent = _ref2.parent,
|
|
225
|
+
uiState = _ref2.uiState;
|
|
267
226
|
if (helper !== null) {
|
|
268
227
|
// helper is already initialized, therefore we do not need to set up
|
|
269
228
|
// any listeners
|
|
270
229
|
return;
|
|
271
230
|
}
|
|
272
|
-
|
|
273
231
|
localInstantSearchInstance = instantSearchInstance;
|
|
274
232
|
localParent = parent;
|
|
275
|
-
localUiState = uiState[indexId] || {};
|
|
233
|
+
localUiState = uiState[indexId] || {};
|
|
234
|
+
|
|
235
|
+
// The `mainHelper` is already defined at this point. The instance is created
|
|
276
236
|
// inside InstantSearch at the `start` method, which occurs before the `init`
|
|
277
237
|
// step.
|
|
278
|
-
|
|
279
238
|
var mainHelper = instantSearchInstance.mainHelper;
|
|
280
239
|
var parameters = getLocalWidgetsSearchParameters(localWidgets, {
|
|
281
240
|
uiState: localUiState,
|
|
282
241
|
initialSearchParameters: new _algoliasearchHelper.default.SearchParameters({
|
|
283
242
|
index: indexName
|
|
284
243
|
})
|
|
285
|
-
});
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
// This Helper is only used for state management we do not care about the
|
|
286
247
|
// `searchClient`. Only the "main" Helper created at the `InstantSearch`
|
|
287
248
|
// level is aware of the client.
|
|
249
|
+
helper = (0, _algoliasearchHelper.default)({}, parameters.index, parameters);
|
|
288
250
|
|
|
289
|
-
|
|
251
|
+
// We forward the call to `search` to the "main" instance of the Helper
|
|
290
252
|
// which is responsible for managing the queries (it's the only one that is
|
|
291
253
|
// aware of the `searchClient`).
|
|
292
|
-
|
|
293
254
|
helper.search = function () {
|
|
294
255
|
if (instantSearchInstance.onStateChange) {
|
|
295
256
|
instantSearchInstance.onStateChange({
|
|
@@ -297,45 +258,41 @@ var index = function index(widgetParams) {
|
|
|
297
258
|
setUiState: function setUiState(nextState) {
|
|
298
259
|
return instantSearchInstance.setUiState(nextState, false);
|
|
299
260
|
}
|
|
300
|
-
});
|
|
301
|
-
// responsibility of `setUiState`.
|
|
261
|
+
});
|
|
302
262
|
|
|
263
|
+
// We don't trigger a search when controlled because it becomes the
|
|
264
|
+
// responsibility of `setUiState`.
|
|
303
265
|
return mainHelper;
|
|
304
266
|
}
|
|
305
|
-
|
|
306
267
|
return mainHelper.search();
|
|
307
268
|
};
|
|
308
|
-
|
|
309
269
|
helper.searchWithoutTriggeringOnStateChange = function () {
|
|
310
270
|
return mainHelper.search();
|
|
311
|
-
};
|
|
312
|
-
|
|
271
|
+
};
|
|
313
272
|
|
|
273
|
+
// We use the same pattern for the `searchForFacetValues`.
|
|
314
274
|
helper.searchForFacetValues = function (facetName, facetValue, maxFacetHits, userState) {
|
|
315
275
|
var state = helper.state.setQueryParameters(userState);
|
|
316
276
|
return mainHelper.searchForFacetValues(facetName, facetValue, maxFacetHits, state);
|
|
317
277
|
};
|
|
318
|
-
|
|
319
278
|
derivedHelper = mainHelper.derive(function () {
|
|
320
279
|
return _index.mergeSearchParameters.apply(void 0, _toConsumableArray((0, _index.resolveSearchParameters)(_this3)));
|
|
321
280
|
});
|
|
322
281
|
var indexInitialResults = (_instantSearchInstanc = instantSearchInstance._initialResults) === null || _instantSearchInstanc === void 0 ? void 0 : _instantSearchInstanc[this.getIndexId()];
|
|
323
|
-
|
|
324
282
|
if (indexInitialResults) {
|
|
325
283
|
// We restore the shape of the results provided to the instance to respect
|
|
326
284
|
// the helper's structure.
|
|
327
285
|
var results = new _algoliasearchHelper.default.SearchResults(new _algoliasearchHelper.default.SearchParameters(indexInitialResults.state), indexInitialResults.results);
|
|
328
286
|
derivedHelper.lastResults = results;
|
|
329
287
|
helper.lastResults = results;
|
|
330
|
-
}
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
// Subscribe to the Helper state changes for the page before widgets
|
|
331
291
|
// are initialized. This behavior mimics the original one of the Helper.
|
|
332
292
|
// It makes sense to replicate it at the `init` step. We have another
|
|
333
293
|
// listener on `change` below, once `init` is done.
|
|
334
|
-
|
|
335
|
-
|
|
336
294
|
helper.on('change', function (_ref3) {
|
|
337
295
|
var isPageReset = _ref3.isPageReset;
|
|
338
|
-
|
|
339
296
|
if (isPageReset) {
|
|
340
297
|
resetPageFromWidgets(localWidgets);
|
|
341
298
|
}
|
|
@@ -346,7 +303,6 @@ var index = function index(widgetParams) {
|
|
|
346
303
|
// it at the index level because it's either: all of them or none of them
|
|
347
304
|
// that are stalled. The queries are performed into a single network request.
|
|
348
305
|
instantSearchInstance.scheduleStalledRender();
|
|
349
|
-
|
|
350
306
|
if (process.env.NODE_ENV === 'development') {
|
|
351
307
|
(0, _index.checkIndexUiState)({
|
|
352
308
|
index: _this3,
|
|
@@ -359,16 +315,18 @@ var index = function index(widgetParams) {
|
|
|
359
315
|
// The index does not render the results it schedules a new render
|
|
360
316
|
// to let all the other indices emit their own results. It allows us to
|
|
361
317
|
// run the render process in one pass.
|
|
362
|
-
instantSearchInstance.scheduleRender();
|
|
318
|
+
instantSearchInstance.scheduleRender();
|
|
319
|
+
|
|
320
|
+
// the derived helper is the one which actually searches, but the helper
|
|
363
321
|
// which is exposed e.g. via instance.helper, doesn't search, and thus
|
|
364
322
|
// does not have access to lastResults, which it used to in pre-federated
|
|
365
323
|
// search behavior.
|
|
366
|
-
|
|
367
324
|
helper.lastResults = results;
|
|
368
|
-
});
|
|
325
|
+
});
|
|
326
|
+
|
|
327
|
+
// We compute the render state before calling `init` in a separate loop
|
|
369
328
|
// to construct the whole render state object that is then passed to
|
|
370
329
|
// `init`.
|
|
371
|
-
|
|
372
330
|
localWidgets.forEach(function (widget) {
|
|
373
331
|
if (widget.getRenderState) {
|
|
374
332
|
var renderState = widget.getRenderState(instantSearchInstance.renderState[_this3.getIndexId()] || {}, (0, _index.createInitArgs)(instantSearchInstance, _this3, uiState));
|
|
@@ -380,34 +338,35 @@ var index = function index(widgetParams) {
|
|
|
380
338
|
}
|
|
381
339
|
});
|
|
382
340
|
localWidgets.forEach(function (widget) {
|
|
383
|
-
process.env.NODE_ENV === 'development' ? (0, _index.warning)(
|
|
341
|
+
process.env.NODE_ENV === 'development' ? (0, _index.warning)(
|
|
342
|
+
// if it has NO getWidgetState or if it has getWidgetUiState, we don't warn
|
|
384
343
|
// aka we warn if there's _only_ getWidgetState
|
|
385
344
|
!widget.getWidgetState || Boolean(widget.getWidgetUiState), 'The `getWidgetState` method is renamed `getWidgetUiState` and will no longer exist under that name in InstantSearch.js 5.x. Please use `getWidgetUiState` instead.') : void 0;
|
|
386
|
-
|
|
387
345
|
if (widget.init) {
|
|
388
346
|
widget.init((0, _index.createInitArgs)(instantSearchInstance, _this3, uiState));
|
|
389
347
|
}
|
|
390
|
-
});
|
|
348
|
+
});
|
|
349
|
+
|
|
350
|
+
// Subscribe to the Helper state changes for the `uiState` once widgets
|
|
391
351
|
// are initialized. Until the first render, state changes are part of the
|
|
392
352
|
// configuration step. This is mainly for backward compatibility with custom
|
|
393
353
|
// widgets. When the subscription happens before the `init` step, the (static)
|
|
394
354
|
// configuration of the widget is pushed in the URL. That's what we want to avoid.
|
|
395
355
|
// https://github.com/algolia/instantsearch.js/pull/994/commits/4a672ae3fd78809e213de0368549ef12e9dc9454
|
|
396
|
-
|
|
397
356
|
helper.on('change', function (event) {
|
|
398
357
|
var state = event.state;
|
|
399
358
|
var _uiState = event._uiState;
|
|
400
359
|
localUiState = getLocalWidgetsUiState(localWidgets, {
|
|
401
360
|
searchParameters: state,
|
|
402
361
|
helper: helper
|
|
403
|
-
}, _uiState || {});
|
|
404
|
-
// becomes the responsibility of `setUiState`.
|
|
362
|
+
}, _uiState || {});
|
|
405
363
|
|
|
364
|
+
// We don't trigger an internal change when controlled because it
|
|
365
|
+
// becomes the responsibility of `setUiState`.
|
|
406
366
|
if (!instantSearchInstance.onStateChange) {
|
|
407
367
|
instantSearchInstance.onInternalStateChange();
|
|
408
368
|
}
|
|
409
369
|
});
|
|
410
|
-
|
|
411
370
|
if (indexInitialResults) {
|
|
412
371
|
// If there are initial results, we're not notified of the next results
|
|
413
372
|
// because we don't trigger an initial search. We therefore need to directly
|
|
@@ -417,13 +376,10 @@ var index = function index(widgetParams) {
|
|
|
417
376
|
},
|
|
418
377
|
render: function render(_ref5) {
|
|
419
378
|
var _this4 = this;
|
|
420
|
-
|
|
421
379
|
var instantSearchInstance = _ref5.instantSearchInstance;
|
|
422
|
-
|
|
423
380
|
if (!this.getResults()) {
|
|
424
381
|
return;
|
|
425
382
|
}
|
|
426
|
-
|
|
427
383
|
localWidgets.forEach(function (widget) {
|
|
428
384
|
if (widget.getRenderState) {
|
|
429
385
|
var renderState = widget.getRenderState(instantSearchInstance.renderState[_this4.getIndexId()] || {}, (0, _index.createRenderArgs)(instantSearchInstance, _this4));
|
|
@@ -441,6 +397,7 @@ var index = function index(widgetParams) {
|
|
|
441
397
|
// happens before the result e.g with a dynamically added index the request might
|
|
442
398
|
// be delayed. The render is triggered for the complete tree but some parts do
|
|
443
399
|
// not have results yet.
|
|
400
|
+
|
|
444
401
|
if (widget.render) {
|
|
445
402
|
widget.render((0, _index.createRenderArgs)(instantSearchInstance, _this4));
|
|
446
403
|
}
|
|
@@ -448,7 +405,6 @@ var index = function index(widgetParams) {
|
|
|
448
405
|
},
|
|
449
406
|
dispose: function dispose() {
|
|
450
407
|
var _this5 = this;
|
|
451
|
-
|
|
452
408
|
localWidgets.forEach(function (widget) {
|
|
453
409
|
if (widget.dispose) {
|
|
454
410
|
// The dispose function is always called once the instance is started
|
|
@@ -495,14 +451,12 @@ var index = function index(widgetParams) {
|
|
|
495
451
|
}
|
|
496
452
|
};
|
|
497
453
|
};
|
|
498
|
-
|
|
499
454
|
var _default = index;
|
|
500
455
|
exports.default = _default;
|
|
501
|
-
|
|
502
456
|
function storeRenderState(_ref7) {
|
|
503
457
|
var renderState = _ref7.renderState,
|
|
504
|
-
|
|
505
|
-
|
|
458
|
+
instantSearchInstance = _ref7.instantSearchInstance,
|
|
459
|
+
parent = _ref7.parent;
|
|
506
460
|
var parentIndexName = parent ? parent.getIndexId() : instantSearchInstance.mainIndex.getIndexId();
|
|
507
461
|
instantSearchInstance.renderState = _objectSpread(_objectSpread({}, instantSearchInstance.renderState), {}, _defineProperty({}, parentIndexName, _objectSpread(_objectSpread({}, instantSearchInstance.renderState[parentIndexName]), renderState)));
|
|
508
462
|
}
|
package/cjs/widgets/index.js
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.EXPERIMENTAL_answers = void 0;
|
|
7
|
+
Object.defineProperty(exports, "EXPERIMENTAL_configureRelatedItems", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _configureRelatedItems.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
exports.EXPERIMENTAL_dynamicWidgets = void 0;
|
|
6
14
|
Object.defineProperty(exports, "analytics", {
|
|
7
15
|
enumerable: true,
|
|
8
16
|
get: function get() {
|
|
@@ -33,18 +41,6 @@ Object.defineProperty(exports, "currentRefinements", {
|
|
|
33
41
|
return _currentRefinements.default;
|
|
34
42
|
}
|
|
35
43
|
});
|
|
36
|
-
Object.defineProperty(exports, "EXPERIMENTAL_answers", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function get() {
|
|
39
|
-
return _answers.default;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(exports, "EXPERIMENTAL_configureRelatedItems", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
get: function get() {
|
|
45
|
-
return _configureRelatedItems.default;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
44
|
Object.defineProperty(exports, "dynamicWidgets", {
|
|
49
45
|
enumerable: true,
|
|
50
46
|
get: function get() {
|
|
@@ -201,78 +197,44 @@ Object.defineProperty(exports, "voiceSearch", {
|
|
|
201
197
|
return _voiceSearch.default;
|
|
202
198
|
}
|
|
203
199
|
});
|
|
204
|
-
|
|
205
|
-
|
|
200
|
+
var _index = require("../lib/utils/index.js");
|
|
206
201
|
var _analytics = _interopRequireDefault(require("./analytics/analytics.js"));
|
|
207
|
-
|
|
208
202
|
var _breadcrumb = _interopRequireDefault(require("./breadcrumb/breadcrumb.js"));
|
|
209
|
-
|
|
210
203
|
var _clearRefinements = _interopRequireDefault(require("./clear-refinements/clear-refinements.js"));
|
|
211
|
-
|
|
212
204
|
var _configure = _interopRequireDefault(require("./configure/configure.js"));
|
|
213
|
-
|
|
214
205
|
var _currentRefinements = _interopRequireDefault(require("./current-refinements/current-refinements.js"));
|
|
215
|
-
|
|
216
206
|
var _answers = _interopRequireDefault(require("./answers/answers.js"));
|
|
217
|
-
|
|
218
207
|
var _configureRelatedItems = _interopRequireDefault(require("./configure-related-items/configure-related-items.js"));
|
|
219
|
-
|
|
220
208
|
var _dynamicWidgets = _interopRequireDefault(require("./dynamic-widgets/dynamic-widgets.js"));
|
|
221
|
-
|
|
222
|
-
var _index = require("../lib/utils/index.js");
|
|
223
|
-
|
|
224
209
|
var _geoSearch = _interopRequireDefault(require("./geo-search/geo-search.js"));
|
|
225
|
-
|
|
226
210
|
var _hierarchicalMenu = _interopRequireDefault(require("./hierarchical-menu/hierarchical-menu.js"));
|
|
227
|
-
|
|
228
211
|
var _hits = _interopRequireDefault(require("./hits/hits.js"));
|
|
229
|
-
|
|
230
212
|
var _hitsPerPage = _interopRequireDefault(require("./hits-per-page/hits-per-page.js"));
|
|
231
|
-
|
|
232
213
|
var _index2 = _interopRequireDefault(require("./index/index.js"));
|
|
233
|
-
|
|
234
214
|
var _infiniteHits = _interopRequireDefault(require("./infinite-hits/infinite-hits.js"));
|
|
235
|
-
|
|
236
215
|
var _menu = _interopRequireDefault(require("./menu/menu.js"));
|
|
237
|
-
|
|
238
216
|
var _menuSelect = _interopRequireDefault(require("./menu-select/menu-select.js"));
|
|
239
|
-
|
|
240
217
|
var _numericMenu = _interopRequireDefault(require("./numeric-menu/numeric-menu.js"));
|
|
241
|
-
|
|
242
218
|
var _pagination = _interopRequireDefault(require("./pagination/pagination.js"));
|
|
243
|
-
|
|
244
219
|
var _panel = _interopRequireDefault(require("./panel/panel.js"));
|
|
245
|
-
|
|
246
220
|
var _places = _interopRequireDefault(require("./places/places.js"));
|
|
247
|
-
|
|
248
221
|
var _poweredBy = _interopRequireDefault(require("./powered-by/powered-by.js"));
|
|
249
|
-
|
|
250
222
|
var _queryRuleContext = _interopRequireDefault(require("./query-rule-context/query-rule-context.js"));
|
|
251
|
-
|
|
252
223
|
var _queryRuleCustomData = _interopRequireDefault(require("./query-rule-custom-data/query-rule-custom-data.js"));
|
|
253
|
-
|
|
254
224
|
var _rangeInput = _interopRequireDefault(require("./range-input/range-input.js"));
|
|
255
|
-
|
|
256
225
|
var _rangeSlider = _interopRequireDefault(require("./range-slider/range-slider.js"));
|
|
257
|
-
|
|
258
226
|
var _ratingMenu = _interopRequireDefault(require("./rating-menu/rating-menu.js"));
|
|
259
|
-
|
|
260
227
|
var _refinementList = _interopRequireDefault(require("./refinement-list/refinement-list.js"));
|
|
261
|
-
|
|
262
228
|
var _relevantSort = _interopRequireDefault(require("./relevant-sort/relevant-sort.js"));
|
|
263
|
-
|
|
264
229
|
var _searchBox = _interopRequireDefault(require("./search-box/search-box.js"));
|
|
265
|
-
|
|
266
230
|
var _sortBy = _interopRequireDefault(require("./sort-by/sort-by.js"));
|
|
267
|
-
|
|
268
231
|
var _stats = _interopRequireDefault(require("./stats/stats.js"));
|
|
269
|
-
|
|
270
232
|
var _toggleRefinement = _interopRequireDefault(require("./toggle-refinement/toggle-refinement.js"));
|
|
271
|
-
|
|
272
233
|
var _voiceSearch = _interopRequireDefault(require("./voice-search/voice-search.js"));
|
|
273
|
-
|
|
274
234
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
275
|
-
|
|
235
|
+
/** @deprecated answers is no longer supported */
|
|
236
|
+
var EXPERIMENTAL_answers = (0, _index.deprecate)(_answers.default, 'answers is no longer supported');
|
|
237
|
+
exports.EXPERIMENTAL_answers = EXPERIMENTAL_answers;
|
|
276
238
|
/** @deprecated use dynamicWidgets */
|
|
277
239
|
var EXPERIMENTAL_dynamicWidgets = (0, _index.deprecate)(_dynamicWidgets.default, 'use dynamicWidgets');
|
|
278
240
|
exports.EXPERIMENTAL_dynamicWidgets = EXPERIMENTAL_dynamicWidgets;
|
|
@@ -4,56 +4,40 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _preact = require("preact");
|
|
9
|
-
|
|
10
8
|
var _uiComponentsShared = require("@algolia/ui-components-shared");
|
|
11
|
-
|
|
12
9
|
var _InfiniteHits = _interopRequireDefault(require("../../components/InfiniteHits/InfiniteHits.js"));
|
|
13
|
-
|
|
14
10
|
var _connectInfiniteHits = _interopRequireDefault(require("../../connectors/infinite-hits/connectInfiniteHits.js"));
|
|
15
|
-
|
|
16
11
|
var _index = require("../../lib/utils/index.js");
|
|
17
|
-
|
|
18
12
|
var _index2 = require("../../lib/templating/index.js");
|
|
19
|
-
|
|
20
13
|
var _suit = require("../../lib/suit.js");
|
|
21
|
-
|
|
22
14
|
var _index3 = require("../../lib/insights/index.js");
|
|
23
|
-
|
|
24
15
|
var _defaultTemplates = _interopRequireDefault(require("./defaultTemplates.js"));
|
|
25
|
-
|
|
26
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
-
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
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; }
|
|
31
|
-
|
|
17
|
+
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; }
|
|
18
|
+
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; }
|
|
32
19
|
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; }
|
|
33
|
-
|
|
34
20
|
var withUsage = (0, _index.createDocumentationMessageGenerator)({
|
|
35
21
|
name: 'infinite-hits'
|
|
36
22
|
});
|
|
37
23
|
var suit = (0, _suit.component)('InfiniteHits');
|
|
38
24
|
var InfiniteHitsWithInsightsListener = (0, _index3.withInsightsListener)(_InfiniteHits.default);
|
|
39
|
-
|
|
40
25
|
var renderer = function renderer(_ref) {
|
|
41
26
|
var containerNode = _ref.containerNode,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
27
|
+
cssClasses = _ref.cssClasses,
|
|
28
|
+
renderState = _ref.renderState,
|
|
29
|
+
templates = _ref.templates,
|
|
30
|
+
hasShowPrevious = _ref.showPrevious;
|
|
46
31
|
return function (_ref2, isFirstRendering) {
|
|
47
32
|
var hits = _ref2.hits,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
33
|
+
results = _ref2.results,
|
|
34
|
+
showMore = _ref2.showMore,
|
|
35
|
+
showPrevious = _ref2.showPrevious,
|
|
36
|
+
isFirstPage = _ref2.isFirstPage,
|
|
37
|
+
isLastPage = _ref2.isLastPage,
|
|
38
|
+
instantSearchInstance = _ref2.instantSearchInstance,
|
|
39
|
+
insights = _ref2.insights,
|
|
40
|
+
bindEvent = _ref2.bindEvent;
|
|
57
41
|
if (isFirstRendering) {
|
|
58
42
|
renderState.templateProps = (0, _index2.prepareTemplateProps)({
|
|
59
43
|
defaultTemplates: _defaultTemplates.default,
|
|
@@ -62,7 +46,6 @@ var renderer = function renderer(_ref) {
|
|
|
62
46
|
});
|
|
63
47
|
return;
|
|
64
48
|
}
|
|
65
|
-
|
|
66
49
|
(0, _preact.render)((0, _preact.h)(InfiniteHitsWithInsightsListener, {
|
|
67
50
|
cssClasses: cssClasses,
|
|
68
51
|
hits: hits,
|
|
@@ -81,23 +64,20 @@ var renderer = function renderer(_ref) {
|
|
|
81
64
|
}), containerNode);
|
|
82
65
|
};
|
|
83
66
|
};
|
|
84
|
-
|
|
85
67
|
var infiniteHits = function infiniteHits(widgetParams) {
|
|
86
68
|
var _ref3 = widgetParams || {},
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
69
|
+
container = _ref3.container,
|
|
70
|
+
escapeHTML = _ref3.escapeHTML,
|
|
71
|
+
transformItems = _ref3.transformItems,
|
|
72
|
+
_ref3$templates = _ref3.templates,
|
|
73
|
+
templates = _ref3$templates === void 0 ? {} : _ref3$templates,
|
|
74
|
+
_ref3$cssClasses = _ref3.cssClasses,
|
|
75
|
+
userCssClasses = _ref3$cssClasses === void 0 ? {} : _ref3$cssClasses,
|
|
76
|
+
showPrevious = _ref3.showPrevious,
|
|
77
|
+
cache = _ref3.cache;
|
|
97
78
|
if (!container) {
|
|
98
79
|
throw new Error(withUsage('The `container` option is required.'));
|
|
99
80
|
}
|
|
100
|
-
|
|
101
81
|
var containerNode = (0, _index.getContainerNode)(container);
|
|
102
82
|
var cssClasses = {
|
|
103
83
|
root: (0, _uiComponentsShared.cx)(suit(), userCssClasses.root),
|
|
@@ -144,6 +124,5 @@ var infiniteHits = function infiniteHits(widgetParams) {
|
|
|
144
124
|
$$widgetType: 'ais.infiniteHits'
|
|
145
125
|
});
|
|
146
126
|
};
|
|
147
|
-
|
|
148
127
|
var _default = infiniteHits;
|
|
149
128
|
exports.default = _default;
|