instantsearch.js 4.49.0 → 4.49.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/cjs/components/Answers/Answers.js +6 -16
- package/cjs/components/Breadcrumb/Breadcrumb.js +5 -12
- package/cjs/components/ClearRefinements/ClearRefinements.js +4 -11
- package/cjs/components/CurrentRefinements/CurrentRefinements.js +5 -12
- package/cjs/components/GeoSearchControls/GeoSearchButton.js +4 -6
- package/cjs/components/GeoSearchControls/GeoSearchControls.js +11 -20
- package/cjs/components/GeoSearchControls/GeoSearchToggle.js +4 -6
- package/cjs/components/Highlight/Highlight.js +3 -11
- package/cjs/components/Hits/Hits.js +8 -20
- package/cjs/components/InfiniteHits/InfiniteHits.js +13 -25
- package/cjs/components/InternalHighlight/InternalHighlight.js +0 -3
- package/cjs/components/MenuSelect/MenuSelect.js +9 -19
- package/cjs/components/Pagination/Pagination.js +10 -17
- package/cjs/components/Panel/Panel.js +7 -26
- package/cjs/components/PoweredBy/PoweredBy.js +4 -5
- package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +2 -6
- package/cjs/components/RangeInput/RangeInput.js +16 -48
- package/cjs/components/RefinementList/RefinementList.js +19 -73
- package/cjs/components/RefinementList/RefinementListItem.js +8 -14
- package/cjs/components/RelevantSort/RelevantSort.js +4 -8
- package/cjs/components/ReverseHighlight/ReverseHighlight.js +3 -11
- package/cjs/components/ReverseSnippet/ReverseSnippet.js +3 -11
- package/cjs/components/SearchBox/SearchBox.js +25 -69
- package/cjs/components/Selector/Selector.js +3 -6
- package/cjs/components/Slider/Pit.js +3 -10
- package/cjs/components/Slider/Rheostat.js +63 -131
- package/cjs/components/Slider/Slider.js +28 -65
- package/cjs/components/Snippet/Snippet.js +3 -11
- package/cjs/components/Stats/Stats.js +7 -20
- package/cjs/components/Template/Template.js +8 -37
- package/cjs/components/ToggleRefinement/ToggleRefinement.js +4 -10
- package/cjs/components/VoiceSearch/VoiceSearch.js +8 -15
- package/cjs/connectors/answers/connectAnswers.js +21 -36
- package/cjs/connectors/autocomplete/connectAutocomplete.js +8 -25
- package/cjs/connectors/breadcrumb/connectBreadcrumb.js +17 -48
- package/cjs/connectors/clear-refinements/connectClearRefinements.js +27 -45
- package/cjs/connectors/configure/connectConfigure.js +6 -20
- package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +11 -36
- package/cjs/connectors/current-refinements/connectCurrentRefinements.js +18 -57
- package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +17 -37
- package/cjs/connectors/geo-search/connectGeoSearch.js +17 -47
- package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +38 -74
- package/cjs/connectors/hits/connectHits.js +10 -26
- package/cjs/connectors/hits/connectHitsWithInsights.js +0 -4
- package/cjs/connectors/hits-per-page/connectHitsPerPage.js +15 -38
- package/cjs/connectors/index.js +62 -96
- package/cjs/connectors/infinite-hits/connectInfiniteHits.js +26 -62
- package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +0 -4
- package/cjs/connectors/menu/connectMenu.js +28 -66
- package/cjs/connectors/numeric-menu/connectNumericMenu.js +24 -78
- package/cjs/connectors/pagination/Paginator.js +3 -20
- package/cjs/connectors/pagination/connectPagination.js +8 -25
- package/cjs/connectors/powered-by/connectPoweredBy.js +4 -13
- package/cjs/connectors/query-rules/connectQueryRules.js +32 -56
- package/cjs/connectors/range/connectRange.js +41 -101
- package/cjs/connectors/rating-menu/connectRatingMenu.js +23 -79
- package/cjs/connectors/refinement-list/connectRefinementList.js +37 -70
- package/cjs/connectors/relevant-sort/connectRelevantSort.js +4 -14
- package/cjs/connectors/search-box/connectSearchBox.js +7 -23
- package/cjs/connectors/sort-by/connectSortBy.js +11 -21
- package/cjs/connectors/stats/connectStats.js +4 -11
- package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +29 -63
- package/cjs/connectors/voice-search/connectVoiceSearch.js +13 -35
- package/cjs/helpers/components/Highlight.js +4 -12
- package/cjs/helpers/components/ReverseHighlight.js +7 -19
- package/cjs/helpers/components/ReverseSnippet.js +7 -19
- package/cjs/helpers/components/Snippet.js +4 -12
- package/cjs/helpers/components/index.js +0 -8
- package/cjs/helpers/get-insights-anonymous-user-token.js +7 -12
- package/cjs/helpers/highlight.js +10 -16
- package/cjs/helpers/index.js +17 -31
- package/cjs/helpers/insights.js +5 -17
- package/cjs/helpers/reverseHighlight.js +10 -16
- package/cjs/helpers/reverseSnippet.js +10 -16
- package/cjs/helpers/snippet.js +10 -16
- package/cjs/index.js +3 -18
- package/cjs/lib/InstantSearch.js +79 -180
- package/cjs/lib/createHelpers.js +4 -11
- package/cjs/lib/formatNumber.js +0 -1
- package/cjs/lib/infiniteHitsCache/index.js +0 -2
- package/cjs/lib/infiniteHitsCache/sessionStorage.js +9 -18
- package/cjs/lib/insights/client.js +8 -34
- package/cjs/lib/insights/index.js +7 -13
- package/cjs/lib/insights/listener.js +4 -20
- package/cjs/lib/routers/history.js +63 -102
- package/cjs/lib/routers/index.js +0 -2
- package/cjs/lib/stateMappings/index.js +0 -3
- package/cjs/lib/stateMappings/simple.js +6 -13
- package/cjs/lib/stateMappings/singleIndex.js +1 -7
- package/cjs/lib/suit.js +2 -5
- package/cjs/lib/templating/index.js +0 -4
- package/cjs/lib/templating/prepareTemplateProps.js +8 -19
- package/cjs/lib/templating/renderTemplate.js +9 -24
- package/cjs/lib/utils/capitalize.js +0 -1
- package/cjs/lib/utils/checkIndexUiState.js +15 -43
- package/cjs/lib/utils/checkRendering.js +0 -2
- package/cjs/lib/utils/clearRefinements.js +2 -9
- package/cjs/lib/utils/concatHighlightedParts.js +1 -3
- package/cjs/lib/utils/createConcurrentSafePromise.js +0 -3
- package/cjs/lib/utils/createSendEventForFacet.js +7 -14
- package/cjs/lib/utils/createSendEventForHits.js +9 -33
- package/cjs/lib/utils/debounce.js +0 -3
- package/cjs/lib/utils/defer.js +0 -11
- package/cjs/lib/utils/detect-insights-client.js +0 -2
- package/cjs/lib/utils/documentation.js +2 -5
- package/cjs/lib/utils/escape-highlight.js +5 -22
- package/cjs/lib/utils/escape-html.js +9 -7
- package/cjs/lib/utils/escapeFacetValue.js +1 -5
- package/cjs/lib/utils/find.js +2 -5
- package/cjs/lib/utils/findIndex.js +0 -3
- package/cjs/lib/utils/geo-search.js +14 -34
- package/cjs/lib/utils/getAppIdAndApiKey.js +2 -3
- package/cjs/lib/utils/getContainerNode.js +0 -6
- package/cjs/lib/utils/getHighlightFromSiblings.js +0 -6
- package/cjs/lib/utils/getHighlightedParts.js +1 -4
- package/cjs/lib/utils/getObjectType.js +0 -1
- package/cjs/lib/utils/getPropertyByPath.js +0 -1
- package/cjs/lib/utils/getRefinements.js +13 -26
- package/cjs/lib/utils/getWidgetAttribute.js +0 -6
- package/cjs/lib/utils/hits-absolute-position.js +2 -6
- package/cjs/lib/utils/hits-query-id.js +2 -7
- package/cjs/lib/utils/index.js +0 -92
- package/cjs/lib/utils/isDomElement.js +0 -1
- package/cjs/lib/utils/isEqual.js +0 -8
- package/cjs/lib/utils/isFacetRefined.js +0 -1
- package/cjs/lib/utils/isFiniteNumber.js +0 -1
- package/cjs/lib/utils/isIndexWidget.js +0 -1
- package/cjs/lib/utils/isPlainObject.js +3 -11
- package/cjs/lib/utils/isSpecialClick.js +0 -1
- package/cjs/lib/utils/logger.js +3 -13
- package/cjs/lib/utils/mergeSearchParameters.js +16 -40
- package/cjs/lib/utils/noop.js +0 -1
- package/cjs/lib/utils/range.js +8 -14
- package/cjs/lib/utils/render-args.js +0 -2
- package/cjs/lib/utils/resolveSearchParameters.js +0 -3
- package/cjs/lib/utils/reverseHighlightedParts.js +2 -8
- package/cjs/lib/utils/safelyRunOnBrowser.js +7 -9
- package/cjs/lib/utils/serializer.js +1 -3
- package/cjs/lib/utils/setIndexHelperState.js +0 -5
- package/cjs/lib/utils/toArray.js +0 -1
- package/cjs/lib/utils/typedObject.js +0 -1
- package/cjs/lib/utils/uniq.js +0 -1
- package/cjs/lib/version.js +1 -1
- package/cjs/lib/voiceSearchHelper/index.js +8 -36
- package/cjs/middlewares/createInsightsMiddleware.js +15 -44
- package/cjs/middlewares/createMetadataMiddleware.js +4 -12
- package/cjs/middlewares/createRouterMiddleware.js +8 -19
- package/cjs/middlewares/index.js +0 -6
- package/cjs/types/algoliasearch.js +0 -2
- package/cjs/types/index.js +0 -28
- package/cjs/widgets/analytics/analytics.js +12 -47
- package/cjs/widgets/answers/answers.js +19 -39
- package/cjs/widgets/breadcrumb/breadcrumb.js +18 -38
- package/cjs/widgets/clear-refinements/clear-refinements.js +15 -35
- package/cjs/widgets/configure/configure.js +2 -10
- package/cjs/widgets/configure-related-items/configure-related-items.js +2 -10
- package/cjs/widgets/current-refinements/current-refinements.js +12 -30
- package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +6 -25
- package/cjs/widgets/geo-search/GeoSearchRenderer.js +41 -68
- package/cjs/widgets/geo-search/createHTMLMarker.js +30 -60
- package/cjs/widgets/geo-search/defaultTemplates.js +0 -3
- package/cjs/widgets/geo-search/geo-search.js +27 -59
- package/cjs/widgets/hierarchical-menu/defaultTemplates.js +4 -7
- package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +28 -47
- package/cjs/widgets/hits/hits.js +16 -37
- package/cjs/widgets/hits-per-page/hits-per-page.js +13 -31
- package/cjs/widgets/index/index.js +49 -95
- package/cjs/widgets/index.js +12 -50
- package/cjs/widgets/infinite-hits/infinite-hits.js +23 -44
- package/cjs/widgets/menu/defaultTemplates.js +3 -6
- package/cjs/widgets/menu/menu.js +23 -43
- package/cjs/widgets/menu-select/defaultTemplates.js +1 -3
- package/cjs/widgets/menu-select/menu-select.js +18 -38
- package/cjs/widgets/numeric-menu/defaultTemplates.js +3 -4
- package/cjs/widgets/numeric-menu/numeric-menu.js +17 -37
- package/cjs/widgets/pagination/pagination.js +32 -53
- package/cjs/widgets/panel/panel.js +20 -48
- package/cjs/widgets/places/places.js +16 -33
- package/cjs/widgets/powered-by/powered-by.js +10 -27
- package/cjs/widgets/query-rule-context/query-rule-context.js +2 -13
- package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +14 -32
- package/cjs/widgets/range-input/range-input.js +23 -50
- package/cjs/widgets/range-slider/range-slider.js +28 -53
- package/cjs/widgets/rating-menu/defaultTemplates.js +8 -14
- package/cjs/widgets/rating-menu/rating-menu.js +17 -38
- package/cjs/widgets/refinement-list/defaultTemplates.js +5 -8
- package/cjs/widgets/refinement-list/refinement-list.js +39 -60
- package/cjs/widgets/relevant-sort/relevant-sort.js +10 -29
- package/cjs/widgets/search-box/defaultTemplates.js +0 -5
- package/cjs/widgets/search-box/search-box.js +31 -49
- package/cjs/widgets/sort-by/sort-by.js +11 -29
- package/cjs/widgets/stats/defaultTemplates.js +0 -1
- package/cjs/widgets/stats/stats.js +27 -57
- package/cjs/widgets/toggle-refinement/toggle-refinement.js +16 -36
- package/cjs/widgets/voice-search/defaultTemplates.js +4 -14
- package/cjs/widgets/voice-search/voice-search.js +17 -36
- package/dist/instantsearch.development.d.ts +8 -6
- package/dist/instantsearch.development.js +1725 -3087
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +8 -6
- package/dist/instantsearch.production.min.d.ts +8 -6
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/components/Answers/Answers.js +6 -11
- package/es/components/Breadcrumb/Breadcrumb.js +5 -7
- package/es/components/ClearRefinements/ClearRefinements.js +4 -6
- package/es/components/CurrentRefinements/CurrentRefinements.js +7 -10
- package/es/components/GeoSearchControls/GeoSearchButton.js +6 -6
- package/es/components/GeoSearchControls/GeoSearchControls.js +11 -13
- package/es/components/GeoSearchControls/GeoSearchToggle.js +6 -6
- package/es/components/Highlight/Highlight.js +3 -7
- package/es/components/Hits/Hits.js +8 -15
- package/es/components/InfiniteHits/InfiniteHits.js +13 -20
- package/es/components/MenuSelect/MenuSelect.js +9 -13
- package/es/components/Pagination/Pagination.js +12 -15
- package/es/components/Panel/Panel.js +7 -20
- package/es/components/PoweredBy/PoweredBy.js +6 -5
- package/es/components/QueryRuleCustomData/QueryRuleCustomData.js +4 -4
- package/es/components/RangeInput/RangeInput.js +16 -43
- package/es/components/RefinementList/RefinementList.js +19 -64
- package/es/components/RefinementList/RefinementListItem.js +8 -10
- package/es/components/RelevantSort/RelevantSort.js +6 -6
- package/es/components/ReverseHighlight/ReverseHighlight.js +3 -7
- package/es/components/ReverseSnippet/ReverseSnippet.js +3 -7
- package/es/components/SearchBox/SearchBox.js +25 -63
- package/es/components/Selector/Selector.js +5 -5
- package/es/components/Slider/Pit.js +3 -7
- package/es/components/Slider/Rheostat.js +64 -129
- package/es/components/Slider/Slider.js +28 -58
- package/es/components/Snippet/Snippet.js +3 -7
- package/es/components/Stats/Stats.js +7 -15
- package/es/components/Template/Template.js +8 -32
- package/es/components/ToggleRefinement/ToggleRefinement.js +4 -6
- package/es/components/VoiceSearch/VoiceSearch.js +10 -13
- package/es/connectors/answers/connectAnswers.js +21 -35
- package/es/connectors/autocomplete/connectAutocomplete.js +8 -23
- package/es/connectors/breadcrumb/connectBreadcrumb.js +17 -46
- package/es/connectors/clear-refinements/connectClearRefinements.js +27 -43
- package/es/connectors/configure/connectConfigure.js +7 -16
- package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +11 -31
- package/es/connectors/current-refinements/connectCurrentRefinements.js +18 -55
- package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +17 -35
- package/es/connectors/geo-search/connectGeoSearch.js +17 -45
- package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +38 -72
- package/es/connectors/hits/connectHits.js +10 -24
- package/es/connectors/hits-per-page/connectHitsPerPage.js +15 -36
- package/es/connectors/index.d.ts +2 -1
- package/es/connectors/index.js +6 -3
- package/es/connectors/infinite-hits/connectInfiniteHits.js +26 -60
- package/es/connectors/menu/connectMenu.js +28 -64
- package/es/connectors/numeric-menu/connectNumericMenu.js +24 -76
- package/es/connectors/pagination/Paginator.js +3 -19
- package/es/connectors/pagination/connectPagination.js +8 -21
- package/es/connectors/powered-by/connectPoweredBy.js +4 -11
- package/es/connectors/query-rules/connectQueryRules.js +32 -54
- package/es/connectors/range/connectRange.js +41 -99
- package/es/connectors/rating-menu/connectRatingMenu.js +23 -77
- package/es/connectors/refinement-list/connectRefinementList.js +37 -68
- package/es/connectors/relevant-sort/connectRelevantSort.js +4 -13
- package/es/connectors/search-box/connectSearchBox.js +7 -21
- package/es/connectors/sort-by/connectSortBy.js +11 -19
- package/es/connectors/stats/connectStats.js +4 -9
- package/es/connectors/toggle-refinement/connectToggleRefinement.js +29 -61
- package/es/connectors/voice-search/connectVoiceSearch.js +13 -31
- package/es/helpers/components/Highlight.js +4 -8
- package/es/helpers/components/ReverseHighlight.js +7 -15
- package/es/helpers/components/ReverseSnippet.js +7 -15
- package/es/helpers/components/Snippet.js +4 -8
- package/es/helpers/get-insights-anonymous-user-token.js +5 -7
- package/es/helpers/highlight.js +9 -11
- package/es/helpers/insights.js +3 -10
- package/es/helpers/reverseHighlight.js +9 -11
- package/es/helpers/reverseSnippet.js +9 -11
- package/es/helpers/snippet.js +9 -11
- package/es/index.js +0 -2
- package/es/lib/InstantSearch.js +79 -170
- package/es/lib/createHelpers.js +4 -8
- package/es/lib/infiniteHitsCache/sessionStorage.js +9 -16
- package/es/lib/insights/client.js +8 -32
- package/es/lib/insights/listener.js +6 -18
- package/es/lib/routers/history.js +63 -99
- package/es/lib/stateMappings/simple.js +6 -12
- package/es/lib/stateMappings/singleIndex.js +1 -6
- package/es/lib/suit.js +2 -3
- package/es/lib/templating/prepareTemplateProps.js +8 -18
- package/es/lib/templating/renderTemplate.js +9 -20
- package/es/lib/utils/checkIndexUiState.js +18 -40
- package/es/lib/utils/clearRefinements.js +2 -8
- package/es/lib/utils/concatHighlightedParts.js +1 -1
- package/es/lib/utils/createConcurrentSafePromise.js +0 -2
- package/es/lib/utils/createSendEventForFacet.js +7 -12
- package/es/lib/utils/createSendEventForHits.js +8 -30
- package/es/lib/utils/debounce.js +0 -2
- package/es/lib/utils/defer.js +0 -10
- package/es/lib/utils/documentation.js +2 -3
- package/es/lib/utils/escape-highlight.js +3 -16
- package/es/lib/utils/escape-html.js +9 -5
- package/es/lib/utils/escapeFacetValue.js +0 -2
- package/es/lib/utils/find.js +2 -4
- package/es/lib/utils/findIndex.js +0 -2
- package/es/lib/utils/geo-search.js +14 -32
- package/es/lib/utils/getAppIdAndApiKey.js +2 -2
- package/es/lib/utils/getContainerNode.js +1 -5
- package/es/lib/utils/getHighlightFromSiblings.js +0 -3
- package/es/lib/utils/getHighlightedParts.js +1 -2
- package/es/lib/utils/getRefinements.js +13 -24
- package/es/lib/utils/getWidgetAttribute.js +0 -5
- package/es/lib/utils/hits-absolute-position.js +2 -5
- package/es/lib/utils/hits-query-id.js +2 -6
- package/es/lib/utils/isEqual.js +0 -7
- package/es/lib/utils/isPlainObject.js +3 -10
- package/es/lib/utils/logger.js +2 -12
- package/es/lib/utils/mergeSearchParameters.js +16 -37
- package/es/lib/utils/range.js +8 -13
- package/es/lib/utils/resolveSearchParameters.js +0 -2
- package/es/lib/utils/reverseHighlightedParts.js +2 -6
- package/es/lib/utils/safelyRunOnBrowser.js +7 -8
- package/es/lib/utils/setIndexHelperState.js +0 -2
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/lib/voiceSearchHelper/index.js +8 -35
- package/es/middlewares/createInsightsMiddleware.js +15 -41
- package/es/middlewares/createMetadataMiddleware.js +3 -9
- package/es/middlewares/createRouterMiddleware.js +8 -13
- package/es/types/index.js +9 -5
- package/es/widgets/analytics/analytics.js +12 -45
- package/es/widgets/answers/answers.js +19 -28
- package/es/widgets/breadcrumb/breadcrumb.js +18 -27
- package/es/widgets/clear-refinements/clear-refinements.js +15 -24
- package/es/widgets/configure/configure.js +3 -6
- package/es/widgets/configure-related-items/configure-related-items.js +2 -7
- package/es/widgets/current-refinements/current-refinements.js +12 -21
- package/es/widgets/dynamic-widgets/dynamic-widgets.js +6 -20
- package/es/widgets/geo-search/GeoSearchRenderer.js +41 -63
- package/es/widgets/geo-search/createHTMLMarker.js +30 -59
- package/es/widgets/geo-search/defaultTemplates.js +2 -2
- package/es/widgets/geo-search/geo-search.js +27 -49
- package/es/widgets/hierarchical-menu/defaultTemplates.js +5 -4
- package/es/widgets/hierarchical-menu/hierarchical-menu.js +28 -36
- package/es/widgets/hits/hits.js +16 -25
- package/es/widgets/hits-per-page/hits-per-page.js +13 -22
- package/es/widgets/index/index.js +49 -91
- package/es/widgets/index.d.ts +2 -1
- package/es/widgets/index.js +4 -3
- package/es/widgets/infinite-hits/infinite-hits.js +23 -32
- package/es/widgets/menu/defaultTemplates.js +4 -3
- package/es/widgets/menu/menu.js +23 -32
- package/es/widgets/menu-select/defaultTemplates.js +1 -1
- package/es/widgets/menu-select/menu-select.js +18 -27
- package/es/widgets/numeric-menu/defaultTemplates.js +4 -3
- package/es/widgets/numeric-menu/numeric-menu.js +17 -26
- package/es/widgets/pagination/pagination.js +32 -44
- package/es/widgets/panel/panel.js +20 -40
- package/es/widgets/places/places.js +16 -32
- package/es/widgets/powered-by/powered-by.js +10 -18
- package/es/widgets/query-rule-context/query-rule-context.js +2 -9
- package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +13 -22
- package/es/widgets/range-input/range-input.js +23 -40
- package/es/widgets/range-slider/range-slider.js +28 -44
- package/es/widgets/rating-menu/defaultTemplates.js +9 -12
- package/es/widgets/rating-menu/rating-menu.js +17 -27
- package/es/widgets/refinement-list/defaultTemplates.js +6 -5
- package/es/widgets/refinement-list/refinement-list.js +39 -48
- package/es/widgets/relevant-sort/relevant-sort.js +10 -19
- package/es/widgets/search-box/defaultTemplates.js +1 -4
- package/es/widgets/search-box/search-box.js +31 -39
- package/es/widgets/sort-by/sort-by.js +11 -20
- package/es/widgets/stats/stats.js +26 -45
- package/es/widgets/toggle-refinement/toggle-refinement.js +16 -25
- package/es/widgets/voice-search/defaultTemplates.js +5 -13
- package/es/widgets/voice-search/voice-search.js +17 -26
- package/package.json +20 -119
- package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.input.js +0 -1
- package/scripts/transforms/__testfixtures__/addWidget-to-addWidgets/imported.output.js +0 -1
- package/CHANGELOG.md +0 -3684
|
@@ -4,53 +4,36 @@ 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 _index = require("../../lib/templating/index.js");
|
|
11
|
-
|
|
12
9
|
var _GeoSearchControls = _interopRequireDefault(require("../../components/GeoSearchControls/GeoSearchControls.js"));
|
|
13
|
-
|
|
14
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
19
|
-
|
|
11
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
13
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
21
|
-
|
|
22
14
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
23
|
-
|
|
24
15
|
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."); }
|
|
25
|
-
|
|
26
16
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
27
|
-
|
|
28
17
|
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; }
|
|
29
|
-
|
|
30
|
-
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; }
|
|
31
|
-
|
|
18
|
+
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; }
|
|
32
19
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
33
|
-
|
|
34
20
|
var refineWithMap = function refineWithMap(_ref) {
|
|
35
21
|
var refine = _ref.refine,
|
|
36
|
-
|
|
22
|
+
mapInstance = _ref.mapInstance;
|
|
37
23
|
return refine({
|
|
38
24
|
northEast: mapInstance.getBounds().getNorthEast().toJSON(),
|
|
39
25
|
southWest: mapInstance.getBounds().getSouthWest().toJSON()
|
|
40
26
|
});
|
|
41
27
|
};
|
|
42
|
-
|
|
43
28
|
var collectMarkersForNextRender = function collectMarkersForNextRender(markers, nextIds) {
|
|
44
29
|
return markers.reduce(function (_ref2, marker) {
|
|
45
30
|
var _ref3 = _slicedToArray(_ref2, 2),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
31
|
+
update = _ref3[0],
|
|
32
|
+
exit = _ref3[1];
|
|
49
33
|
var persist = nextIds.includes(marker.__id);
|
|
50
34
|
return persist ? [update.concat(marker), exit] : [update, exit.concat(marker)];
|
|
51
35
|
}, [[], []]);
|
|
52
36
|
};
|
|
53
|
-
|
|
54
37
|
var createBoundingBoxFromMarkers = function createBoundingBoxFromMarkers(google, markers) {
|
|
55
38
|
var latLngBounds = markers.reduce(function (acc, marker) {
|
|
56
39
|
return acc.extend(marker.getPosition());
|
|
@@ -60,40 +43,37 @@ var createBoundingBoxFromMarkers = function createBoundingBoxFromMarkers(google,
|
|
|
60
43
|
southWest: latLngBounds.getSouthWest().toJSON()
|
|
61
44
|
};
|
|
62
45
|
};
|
|
63
|
-
|
|
64
46
|
var lockUserInteraction = function lockUserInteraction(renderState, functionThatAltersTheMapPosition) {
|
|
65
47
|
renderState.isUserInteraction = false;
|
|
66
48
|
functionThatAltersTheMapPosition();
|
|
67
49
|
renderState.isUserInteraction = true;
|
|
68
50
|
};
|
|
69
|
-
|
|
70
51
|
var renderer = function renderer(_ref4, isFirstRendering) {
|
|
71
52
|
var items = _ref4.items,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
53
|
+
position = _ref4.position,
|
|
54
|
+
currentRefinement = _ref4.currentRefinement,
|
|
55
|
+
refine = _ref4.refine,
|
|
56
|
+
clearMapRefinement = _ref4.clearMapRefinement,
|
|
57
|
+
toggleRefineOnMapMove = _ref4.toggleRefineOnMapMove,
|
|
58
|
+
isRefineOnMapMove = _ref4.isRefineOnMapMove,
|
|
59
|
+
setMapMoveSinceLastRefine = _ref4.setMapMoveSinceLastRefine,
|
|
60
|
+
hasMapMoveSinceLastRefine = _ref4.hasMapMoveSinceLastRefine,
|
|
61
|
+
isRefinedWithMap = _ref4.isRefinedWithMap,
|
|
62
|
+
widgetParams = _ref4.widgetParams,
|
|
63
|
+
instantSearchInstance = _ref4.instantSearchInstance;
|
|
83
64
|
var container = widgetParams.container,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
65
|
+
googleReference = widgetParams.googleReference,
|
|
66
|
+
cssClasses = widgetParams.cssClasses,
|
|
67
|
+
templates = widgetParams.templates,
|
|
68
|
+
initialZoom = widgetParams.initialZoom,
|
|
69
|
+
initialPosition = widgetParams.initialPosition,
|
|
70
|
+
enableRefine = widgetParams.enableRefine,
|
|
71
|
+
enableClearMapRefinement = widgetParams.enableClearMapRefinement,
|
|
72
|
+
enableRefineControl = widgetParams.enableRefineControl,
|
|
73
|
+
mapOptions = widgetParams.mapOptions,
|
|
74
|
+
createMarker = widgetParams.createMarker,
|
|
75
|
+
markerOptions = widgetParams.markerOptions,
|
|
76
|
+
renderState = widgetParams.renderState;
|
|
97
77
|
if (isFirstRendering) {
|
|
98
78
|
renderState.isUserInteraction = true;
|
|
99
79
|
renderState.isPendingRefine = false;
|
|
@@ -116,18 +96,15 @@ var renderer = function renderer(_ref4, isFirstRendering) {
|
|
|
116
96
|
position: googleReference.maps.ControlPosition.LEFT_TOP
|
|
117
97
|
}
|
|
118
98
|
}, mapOptions));
|
|
119
|
-
|
|
120
99
|
var setupListenersWhenMapIsReady = function setupListenersWhenMapIsReady() {
|
|
121
100
|
var onChange = function onChange() {
|
|
122
101
|
if (renderState.isUserInteraction && enableRefine) {
|
|
123
102
|
setMapMoveSinceLastRefine();
|
|
124
|
-
|
|
125
103
|
if (isRefineOnMapMove()) {
|
|
126
104
|
renderState.isPendingRefine = true;
|
|
127
105
|
}
|
|
128
106
|
}
|
|
129
107
|
};
|
|
130
|
-
|
|
131
108
|
renderState.mapInstance.addListener('center_changed', onChange);
|
|
132
109
|
renderState.mapInstance.addListener('zoom_changed', onChange);
|
|
133
110
|
renderState.mapInstance.addListener('dragstart', onChange);
|
|
@@ -141,37 +118,35 @@ var renderer = function renderer(_ref4, isFirstRendering) {
|
|
|
141
118
|
}
|
|
142
119
|
});
|
|
143
120
|
};
|
|
144
|
-
|
|
145
121
|
googleReference.maps.event.addListenerOnce(renderState.mapInstance, 'idle', setupListenersWhenMapIsReady);
|
|
146
122
|
renderState.templateProps = (0, _index.prepareTemplateProps)({
|
|
147
123
|
templatesConfig: instantSearchInstance.templatesConfig,
|
|
148
124
|
templates: templates
|
|
149
125
|
});
|
|
150
126
|
return;
|
|
151
|
-
}
|
|
152
|
-
|
|
127
|
+
}
|
|
153
128
|
|
|
129
|
+
// Collect markers that need to be updated or removed
|
|
154
130
|
var nextItemsIds = items.map(function (_) {
|
|
155
131
|
return _.objectID;
|
|
156
132
|
});
|
|
157
|
-
|
|
158
133
|
var _collectMarkersForNex = collectMarkersForNextRender(renderState.markers, nextItemsIds),
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
134
|
+
_collectMarkersForNex2 = _slicedToArray(_collectMarkersForNex, 2),
|
|
135
|
+
updateMarkers = _collectMarkersForNex2[0],
|
|
136
|
+
exitMarkers = _collectMarkersForNex2[1]; // Collect items that will be added
|
|
164
137
|
var updateMarkerIds = updateMarkers.map(function (_) {
|
|
165
138
|
return _.__id;
|
|
166
139
|
});
|
|
167
140
|
var nextPendingItems = items.filter(function (item) {
|
|
168
141
|
return !updateMarkerIds.includes(item.objectID);
|
|
169
|
-
});
|
|
142
|
+
});
|
|
170
143
|
|
|
144
|
+
// Remove all markers that need to be removed
|
|
171
145
|
exitMarkers.forEach(function (marker) {
|
|
172
146
|
return marker.setMap(null);
|
|
173
|
-
});
|
|
147
|
+
});
|
|
174
148
|
|
|
149
|
+
// Create the markers from the items
|
|
175
150
|
renderState.markers = updateMarkers.concat(nextPendingItems.map(function (item) {
|
|
176
151
|
var marker = createMarker({
|
|
177
152
|
map: renderState.mapInstance,
|
|
@@ -189,15 +164,15 @@ var renderer = function renderer(_ref4, isFirstRendering) {
|
|
|
189
164
|
});
|
|
190
165
|
return marker;
|
|
191
166
|
}));
|
|
192
|
-
var shouldUpdate = !hasMapMoveSinceLastRefine();
|
|
167
|
+
var shouldUpdate = !hasMapMoveSinceLastRefine();
|
|
168
|
+
|
|
169
|
+
// We use this value for differentiate the padding to apply during
|
|
193
170
|
// fitBounds. When we don't have a currenRefinement (boundingBox)
|
|
194
171
|
// we let Google Maps compute the automatic padding. But when we
|
|
195
172
|
// provide the currentRefinement we explicitly set the padding
|
|
196
173
|
// to `0` otherwise the map will decrease the zoom on each refine.
|
|
197
|
-
|
|
198
174
|
var boundingBoxPadding = currentRefinement ? 0 : null;
|
|
199
175
|
var boundingBox = !currentRefinement && Boolean(renderState.markers.length) ? createBoundingBoxFromMarkers(googleReference, renderState.markers) : currentRefinement;
|
|
200
|
-
|
|
201
176
|
if (boundingBox && shouldUpdate) {
|
|
202
177
|
lockUserInteraction(renderState, function () {
|
|
203
178
|
renderState.mapInstance.fitBounds(new googleReference.maps.LatLngBounds(boundingBox.southWest, boundingBox.northEast), boundingBoxPadding);
|
|
@@ -208,7 +183,6 @@ var renderer = function renderer(_ref4, isFirstRendering) {
|
|
|
208
183
|
renderState.mapInstance.setZoom(initialZoom);
|
|
209
184
|
});
|
|
210
185
|
}
|
|
211
|
-
|
|
212
186
|
(0, _preact.render)((0, _preact.h)(_GeoSearchControls.default, {
|
|
213
187
|
cssClasses: cssClasses,
|
|
214
188
|
enableRefine: enableRefine,
|
|
@@ -228,6 +202,5 @@ var renderer = function renderer(_ref4, isFirstRendering) {
|
|
|
228
202
|
templateProps: renderState.templateProps
|
|
229
203
|
}), container.querySelector(".".concat(cssClasses.tree)));
|
|
230
204
|
};
|
|
231
|
-
|
|
232
205
|
var _default = renderer;
|
|
233
206
|
exports.default = _default;
|
|
@@ -4,69 +4,43 @@ 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
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
11
|
-
|
|
8
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
12
9
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
13
|
-
|
|
14
10
|
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); } }
|
|
15
|
-
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
19
|
-
|
|
20
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
21
|
-
|
|
11
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
12
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
13
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
22
14
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
23
|
-
|
|
24
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
25
|
-
|
|
15
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
26
16
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
27
|
-
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
31
|
-
|
|
17
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
18
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
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 createHTMLMarker = function createHTMLMarker(googleReference) {
|
|
35
21
|
var HTMLMarker = /*#__PURE__*/function (_googleReference$maps) {
|
|
36
22
|
_inherits(HTMLMarker, _googleReference$maps);
|
|
37
|
-
|
|
38
23
|
var _super = _createSuper(HTMLMarker);
|
|
39
|
-
|
|
40
24
|
function HTMLMarker(_ref) {
|
|
41
25
|
var _this;
|
|
42
|
-
|
|
43
26
|
var __id = _ref.__id,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
27
|
+
position = _ref.position,
|
|
28
|
+
map = _ref.map,
|
|
29
|
+
template = _ref.template,
|
|
30
|
+
className = _ref.className,
|
|
31
|
+
_ref$anchor = _ref.anchor,
|
|
32
|
+
anchor = _ref$anchor === void 0 ? {
|
|
33
|
+
x: 0,
|
|
34
|
+
y: 0
|
|
35
|
+
} : _ref$anchor;
|
|
54
36
|
_classCallCheck(this, HTMLMarker);
|
|
55
|
-
|
|
56
37
|
_this = _super.call(this);
|
|
57
|
-
|
|
58
38
|
_defineProperty(_assertThisInitialized(_this), "__id", void 0);
|
|
59
|
-
|
|
60
39
|
_defineProperty(_assertThisInitialized(_this), "anchor", void 0);
|
|
61
|
-
|
|
62
40
|
_defineProperty(_assertThisInitialized(_this), "offset", void 0);
|
|
63
|
-
|
|
64
41
|
_defineProperty(_assertThisInitialized(_this), "listeners", void 0);
|
|
65
|
-
|
|
66
42
|
_defineProperty(_assertThisInitialized(_this), "latLng", void 0);
|
|
67
|
-
|
|
68
43
|
_defineProperty(_assertThisInitialized(_this), "element", void 0);
|
|
69
|
-
|
|
70
44
|
_this.__id = __id;
|
|
71
45
|
_this.anchor = anchor;
|
|
72
46
|
_this.listeners = {};
|
|
@@ -74,33 +48,31 @@ var createHTMLMarker = function createHTMLMarker(googleReference) {
|
|
|
74
48
|
_this.element = document.createElement('div');
|
|
75
49
|
_this.element.className = className;
|
|
76
50
|
_this.element.style.position = 'absolute';
|
|
77
|
-
|
|
78
51
|
if (_typeof(template) === 'object') {
|
|
79
52
|
(0, _preact.render)(template, _this.element);
|
|
80
53
|
} else {
|
|
81
54
|
_this.element.innerHTML = template;
|
|
82
55
|
}
|
|
83
|
-
|
|
84
56
|
_this.setMap(map);
|
|
85
|
-
|
|
86
57
|
return _this;
|
|
87
58
|
}
|
|
88
|
-
|
|
89
59
|
_createClass(HTMLMarker, [{
|
|
90
60
|
key: "onAdd",
|
|
91
61
|
value: function onAdd() {
|
|
92
62
|
// Append the element to the map
|
|
93
|
-
this.getPanes().overlayMouseTarget.appendChild(this.element);
|
|
63
|
+
this.getPanes().overlayMouseTarget.appendChild(this.element);
|
|
64
|
+
|
|
65
|
+
// Compute the offset onAdd & cache it because afterwards
|
|
94
66
|
// it won't retrieve the correct values, we also avoid
|
|
95
67
|
// to read the values on every draw
|
|
96
|
-
|
|
97
68
|
var bbBox = this.element.getBoundingClientRect();
|
|
98
69
|
this.offset = {
|
|
99
70
|
x: this.anchor.x + bbBox.width / 2,
|
|
100
71
|
y: this.anchor.y + bbBox.height
|
|
101
|
-
};
|
|
102
|
-
// content to collapse when we move the map
|
|
72
|
+
};
|
|
103
73
|
|
|
74
|
+
// Force the width of the element will avoid the
|
|
75
|
+
// content to collapse when we move the map
|
|
104
76
|
this.element.style.width = "".concat(bbBox.width, "px");
|
|
105
77
|
}
|
|
106
78
|
}, {
|
|
@@ -108,25 +80,26 @@ var createHTMLMarker = function createHTMLMarker(googleReference) {
|
|
|
108
80
|
value: function draw() {
|
|
109
81
|
var position = this.getProjection().fromLatLngToDivPixel(this.latLng);
|
|
110
82
|
this.element.style.left = "".concat(Math.round(position.x - this.offset.x), "px");
|
|
111
|
-
this.element.style.top = "".concat(Math.round(position.y - this.offset.y), "px");
|
|
112
|
-
// This is the default behaviour of Google Maps
|
|
83
|
+
this.element.style.top = "".concat(Math.round(position.y - this.offset.y), "px");
|
|
113
84
|
|
|
85
|
+
// Markers to the south are in front of markers to the north
|
|
86
|
+
// This is the default behaviour of Google Maps
|
|
114
87
|
this.element.style.zIndex = String(parseInt(this.element.style.top, 10));
|
|
115
88
|
}
|
|
116
89
|
}, {
|
|
117
90
|
key: "onRemove",
|
|
118
91
|
value: function onRemove() {
|
|
119
92
|
var _this2 = this;
|
|
120
|
-
|
|
121
93
|
if (this.element) {
|
|
122
94
|
this.element.parentNode.removeChild(this.element);
|
|
123
95
|
Object.keys(this.listeners).forEach(function (eventName) {
|
|
124
96
|
_this2.element.removeEventListener(eventName, _this2.listeners[eventName]);
|
|
125
|
-
});
|
|
126
|
-
// @ts-expect-error
|
|
127
|
-
|
|
128
|
-
delete this.element; // @ts-expect-error
|
|
97
|
+
});
|
|
129
98
|
|
|
99
|
+
// after onRemove the class is no longer used, thus it can be deleted
|
|
100
|
+
// @ts-expect-error
|
|
101
|
+
delete this.element;
|
|
102
|
+
// @ts-expect-error
|
|
130
103
|
delete this.listeners;
|
|
131
104
|
}
|
|
132
105
|
}
|
|
@@ -148,12 +121,9 @@ var createHTMLMarker = function createHTMLMarker(googleReference) {
|
|
|
148
121
|
return this.latLng;
|
|
149
122
|
}
|
|
150
123
|
}]);
|
|
151
|
-
|
|
152
124
|
return HTMLMarker;
|
|
153
125
|
}(googleReference.maps.OverlayView);
|
|
154
|
-
|
|
155
126
|
return HTMLMarker;
|
|
156
127
|
};
|
|
157
|
-
|
|
158
128
|
var _default = createHTMLMarker;
|
|
159
129
|
exports.default = _default;
|
|
@@ -4,11 +4,8 @@ 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 _ref = (0, _preact.h)("p", null, "Your custom HTML Marker");
|
|
11
|
-
|
|
12
9
|
var defaultTemplates = {
|
|
13
10
|
HTMLMarker: function HTMLMarker() {
|
|
14
11
|
return _ref;
|
|
@@ -4,42 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _uiComponentsShared = require("@algolia/ui-components-shared");
|
|
9
|
-
|
|
10
8
|
var _preact = require("preact");
|
|
11
|
-
|
|
12
9
|
var _index = require("../../lib/utils/index.js");
|
|
13
|
-
|
|
14
10
|
var _index2 = require("../../lib/templating/index.js");
|
|
15
|
-
|
|
16
11
|
var _suit = require("../../lib/suit.js");
|
|
17
|
-
|
|
18
12
|
var _connectGeoSearch = _interopRequireDefault(require("../../connectors/geo-search/connectGeoSearch.js"));
|
|
19
|
-
|
|
20
13
|
var _GeoSearchRenderer = _interopRequireDefault(require("./GeoSearchRenderer.js"));
|
|
21
|
-
|
|
22
14
|
var _defaultTemplates = _interopRequireDefault(require("./defaultTemplates.js"));
|
|
23
|
-
|
|
24
15
|
var _createHTMLMarker = _interopRequireDefault(require("./createHTMLMarker.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
|
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; }
|
|
35
|
-
|
|
36
21
|
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; }
|
|
37
|
-
|
|
38
22
|
var withUsage = (0, _index.createDocumentationMessageGenerator)({
|
|
39
23
|
name: 'geo-search'
|
|
40
24
|
});
|
|
41
25
|
var suit = (0, _suit.component)('GeoSearch');
|
|
42
|
-
|
|
43
26
|
/**
|
|
44
27
|
* The **GeoSearch** widget displays the list of results from the search on a Google Maps. It also provides a way to search for results based on their position. The widget also provide some of the common GeoSearch patterns like search on map interaction.
|
|
45
28
|
*
|
|
@@ -55,30 +38,29 @@ var suit = (0, _suit.component)('GeoSearch');
|
|
|
55
38
|
*/
|
|
56
39
|
var geoSearch = function geoSearch(widgetParams) {
|
|
57
40
|
var _ref = widgetParams || {},
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
41
|
+
_ref$initialZoom = _ref.initialZoom,
|
|
42
|
+
initialZoom = _ref$initialZoom === void 0 ? 1 : _ref$initialZoom,
|
|
43
|
+
_ref$initialPosition = _ref.initialPosition,
|
|
44
|
+
initialPosition = _ref$initialPosition === void 0 ? {
|
|
45
|
+
lat: 0,
|
|
46
|
+
lng: 0
|
|
47
|
+
} : _ref$initialPosition,
|
|
48
|
+
_ref$templates = _ref.templates,
|
|
49
|
+
userTemplates = _ref$templates === void 0 ? {} : _ref$templates,
|
|
50
|
+
_ref$cssClasses = _ref.cssClasses,
|
|
51
|
+
userCssClasses = _ref$cssClasses === void 0 ? {} : _ref$cssClasses,
|
|
52
|
+
_ref$builtInMarker = _ref.builtInMarker,
|
|
53
|
+
userBuiltInMarker = _ref$builtInMarker === void 0 ? {} : _ref$builtInMarker,
|
|
54
|
+
userCustomHTMLMarker = _ref.customHTMLMarker,
|
|
55
|
+
_ref$enableRefine = _ref.enableRefine,
|
|
56
|
+
enableRefine = _ref$enableRefine === void 0 ? true : _ref$enableRefine,
|
|
57
|
+
_ref$enableClearMapRe = _ref.enableClearMapRefinement,
|
|
58
|
+
enableClearMapRefinement = _ref$enableClearMapRe === void 0 ? true : _ref$enableClearMapRe,
|
|
59
|
+
_ref$enableRefineCont = _ref.enableRefineControl,
|
|
60
|
+
enableRefineControl = _ref$enableRefineCont === void 0 ? true : _ref$enableRefineCont,
|
|
61
|
+
container = _ref.container,
|
|
62
|
+
googleReference = _ref.googleReference,
|
|
63
|
+
otherWidgetParams = _objectWithoutProperties(_ref, ["initialZoom", "initialPosition", "templates", "cssClasses", "builtInMarker", "customHTMLMarker", "enableRefine", "enableClearMapRefinement", "enableRefineControl", "container", "googleReference"]);
|
|
82
64
|
var defaultBuiltInMarker = {
|
|
83
65
|
createOptions: function createOptions() {
|
|
84
66
|
return {};
|
|
@@ -91,15 +73,12 @@ var geoSearch = function geoSearch(widgetParams) {
|
|
|
91
73
|
},
|
|
92
74
|
events: {}
|
|
93
75
|
};
|
|
94
|
-
|
|
95
76
|
if (!container) {
|
|
96
77
|
throw new Error(withUsage('The `container` option is required.'));
|
|
97
78
|
}
|
|
98
|
-
|
|
99
79
|
if (!googleReference) {
|
|
100
80
|
throw new Error(withUsage('The `googleReference` option is required.'));
|
|
101
81
|
}
|
|
102
|
-
|
|
103
82
|
var containerNode = (0, _index.getContainerNode)(container);
|
|
104
83
|
var cssClasses = {
|
|
105
84
|
root: (0, _uiComponentsShared.cx)(suit(), userCssClasses.root),
|
|
@@ -134,32 +113,23 @@ var geoSearch = function geoSearch(widgetParams) {
|
|
|
134
113
|
descendantName: 'reset'
|
|
135
114
|
}), userCssClasses.reset)
|
|
136
115
|
};
|
|
137
|
-
|
|
138
116
|
var templates = _objectSpread(_objectSpread({}, _defaultTemplates.default), userTemplates);
|
|
139
|
-
|
|
140
117
|
var builtInMarker = _objectSpread(_objectSpread({}, defaultBuiltInMarker), userBuiltInMarker);
|
|
141
|
-
|
|
142
118
|
var isCustomHTMLMarker = Boolean(userCustomHTMLMarker) || Boolean(userTemplates.HTMLMarker);
|
|
143
|
-
|
|
144
119
|
var customHTMLMarker = isCustomHTMLMarker && _objectSpread(_objectSpread({}, defaultCustomHTMLMarker), userCustomHTMLMarker);
|
|
145
|
-
|
|
146
120
|
var createBuiltInMarker = function createBuiltInMarker(_ref2) {
|
|
147
121
|
var item = _ref2.item,
|
|
148
|
-
|
|
149
|
-
|
|
122
|
+
rest = _objectWithoutProperties(_ref2, ["item"]);
|
|
150
123
|
return new googleReference.maps.Marker(_objectSpread(_objectSpread(_objectSpread({}, builtInMarker.createOptions(item)), rest), {}, {
|
|
151
124
|
// @ts-expect-error @types/googlemaps doesn't document this
|
|
152
125
|
__id: item.objectID,
|
|
153
126
|
position: item._geoloc
|
|
154
127
|
}));
|
|
155
128
|
};
|
|
156
|
-
|
|
157
129
|
var HTMLMarker = (0, _createHTMLMarker.default)(googleReference);
|
|
158
|
-
|
|
159
130
|
var createCustomHTMLMarker = function createCustomHTMLMarker(_ref3) {
|
|
160
131
|
var item = _ref3.item,
|
|
161
|
-
|
|
162
|
-
|
|
132
|
+
rest = _objectWithoutProperties(_ref3, ["item"]);
|
|
163
133
|
return new HTMLMarker(_objectSpread(_objectSpread(_objectSpread({}, customHTMLMarker.createOptions(item)), rest), {}, {
|
|
164
134
|
__id: item.objectID,
|
|
165
135
|
position: item._geoloc,
|
|
@@ -173,7 +143,6 @@ var geoSearch = function geoSearch(widgetParams) {
|
|
|
173
143
|
})
|
|
174
144
|
}));
|
|
175
145
|
};
|
|
176
|
-
|
|
177
146
|
var createMarker = !customHTMLMarker ? createBuiltInMarker : createCustomHTMLMarker;
|
|
178
147
|
var markerOptions = !customHTMLMarker ? builtInMarker : customHTMLMarker;
|
|
179
148
|
var makeWidget = (0, _connectGeoSearch.default)(_GeoSearchRenderer.default, function () {
|
|
@@ -196,6 +165,5 @@ var geoSearch = function geoSearch(widgetParams) {
|
|
|
196
165
|
$$widgetType: 'ais.geoSearch'
|
|
197
166
|
});
|
|
198
167
|
};
|
|
199
|
-
|
|
200
168
|
var _default = geoSearch;
|
|
201
169
|
exports.default = _default;
|
|
@@ -4,20 +4,17 @@ 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 _formatNumber = require("../../lib/formatNumber.js");
|
|
11
|
-
|
|
12
9
|
var _uiComponentsShared = require("@algolia/ui-components-shared");
|
|
13
10
|
|
|
14
11
|
var defaultTemplates = {
|
|
15
12
|
item: function item(_ref) {
|
|
16
13
|
var url = _ref.url,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
label = _ref.label,
|
|
15
|
+
count = _ref.count,
|
|
16
|
+
cssClasses = _ref.cssClasses,
|
|
17
|
+
isRefined = _ref.isRefined;
|
|
21
18
|
return (0, _preact.h)("a", {
|
|
22
19
|
className: (0, _uiComponentsShared.cx)((0, _uiComponentsShared.cx)(cssClasses.link), (0, _uiComponentsShared.cx)(isRefined ? cssClasses.selectedItemLink : undefined)),
|
|
23
20
|
href: url
|