@empathyco/x-components 3.0.0-alpha.34 → 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 +52 -0
- package/core/index.js +23 -22
- package/core/index.js.map +1 -1
- 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.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.isxcomponent.md +2 -2
- package/docs/API-reference/api/x-components.maybearray.md +13 -0
- package/docs/API-reference/api/x-components.md +11 -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.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.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.xeventstypes.md +0 -1
- package/docs/API-reference/api/x-components.xinstaller.md +1 -1
- package/docs/API-reference/components/common/animations/x-components.animate-width.md +1 -1
- package/docs/API-reference/components/common/animations/x-components.collapse-from-top.md +1 -1
- package/docs/API-reference/components/common/animations/x-components.collapse-height.md +1 -1
- package/docs/API-reference/components/common/animations/x-components.collapse-width.md +1 -1
- package/docs/API-reference/components/common/animations/x-components.cross-fade.md +1 -1
- package/docs/API-reference/components/common/animations/x-components.fade-and-slide.md +1 -1
- package/docs/API-reference/components/common/{x-components.staggering-transition-group.md → animations/x-components.staggering-transition-group.md} +2 -2
- package/docs/API-reference/components/common/animations/x-components.translate-from-left.md +1 -1
- package/docs/API-reference/components/common/animations/x-components.translate-from-right.md +1 -1
- package/docs/API-reference/components/common/column-picker/x-components.base-column-picker-dropdown.md +5 -5
- package/docs/API-reference/components/common/column-picker/x-components.base-column-picker-list.md +5 -5
- package/docs/API-reference/components/common/currency/x-components.base-currency.md +2 -4
- package/docs/API-reference/components/common/filters/labels/x-components.base-price-filter-label.md +2 -2
- package/docs/API-reference/components/common/filters/labels/x-components.base-rating-filter-label.md +4 -4
- package/docs/API-reference/components/common/layouts/x-components.fixed-header-and-asides-layout.md +2 -2
- package/docs/API-reference/components/common/layouts/x-components.multi-column-max-width-layout.md +2 -2
- package/docs/API-reference/components/common/modals/x-components.base-events-modal-close.md +3 -3
- package/docs/API-reference/components/common/modals/x-components.base-events-modal-open.md +3 -3
- package/docs/API-reference/components/common/modals/x-components.base-events-modal.md +3 -3
- package/docs/API-reference/components/common/modals/x-components.base-id-modal-close.md +2 -2
- package/docs/API-reference/components/common/modals/x-components.base-id-modal-open.md +2 -2
- package/docs/API-reference/components/common/modals/x-components.base-id-modal.md +2 -2
- package/docs/API-reference/components/common/modals/x-components.base-modal.md +1 -1
- package/docs/API-reference/components/common/panels/x-components.base-header-toggle-panel.md +4 -4
- package/docs/API-reference/components/common/panels/x-components.base-id-toggle-panel-button.md +2 -2
- package/docs/API-reference/components/common/panels/x-components.base-id-toggle-panel.md +2 -2
- package/docs/API-reference/components/common/panels/x-components.base-toggle-panel.md +2 -2
- package/docs/API-reference/components/common/result/x-components.base-result-add-to-cart.md +2 -2
- package/docs/API-reference/components/common/result/x-components.base-result-current-price.md +3 -3
- package/docs/API-reference/components/common/result/x-components.base-result-image.md +3 -3
- package/docs/API-reference/components/common/result/x-components.base-result-link.md +11 -19
- package/docs/API-reference/components/common/result/x-components.base-result-previous-price.md +3 -3
- package/docs/API-reference/components/common/scroll/x-components.base-scroll.md +2 -2
- package/docs/API-reference/components/common/suggestions/x-components.base-suggestion.md +3 -3
- package/docs/API-reference/components/common/suggestions/x-components.base-suggestions.md +1 -1
- package/docs/API-reference/components/common/x-components.base-dropdown.md +1 -1
- package/docs/API-reference/components/common/x-components.base-event-button.md +2 -2
- package/docs/API-reference/components/common/x-components.base-grid.md +4 -4
- package/docs/API-reference/components/common/x-components.base-keyboard-navigation.md +4 -4
- package/docs/API-reference/components/common/x-components.base-rating.md +3 -3
- package/docs/API-reference/components/common/x-components.base-variable-column-grid.md +1 -1
- package/docs/API-reference/components/common/x-components.sliding-panel.md +4 -4
- package/docs/API-reference/components/empathize/x-components.empathize.md +2 -2
- package/docs/API-reference/components/extra-params/x-components.renderless-extra-param.md +2 -2
- package/docs/API-reference/components/facets/x-components.clear-filters.md +3 -3
- package/docs/API-reference/components/facets/x-components.facets/facets-provider.md +1 -1
- package/docs/API-reference/components/facets/x-components.facets/facets.md +6 -6
- package/docs/API-reference/components/facets/x-components.filters/all-filter.md +5 -5
- package/docs/API-reference/components/facets/x-components.filters/base-filter.md +4 -4
- package/docs/API-reference/components/facets/x-components.filters/editable-number-range-filter.md +5 -5
- package/docs/API-reference/components/facets/x-components.filters/hierarchical-filter.md +4 -4
- package/docs/API-reference/components/facets/x-components.filters/number-range-filter.md +3 -3
- package/docs/API-reference/components/facets/x-components.filters/renderless-filter.md +3 -3
- package/docs/API-reference/components/facets/x-components.filters/simple-filter.md +4 -4
- package/docs/API-reference/components/facets/x-components.lists/exclude-filters-with-no-results.md +3 -3
- package/docs/API-reference/components/facets/x-components.lists/filters-list.md +3 -3
- package/docs/API-reference/components/facets/x-components.lists/filters-search.md +3 -3
- package/docs/API-reference/components/facets/x-components.lists/selected-filters-list.md +5 -5
- package/docs/API-reference/components/facets/x-components.lists/selected-filters.md +4 -4
- package/docs/API-reference/components/facets/x-components.lists/sliced-filters.md +3 -3
- package/docs/API-reference/components/facets/x-components.lists/sorted-filters.md +5 -5
- package/docs/API-reference/components/history-queries/x-components.clear-history-queries.md +2 -2
- package/docs/API-reference/components/history-queries/x-components.history-queries.md +4 -4
- package/docs/API-reference/components/history-queries/x-components.history-query.md +3 -3
- package/docs/API-reference/components/history-queries/x-components.remove-history-query.md +2 -2
- package/docs/API-reference/components/identifier-results/x-components.identifier-result.md +2 -2
- package/docs/API-reference/components/identifier-results/x-components.identifier-results.md +2 -2
- package/docs/API-reference/components/next-queries/x-components.next-queries.md +4 -4
- package/docs/API-reference/components/next-queries/x-components.next-query.md +3 -3
- package/docs/API-reference/components/popular-searches/x-components.popular-search.md +3 -3
- package/docs/API-reference/components/popular-searches/x-components.popular-searches.md +4 -4
- package/docs/API-reference/components/recommendations/x-components.recommendations.md +4 -4
- package/docs/API-reference/components/scroll/x-components.scroll-to-top.md +2 -2
- package/docs/API-reference/components/scroll/x-components.scroll.md +18 -22
- package/docs/API-reference/components/scroll/x-components.window-scroll.md +5 -7
- package/docs/API-reference/components/search/x-components.partial-query-button.md +3 -3
- package/docs/API-reference/components/search/x-components.partial-results-list.md +4 -4
- package/docs/API-reference/components/search/x-components.redirection.md +1 -1
- package/docs/API-reference/components/search/x-components.sort-dropdown.md +1 -1
- package/docs/API-reference/components/search/x-components.sort-list.md +1 -1
- package/docs/API-reference/components/search/x-components.spellcheck-button.md +3 -3
- package/docs/API-reference/components/search/x-components.spellcheck.md +3 -3
- package/docs/build-search-ui/web-archetype-development-guide.md +178 -0
- package/docs/build-search-ui/web-archetype-integration-guide.md +146 -138
- package/docs/build-search-ui/web-x-components-integration-guide.md +3 -3
- package/js/components/animations/animate-width.vue.js +2 -2
- package/js/components/animations/animate-width.vue.js.map +1 -1
- package/js/components/animations/collapse-from-top.vue.js +2 -2
- package/js/components/animations/collapse-from-top.vue.js.map +1 -1
- package/js/components/animations/collapse-height.vue.js +2 -2
- package/js/components/animations/collapse-height.vue.js.map +1 -1
- package/js/components/animations/collapse-width.vue.js +2 -2
- package/js/components/animations/collapse-width.vue.js.map +1 -1
- package/js/components/animations/cross-fade.vue.js +2 -2
- package/js/components/animations/cross-fade.vue.js.map +1 -1
- package/js/components/animations/fade-and-slide.vue.js +2 -2
- package/js/components/animations/fade-and-slide.vue.js.map +1 -1
- package/js/components/animations/staggered-fade-and-slide.vue.js +2 -2
- 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 +2 -2
- package/js/components/animations/translate-from-left.vue.js.map +1 -1
- package/js/components/animations/translate-from-right.vue.js +2 -2
- package/js/components/animations/translate-from-right.vue.js.map +1 -1
- package/js/components/base-dropdown.vue.js +2 -2
- package/js/components/base-dropdown.vue.js.map +1 -1
- package/js/components/base-event-button.vue.js.map +1 -1
- package/js/components/base-grid.vue.js +2 -2
- package/js/components/base-grid.vue.js.map +1 -1
- package/js/components/base-keyboard-navigation.vue.js.map +1 -1
- package/js/components/base-rating.vue.js +2 -2
- package/js/components/base-rating.vue.js.map +1 -1
- package/js/components/base-variable-column-grid.vue.js.map +1 -1
- 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 +2 -2
- package/js/components/column-picker/base-column-picker-list.vue.js.map +1 -1
- 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.map +1 -1
- package/js/components/global-x-bus.vue.js.map +1 -1
- package/js/components/global-x-bus.vue_rollup-plugin-vue=script.js +2 -1
- package/js/components/global-x-bus.vue_rollup-plugin-vue=script.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 +3 -3
- 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_rollup-plugin-vue=script.js +1 -1
- package/js/components/modals/base-events-modal-close.vue.js.map +1 -1
- package/js/components/modals/base-events-modal-open.vue.js.map +1 -1
- package/js/components/modals/base-events-modal.vue.js.map +1 -1
- package/js/components/modals/base-id-modal-close.vue.js.map +1 -1
- package/js/components/modals/base-id-modal-open.vue.js.map +1 -1
- package/js/components/modals/base-id-modal.vue.js.map +1 -1
- package/js/components/modals/base-modal.vue.js +2 -2
- package/js/components/modals/base-modal.vue.js.map +1 -1
- package/js/components/panels/base-header-toggle-panel.vue.js +2 -2
- package/js/components/panels/base-header-toggle-panel.vue.js.map +1 -1
- package/js/components/panels/base-id-toggle-panel-button.vue.js.map +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.map +1 -1
- package/js/components/result/base-result-add-to-cart.vue.js.map +1 -1
- package/js/components/result/base-result-current-price.vue.js.map +1 -1
- package/js/components/result/base-result-image.vue.js +2 -2
- package/js/components/result/base-result-image.vue.js.map +1 -1
- package/js/components/result/base-result-link.vue.js +5 -5
- 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-previous-price.vue.js.map +1 -1
- package/js/components/scroll/base-scroll.vue.js +2 -2
- package/js/components/scroll/base-scroll.vue.js.map +1 -1
- package/js/components/sliding-panel.vue.js +2 -2
- package/js/components/sliding-panel.vue.js.map +1 -1
- package/js/components/suggestions/base-suggestion.vue.js.map +1 -1
- package/js/components/suggestions/base-suggestions.vue.js +2 -2
- 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 +31 -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/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/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 +13 -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.map +1 -1
- package/js/x-modules/extra-params/components/renderless-extra-param.vue_rollup-plugin-vue=script.js +13 -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.map +1 -1
- package/js/x-modules/extra-params/components/snippet-config-extra-params.vue_rollup-plugin-vue=script.js +22 -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.map +1 -1
- package/js/x-modules/facets/components/clear-filters.vue_rollup-plugin-vue=script.js +13 -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 +17 -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 +2 -2
- package/js/x-modules/facets/components/facets/facets.vue.js.map +1 -1
- 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 +13 -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.map +1 -1
- package/js/x-modules/facets/components/filters/base-filter.vue_rollup-plugin-vue=script.js +13 -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 +1 -1
- 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.map +1 -1
- package/js/x-modules/facets/components/filters/hierarchical-filter.vue_rollup-plugin-vue=script.js +13 -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.map +1 -1
- package/js/x-modules/facets/components/filters/number-range-filter.vue_rollup-plugin-vue=script.js +13 -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 +13 -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.map +1 -1
- package/js/x-modules/facets/components/filters/simple-filter.vue_rollup-plugin-vue=script.js +13 -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 +13 -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 +2 -2
- 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 +13 -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 +2 -2
- 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 +13 -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.map +1 -1
- 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 +13 -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.map +1 -1
- package/js/x-modules/facets/components/lists/sliced-filters.vue_rollup-plugin-vue=script.js +13 -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 +13 -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.map +1 -1
- 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.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.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.map +1 -1
- package/js/x-modules/identifier-results/components/identifier-results.vue.js.map +1 -1
- package/js/x-modules/identifier-results/wiring.js +1 -1
- package/js/x-modules/identifier-results/wiring.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.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.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.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.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_rollup-plugin-vue=script.js +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 +2 -2
- package/js/x-modules/recommendations/components/recommendations.vue.js.map +1 -1
- package/js/x-modules/scroll/components/main-scroll-item.vue_rollup-plugin-vue=script.js +15 -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.map +1 -1
- package/js/x-modules/scroll/components/scroll-to-top.vue_rollup-plugin-vue=script.js +15 -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.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 +15 -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 +2 -1
- 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_rollup-plugin-vue=script.js +1 -1
- 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 +2 -2
- package/js/x-modules/search/components/partial-results-list.vue.js.map +1 -1
- package/js/x-modules/search/components/promoted.vue.js +2 -1
- 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_rollup-plugin-vue=script.js +1 -1
- 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_rollup-plugin-vue=script.js +2 -2
- package/js/x-modules/search/components/sort-dropdown.vue.js.map +1 -1
- package/js/x-modules/search/components/sort-list.vue.js +2 -2
- 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 +13 -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 +13 -12
- package/js/x-modules/search/components/sort.mixin.js.map +1 -1
- package/js/x-modules/search/components/spellcheck-button.vue.js.map +1 -1
- 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 +13 -12
- package/js/x-modules/search/components/spellcheck.vue_rollup-plugin-vue=script.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 +48 -4
- package/js/x-modules/tagging/wiring.js.map +1 -1
- package/package.json +7 -7
- package/report/tsdoc-metadata.json +1 -1
- package/report/x-adapter.api.json +1 -1
- package/report/x-components.api.json +572 -222
- package/report/x-components.api.md +60 -33
- package/report/x-types.api.json +1 -1
- package/tagging/index.js +1 -1
- 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.map +1 -1
- package/types/components/index.d.ts +1 -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/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/utils/types.d.ts +6 -0
- package/types/utils/types.d.ts.map +1 -1
- package/types/wiring/events.types.d.ts +0 -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/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/wiring.d.ts +1 -1
- package/types/x-modules/query-suggestions/wiring.d.ts +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/tagging/wiring.d.ts +29 -9
- package/types/x-modules/tagging/wiring.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/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
|
@@ -16,6 +16,14 @@ var Promoted = /** @class */ (function (_super) {
|
|
|
16
16
|
function Promoted() {
|
|
17
17
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Emits the promoted click event.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
Promoted.prototype.emitClickEvent = function () {
|
|
25
|
+
this.$x.emit('UserClickedAPromoted', this.promoted);
|
|
26
|
+
};
|
|
19
27
|
__decorate([
|
|
20
28
|
Prop({ required: true })
|
|
21
29
|
], Promoted.prototype, "promoted", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promoted.vue_rollup-plugin-vue=script.js","sources":["../../../../../src/x-modules/search/components/promoted.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\nimport { Promoted as PromotedModel } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { xComponentMixin } from '../../../components/x-component.mixin';\nimport { searchXModule } from '../x-module';\n\n/**\n * A promoted result is just an item that has been inserted into the search results to advertise\n * something. Usually it is one of the first items in the grid, and has the same shape as a\n * result. It just contains a link to the promoted content, an image, and a title.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(searchXModule)]\n})\nexport default class Promoted extends Vue {\n /**\n * The promoted data.\n *\n * @public\n */\n @Prop({ required: true })\n public promoted!: PromotedModel;\n}\n"],"names":[],"mappings":";;;;;;AAcA;;;;;;;AAUA;IAAsC,4BAAG;IAAzC;;
|
|
1
|
+
{"version":3,"file":"promoted.vue_rollup-plugin-vue=script.js","sources":["../../../../../src/x-modules/search/components/promoted.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\nimport { Promoted as PromotedModel } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { xComponentMixin } from '../../../components/x-component.mixin';\nimport { searchXModule } from '../x-module';\n\n/**\n * A promoted result is just an item that has been inserted into the search results to advertise\n * something. Usually it is one of the first items in the grid, and has the same shape as a\n * result. It just contains a link to the promoted content, an image, and a title.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(searchXModule)]\n})\nexport default class Promoted extends Vue {\n /**\n * The promoted data.\n *\n * @public\n */\n @Prop({ required: true })\n public promoted!: PromotedModel;\n\n /**\n * Emits the promoted click event.\n *\n * @internal\n */\n protected emitClickEvent(): void {\n this.$x.emit('UserClickedAPromoted', this.promoted);\n }\n}\n"],"names":[],"mappings":";;;;;;AAcA;;;;;;;AAUA;IAAsC,4BAAG;IAAzC;;KAiBC;;;;;;IAHW,iCAAc,GAAxB;QACE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KACrD;IATD;QADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8CACO;IAPb,QAAQ;QAH5B,SAAS,CAAC;YACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;SACzC,CAAC;OACmB,QAAQ,CAiB5B;IAAD,eAAC;CAAA,CAjBqC,GAAG;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __extends, __spreadArray, __decorate } from 'tslib';
|
|
2
2
|
import { Prop, Component } from 'vue-property-decorator';
|
|
3
3
|
import { NoElement } from '../../../components/no-element.js';
|
|
4
|
-
import ItemsList from '../../../components/items-list.vue.js';
|
|
5
4
|
import { State } from '../../../components/decorators/store.decorators.js';
|
|
6
5
|
import { xComponentMixin } from '../../../components/x-component.mixin.js';
|
|
6
|
+
import ItemsList from '../../../components/items-list.vue.js';
|
|
7
7
|
import { ItemsListInjectionMixin } from '../../../components/items-list-injection.mixin.js';
|
|
8
8
|
import { searchXModule } from '../x-module.js';
|
|
9
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redirection.vue.js","sources":["../../../../../src/x-modules/search/components/redirection.vue"],"sourcesContent":["<template>\n <div\n v-if=\"redirection && $scopedSlots.default\"\n class=\"x-redirection x-message\"\n data-test=\"redirection\"\n >\n <slot v-bind=\"{ redirection, redirect, abortRedirect, isRedirecting, delayInSeconds }\" />\n </div>\n</template>\n\n<script lang=\"ts\">\n import { Redirection as RedirectionModel } from '@empathyco/x-types';\n import Vue from 'vue';\n import { Component, Prop, Watch } from 'vue-property-decorator';\n import { XOn } from '../../../components/decorators/bus.decorators';\n import { State } from '../../../components/decorators/store.decorators';\n import { xComponentMixin } from '../../../components/x-component.mixin';\n import { searchXModule } from '../x-module';\n\n /**\n * A redirection is a component that sends the user to a link in the website. It is helpful when\n * there are queries like `help`, `shipping costs`, `my account`, where a link to a section in the\n * website will be more helpful than the set of results returned.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)]\n })\n export default class Redirection extends Vue {\n @State('search', 'redirections')\n public redirections!: RedirectionModel[];\n\n /**\n * The redirection mode. Auto for auto redirection and manual for an user interaction.\n *\n * @public\n */\n @Prop({ default: 'auto' })\n public mode!: 'auto' | 'manual';\n\n /**\n * The waiting time in seconds until the redirection is made.\n *\n * @remarks this delay only works in auto mode.\n *\n * @public\n */\n @Prop({ default: 0 })\n public delayInSeconds!: number;\n\n /**\n * The timeout id, used to cancel the redirection.\n *\n * @internal\n */\n protected timeoutId
|
|
1
|
+
{"version":3,"file":"redirection.vue.js","sources":["../../../../../src/x-modules/search/components/redirection.vue"],"sourcesContent":["<template>\n <div\n v-if=\"redirection && $scopedSlots.default\"\n class=\"x-redirection x-message\"\n data-test=\"redirection\"\n >\n <slot v-bind=\"{ redirection, redirect, abortRedirect, isRedirecting, delayInSeconds }\" />\n </div>\n</template>\n\n<script lang=\"ts\">\n import { Redirection as RedirectionModel } from '@empathyco/x-types';\n import Vue from 'vue';\n import { Component, Prop, Watch } from 'vue-property-decorator';\n import { XOn } from '../../../components/decorators/bus.decorators';\n import { State } from '../../../components/decorators/store.decorators';\n import { xComponentMixin } from '../../../components/x-component.mixin';\n import { searchXModule } from '../x-module';\n\n /**\n * A redirection is a component that sends the user to a link in the website. It is helpful when\n * there are queries like `help`, `shipping costs`, `my account`, where a link to a section in the\n * website will be more helpful than the set of results returned.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)]\n })\n export default class Redirection extends Vue {\n @State('search', 'redirections')\n public redirections!: RedirectionModel[];\n\n /**\n * The redirection mode. Auto for auto redirection and manual for an user interaction.\n *\n * @public\n */\n @Prop({ default: 'auto' })\n public mode!: 'auto' | 'manual';\n\n /**\n * The waiting time in seconds until the redirection is made.\n *\n * @remarks this delay only works in auto mode.\n *\n * @public\n */\n @Prop({ default: 0 })\n public delayInSeconds!: number;\n\n /**\n * The timeout id, used to cancel the redirection.\n *\n * @internal\n */\n protected timeoutId?: number;\n\n /**\n * Boolean flag which indicates if the redirection is running.\n *\n * @public\n */\n protected isRedirecting = true;\n\n /**\n * Computed property which returns the first recommendation of the state, if any returns null.\n *\n * @returns The first redirection of the state.\n *\n * @internal\n */\n protected get redirection(): RedirectionModel | null {\n return this.redirections?.[0] ?? null;\n }\n\n /**\n * Watcher function which adds a setTimeout to the redirect method is the component\n * is in auto mode and there are redirections.\n *\n * @internal\n */\n @Watch('redirections', { immediate: true })\n protected redirectWithDelay(): void {\n this.isRedirecting = true;\n if (this.mode === 'auto' && this.redirection) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.timeoutId = setTimeout(this.redirect, this.delayInSeconds * 1000);\n }\n }\n\n /**\n * Dispatches the redirection, updating the url.\n *\n * @public\n */\n protected redirect(): void {\n clearTimeout(this.timeoutId);\n this.$x.emit('UserClickedARedirection', this.redirection!);\n window.location.replace(this.redirection!.url);\n }\n\n /**\n * Stops the redirection, emitting `UserClickedAbortARedirection` event.\n *\n * @public\n */\n protected abortRedirect(): void {\n this.cancelRedirect();\n this.$x.emit('UserClickedAbortARedirection');\n }\n\n /**\n * Stops the animation if the user search another query.\n *\n * @internal\n */\n @XOn(['UserAcceptedAQuery', 'UserClearedQuery'])\n cancelRedirect(): void {\n clearTimeout(this.timeoutId);\n this.isRedirecting = false;\n }\n }\n</script>\n\n<style lang=\"scss\"></style>\n\n<docs lang=\"mdx\">\n## Play with the component\n\nIn this example, a query has been searched in the search input resulting in a case where the\nresponse has a redirection.\n\nA text box appears bellow the search box indicating that you're going to be redirected to another\nweb page.\n\nThis component has two modes:\n\n- Auto mode means that the redirection will occur after a certain number of seconds passed as a\n property.\n- If the value is 0 the redirection will be instantly.\n- Manual mode means that the user have to click the redirect button or nothing will happen.\n\n_Type any term in the input field to try it out!_\n\n```vue\n<template>\n <Redirection #default=\"{ redirection, redirect, abortRedirect }\">\n <span>In a few seconds you're going to be redirected!</span>\n <span>{{ redirection.url }}</span>\n <button @click=\"redirection\">Redirect now!</button>\n <button @click=\"abortRedirect\">Abort redirection!</button>\n </Redirection>\n</template>\n\n<script>\n import { Redirection } from '@empathyco/x-components/search';\n export default {\n name: 'RedirectionDemo',\n components: {\n Redirection\n }\n };\n</script>\n```\n\n## Extending the component\n\nComponents behaviour can be changed, in this example the mode of the component will be manual\nforcing the user to accept the redirection\n\n```vue\n<template>\n <Redirection #default=\"{ redirection, redirect }\">\n <span>{{ redirection.url }}</span>\n <button @click=\"redirect\">Redirect now!</button>\n </Redirection>\n</template>\n\n<script>\n import { Redirection } from '@empathyco/x-components/search';\n export default {\n name: 'RedirectionDemo',\n components: {\n Redirection\n },\n data() {\n return {\n mode: 'manual'\n };\n }\n };\n</script>\n```\n\n## Events\n\nThis component emits the following events:\n\n- `UserClickedARedirection` after the user clicks the redirection button.\n- `UserClickedAbortARedirection` after the user clicks the abort redirection button.\n</docs>\n"],"names":["const"],"mappings":";;;;AAEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redirection.vue_rollup-plugin-vue=script.js","sources":["../../../../../src/x-modules/search/components/redirection.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\nimport { Redirection as RedirectionModel } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { XOn } from '../../../components/decorators/bus.decorators';\nimport { State } from '../../../components/decorators/store.decorators';\nimport { xComponentMixin } from '../../../components/x-component.mixin';\nimport { searchXModule } from '../x-module';\n\n/**\n * A redirection is a component that sends the user to a link in the website. It is helpful when\n * there are queries like `help`, `shipping costs`, `my account`, where a link to a section in the\n * website will be more helpful than the set of results returned.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(searchXModule)]\n})\nexport default class Redirection extends Vue {\n @State('search', 'redirections')\n public redirections!: RedirectionModel[];\n\n /**\n * The redirection mode. Auto for auto redirection and manual for an user interaction.\n *\n * @public\n */\n @Prop({ default: 'auto' })\n public mode!: 'auto' | 'manual';\n\n /**\n * The waiting time in seconds until the redirection is made.\n *\n * @remarks this delay only works in auto mode.\n *\n * @public\n */\n @Prop({ default: 0 })\n public delayInSeconds!: number;\n\n /**\n * The timeout id, used to cancel the redirection.\n *\n * @internal\n */\n protected timeoutId
|
|
1
|
+
{"version":3,"file":"redirection.vue_rollup-plugin-vue=script.js","sources":["../../../../../src/x-modules/search/components/redirection.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\nimport { Redirection as RedirectionModel } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop, Watch } from 'vue-property-decorator';\nimport { XOn } from '../../../components/decorators/bus.decorators';\nimport { State } from '../../../components/decorators/store.decorators';\nimport { xComponentMixin } from '../../../components/x-component.mixin';\nimport { searchXModule } from '../x-module';\n\n/**\n * A redirection is a component that sends the user to a link in the website. It is helpful when\n * there are queries like `help`, `shipping costs`, `my account`, where a link to a section in the\n * website will be more helpful than the set of results returned.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(searchXModule)]\n})\nexport default class Redirection extends Vue {\n @State('search', 'redirections')\n public redirections!: RedirectionModel[];\n\n /**\n * The redirection mode. Auto for auto redirection and manual for an user interaction.\n *\n * @public\n */\n @Prop({ default: 'auto' })\n public mode!: 'auto' | 'manual';\n\n /**\n * The waiting time in seconds until the redirection is made.\n *\n * @remarks this delay only works in auto mode.\n *\n * @public\n */\n @Prop({ default: 0 })\n public delayInSeconds!: number;\n\n /**\n * The timeout id, used to cancel the redirection.\n *\n * @internal\n */\n protected timeoutId?: number;\n\n /**\n * Boolean flag which indicates if the redirection is running.\n *\n * @public\n */\n protected isRedirecting = true;\n\n /**\n * Computed property which returns the first recommendation of the state, if any returns null.\n *\n * @returns The first redirection of the state.\n *\n * @internal\n */\n protected get redirection(): RedirectionModel | null {\n return this.redirections?.[0] ?? null;\n }\n\n /**\n * Watcher function which adds a setTimeout to the redirect method is the component\n * is in auto mode and there are redirections.\n *\n * @internal\n */\n @Watch('redirections', { immediate: true })\n protected redirectWithDelay(): void {\n this.isRedirecting = true;\n if (this.mode === 'auto' && this.redirection) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.timeoutId = setTimeout(this.redirect, this.delayInSeconds * 1000);\n }\n }\n\n /**\n * Dispatches the redirection, updating the url.\n *\n * @public\n */\n protected redirect(): void {\n clearTimeout(this.timeoutId);\n this.$x.emit('UserClickedARedirection', this.redirection!);\n window.location.replace(this.redirection!.url);\n }\n\n /**\n * Stops the redirection, emitting `UserClickedAbortARedirection` event.\n *\n * @public\n */\n protected abortRedirect(): void {\n this.cancelRedirect();\n this.$x.emit('UserClickedAbortARedirection');\n }\n\n /**\n * Stops the animation if the user search another query.\n *\n * @internal\n */\n @XOn(['UserAcceptedAQuery', 'UserClearedQuery'])\n cancelRedirect(): void {\n clearTimeout(this.timeoutId);\n this.isRedirecting = false;\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAmBA;;;;;;;AAUA;IAAyC,+BAAG;IAA5C;QAAA,qEA6FC;;;;;;QA3DW,mBAAa,GAAG,IAAI,CAAC;;KA2DhC;IAlDC,sBAAc,oCAAW;;;;;;;;aAAzB;;YACE,OAAO,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAG,CAAC,CAAC,mCAAI,IAAI,CAAC;SACvC;;;OAAA;;;;;;;IASS,uCAAiB,GAA3B;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;;YAE5C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;SACxE;KACF;;;;;;IAOS,8BAAQ,GAAlB;QACE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,WAAY,CAAC,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAY,CAAC,GAAG,CAAC,CAAC;KAChD;;;;;;IAOS,mCAAa,GAAvB;QACE,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;KAC9C;;;;;;IAQD,oCAAc,GAAd;QACE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B;IA1FD;QADC,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC;qDACS;IAQzC;QADC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;6CACM;IAUhC;QADC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;uDACU;IAkC/B;QADC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;wDAO1C;IA6BD;QADC,GAAG,CAAC,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;qDAI/C;IA5FkB,WAAW;QAH/B,SAAS,CAAC;YACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;SACzC,CAAC;OACmB,WAAW,CA6F/B;IAAD,kBAAC;CAAA,CA7FwC,GAAG;;;;"}
|
|
@@ -3,10 +3,10 @@ import Vue from 'vue';
|
|
|
3
3
|
import { Prop, Component } from 'vue-property-decorator';
|
|
4
4
|
import { NoElement } from '../../../components/no-element.js';
|
|
5
5
|
import { XProvide } from '../../../components/decorators/injection.decorators.js';
|
|
6
|
-
import { LIST_ITEMS_KEY } from '../../../components/decorators/injection.consts.js';
|
|
7
|
-
import ItemsList from '../../../components/items-list.vue.js';
|
|
8
6
|
import { State } from '../../../components/decorators/store.decorators.js';
|
|
9
7
|
import { xComponentMixin } from '../../../components/x-component.mixin.js';
|
|
8
|
+
import { LIST_ITEMS_KEY } from '../../../components/decorators/injection.consts.js';
|
|
9
|
+
import ItemsList from '../../../components/items-list.vue.js';
|
|
10
10
|
import { searchXModule } from '../x-module.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-dropdown.vue.js","sources":["../../../../../src/x-modules/search/components/sort-dropdown.vue"],"sourcesContent":["<template>\n <BaseDropdown\n @change=\"emitUserClickedASort\"\n :animation=\"animation\"\n :items=\"items\"\n :value=\"selectedSort\"\n class=\"x-sort-dropdown\"\n data-test=\"sort-dropdown\"\n >\n <template #toggle=\"{ isOpen, item }\">\n <!--\n @slot Used to render the contents of the dropdown toggle button. If not provided, it uses\n the item slot as fallback.\n @binding {Sort} item - The sort data to render.\n @binding {boolean} isOpen - True if the dropdown is opened, and false if it is closed.\n -->\n <slot v-bind=\"{ isOpen, item }\" name=\"toggle\">{{ item }}</slot>\n </template>\n <template #item=\"{ item, isHighlighted, isSelected }\">\n <!--\n @slot (required) Used to render each one of the items content, and as fallback\n for the toggle button content slot if it is not provided.\n @binding {Sort} item - Sort to render\n @binding {boolean} isHighlighted - True when the item has the focus.\n @binding {boolean} isSelected - True when the item is selected.\n -->\n <slot v-bind=\"{ item, isHighlighted, isSelected }\" name=\"item\">{{ item }}</slot>\n </template>\n </BaseDropdown>\n</template>\n\n<script lang=\"ts\">\n import { Sort } from '@empathyco/x-types';\n import Vue from 'vue';\n import { mixins } from 'vue-class-component';\n import { Component, Prop } from 'vue-property-decorator';\n import BaseDropdown from '../../../components/base-dropdown.vue';\n import { xComponentMixin } from '../../../components/x-component.mixin';\n import { searchXModule } from '../x-module';\n import SortMixin from './sort.mixin';\n\n /**\n * The `SortDropdown` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n *\n * @remarks It extends {@link SortMixin}.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)],\n components: { BaseDropdown },\n model: {\n event: 'change'\n }\n })\n export default class SortDropdown extends mixins(SortMixin) {\n /**\n * The transition to use for opening and closing the dropdown.\n *\n * @public\n */\n @Prop()\n public animation?: string | typeof Vue;\n /**\n * Emits the events related to the selection of a sort value.\n *\n * @param sort - The selected sort.\n * @internal\n */\n protected emitUserClickedASort(sort: Sort): void {\n this.$x.emit('UserClickedASort', sort, { target: this.$el as HTMLElement });\n this.$emit('change', sort);\n }\n }\n</script>\n\n<docs lang=\"mdx\">\n
|
|
1
|
+
{"version":3,"file":"sort-dropdown.vue.js","sources":["../../../../../src/x-modules/search/components/sort-dropdown.vue"],"sourcesContent":["<template>\n <BaseDropdown\n @change=\"emitUserClickedASort\"\n :animation=\"animation\"\n :items=\"items\"\n :value=\"selectedSort\"\n class=\"x-sort-dropdown\"\n data-test=\"sort-dropdown\"\n >\n <template #toggle=\"{ isOpen, item }\">\n <!--\n @slot Used to render the contents of the dropdown toggle button. If not provided, it uses\n the item slot as fallback.\n @binding {Sort} item - The sort data to render.\n @binding {boolean} isOpen - True if the dropdown is opened, and false if it is closed.\n -->\n <slot v-bind=\"{ isOpen, item }\" name=\"toggle\">{{ item }}</slot>\n </template>\n <template #item=\"{ item, isHighlighted, isSelected }\">\n <!--\n @slot (required) Used to render each one of the items content, and as fallback\n for the toggle button content slot if it is not provided.\n @binding {Sort} item - Sort to render\n @binding {boolean} isHighlighted - True when the item has the focus.\n @binding {boolean} isSelected - True when the item is selected.\n -->\n <slot v-bind=\"{ item, isHighlighted, isSelected }\" name=\"item\">{{ item }}</slot>\n </template>\n </BaseDropdown>\n</template>\n\n<script lang=\"ts\">\n import { Sort } from '@empathyco/x-types';\n import Vue from 'vue';\n import { mixins } from 'vue-class-component';\n import { Component, Prop } from 'vue-property-decorator';\n import BaseDropdown from '../../../components/base-dropdown.vue';\n import { xComponentMixin } from '../../../components/x-component.mixin';\n import { searchXModule } from '../x-module';\n import SortMixin from './sort.mixin';\n\n /**\n * The `SortDropdown` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n *\n * @remarks It extends {@link SortMixin}.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)],\n components: { BaseDropdown },\n model: {\n event: 'change'\n }\n })\n export default class SortDropdown extends mixins(SortMixin) {\n /**\n * The transition to use for opening and closing the dropdown.\n *\n * @public\n */\n @Prop()\n public animation?: string | typeof Vue;\n /**\n * Emits the events related to the selection of a sort value.\n *\n * @param sort - The selected sort.\n * @internal\n */\n protected emitUserClickedASort(sort: Sort): void {\n this.$x.emit('UserClickedASort', sort, { target: this.$el as HTMLElement });\n this.$emit('change', sort);\n }\n }\n</script>\n\n<docs lang=\"mdx\">\n## Sort Dropdown\n\nThe `SortDropdown` component can be used to change the way the search results are ordered.\n\nTo do so, the list of valid sort values has to be provided using the `items` prop. These are the\nvalues that can be received then in the `SearchAdapter`.\n\nThe component also optionally accepts the selected sort, which can be set using the `value` prop.\nThis prop allows changing programmatically the selected sort, as it will be synced with the store\nimmediately. If this prop is not provided, the first item from the `items` prop will be the one\nselected by default.\n\nThis component also allows customizing both the toggle button and each one of the possible sort\nvalues. This can be done with the`toggle` and `item` slots.\n\n## Examples\n\n### Only providing the list of items\n\n```vue\n<template>\n <SortDropdown :items=\"sortValues\">\n <template #toggle=\"{ item, isOpen }\">{{ item }} {{ isOpen ? '🔼' : '🔽' }}</template>\n <template #item=\"{ item, isHighlighted, isSelected }\">\n <span v-if=\"isSelected\">✅</span>\n <span v-if=\"isHighlighted\">🟢</span>\n {{ item }}\n </template>\n </SortDropdown>\n</template>\n\n<script>\n import { SortDropdown } from '@empathyco/x-components/search';\n\n export default {\n components: {\n SortDropdown\n },\n data() {\n return { sortValues: ['Relevance', 'Price asc', 'Price desc'] };\n }\n };\n</script>\n```\n\n### Providing also the selected value\n\n```vue\n<template>\n <SortDropdown v-model=\"selectedSort\" :items=\"sortValues\">\n <template #toggle=\"{ item, isOpen }\">{{ item }} {{ isOpen ? '🔼' : '🔽' }}</template>\n <template #item=\"{ item, isHighlighted, isSelected }\">\n <span v-if=\"isSelected\">✅</span>\n <span v-if=\"isHighlighted\">🟢</span>\n {{ item }}\n </template>\n </SortDropdown>\n</template>\n\n<script>\n import { SortDropdown } from '@empathyco/x-components/search';\n\n export default {\n components: {\n SortDropdown\n },\n data() {\n return {\n selectedSort: 'Price asc',\n sortValues: ['Relevance', 'Price asc', 'Price desc']\n };\n }\n };\n</script>\n```\n\n## Events\n\nThis component emits 2 different events:\n\n- SelectedSortProvided: To sync the selected sort with the store state value. This event is emitted\n as soon as the list of items is received, whenever this list changes if there is no provided\n value, and when the provided value changes.\n- UserClickedASort: As its name suggest, the event is emitted after the user clicks one of the sort\n options. This does not mean that the sort has changed, only that the user has clicked it.\n</docs>\n"],"names":["const"],"mappings":";;;;AAEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -58,11 +58,11 @@ __vue_render__._withStripped = true;
|
|
|
58
58
|
/* style */
|
|
59
59
|
var __vue_inject_styles__ = function (inject) {
|
|
60
60
|
if (!inject) { return }
|
|
61
|
-
inject("data-v-
|
|
61
|
+
inject("data-v-50022f3c_0", { source: ".x-sort-list[data-v-50022f3c] {\n list-style-type: none;\n}", map: undefined, media: undefined });
|
|
62
62
|
|
|
63
63
|
};
|
|
64
64
|
/* scoped */
|
|
65
|
-
var __vue_scope_id__ = "data-v-
|
|
65
|
+
var __vue_scope_id__ = "data-v-50022f3c";
|
|
66
66
|
/* module identifier */
|
|
67
67
|
var __vue_module_identifier__ = undefined;
|
|
68
68
|
/* functional template */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-list.vue.js","sources":["../../../../../src/x-modules/search/components/sort-list.vue"],"sourcesContent":["<template>\n <component :is=\"animation\" tag=\"ul\" class=\"x-option-list x-sort-list\" data-test=\"sort-list\">\n <li\n v-for=\"{ item, cssClasses, event } in listItems\"\n :key=\"item\"\n :class=\"cssClasses\"\n class=\"x-option-list__item x-sort-list__item\"\n >\n <BaseEventButton\n class=\"x-button x-sort-list__button\"\n data-test=\"x-sort-button\"\n :events=\"event\"\n >\n <slot v-bind=\"{ item, isSelected: item === selectedSort }\">\n {{ item }}\n </slot>\n </BaseEventButton>\n </li>\n </component>\n</template>\n\n<style lang=\"scss\" scoped>\n .x-sort-list {\n list-style-type: none;\n }\n</style>\n\n<script lang=\"ts\">\n import { Sort } from '@empathyco/x-types';\n import Vue from 'vue';\n import { mixins } from 'vue-class-component';\n import { Component, Prop } from 'vue-property-decorator';\n import { BaseEventButton } from '../../../components';\n import { xComponentMixin } from '../../../components/x-component.mixin';\n import { VueCSSClasses } from '../../../utils';\n import { XEventsTypes } from '../../../wiring';\n import { searchXModule } from '../x-module';\n import SortMixin from './sort.mixin';\n\n /**\n * Sort list item options.\n *\n * @public\n */\n interface SortListItem {\n item: Sort;\n cssClasses: VueCSSClasses;\n event: Partial<XEventsTypes>;\n }\n /**\n * The `SortList` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n *\n * @remarks It extends {@link SortMixin}.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)],\n components: {\n BaseEventButton\n }\n })\n export default class SortList extends mixins(SortMixin) {\n /**\n * The transition to use for rendering the list.\n *\n * @public\n */\n @Prop({ default: 'ul' })\n public animation?: string | typeof Vue;\n /**\n * Sort list items.\n *\n * @returns A list of items with their css class and the event associate to it.\n *\n * @internal\n */\n protected get listItems(): SortListItem[] {\n return this.items.map(item => ({\n item,\n cssClasses: [\n {\n 'x-sort-list__item--is-selected': item === this.selectedSort,\n 'x-option-list__item--is-selected': item === this.selectedSort\n }\n ],\n event: { UserClickedASort: item }\n }));\n }\n }\n</script>\n\n<docs lang=\"mdx\">\n
|
|
1
|
+
{"version":3,"file":"sort-list.vue.js","sources":["../../../../../src/x-modules/search/components/sort-list.vue"],"sourcesContent":["<template>\n <component :is=\"animation\" tag=\"ul\" class=\"x-option-list x-sort-list\" data-test=\"sort-list\">\n <li\n v-for=\"{ item, cssClasses, event } in listItems\"\n :key=\"item\"\n :class=\"cssClasses\"\n class=\"x-option-list__item x-sort-list__item\"\n >\n <BaseEventButton\n class=\"x-button x-sort-list__button\"\n data-test=\"x-sort-button\"\n :events=\"event\"\n >\n <slot v-bind=\"{ item, isSelected: item === selectedSort }\">\n {{ item }}\n </slot>\n </BaseEventButton>\n </li>\n </component>\n</template>\n\n<style lang=\"scss\" scoped>\n .x-sort-list {\n list-style-type: none;\n }\n</style>\n\n<script lang=\"ts\">\n import { Sort } from '@empathyco/x-types';\n import Vue from 'vue';\n import { mixins } from 'vue-class-component';\n import { Component, Prop } from 'vue-property-decorator';\n import { BaseEventButton } from '../../../components';\n import { xComponentMixin } from '../../../components/x-component.mixin';\n import { VueCSSClasses } from '../../../utils';\n import { XEventsTypes } from '../../../wiring';\n import { searchXModule } from '../x-module';\n import SortMixin from './sort.mixin';\n\n /**\n * Sort list item options.\n *\n * @public\n */\n interface SortListItem {\n item: Sort;\n cssClasses: VueCSSClasses;\n event: Partial<XEventsTypes>;\n }\n /**\n * The `SortList` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n *\n * @remarks It extends {@link SortMixin}.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)],\n components: {\n BaseEventButton\n }\n })\n export default class SortList extends mixins(SortMixin) {\n /**\n * The transition to use for rendering the list.\n *\n * @public\n */\n @Prop({ default: 'ul' })\n public animation?: string | typeof Vue;\n /**\n * Sort list items.\n *\n * @returns A list of items with their css class and the event associate to it.\n *\n * @internal\n */\n protected get listItems(): SortListItem[] {\n return this.items.map(item => ({\n item,\n cssClasses: [\n {\n 'x-sort-list__item--is-selected': item === this.selectedSort,\n 'x-option-list__item--is-selected': item === this.selectedSort\n }\n ],\n event: { UserClickedASort: item }\n }));\n }\n }\n</script>\n\n<docs lang=\"mdx\">\n## Sort List\n\nThe `SortList` component can be used to change the way the search results are ordered.\n\nTo do so, the list of valid sort values has to be provided using the `items` prop. These are the\nvalues that can then be received in the `SearchAdapter`.\n\nThe component also optionally accepts the selected sort, which can be set using the `value` prop.\nThis prop allows changing programmatically the selected sort, as it will be synced with the store\nimmediately. If this prop is not provided, the first item from the `items` prop will be the one\nselected by default.\n\nThis component also allows customizing each one of the possible sort values. This can be done with\nthe `default` slot.\n\n## Examples\n\n### Only providing the list of items\n\n```vue\n<template>\n <SortList :items=\"sortValues\">\n <template #item=\"{ item, isSelected }\">Item: {{ item }}</template>\n </SortList>\n</template>\n\n<script>\n import { SortList } from '@empathyco/x-components/search';\n\n export default {\n components: {\n SortList\n },\n data() {\n return { sortValues: ['Relevance', 'Price asc', 'Price desc'] };\n }\n };\n</script>\n```\n\n### Providing also the selected value\n\n```vue\n<template>\n <SortList v-model=\"selectedSort\" :items=\"sortValues\">\n <template #item=\"{ item, isSelected }\">\n <span v-if=\"isSelected\">✅</span>\n {{ item }}\n </template>\n </SortList>\n</template>\n\n<script>\n import { SortList } from '@empathyco/x-components/search';\n\n export default {\n components: {\n SortList\n },\n data() {\n return {\n selectedSort: 'Price asc',\n sortValues: ['Relevance', 'Price asc', 'Price desc']\n };\n }\n };\n</script>\n```\n\n## Events\n\nThis component emits 2 different events:\n\n- SelectedSortProvided: To sync the selected sort with the store state value. This event is emitted\n as soon as the list of items is received, whenever this list changes if there is no provided\n value, and when the provided value changes.\n- UserClickedASort: As its name suggest, the event is emitted after the user clicks one of the sort\n options. This does not mean that the sort has changed, only that the user has clicked it.\n</docs>\n"],"names":["const"],"mappings":";;;;;AAEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -7,7 +7,7 @@ import '../../../components/animations/collapse-height.vue.js';
|
|
|
7
7
|
import '../../../components/animations/collapse-width.vue.js';
|
|
8
8
|
import '../../../components/animations/cross-fade.vue.js';
|
|
9
9
|
import '../../../components/animations/fade-and-slide.vue.js';
|
|
10
|
-
import '../../../components/staggering-transition-group.vue.js';
|
|
10
|
+
import '../../../components/animations/staggering-transition-group.vue.js';
|
|
11
11
|
import '../../../components/animations/staggered-fade-and-slide.vue.js';
|
|
12
12
|
import '../../../components/animations/translate-from-left.vue.js';
|
|
13
13
|
import '../../../components/animations/translate-from-right.vue.js';
|
|
@@ -69,16 +69,24 @@ import '../../../components/icons/trash.vue.js';
|
|
|
69
69
|
import '../../../components/icons/trending-tiny.vue.js';
|
|
70
70
|
import '../../../components/icons/trending.vue.js';
|
|
71
71
|
import '../../../components/icons/user.vue.js';
|
|
72
|
-
import '../../../components/
|
|
72
|
+
import '../../../components/decorators/store.decorators.js';
|
|
73
|
+
import '../../../components/x-component.utils.js';
|
|
74
|
+
import { xComponentMixin } from '../../../components/x-component.mixin.js';
|
|
73
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';
|
|
74
85
|
import '../../../components/modals/base-events-modal.vue.js';
|
|
75
86
|
import '../../../components/modals/base-events-modal-open.vue.js';
|
|
76
|
-
import '../../../components/modals/base-id-modal.vue.js';
|
|
77
87
|
import '../../../components/modals/base-id-modal-close.vue.js';
|
|
78
88
|
import '../../../components/modals/base-id-modal-open.vue.js';
|
|
79
|
-
import '../../../components/panels/base-toggle-panel.vue.js';
|
|
80
89
|
import '../../../components/panels/base-header-toggle-panel.vue.js';
|
|
81
|
-
import '../../../components/panels/base-id-toggle-panel.vue.js';
|
|
82
90
|
import '../../../components/panels/base-id-toggle-panel-button.vue.js';
|
|
83
91
|
import '../../../components/result/base-result-add-to-cart.vue.js';
|
|
84
92
|
import '../../../components/result/base-result-current-price.vue.js';
|
|
@@ -87,8 +95,6 @@ import '../../../components/result/base-result-link.vue.js';
|
|
|
87
95
|
import '../../../components/result/base-result-previous-price.vue.js';
|
|
88
96
|
import '../../../components/result/base-result-fallback-image.vue.js';
|
|
89
97
|
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
98
|
import '../../../components/suggestions/base-suggestion.vue.js';
|
|
93
99
|
import '../../../components/suggestions/base-suggestions.vue.js';
|
|
94
100
|
import '../../../components/auto-progress-bar.vue.js';
|
|
@@ -99,11 +105,6 @@ import '../../../components/base-variable-column-grid.vue.js';
|
|
|
99
105
|
import '../../../components/decorators/debounce.decorators.js';
|
|
100
106
|
import '../../../components/sliding-panel.vue.js';
|
|
101
107
|
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
108
|
import '../../../components/location-provider.vue.js';
|
|
108
109
|
import '../../../components/global-x-bus.vue.js';
|
|
109
110
|
import '../../../components/snippet-callbacks.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-list.vue_rollup-plugin-vue=script.js","sources":["../../../../../src/x-modules/search/components/sort-list.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Sort } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { mixins } from 'vue-class-component';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { BaseEventButton } from '../../../components';\nimport { xComponentMixin } from '../../../components/x-component.mixin';\nimport { VueCSSClasses } from '../../../utils';\nimport { XEventsTypes } from '../../../wiring';\nimport { searchXModule } from '../x-module';\nimport SortMixin from './sort.mixin';\n\n/**\n * Sort list item options.\n *\n * @public\n */\ninterface SortListItem {\n item: Sort;\n cssClasses: VueCSSClasses;\n event: Partial<XEventsTypes>;\n}\n/**\n * The `SortList` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n *\n * @remarks It extends {@link SortMixin}.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(searchXModule)],\n components: {\n BaseEventButton\n }\n})\nexport default class SortList extends mixins(SortMixin) {\n /**\n * The transition to use for rendering the list.\n *\n * @public\n */\n @Prop({ default: 'ul' })\n public animation?: string | typeof Vue;\n /**\n * Sort list items.\n *\n * @returns A list of items with their css class and the event associate to it.\n *\n * @internal\n */\n protected get listItems(): SortListItem[] {\n return this.items.map(item => ({\n item,\n cssClasses: [\n {\n 'x-sort-list__item--is-selected': item === this.selectedSort,\n 'x-option-list__item--is-selected': item === this.selectedSort\n }\n ],\n event: { UserClickedASort: item }\n }));\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort-list.vue_rollup-plugin-vue=script.js","sources":["../../../../../src/x-modules/search/components/sort-list.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Sort } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { mixins } from 'vue-class-component';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { BaseEventButton } from '../../../components';\nimport { xComponentMixin } from '../../../components/x-component.mixin';\nimport { VueCSSClasses } from '../../../utils';\nimport { XEventsTypes } from '../../../wiring';\nimport { searchXModule } from '../x-module';\nimport SortMixin from './sort.mixin';\n\n/**\n * Sort list item options.\n *\n * @public\n */\ninterface SortListItem {\n item: Sort;\n cssClasses: VueCSSClasses;\n event: Partial<XEventsTypes>;\n}\n/**\n * The `SortList` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n *\n * @remarks It extends {@link SortMixin}.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(searchXModule)],\n components: {\n BaseEventButton\n }\n})\nexport default class SortList extends mixins(SortMixin) {\n /**\n * The transition to use for rendering the list.\n *\n * @public\n */\n @Prop({ default: 'ul' })\n public animation?: string | typeof Vue;\n /**\n * Sort list items.\n *\n * @returns A list of items with their css class and the event associate to it.\n *\n * @internal\n */\n protected get listItems(): SortListItem[] {\n return this.items.map(item => ({\n item,\n cssClasses: [\n {\n 'x-sort-list__item--is-selected': item === this.selectedSort,\n 'x-option-list__item--is-selected': item === this.selectedSort\n }\n ],\n event: { UserClickedASort: item }\n }));\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA;;;;;;;;AAcA;IAAsC,4BAAiB;IAAvD;;KA2BC;IAZC,sBAAc,+BAAS;;;;;;;;aAAvB;YAAA,iBAWC;YAVC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,QAAC;gBAC7B,IAAI,MAAA;gBACJ,UAAU,EAAE;oBACV;wBACE,gCAAgC,EAAE,IAAI,KAAK,KAAI,CAAC,YAAY;wBAC5D,kCAAkC,EAAE,IAAI,KAAK,KAAI,CAAC,YAAY;qBAC/D;iBACF;gBACD,KAAK,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE;aAClC,IAAC,CAAC,CAAC;SACL;;;OAAA;IAnBD;QADC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+CACe;IAPpB,QAAQ;QAN5B,SAAS,CAAC;YACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACxC,UAAU,EAAE;gBACV,eAAe,iBAAA;aAChB;SACF,CAAC;OACmB,QAAQ,CA2B5B;IAAD,eAAC;CA3BD,CAAsC,MAAM,CAAC,SAAS,CAAC;;;;"}
|
|
@@ -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';
|
|
@@ -70,16 +70,24 @@ import '../../../components/icons/trash.vue.js';
|
|
|
70
70
|
import '../../../components/icons/trending-tiny.vue.js';
|
|
71
71
|
import '../../../components/icons/trending.vue.js';
|
|
72
72
|
import '../../../components/icons/user.vue.js';
|
|
73
|
-
import '../../../components/
|
|
73
|
+
import { State } from '../../../components/decorators/store.decorators.js';
|
|
74
|
+
import '../../../components/x-component.utils.js';
|
|
75
|
+
import '../../../components/x-component.mixin.js';
|
|
74
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';
|
|
75
86
|
import '../../../components/modals/base-events-modal.vue.js';
|
|
76
87
|
import '../../../components/modals/base-events-modal-open.vue.js';
|
|
77
|
-
import '../../../components/modals/base-id-modal.vue.js';
|
|
78
88
|
import '../../../components/modals/base-id-modal-close.vue.js';
|
|
79
89
|
import '../../../components/modals/base-id-modal-open.vue.js';
|
|
80
|
-
import '../../../components/panels/base-toggle-panel.vue.js';
|
|
81
90
|
import '../../../components/panels/base-header-toggle-panel.vue.js';
|
|
82
|
-
import '../../../components/panels/base-id-toggle-panel.vue.js';
|
|
83
91
|
import '../../../components/panels/base-id-toggle-panel-button.vue.js';
|
|
84
92
|
import '../../../components/result/base-result-add-to-cart.vue.js';
|
|
85
93
|
import '../../../components/result/base-result-current-price.vue.js';
|
|
@@ -88,8 +96,6 @@ import '../../../components/result/base-result-link.vue.js';
|
|
|
88
96
|
import '../../../components/result/base-result-previous-price.vue.js';
|
|
89
97
|
import '../../../components/result/base-result-fallback-image.vue.js';
|
|
90
98
|
import '../../../components/result/base-result-placeholder-image.vue.js';
|
|
91
|
-
import '../../../components/scroll/scroll.mixin.js';
|
|
92
|
-
import '../../../components/scroll/base-scroll.vue.js';
|
|
93
99
|
import '../../../components/suggestions/base-suggestion.vue.js';
|
|
94
100
|
import '../../../components/suggestions/base-suggestions.vue.js';
|
|
95
101
|
import '../../../components/auto-progress-bar.vue.js';
|
|
@@ -100,11 +106,6 @@ import '../../../components/base-variable-column-grid.vue.js';
|
|
|
100
106
|
import '../../../components/decorators/debounce.decorators.js';
|
|
101
107
|
import '../../../components/sliding-panel.vue.js';
|
|
102
108
|
import '../../../components/items-list.vue.js';
|
|
103
|
-
import { State } from '../../../components/decorators/store.decorators.js';
|
|
104
|
-
import '../../../components/x-component.utils.js';
|
|
105
|
-
import '../../../components/x-component.mixin.js';
|
|
106
|
-
import '../../../components/layouts/multi-column-max-width-layout.vue.js';
|
|
107
|
-
import '../../../components/layouts/single-column-layout.vue.js';
|
|
108
109
|
import '../../../components/location-provider.vue.js';
|
|
109
110
|
import '../../../components/global-x-bus.vue.js';
|
|
110
111
|
import '../../../components/snippet-callbacks.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.mixin.js","sources":["../../../../../src/x-modules/search/components/sort.mixin.ts"],"sourcesContent":["import { Sort } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport Component from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport { State, XEmit } from '../../../components';\n\n/**\n * Mixin to share Sort logic.\n *\n * @public\n */\n@Component\nexport default class SortMixin extends Vue {\n /**\n * The list of possible sort values. If there are no values selected, the first item of\n * this list will be selected.\n *\n * @public\n */\n @Prop({ required: true })\n public items!: Sort[];\n\n /**\n * The search module selected sort. This is the source of truth when checking which\n * sort is selected.\n *\n * @internal\n */\n @State('search', 'sort')\n public selectedSort!: Sort;\n\n /**\n * Emits the {@link SearchXEvents.SelectedSortProvided | SelectedSortProvided} event whenever the\n * provided {@link SortMixin.selectedSort} changes. If no value is provided, the first item of the\n * {@link SortMixin.items} will be used as fallback.\n *\n * @returns The sorting value.\n *\n * @public\n */\n @XEmit('SelectedSortProvided')\n public get providedSelectedSort(): Sort {\n return this.selectedSort;\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort.mixin.js","sources":["../../../../../src/x-modules/search/components/sort.mixin.ts"],"sourcesContent":["import { Sort } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport Component from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport { State, XEmit } from '../../../components';\n\n/**\n * Mixin to share Sort logic.\n *\n * @public\n */\n@Component\nexport default class SortMixin extends Vue {\n /**\n * The list of possible sort values. If there are no values selected, the first item of\n * this list will be selected.\n *\n * @public\n */\n @Prop({ required: true })\n public items!: Sort[];\n\n /**\n * The search module selected sort. This is the source of truth when checking which\n * sort is selected.\n *\n * @internal\n */\n @State('search', 'sort')\n public selectedSort!: Sort;\n\n /**\n * Emits the {@link SearchXEvents.SelectedSortProvided | SelectedSortProvided} event whenever the\n * provided {@link SortMixin.selectedSort} changes. If no value is provided, the first item of the\n * {@link SortMixin.items} will be used as fallback.\n *\n * @returns The sorting value.\n *\n * @public\n */\n @XEmit('SelectedSortProvided')\n public get providedSelectedSort(): Sort {\n return this.selectedSort;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;;;;;AAMA;IAAuC,6BAAG;IAA1C;;KAgCC;IAHC,sBAAW,2CAAoB;;;;;;;;;;aAA/B;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;SAC1B;;;OAAA;IAvBD;QADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;4CACH;IAStB;QADC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;mDACG;IAY3B;QADC,KAAK,CAAC,sBAAsB,CAAC;yDAG7B;IA/BkB,SAAS;QAD7B,SAAS;OACW,SAAS,CAgC7B;IAAD,gBAAC;CAAA,CAhCsC,GAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spellcheck-button.vue.js","sources":["../../../../../src/x-modules/search/components/spellcheck-button.vue"],"sourcesContent":["<template>\n <button\n v-if=\"spellcheckedQuery\"\n @click=\"emitEvents\"\n class=\"x-spellcheck-button\"\n data-test=\"set-spellcheck\"\n >\n <slot v-bind=\"{ spellcheckedQuery }\">{{ spellcheckedQuery }}</slot>\n </button>\n</template>\n\n<script lang=\"ts\">\n import Vue from 'vue';\n import { Component } from 'vue-property-decorator';\n import { State } from '../../../components/decorators/store.decorators';\n import { xComponentMixin } from '../../../components/x-component.mixin';\n import { WireMetadata } from '../../../wiring/wiring.types';\n import { searchXModule } from '../x-module';\n /**\n * A button that when pressed emits the {@link XEventsTypes.UserAcceptedAQuery}\n * and {@link XEventsTypes.UserAcceptedSpellcheckQuery} events, expressing the user\n * intention to set the spellchecked query.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)]\n })\n export default class SpellcheckButton extends Vue {\n /**\n * The spellcheckedQuery from the search state.\n *\n * @public\n */\n @State('search', 'spellcheckedQuery')\n public spellcheckedQuery!: string;\n\n /**\n * Generates the {@link WireMetadata | event metadata} object omitting the moduleName.\n *\n * @returns The {@link WireMetadata} object omitting the moduleName.\n * @internal\n */\n protected createEventMetadata(): Omit<WireMetadata, 'moduleName'> {\n return {\n target: this.$el as HTMLElement,\n feature: 'spellcheck'\n };\n }\n\n /**\n * Emits events when the button is clicked.\n *\n * @public\n */\n protected emitEvents(): void {\n this.$x.emit('UserAcceptedAQuery', this.spellcheckedQuery, this.createEventMetadata());\n this.$x.emit(\n 'UserAcceptedSpellcheckQuery',\n this.spellcheckedQuery,\n this.createEventMetadata()\n );\n }\n }\n</script>\n\n<docs lang=\"mdx\">\n
|
|
1
|
+
{"version":3,"file":"spellcheck-button.vue.js","sources":["../../../../../src/x-modules/search/components/spellcheck-button.vue"],"sourcesContent":["<template>\n <button\n v-if=\"spellcheckedQuery\"\n @click=\"emitEvents\"\n class=\"x-spellcheck-button\"\n data-test=\"set-spellcheck\"\n >\n <slot v-bind=\"{ spellcheckedQuery }\">{{ spellcheckedQuery }}</slot>\n </button>\n</template>\n\n<script lang=\"ts\">\n import Vue from 'vue';\n import { Component } from 'vue-property-decorator';\n import { State } from '../../../components/decorators/store.decorators';\n import { xComponentMixin } from '../../../components/x-component.mixin';\n import { WireMetadata } from '../../../wiring/wiring.types';\n import { searchXModule } from '../x-module';\n /**\n * A button that when pressed emits the {@link XEventsTypes.UserAcceptedAQuery}\n * and {@link XEventsTypes.UserAcceptedSpellcheckQuery} events, expressing the user\n * intention to set the spellchecked query.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)]\n })\n export default class SpellcheckButton extends Vue {\n /**\n * The spellcheckedQuery from the search state.\n *\n * @public\n */\n @State('search', 'spellcheckedQuery')\n public spellcheckedQuery!: string;\n\n /**\n * Generates the {@link WireMetadata | event metadata} object omitting the moduleName.\n *\n * @returns The {@link WireMetadata} object omitting the moduleName.\n * @internal\n */\n protected createEventMetadata(): Omit<WireMetadata, 'moduleName'> {\n return {\n target: this.$el as HTMLElement,\n feature: 'spellcheck'\n };\n }\n\n /**\n * Emits events when the button is clicked.\n *\n * @public\n */\n protected emitEvents(): void {\n this.$x.emit('UserAcceptedAQuery', this.spellcheckedQuery, this.createEventMetadata());\n this.$x.emit(\n 'UserAcceptedSpellcheckQuery',\n this.spellcheckedQuery,\n this.createEventMetadata()\n );\n }\n }\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\n### Basic example\n\nThe component sets the current spellcheckedQuery as the new query and emits the `UserAcceptedAQuery`\nand `UserAcceptedSpellcheckQuery` events.\n\n```vue\n<SpellcheckButton />\n```\n\n### Customizing its contents\n\n```vue\n<SpellcheckButton>\n <template #default=\"{ spellcheckedQuery }\">\n <span class=\"x-spellcheck__text\">\n Set the Spellcheck as the new query: {{ spellcheckedQuery}}!\n </span>\n </template>\n</SpellcheckButton>\n```\n\n## Events\n\nThis component emits 2 different events:\n\n- UserAcceptedAQuery: the event is emitted after the user clicks the button. The event payload is\n the spellchecked query data.\n- UserAcceptedSpellcheckQuery: the event is emitted after the user clicks the button. The event\n payload is the spellchecked query data.\n</docs>\n"],"names":["const"],"mappings":";;;;AAEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spellcheck.vue.js","sources":["../../../../../src/x-modules/search/components/spellcheck.vue"],"sourcesContent":["<template>\n <div v-if=\"spellcheckedQuery\" class=\"x-spellcheck\" data-test=\"spellcheck\">\n <slot v-bind=\"{ query, spellcheckedQuery }\">{{ query }} - {{ spellcheckedQuery }}</slot>\n </div>\n</template>\n\n<script lang=\"ts\">\n import Vue from 'vue';\n import { Component } from 'vue-property-decorator';\n import { State, xComponentMixin } from '../../../components';\n import { searchXModule } from '../x-module';\n\n /**\n * The `Spellcheck` component allows to inform the user with a friendly message that he\n * might have misspelled the search query. This message can be set using the default slot\n * of the component, which gives access to the searched query using the `query` scope property,\n * and the spellchecked query proposal, using the `spellcheckedQuery` scope property.\n *\n * The component will only render itself if the `spellcheckedQuery` property has value.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)]\n })\n export default class Spellcheck extends Vue {\n /**\n * The query from the search state.\n *\n * @public\n */\n @State('search', 'query')\n public query!: string;\n\n /**\n * The spellcheckedQuery from the search state.\n *\n * @public\n */\n @State('search', 'spellcheckedQuery')\n public spellcheckedQuery!: string;\n }\n</script>\n\n<docs lang=\"mdx\">\n
|
|
1
|
+
{"version":3,"file":"spellcheck.vue.js","sources":["../../../../../src/x-modules/search/components/spellcheck.vue"],"sourcesContent":["<template>\n <div v-if=\"spellcheckedQuery\" class=\"x-spellcheck\" data-test=\"spellcheck\">\n <slot v-bind=\"{ query, spellcheckedQuery }\">{{ query }} - {{ spellcheckedQuery }}</slot>\n </div>\n</template>\n\n<script lang=\"ts\">\n import Vue from 'vue';\n import { Component } from 'vue-property-decorator';\n import { State, xComponentMixin } from '../../../components';\n import { searchXModule } from '../x-module';\n\n /**\n * The `Spellcheck` component allows to inform the user with a friendly message that he\n * might have misspelled the search query. This message can be set using the default slot\n * of the component, which gives access to the searched query using the `query` scope property,\n * and the spellchecked query proposal, using the `spellcheckedQuery` scope property.\n *\n * The component will only render itself if the `spellcheckedQuery` property has value.\n *\n * @public\n */\n @Component({\n mixins: [xComponentMixin(searchXModule)]\n })\n export default class Spellcheck extends Vue {\n /**\n * The query from the search state.\n *\n * @public\n */\n @State('search', 'query')\n public query!: string;\n\n /**\n * The spellcheckedQuery from the search state.\n *\n * @public\n */\n @State('search', 'spellcheckedQuery')\n public spellcheckedQuery!: string;\n }\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\nThis default spellcheck component expects a query and a spellcheckedQuery to render and pass to its\ndefault slot.\n\nThis two props should be show like a message comparing them.\n\n### Basic usage\n\n```vue\n<Spellcheck />\n```\n\n### Customizing its contents\n\n```vue\n<Spellcheck>\n <template #default=\"{ query, spellcheckedQuery }\">\n No results found for '{{ query }}'. We show you results for '{{ spellcheckedQuery }}'\n </template>\n</Spellcheck>\n\n<script>\n import { Spellcheck } from '@empathyco/x-components/search';\n\n export default {\n components: {\n Spellcheck\n }\n };\n</script>\n```\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';
|
|
@@ -69,16 +69,24 @@ import '../../../components/icons/trash.vue.js';
|
|
|
69
69
|
import '../../../components/icons/trending-tiny.vue.js';
|
|
70
70
|
import '../../../components/icons/trending.vue.js';
|
|
71
71
|
import '../../../components/icons/user.vue.js';
|
|
72
|
-
import '../../../components/
|
|
72
|
+
import { State } from '../../../components/decorators/store.decorators.js';
|
|
73
|
+
import '../../../components/x-component.utils.js';
|
|
74
|
+
import { xComponentMixin } from '../../../components/x-component.mixin.js';
|
|
73
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';
|
|
74
85
|
import '../../../components/modals/base-events-modal.vue.js';
|
|
75
86
|
import '../../../components/modals/base-events-modal-open.vue.js';
|
|
76
|
-
import '../../../components/modals/base-id-modal.vue.js';
|
|
77
87
|
import '../../../components/modals/base-id-modal-close.vue.js';
|
|
78
88
|
import '../../../components/modals/base-id-modal-open.vue.js';
|
|
79
|
-
import '../../../components/panels/base-toggle-panel.vue.js';
|
|
80
89
|
import '../../../components/panels/base-header-toggle-panel.vue.js';
|
|
81
|
-
import '../../../components/panels/base-id-toggle-panel.vue.js';
|
|
82
90
|
import '../../../components/panels/base-id-toggle-panel-button.vue.js';
|
|
83
91
|
import '../../../components/result/base-result-add-to-cart.vue.js';
|
|
84
92
|
import '../../../components/result/base-result-current-price.vue.js';
|
|
@@ -87,8 +95,6 @@ import '../../../components/result/base-result-link.vue.js';
|
|
|
87
95
|
import '../../../components/result/base-result-previous-price.vue.js';
|
|
88
96
|
import '../../../components/result/base-result-fallback-image.vue.js';
|
|
89
97
|
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
98
|
import '../../../components/suggestions/base-suggestion.vue.js';
|
|
93
99
|
import '../../../components/suggestions/base-suggestions.vue.js';
|
|
94
100
|
import '../../../components/auto-progress-bar.vue.js';
|
|
@@ -99,11 +105,6 @@ import '../../../components/base-variable-column-grid.vue.js';
|
|
|
99
105
|
import '../../../components/decorators/debounce.decorators.js';
|
|
100
106
|
import '../../../components/sliding-panel.vue.js';
|
|
101
107
|
import '../../../components/items-list.vue.js';
|
|
102
|
-
import { State } from '../../../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
108
|
import '../../../components/location-provider.vue.js';
|
|
108
109
|
import '../../../components/global-x-bus.vue.js';
|
|
109
110
|
import '../../../components/snippet-callbacks.vue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spellcheck.vue_rollup-plugin-vue=script.js","sources":["../../../../../src/x-modules/search/components/spellcheck.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\nimport { State, xComponentMixin } from '../../../components';\nimport { searchXModule } from '../x-module';\n\n/**\n * The `Spellcheck` component allows to inform the user with a friendly message that he\n * might have misspelled the search query. This message can be set using the default slot\n * of the component, which gives access to the searched query using the `query` scope property,\n * and the spellchecked query proposal, using the `spellcheckedQuery` scope property.\n *\n * The component will only render itself if the `spellcheckedQuery` property has value.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(searchXModule)]\n})\nexport default class Spellcheck extends Vue {\n /**\n * The query from the search state.\n *\n * @public\n */\n @State('search', 'query')\n public query!: string;\n\n /**\n * The spellcheckedQuery from the search state.\n *\n * @public\n */\n @State('search', 'spellcheckedQuery')\n public spellcheckedQuery!: string;\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spellcheck.vue_rollup-plugin-vue=script.js","sources":["../../../../../src/x-modules/search/components/spellcheck.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\nimport { State, xComponentMixin } from '../../../components';\nimport { searchXModule } from '../x-module';\n\n/**\n * The `Spellcheck` component allows to inform the user with a friendly message that he\n * might have misspelled the search query. This message can be set using the default slot\n * of the component, which gives access to the searched query using the `query` scope property,\n * and the spellchecked query proposal, using the `spellcheckedQuery` scope property.\n *\n * The component will only render itself if the `spellcheckedQuery` property has value.\n *\n * @public\n */\n@Component({\n mixins: [xComponentMixin(searchXModule)]\n})\nexport default class Spellcheck extends Vue {\n /**\n * The query from the search state.\n *\n * @public\n */\n @State('search', 'query')\n public query!: string;\n\n /**\n * The spellcheckedQuery from the search state.\n *\n * @public\n */\n @State('search', 'spellcheckedQuery')\n public spellcheckedQuery!: string;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA;;;;;;;;;;AAaA;IAAwC,8BAAG;IAA3C;;KAgBC;IATC;QADC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;6CACH;IAQtB;QADC,KAAK,CAAC,QAAQ,EAAE,mBAAmB,CAAC;yDACH;IAff,UAAU;QAH9B,SAAS,CAAC;YACT,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;SACzC,CAAC;OACmB,UAAU,CAgB9B;IAAD,iBAAC;CAAA,CAhBuC,GAAG;;;;"}
|
|
@@ -14,11 +14,11 @@ import { DefaultSessionService } from '../../service/session.service.js';
|
|
|
14
14
|
var track = function (_a, taggingInfo) {
|
|
15
15
|
var state = _a.state;
|
|
16
16
|
var consent = state.consent;
|
|
17
|
-
var
|
|
17
|
+
var taggingInfos = Array.isArray(taggingInfo) ? taggingInfo : [taggingInfo];
|
|
18
18
|
var sessionId = getSessionId(consent);
|
|
19
19
|
// TODO EX-5061 - Remove this validation when the adapter ignores undefined values.
|
|
20
20
|
var session = sessionId && { session: sessionId };
|
|
21
|
-
|
|
21
|
+
taggingInfos.forEach(function (_a) {
|
|
22
22
|
var url = _a.url, params = _a.params;
|
|
23
23
|
XPlugin.adapter.track({
|
|
24
24
|
url: url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track.action.js","sources":["../../../../../../src/x-modules/tagging/store/actions/track.action.ts"],"sourcesContent":["import { TaggingInfo } from '@empathyco/x-types';\nimport { XPlugin } from '../../../../plugins/x-plugin';\nimport { DefaultSessionService } from '../../service';\nimport { TaggingXStoreModule } from '../types';\n\n/**\n * Default implementation for the {@link TaggingActions.track}.\n *\n * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,\n * provided by Vuex.\n * @param taggingInfo - The information of the event to track.\n *\n * @public\n */\nexport const track: TaggingXStoreModule['actions']['track'] = ({ state }, taggingInfo) => {\n const { consent } = state;\n const
|
|
1
|
+
{"version":3,"file":"track.action.js","sources":["../../../../../../src/x-modules/tagging/store/actions/track.action.ts"],"sourcesContent":["import { TaggingInfo } from '@empathyco/x-types';\nimport { XPlugin } from '../../../../plugins/x-plugin';\nimport { DefaultSessionService } from '../../service';\nimport { TaggingXStoreModule } from '../types';\n\n/**\n * Default implementation for the {@link TaggingActions.track}.\n *\n * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,\n * provided by Vuex.\n * @param taggingInfo - The information of the event to track.\n *\n * @public\n */\nexport const track: TaggingXStoreModule['actions']['track'] = ({ state }, taggingInfo) => {\n const { consent } = state;\n const taggingInfos = Array.isArray(taggingInfo) ? taggingInfo : [taggingInfo];\n const sessionId = getSessionId(consent);\n // TODO EX-5061 - Remove this validation when the adapter ignores undefined values.\n const session = sessionId && { session: sessionId };\n\n taggingInfos.forEach(({ url, params }: TaggingInfo) => {\n XPlugin.adapter.track({\n url,\n params: {\n ...params,\n ...session\n }\n });\n });\n};\n\n/**\n * Returns the session id if the consent is true.\n *\n * @param consent - User consent to retrieve the session id.\n *\n * @returns The user session id or undefined.\n *\n * @internal\n */\nfunction getSessionId(consent: boolean | null): string | undefined {\n return consent ? DefaultSessionService.instance.getSessionId() : undefined;\n}\n"],"names":[],"mappings":";;;;AAKA;;;;;;;;;IASa,KAAK,GAA4C,UAAC,EAAS,EAAE,WAAW;QAApB,KAAK,WAAA;IAC5D,IAAA,OAAO,GAAK,KAAK,QAAV,CAAW;IAC1B,IAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9E,IAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;;IAExC,IAAM,OAAO,GAAG,SAAS,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAEpD,YAAY,CAAC,OAAO,CAAC,UAAC,EAA4B;YAA1B,GAAG,SAAA,EAAE,MAAM,YAAA;QACjC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YACpB,GAAG,KAAA;YACH,MAAM,wBACD,MAAM,GACN,OAAO,CACX;SACF,CAAC,CAAC;KACJ,CAAC,CAAC;AACL,EAAE;AAEF;;;;;;;;;AASA,SAAS,YAAY,CAAC,OAAuB;IAC3C,OAAO,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;AAC7E;;;;"}
|
|
@@ -64,10 +64,48 @@ var setSessionDuration = wireCommit('setSessionDuration');
|
|
|
64
64
|
*
|
|
65
65
|
* @public
|
|
66
66
|
*/
|
|
67
|
-
var
|
|
67
|
+
var trackQueryWire = moduleDebounce(wireDispatch('track'), function (_a) {
|
|
68
68
|
var state = _a.state;
|
|
69
69
|
return state.config.queryTaggingDebounceMs;
|
|
70
|
-
},
|
|
70
|
+
}, {
|
|
71
|
+
cancelOn: 'UserClearedQuery',
|
|
72
|
+
forceOn: [
|
|
73
|
+
'UserClickedAResult',
|
|
74
|
+
'UserClickedAPromoted',
|
|
75
|
+
'UserClickedABanner',
|
|
76
|
+
'UserClickedARedirection',
|
|
77
|
+
'UserReachedResultsListEnd'
|
|
78
|
+
]
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* Tracks the tagging of the result.
|
|
82
|
+
*
|
|
83
|
+
* @public
|
|
84
|
+
*/
|
|
85
|
+
var trackResultClickedWire = createTrackResultWire('click');
|
|
86
|
+
/**
|
|
87
|
+
* Performs a track of a result added to the cart.
|
|
88
|
+
*
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
var trackAddToCartWire = createTrackResultWire('add2cart');
|
|
92
|
+
/**
|
|
93
|
+
* Factory helper to create a wire for the track of a result.
|
|
94
|
+
*
|
|
95
|
+
* @param property - Key of the tagging object to track.
|
|
96
|
+
* @returns A new wire for the given property of the result tagging.
|
|
97
|
+
*
|
|
98
|
+
* @internal
|
|
99
|
+
*/
|
|
100
|
+
function createTrackResultWire(property) {
|
|
101
|
+
return filter(wireDispatch('track', function (_a) {
|
|
102
|
+
var tagging = _a.eventPayload.tagging;
|
|
103
|
+
return tagging[property];
|
|
104
|
+
}), function (_a) {
|
|
105
|
+
var tagging = _a.eventPayload.tagging;
|
|
106
|
+
return !!(tagging === null || tagging === void 0 ? void 0 : tagging[property]);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
71
109
|
/**
|
|
72
110
|
* Wiring configuration for the {@link TaggingXModule | tagging module}.
|
|
73
111
|
*
|
|
@@ -87,9 +125,15 @@ var taggingWiring = createWiring({
|
|
|
87
125
|
setQueryTaggingDebounce: setQueryTaggingDebounce
|
|
88
126
|
},
|
|
89
127
|
SearchTaggingChanged: {
|
|
90
|
-
|
|
128
|
+
trackQueryWire: trackQueryWire
|
|
129
|
+
},
|
|
130
|
+
UserClickedAResult: {
|
|
131
|
+
trackResultClickedWire: trackResultClickedWire
|
|
132
|
+
},
|
|
133
|
+
UserClickedResultAddToCart: {
|
|
134
|
+
trackAddToCartWire: trackAddToCartWire
|
|
91
135
|
}
|
|
92
136
|
});
|
|
93
137
|
|
|
94
|
-
export { setConsent, setQueryTaggingDebounce, setSessionDuration, taggingWiring,
|
|
138
|
+
export { setConsent, setQueryTaggingDebounce, setSessionDuration, taggingWiring, trackAddToCartWire, trackQueryWire, trackResultClickedWire };
|
|
95
139
|
//# sourceMappingURL=wiring.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wiring.js","sources":["../../../../src/x-modules/tagging/wiring.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"wiring.js","sources":["../../../../src/x-modules/tagging/wiring.ts"],"sourcesContent":["import { Result } from '@empathyco/x-types';\nimport {\n namespacedWireCommit,\n namespacedWireDispatch\n} from '../../wiring/namespaced-wires.factory';\nimport { namespacedDebounce } from '../../wiring/namespaced-wires.operators';\nimport { wireServiceWithoutPayload } from '../../wiring/wires.factory';\nimport { filter } from '../../wiring/wires.operators';\nimport { Wire } from '../../wiring/wiring.types';\nimport { createWiring } from '../../wiring/wiring.utils';\nimport { DefaultSessionService } from './service/session.service';\n\n/**\n * `tagging` {@link XModuleName | XModule name}.\n *\n * @internal\n */\nconst moduleName = 'tagging';\n\n/**\n * Debounce function for the module.\n */\nconst moduleDebounce = namespacedDebounce(moduleName);\n\n/**\n * WireCommit for {@link TaggingXModule}.\n *\n * @internal\n */\nconst wireCommit = namespacedWireCommit(moduleName);\n\n/**\n * WireDispatch for {@link TaggingXModule}.\n *\n * @internal\n */\nconst wireDispatch = namespacedWireDispatch(moduleName);\n\n/**\n * Wires without payload factory for {@link DefaultSessionService}.\n */\nconst wireSessionServiceWithoutPayload = wireServiceWithoutPayload(DefaultSessionService.instance);\n\n/**\n * Clears the session id.\n *\n * @public\n */\nconst clearSessionWire = filter(\n wireSessionServiceWithoutPayload('clearSessionId'),\n ({ eventPayload: consent }) => !consent\n);\n\n/**\n * Sets the tagging state `consent`.\n *\n * @public\n */\nexport const setConsent = wireCommit('setConsent');\n\n/**\n * Sets the tagging state config `queryTaggingDebounceMs`.\n *\n * @public\n */\nexport const setQueryTaggingDebounce = wireCommit('setQueryTaggingDebounce');\n\n/**\n * Sets the tagging state `sessionTTLMs`.\n *\n * @public\n */\nexport const setSessionDuration = wireCommit('setSessionDuration');\n\n/**\n * Tracks the tagging of the query using a debounce which ends if the user\n * accepts a query.\n *\n * @public\n */\nexport const trackQueryWire = moduleDebounce(\n wireDispatch('track'),\n ({ state }) => state.config.queryTaggingDebounceMs,\n {\n cancelOn: 'UserClearedQuery',\n forceOn: [\n 'UserClickedAResult',\n 'UserClickedAPromoted',\n 'UserClickedABanner',\n 'UserClickedARedirection',\n 'UserReachedResultsListEnd'\n ]\n }\n);\n\n/**\n * Tracks the tagging of the result.\n *\n * @public\n */\nexport const trackResultClickedWire = createTrackResultWire('click');\n\n/**\n * Performs a track of a result added to the cart.\n *\n * @public\n */\nexport const trackAddToCartWire = createTrackResultWire('add2cart');\n\n/**\n * Factory helper to create a wire for the track of a result.\n *\n * @param property - Key of the tagging object to track.\n * @returns A new wire for the given property of the result tagging.\n *\n * @internal\n */\nfunction createTrackResultWire(property: keyof Result['tagging']): Wire<Result> {\n return filter(\n wireDispatch('track', ({ eventPayload: { tagging } }) => tagging[property]!),\n ({ eventPayload: { tagging } }) => !!tagging?.[property]\n );\n}\n\n/**\n * Wiring configuration for the {@link TaggingXModule | tagging module}.\n *\n * @internal\n */\nexport const taggingWiring = createWiring({\n ConsentProvided: {\n setConsent\n },\n ConsentChanged: {\n clearSessionWire\n },\n SessionDurationProvided: {\n setSessionDuration\n },\n QueryTaggingDebounceProvided: {\n setQueryTaggingDebounce\n },\n SearchTaggingChanged: {\n trackQueryWire\n },\n UserClickedAResult: {\n trackResultClickedWire\n },\n UserClickedResultAddToCart: {\n trackAddToCartWire\n }\n});\n"],"names":[],"mappings":";;;;;;;AAYA;;;;;AAKA,IAAM,UAAU,GAAG,SAAS,CAAC;AAE7B;;;AAGA,IAAM,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAEtD;;;;;AAKA,IAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;AAEpD;;;;;AAKA,IAAM,YAAY,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;AAExD;;;AAGA,IAAM,gCAAgC,GAAG,yBAAyB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAEnG;;;;;AAKA,IAAM,gBAAgB,GAAG,MAAM,CAC7B,gCAAgC,CAAC,gBAAgB,CAAC,EAClD,UAAC,EAAyB;QAAT,OAAO,kBAAA;IAAO,OAAA,CAAC,OAAO;AAAR,CAAQ,CACxC,CAAC;AAEF;;;;;IAKa,UAAU,GAAG,UAAU,CAAC,YAAY,EAAE;AAEnD;;;;;IAKa,uBAAuB,GAAG,UAAU,CAAC,yBAAyB,EAAE;AAE7E;;;;;IAKa,kBAAkB,GAAG,UAAU,CAAC,oBAAoB,EAAE;AAEnE;;;;;;IAMa,cAAc,GAAG,cAAc,CAC1C,YAAY,CAAC,OAAO,CAAC,EACrB,UAAC,EAAS;QAAP,KAAK,WAAA;IAAO,OAAA,KAAK,CAAC,MAAM,CAAC,sBAAsB;AAAnC,CAAmC,EAClD;IACE,QAAQ,EAAE,kBAAkB;IAC5B,OAAO,EAAE;QACP,oBAAoB;QACpB,sBAAsB;QACtB,oBAAoB;QACpB,yBAAyB;QACzB,2BAA2B;KAC5B;CACF,EACD;AAEF;;;;;IAKa,sBAAsB,GAAG,qBAAqB,CAAC,OAAO,EAAE;AAErE;;;;;IAKa,kBAAkB,GAAG,qBAAqB,CAAC,UAAU,EAAE;AAEpE;;;;;;;;AAQA,SAAS,qBAAqB,CAAC,QAAiC;IAC9D,OAAO,MAAM,CACX,YAAY,CAAC,OAAO,EAAE,UAAC,EAA6B;YAAX,OAAO,0BAAA;QAAS,OAAA,OAAO,CAAC,QAAQ,CAAE;KAAA,CAAC,EAC5E,UAAC,EAA6B;YAAX,OAAO,0BAAA;QAAS,OAAA,CAAC,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,QAAQ,CAAC,CAAA;KAAA,CACzD,CAAC;AACJ,CAAC;AAED;;;;;IAKa,aAAa,GAAG,YAAY,CAAC;IACxC,eAAe,EAAE;QACf,UAAU,YAAA;KACX;IACD,cAAc,EAAE;QACd,gBAAgB,kBAAA;KACjB;IACD,uBAAuB,EAAE;QACvB,kBAAkB,oBAAA;KACnB;IACD,4BAA4B,EAAE;QAC5B,uBAAuB,yBAAA;KACxB;IACD,oBAAoB,EAAE;QACpB,cAAc,gBAAA;KACf;IACD,kBAAkB,EAAE;QAClB,sBAAsB,wBAAA;KACvB;IACD,0BAA0B,EAAE;QAC1B,kBAAkB,oBAAA;KACnB;CACF;;;;"}
|