@empathyco/x-components 3.0.0-alpha.31 → 3.0.0-alpha.35
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/CHANGELOG.md +132 -0
- package/core/index.js +26 -22
- package/core/index.js.map +1 -1
- package/docs/API-reference/api/x-adapter.empathyrelatedtag.md +1 -0
- package/docs/API-reference/api/x-adapter.empathyrelatedtag.source.md +11 -0
- package/docs/API-reference/api/x-components.baseidtogglepanel.md +0 -1
- package/docs/API-reference/api/x-components.baseresultlink.md +1 -1
- package/docs/API-reference/api/x-components.defaultsessionservice.clearsessionid.md +2 -0
- package/docs/API-reference/api/x-components.defaultsessionservice.getsessionid.md +4 -0
- package/docs/API-reference/api/x-components.defaultsessionservice.md +3 -3
- package/docs/API-reference/api/x-components.defaultsessionservice.session_id_key.md +3 -1
- package/docs/API-reference/api/x-components.featurelocation.md +1 -1
- package/docs/API-reference/api/x-components.fixedheaderandasideslayout.isbackdropvisible.md +11 -0
- package/docs/API-reference/api/x-components.fixedheaderandasideslayout.leftasideanimation.md +11 -0
- package/docs/API-reference/api/x-components.fixedheaderandasideslayout.md +30 -0
- package/docs/API-reference/api/x-components.fixedheaderandasideslayout.rightasideanimation.md +11 -0
- package/docs/API-reference/api/x-components.fixedheaderandasideslayout.scrollposition.md +11 -0
- package/docs/API-reference/api/x-components.fixedheaderandasideslayout.setposition.md +22 -0
- package/docs/API-reference/api/x-components.getrootxcomponent.md +2 -2
- package/docs/API-reference/api/x-components.globalxbus.created.md +15 -0
- package/docs/API-reference/api/x-components.globalxbus.md +21 -0
- package/docs/API-reference/api/x-components.isxcomponent.md +2 -2
- package/docs/API-reference/api/x-components.maybearray.md +13 -0
- package/docs/API-reference/api/x-components.md +16 -7
- package/docs/API-reference/api/x-components.namespaceddebounce.md +2 -2
- package/docs/API-reference/api/x-components.namespacedthrottle.md +2 -2
- package/docs/API-reference/api/{x-components.namespacedtimeretrieving.md → x-components.namespacedtimeselector.md} +3 -3
- package/docs/API-reference/api/x-components.namespacedtimewireoperator.md +3 -3
- package/docs/API-reference/api/x-components.relatedtag.highlightcurated.md +13 -0
- package/docs/API-reference/api/x-components.relatedtag.md +1 -0
- package/docs/API-reference/api/x-components.relatedtags.highlightcurated.md +13 -0
- package/docs/API-reference/api/x-components.searchxevents.md +2 -0
- package/docs/API-reference/api/x-components.searchxevents.userclickedabanner.md +13 -0
- package/docs/API-reference/api/x-components.searchxevents.userclickedapromoted.md +13 -0
- package/docs/API-reference/api/x-components.setconsent.md +1 -1
- package/docs/API-reference/api/x-components.setquerytaggingdebounce.md +1 -1
- package/docs/API-reference/api/x-components.setsessionduration.md +1 -1
- package/docs/API-reference/api/x-components.snippetcallbacks.md +15 -0
- package/docs/API-reference/api/x-components.snippetconfig.callbacks.md +13 -0
- package/docs/API-reference/api/x-components.snippetconfig.isspa.md +13 -0
- package/docs/API-reference/api/x-components.snippetconfig.md +2 -0
- package/docs/API-reference/api/x-components.tagging.activeconsent.md +18 -0
- package/docs/API-reference/api/x-components.tagging.consent.md +13 -0
- package/docs/API-reference/api/x-components.tagging.md +28 -0
- package/docs/API-reference/api/x-components.tagging.render.md +15 -0
- package/docs/API-reference/api/x-components.tagicon.md +11 -0
- package/docs/API-reference/api/x-components.throttle.md +3 -3
- package/docs/API-reference/api/x-components.timedwireoperatoroptions.cancelon.md +13 -0
- package/docs/API-reference/api/x-components.timedwireoperatoroptions.forceon.md +13 -0
- package/docs/API-reference/api/x-components.timedwireoperatoroptions.md +21 -0
- package/docs/API-reference/api/{x-components.timeretrieving.md → x-components.timeselector.md} +3 -3
- package/docs/API-reference/api/x-components.trackaddtocartwire.md +13 -0
- package/docs/API-reference/api/{x-components.trackwire.md → x-components.trackquerywire.md} +3 -3
- package/docs/API-reference/api/x-components.trackresultclickedwire.md +13 -0
- package/docs/API-reference/api/x-components.xeventlisteners.md +17 -0
- package/docs/API-reference/api/x-components.xeventstypes.md +1 -1
- package/docs/API-reference/api/x-components.xeventstypes.snippetcallbackexecuted.md +16 -0
- package/docs/API-reference/api/x-components.xinstaller.md +1 -1
- package/docs/API-reference/api/x-types.relatedtag.iscurated.md +13 -0
- package/docs/API-reference/api/x-types.relatedtag.md +1 -0
- package/docs/API-reference/components/common/animations/x-components.animate-width.md +6 -7
- package/docs/API-reference/components/common/animations/x-components.collapse-from-top.md +7 -8
- package/docs/API-reference/components/common/animations/x-components.collapse-height.md +8 -9
- package/docs/API-reference/components/common/animations/x-components.collapse-width.md +8 -9
- package/docs/API-reference/components/common/animations/x-components.cross-fade.md +7 -8
- package/docs/API-reference/components/common/animations/x-components.fade-and-slide.md +7 -8
- package/docs/API-reference/components/common/animations/x-components.staggered-fade-and-slide.md +7 -8
- package/docs/API-reference/components/common/{x-components.staggering-transition-group.md → animations/x-components.staggering-transition-group.md} +8 -9
- package/docs/API-reference/components/common/animations/x-components.translate-from-left.md +7 -8
- package/docs/API-reference/components/common/animations/x-components.translate-from-right.md +7 -8
- package/docs/API-reference/components/common/column-picker/x-components.base-column-picker-dropdown.md +12 -13
- package/docs/API-reference/components/common/column-picker/x-components.base-column-picker-list.md +11 -12
- package/docs/API-reference/components/common/currency/x-components.base-currency.md +9 -12
- package/docs/API-reference/components/common/filters/labels/x-components.base-price-filter-label.md +9 -10
- package/docs/API-reference/components/common/filters/labels/x-components.base-rating-filter-label.md +11 -12
- package/docs/API-reference/components/common/icons/x-components.arrow.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.bag.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.bar-code.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.barcode-tiny.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.cart.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.check-tiny.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.check.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.checkbox-card-selected.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.checkbox-card-unselected.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.checkbox-selected.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.checkbox-unselected.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.chevron-down.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.chevron-left.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.chevron-right.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.chevron-tiny-down.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.chevron-tiny-left.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.chevron-tiny-right.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.chevron-tiny-up.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.chevron-up.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.cross-tiny.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.cross.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.filters.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.grid-1-col.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.grid-2-col.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.hide.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.history-tiny.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.history.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.menu.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.minus-tiny.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.minus.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.nq-1.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.nq-2.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.nq-3.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.nq-4.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.plus.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.search-tiny.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.search.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.show.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.star.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.tag.md +7 -0
- package/docs/API-reference/components/common/icons/x-components.trash-open.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.trash.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.trending-tiny.md +4 -5
- package/docs/API-reference/components/common/icons/x-components.trending.md +3 -4
- package/docs/API-reference/components/common/icons/x-components.user.md +3 -4
- package/docs/API-reference/components/common/layouts/x-components.fixed-header-and-asides-layout.md +8 -9
- package/docs/API-reference/components/common/layouts/x-components.multi-column-max-width-layout.md +8 -9
- package/docs/API-reference/components/common/layouts/x-components.single-column-layout.md +6 -5
- package/docs/API-reference/components/common/modals/x-components.base-events-modal-close.md +10 -11
- package/docs/API-reference/components/common/modals/x-components.base-events-modal-open.md +10 -11
- package/docs/API-reference/components/common/modals/x-components.base-events-modal.md +15 -16
- package/docs/API-reference/components/common/modals/x-components.base-id-modal-close.md +9 -10
- package/docs/API-reference/components/common/modals/x-components.base-id-modal-open.md +9 -10
- package/docs/API-reference/components/common/modals/x-components.base-id-modal.md +11 -12
- package/docs/API-reference/components/common/modals/x-components.base-modal.md +7 -8
- package/docs/API-reference/components/common/panels/x-components.base-header-toggle-panel.md +11 -12
- package/docs/API-reference/components/common/panels/x-components.base-id-toggle-panel-button.md +10 -11
- package/docs/API-reference/components/common/panels/x-components.base-id-toggle-panel.md +10 -11
- package/docs/API-reference/components/common/panels/x-components.base-toggle-panel.md +8 -9
- package/docs/API-reference/components/common/result/x-components.base-result-add-to-cart.md +9 -10
- package/docs/API-reference/components/common/result/x-components.base-result-current-price.md +10 -11
- package/docs/API-reference/components/common/result/x-components.base-result-fallback-image.md +4 -5
- package/docs/API-reference/components/common/result/x-components.base-result-image.md +9 -10
- package/docs/API-reference/components/common/result/x-components.base-result-link.md +15 -24
- package/docs/API-reference/components/common/result/x-components.base-result-placeholder-image.md +4 -5
- package/docs/API-reference/components/common/result/x-components.base-result-previous-price.md +9 -10
- package/docs/API-reference/components/common/scroll/x-components.base-scroll.md +8 -9
- package/docs/API-reference/components/common/suggestions/x-components.base-suggestion.md +10 -11
- package/docs/API-reference/components/common/suggestions/x-components.base-suggestions.md +7 -8
- package/docs/API-reference/components/common/x-components.auto-progress-bar.md +5 -6
- package/docs/API-reference/components/common/x-components.base-dropdown.md +8 -9
- package/docs/API-reference/components/common/x-components.base-event-button.md +11 -12
- package/docs/API-reference/components/common/x-components.base-grid.md +15 -16
- package/docs/API-reference/components/common/x-components.base-keyboard-navigation.md +10 -11
- package/docs/API-reference/components/common/x-components.base-rating.md +10 -11
- package/docs/API-reference/components/common/x-components.base-variable-column-grid.md +10 -11
- package/docs/API-reference/components/common/x-components.global-x-bus.md +50 -0
- package/docs/API-reference/components/common/x-components.items-list.md +6 -5
- package/docs/API-reference/components/common/x-components.location-provider.md +6 -7
- package/docs/API-reference/components/common/x-components.sliding-panel.md +10 -11
- package/docs/API-reference/components/common/x-components.snippet-callbacks.md +36 -0
- package/docs/API-reference/components/device/x-components.device-detector.md +8 -9
- package/docs/API-reference/components/empathize/x-components.empathize.md +8 -9
- package/docs/API-reference/components/extra-params/x-components.extra-params.md +7 -8
- package/docs/API-reference/components/extra-params/x-components.renderless-extra-param.md +9 -10
- package/docs/API-reference/components/extra-params/x-components.snippet-config-extra-params.md +6 -7
- package/docs/API-reference/components/facets/x-components.clear-filters.md +9 -10
- package/docs/API-reference/components/facets/x-components.facets/facets-provider.md +10 -11
- package/docs/API-reference/components/facets/x-components.facets/facets.md +12 -13
- package/docs/API-reference/components/facets/x-components.filters/all-filter.md +15 -16
- package/docs/API-reference/components/facets/x-components.filters/base-filter.md +12 -13
- package/docs/API-reference/components/facets/x-components.filters/editable-number-range-filter.md +12 -13
- package/docs/API-reference/components/facets/x-components.filters/hierarchical-filter.md +9 -10
- package/docs/API-reference/components/facets/x-components.filters/number-range-filter.md +9 -10
- package/docs/API-reference/components/facets/x-components.filters/renderless-filter.md +12 -13
- package/docs/API-reference/components/facets/x-components.filters/simple-filter.md +10 -11
- package/docs/API-reference/components/facets/x-components.lists/exclude-filters-with-no-results.md +11 -12
- package/docs/API-reference/components/facets/x-components.lists/filters-list.md +11 -12
- package/docs/API-reference/components/facets/x-components.lists/filters-search.md +9 -10
- package/docs/API-reference/components/facets/x-components.lists/selected-filters-list.md +12 -13
- package/docs/API-reference/components/facets/x-components.lists/selected-filters.md +11 -12
- package/docs/API-reference/components/facets/x-components.lists/sliced-filters.md +11 -12
- package/docs/API-reference/components/facets/x-components.lists/sorted-filters.md +11 -12
- package/docs/API-reference/components/history-queries/x-components.clear-history-queries.md +10 -11
- package/docs/API-reference/components/history-queries/x-components.history-queries.md +10 -11
- package/docs/API-reference/components/history-queries/x-components.history-query.md +11 -12
- package/docs/API-reference/components/history-queries/x-components.remove-history-query.md +10 -11
- package/docs/API-reference/components/identifier-results/x-components.identifier-result.md +9 -10
- package/docs/API-reference/components/identifier-results/x-components.identifier-results.md +10 -11
- package/docs/API-reference/components/next-queries/x-components.next-queries-list.md +7 -8
- package/docs/API-reference/components/next-queries/x-components.next-queries.md +14 -15
- package/docs/API-reference/components/next-queries/x-components.next-query.md +11 -12
- package/docs/API-reference/components/popular-searches/x-components.popular-search.md +11 -12
- package/docs/API-reference/components/popular-searches/x-components.popular-searches.md +13 -14
- package/docs/API-reference/components/query-suggestions/x-components.query-suggestion.md +8 -9
- package/docs/API-reference/components/query-suggestions/x-components.query-suggestions.md +8 -9
- package/docs/API-reference/components/recommendations/x-components.recommendations.md +14 -15
- package/docs/API-reference/components/related-tags/x-components.related-tag.md +19 -17
- package/docs/API-reference/components/related-tags/x-components.related-tags.md +19 -19
- package/docs/API-reference/components/scroll/x-components.main-scroll-item.md +7 -8
- package/docs/API-reference/components/scroll/x-components.main-scroll.md +7 -8
- package/docs/API-reference/components/scroll/x-components.scroll-to-top.md +9 -10
- package/docs/API-reference/components/scroll/x-components.scroll.md +25 -30
- package/docs/API-reference/components/scroll/x-components.window-scroll.md +13 -16
- package/docs/API-reference/components/search/x-components.banner.md +8 -9
- package/docs/API-reference/components/search/x-components.banners-list.md +7 -8
- package/docs/API-reference/components/search/x-components.partial-query-button.md +11 -12
- package/docs/API-reference/components/search/x-components.partial-results-list.md +11 -12
- package/docs/API-reference/components/search/x-components.promoted.md +7 -8
- package/docs/API-reference/components/search/x-components.promoteds-list.md +7 -8
- package/docs/API-reference/components/search/x-components.redirection.md +8 -9
- package/docs/API-reference/components/search/x-components.results-list.md +7 -8
- package/docs/API-reference/components/search/x-components.sort-dropdown.md +8 -9
- package/docs/API-reference/components/search/x-components.sort-list.md +8 -9
- package/docs/API-reference/components/search/x-components.spellcheck-button.md +11 -12
- package/docs/API-reference/components/search/x-components.spellcheck.md +11 -12
- package/docs/API-reference/components/search-box/x-components.clear-search-input.md +6 -7
- package/docs/API-reference/components/search-box/x-components.search-button.md +6 -7
- package/docs/API-reference/components/search-box/x-components.search-input.md +7 -8
- package/docs/API-reference/components/tagging/x-components.tagging.md +8 -5
- package/docs/API-reference/components/url/x-components.url-handler.md +7 -8
- package/docs/build-search-ui/README.md +0 -5
- package/docs/build-search-ui/web-archetype-development-guide.md +178 -0
- package/docs/build-search-ui/web-archetype-integration-guide.md +146 -143
- package/docs/build-search-ui/web-use-x-components-guide.md +0 -5
- package/docs/build-search-ui/web-x-components-integration-guide.md +3 -8
- package/docs/build-search-ui/x-architecture/README.md +0 -5
- package/js/components/animations/animate-width.vue.js +3 -3
- package/js/components/animations/animate-width.vue.js.map +1 -1
- package/js/components/animations/collapse-from-top.vue.js +3 -3
- package/js/components/animations/collapse-from-top.vue.js.map +1 -1
- package/js/components/animations/collapse-height.vue.js +5 -5
- package/js/components/animations/collapse-height.vue.js.map +1 -1
- package/js/components/animations/collapse-width.vue.js +5 -5
- package/js/components/animations/collapse-width.vue.js.map +1 -1
- package/js/components/animations/cross-fade.vue.js +3 -3
- package/js/components/animations/cross-fade.vue.js.map +1 -1
- package/js/components/animations/fade-and-slide.vue.js +4 -4
- package/js/components/animations/fade-and-slide.vue.js.map +1 -1
- package/js/components/animations/staggered-fade-and-slide.vue.js +4 -4
- package/js/components/animations/staggered-fade-and-slide.vue.js.map +1 -1
- package/js/components/animations/staggered-fade-and-slide.vue_rollup-plugin-vue=script.js +1 -1
- package/js/components/animations/staggered-fade-and-slide.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/components/{staggering-transition-group.vue.js → animations/staggering-transition-group.vue.js} +2 -2
- package/js/components/animations/staggering-transition-group.vue.js.map +1 -0
- package/js/components/{staggering-transition-group.vue_rollup-plugin-vue=script.js → animations/staggering-transition-group.vue_rollup-plugin-vue=script.js} +17 -17
- package/js/components/animations/staggering-transition-group.vue_rollup-plugin-vue=script.js.map +1 -0
- package/js/components/animations/translate-from-left.vue.js +3 -3
- package/js/components/animations/translate-from-left.vue.js.map +1 -1
- package/js/components/animations/translate-from-right.vue.js +3 -3
- package/js/components/animations/translate-from-right.vue.js.map +1 -1
- package/js/components/auto-progress-bar.vue.js +4 -5
- package/js/components/auto-progress-bar.vue.js.map +1 -1
- package/js/components/base-dropdown.vue.js +35 -47
- package/js/components/base-dropdown.vue.js.map +1 -1
- package/js/components/base-event-button.vue.js +1 -1
- package/js/components/base-event-button.vue.js.map +1 -1
- package/js/components/base-grid.vue.js +9 -11
- package/js/components/base-grid.vue.js.map +1 -1
- package/js/components/base-keyboard-navigation.vue.js +7 -10
- package/js/components/base-keyboard-navigation.vue.js.map +1 -1
- package/js/components/base-rating.vue.js +21 -22
- package/js/components/base-rating.vue.js.map +1 -1
- package/js/components/base-variable-column-grid.vue.js +6 -7
- package/js/components/base-variable-column-grid.vue.js.map +1 -1
- package/js/components/column-picker/base-column-picker-dropdown.vue.js +11 -14
- package/js/components/column-picker/base-column-picker-dropdown.vue.js.map +1 -1
- package/js/components/column-picker/base-column-picker-list.vue.js +11 -13
- package/js/components/column-picker/base-column-picker-list.vue.js.map +1 -1
- package/js/components/currency/base-currency.vue.js +2 -3
- package/js/components/currency/base-currency.vue.js.map +1 -1
- package/js/components/filters/labels/base-price-filter-label.vue.js.map +1 -1
- package/js/components/filters/labels/base-rating-filter-label.vue.js +7 -8
- package/js/components/filters/labels/base-rating-filter-label.vue.js.map +1 -1
- package/js/components/global-x-bus.vue.js +39 -0
- package/js/components/global-x-bus.vue.js.map +1 -0
- package/js/components/global-x-bus.vue_rollup-plugin-vue=script.js +47 -0
- package/js/components/global-x-bus.vue_rollup-plugin-vue=script.js.map +1 -0
- package/js/components/icons/arrow.vue.js +4 -6
- package/js/components/icons/arrow.vue.js.map +1 -1
- package/js/components/icons/bag.vue.js +8 -12
- package/js/components/icons/bag.vue.js.map +1 -1
- package/js/components/icons/bar-code.vue.js +6 -9
- package/js/components/icons/bar-code.vue.js.map +1 -1
- package/js/components/icons/barcode-tiny.vue.js +6 -9
- package/js/components/icons/barcode-tiny.vue.js.map +1 -1
- package/js/components/icons/cart.vue.js +10 -13
- package/js/components/icons/cart.vue.js.map +1 -1
- package/js/components/icons/check-tiny.vue.js +4 -6
- package/js/components/icons/check-tiny.vue.js.map +1 -1
- package/js/components/icons/check.vue.js +4 -6
- package/js/components/icons/check.vue.js.map +1 -1
- package/js/components/icons/checkbox-card-selected.vue.js +5 -7
- package/js/components/icons/checkbox-card-selected.vue.js.map +1 -1
- package/js/components/icons/checkbox-card-unselected.vue.js +5 -7
- package/js/components/icons/checkbox-card-unselected.vue.js.map +1 -1
- package/js/components/icons/checkbox-selected.vue.js +5 -7
- package/js/components/icons/checkbox-selected.vue.js.map +1 -1
- package/js/components/icons/checkbox-unselected.vue.js +6 -6
- package/js/components/icons/chevron-down.vue.js +6 -8
- package/js/components/icons/chevron-down.vue.js.map +1 -1
- package/js/components/icons/chevron-left.vue.js +6 -8
- package/js/components/icons/chevron-left.vue.js.map +1 -1
- package/js/components/icons/chevron-right.vue.js +4 -6
- package/js/components/icons/chevron-right.vue.js.map +1 -1
- package/js/components/icons/chevron-tiny-down.vue.js +6 -8
- package/js/components/icons/chevron-tiny-down.vue.js.map +1 -1
- package/js/components/icons/chevron-tiny-left.vue.js +6 -8
- package/js/components/icons/chevron-tiny-left.vue.js.map +1 -1
- package/js/components/icons/chevron-tiny-right.vue.js +6 -8
- package/js/components/icons/chevron-tiny-right.vue.js.map +1 -1
- package/js/components/icons/chevron-tiny-up.vue.js +6 -8
- package/js/components/icons/chevron-tiny-up.vue.js.map +1 -1
- package/js/components/icons/chevron-up.vue.js +6 -8
- package/js/components/icons/chevron-up.vue.js.map +1 -1
- package/js/components/icons/cross-tiny.vue.js +4 -6
- package/js/components/icons/cross-tiny.vue.js.map +1 -1
- package/js/components/icons/cross.vue.js +4 -6
- package/js/components/icons/cross.vue.js.map +1 -1
- package/js/components/icons/filters.vue.js +10 -15
- package/js/components/icons/filters.vue.js.map +1 -1
- package/js/components/icons/grid-1-col.vue.js +6 -9
- package/js/components/icons/grid-1-col.vue.js.map +1 -1
- package/js/components/icons/grid-2-col.vue.js +8 -10
- package/js/components/icons/grid-2-col.vue.js.map +1 -1
- package/js/components/icons/hide.vue.js +10 -15
- package/js/components/icons/hide.vue.js.map +1 -1
- package/js/components/icons/history-tiny.vue.js +9 -12
- package/js/components/icons/history-tiny.vue.js.map +1 -1
- package/js/components/icons/history.vue.js +9 -12
- package/js/components/icons/history.vue.js.map +1 -1
- package/js/components/icons/menu.vue.js +6 -8
- package/js/components/icons/menu.vue.js.map +1 -1
- package/js/components/icons/minus-tiny.vue.js +4 -6
- package/js/components/icons/minus-tiny.vue.js.map +1 -1
- package/js/components/icons/minus.vue.js +4 -6
- package/js/components/icons/minus.vue.js.map +1 -1
- package/js/components/icons/nq-1.vue.js +4 -6
- package/js/components/icons/nq-1.vue.js.map +1 -1
- package/js/components/icons/nq-2.vue.js +4 -6
- package/js/components/icons/nq-2.vue.js.map +1 -1
- package/js/components/icons/nq-3.vue.js +6 -8
- package/js/components/icons/nq-3.vue.js.map +1 -1
- package/js/components/icons/nq-4.vue.js +9 -12
- package/js/components/icons/nq-4.vue.js.map +1 -1
- package/js/components/icons/plus.vue.js +4 -6
- package/js/components/icons/plus.vue.js.map +1 -1
- package/js/components/icons/search-tiny.vue.js +6 -9
- package/js/components/icons/search-tiny.vue.js.map +1 -1
- package/js/components/icons/search.vue.js +6 -8
- package/js/components/icons/search.vue.js.map +1 -1
- package/js/components/icons/show.vue.js +7 -10
- package/js/components/icons/show.vue.js.map +1 -1
- package/js/components/icons/star.vue.js +6 -9
- package/js/components/icons/star.vue.js.map +1 -1
- package/js/components/icons/tag.vue.js +59 -0
- package/js/components/icons/tag.vue.js.map +1 -0
- package/js/components/icons/tag.vue_rollup-plugin-vue=script.js +4 -0
- package/js/components/icons/tag.vue_rollup-plugin-vue=script.js.map +1 -0
- package/js/components/icons/trash-open.vue.js +12 -15
- package/js/components/icons/trash-open.vue.js.map +1 -1
- package/js/components/icons/trash.vue.js +8 -11
- package/js/components/icons/trash.vue.js.map +1 -1
- package/js/components/icons/trending-tiny.vue.js +8 -10
- package/js/components/icons/trending-tiny.vue.js.map +1 -1
- package/js/components/icons/trending.vue.js +8 -10
- package/js/components/icons/trending.vue.js.map +1 -1
- package/js/components/icons/user.vue.js +6 -9
- package/js/components/icons/user.vue.js.map +1 -1
- package/js/components/items-list.vue.js +6 -7
- package/js/components/items-list.vue.js.map +1 -1
- package/js/components/layouts/fixed-header-and-asides-layout.vue.js +212 -0
- package/js/components/layouts/fixed-header-and-asides-layout.vue.js.map +1 -0
- package/js/components/layouts/fixed-header-and-asides-layout.vue_rollup-plugin-vue=script.js +57 -0
- package/js/components/layouts/fixed-header-and-asides-layout.vue_rollup-plugin-vue=script.js.map +1 -0
- package/js/components/layouts/multi-column-max-width-layout.vue.js +57 -91
- package/js/components/layouts/multi-column-max-width-layout.vue.js.map +1 -1
- package/js/components/layouts/multi-column-max-width-layout.vue_rollup-plugin-vue=script.js +1 -1
- package/js/components/layouts/single-column-layout.vue.js +39 -67
- package/js/components/layouts/single-column-layout.vue.js.map +1 -1
- package/js/components/layouts/single-column-layout.vue_rollup-plugin-vue=script.js +1 -1
- package/js/components/modals/base-events-modal-close.vue.js +2 -2
- package/js/components/modals/base-events-modal-close.vue.js.map +1 -1
- package/js/components/modals/base-events-modal-open.vue.js +2 -2
- package/js/components/modals/base-events-modal-open.vue.js.map +1 -1
- package/js/components/modals/base-events-modal.vue.js +3 -3
- package/js/components/modals/base-events-modal.vue.js.map +1 -1
- package/js/components/modals/base-id-modal-close.vue.js +2 -2
- package/js/components/modals/base-id-modal-close.vue.js.map +1 -1
- package/js/components/modals/base-id-modal-open.vue.js +2 -2
- package/js/components/modals/base-id-modal-open.vue.js.map +1 -1
- package/js/components/modals/base-id-modal.vue.js +3 -3
- package/js/components/modals/base-id-modal.vue.js.map +1 -1
- package/js/components/modals/base-modal.vue.js +11 -13
- package/js/components/modals/base-modal.vue.js.map +1 -1
- package/js/components/panels/base-header-toggle-panel.vue.js +7 -9
- package/js/components/panels/base-header-toggle-panel.vue.js.map +1 -1
- package/js/components/panels/base-id-toggle-panel-button.vue.js +2 -2
- package/js/components/panels/base-id-toggle-panel-button.vue.js.map +1 -1
- package/js/components/panels/base-id-toggle-panel.vue.js +1 -1
- package/js/components/panels/base-id-toggle-panel.vue.js.map +1 -1
- package/js/components/panels/base-id-toggle-panel.vue_rollup-plugin-vue=script.js +4 -9
- package/js/components/panels/base-id-toggle-panel.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/components/panels/base-toggle-panel.vue.js +3 -4
- package/js/components/panels/base-toggle-panel.vue.js.map +1 -1
- package/js/components/result/base-result-add-to-cart.vue.js +2 -2
- package/js/components/result/base-result-add-to-cart.vue.js.map +1 -1
- package/js/components/result/base-result-current-price.vue.js +6 -8
- package/js/components/result/base-result-current-price.vue.js.map +1 -1
- package/js/components/result/base-result-fallback-image.vue.js +7 -9
- package/js/components/result/base-result-fallback-image.vue.js.map +1 -1
- package/js/components/result/base-result-image.vue.js +11 -14
- package/js/components/result/base-result-image.vue.js.map +1 -1
- package/js/components/result/base-result-link.vue.js +8 -8
- package/js/components/result/base-result-link.vue.js.map +1 -1
- package/js/components/result/base-result-link.vue_rollup-plugin-vue=script.js +3 -12
- package/js/components/result/base-result-link.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/components/result/base-result-placeholder-image.vue.js +7 -9
- package/js/components/result/base-result-placeholder-image.vue.js.map +1 -1
- package/js/components/result/base-result-previous-price.vue.js +7 -9
- package/js/components/result/base-result-previous-price.vue.js.map +1 -1
- package/js/components/scroll/base-scroll.vue.js +4 -4
- package/js/components/scroll/base-scroll.vue.js.map +1 -1
- package/js/components/sliding-panel.vue.js +13 -16
- package/js/components/sliding-panel.vue.js.map +1 -1
- package/js/components/snippet-callbacks.vue.js +47 -0
- package/js/components/snippet-callbacks.vue.js.map +1 -0
- package/js/components/snippet-callbacks.vue_rollup-plugin-vue=script.js +58 -0
- package/js/components/snippet-callbacks.vue_rollup-plugin-vue=script.js.map +1 -0
- package/js/components/suggestions/base-suggestion.vue.js +6 -8
- package/js/components/suggestions/base-suggestion.vue.js.map +1 -1
- package/js/components/suggestions/base-suggestions.vue.js +8 -9
- package/js/components/suggestions/base-suggestions.vue.js.map +1 -1
- package/js/components/x-component.mixin.js +1 -4
- package/js/components/x-component.mixin.js.map +1 -1
- package/js/components/x-component.utils.js +4 -20
- package/js/components/x-component.utils.js.map +1 -1
- package/js/index.js +35 -30
- package/js/index.js.map +1 -1
- package/js/plugins/x-plugin.alias.js +21 -20
- package/js/plugins/x-plugin.alias.js.map +1 -1
- package/js/plugins/x-plugin.mixin.js +2 -2
- package/js/plugins/x-plugin.mixin.js.map +1 -1
- package/js/utils/origin.js +5 -3
- package/js/utils/origin.js.map +1 -1
- package/js/utils/storage.js +2 -2
- package/js/utils/storage.js.map +1 -1
- package/js/wiring/namespaced-wires.operators.js +3 -4
- package/js/wiring/namespaced-wires.operators.js.map +1 -1
- package/js/wiring/wires-operators.utils.js +55 -0
- package/js/wiring/wires-operators.utils.js.map +1 -0
- package/js/wiring/wires.operators.js +17 -12
- package/js/wiring/wires.operators.js.map +1 -1
- package/js/x-installer/x-installer/x-installer.js +1 -1
- package/js/x-installer/x-installer/x-installer.js.map +1 -1
- package/js/x-modules/device/components/device-detector.vue.js +2 -2
- package/js/x-modules/empathize/components/empathize.vue.js +5 -6
- package/js/x-modules/empathize/components/empathize.vue.js.map +1 -1
- package/js/x-modules/empathize/components/empathize.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/extra-params/components/extra-params.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/extra-params/components/extra-params.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/extra-params/components/renderless-extra-param.vue.js +3 -4
- package/js/x-modules/extra-params/components/renderless-extra-param.vue.js.map +1 -1
- package/js/x-modules/extra-params/components/renderless-extra-param.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/extra-params/components/renderless-extra-param.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/extra-params/components/snippet-config-extra-params.vue.js +1 -1
- package/js/x-modules/extra-params/components/snippet-config-extra-params.vue.js.map +1 -1
- package/js/x-modules/extra-params/components/snippet-config-extra-params.vue_rollup-plugin-vue=script.js +25 -12
- package/js/x-modules/extra-params/components/snippet-config-extra-params.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/clear-filters.vue.js +6 -8
- package/js/x-modules/facets/components/clear-filters.vue.js.map +1 -1
- package/js/x-modules/facets/components/clear-filters.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/clear-filters.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/facets/facets-provider.vue.js +2 -2
- package/js/x-modules/facets/components/facets/facets-provider.vue.js.map +1 -1
- package/js/x-modules/facets/components/facets/facets-provider.vue_rollup-plugin-vue=script.js +20 -23
- package/js/x-modules/facets/components/facets/facets-provider.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/facets/facets.vue.js +12 -13
- package/js/x-modules/facets/components/facets/facets.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/all-filter.vue.js +5 -6
- package/js/x-modules/facets/components/filters/all-filter.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/all-filter.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/filters/all-filter.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/filters/base-filter.vue.js +5 -6
- package/js/x-modules/facets/components/filters/base-filter.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/base-filter.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/filters/base-filter.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/filters/editable-number-range-filter.vue.js +20 -24
- package/js/x-modules/facets/components/filters/editable-number-range-filter.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/hierarchical-filter.vue.js +29 -38
- package/js/x-modules/facets/components/filters/hierarchical-filter.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/hierarchical-filter.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/filters/hierarchical-filter.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/filters/number-range-filter.vue.js +5 -6
- package/js/x-modules/facets/components/filters/number-range-filter.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/number-range-filter.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/filters/number-range-filter.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/filters/renderless-filter.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/renderless-filter.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/filters/renderless-filter.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/filters/simple-filter.vue.js +13 -17
- package/js/x-modules/facets/components/filters/simple-filter.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/simple-filter.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/filters/simple-filter.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/lists/exclude-filters-with-no-results.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/exclude-filters-with-no-results.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/lists/exclude-filters-with-no-results.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/lists/filters-list.vue.js +6 -6
- package/js/x-modules/facets/components/lists/filters-list.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/filters-list.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/lists/filters-list.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/lists/filters-search.vue.js +10 -12
- package/js/x-modules/facets/components/lists/filters-search.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/filters-search.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/lists/filters-search.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/lists/selected-filters-list.vue.js +14 -20
- package/js/x-modules/facets/components/lists/selected-filters-list.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/selected-filters.vue.js +3 -4
- package/js/x-modules/facets/components/lists/selected-filters.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/selected-filters.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/lists/selected-filters.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/lists/sliced-filters.vue.js +12 -18
- package/js/x-modules/facets/components/lists/sliced-filters.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/sliced-filters.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/lists/sliced-filters.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/facets/components/lists/sorted-filters.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/sorted-filters.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/facets/components/lists/sorted-filters.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/history-queries/components/clear-history-queries.vue.js +5 -6
- package/js/x-modules/history-queries/components/clear-history-queries.vue.js.map +1 -1
- package/js/x-modules/history-queries/components/history-queries.vue.js +19 -25
- package/js/x-modules/history-queries/components/history-queries.vue.js.map +1 -1
- package/js/x-modules/history-queries/components/history-queries.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/history-queries/components/history-query.vue.js +13 -17
- package/js/x-modules/history-queries/components/history-query.vue.js.map +1 -1
- package/js/x-modules/history-queries/components/history-query.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/history-queries/components/remove-history-query.vue.js +2 -2
- package/js/x-modules/history-queries/components/remove-history-query.vue.js.map +1 -1
- package/js/x-modules/history-queries/wiring.js +1 -1
- package/js/x-modules/history-queries/wiring.js.map +1 -1
- package/js/x-modules/identifier-results/components/identifier-result.vue.js +2 -2
- package/js/x-modules/identifier-results/components/identifier-result.vue.js.map +1 -1
- package/js/x-modules/identifier-results/components/identifier-results.vue.js +4 -4
- package/js/x-modules/identifier-results/components/identifier-results.vue.js.map +1 -1
- package/js/x-modules/identifier-results/store/actions/fetch-and-save-identifier-results.action.js +4 -2
- package/js/x-modules/identifier-results/store/actions/fetch-and-save-identifier-results.action.js.map +1 -1
- package/js/x-modules/identifier-results/store/getters/identifier-results-request.getter.js +2 -3
- package/js/x-modules/identifier-results/store/getters/identifier-results-request.getter.js.map +1 -1
- package/js/x-modules/identifier-results/wiring.js +3 -2
- package/js/x-modules/identifier-results/wiring.js.map +1 -1
- package/js/x-modules/next-queries/components/next-queries-list.vue.js +9 -12
- package/js/x-modules/next-queries/components/next-queries-list.vue.js.map +1 -1
- package/js/x-modules/next-queries/components/next-queries-list.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/next-queries/components/next-queries.vue.js +15 -20
- package/js/x-modules/next-queries/components/next-queries.vue.js.map +1 -1
- package/js/x-modules/next-queries/components/next-queries.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/next-queries/components/next-query.vue.js +8 -10
- package/js/x-modules/next-queries/components/next-query.vue.js.map +1 -1
- package/js/x-modules/next-queries/components/next-query.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/popular-searches/components/popular-search.vue.js +8 -10
- package/js/x-modules/popular-searches/components/popular-search.vue.js.map +1 -1
- package/js/x-modules/popular-searches/components/popular-search.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/popular-searches/components/popular-searches.vue.js +15 -20
- package/js/x-modules/popular-searches/components/popular-searches.vue.js.map +1 -1
- package/js/x-modules/popular-searches/components/popular-searches.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/query-suggestions/components/query-suggestion.vue.js +9 -11
- package/js/x-modules/query-suggestions/components/query-suggestion.vue.js.map +1 -1
- package/js/x-modules/query-suggestions/components/query-suggestion.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/query-suggestions/components/query-suggestions.vue.js +15 -20
- package/js/x-modules/query-suggestions/components/query-suggestions.vue.js.map +1 -1
- package/js/x-modules/query-suggestions/components/query-suggestions.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/query-suggestions/wiring.js +1 -1
- package/js/x-modules/query-suggestions/wiring.js.map +1 -1
- package/js/x-modules/recommendations/components/recommendations.vue.js +11 -14
- package/js/x-modules/recommendations/components/recommendations.vue.js.map +1 -1
- package/js/x-modules/related-tags/components/related-tag.vue.js +11 -8
- package/js/x-modules/related-tags/components/related-tag.vue.js.map +1 -1
- package/js/x-modules/related-tags/components/related-tag.vue_rollup-plugin-vue=script.js +20 -0
- package/js/x-modules/related-tags/components/related-tag.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/related-tags/components/related-tags.vue.js +28 -21
- package/js/x-modules/related-tags/components/related-tags.vue.js.map +1 -1
- package/js/x-modules/related-tags/components/related-tags.vue_rollup-plugin-vue=script.js +3 -0
- package/js/x-modules/related-tags/components/related-tags.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/scroll/components/main-scroll-item.vue.js +1 -1
- package/js/x-modules/scroll/components/main-scroll-item.vue_rollup-plugin-vue=script.js +18 -14
- package/js/x-modules/scroll/components/main-scroll-item.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/scroll/components/scroll-to-top.vue.js +3 -4
- package/js/x-modules/scroll/components/scroll-to-top.vue.js.map +1 -1
- package/js/x-modules/scroll/components/scroll-to-top.vue_rollup-plugin-vue=script.js +18 -14
- package/js/x-modules/scroll/components/scroll-to-top.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/scroll/components/scroll.vue.js +4 -4
- package/js/x-modules/scroll/components/scroll.vue.js.map +1 -1
- package/js/x-modules/scroll/components/scroll.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/scroll/components/window-scroll.vue.js.map +1 -1
- package/js/x-modules/scroll/components/window-scroll.vue_rollup-plugin-vue=script.js +18 -14
- package/js/x-modules/scroll/components/window-scroll.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/search/components/banner.vue.js +6 -7
- package/js/x-modules/search/components/banner.vue.js.map +1 -1
- package/js/x-modules/search/components/banner.vue_rollup-plugin-vue=script.js +8 -0
- package/js/x-modules/search/components/banner.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/search/components/banners-list.vue.js +9 -12
- package/js/x-modules/search/components/banners-list.vue.js.map +1 -1
- package/js/x-modules/search/components/banners-list.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/search/components/partial-query-button.vue.js +4 -5
- package/js/x-modules/search/components/partial-query-button.vue.js.map +1 -1
- package/js/x-modules/search/components/partial-results-list.vue.js +6 -6
- package/js/x-modules/search/components/partial-results-list.vue.js.map +1 -1
- package/js/x-modules/search/components/promoted.vue.js +6 -7
- package/js/x-modules/search/components/promoted.vue.js.map +1 -1
- package/js/x-modules/search/components/promoted.vue_rollup-plugin-vue=script.js +8 -0
- package/js/x-modules/search/components/promoted.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/search/components/promoteds-list.vue.js +9 -12
- package/js/x-modules/search/components/promoteds-list.vue.js.map +1 -1
- package/js/x-modules/search/components/promoteds-list.vue_rollup-plugin-vue=script.js +1 -1
- package/js/x-modules/search/components/redirection.vue.js +4 -5
- package/js/x-modules/search/components/redirection.vue.js.map +1 -1
- package/js/x-modules/search/components/redirection.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/search/components/results-list.vue.js +9 -12
- package/js/x-modules/search/components/results-list.vue.js.map +1 -1
- package/js/x-modules/search/components/results-list.vue_rollup-plugin-vue=script.js +2 -2
- package/js/x-modules/search/components/sort-dropdown.vue.js +13 -16
- package/js/x-modules/search/components/sort-dropdown.vue.js.map +1 -1
- package/js/x-modules/search/components/sort-list.vue.js +10 -12
- package/js/x-modules/search/components/sort-list.vue.js.map +1 -1
- package/js/x-modules/search/components/sort-list.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/search/components/sort-list.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/search/components/sort.mixin.js +16 -12
- package/js/x-modules/search/components/sort.mixin.js.map +1 -1
- package/js/x-modules/search/components/spellcheck-button.vue.js +4 -5
- package/js/x-modules/search/components/spellcheck-button.vue.js.map +1 -1
- package/js/x-modules/search/components/spellcheck.vue.js +4 -6
- package/js/x-modules/search/components/spellcheck.vue.js.map +1 -1
- package/js/x-modules/search/components/spellcheck.vue_rollup-plugin-vue=script.js +16 -12
- package/js/x-modules/search/components/spellcheck.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/search/store/actions/fetch-and-save-search-response.action.js +7 -2
- package/js/x-modules/search/store/actions/fetch-and-save-search-response.action.js.map +1 -1
- package/js/x-modules/search/store/getters/request.getter.js +2 -3
- package/js/x-modules/search/store/getters/request.getter.js.map +1 -1
- package/js/x-modules/search/wiring.js +4 -3
- package/js/x-modules/search/wiring.js.map +1 -1
- package/js/x-modules/search-box/components/clear-search-input.vue.js +5 -6
- package/js/x-modules/search-box/components/clear-search-input.vue.js.map +1 -1
- package/js/x-modules/search-box/components/search-button.vue.js +4 -5
- package/js/x-modules/search-box/components/search-button.vue.js.map +1 -1
- package/js/x-modules/search-box/components/search-input.vue.js +9 -11
- package/js/x-modules/search-box/components/search-input.vue.js.map +1 -1
- package/js/x-modules/search-box/components/search-input.vue_rollup-plugin-vue=script.js +7 -5
- package/js/x-modules/search-box/components/search-input.vue_rollup-plugin-vue=script.js.map +1 -1
- package/js/x-modules/tagging/components/tagging.vue.js +39 -0
- package/js/x-modules/tagging/components/tagging.vue.js.map +1 -0
- package/js/x-modules/tagging/components/tagging.vue_rollup-plugin-vue=script.js +65 -0
- package/js/x-modules/tagging/components/tagging.vue_rollup-plugin-vue=script.js.map +1 -0
- package/js/x-modules/tagging/service/session.service.js +23 -6
- package/js/x-modules/tagging/service/session.service.js.map +1 -1
- package/js/x-modules/tagging/store/actions/track.action.js +2 -2
- package/js/x-modules/tagging/store/actions/track.action.js.map +1 -1
- package/js/x-modules/tagging/wiring.js +52 -5
- package/js/x-modules/tagging/wiring.js.map +1 -1
- package/js/x-modules/url/components/url-handler.vue.js +2 -2
- package/js/x-modules/url/components/url-handler.vue.js.map +1 -1
- package/js/x-modules/url/components/url-handler.vue_rollup-plugin-vue=script.js +101 -5
- package/js/x-modules/url/components/url-handler.vue_rollup-plugin-vue=script.js.map +1 -1
- package/package.json +18 -16
- package/report/tsdoc-metadata.json +1 -1
- package/report/x-adapter.api.json +29 -3
- package/report/x-components.api.json +999 -231
- package/report/x-components.api.md +132 -45
- package/report/x-types.api.json +27 -1
- package/tagging/index.js +3 -2
- package/types/adapter/mocked-adapter.d.ts.map +1 -1
- package/types/components/animations/index.d.ts +1 -0
- package/types/components/animations/index.d.ts.map +1 -1
- package/types/components/{staggering-transition-group.vue.d.ts → animations/staggering-transition-group.vue.d.ts} +0 -0
- package/types/components/animations/staggering-transition-group.vue.d.ts.map +1 -0
- package/types/components/global-x-bus.vue.d.ts +25 -0
- package/types/components/global-x-bus.vue.d.ts.map +1 -0
- package/types/components/icons/index.d.ts +1 -0
- package/types/components/icons/index.d.ts.map +1 -1
- package/types/components/icons/tag.vue.d.ts +3 -0
- package/types/components/icons/tag.vue.d.ts.map +1 -0
- package/types/components/index.d.ts +3 -4
- package/types/components/index.d.ts.map +1 -1
- package/types/components/layouts/fixed-header-and-asides-layout.vue.d.ts +17 -0
- package/types/components/layouts/fixed-header-and-asides-layout.vue.d.ts.map +1 -0
- package/types/components/layouts/index.d.ts +4 -0
- package/types/components/layouts/index.d.ts.map +1 -0
- package/types/components/panels/base-id-toggle-panel.vue.d.ts +0 -5
- package/types/components/panels/base-id-toggle-panel.vue.d.ts.map +1 -1
- package/types/components/result/base-result-link.vue.d.ts +3 -10
- package/types/components/result/base-result-link.vue.d.ts.map +1 -1
- package/types/components/snippet-callbacks.vue.d.ts +27 -0
- package/types/components/snippet-callbacks.vue.d.ts.map +1 -0
- package/types/components/x-component.mixin.d.ts.map +1 -1
- package/types/components/x-component.utils.d.ts +1 -16
- package/types/components/x-component.utils.d.ts.map +1 -1
- package/types/plugins/x-plugin.alias.d.ts +4 -6
- package/types/plugins/x-plugin.alias.d.ts.map +1 -1
- package/types/plugins/x-plugin.mixin.d.ts +13 -3
- package/types/plugins/x-plugin.mixin.d.ts.map +1 -1
- package/types/types/origin.d.ts +1 -1
- package/types/types/origin.d.ts.map +1 -1
- package/types/utils/origin.d.ts +3 -1
- package/types/utils/origin.d.ts.map +1 -1
- package/types/utils/storage.d.ts +1 -7
- package/types/utils/storage.d.ts.map +1 -1
- package/types/utils/types.d.ts +6 -0
- package/types/utils/types.d.ts.map +1 -1
- package/types/wiring/events.types.d.ts +8 -5
- package/types/wiring/events.types.d.ts.map +1 -1
- package/types/wiring/namespaced-wires.operators.d.ts +2 -3
- package/types/wiring/namespaced-wires.operators.d.ts.map +1 -1
- package/types/wiring/namespaced-wiring.types.d.ts +9 -10
- package/types/wiring/namespaced-wiring.types.d.ts.map +1 -1
- package/types/wiring/wires-operators.utils.d.ts +36 -0
- package/types/wiring/wires-operators.utils.d.ts.map +1 -0
- package/types/wiring/wires.operators.d.ts +5 -8
- package/types/wiring/wires.operators.d.ts.map +1 -1
- package/types/wiring/wiring.types.d.ts +17 -4
- package/types/wiring/wiring.types.d.ts.map +1 -1
- package/types/x-installer/api/api.types.d.ts +14 -0
- package/types/x-installer/api/api.types.d.ts.map +1 -1
- package/types/x-installer/x-installer/x-installer.d.ts +1 -1
- package/types/x-modules/extra-params/components/snippet-config-extra-params.vue.d.ts +6 -0
- package/types/x-modules/extra-params/components/snippet-config-extra-params.vue.d.ts.map +1 -1
- package/types/x-modules/facets/components/facets/facets-provider.vue.d.ts +0 -8
- package/types/x-modules/facets/components/facets/facets-provider.vue.d.ts.map +1 -1
- package/types/x-modules/history-queries/wiring.d.ts +1 -1
- package/types/x-modules/identifier-results/store/actions/fetch-and-save-identifier-results.action.d.ts.map +1 -1
- package/types/x-modules/identifier-results/store/getters/identifier-results-request.getter.d.ts.map +1 -1
- package/types/x-modules/identifier-results/wiring.d.ts +2 -1
- package/types/x-modules/identifier-results/wiring.d.ts.map +1 -1
- package/types/x-modules/query-suggestions/wiring.d.ts +1 -1
- package/types/x-modules/related-tags/components/related-tag.vue.d.ts +14 -0
- package/types/x-modules/related-tags/components/related-tag.vue.d.ts.map +1 -1
- package/types/x-modules/related-tags/components/related-tags.vue.d.ts +6 -0
- package/types/x-modules/related-tags/components/related-tags.vue.d.ts.map +1 -1
- package/types/x-modules/search/components/banner.vue.d.ts +6 -0
- package/types/x-modules/search/components/banner.vue.d.ts.map +1 -1
- package/types/x-modules/search/components/promoted.vue.d.ts +6 -0
- package/types/x-modules/search/components/promoted.vue.d.ts.map +1 -1
- package/types/x-modules/search/components/redirection.vue.d.ts +1 -1
- package/types/x-modules/search/components/redirection.vue.d.ts.map +1 -1
- package/types/x-modules/search/events.types.d.ts +11 -1
- package/types/x-modules/search/events.types.d.ts.map +1 -1
- package/types/x-modules/search/store/actions/fetch-and-save-search-response.action.d.ts.map +1 -1
- package/types/x-modules/search/store/getters/request.getter.d.ts.map +1 -1
- package/types/x-modules/search/wiring.d.ts +2 -1
- package/types/x-modules/search/wiring.d.ts.map +1 -1
- package/types/x-modules/search-box/components/search-input.vue.d.ts +5 -2
- package/types/x-modules/search-box/components/search-input.vue.d.ts.map +1 -1
- package/types/x-modules/tagging/components/tagging.vue.d.ts +47 -0
- package/types/x-modules/tagging/components/tagging.vue.d.ts.map +1 -0
- package/types/x-modules/tagging/index.d.ts +1 -0
- package/types/x-modules/tagging/index.d.ts.map +1 -1
- package/types/x-modules/tagging/service/session.service.d.ts +18 -1
- package/types/x-modules/tagging/service/session.service.d.ts.map +1 -1
- package/types/x-modules/tagging/wiring.d.ts +29 -9
- package/types/x-modules/tagging/wiring.d.ts.map +1 -1
- package/types/x-modules/url/components/url-handler.vue.d.ts +70 -7
- package/types/x-modules/url/components/url-handler.vue.d.ts.map +1 -1
- package/docs/API-reference/api/x-components.baseidtogglepanel.created.md +0 -17
- package/docs/API-reference/api/x-components.xcomponent.md +0 -15
- package/docs/API-reference/api/x-components.xeventstypes.userrightclickedaresult.md +0 -13
- package/docs/sidebar.json +0 -1
- package/js/components/staggering-transition-group.vue.js.map +0 -1
- package/js/components/staggering-transition-group.vue_rollup-plugin-vue=script.js.map +0 -1
- package/js/wiring/utils/wire-racing-handling.js +0 -108
- package/js/wiring/utils/wire-racing-handling.js.map +0 -1
- package/types/components/staggering-transition-group.vue.d.ts.map +0 -1
- package/types/components/x-component.types.d.ts +0 -19
- package/types/components/x-component.types.d.ts.map +0 -1
- package/types/wiring/utils/wire-racing-handling.d.ts +0 -27
- package/types/wiring/utils/wire-racing-handling.d.ts.map +0 -1
|
@@ -25,7 +25,7 @@ import '../../../utils/sanitize.js';
|
|
|
25
25
|
import '../../../utils/storage.js';
|
|
26
26
|
import '../../../utils/string.js';
|
|
27
27
|
import '../../../utils/throttle.js';
|
|
28
|
-
import '../../../components/staggering-transition-group.vue.js';
|
|
28
|
+
import '../../../components/animations/staggering-transition-group.vue.js';
|
|
29
29
|
import '../../../components/animations/staggered-fade-and-slide.vue.js';
|
|
30
30
|
import '../../../components/animations/translate-from-left.vue.js';
|
|
31
31
|
import '../../../components/animations/translate-from-right.vue.js';
|
|
@@ -80,21 +80,30 @@ import '../../../components/icons/plus.vue.js';
|
|
|
80
80
|
import '../../../components/icons/search.vue.js';
|
|
81
81
|
import '../../../components/icons/show.vue.js';
|
|
82
82
|
import '../../../components/icons/search-tiny.vue.js';
|
|
83
|
+
import '../../../components/icons/tag.vue.js';
|
|
83
84
|
import '../../../components/icons/trash-open.vue.js';
|
|
84
85
|
import '../../../components/icons/trash.vue.js';
|
|
85
86
|
import '../../../components/icons/trending-tiny.vue.js';
|
|
86
87
|
import '../../../components/icons/trending.vue.js';
|
|
87
88
|
import '../../../components/icons/user.vue.js';
|
|
88
|
-
import '../../../components/
|
|
89
|
+
import '../../../components/decorators/store.decorators.js';
|
|
90
|
+
import '../../../components/x-component.utils.js';
|
|
91
|
+
import { xComponentMixin } from '../../../components/x-component.mixin.js';
|
|
89
92
|
import '../../../components/modals/base-modal.vue.js';
|
|
93
|
+
import '../../../components/modals/base-id-modal.vue.js';
|
|
94
|
+
import '../../../components/scroll/scroll.mixin.js';
|
|
95
|
+
import '../../../components/scroll/base-scroll.vue.js';
|
|
96
|
+
import '../../../components/layouts/fixed-header-and-asides-layout.vue.js';
|
|
97
|
+
import '../../../components/panels/base-toggle-panel.vue.js';
|
|
98
|
+
import '../../../components/panels/base-id-toggle-panel.vue.js';
|
|
99
|
+
import '../../../components/layouts/multi-column-max-width-layout.vue.js';
|
|
100
|
+
import '../../../components/layouts/single-column-layout.vue.js';
|
|
101
|
+
import '../../../components/modals/base-events-modal-close.vue.js';
|
|
90
102
|
import '../../../components/modals/base-events-modal.vue.js';
|
|
91
103
|
import '../../../components/modals/base-events-modal-open.vue.js';
|
|
92
|
-
import '../../../components/modals/base-id-modal.vue.js';
|
|
93
104
|
import '../../../components/modals/base-id-modal-close.vue.js';
|
|
94
105
|
import '../../../components/modals/base-id-modal-open.vue.js';
|
|
95
|
-
import '../../../components/panels/base-toggle-panel.vue.js';
|
|
96
106
|
import '../../../components/panels/base-header-toggle-panel.vue.js';
|
|
97
|
-
import '../../../components/panels/base-id-toggle-panel.vue.js';
|
|
98
107
|
import '../../../components/panels/base-id-toggle-panel-button.vue.js';
|
|
99
108
|
import '../../../components/result/base-result-add-to-cart.vue.js';
|
|
100
109
|
import '../../../components/result/base-result-current-price.vue.js';
|
|
@@ -103,8 +112,6 @@ import '../../../components/result/base-result-link.vue.js';
|
|
|
103
112
|
import '../../../components/result/base-result-previous-price.vue.js';
|
|
104
113
|
import '../../../components/result/base-result-fallback-image.vue.js';
|
|
105
114
|
import '../../../components/result/base-result-placeholder-image.vue.js';
|
|
106
|
-
import '../../../components/scroll/scroll.mixin.js';
|
|
107
|
-
import '../../../components/scroll/base-scroll.vue.js';
|
|
108
115
|
import '../../../components/suggestions/base-suggestion.vue.js';
|
|
109
116
|
import '../../../components/suggestions/base-suggestions.vue.js';
|
|
110
117
|
import '../../../components/auto-progress-bar.vue.js';
|
|
@@ -115,12 +122,9 @@ import '../../../components/base-variable-column-grid.vue.js';
|
|
|
115
122
|
import '../../../components/decorators/debounce.decorators.js';
|
|
116
123
|
import '../../../components/sliding-panel.vue.js';
|
|
117
124
|
import '../../../components/items-list.vue.js';
|
|
118
|
-
import '../../../components/decorators/store.decorators.js';
|
|
119
|
-
import '../../../components/x-component.utils.js';
|
|
120
|
-
import { xComponentMixin } from '../../../components/x-component.mixin.js';
|
|
121
|
-
import '../../../components/layouts/multi-column-max-width-layout.vue.js';
|
|
122
|
-
import '../../../components/layouts/single-column-layout.vue.js';
|
|
123
125
|
import '../../../components/location-provider.vue.js';
|
|
126
|
+
import '../../../components/global-x-bus.vue.js';
|
|
127
|
+
import '../../../components/snippet-callbacks.vue.js';
|
|
124
128
|
import '../../../components/items-list-injection.mixin.js';
|
|
125
129
|
import { extraParamsXModule } from '../x-module.js';
|
|
126
130
|
import ExtraParams from './extra-params.vue.js';
|
|
@@ -144,6 +148,12 @@ var SnippetConfigExtraParams = /** @class */ (function (_super) {
|
|
|
144
148
|
* @internal
|
|
145
149
|
*/
|
|
146
150
|
_this.extraParams = {};
|
|
151
|
+
/**
|
|
152
|
+
* Collection of properties from the snippet config not allowed to be sent as extra params.
|
|
153
|
+
*
|
|
154
|
+
* @internal
|
|
155
|
+
*/
|
|
156
|
+
_this.notAllowedExtraParams = ['callbacks'];
|
|
147
157
|
return _this;
|
|
148
158
|
}
|
|
149
159
|
/**
|
|
@@ -157,6 +167,9 @@ var SnippetConfigExtraParams = /** @class */ (function (_super) {
|
|
|
157
167
|
var _this = this;
|
|
158
168
|
var instance = _a.instance, scope = _a.scope, lang = _a.lang, searchLang = _a.searchLang, consent = _a.consent, documentDirection = _a.documentDirection, currency = _a.currency, snippetExtraParams = __rest(_a, ["instance", "scope", "lang", "searchLang", "consent", "documentDirection", "currency"]);
|
|
159
169
|
forEach(snippetExtraParams, function (name, value) {
|
|
170
|
+
if (_this.notAllowedExtraParams.includes(name)) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
160
173
|
_this.$set(_this.extraParams, name, value);
|
|
161
174
|
});
|
|
162
175
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippet-config-extra-params.vue_rollup-plugin-vue=script.js","sources":["../../../../../src/x-modules/extra-params/components/snippet-config-extra-params.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\nimport Vue from 'vue';\nimport { Component, Watch, Inject } from 'vue-property-decorator';\nimport { xComponentMixin } from '../../../components';\nimport { Dictionary, forEach } from '../../../utils';\nimport { SnippetConfig } from '../../../x-installer';\nimport { extraParamsXModule } from '../x-module';\nimport ExtraParams from './extra-params.vue';\n\n/**\n * Extracts the extra parameters from the {@link SnippetConfig} and syncs it with the request\n * objects of every x-module.\n *\n * @public\n */\n@Component({\n components: { ExtraParams },\n mixins: [xComponentMixin(extraParamsXModule)]\n})\nexport default class SnippetConfigExtraParams extends Vue {\n /**\n * It injects {@link SnippetConfig} provided by an ancestor as snippetConfig.\n *\n * @internal\n */\n @Inject('snippetConfig')\n public snippetConfig!: SnippetConfig;\n\n /**\n * Custom object containing the extra params from the snippet config.\n *\n * @remarks This object keeps manually the desired snippet config properties to avoid\n * unnecessary re-renders.\n *\n * @internal\n */\n protected extraParams: Dictionary<unknown> = {};\n\n /**\n * Updates the extraParams object when the snippet config changes.\n *\n * @param snippetConfig - The new snippet config.\n *\n * @internal\n */\n @Watch('snippetConfig', { deep: true, immediate: true })\n syncExtraParams({\n instance,\n scope,\n lang,\n searchLang,\n consent,\n documentDirection,\n currency,\n ...snippetExtraParams\n }: SnippetConfig): void {\n forEach(snippetExtraParams, (name, value) => {\n this.$set(this.extraParams, name, value);\n });\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snippet-config-extra-params.vue_rollup-plugin-vue=script.js","sources":["../../../../../src/x-modules/extra-params/components/snippet-config-extra-params.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\nimport Vue from 'vue';\nimport { Component, Watch, Inject } from 'vue-property-decorator';\nimport { xComponentMixin } from '../../../components';\nimport { Dictionary, forEach } from '../../../utils';\nimport { SnippetConfig } from '../../../x-installer';\nimport { extraParamsXModule } from '../x-module';\nimport ExtraParams from './extra-params.vue';\n\n/**\n * Extracts the extra parameters from the {@link SnippetConfig} and syncs it with the request\n * objects of every x-module.\n *\n * @public\n */\n@Component({\n components: { ExtraParams },\n mixins: [xComponentMixin(extraParamsXModule)]\n})\nexport default class SnippetConfigExtraParams extends Vue {\n /**\n * It injects {@link SnippetConfig} provided by an ancestor as snippetConfig.\n *\n * @internal\n */\n @Inject('snippetConfig')\n public snippetConfig!: SnippetConfig;\n\n /**\n * Custom object containing the extra params from the snippet config.\n *\n * @remarks This object keeps manually the desired snippet config properties to avoid\n * unnecessary re-renders.\n *\n * @internal\n */\n protected extraParams: Dictionary<unknown> = {};\n\n /**\n * Collection of properties from the snippet config not allowed to be sent as extra params.\n *\n * @internal\n */\n protected notAllowedExtraParams: Array<keyof SnippetConfig> = ['callbacks'];\n\n /**\n * Updates the extraParams object when the snippet config changes.\n *\n * @param snippetConfig - The new snippet config.\n *\n * @internal\n */\n @Watch('snippetConfig', { deep: true, immediate: true })\n syncExtraParams({\n instance,\n scope,\n lang,\n searchLang,\n consent,\n documentDirection,\n currency,\n ...snippetExtraParams\n }: SnippetConfig): void {\n forEach(snippetExtraParams, (name, value) => {\n if (this.notAllowedExtraParams.includes(name)) {\n return;\n }\n this.$set(this.extraParams, name, value);\n });\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;;;;;AAUA;IAAsD,4CAAG;IAAzD;QAAA,qEAmDC;;;;;;;;;QAlCW,iBAAW,GAAwB,EAAE,CAAC;;;;;;QAOtC,2BAAqB,GAA+B,CAAC,WAAW,CAAC,CAAC;;KA2B7E;;;;;;;;IAjBC,kDAAe,GAAf,UAAgB,EASA;QAVhB,iBAiBC;QAfC,IAAA,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,OAAO,aAAA,EACP,iBAAiB,uBAAA,EACjB,QAAQ,cAAA,EACL,kBAAkB,cARP,uFASf,CADsB;QAErB,OAAO,CAAC,kBAAkB,EAAE,UAAC,IAAI,EAAE,KAAK;YACtC,IAAI,KAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC7C,OAAO;aACR;YACD,KAAI,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SAC1C,CAAC,CAAC;KACJ;IA3CD;QADC,MAAM,CAAC,eAAe,CAAC;mEACa;IA2BrC;QADC,KAAK,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;mEAiBvD;IAlDkB,wBAAwB;QAJ5C,SAAS,CAAC;YACT,UAAU,EAAE,EAAE,WAAW,aAAA,EAAE;YAC3B,MAAM,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;SAC9C,CAAC;OACmB,wBAAwB,CAmD5C;IAAD,+BAAC;CAAA,CAnDqD,GAAG;;;;"}
|
|
@@ -5,7 +5,7 @@ import script from './clear-filters.vue_rollup-plugin-vue=script.js';
|
|
|
5
5
|
var __vue_script__ = script;
|
|
6
6
|
|
|
7
7
|
/* template */
|
|
8
|
-
var __vue_render__ = function() {
|
|
8
|
+
var __vue_render__ = function () {
|
|
9
9
|
var _vm = this;
|
|
10
10
|
var _h = _vm.$createElement;
|
|
11
11
|
var _c = _vm._self._c || _h;
|
|
@@ -18,24 +18,22 @@ var __vue_render__ = function() {
|
|
|
18
18
|
attrs: {
|
|
19
19
|
"data-test": "clear-filters",
|
|
20
20
|
disabled: !_vm.areThereSelectedFilters,
|
|
21
|
-
events: _vm.events
|
|
22
|
-
}
|
|
21
|
+
events: _vm.events,
|
|
22
|
+
},
|
|
23
23
|
},
|
|
24
24
|
[
|
|
25
25
|
_vm._t(
|
|
26
26
|
"default",
|
|
27
|
-
function() {
|
|
27
|
+
function () {
|
|
28
28
|
return [
|
|
29
29
|
_vm._v(
|
|
30
30
|
"\n Clear Filters (" +
|
|
31
31
|
_vm._s(_vm.facetsSelectedFilters.length) +
|
|
32
32
|
")\n "
|
|
33
|
-
)
|
|
34
|
-
]
|
|
33
|
+
) ]
|
|
35
34
|
},
|
|
36
35
|
{ selectedFilters: _vm.facetsSelectedFilters }
|
|
37
|
-
)
|
|
38
|
-
],
|
|
36
|
+
) ],
|
|
39
37
|
2
|
|
40
38
|
)
|
|
41
39
|
: _vm._e()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clear-filters.vue.js","sources":["../../../../../src/x-modules/facets/components/clear-filters.vue"],"sourcesContent":["<template>\n <BaseEventButton\n v-if=\"show\"\n class=\"x-button x-clear-filters\"\n data-test=\"clear-filters\"\n :disabled=\"!areThereSelectedFilters\"\n :events=\"events\"\n :class=\"cssClasses\"\n >\n <slot :selectedFilters=\"facetsSelectedFilters\">\n Clear Filters ({{ facetsSelectedFilters.length }})\n </slot>\n </BaseEventButton>\n</template>\n\n<script lang=\"ts\">\n import { Facet, Filter, isFacetFilter } from '@empathyco/x-types';\n import Vue from 'vue';\n import { Component, Prop } from 'vue-property-decorator';\n import { Getter, xComponentMixin } from '../../../components';\n import BaseEventButton from '../../../components/base-event-button.vue';\n import { VueCSSClasses } from '../../../utils';\n import { XEventsTypes } from '../../../wiring';\n import { facetsXModule } from '../x-module';\n\n /**\n * Renders a simple button, emitting the needed events when clicked.\n *\n * @public\n */\n @Component({\n components: { BaseEventButton },\n mixins: [xComponentMixin(facetsXModule)]\n })\n export default class ClearFilters extends Vue {\n /**\n * It handles if the ClearFilters button is always visible no matter if there are not\n * filters selected. If false, the ClearFilters button is not visible whether\n * there are no filters selected.\n *\n * @public\n */\n @Prop({ default: false })\n public alwaysVisible!: boolean;\n\n /**\n * Array of facets ids that will be passed to event like payload.\n *\n * @public\n */\n @Prop()\n public facetsIds?: Array<Facet['id']>;\n\n /**\n * Get the selected filters from store.\n *\n * @internal\n */\n @Getter('facets', 'selectedFilters')\n public allSelectedFilters!: Filter[];\n\n /**\n * If alwaysVisible prop is true, ClearAllFilters button is always shown, but disabled\n * if there are no filters selected.\n * If alwaysVisible prop is false, ClearAllFilters button is shown whether there\n * are some filter selected.\n *\n * @returns True if alwaysVisible is true or in the opposite case true or false depends\n * on if there are selected filters or not.\n *\n * @internal\n */\n protected get show(): boolean {\n return this.alwaysVisible || this.areThereSelectedFilters;\n }\n\n /**\n * Get selected filters.\n * If there are facets ids, get selected filters whose facet id match with some of facets ids.\n * If there aren't facets ids, get selected filters.\n *\n * @returns Array of selected filters depends on there are facets ids or not.\n * @internal\n */\n protected get facetsSelectedFilters(): Filter[] {\n if (this.facetsIds) {\n return this.allSelectedFilters.filter(\n filter => isFacetFilter(filter) && this.facetsIds!.includes(filter.facetId)\n );\n } else {\n return this.allSelectedFilters;\n }\n }\n\n /**\n * Check if there are selected filters.\n *\n * @returns True or false depends on if there are facets ids and if there are selected filters.\n * @internal\n */\n protected get areThereSelectedFilters(): boolean {\n return !!this.facetsSelectedFilters.length;\n }\n\n /**\n * The events that will be emitted when the button clear filters is clicked.\n *\n * @returns The events to be emitted when the button clear filters is clicked.\n * @internal\n */\n protected get events(): Partial<XEventsTypes> {\n return this.facetsIds\n ? {\n UserClickedClearAllFilters: this.facetsIds\n }\n : {\n UserClickedClearAllFilters: undefined\n };\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-clear-filters--has-not-selected-filters': !this.areThereSelectedFilters,\n 'x-clear-filters--has-selected-filters': this.areThereSelectedFilters\n };\n }\n }\n</script>\n\n<docs lang=\"mdx\">\n
|
|
1
|
+
{"version":3,"file":"clear-filters.vue.js","sources":["../../../../../src/x-modules/facets/components/clear-filters.vue"],"sourcesContent":["<template>\n <BaseEventButton\n v-if=\"show\"\n class=\"x-button x-clear-filters\"\n data-test=\"clear-filters\"\n :disabled=\"!areThereSelectedFilters\"\n :events=\"events\"\n :class=\"cssClasses\"\n >\n <slot :selectedFilters=\"facetsSelectedFilters\">\n Clear Filters ({{ facetsSelectedFilters.length }})\n </slot>\n </BaseEventButton>\n</template>\n\n<script lang=\"ts\">\n import { Facet, Filter, isFacetFilter } from '@empathyco/x-types';\n import Vue from 'vue';\n import { Component, Prop } from 'vue-property-decorator';\n import { Getter, xComponentMixin } from '../../../components';\n import BaseEventButton from '../../../components/base-event-button.vue';\n import { VueCSSClasses } from '../../../utils';\n import { XEventsTypes } from '../../../wiring';\n import { facetsXModule } from '../x-module';\n\n /**\n * Renders a simple button, emitting the needed events when clicked.\n *\n * @public\n */\n @Component({\n components: { BaseEventButton },\n mixins: [xComponentMixin(facetsXModule)]\n })\n export default class ClearFilters extends Vue {\n /**\n * It handles if the ClearFilters button is always visible no matter if there are not\n * filters selected. If false, the ClearFilters button is not visible whether\n * there are no filters selected.\n *\n * @public\n */\n @Prop({ default: false })\n public alwaysVisible!: boolean;\n\n /**\n * Array of facets ids that will be passed to event like payload.\n *\n * @public\n */\n @Prop()\n public facetsIds?: Array<Facet['id']>;\n\n /**\n * Get the selected filters from store.\n *\n * @internal\n */\n @Getter('facets', 'selectedFilters')\n public allSelectedFilters!: Filter[];\n\n /**\n * If alwaysVisible prop is true, ClearAllFilters button is always shown, but disabled\n * if there are no filters selected.\n * If alwaysVisible prop is false, ClearAllFilters button is shown whether there\n * are some filter selected.\n *\n * @returns True if alwaysVisible is true or in the opposite case true or false depends\n * on if there are selected filters or not.\n *\n * @internal\n */\n protected get show(): boolean {\n return this.alwaysVisible || this.areThereSelectedFilters;\n }\n\n /**\n * Get selected filters.\n * If there are facets ids, get selected filters whose facet id match with some of facets ids.\n * If there aren't facets ids, get selected filters.\n *\n * @returns Array of selected filters depends on there are facets ids or not.\n * @internal\n */\n protected get facetsSelectedFilters(): Filter[] {\n if (this.facetsIds) {\n return this.allSelectedFilters.filter(\n filter => isFacetFilter(filter) && this.facetsIds!.includes(filter.facetId)\n );\n } else {\n return this.allSelectedFilters;\n }\n }\n\n /**\n * Check if there are selected filters.\n *\n * @returns True or false depends on if there are facets ids and if there are selected filters.\n * @internal\n */\n protected get areThereSelectedFilters(): boolean {\n return !!this.facetsSelectedFilters.length;\n }\n\n /**\n * The events that will be emitted when the button clear filters is clicked.\n *\n * @returns The events to be emitted when the button clear filters is clicked.\n * @internal\n */\n protected get events(): Partial<XEventsTypes> {\n return this.facetsIds\n ? {\n UserClickedClearAllFilters: this.facetsIds\n }\n : {\n UserClickedClearAllFilters: undefined\n };\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-clear-filters--has-not-selected-filters': !this.areThereSelectedFilters,\n 'x-clear-filters--has-selected-filters': this.areThereSelectedFilters\n };\n }\n }\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\nThis component renders a button, which on clicked emits the `UserClickedClearAllFilters` or\n`UserClickedClearAllFilters` event.\n\n### Basic usage\n\n```vue\n<ClearFilters />\n```\n\n### Customizing its contents\n\nIn this example, show the custom message in button.\n\n```vue\n<ClearFilters v-slot=\"{ selectedFilters }\">\n Delete {{ selectedFilters.length }} selected\n</ClearFilters>\n```\n\nIn this example, show the custom message in button with always visible a true and list of facets\nids.\n\n```vue\n<ClearFilters v-slot=\"{ selectedFilters }\" :alwaysVisible=\"true\" :facetsIds=\"facetsIds\">\n Delete {{ selectedFilters.length }} selected\n</ClearFilters>\n```\n\n## Events\n\nA list of events that the component will emit:\n\n- `UserClickedClearAllFilters`: the event is emitted after the user clicks the button to clear a\n certain facets filter. The event payload is the id of the facets that are going to be cleared.\n- `UserClickedClearAllFilters`: the event is emitted after the user clicks the button. The event\n payload is undefined.\n</docs>\n"],"names":["const"],"mappings":";;;;AAEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -8,7 +8,7 @@ import '../../../components/animations/collapse-height.vue.js';
|
|
|
8
8
|
import '../../../components/animations/collapse-width.vue.js';
|
|
9
9
|
import '../../../components/animations/cross-fade.vue.js';
|
|
10
10
|
import '../../../components/animations/fade-and-slide.vue.js';
|
|
11
|
-
import '../../../components/staggering-transition-group.vue.js';
|
|
11
|
+
import '../../../components/animations/staggering-transition-group.vue.js';
|
|
12
12
|
import '../../../components/animations/staggered-fade-and-slide.vue.js';
|
|
13
13
|
import '../../../components/animations/translate-from-left.vue.js';
|
|
14
14
|
import '../../../components/animations/translate-from-right.vue.js';
|
|
@@ -63,21 +63,30 @@ import '../../../components/icons/plus.vue.js';
|
|
|
63
63
|
import '../../../components/icons/search.vue.js';
|
|
64
64
|
import '../../../components/icons/show.vue.js';
|
|
65
65
|
import '../../../components/icons/search-tiny.vue.js';
|
|
66
|
+
import '../../../components/icons/tag.vue.js';
|
|
66
67
|
import '../../../components/icons/trash-open.vue.js';
|
|
67
68
|
import '../../../components/icons/trash.vue.js';
|
|
68
69
|
import '../../../components/icons/trending-tiny.vue.js';
|
|
69
70
|
import '../../../components/icons/trending.vue.js';
|
|
70
71
|
import '../../../components/icons/user.vue.js';
|
|
71
|
-
import '../../../components/
|
|
72
|
+
import { Getter } from '../../../components/decorators/store.decorators.js';
|
|
73
|
+
import '../../../components/x-component.utils.js';
|
|
74
|
+
import { xComponentMixin } from '../../../components/x-component.mixin.js';
|
|
72
75
|
import '../../../components/modals/base-modal.vue.js';
|
|
76
|
+
import '../../../components/modals/base-id-modal.vue.js';
|
|
77
|
+
import '../../../components/scroll/scroll.mixin.js';
|
|
78
|
+
import '../../../components/scroll/base-scroll.vue.js';
|
|
79
|
+
import '../../../components/layouts/fixed-header-and-asides-layout.vue.js';
|
|
80
|
+
import '../../../components/panels/base-toggle-panel.vue.js';
|
|
81
|
+
import '../../../components/panels/base-id-toggle-panel.vue.js';
|
|
82
|
+
import '../../../components/layouts/multi-column-max-width-layout.vue.js';
|
|
83
|
+
import '../../../components/layouts/single-column-layout.vue.js';
|
|
84
|
+
import '../../../components/modals/base-events-modal-close.vue.js';
|
|
73
85
|
import '../../../components/modals/base-events-modal.vue.js';
|
|
74
86
|
import '../../../components/modals/base-events-modal-open.vue.js';
|
|
75
|
-
import '../../../components/modals/base-id-modal.vue.js';
|
|
76
87
|
import '../../../components/modals/base-id-modal-close.vue.js';
|
|
77
88
|
import '../../../components/modals/base-id-modal-open.vue.js';
|
|
78
|
-
import '../../../components/panels/base-toggle-panel.vue.js';
|
|
79
89
|
import '../../../components/panels/base-header-toggle-panel.vue.js';
|
|
80
|
-
import '../../../components/panels/base-id-toggle-panel.vue.js';
|
|
81
90
|
import '../../../components/panels/base-id-toggle-panel-button.vue.js';
|
|
82
91
|
import '../../../components/result/base-result-add-to-cart.vue.js';
|
|
83
92
|
import '../../../components/result/base-result-current-price.vue.js';
|
|
@@ -86,8 +95,6 @@ import '../../../components/result/base-result-link.vue.js';
|
|
|
86
95
|
import '../../../components/result/base-result-previous-price.vue.js';
|
|
87
96
|
import '../../../components/result/base-result-fallback-image.vue.js';
|
|
88
97
|
import '../../../components/result/base-result-placeholder-image.vue.js';
|
|
89
|
-
import '../../../components/scroll/scroll.mixin.js';
|
|
90
|
-
import '../../../components/scroll/base-scroll.vue.js';
|
|
91
98
|
import '../../../components/suggestions/base-suggestion.vue.js';
|
|
92
99
|
import '../../../components/suggestions/base-suggestions.vue.js';
|
|
93
100
|
import '../../../components/auto-progress-bar.vue.js';
|
|
@@ -98,12 +105,9 @@ import '../../../components/base-variable-column-grid.vue.js';
|
|
|
98
105
|
import '../../../components/decorators/debounce.decorators.js';
|
|
99
106
|
import '../../../components/sliding-panel.vue.js';
|
|
100
107
|
import '../../../components/items-list.vue.js';
|
|
101
|
-
import { Getter } from '../../../components/decorators/store.decorators.js';
|
|
102
|
-
import '../../../components/x-component.utils.js';
|
|
103
|
-
import { xComponentMixin } from '../../../components/x-component.mixin.js';
|
|
104
|
-
import '../../../components/layouts/multi-column-max-width-layout.vue.js';
|
|
105
|
-
import '../../../components/layouts/single-column-layout.vue.js';
|
|
106
108
|
import '../../../components/location-provider.vue.js';
|
|
109
|
+
import '../../../components/global-x-bus.vue.js';
|
|
110
|
+
import '../../../components/snippet-callbacks.vue.js';
|
|
107
111
|
import '../../../components/items-list-injection.mixin.js';
|
|
108
112
|
import { isFacetFilter } from '@empathyco/x-types';
|
|
109
113
|
import { facetsXModule } from '../x-module.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clear-filters.vue_rollup-plugin-vue=script.js","sources":["../../../../../src/x-modules/facets/components/clear-filters.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Facet, Filter, isFacetFilter } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { Getter, xComponentMixin } from '../../../components';\nimport BaseEventButton from '../../../components/base-event-button.vue';\nimport { VueCSSClasses } from '../../../utils';\nimport { XEventsTypes } from '../../../wiring';\nimport { facetsXModule } from '../x-module';\n\n/**\n * Renders a simple button, emitting the needed events when clicked.\n *\n * @public\n */\n@Component({\n components: { BaseEventButton },\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class ClearFilters extends Vue {\n /**\n * It handles if the ClearFilters button is always visible no matter if there are not\n * filters selected. If false, the ClearFilters button is not visible whether\n * there are no filters selected.\n *\n * @public\n */\n @Prop({ default: false })\n public alwaysVisible!: boolean;\n\n /**\n * Array of facets ids that will be passed to event like payload.\n *\n * @public\n */\n @Prop()\n public facetsIds?: Array<Facet['id']>;\n\n /**\n * Get the selected filters from store.\n *\n * @internal\n */\n @Getter('facets', 'selectedFilters')\n public allSelectedFilters!: Filter[];\n\n /**\n * If alwaysVisible prop is true, ClearAllFilters button is always shown, but disabled\n * if there are no filters selected.\n * If alwaysVisible prop is false, ClearAllFilters button is shown whether there\n * are some filter selected.\n *\n * @returns True if alwaysVisible is true or in the opposite case true or false depends\n * on if there are selected filters or not.\n *\n * @internal\n */\n protected get show(): boolean {\n return this.alwaysVisible || this.areThereSelectedFilters;\n }\n\n /**\n * Get selected filters.\n * If there are facets ids, get selected filters whose facet id match with some of facets ids.\n * If there aren't facets ids, get selected filters.\n *\n * @returns Array of selected filters depends on there are facets ids or not.\n * @internal\n */\n protected get facetsSelectedFilters(): Filter[] {\n if (this.facetsIds) {\n return this.allSelectedFilters.filter(\n filter => isFacetFilter(filter) && this.facetsIds!.includes(filter.facetId)\n );\n } else {\n return this.allSelectedFilters;\n }\n }\n\n /**\n * Check if there are selected filters.\n *\n * @returns True or false depends on if there are facets ids and if there are selected filters.\n * @internal\n */\n protected get areThereSelectedFilters(): boolean {\n return !!this.facetsSelectedFilters.length;\n }\n\n /**\n * The events that will be emitted when the button clear filters is clicked.\n *\n * @returns The events to be emitted when the button clear filters is clicked.\n * @internal\n */\n protected get events(): Partial<XEventsTypes> {\n return this.facetsIds\n ? {\n UserClickedClearAllFilters: this.facetsIds\n }\n : {\n UserClickedClearAllFilters: undefined\n };\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-clear-filters--has-not-selected-filters': !this.areThereSelectedFilters,\n 'x-clear-filters--has-selected-filters': this.areThereSelectedFilters\n };\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clear-filters.vue_rollup-plugin-vue=script.js","sources":["../../../../../src/x-modules/facets/components/clear-filters.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Facet, Filter, isFacetFilter } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { Getter, xComponentMixin } from '../../../components';\nimport BaseEventButton from '../../../components/base-event-button.vue';\nimport { VueCSSClasses } from '../../../utils';\nimport { XEventsTypes } from '../../../wiring';\nimport { facetsXModule } from '../x-module';\n\n/**\n * Renders a simple button, emitting the needed events when clicked.\n *\n * @public\n */\n@Component({\n components: { BaseEventButton },\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class ClearFilters extends Vue {\n /**\n * It handles if the ClearFilters button is always visible no matter if there are not\n * filters selected. If false, the ClearFilters button is not visible whether\n * there are no filters selected.\n *\n * @public\n */\n @Prop({ default: false })\n public alwaysVisible!: boolean;\n\n /**\n * Array of facets ids that will be passed to event like payload.\n *\n * @public\n */\n @Prop()\n public facetsIds?: Array<Facet['id']>;\n\n /**\n * Get the selected filters from store.\n *\n * @internal\n */\n @Getter('facets', 'selectedFilters')\n public allSelectedFilters!: Filter[];\n\n /**\n * If alwaysVisible prop is true, ClearAllFilters button is always shown, but disabled\n * if there are no filters selected.\n * If alwaysVisible prop is false, ClearAllFilters button is shown whether there\n * are some filter selected.\n *\n * @returns True if alwaysVisible is true or in the opposite case true or false depends\n * on if there are selected filters or not.\n *\n * @internal\n */\n protected get show(): boolean {\n return this.alwaysVisible || this.areThereSelectedFilters;\n }\n\n /**\n * Get selected filters.\n * If there are facets ids, get selected filters whose facet id match with some of facets ids.\n * If there aren't facets ids, get selected filters.\n *\n * @returns Array of selected filters depends on there are facets ids or not.\n * @internal\n */\n protected get facetsSelectedFilters(): Filter[] {\n if (this.facetsIds) {\n return this.allSelectedFilters.filter(\n filter => isFacetFilter(filter) && this.facetsIds!.includes(filter.facetId)\n );\n } else {\n return this.allSelectedFilters;\n }\n }\n\n /**\n * Check if there are selected filters.\n *\n * @returns True or false depends on if there are facets ids and if there are selected filters.\n * @internal\n */\n protected get areThereSelectedFilters(): boolean {\n return !!this.facetsSelectedFilters.length;\n }\n\n /**\n * The events that will be emitted when the button clear filters is clicked.\n *\n * @returns The events to be emitted when the button clear filters is clicked.\n * @internal\n */\n protected get events(): Partial<XEventsTypes> {\n return this.facetsIds\n ? {\n UserClickedClearAllFilters: this.facetsIds\n }\n : {\n UserClickedClearAllFilters: undefined\n };\n }\n\n /**\n * Dynamic CSS classes to apply to the component.\n *\n * @returns The dynamic CSS classes to apply to the component.\n * @internal\n */\n protected get cssClasses(): VueCSSClasses {\n return {\n 'x-clear-filters--has-not-selected-filters': !this.areThereSelectedFilters,\n 'x-clear-filters--has-selected-filters': this.areThereSelectedFilters\n };\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA;;;;;AASA;IAA0C,gCAAG;IAA7C;;KAkGC;IA5DC,sBAAc,8BAAI;;;;;;;;;;;;aAAlB;YACE,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,uBAAuB,CAAC;SAC3D;;;OAAA;IAUD,sBAAc,+CAAqB;;;;;;;;;aAAnC;YAAA,iBAQC;YAPC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACnC,UAAA,MAAM,IAAI,OAAA,aAAa,CAAC,MAAM,CAAC,IAAI,KAAI,CAAC,SAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAA,CAC5E,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC;aAChC;SACF;;;OAAA;IAQD,sBAAc,iDAAuB;;;;;;;aAArC;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;SAC5C;;;OAAA;IAQD,sBAAc,gCAAM;;;;;;;aAApB;YACE,OAAO,IAAI,CAAC,SAAS;kBACjB;oBACE,0BAA0B,EAAE,IAAI,CAAC,SAAS;iBAC3C;kBACD;oBACE,0BAA0B,EAAE,SAAS;iBACtC,CAAC;SACP;;;OAAA;IAQD,sBAAc,oCAAU;;;;;;;aAAxB;YACE,OAAO;gBACL,2CAA2C,EAAE,CAAC,IAAI,CAAC,uBAAuB;gBAC1E,uCAAuC,EAAE,IAAI,CAAC,uBAAuB;aACtE,CAAC;SACH;;;OAAA;IAxFD;QADC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;uDACM;IAQ/B;QADC,IAAI,EAAE;mDAC+B;IAQtC;QADC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC;4DACC;IAzBlB,YAAY;QAJhC,SAAS,CAAC;YACT,UAAU,EAAE,EAAE,eAAe,iBAAA,EAAE;YAC/B,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;SACzC,CAAC;OACmB,YAAY,CAkGhC;IAAD,mBAAC;CAAA,CAlGyC,GAAG;;;;"}
|
|
@@ -10,11 +10,11 @@ var __vue_script__ = script;
|
|
|
10
10
|
/* style */
|
|
11
11
|
var __vue_inject_styles__ = function (inject) {
|
|
12
12
|
if (!inject) { return }
|
|
13
|
-
inject("data-v-
|
|
13
|
+
inject("data-v-8b95797a_0", { source: ".x-facets-list[data-v-8b95797a] {\n list-style-type: none;\n}", map: undefined, media: undefined });
|
|
14
14
|
|
|
15
15
|
};
|
|
16
16
|
/* scoped */
|
|
17
|
-
var __vue_scope_id__ = "data-v-
|
|
17
|
+
var __vue_scope_id__ = "data-v-8b95797a";
|
|
18
18
|
/* module identifier */
|
|
19
19
|
var __vue_module_identifier__ = undefined;
|
|
20
20
|
/* functional template */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facets-provider.vue.js","sources":["../../../../../../src/x-modules/facets/components/facets/facets-provider.vue"],"sourcesContent":["<script lang=\"ts\">\n import { Facet, Filter } from '@empathyco/x-types';\n import Vue from 'vue';\n import { Component, Prop } from 'vue-property-decorator';\n import { XOn } from '../../../../components';\n import { xComponentMixin } from '../../../../components/x-component.mixin';\n import { areFiltersDifferent } from '../../../../utils/filters';\n import { FacetsGroup } from '../../service/types';\n import { GroupId } from '../../store/types';\n import { facetsXModule } from '../../x-module';\n\n /**\n * This component allows to provide facets by prop, to add them to the state of the\n * `Facets X-Module`. These facets will be added to the `Facets X-Module` state together with\n * the facets emitted by the `Search X-Module` through the {@link SearchXEvents.FacetsChanged}\n * event.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(facetsXModule)]\n })\n export default class FacetsProvider extends Vue {\n /**\n * An facet group identifier to distinguish the provided facets from other facets like the\n * `Search X-Module` facets.\n *\n * @public\n */\n @Prop({ default: 'provided-facets' })\n public groupId!: GroupId;\n\n /**\n * The facets to provide to the `Facets X-Module` state. They have to include the\n * {@link @empathyco/x-types#Filter | filters}.\n *\n * @internal\n */\n @Prop({ required: true })\n public facets!: Facet[];\n\n /**\n * Temporarily stores the selected filters from the {@link FacetsProvider.facets} prop.\n * This is necessary to handle the {@link FacetsXEvents.UserChangedSelectedFilters} event.\n *\n * @internal\n */\n protected selectedFilters: Filter[] | null = null;\n\n /**\n *
|
|
1
|
+
{"version":3,"file":"facets-provider.vue.js","sources":["../../../../../../src/x-modules/facets/components/facets/facets-provider.vue"],"sourcesContent":["<script lang=\"ts\">\n import { Facet, Filter } from '@empathyco/x-types';\n import Vue from 'vue';\n import { Component, Prop, Watch } from 'vue-property-decorator';\n import { XOn } from '../../../../components';\n import { xComponentMixin } from '../../../../components/x-component.mixin';\n import { areFiltersDifferent } from '../../../../utils/filters';\n import { FacetsGroup } from '../../service/types';\n import { GroupId } from '../../store/types';\n import { facetsXModule } from '../../x-module';\n\n /**\n * This component allows to provide facets by prop, to add them to the state of the\n * `Facets X-Module`. These facets will be added to the `Facets X-Module` state together with\n * the facets emitted by the `Search X-Module` through the {@link SearchXEvents.FacetsChanged}\n * event.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(facetsXModule)]\n })\n export default class FacetsProvider extends Vue {\n /**\n * An facet group identifier to distinguish the provided facets from other facets like the\n * `Search X-Module` facets.\n *\n * @public\n */\n @Prop({ default: 'provided-facets' })\n public groupId!: GroupId;\n\n /**\n * The facets to provide to the `Facets X-Module` state. They have to include the\n * {@link @empathyco/x-types#Filter | filters}.\n *\n * @internal\n */\n @Prop({ required: true })\n public facets!: Facet[];\n\n /**\n * Temporarily stores the selected filters from the {@link FacetsProvider.facets} prop.\n * This is necessary to handle the {@link FacetsXEvents.UserChangedSelectedFilters} event.\n *\n * @internal\n */\n protected selectedFilters: Filter[] | null = null;\n\n /**\n * A computed property to group the facets and the groupId. This is used by the watcher.\n *\n * @returns The FacetGroup with the facets and the group id.\n *\n * @internal\n */\n protected get facetsGroup(): FacetsGroup {\n return { id: this.groupId, facets: this.facets };\n }\n\n /**\n * Emits the {@link FacetsXEvents.UserChangedSelectedFilters} event when the user changes\n * the selected filters.\n *\n * @param selectedFilters - The new list of selected filters.\n * @internal\n */\n @XOn('SelectedFiltersChanged')\n emitSelectedFiltersChanged(selectedFilters: Filter[]): void {\n if (\n this.selectedFilters === null ||\n areFiltersDifferent(this.selectedFilters, selectedFilters)\n ) {\n this.$x.emit('UserChangedSelectedFilters', selectedFilters);\n }\n this.selectedFilters = null;\n }\n\n /**\n * Emits the {@link FacetsXEvents.FacetsGroupProvided} event with the\n * {@link FacetsProvider.facetsGroup} as payload. It also extracts and saves the selected\n * filters.\n */\n @Watch('facetsGroup', { immediate: true })\n provideFacets(): void {\n if (this.facetsGroup.facets) {\n this.$x.emit('FacetsGroupProvided', this.facetsGroup);\n this.extractSelectedFilters(this.facets);\n }\n }\n\n /**\n * Extracts the selected filters from the facets and stores them in the\n * {@link FacetsProvider.selectedFilters} property.\n *\n * @param facets - The facets from whom extract the selected filters.\n * @internal\n */\n protected extractSelectedFilters(facets: Facet[]): void {\n this.selectedFilters = facets\n .flatMap(facet => facet.filters)\n .filter(filter => filter.selected);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n render(): void {}\n }\n</script>\n\n<style lang=\"scss\" scoped>\n .x-facets-list {\n list-style-type: none;\n }\n</style>\n\n<docs lang=\"mdx\">\n## Example\n\nThis component allows to provide facets by prop, to add them to the state of the `Facets X-Module`.\nThese facets will be added to the `Facets X-Module` state together with the facets emitted by the\n`Search X-Module` through the {@link SearchXEvents.FacetsChanged} event.\n\n```vue\n<template>\n <FacetsProvider :facets=\"myFacets\" />\n</template>\n\n<script>\n import { FacetsProvider } from '@empathyco/x-components/facets';\n\n export default {\n components: {\n FacetsProvider\n },\n data() {\n return {\n myFacets: [\n {\n modelName: 'SimpleFacet',\n id: 'color-facet',\n label: 'Color',\n filters: [\n {\n modelName: 'SimpleFilter',\n id: 'color:red',\n facetId: 'color-facet',\n label: 'Red',\n selected: false,\n value: 'color:red',\n totalResults: 10\n },\n {\n modelName: 'SimpleFilter',\n id: 'color:blue',\n facetId: 'color-facet',\n label: 'Blue',\n selected: false,\n value: 'color:blue',\n totalResults: 10\n }\n ]\n }\n ]\n };\n }\n };\n</script>\n```\n\n## Events\n\nA list of events that the component will emit:\n\n- `UserChangedSelectedFilters`: the event is emitted after the user performed an action that changed\n the selected filters. The payload is the new list of selected filters.\n- `FacetsGroupProvided`: the event is emitted after updating the facets prop with a new list of\n facets. The payload contains a Facets Group with the facets and the group id.\n</docs>\n"],"names":["const"],"mappings":";;;;;AAEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/js/x-modules/facets/components/facets/facets-provider.vue_rollup-plugin-vue=script.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __extends, __decorate } from 'tslib';
|
|
2
2
|
import Vue from 'vue';
|
|
3
|
-
import { Prop, Component } from 'vue-property-decorator';
|
|
3
|
+
import { Prop, Watch, Component } from 'vue-property-decorator';
|
|
4
4
|
import '../../../../components/animations/animate-width.vue.js';
|
|
5
5
|
import '../../../../components/animations/collapse-from-top.vue.js';
|
|
6
6
|
import '../../../../components/animations/animations.mixin.js';
|
|
@@ -9,7 +9,7 @@ import '../../../../components/animations/collapse-width.vue.js';
|
|
|
9
9
|
import '../../../../components/animations/cross-fade.vue.js';
|
|
10
10
|
import '../../../../components/animations/fade-and-slide.vue.js';
|
|
11
11
|
import { areFiltersDifferent } from '../../../../utils/filters.js';
|
|
12
|
-
import '../../../../components/staggering-transition-group.vue.js';
|
|
12
|
+
import '../../../../components/animations/staggering-transition-group.vue.js';
|
|
13
13
|
import '../../../../components/animations/staggered-fade-and-slide.vue.js';
|
|
14
14
|
import '../../../../components/animations/translate-from-left.vue.js';
|
|
15
15
|
import '../../../../components/animations/translate-from-right.vue.js';
|
|
@@ -64,21 +64,30 @@ import '../../../../components/icons/plus.vue.js';
|
|
|
64
64
|
import '../../../../components/icons/search.vue.js';
|
|
65
65
|
import '../../../../components/icons/show.vue.js';
|
|
66
66
|
import '../../../../components/icons/search-tiny.vue.js';
|
|
67
|
+
import '../../../../components/icons/tag.vue.js';
|
|
67
68
|
import '../../../../components/icons/trash-open.vue.js';
|
|
68
69
|
import '../../../../components/icons/trash.vue.js';
|
|
69
70
|
import '../../../../components/icons/trending-tiny.vue.js';
|
|
70
71
|
import '../../../../components/icons/trending.vue.js';
|
|
71
72
|
import '../../../../components/icons/user.vue.js';
|
|
72
|
-
import '../../../../components/
|
|
73
|
+
import '../../../../components/decorators/store.decorators.js';
|
|
74
|
+
import '../../../../components/x-component.utils.js';
|
|
75
|
+
import { xComponentMixin } from '../../../../components/x-component.mixin.js';
|
|
73
76
|
import '../../../../components/modals/base-modal.vue.js';
|
|
77
|
+
import '../../../../components/modals/base-id-modal.vue.js';
|
|
78
|
+
import '../../../../components/scroll/scroll.mixin.js';
|
|
79
|
+
import '../../../../components/scroll/base-scroll.vue.js';
|
|
80
|
+
import '../../../../components/layouts/fixed-header-and-asides-layout.vue.js';
|
|
81
|
+
import '../../../../components/panels/base-toggle-panel.vue.js';
|
|
82
|
+
import '../../../../components/panels/base-id-toggle-panel.vue.js';
|
|
83
|
+
import '../../../../components/layouts/multi-column-max-width-layout.vue.js';
|
|
84
|
+
import '../../../../components/layouts/single-column-layout.vue.js';
|
|
85
|
+
import '../../../../components/modals/base-events-modal-close.vue.js';
|
|
74
86
|
import '../../../../components/modals/base-events-modal.vue.js';
|
|
75
87
|
import '../../../../components/modals/base-events-modal-open.vue.js';
|
|
76
|
-
import '../../../../components/modals/base-id-modal.vue.js';
|
|
77
88
|
import '../../../../components/modals/base-id-modal-close.vue.js';
|
|
78
89
|
import '../../../../components/modals/base-id-modal-open.vue.js';
|
|
79
|
-
import '../../../../components/panels/base-toggle-panel.vue.js';
|
|
80
90
|
import '../../../../components/panels/base-header-toggle-panel.vue.js';
|
|
81
|
-
import '../../../../components/panels/base-id-toggle-panel.vue.js';
|
|
82
91
|
import '../../../../components/panels/base-id-toggle-panel-button.vue.js';
|
|
83
92
|
import '../../../../components/result/base-result-add-to-cart.vue.js';
|
|
84
93
|
import '../../../../components/result/base-result-current-price.vue.js';
|
|
@@ -87,8 +96,6 @@ import '../../../../components/result/base-result-link.vue.js';
|
|
|
87
96
|
import '../../../../components/result/base-result-previous-price.vue.js';
|
|
88
97
|
import '../../../../components/result/base-result-fallback-image.vue.js';
|
|
89
98
|
import '../../../../components/result/base-result-placeholder-image.vue.js';
|
|
90
|
-
import '../../../../components/scroll/scroll.mixin.js';
|
|
91
|
-
import '../../../../components/scroll/base-scroll.vue.js';
|
|
92
99
|
import '../../../../components/suggestions/base-suggestion.vue.js';
|
|
93
100
|
import '../../../../components/suggestions/base-suggestions.vue.js';
|
|
94
101
|
import '../../../../components/auto-progress-bar.vue.js';
|
|
@@ -99,12 +106,9 @@ import '../../../../components/base-variable-column-grid.vue.js';
|
|
|
99
106
|
import '../../../../components/decorators/debounce.decorators.js';
|
|
100
107
|
import '../../../../components/sliding-panel.vue.js';
|
|
101
108
|
import '../../../../components/items-list.vue.js';
|
|
102
|
-
import '../../../../components/decorators/store.decorators.js';
|
|
103
|
-
import '../../../../components/x-component.utils.js';
|
|
104
|
-
import { xComponentMixin } from '../../../../components/x-component.mixin.js';
|
|
105
|
-
import '../../../../components/layouts/multi-column-max-width-layout.vue.js';
|
|
106
|
-
import '../../../../components/layouts/single-column-layout.vue.js';
|
|
107
109
|
import '../../../../components/location-provider.vue.js';
|
|
110
|
+
import '../../../../components/global-x-bus.vue.js';
|
|
111
|
+
import '../../../../components/snippet-callbacks.vue.js';
|
|
108
112
|
import '../../../../components/items-list-injection.mixin.js';
|
|
109
113
|
import { facetsXModule } from '../../x-module.js';
|
|
110
114
|
|
|
@@ -129,16 +133,6 @@ var FacetsProvider = /** @class */ (function (_super) {
|
|
|
129
133
|
_this.selectedFilters = null;
|
|
130
134
|
return _this;
|
|
131
135
|
}
|
|
132
|
-
/**
|
|
133
|
-
* Creates a watcher for the `facetsGroup`, if they're set, emitting an
|
|
134
|
-
* event whenever they change. This is done this way because the {@link XBus} is not injected
|
|
135
|
-
* until the component is created.
|
|
136
|
-
*
|
|
137
|
-
* @internal
|
|
138
|
-
*/
|
|
139
|
-
FacetsProvider.prototype.created = function () {
|
|
140
|
-
this.$watch('facetsGroup', this.provideFacets.bind(this), { immediate: true });
|
|
141
|
-
};
|
|
142
136
|
Object.defineProperty(FacetsProvider.prototype, "facetsGroup", {
|
|
143
137
|
/**
|
|
144
138
|
* A computed property to group the facets and the groupId. This is used by the watcher.
|
|
@@ -201,6 +195,9 @@ var FacetsProvider = /** @class */ (function (_super) {
|
|
|
201
195
|
__decorate([
|
|
202
196
|
XOn('SelectedFiltersChanged')
|
|
203
197
|
], FacetsProvider.prototype, "emitSelectedFiltersChanged", null);
|
|
198
|
+
__decorate([
|
|
199
|
+
Watch('facetsGroup', { immediate: true })
|
|
200
|
+
], FacetsProvider.prototype, "provideFacets", null);
|
|
204
201
|
FacetsProvider = __decorate([
|
|
205
202
|
Component({
|
|
206
203
|
mixins: [xComponentMixin(facetsXModule)]
|
package/js/x-modules/facets/components/facets/facets-provider.vue_rollup-plugin-vue=script.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facets-provider.vue_rollup-plugin-vue=script.js","sources":["../../../../../../src/x-modules/facets/components/facets/facets-provider.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport { Facet, Filter } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { XOn } from '../../../../components';\nimport { xComponentMixin } from '../../../../components/x-component.mixin';\nimport { areFiltersDifferent } from '../../../../utils/filters';\nimport { FacetsGroup } from '../../service/types';\nimport { GroupId } from '../../store/types';\nimport { facetsXModule } from '../../x-module';\n\n/**\n * This component allows to provide facets by prop, to add them to the state of the\n * `Facets X-Module`. These facets will be added to the `Facets X-Module` state together with\n * the facets emitted by the `Search X-Module` through the {@link SearchXEvents.FacetsChanged}\n * event.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class FacetsProvider extends Vue {\n /**\n * An facet group identifier to distinguish the provided facets from other facets like the\n * `Search X-Module` facets.\n *\n * @public\n */\n @Prop({ default: 'provided-facets' })\n public groupId!: GroupId;\n\n /**\n * The facets to provide to the `Facets X-Module` state. They have to include the\n * {@link @empathyco/x-types#Filter | filters}.\n *\n * @internal\n */\n @Prop({ required: true })\n public facets!: Facet[];\n\n /**\n * Temporarily stores the selected filters from the {@link FacetsProvider.facets} prop.\n * This is necessary to handle the {@link FacetsXEvents.UserChangedSelectedFilters} event.\n *\n * @internal\n */\n protected selectedFilters: Filter[] | null = null;\n\n /**\n *
|
|
1
|
+
{"version":3,"file":"facets-provider.vue_rollup-plugin-vue=script.js","sources":["../../../../../../src/x-modules/facets/components/facets/facets-provider.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\nimport { Facet, Filter } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { XOn } from '../../../../components';\nimport { xComponentMixin } from '../../../../components/x-component.mixin';\nimport { areFiltersDifferent } from '../../../../utils/filters';\nimport { FacetsGroup } from '../../service/types';\nimport { GroupId } from '../../store/types';\nimport { facetsXModule } from '../../x-module';\n\n/**\n * This component allows to provide facets by prop, to add them to the state of the\n * `Facets X-Module`. These facets will be added to the `Facets X-Module` state together with\n * the facets emitted by the `Search X-Module` through the {@link SearchXEvents.FacetsChanged}\n * event.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(facetsXModule)]\n})\nexport default class FacetsProvider extends Vue {\n /**\n * An facet group identifier to distinguish the provided facets from other facets like the\n * `Search X-Module` facets.\n *\n * @public\n */\n @Prop({ default: 'provided-facets' })\n public groupId!: GroupId;\n\n /**\n * The facets to provide to the `Facets X-Module` state. They have to include the\n * {@link @empathyco/x-types#Filter | filters}.\n *\n * @internal\n */\n @Prop({ required: true })\n public facets!: Facet[];\n\n /**\n * Temporarily stores the selected filters from the {@link FacetsProvider.facets} prop.\n * This is necessary to handle the {@link FacetsXEvents.UserChangedSelectedFilters} event.\n *\n * @internal\n */\n protected selectedFilters: Filter[] | null = null;\n\n /**\n * A computed property to group the facets and the groupId. This is used by the watcher.\n *\n * @returns The FacetGroup with the facets and the group id.\n *\n * @internal\n */\n protected get facetsGroup(): FacetsGroup {\n return { id: this.groupId, facets: this.facets };\n }\n\n /**\n * Emits the {@link FacetsXEvents.UserChangedSelectedFilters} event when the user changes\n * the selected filters.\n *\n * @param selectedFilters - The new list of selected filters.\n * @internal\n */\n @XOn('SelectedFiltersChanged')\n emitSelectedFiltersChanged(selectedFilters: Filter[]): void {\n if (\n this.selectedFilters === null ||\n areFiltersDifferent(this.selectedFilters, selectedFilters)\n ) {\n this.$x.emit('UserChangedSelectedFilters', selectedFilters);\n }\n this.selectedFilters = null;\n }\n\n /**\n * Emits the {@link FacetsXEvents.FacetsGroupProvided} event with the\n * {@link FacetsProvider.facetsGroup} as payload. It also extracts and saves the selected\n * filters.\n */\n @Watch('facetsGroup', { immediate: true })\n provideFacets(): void {\n if (this.facetsGroup.facets) {\n this.$x.emit('FacetsGroupProvided', this.facetsGroup);\n this.extractSelectedFilters(this.facets);\n }\n }\n\n /**\n * Extracts the selected filters from the facets and stores them in the\n * {@link FacetsProvider.selectedFilters} property.\n *\n * @param facets - The facets from whom extract the selected filters.\n * @internal\n */\n protected extractSelectedFilters(facets: Facet[]): void {\n this.selectedFilters = facets\n .flatMap(facet => facet.filters)\n .filter(filter => filter.selected);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n render(): void {}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA;;;;;;;;AAWA;IAA4C,kCAAG;IAA/C;QAAA,qEAoFC;;;;;;;QA3DW,qBAAe,GAAoB,IAAI,CAAC;;KA2DnD;IAlDC,sBAAc,uCAAW;;;;;;;;aAAzB;YACE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SAClD;;;OAAA;;;;;;;;IAUD,mDAA0B,GAA1B,UAA2B,eAAyB;QAClD,IACE,IAAI,CAAC,eAAe,KAAK,IAAI;YAC7B,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,EAC1D;YACA,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,4BAA4B,EAAE,eAAe,CAAC,CAAC;SAC7D;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;KAC7B;;;;;;IAQD,sCAAa,GAAb;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC1C;KACF;;;;;;;;IASS,+CAAsB,GAAhC,UAAiC,MAAe;QAC9C,IAAI,CAAC,eAAe,GAAG,MAAM;aAC1B,OAAO,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,OAAO,GAAA,CAAC;aAC/B,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,QAAQ,GAAA,CAAC,CAAC;KACtC;;IAGD,+BAAM,GAAN,eAAiB;IA3EjB;QADC,IAAI,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;mDACZ;IASzB;QADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACD;IA6BxB;QADC,GAAG,CAAC,wBAAwB,CAAC;oEAS7B;IAQD;QADC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;uDAMzC;IAnEkB,cAAc;QAHlC,SAAS,CAAC;YACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;SACzC,CAAC;OACmB,cAAc,CAoFlC;IAAD,qBAAC;CAAA,CApF2C,GAAG;;;;"}
|
|
@@ -6,7 +6,7 @@ import script from './facets.vue_rollup-plugin-vue=script.js';
|
|
|
6
6
|
var __vue_script__ = script;
|
|
7
7
|
|
|
8
8
|
/* template */
|
|
9
|
-
var __vue_render__ = function() {
|
|
9
|
+
var __vue_render__ = function () {
|
|
10
10
|
var _vm = this;
|
|
11
11
|
var _h = _vm.$createElement;
|
|
12
12
|
var _c = _vm._self._c || _h;
|
|
@@ -16,9 +16,9 @@ var __vue_render__ = function() {
|
|
|
16
16
|
{
|
|
17
17
|
tag: "component",
|
|
18
18
|
staticClass: "x-list x-facets-list",
|
|
19
|
-
attrs: { "data-test": "facets", tag: "ul" }
|
|
19
|
+
attrs: { "data-test": "facets", tag: "ul" },
|
|
20
20
|
},
|
|
21
|
-
_vm._l(_vm.mappedFacets, function(ref, facetId) {
|
|
21
|
+
_vm._l(_vm.mappedFacets, function (ref, facetId) {
|
|
22
22
|
var facet = ref.facet;
|
|
23
23
|
var slotName = ref.slotName;
|
|
24
24
|
return _c(
|
|
@@ -26,32 +26,31 @@ var __vue_render__ = function() {
|
|
|
26
26
|
{
|
|
27
27
|
key: facetId,
|
|
28
28
|
staticClass: "x-facets-list__item",
|
|
29
|
-
attrs: { "data-test": "facets-facet" }
|
|
29
|
+
attrs: { "data-test": "facets-facet" },
|
|
30
30
|
},
|
|
31
31
|
[
|
|
32
32
|
_vm.$scopedSlots[slotName]
|
|
33
33
|
? _vm._t(slotName, null, null, {
|
|
34
34
|
facet: facet,
|
|
35
|
-
selectedFilters: _vm.selectedFiltersByFacet[facetId] || []
|
|
35
|
+
selectedFilters: _vm.selectedFiltersByFacet[facetId] || [],
|
|
36
36
|
})
|
|
37
37
|
: _vm._t(
|
|
38
38
|
"default",
|
|
39
|
-
function() {
|
|
39
|
+
function () {
|
|
40
40
|
return [
|
|
41
41
|
_vm._v(
|
|
42
42
|
"\n This is the " +
|
|
43
43
|
_vm._s(facet.label) +
|
|
44
44
|
" facet. Pass something into its slot to display content.\n "
|
|
45
|
-
)
|
|
46
|
-
]
|
|
45
|
+
) ]
|
|
47
46
|
},
|
|
48
47
|
null,
|
|
49
48
|
{
|
|
50
49
|
facet: facet,
|
|
51
|
-
selectedFilters:
|
|
50
|
+
selectedFilters:
|
|
51
|
+
_vm.selectedFiltersByFacet[facetId] || [],
|
|
52
52
|
}
|
|
53
|
-
)
|
|
54
|
-
],
|
|
53
|
+
) ],
|
|
55
54
|
2
|
|
56
55
|
)
|
|
57
56
|
}),
|
|
@@ -65,11 +64,11 @@ __vue_render__._withStripped = true;
|
|
|
65
64
|
/* style */
|
|
66
65
|
var __vue_inject_styles__ = function (inject) {
|
|
67
66
|
if (!inject) { return }
|
|
68
|
-
inject("data-v-
|
|
67
|
+
inject("data-v-050085ad_0", { source: ".x-facets-list[data-v-050085ad] {\n list-style-type: none;\n}", map: undefined, media: undefined });
|
|
69
68
|
|
|
70
69
|
};
|
|
71
70
|
/* scoped */
|
|
72
|
-
var __vue_scope_id__ = "data-v-
|
|
71
|
+
var __vue_scope_id__ = "data-v-050085ad";
|
|
73
72
|
/* module identifier */
|
|
74
73
|
var __vue_module_identifier__ = undefined;
|
|
75
74
|
/* functional template */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facets.vue.js","sources":["../../../../../../src/x-modules/facets/components/facets/facets.vue"],"sourcesContent":["<template>\n <component\n :is=\"animation\"\n v-if=\"hasFacets\"\n class=\"x-list x-facets-list\"\n data-test=\"facets\"\n tag=\"ul\"\n >\n <li\n v-for=\"({ facet, slotName }, facetId) in mappedFacets\"\n :key=\"facetId\"\n class=\"x-facets-list__item\"\n data-test=\"facets-facet\"\n >\n <!--\n @slot Customized Facet rendering. Specifying a slot with the facet's name will result in the\n facet using that slot composition to render.\n @binding {Facet} facet - Facet to render\n -->\n <slot\n v-if=\"$scopedSlots[slotName]\"\n v-bind=\"{\n facet,\n selectedFilters: selectedFiltersByFacet[facetId] || []\n }\"\n :name=\"slotName\"\n />\n <!--\n @slot (required) Default Facet rendering. This slot will be used by default for rendering\n the facets without an specific slot implementation.\n @binding {Facet} facet - Facet to render\n -->\n <slot\n v-else\n v-bind=\"{\n facet,\n selectedFilters: selectedFiltersByFacet[facetId] || []\n }\"\n >\n This is the {{ facet.label }} facet. Pass something into its slot to display content.\n </slot>\n </li>\n </component>\n</template>\n\n<script lang=\"ts\">\n import { Facet } from '@empathyco/x-types';\n import { Component, Prop, Vue } from 'vue-property-decorator';\n import { Getter } from '../../../../components/decorators/store.decorators';\n import { xComponentMixin } from '../../../../components/x-component.mixin';\n import { toKebabCase } from '../../../../utils/string';\n import { map, objectFilter } from '../../../../utils/object';\n import { Dictionary } from '../../../../utils/types';\n import { FiltersByFacet } from '../../store/types';\n import { facetsXModule } from '../../x-module';\n\n /**\n * Custom interface to provide a slot name to a Facet.\n *\n * @internal\n */\n interface RenderFacet {\n slotName: string;\n facet: Facet;\n }\n\n /**\n * This component renders the list of facets stored in the Facets module. Facets can be rendered\n * differently based on their purpose and this can be achieved using the exposed slots:\n * - A default and required slot.\n * - A custom slot for each facet with the facetId as its name. This allows each facet to be\n * rendered differently based on its needs.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(facetsXModule)]\n })\n export default class Facets extends Vue {\n /**\n * Animation component that will be used to animate the facets.\n *\n * @public\n */\n @Prop({ default: 'ul' })\n public animation!: Vue | string;\n\n /**\n * Discriminates the facets rendered by this component. It expects a string containing facets\n * ids, comma separated. This property will include or exclude facets based on its value.\n * The default value is an empty string and the component will render all existing facets.\n *\n * @remarks\n * To behave as a `include`, simply set the facets ids, comma separated:\n * `existingFacets=[{ brand: ... }, category: { ... }, color: { ... }, price: { ... }]`\n * `renderableFacets=\"brand, category\"`\n *\n * The component will render brand and category facets.\n *\n * On the other hand, to simulate an `exclude` behaviour and exclude a facet from being\n * rendered, append a '!' before its id:\n * `existingFacets=[{ brand: ... }, category: { ... }, color: { ... }, price: { ... }]`\n * `renderableFacets=\"!brand,!price\"`\n *\n * The component will render category and color facets.\n *\n * @public\n */\n @Prop()\n public renderableFacets!: string | undefined;\n\n /**\n * Array of selected filters from every facet.\n *\n * @internal\n */\n @Getter('facets', 'selectedFiltersByFacet')\n public selectedFiltersByFacet!: FiltersByFacet;\n\n /**\n * Dictionary of facets in the state.\n *\n * @internal\n */\n @Getter('facets', 'facets')\n public facets!: Record<Facet['id'], Facet>;\n\n /**\n * Transforms a dictionary of Facets including the slot name.\n *\n * @returns A dictionary of facets with the slot name.\n *\n * @internal\n */\n protected get mappedFacets(): Dictionary<RenderFacet> {\n return map(this.facetsToRender, (facetId, facet) => ({\n slotName: toKebabCase(facetId),\n facet\n }));\n }\n\n /**\n * The facets to be rendered after filtering {@link Facets.facets} by\n * {@link Facets.renderableFacets} content.\n *\n * @returns The list of facets to be rendered.\n *\n * @internal\n */\n protected get facetsToRender(): Dictionary<Facet> {\n if (!this.renderableFacets) {\n return this.facets;\n } else {\n const excludedRegExp = /^!/;\n const facetIds: string[] = this.renderableFacets.split(',').map(facetId => facetId.trim());\n const included: string[] = [];\n const excluded: string[] = [];\n facetIds.forEach(facetId => {\n if (excludedRegExp.test(facetId)) {\n excluded.push(facetId.replace(excludedRegExp, ''));\n } else {\n included.push(facetId);\n }\n });\n\n return this.filterFacetsToRender(included, excluded);\n }\n }\n\n /**\n * Indicates if there are facets available to show.\n *\n * @returns True if there are facets available and false otherwise.\n * @internal\n */\n protected get hasFacets(): boolean {\n return !!Object.keys(this.facetsToRender).length;\n }\n\n /**\n * Filter facets dictionary retrieving those included and/or removing excluded.\n *\n * @param included - List of facets to render.\n * @param excluded - List of not renderable facets.\n *\n * @returns The filtered list of facets to render.\n *\n * @internal\n */\n private filterFacetsToRender(included: string[], excluded: string[]): Dictionary<Facet> {\n const hasAnyFacetIncluded = included.length > 0;\n return objectFilter(this.facets, facetKey => {\n const isIncluded = included.includes(String(facetKey));\n const isExcluded = excluded.includes(String(facetKey));\n\n return hasAnyFacetIncluded ? isIncluded && !isExcluded : !isExcluded;\n });\n }\n }\n</script>\n\n<style lang=\"scss\" scoped>\n .x-facets-list {\n list-style-type: none;\n }\n</style>\n\n<docs lang=\"mdx\">\n# Example\n\nThis component renders the list of facets stored in the Facets module. Facets can be rendered\ndifferently based on their purpose and this can be achieved using the exposed slots:\n\n- A default and required slot.\n- A custom slot for each facet with the facetId as its name. This allows each facet to be rendered\n differently based on its needs.\n\nBelow, there are some examples showing how to use the component with its different configurations.\n\n## Default usage\n\nThe default slot of this component is mandatory. If no other slot is defined, every Facet will be\nrendered as specified in the default slot.\n\n```vue\n<template>\n <Facets>\n <template #default=\"{ facet, selectedFilters }\">\n <h1>{{ ${facet.label} }}</h1>\n <span v-if=\"selectedFilters.length > 0\">{{ `${selectedFilters.length} selected` }}</span>\n\n <ul>\n <li v-for=\"filter in facet.filters\" :key=\"filter.id\">\n {{ filter.label }}\n </li>\n </ul>\n </template>\n </Facets>\n</template>\n\n<script>\n import { Facets } from '@empathyco/x-components/facets';\n\n export default {\n components: {\n Facets\n }\n };\n</script>\n```\n\n## Customized usage\n\nCustomized compositions for a specific Facet can be achieved by using a slot with the same id as the\nfacet to customize. For example, the Facet with the id \"color\" requires a composition that differs\nfrom the rest of the Facets. Doing it in a slot with the name \"color\" will apply this customization\njust to the \"color\" Facet. The other facets will fallback to the composition of the default slot.\n\n```vue\n<template>\n <Facets>\n <template #color=\"{ facet, selectedFilters }\">\n <span v-if=\"selectedFilters.length > 0\">{{ `${selectedFilters.length} colors chosen` }}</span>\n\n <ul v-for=\"filter in facet.filters\" :key=\"filter.id\">\n <li v-if=\"!filter.selected\">\n {{ filter.label }}\n </li>\n </ul>\n </template>\n\n <template #default=\"{ facet }\">\n <h1>{{ facet.label }}</h1>\n\n <ul>\n <li v-for=\"filter in facet.filters\" :key=\"filter.id\">\n {{ filter.label }}\n </li>\n </ul>\n </template>\n </Facets>\n</template>\n\n<script>\n import { Facets } from '@empathyco/x-components/facets';\n\n export default {\n components: {\n Facets\n }\n };\n</script>\n```\n\n## Render specific facets I\n\nBy default, this component will render all existing facets. However, it has the renderableFacets\nprop to filter which facets will be rendered. Its value is a string containing the different facets\nids. This value is treated as an include or exclude list (to exclude a facet from being rendered,\njust prefix its id with a `!`). The component will only render included facets and discard excluded\nones. In the following example, the component will only render color and category facets.\n\n```vue\n<template>\n <Facets renderableFacets=\"color, category\">\n <template #default=\"{ facet }\">\n <h1>{{ facet.label }}</h1>\n\n <ul>\n <li v-for=\"filter in facet.filters\" :key=\"filter.id\">\n {{ filter.label }}\n </li>\n </ul>\n </template>\n </Facets>\n</template>\n\n<script>\n import { Facets } from '@empathyco/x-components/facets';\n\n export default {\n components: {\n Facets\n }\n };\n</script>\n```\n\n## Render specific facets II\n\nExclude facets so the component does not render them. In the following example, the component will\nrender every facet except color and price.\n\n```vue\n<template>\n <Facets renderableFacets=\"!color, !price\">\n <template #default=\"{ facet }\">\n <h1>{{ facet.label }}</h1>\n\n <ul>\n <li v-for=\"filter in facet.filters\" :key=\"filter.id\">\n {{ filter.label }}\n </li>\n </ul>\n </template>\n </Facets>\n</template>\n\n<script>\n import { Facets } from '@empathyco/x-components/facets';\n\n export default {\n components: {\n Facets\n }\n };\n</script>\n```\n\n## Integrating with the filters components\n\nThere are many components that will help you build your own awesome filters list. `Facets` just\nrenders the list, but what to render for each facet is up to you. Below you can see an example. of\nthe `Facets` component using the `FiltersSearch` `MultiSelectFilters`, `SimpleFilter`, `Filters`,\n`HierarchicalFilter`, `NumberRangeFilter` and `BasePriceFilterLabel`.\n\n```vue\n<template>\n <Facets>\n <template #default=\"{ facet, selectedFilters }\">\n <h1>{{ facet.label }}</h1>\n <FiltersSearch :filters=\"facet.filters\">\n <MultiSelectFilters v-slot=\"{ filter }\">\n <SimpleFilter :filter=\"filter\" />\n </MultiSelectFilters>\n </FiltersSearch>\n </template>\n\n <template #category=\"{ facet }\">\n <h1>{{ facet.label }}</h1>\n <Filters v-slot=\"{ filter }\" :filters=\"facet.filters\">\n <HierarchicalFilter :filter=\"filter\" />\n </Filters>\n </template>\n\n <template #price=\"{ facet }\">\n <h1>{{ facet.label }}</h1>\n <Filters v-slot=\"{ filter }\" :filters=\"facet.filters\">\n <NumberRangeFilter :filter=\"filter\">\n <BasePriceFilterLabel :filter=\"filter\" />\n </NumberRangeFilter>\n </Filters>\n </template>\n </Facets>\n</template>\n\n<script>\n import {\n Facets,\n Filters,\n FiltersSearch,\n HierarchicalFilter,\n MultiSelectFilters,\n NumberRangeFilter,\n SimpleFilter\n } from '@empathyco/x-components/facets';\n\n import { BasePriceFilterLabel } from '@empathyco/x-components';\n\n export default {\n components: {\n Facets,\n MultiSelectFilters,\n FiltersSearch,\n SimpleFilter,\n Filters,\n HierarchicalFilter,\n NumberRangeFilter,\n BasePriceFilterLabel\n }\n };\n</script>\n```\n</docs>\n"],"names":["const"],"mappings":";;;;;AAEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"facets.vue.js","sources":["../../../../../../src/x-modules/facets/components/facets/facets.vue"],"sourcesContent":["<template>\n <component\n :is=\"animation\"\n v-if=\"hasFacets\"\n class=\"x-list x-facets-list\"\n data-test=\"facets\"\n tag=\"ul\"\n >\n <li\n v-for=\"({ facet, slotName }, facetId) in mappedFacets\"\n :key=\"facetId\"\n class=\"x-facets-list__item\"\n data-test=\"facets-facet\"\n >\n <!--\n @slot Customized Facet rendering. Specifying a slot with the facet's name will result in the\n facet using that slot composition to render.\n @binding {Facet} facet - Facet to render\n -->\n <slot\n v-if=\"$scopedSlots[slotName]\"\n v-bind=\"{\n facet,\n selectedFilters: selectedFiltersByFacet[facetId] || []\n }\"\n :name=\"slotName\"\n />\n <!--\n @slot (required) Default Facet rendering. This slot will be used by default for rendering\n the facets without an specific slot implementation.\n @binding {Facet} facet - Facet to render\n -->\n <slot\n v-else\n v-bind=\"{\n facet,\n selectedFilters: selectedFiltersByFacet[facetId] || []\n }\"\n >\n This is the {{ facet.label }} facet. Pass something into its slot to display content.\n </slot>\n </li>\n </component>\n</template>\n\n<script lang=\"ts\">\n import { Facet } from '@empathyco/x-types';\n import { Component, Prop, Vue } from 'vue-property-decorator';\n import { Getter } from '../../../../components/decorators/store.decorators';\n import { xComponentMixin } from '../../../../components/x-component.mixin';\n import { toKebabCase } from '../../../../utils/string';\n import { map, objectFilter } from '../../../../utils/object';\n import { Dictionary } from '../../../../utils/types';\n import { FiltersByFacet } from '../../store/types';\n import { facetsXModule } from '../../x-module';\n\n /**\n * Custom interface to provide a slot name to a Facet.\n *\n * @internal\n */\n interface RenderFacet {\n slotName: string;\n facet: Facet;\n }\n\n /**\n * This component renders the list of facets stored in the Facets module. Facets can be rendered\n * differently based on their purpose and this can be achieved using the exposed slots:\n * - A default and required slot.\n * - A custom slot for each facet with the facetId as its name. This allows each facet to be\n * rendered differently based on its needs.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(facetsXModule)]\n })\n export default class Facets extends Vue {\n /**\n * Animation component that will be used to animate the facets.\n *\n * @public\n */\n @Prop({ default: 'ul' })\n public animation!: Vue | string;\n\n /**\n * Discriminates the facets rendered by this component. It expects a string containing facets\n * ids, comma separated. This property will include or exclude facets based on its value.\n * The default value is an empty string and the component will render all existing facets.\n *\n * @remarks\n * To behave as a `include`, simply set the facets ids, comma separated:\n * `existingFacets=[{ brand: ... }, category: { ... }, color: { ... }, price: { ... }]`\n * `renderableFacets=\"brand, category\"`\n *\n * The component will render brand and category facets.\n *\n * On the other hand, to simulate an `exclude` behaviour and exclude a facet from being\n * rendered, append a '!' before its id:\n * `existingFacets=[{ brand: ... }, category: { ... }, color: { ... }, price: { ... }]`\n * `renderableFacets=\"!brand,!price\"`\n *\n * The component will render category and color facets.\n *\n * @public\n */\n @Prop()\n public renderableFacets!: string | undefined;\n\n /**\n * Array of selected filters from every facet.\n *\n * @internal\n */\n @Getter('facets', 'selectedFiltersByFacet')\n public selectedFiltersByFacet!: FiltersByFacet;\n\n /**\n * Dictionary of facets in the state.\n *\n * @internal\n */\n @Getter('facets', 'facets')\n public facets!: Record<Facet['id'], Facet>;\n\n /**\n * Transforms a dictionary of Facets including the slot name.\n *\n * @returns A dictionary of facets with the slot name.\n *\n * @internal\n */\n protected get mappedFacets(): Dictionary<RenderFacet> {\n return map(this.facetsToRender, (facetId, facet) => ({\n slotName: toKebabCase(facetId),\n facet\n }));\n }\n\n /**\n * The facets to be rendered after filtering {@link Facets.facets} by\n * {@link Facets.renderableFacets} content.\n *\n * @returns The list of facets to be rendered.\n *\n * @internal\n */\n protected get facetsToRender(): Dictionary<Facet> {\n if (!this.renderableFacets) {\n return this.facets;\n } else {\n const excludedRegExp = /^!/;\n const facetIds: string[] = this.renderableFacets.split(',').map(facetId => facetId.trim());\n const included: string[] = [];\n const excluded: string[] = [];\n facetIds.forEach(facetId => {\n if (excludedRegExp.test(facetId)) {\n excluded.push(facetId.replace(excludedRegExp, ''));\n } else {\n included.push(facetId);\n }\n });\n\n return this.filterFacetsToRender(included, excluded);\n }\n }\n\n /**\n * Indicates if there are facets available to show.\n *\n * @returns True if there are facets available and false otherwise.\n * @internal\n */\n protected get hasFacets(): boolean {\n return !!Object.keys(this.facetsToRender).length;\n }\n\n /**\n * Filter facets dictionary retrieving those included and/or removing excluded.\n *\n * @param included - List of facets to render.\n * @param excluded - List of not renderable facets.\n *\n * @returns The filtered list of facets to render.\n *\n * @internal\n */\n private filterFacetsToRender(included: string[], excluded: string[]): Dictionary<Facet> {\n const hasAnyFacetIncluded = included.length > 0;\n return objectFilter(this.facets, facetKey => {\n const isIncluded = included.includes(String(facetKey));\n const isExcluded = excluded.includes(String(facetKey));\n\n return hasAnyFacetIncluded ? isIncluded && !isExcluded : !isExcluded;\n });\n }\n }\n</script>\n\n<style lang=\"scss\" scoped>\n .x-facets-list {\n list-style-type: none;\n }\n</style>\n\n<docs lang=\"mdx\">\n## Example\n\nThis component renders the list of facets stored in the Facets module. Facets can be rendered\ndifferently based on their purpose and this can be achieved using the exposed slots:\n\n- A default and required slot.\n- A custom slot for each facet with the facetId as its name. This allows each facet to be rendered\n differently based on its needs.\n\nBelow, there are some examples showing how to use the component with its different configurations.\n\n### Default usage\n\nThe default slot of this component is mandatory. If no other slot is defined, every Facet will be\nrendered as specified in the default slot.\n\n```vue\n<template>\n <Facets>\n <template #default=\"{ facet, selectedFilters }\">\n <h1>{{ ${facet.label} }}</h1>\n <span v-if=\"selectedFilters.length > 0\">{{ `${selectedFilters.length} selected` }}</span>\n\n <ul>\n <li v-for=\"filter in facet.filters\" :key=\"filter.id\">\n {{ filter.label }}\n </li>\n </ul>\n </template>\n </Facets>\n</template>\n\n<script>\n import { Facets } from '@empathyco/x-components/facets';\n\n export default {\n components: {\n Facets\n }\n };\n</script>\n```\n\n### Customized usage\n\nCustomized compositions for a specific Facet can be achieved by using a slot with the same id as the\nfacet to customize. For example, the Facet with the id \"color\" requires a composition that differs\nfrom the rest of the Facets. Doing it in a slot with the name \"color\" will apply this customization\njust to the \"color\" Facet. The other facets will fallback to the composition of the default slot.\n\n```vue\n<template>\n <Facets>\n <template #color=\"{ facet, selectedFilters }\">\n <span v-if=\"selectedFilters.length > 0\">{{ `${selectedFilters.length} colors chosen` }}</span>\n\n <ul v-for=\"filter in facet.filters\" :key=\"filter.id\">\n <li v-if=\"!filter.selected\">\n {{ filter.label }}\n </li>\n </ul>\n </template>\n\n <template #default=\"{ facet }\">\n <h1>{{ facet.label }}</h1>\n\n <ul>\n <li v-for=\"filter in facet.filters\" :key=\"filter.id\">\n {{ filter.label }}\n </li>\n </ul>\n </template>\n </Facets>\n</template>\n\n<script>\n import { Facets } from '@empathyco/x-components/facets';\n\n export default {\n components: {\n Facets\n }\n };\n</script>\n```\n\n### Render specific facets I\n\nBy default, this component will render all existing facets. However, it has the renderableFacets\nprop to filter which facets will be rendered. Its value is a string containing the different facets\nids. This value is treated as an include or exclude list (to exclude a facet from being rendered,\njust prefix its id with a `!`). The component will only render included facets and discard excluded\nones. In the following example, the component will only render color and category facets.\n\n```vue\n<template>\n <Facets renderableFacets=\"color, category\">\n <template #default=\"{ facet }\">\n <h1>{{ facet.label }}</h1>\n\n <ul>\n <li v-for=\"filter in facet.filters\" :key=\"filter.id\">\n {{ filter.label }}\n </li>\n </ul>\n </template>\n </Facets>\n</template>\n\n<script>\n import { Facets } from '@empathyco/x-components/facets';\n\n export default {\n components: {\n Facets\n }\n };\n</script>\n```\n\n### Render specific facets II\n\nExclude facets so the component does not render them. In the following example, the component will\nrender every facet except color and price.\n\n```vue\n<template>\n <Facets renderableFacets=\"!color, !price\">\n <template #default=\"{ facet }\">\n <h1>{{ facet.label }}</h1>\n\n <ul>\n <li v-for=\"filter in facet.filters\" :key=\"filter.id\">\n {{ filter.label }}\n </li>\n </ul>\n </template>\n </Facets>\n</template>\n\n<script>\n import { Facets } from '@empathyco/x-components/facets';\n\n export default {\n components: {\n Facets\n }\n };\n</script>\n```\n\n### Integrating with the filters components\n\nThere are many components that will help you build your own awesome filters list. `Facets` just\nrenders the list, but what to render for each facet is up to you. Below you can see an example. of\nthe `Facets` component using the `FiltersSearch` `MultiSelectFilters`, `SimpleFilter`, `Filters`,\n`HierarchicalFilter`, `NumberRangeFilter` and `BasePriceFilterLabel`.\n\n```vue\n<template>\n <Facets>\n <template #default=\"{ facet, selectedFilters }\">\n <h1>{{ facet.label }}</h1>\n <FiltersSearch :filters=\"facet.filters\">\n <MultiSelectFilters v-slot=\"{ filter }\">\n <SimpleFilter :filter=\"filter\" />\n </MultiSelectFilters>\n </FiltersSearch>\n </template>\n\n <template #category=\"{ facet }\">\n <h1>{{ facet.label }}</h1>\n <Filters v-slot=\"{ filter }\" :filters=\"facet.filters\">\n <HierarchicalFilter :filter=\"filter\" />\n </Filters>\n </template>\n\n <template #price=\"{ facet }\">\n <h1>{{ facet.label }}</h1>\n <Filters v-slot=\"{ filter }\" :filters=\"facet.filters\">\n <NumberRangeFilter :filter=\"filter\">\n <BasePriceFilterLabel :filter=\"filter\" />\n </NumberRangeFilter>\n </Filters>\n </template>\n </Facets>\n</template>\n\n<script>\n import {\n Facets,\n Filters,\n FiltersSearch,\n HierarchicalFilter,\n MultiSelectFilters,\n NumberRangeFilter,\n SimpleFilter\n } from '@empathyco/x-components/facets';\n\n import { BasePriceFilterLabel } from '@empathyco/x-components';\n\n export default {\n components: {\n Facets,\n MultiSelectFilters,\n FiltersSearch,\n SimpleFilter,\n Filters,\n HierarchicalFilter,\n NumberRangeFilter,\n BasePriceFilterLabel\n }\n };\n</script>\n```\n</docs>\n"],"names":["const"],"mappings":";;;;;AAEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|