@empathyco/x-components 7.2.1 → 7.2.3
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 +16 -0
- package/core/index.js +3 -3
- package/docs/API-reference/api/x-adapter-platform.browseendpointadapter.md +13 -0
- package/docs/API-reference/api/x-adapter-platform.browserequestmapper.md +13 -0
- package/docs/API-reference/api/x-adapter-platform.browserequestschema.md +13 -0
- package/docs/API-reference/api/x-adapter-platform.browseresponsemapper.md +13 -0
- package/docs/API-reference/api/x-adapter-platform.browseresponseschema.md +13 -0
- package/docs/API-reference/api/x-adapter-platform.md +55 -0
- package/docs/API-reference/api/x-types.browsablerequest.browsefield.md +11 -0
- package/docs/API-reference/api/x-types.browsablerequest.browsevalue.md +11 -0
- package/docs/API-reference/api/x-types.browsablerequest.md +73 -0
- package/docs/API-reference/api/x-types.browserequest.md +15 -0
- package/docs/API-reference/api/x-types.browseresponse.banners.md +11 -0
- package/docs/API-reference/api/x-types.browseresponse.browsetagging.md +11 -0
- package/docs/API-reference/api/x-types.browseresponse.displaybrowsetagging.md +11 -0
- package/docs/API-reference/api/x-types.browseresponse.facets.md +11 -0
- package/docs/API-reference/api/x-types.browseresponse.md +187 -0
- package/docs/API-reference/api/x-types.browseresponse.promoteds.md +11 -0
- package/docs/API-reference/api/x-types.browseresponse.results.md +11 -0
- package/docs/API-reference/api/x-types.browseresponse.stats.md +11 -0
- package/docs/API-reference/api/x-types.browseresponse.totalresults.md +11 -0
- package/docs/API-reference/api/x-types.md +33 -0
- package/js/components/animations/{animate-clip-path.vue2.js → animate-clip-path2.vue.js} +1 -1
- package/js/components/animations/animate-clip-path2.vue.js.map +1 -0
- package/js/components/animations/animate-clip-path3.vue.js +7 -0
- package/js/components/animations/animate-clip-path3.vue.js.map +1 -0
- package/js/components/animations/{animate-scale.vue2.js → animate-scale2.vue.js} +1 -1
- package/js/components/animations/animate-scale2.vue.js.map +1 -0
- package/js/components/animations/{animate-scale.vue3.js → animate-scale3.vue.js} +2 -2
- package/js/components/animations/animate-scale3.vue.js.map +1 -0
- package/js/components/animations/{animate-translate.vue2.js → animate-translate2.vue.js} +1 -1
- package/js/components/animations/animate-translate2.vue.js.map +1 -0
- package/js/components/animations/animate-translate3.vue.js +7 -0
- package/js/components/animations/animate-translate3.vue.js.map +1 -0
- package/js/components/animations/animate-width.vue.js +2 -2
- package/js/components/animations/{animate-width.vue2.js → animate-width2.vue.js} +1 -1
- package/js/components/animations/{animate-width.vue2.js.map → animate-width2.vue.js.map} +1 -1
- package/js/components/animations/{animate-width.vue3.js → animate-width3.vue.js} +1 -1
- package/js/components/animations/animate-width3.vue.js.map +1 -0
- package/js/components/animations/change-height.vue.js +2 -2
- package/js/components/animations/{change-height.vue2.js → change-height2.vue.js} +1 -1
- package/js/components/animations/{change-height.vue2.js.map → change-height2.vue.js.map} +1 -1
- package/js/components/animations/{change-height.vue3.js → change-height3.vue.js} +1 -1
- package/js/components/animations/change-height3.vue.js.map +1 -0
- package/js/components/animations/collapse-height.vue.js +2 -2
- package/js/components/animations/{collapse-height.vue2.js → collapse-height2.vue.js} +1 -1
- package/js/components/animations/{collapse-height.vue2.js.map → collapse-height2.vue.js.map} +1 -1
- package/js/components/animations/{collapse-height.vue3.js → collapse-height3.vue.js} +1 -1
- package/js/components/animations/collapse-height3.vue.js.map +1 -0
- package/js/components/animations/collapse-width.vue.js +2 -2
- package/js/components/animations/{collapse-width.vue2.js → collapse-width2.vue.js} +1 -1
- package/js/components/animations/{collapse-width.vue2.js.map → collapse-width2.vue.js.map} +1 -1
- package/js/components/animations/{collapse-width.vue3.js → collapse-width3.vue.js} +1 -1
- package/js/components/animations/collapse-width3.vue.js.map +1 -0
- package/js/components/animations/cross-fade.vue.js +2 -2
- package/js/components/animations/{cross-fade.vue2.js → cross-fade2.vue.js} +1 -1
- package/js/components/animations/{cross-fade.vue2.js.map → cross-fade2.vue.js.map} +1 -1
- package/js/components/animations/{cross-fade.vue3.js → cross-fade3.vue.js} +1 -1
- package/js/components/animations/cross-fade3.vue.js.map +1 -0
- package/js/components/animations/fade-and-slide.vue.js +2 -2
- package/js/components/animations/{fade-and-slide.vue2.js → fade-and-slide2.vue.js} +1 -1
- package/js/components/animations/{fade-and-slide.vue2.js.map → fade-and-slide2.vue.js.map} +1 -1
- package/js/components/animations/{fade-and-slide.vue3.js → fade-and-slide3.vue.js} +1 -1
- package/js/components/animations/fade-and-slide3.vue.js.map +1 -0
- package/js/components/animations/fade.vue.js +2 -2
- package/js/components/animations/{fade.vue2.js → fade2.vue.js} +1 -1
- package/js/components/animations/{fade.vue2.js.map → fade2.vue.js.map} +1 -1
- package/js/components/animations/{fade.vue3.js → fade3.vue.js} +1 -1
- package/js/components/animations/fade3.vue.js.map +1 -0
- package/js/components/animations/{no-animation.vue2.js → no-animation2.vue.js} +1 -1
- package/js/components/animations/no-animation2.vue.js.map +1 -0
- package/js/components/animations/staggered-fade-and-slide.vue.js +2 -2
- package/js/components/animations/{staggered-fade-and-slide.vue2.js → staggered-fade-and-slide2.vue.js} +1 -1
- package/js/components/animations/{staggered-fade-and-slide.vue2.js.map → staggered-fade-and-slide2.vue.js.map} +1 -1
- package/js/components/animations/{staggered-fade-and-slide.vue3.js → staggered-fade-and-slide3.vue.js} +1 -1
- package/js/components/animations/staggered-fade-and-slide3.vue.js.map +1 -0
- package/js/components/auto-progress-bar.vue.js +2 -2
- package/js/components/{auto-progress-bar.vue2.js → auto-progress-bar2.vue.js} +1 -1
- package/js/components/{auto-progress-bar.vue2.js.map → auto-progress-bar2.vue.js.map} +1 -1
- package/js/components/{auto-progress-bar.vue3.js → auto-progress-bar3.vue.js} +1 -1
- package/js/components/auto-progress-bar3.vue.js.map +1 -0
- package/js/components/base-dropdown.vue.js +2 -2
- package/js/components/{base-dropdown.vue2.js → base-dropdown2.vue.js} +20 -20
- package/js/components/{base-dropdown.vue2.js.map → base-dropdown2.vue.js.map} +1 -1
- package/js/components/{base-dropdown.vue3.js → base-dropdown3.vue.js} +1 -1
- package/js/components/base-dropdown3.vue.js.map +1 -0
- package/js/components/base-event-button.vue.js +1 -1
- package/js/components/{base-event-button.vue2.js → base-event-button2.vue.js} +1 -1
- package/js/components/{base-event-button.vue2.js.map → base-event-button2.vue.js.map} +1 -1
- package/js/components/base-grid.vue.js +2 -2
- package/js/components/{base-grid.vue2.js → base-grid2.vue.js} +1 -1
- package/js/components/{base-grid.vue2.js.map → base-grid2.vue.js.map} +1 -1
- package/js/components/{base-grid.vue3.js → base-grid3.vue.js} +1 -1
- package/js/components/base-grid3.vue.js.map +1 -0
- package/js/components/base-keyboard-navigation.vue.js +1 -1
- package/js/components/{base-keyboard-navigation.vue2.js → base-keyboard-navigation2.vue.js} +1 -1
- package/js/components/{base-keyboard-navigation.vue2.js.map → base-keyboard-navigation2.vue.js.map} +1 -1
- package/js/components/base-rating.vue.js +2 -2
- package/js/components/{base-rating.vue2.js → base-rating2.vue.js} +1 -1
- package/js/components/{base-rating.vue2.js.map → base-rating2.vue.js.map} +1 -1
- package/js/components/{base-rating.vue3.js → base-rating3.vue.js} +1 -1
- package/js/components/base-rating3.vue.js.map +1 -0
- package/js/components/base-slider.vue.js +2 -2
- package/js/components/{base-slider.vue2.js → base-slider2.vue.js} +1 -1
- package/js/components/{base-slider.vue2.js.map → base-slider2.vue.js.map} +1 -1
- package/js/components/{base-slider.vue3.js → base-slider3.vue.js} +1 -1
- package/js/components/base-slider3.vue.js.map +1 -0
- package/js/components/base-switch.vue.js +2 -2
- package/js/components/{base-switch.vue2.js → base-switch2.vue.js} +1 -1
- package/js/components/{base-switch.vue2.js.map → base-switch2.vue.js.map} +1 -1
- package/js/components/{base-switch.vue3.js → base-switch3.vue.js} +1 -1
- package/js/components/base-switch3.vue.js.map +1 -0
- package/js/components/base-teleport.vue.js +1 -1
- package/js/components/{base-teleport.vue2.js → base-teleport2.vue.js} +1 -1
- package/js/components/{base-teleport.vue2.js.map → base-teleport2.vue.js.map} +1 -1
- package/js/components/base-variable-column-grid.vue.js +1 -1
- package/js/components/{base-variable-column-grid.vue2.js → base-variable-column-grid2.vue.js} +1 -1
- package/js/components/{base-variable-column-grid.vue2.js.map → base-variable-column-grid2.vue.js.map} +1 -1
- package/js/components/column-picker/base-column-picker-dropdown.vue.js +1 -1
- package/js/components/column-picker/{base-column-picker-dropdown.vue2.js → base-column-picker-dropdown2.vue.js} +1 -1
- package/js/components/column-picker/{base-column-picker-dropdown.vue2.js.map → base-column-picker-dropdown2.vue.js.map} +1 -1
- package/js/components/column-picker/base-column-picker-list.vue.js +1 -1
- package/js/components/column-picker/{base-column-picker-list.vue2.js → base-column-picker-list2.vue.js} +1 -1
- package/js/components/column-picker/{base-column-picker-list.vue2.js.map → base-column-picker-list2.vue.js.map} +1 -1
- package/js/components/currency/base-currency.vue.js +1 -1
- package/js/components/currency/{base-currency.vue2.js → base-currency2.vue.js} +1 -1
- package/js/components/currency/{base-currency.vue2.js.map → base-currency2.vue.js.map} +1 -1
- package/js/components/{display-click-provider.vue2.js → display-click-provider2.vue.js} +1 -1
- package/js/components/display-click-provider2.vue.js.map +1 -0
- package/js/components/{display-emitter.vue2.js → display-emitter2.vue.js} +1 -1
- package/js/components/display-emitter2.vue.js.map +1 -0
- package/js/components/filters/labels/{base-price-filter-label.vue2.js → base-price-filter-label2.vue.js} +1 -1
- package/js/components/filters/labels/base-price-filter-label2.vue.js.map +1 -0
- package/js/components/filters/labels/base-rating-filter-label.vue.js +1 -1
- package/js/components/filters/labels/{base-rating-filter-label.vue2.js → base-rating-filter-label2.vue.js} +1 -1
- package/js/components/filters/labels/{base-rating-filter-label.vue2.js.map → base-rating-filter-label2.vue.js.map} +1 -1
- package/js/components/{global-x-bus.vue2.js → global-x-bus2.vue.js} +1 -1
- package/js/components/global-x-bus2.vue.js.map +1 -0
- package/js/components/highlight.vue.js +1 -1
- package/js/components/{highlight.vue2.js → highlight2.vue.js} +1 -1
- package/js/components/{highlight.vue2.js.map → highlight2.vue.js.map} +1 -1
- package/js/components/items-list.vue.js +1 -1
- package/js/components/{items-list.vue2.js → items-list2.vue.js} +1 -1
- package/js/components/{items-list.vue2.js.map → items-list2.vue.js.map} +1 -1
- package/js/components/{location-provider.vue2.js → location-provider2.vue.js} +1 -1
- package/js/components/location-provider2.vue.js.map +1 -0
- package/js/components/message.vue.js +17 -17
- package/js/components/{message.vue2.js → message2.vue.js} +1 -1
- package/js/components/message2.vue.js.map +1 -0
- package/js/components/modals/base-events-modal-close.vue.js +1 -1
- package/js/components/modals/{base-events-modal-close.vue2.js → base-events-modal-close2.vue.js} +1 -1
- package/js/components/modals/{base-events-modal-close.vue2.js.map → base-events-modal-close2.vue.js.map} +1 -1
- package/js/components/modals/base-events-modal-open.vue.js +1 -1
- package/js/components/modals/{base-events-modal-open.vue2.js → base-events-modal-open2.vue.js} +1 -1
- package/js/components/modals/{base-events-modal-open.vue2.js.map → base-events-modal-open2.vue.js.map} +1 -1
- package/js/components/modals/base-events-modal.vue.js +1 -1
- package/js/components/modals/{base-events-modal.vue2.js → base-events-modal2.vue.js} +1 -1
- package/js/components/modals/{base-events-modal.vue2.js.map → base-events-modal2.vue.js.map} +1 -1
- package/js/components/modals/base-id-modal-close.vue.js +1 -1
- package/js/components/modals/{base-id-modal-close.vue2.js → base-id-modal-close2.vue.js} +1 -1
- package/js/components/modals/{base-id-modal-close.vue2.js.map → base-id-modal-close2.vue.js.map} +1 -1
- package/js/components/modals/base-id-modal-open.vue.js +1 -1
- package/js/components/modals/{base-id-modal-open.vue2.js → base-id-modal-open2.vue.js} +1 -1
- package/js/components/modals/{base-id-modal-open.vue2.js.map → base-id-modal-open2.vue.js.map} +1 -1
- package/js/components/modals/base-id-modal.vue.js +1 -1
- package/js/components/modals/{base-id-modal.vue2.js → base-id-modal2.vue.js} +1 -1
- package/js/components/modals/{base-id-modal.vue2.js.map → base-id-modal2.vue.js.map} +1 -1
- package/js/components/modals/base-modal.vue.js +2 -2
- package/js/components/modals/{base-modal.vue2.js → base-modal2.vue.js} +18 -18
- package/js/components/modals/{base-modal.vue2.js.map → base-modal2.vue.js.map} +1 -1
- package/js/components/modals/{base-modal.vue3.js → base-modal3.vue.js} +1 -1
- package/js/components/modals/base-modal3.vue.js.map +1 -0
- package/js/components/modals/close-main-modal.vue.js +1 -1
- package/js/components/modals/{close-main-modal.vue2.js → close-main-modal2.vue.js} +1 -1
- package/js/components/modals/{close-main-modal.vue2.js.map → close-main-modal2.vue.js.map} +1 -1
- package/js/components/modals/main-modal.vue.js +1 -1
- package/js/components/modals/{main-modal.vue2.js → main-modal2.vue.js} +1 -1
- package/js/components/modals/{main-modal.vue2.js.map → main-modal2.vue.js.map} +1 -1
- package/js/components/modals/open-main-modal.vue.js +1 -1
- package/js/components/modals/{open-main-modal.vue2.js → open-main-modal2.vue.js} +1 -1
- package/js/components/modals/{open-main-modal.vue2.js.map → open-main-modal2.vue.js.map} +1 -1
- package/js/components/page-loader-button.vue.js +2 -2
- package/js/components/{page-loader-button.vue2.js → page-loader-button2.vue.js} +1 -1
- package/js/components/{page-loader-button.vue2.js.map → page-loader-button2.vue.js.map} +1 -1
- package/js/components/{page-loader-button.vue3.js → page-loader-button3.vue.js} +1 -1
- package/js/components/page-loader-button3.vue.js.map +1 -0
- package/js/components/page-selector.vue.js +2 -2
- package/js/components/{page-selector.vue2.js → page-selector2.vue.js} +1 -1
- package/js/components/{page-selector.vue2.js.map → page-selector2.vue.js.map} +1 -1
- package/js/components/{page-selector.vue3.js → page-selector3.vue.js} +1 -1
- package/js/components/page-selector3.vue.js.map +1 -0
- package/js/components/panels/base-header-toggle-panel.vue.js +2 -2
- package/js/components/panels/{base-header-toggle-panel.vue2.js → base-header-toggle-panel2.vue.js} +20 -20
- package/js/components/panels/{base-header-toggle-panel.vue2.js.map → base-header-toggle-panel2.vue.js.map} +1 -1
- package/js/components/panels/{base-header-toggle-panel.vue3.js → base-header-toggle-panel3.vue.js} +1 -1
- package/js/components/panels/base-header-toggle-panel3.vue.js.map +1 -0
- package/js/components/panels/base-id-toggle-panel-button.vue.js +1 -1
- package/js/components/panels/{base-id-toggle-panel-button.vue2.js → base-id-toggle-panel-button2.vue.js} +1 -1
- package/js/components/panels/{base-id-toggle-panel-button.vue2.js.map → base-id-toggle-panel-button2.vue.js.map} +1 -1
- package/js/components/panels/base-id-toggle-panel.vue.js +1 -1
- package/js/components/panels/{base-id-toggle-panel.vue2.js → base-id-toggle-panel2.vue.js} +20 -20
- package/js/components/panels/{base-id-toggle-panel.vue2.js.map → base-id-toggle-panel2.vue.js.map} +1 -1
- package/js/components/panels/base-tabs-panel.vue.js +2 -2
- package/js/components/panels/{base-tabs-panel.vue2.js → base-tabs-panel2.vue.js} +20 -20
- package/js/components/panels/{base-tabs-panel.vue2.js.map → base-tabs-panel2.vue.js.map} +1 -1
- package/js/components/panels/{base-tabs-panel.vue3.js → base-tabs-panel3.vue.js} +1 -1
- package/js/components/panels/base-tabs-panel3.vue.js.map +1 -0
- package/js/components/panels/base-toggle-panel.vue.js +1 -1
- package/js/components/panels/{base-toggle-panel.vue2.js → base-toggle-panel2.vue.js} +1 -1
- package/js/components/panels/{base-toggle-panel.vue2.js.map → base-toggle-panel2.vue.js.map} +1 -1
- package/js/components/result/base-result-add-to-cart.vue.js +1 -1
- package/js/components/result/{base-result-add-to-cart.vue2.js → base-result-add-to-cart2.vue.js} +1 -1
- package/js/components/result/{base-result-add-to-cart.vue2.js.map → base-result-add-to-cart2.vue.js.map} +1 -1
- package/js/components/result/base-result-current-price.vue.js +1 -1
- package/js/components/result/{base-result-current-price.vue2.js → base-result-current-price2.vue.js} +1 -1
- package/js/components/result/{base-result-current-price.vue2.js.map → base-result-current-price2.vue.js.map} +1 -1
- package/js/components/result/base-result-image.vue.js +2 -2
- package/js/components/result/{base-result-image.vue2.js → base-result-image2.vue.js} +20 -20
- package/js/components/result/{base-result-image.vue2.js.map → base-result-image2.vue.js.map} +1 -1
- package/js/components/result/{base-result-image.vue3.js → base-result-image3.vue.js} +1 -1
- package/js/components/result/base-result-image3.vue.js.map +1 -0
- package/js/components/result/base-result-link.vue.js +2 -2
- package/js/components/result/{base-result-link.vue2.js → base-result-link2.vue.js} +1 -1
- package/js/components/result/{base-result-link.vue2.js.map → base-result-link2.vue.js.map} +1 -1
- package/js/components/result/{base-result-link.vue3.js → base-result-link3.vue.js} +1 -1
- package/js/components/result/base-result-link3.vue.js.map +1 -0
- package/js/components/result/base-result-previous-price.vue.js +1 -1
- package/js/components/result/{base-result-previous-price.vue2.js → base-result-previous-price2.vue.js} +1 -1
- package/js/components/result/{base-result-previous-price.vue2.js.map → base-result-previous-price2.vue.js.map} +1 -1
- package/js/components/result/base-result-rating.vue.js +2 -2
- package/js/components/result/{base-result-rating.vue2.js → base-result-rating2.vue.js} +1 -1
- package/js/components/result/{base-result-rating.vue2.js.map → base-result-rating2.vue.js.map} +1 -1
- package/js/components/result/{base-result-rating.vue3.js → base-result-rating3.vue.js} +1 -1
- package/js/components/result/base-result-rating3.vue.js.map +1 -0
- package/js/components/result/result-variant-selector.vue.js +2 -2
- package/js/components/result/{result-variant-selector.vue2.js → result-variant-selector2.vue.js} +1 -1
- package/js/components/result/{result-variant-selector.vue2.js.map → result-variant-selector2.vue.js.map} +1 -1
- package/js/components/result/{result-variant-selector.vue3.js → result-variant-selector3.vue.js} +1 -1
- package/js/components/result/result-variant-selector3.vue.js.map +1 -0
- package/js/components/result/{result-variants-provider.vue2.js → result-variants-provider2.vue.js} +1 -1
- package/js/components/result/result-variants-provider2.vue.js.map +1 -0
- package/js/components/scroll/base-scroll.vue.js +1 -1
- package/js/components/scroll/{base-scroll.vue2.js → base-scroll2.vue.js} +1 -1
- package/js/components/scroll/{base-scroll.vue2.js.map → base-scroll2.vue.js.map} +1 -1
- package/js/components/sliding-panel.vue.js +2 -2
- package/js/components/{sliding-panel.vue2.js → sliding-panel2.vue.js} +1 -1
- package/js/components/{sliding-panel.vue2.js.map → sliding-panel2.vue.js.map} +1 -1
- package/js/components/{sliding-panel.vue3.js → sliding-panel3.vue.js} +1 -1
- package/js/components/sliding-panel3.vue.js.map +1 -0
- package/js/components/snippet-callbacks.vue.js +1 -1
- package/js/components/{snippet-callbacks.vue2.js → snippet-callbacks2.vue.js} +1 -1
- package/js/components/{snippet-callbacks.vue2.js.map → snippet-callbacks2.vue.js.map} +1 -1
- package/js/components/suggestions/base-suggestion.vue.js +1 -1
- package/js/components/suggestions/{base-suggestion.vue2.js → base-suggestion2.vue.js} +1 -1
- package/js/components/suggestions/{base-suggestion.vue2.js.map → base-suggestion2.vue.js.map} +1 -1
- package/js/components/suggestions/base-suggestions.vue.js +2 -2
- package/js/components/suggestions/{base-suggestions.vue2.js → base-suggestions2.vue.js} +1 -1
- package/js/components/suggestions/{base-suggestions.vue2.js.map → base-suggestions2.vue.js.map} +1 -1
- package/js/components/suggestions/{base-suggestions.vue3.js → base-suggestions3.vue.js} +1 -1
- package/js/components/suggestions/base-suggestions3.vue.js.map +1 -0
- package/js/index.js +3 -3
- package/js/x-modules/ai/components/ai-carousel.vue.js +2 -2
- package/js/x-modules/ai/components/{ai-carousel.vue2.js → ai-carousel2.vue.js} +75 -75
- package/js/x-modules/ai/components/{ai-carousel.vue2.js.map → ai-carousel2.vue.js.map} +1 -1
- package/js/x-modules/ai/components/{ai-carousel.vue3.js → ai-carousel3.vue.js} +1 -1
- package/js/x-modules/ai/components/ai-carousel3.vue.js.map +1 -0
- package/js/x-modules/ai/components/ai-grouped-carousel.vue.js +1 -1
- package/js/x-modules/ai/components/ai-grouped-carousel2.vue.js +123 -0
- package/js/x-modules/ai/components/{ai-grouped-carousel.vue2.js.map → ai-grouped-carousel2.vue.js.map} +1 -1
- package/js/x-modules/device/components/device-detector.vue.js +1 -1
- package/js/x-modules/device/components/{device-detector.vue2.js → device-detector2.vue.js} +1 -1
- package/js/x-modules/device/components/{device-detector.vue2.js.map → device-detector2.vue.js.map} +1 -1
- package/js/x-modules/empathize/components/empathize.vue.js +1 -1
- package/js/x-modules/empathize/components/{empathize.vue2.js → empathize2.vue.js} +82 -82
- package/js/x-modules/empathize/components/{empathize.vue2.js.map → empathize2.vue.js.map} +1 -1
- package/js/x-modules/experience-controls/components/{experience-controls.vue2.js → experience-controls2.vue.js} +1 -1
- package/js/x-modules/experience-controls/components/experience-controls2.vue.js.map +1 -0
- package/js/x-modules/extra-params/components/{extra-params.vue2.js → extra-params2.vue.js} +1 -1
- package/js/x-modules/{facets/components/facets/facets.vue3.js.map → extra-params/components/extra-params2.vue.js.map} +1 -1
- package/js/x-modules/extra-params/components/{renderless-extra-param.vue2.js → renderless-extra-param2.vue.js} +1 -1
- package/js/x-modules/extra-params/components/renderless-extra-param2.vue.js.map +1 -0
- package/js/x-modules/extra-params/components/snippet-config-extra-params.vue.js +1 -1
- package/js/x-modules/extra-params/components/{snippet-config-extra-params.vue2.js → snippet-config-extra-params2.vue.js} +1 -1
- package/js/x-modules/extra-params/components/{snippet-config-extra-params.vue2.js.map → snippet-config-extra-params2.vue.js.map} +1 -1
- package/js/x-modules/facets/components/clear-filters.vue.js +1 -1
- package/js/x-modules/facets/components/{clear-filters.vue2.js → clear-filters2.vue.js} +1 -1
- package/js/x-modules/facets/components/{clear-filters.vue2.js.map → clear-filters2.vue.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.vue2.js → facets-provider2.vue.js} +1 -1
- package/js/x-modules/facets/components/facets/{facets-provider.vue2.js.map → facets-provider2.vue.js.map} +1 -1
- package/js/x-modules/facets/components/facets/{facets-provider.vue3.js → facets-provider3.vue.js} +1 -1
- package/js/x-modules/facets/components/facets/facets-provider3.vue.js.map +1 -0
- package/js/x-modules/facets/components/facets/facets.vue.js +2 -2
- package/js/x-modules/facets/components/facets/{facets.vue2.js → facets2.vue.js} +1 -1
- package/js/x-modules/facets/components/facets/{facets.vue2.js.map → facets2.vue.js.map} +1 -1
- package/js/x-modules/facets/components/facets/{facets.vue3.js → facets3.vue.js} +1 -1
- package/js/x-modules/facets/components/facets/facets3.vue.js.map +1 -0
- package/js/x-modules/facets/components/filters/all-filter.vue.js +1 -1
- package/js/x-modules/facets/components/filters/{all-filter.vue2.js → all-filter2.vue.js} +1 -1
- package/js/x-modules/facets/components/filters/{all-filter.vue2.js.map → all-filter2.vue.js.map} +1 -1
- package/js/x-modules/facets/components/filters/editable-number-range-filter.vue.js +2 -2
- package/js/x-modules/facets/components/filters/{editable-number-range-filter.vue2.js → editable-number-range-filter2.vue.js} +1 -1
- package/js/x-modules/facets/components/filters/{editable-number-range-filter.vue2.js.map → editable-number-range-filter2.vue.js.map} +1 -1
- package/js/x-modules/facets/components/filters/{editable-number-range-filter.vue3.js → editable-number-range-filter3.vue.js} +1 -1
- package/js/x-modules/facets/components/filters/editable-number-range-filter3.vue.js.map +1 -0
- package/js/x-modules/facets/components/filters/hierarchical-filter.vue.js +1 -1
- package/js/x-modules/facets/components/filters/{hierarchical-filter.vue2.js → hierarchical-filter2.vue.js} +1 -1
- package/js/x-modules/facets/components/filters/{hierarchical-filter.vue2.js.map → hierarchical-filter2.vue.js.map} +1 -1
- package/js/x-modules/facets/components/filters/number-range-filter.vue.js +1 -1
- package/js/x-modules/facets/components/filters/{number-range-filter.vue2.js → number-range-filter2.vue.js} +1 -1
- package/js/x-modules/facets/components/filters/{number-range-filter.vue2.js.map → number-range-filter2.vue.js.map} +1 -1
- package/js/x-modules/facets/components/filters/{renderless-filter.vue2.js → renderless-filter2.vue.js} +1 -1
- package/js/x-modules/facets/components/filters/renderless-filter2.vue.js.map +1 -0
- package/js/x-modules/facets/components/filters/simple-filter.vue.js +1 -1
- package/js/x-modules/facets/components/filters/{simple-filter.vue2.js → simple-filter2.vue.js} +1 -1
- package/js/x-modules/facets/components/filters/{simple-filter.vue2.js.map → simple-filter2.vue.js.map} +1 -1
- package/js/x-modules/facets/components/lists/{exclude-filters-with-no-results.vue2.js → exclude-filters-with-no-results2.vue.js} +1 -1
- package/js/x-modules/facets/components/lists/exclude-filters-with-no-results2.vue.js.map +1 -0
- package/js/x-modules/facets/components/lists/filters-list.vue.js +2 -2
- package/js/x-modules/facets/components/lists/{filters-list.vue2.js → filters-list2.vue.js} +1 -1
- package/js/x-modules/facets/components/lists/{filters-list.vue2.js.map → filters-list2.vue.js.map} +1 -1
- package/js/x-modules/facets/components/lists/{filters-list.vue3.js → filters-list3.vue.js} +1 -1
- package/js/x-modules/facets/components/lists/filters-list3.vue.js.map +1 -0
- package/js/x-modules/facets/components/lists/filters-search.vue.js +2 -2
- package/js/x-modules/facets/components/lists/{filters-search.vue2.js → filters-search2.vue.js} +1 -1
- package/js/x-modules/facets/components/lists/{filters-search.vue2.js.map → filters-search2.vue.js.map} +1 -1
- package/js/x-modules/facets/components/lists/{filters-search.vue3.js → filters-search3.vue.js} +1 -1
- package/js/x-modules/facets/components/lists/filters-search3.vue.js.map +1 -0
- package/js/x-modules/facets/components/lists/selected-filters-list.vue.js +1 -1
- package/js/x-modules/facets/components/lists/{selected-filters-list.vue2.js → selected-filters-list2.vue.js} +1 -1
- package/js/x-modules/facets/components/lists/{selected-filters-list.vue2.js.map → selected-filters-list2.vue.js.map} +1 -1
- package/js/x-modules/facets/components/lists/{selected-filters.vue2.js → selected-filters2.vue.js} +1 -1
- package/js/x-modules/facets/components/lists/selected-filters2.vue.js.map +1 -0
- package/js/x-modules/facets/components/lists/sliced-filters.vue.js +1 -1
- package/js/x-modules/facets/components/lists/{sliced-filters.vue2.js → sliced-filters2.vue.js} +1 -1
- package/js/x-modules/facets/components/lists/{sliced-filters.vue2.js.map → sliced-filters2.vue.js.map} +1 -1
- package/js/x-modules/facets/components/lists/{sorted-filters.vue2.js → sorted-filters2.vue.js} +1 -1
- package/js/x-modules/facets/components/lists/sorted-filters2.vue.js.map +1 -0
- package/js/x-modules/facets/components/{preselected-filters.vue2.js → preselected-filters2.vue.js} +1 -1
- package/js/x-modules/facets/components/preselected-filters2.vue.js.map +1 -0
- package/js/x-modules/history-queries/components/clear-history-queries.vue.js +1 -1
- package/js/x-modules/history-queries/components/{clear-history-queries.vue2.js → clear-history-queries2.vue.js} +1 -1
- package/js/x-modules/history-queries/components/{clear-history-queries.vue2.js.map → clear-history-queries2.vue.js.map} +1 -1
- package/js/x-modules/history-queries/components/history-queries-switch.vue.js +1 -1
- package/js/x-modules/history-queries/components/{history-queries-switch.vue2.js → history-queries-switch2.vue.js} +1 -1
- package/js/x-modules/history-queries/components/{history-queries-switch.vue2.js.map → history-queries-switch2.vue.js.map} +1 -1
- package/js/x-modules/history-queries/components/history-queries.vue.js +1 -1
- package/js/x-modules/history-queries/components/{history-queries.vue2.js → history-queries2.vue.js} +1 -1
- package/js/x-modules/history-queries/components/{history-queries.vue2.js.map → history-queries2.vue.js.map} +1 -1
- package/js/x-modules/history-queries/components/history-query.vue.js +1 -1
- package/js/x-modules/history-queries/components/{history-query.vue2.js → history-query2.vue.js} +1 -1
- package/js/x-modules/history-queries/components/{history-query.vue2.js.map → history-query2.vue.js.map} +1 -1
- package/js/x-modules/history-queries/components/my-history.vue.js +2 -2
- package/js/x-modules/history-queries/components/{my-history.vue2.js → my-history2.vue.js} +1 -1
- package/js/x-modules/history-queries/components/{my-history.vue2.js.map → my-history2.vue.js.map} +1 -1
- package/js/x-modules/history-queries/components/{my-history.vue3.js → my-history3.vue.js} +1 -1
- package/js/x-modules/history-queries/components/my-history3.vue.js.map +1 -0
- package/js/x-modules/history-queries/components/remove-history-query.vue.js +1 -1
- package/js/x-modules/history-queries/components/{remove-history-query.vue2.js → remove-history-query2.vue.js} +1 -1
- package/js/x-modules/history-queries/components/{remove-history-query.vue2.js.map → remove-history-query2.vue.js.map} +1 -1
- package/js/x-modules/identifier-results/components/identifier-result.vue.js +1 -1
- package/js/x-modules/identifier-results/components/{identifier-result.vue2.js → identifier-result2.vue.js} +1 -1
- package/js/x-modules/identifier-results/components/{identifier-result.vue2.js.map → identifier-result2.vue.js.map} +1 -1
- package/js/x-modules/identifier-results/components/identifier-results.vue.js +2 -2
- package/js/x-modules/identifier-results/components/{identifier-results.vue2.js → identifier-results2.vue.js} +1 -1
- package/js/x-modules/identifier-results/components/{identifier-results.vue2.js.map → identifier-results2.vue.js.map} +1 -1
- package/js/x-modules/identifier-results/components/{identifier-results.vue3.js → identifier-results3.vue.js} +1 -1
- package/js/x-modules/identifier-results/components/identifier-results3.vue.js.map +1 -0
- package/js/x-modules/next-queries/components/{next-queries-list.vue2.js → next-queries-list2.vue.js} +1 -1
- package/js/x-modules/next-queries/components/next-queries-list2.vue.js.map +1 -0
- package/js/x-modules/next-queries/components/next-queries.vue.js +1 -1
- package/js/x-modules/next-queries/components/{next-queries.vue2.js → next-queries2.vue.js} +1 -1
- package/js/x-modules/next-queries/components/{next-queries.vue2.js.map → next-queries2.vue.js.map} +1 -1
- package/js/x-modules/next-queries/components/next-query-preview.vue.js +1 -1
- package/js/x-modules/next-queries/components/{next-query-preview.vue2.js → next-query-preview2.vue.js} +1 -1
- package/js/x-modules/next-queries/components/{next-query-preview.vue2.js.map → next-query-preview2.vue.js.map} +1 -1
- package/js/x-modules/next-queries/components/next-query.vue.js +1 -1
- package/js/x-modules/next-queries/components/{next-query.vue2.js → next-query2.vue.js} +1 -1
- package/js/x-modules/next-queries/components/{next-query.vue2.js.map → next-query2.vue.js.map} +1 -1
- package/js/x-modules/popular-searches/components/popular-search.vue.js +1 -1
- package/js/x-modules/popular-searches/components/{popular-search.vue2.js → popular-search2.vue.js} +1 -1
- package/js/x-modules/popular-searches/components/{popular-search.vue2.js.map → popular-search2.vue.js.map} +1 -1
- package/js/x-modules/popular-searches/components/popular-searches.vue.js +1 -1
- package/js/x-modules/popular-searches/components/{popular-searches.vue2.js → popular-searches2.vue.js} +1 -1
- package/js/x-modules/popular-searches/components/{popular-searches.vue2.js.map → popular-searches2.vue.js.map} +1 -1
- package/js/x-modules/queries-preview/components/query-preview-button.vue.js +1 -1
- package/js/x-modules/queries-preview/components/query-preview-button2.vue.js +165 -0
- package/js/x-modules/queries-preview/components/{query-preview-button.vue2.js.map → query-preview-button2.vue.js.map} +1 -1
- package/js/x-modules/queries-preview/components/query-preview-list.vue.js +2 -2
- package/js/x-modules/queries-preview/components/{query-preview-list.vue2.js → query-preview-list2.vue.js} +1 -1
- package/js/x-modules/queries-preview/components/{query-preview-list.vue2.js.map → query-preview-list2.vue.js.map} +1 -1
- package/js/x-modules/queries-preview/components/{query-preview-list.vue3.js → query-preview-list3.vue.js} +1 -1
- package/js/x-modules/queries-preview/components/query-preview-list3.vue.js.map +1 -0
- package/js/x-modules/queries-preview/components/query-preview.vue.js +1 -1
- package/js/x-modules/queries-preview/components/{query-preview.vue2.js → query-preview2.vue.js} +82 -82
- package/js/x-modules/queries-preview/components/{query-preview.vue2.js.map → query-preview2.vue.js.map} +1 -1
- package/js/x-modules/query-suggestions/components/query-suggestion.vue.js +1 -1
- package/js/x-modules/query-suggestions/components/{query-suggestion.vue2.js → query-suggestion2.vue.js} +1 -1
- package/js/x-modules/query-suggestions/components/{query-suggestion.vue2.js.map → query-suggestion2.vue.js.map} +1 -1
- package/js/x-modules/query-suggestions/components/query-suggestions.vue.js +1 -1
- package/js/x-modules/query-suggestions/components/{query-suggestions.vue2.js → query-suggestions2.vue.js} +1 -1
- package/js/x-modules/query-suggestions/components/{query-suggestions.vue2.js.map → query-suggestions2.vue.js.map} +1 -1
- package/js/x-modules/recommendations/components/recommendations.vue.js +2 -2
- package/js/x-modules/recommendations/components/{recommendations.vue2.js → recommendations2.vue.js} +1 -1
- package/js/x-modules/recommendations/components/{recommendations.vue2.js.map → recommendations2.vue.js.map} +1 -1
- package/js/x-modules/recommendations/components/{recommendations.vue3.js → recommendations3.vue.js} +1 -1
- package/js/x-modules/recommendations/components/recommendations3.vue.js.map +1 -0
- package/js/x-modules/related-prompts/components/related-prompt.vue.js +2 -2
- package/js/x-modules/related-prompts/components/{related-prompt.vue2.js → related-prompt2.vue.js} +1 -1
- package/js/x-modules/related-prompts/components/{related-prompt.vue2.js.map → related-prompt2.vue.js.map} +1 -1
- package/js/x-modules/related-prompts/components/{related-prompt.vue3.js → related-prompt3.vue.js} +1 -1
- package/js/x-modules/related-prompts/components/related-prompt3.vue.js.map +1 -0
- package/js/x-modules/related-prompts/components/{related-prompts-list.vue2.js → related-prompts-list2.vue.js} +1 -1
- package/js/x-modules/related-prompts/components/related-prompts-list2.vue.js.map +1 -0
- package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue.js +2 -2
- package/js/x-modules/related-prompts/components/{related-prompts-tag-list.vue2.js → related-prompts-tag-list2.vue.js} +1 -1
- package/js/x-modules/related-prompts/components/{related-prompts-tag-list.vue2.js.map → related-prompts-tag-list2.vue.js.map} +1 -1
- package/js/x-modules/related-prompts/components/{related-prompts-tag-list.vue3.js → related-prompts-tag-list3.vue.js} +1 -1
- package/js/x-modules/related-prompts/components/related-prompts-tag-list3.vue.js.map +1 -0
- package/js/x-modules/related-tags/components/related-tag.vue.js +1 -1
- package/js/x-modules/related-tags/components/{related-tag.vue2.js → related-tag2.vue.js} +1 -1
- package/js/x-modules/related-tags/components/{related-tag.vue2.js.map → related-tag2.vue.js.map} +1 -1
- package/js/x-modules/related-tags/components/related-tags.vue.js +2 -2
- package/js/x-modules/related-tags/components/{related-tags.vue2.js → related-tags2.vue.js} +1 -1
- package/js/x-modules/related-tags/components/{related-tags.vue2.js.map → related-tags2.vue.js.map} +1 -1
- package/js/x-modules/related-tags/components/{related-tags.vue3.js → related-tags3.vue.js} +1 -1
- package/js/x-modules/related-tags/components/related-tags3.vue.js.map +1 -0
- package/js/x-modules/scroll/components/main-scroll-item.vue.js +1 -1
- package/js/x-modules/scroll/components/{main-scroll-item.vue2.js → main-scroll-item2.vue.js} +1 -1
- package/js/x-modules/scroll/components/{main-scroll-item.vue2.js.map → main-scroll-item2.vue.js.map} +1 -1
- package/js/x-modules/scroll/components/{main-scroll.vue2.js → main-scroll2.vue.js} +1 -1
- package/js/x-modules/scroll/components/main-scroll2.vue.js.map +1 -0
- package/js/x-modules/scroll/components/scroll-to-top.vue.js +1 -1
- package/js/x-modules/scroll/components/{scroll-to-top.vue2.js → scroll-to-top2.vue.js} +81 -81
- package/js/x-modules/scroll/components/{scroll-to-top.vue2.js.map → scroll-to-top2.vue.js.map} +1 -1
- package/js/x-modules/scroll/components/scroll.vue.js +1 -1
- package/js/x-modules/scroll/components/{scroll.vue2.js → scroll2.vue.js} +1 -1
- package/js/x-modules/scroll/components/{scroll.vue2.js.map → scroll2.vue.js.map} +1 -1
- package/js/x-modules/search/components/banner.vue.js +2 -2
- package/js/x-modules/search/components/{banner.vue2.js → banner2.vue.js} +1 -1
- package/js/x-modules/search/components/{banner.vue2.js.map → banner2.vue.js.map} +1 -1
- package/js/x-modules/search/components/{banner.vue3.js → banner3.vue.js} +1 -1
- package/js/x-modules/search/components/banner3.vue.js.map +1 -0
- package/js/x-modules/search/components/{banners-list.vue2.js → banners-list2.vue.js} +1 -1
- package/js/x-modules/search/components/banners-list2.vue.js.map +1 -0
- package/js/x-modules/search/components/fallback-disclaimer.vue.js +1 -1
- package/js/x-modules/search/components/{fallback-disclaimer.vue2.js → fallback-disclaimer2.vue.js} +1 -1
- package/js/x-modules/search/components/{fallback-disclaimer.vue2.js.map → fallback-disclaimer2.vue.js.map} +1 -1
- package/js/x-modules/search/components/partial-query-button.vue.js +1 -1
- package/js/x-modules/search/components/{partial-query-button.vue2.js → partial-query-button2.vue.js} +1 -1
- package/js/x-modules/search/components/{partial-query-button.vue2.js.map → partial-query-button2.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.vue2.js → partial-results-list2.vue.js} +1 -1
- package/js/x-modules/search/components/{partial-results-list.vue2.js.map → partial-results-list2.vue.js.map} +1 -1
- package/js/x-modules/search/components/{partial-results-list.vue3.js → partial-results-list3.vue.js} +1 -1
- package/js/x-modules/search/components/partial-results-list3.vue.js.map +1 -0
- package/js/x-modules/search/components/promoted.vue.js +2 -2
- package/js/x-modules/search/components/{promoted.vue2.js → promoted2.vue.js} +1 -1
- package/js/x-modules/search/components/{promoted.vue2.js.map → promoted2.vue.js.map} +1 -1
- package/js/x-modules/search/components/{promoted.vue3.js → promoted3.vue.js} +1 -1
- package/js/x-modules/search/components/promoted3.vue.js.map +1 -0
- package/js/x-modules/search/components/{promoteds-list.vue2.js → promoteds-list2.vue.js} +1 -1
- package/js/x-modules/search/components/promoteds-list2.vue.js.map +1 -0
- package/js/x-modules/search/components/redirection.vue.js +1 -1
- package/js/x-modules/search/components/{redirection.vue2.js → redirection2.vue.js} +1 -1
- package/js/x-modules/search/components/{redirection.vue2.js.map → redirection2.vue.js.map} +1 -1
- package/js/x-modules/search/components/{results-list.vue2.js → results-list2.vue.js} +1 -1
- package/js/x-modules/search/components/results-list2.vue.js.map +1 -0
- package/js/x-modules/search/components/sort-dropdown.vue.js +1 -1
- package/js/x-modules/search/components/{sort-dropdown.vue2.js → sort-dropdown2.vue.js} +1 -1
- package/js/x-modules/search/components/{sort-dropdown.vue2.js.map → sort-dropdown2.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.vue2.js → sort-list2.vue.js} +1 -1
- package/js/x-modules/search/components/{sort-list.vue2.js.map → sort-list2.vue.js.map} +1 -1
- package/js/x-modules/search/components/{sort-list.vue3.js → sort-list3.vue.js} +1 -1
- package/js/x-modules/search/components/sort-list3.vue.js.map +1 -0
- package/js/x-modules/search/components/sort-picker-list.vue.js +1 -1
- package/js/x-modules/search/components/{sort-picker-list.vue2.js → sort-picker-list2.vue.js} +1 -1
- package/js/x-modules/search/components/{sort-picker-list.vue2.js.map → sort-picker-list2.vue.js.map} +1 -1
- package/js/x-modules/search/components/spellcheck-button.vue.js +1 -1
- package/js/x-modules/search/components/{spellcheck-button.vue2.js → spellcheck-button2.vue.js} +1 -1
- package/js/x-modules/search/components/{spellcheck-button.vue2.js.map → spellcheck-button2.vue.js.map} +1 -1
- package/js/x-modules/search/components/spellcheck.vue.js +1 -1
- package/js/x-modules/search/components/{spellcheck.vue2.js → spellcheck2.vue.js} +1 -1
- package/js/x-modules/search/components/{spellcheck.vue2.js.map → spellcheck2.vue.js.map} +1 -1
- package/js/x-modules/search-box/components/clear-search-input.vue.js +1 -1
- package/js/x-modules/search-box/components/{clear-search-input.vue2.js → clear-search-input2.vue.js} +1 -1
- package/js/x-modules/search-box/components/{clear-search-input.vue2.js.map → clear-search-input2.vue.js.map} +1 -1
- package/js/x-modules/search-box/components/search-button.vue.js +1 -1
- package/js/x-modules/search-box/components/{search-button.vue2.js → search-button2.vue.js} +1 -1
- package/js/x-modules/search-box/components/{search-button.vue2.js.map → search-button2.vue.js.map} +1 -1
- package/js/x-modules/search-box/components/search-input-placeholder.vue.js +3 -3
- package/js/x-modules/search-box/components/{search-input-placeholder.vue2.js → search-input-placeholder2.vue.js} +2 -2
- package/js/x-modules/search-box/components/{search-input-placeholder.vue2.js.map → search-input-placeholder2.vue.js.map} +1 -1
- package/js/x-modules/search-box/components/{search-input-placeholder.vue3.js → search-input-placeholder3.vue.js} +1 -1
- package/js/x-modules/search-box/components/search-input-placeholder3.vue.js.map +1 -0
- package/js/x-modules/search-box/components/{search-input-placeholder.vue4.js → search-input-placeholder4.vue.js} +1 -1
- package/js/x-modules/search-box/components/search-input-placeholder4.vue.js.map +1 -0
- package/js/x-modules/search-box/components/search-input.vue.js +2 -2
- package/js/x-modules/search-box/components/{search-input.vue2.js → search-input2.vue.js} +1 -1
- package/js/x-modules/search-box/components/{search-input.vue2.js.map → search-input2.vue.js.map} +1 -1
- package/js/x-modules/search-box/components/{search-input.vue3.js → search-input3.vue.js} +1 -1
- package/js/x-modules/search-box/components/search-input3.vue.js.map +1 -0
- package/js/x-modules/semantic-queries/components/semantic-queries.vue.js +1 -1
- package/js/x-modules/semantic-queries/components/{semantic-queries.vue2.js → semantic-queries2.vue.js} +1 -1
- package/js/x-modules/semantic-queries/components/{semantic-queries.vue2.js.map → semantic-queries2.vue.js.map} +1 -1
- package/js/x-modules/semantic-queries/components/semantic-query.vue.js +1 -1
- package/js/x-modules/semantic-queries/components/{semantic-query.vue2.js → semantic-query2.vue.js} +1 -1
- package/js/x-modules/semantic-queries/components/{semantic-query.vue2.js.map → semantic-query2.vue.js.map} +1 -1
- package/js/x-modules/tagging/components/{tagging.vue2.js → tagging2.vue.js} +1 -1
- package/js/x-modules/tagging/components/tagging2.vue.js.map +1 -0
- package/js/x-modules/url/components/url-handler.vue.js +1 -1
- package/js/x-modules/url/components/{url-handler.vue2.js → url-handler2.vue.js} +1 -1
- package/js/x-modules/url/components/{url-handler.vue2.js.map → url-handler2.vue.js.map} +1 -1
- package/package.json +23 -23
- package/report/tsdoc-metadata.json +1 -1
- package/report/x-adapter-platform.api.json +251 -1
- package/report/x-components.api.json +1 -1
- package/report/x-types.api.json +426 -1
- package/types/src/x-modules/related-prompts/components/related-prompts-tag-list.vue.d.ts.map +1 -1
- package/js/components/animations/animate-clip-path.vue2.js.map +0 -1
- package/js/components/animations/animate-clip-path.vue3.js +0 -7
- package/js/components/animations/animate-clip-path.vue3.js.map +0 -1
- package/js/components/animations/animate-scale.vue2.js.map +0 -1
- package/js/components/animations/animate-scale.vue3.js.map +0 -1
- package/js/components/animations/animate-translate.vue2.js.map +0 -1
- package/js/components/animations/animate-translate.vue3.js +0 -7
- package/js/components/animations/animate-translate.vue3.js.map +0 -1
- package/js/components/animations/animate-width.vue3.js.map +0 -1
- package/js/components/animations/change-height.vue3.js.map +0 -1
- package/js/components/animations/collapse-height.vue3.js.map +0 -1
- package/js/components/animations/collapse-width.vue3.js.map +0 -1
- package/js/components/animations/cross-fade.vue3.js.map +0 -1
- package/js/components/animations/fade-and-slide.vue3.js.map +0 -1
- package/js/components/animations/fade.vue3.js.map +0 -1
- package/js/components/animations/no-animation.vue2.js.map +0 -1
- package/js/components/animations/staggered-fade-and-slide.vue3.js.map +0 -1
- package/js/components/auto-progress-bar.vue3.js.map +0 -1
- package/js/components/base-dropdown.vue3.js.map +0 -1
- package/js/components/base-grid.vue3.js.map +0 -1
- package/js/components/base-rating.vue3.js.map +0 -1
- package/js/components/base-slider.vue3.js.map +0 -1
- package/js/components/base-switch.vue3.js.map +0 -1
- package/js/components/display-click-provider.vue2.js.map +0 -1
- package/js/components/display-emitter.vue2.js.map +0 -1
- package/js/components/filters/labels/base-price-filter-label.vue2.js.map +0 -1
- package/js/components/global-x-bus.vue2.js.map +0 -1
- package/js/components/location-provider.vue2.js.map +0 -1
- package/js/components/message.vue2.js.map +0 -1
- package/js/components/modals/base-modal.vue3.js.map +0 -1
- package/js/components/page-loader-button.vue3.js.map +0 -1
- package/js/components/page-selector.vue3.js.map +0 -1
- package/js/components/panels/base-header-toggle-panel.vue3.js.map +0 -1
- package/js/components/panels/base-tabs-panel.vue3.js.map +0 -1
- package/js/components/result/base-result-image.vue3.js.map +0 -1
- package/js/components/result/base-result-link.vue3.js.map +0 -1
- package/js/components/result/base-result-rating.vue3.js.map +0 -1
- package/js/components/result/result-variant-selector.vue3.js.map +0 -1
- package/js/components/result/result-variants-provider.vue2.js.map +0 -1
- package/js/components/sliding-panel.vue3.js.map +0 -1
- package/js/components/suggestions/base-suggestions.vue3.js.map +0 -1
- package/js/x-modules/ai/components/ai-carousel.vue3.js.map +0 -1
- package/js/x-modules/ai/components/ai-grouped-carousel.vue2.js +0 -123
- package/js/x-modules/experience-controls/components/experience-controls.vue2.js.map +0 -1
- package/js/x-modules/extra-params/components/extra-params.vue2.js.map +0 -1
- package/js/x-modules/extra-params/components/renderless-extra-param.vue2.js.map +0 -1
- package/js/x-modules/facets/components/facets/facets-provider.vue3.js.map +0 -1
- package/js/x-modules/facets/components/filters/editable-number-range-filter.vue3.js.map +0 -1
- package/js/x-modules/facets/components/filters/renderless-filter.vue2.js.map +0 -1
- package/js/x-modules/facets/components/lists/exclude-filters-with-no-results.vue2.js.map +0 -1
- package/js/x-modules/facets/components/lists/filters-list.vue3.js.map +0 -1
- package/js/x-modules/facets/components/lists/filters-search.vue3.js.map +0 -1
- package/js/x-modules/facets/components/lists/selected-filters.vue2.js.map +0 -1
- package/js/x-modules/facets/components/lists/sorted-filters.vue2.js.map +0 -1
- package/js/x-modules/facets/components/preselected-filters.vue2.js.map +0 -1
- package/js/x-modules/history-queries/components/my-history.vue3.js.map +0 -1
- package/js/x-modules/identifier-results/components/identifier-results.vue3.js.map +0 -1
- package/js/x-modules/next-queries/components/next-queries-list.vue2.js.map +0 -1
- package/js/x-modules/queries-preview/components/query-preview-button.vue2.js +0 -165
- package/js/x-modules/queries-preview/components/query-preview-list.vue3.js.map +0 -1
- package/js/x-modules/recommendations/components/recommendations.vue3.js.map +0 -1
- package/js/x-modules/related-prompts/components/related-prompt.vue3.js.map +0 -1
- package/js/x-modules/related-prompts/components/related-prompts-list.vue2.js.map +0 -1
- package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue3.js.map +0 -1
- package/js/x-modules/related-tags/components/related-tags.vue3.js.map +0 -1
- package/js/x-modules/scroll/components/main-scroll.vue2.js.map +0 -1
- package/js/x-modules/search/components/banner.vue3.js.map +0 -1
- package/js/x-modules/search/components/banners-list.vue2.js.map +0 -1
- package/js/x-modules/search/components/partial-results-list.vue3.js.map +0 -1
- package/js/x-modules/search/components/promoted.vue3.js.map +0 -1
- package/js/x-modules/search/components/promoteds-list.vue2.js.map +0 -1
- package/js/x-modules/search/components/results-list.vue2.js.map +0 -1
- package/js/x-modules/search/components/sort-list.vue3.js.map +0 -1
- package/js/x-modules/search-box/components/search-input-placeholder.vue3.js.map +0 -1
- package/js/x-modules/search-box/components/search-input-placeholder.vue4.js.map +0 -1
- package/js/x-modules/search-box/components/search-input.vue3.js.map +0 -1
- package/js/x-modules/tagging/components/tagging.vue2.js.map +0 -1
package/js/components/suggestions/{base-suggestion.vue2.js.map → base-suggestion2.vue.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-suggestion.vue2.js","sources":["../../../../src/components/suggestions/base-suggestion.vue"],"sourcesContent":["<template>\n <button ref=\"el\" :class=\"dynamicCSSClasses\" @click=\"emitEvents\">\n <!--\n @slot Button content\n @binding {Suggestion} suggestion - Suggestion data\n @binding {String} query - The query that the suggestion belongs to\n @binding {Filter} filter - Suggestion's filter\n -->\n <slot v-bind=\"{ query, suggestion, filter }\">\n <Highlight class=\"x-suggestion__query\" :text=\"suggestion.query\" :highlight=\"query\" />\n <span v-if=\"filter\" class=\"x-suggestion__filter\">{{ filter.label }}</span>\n </slot>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport type { BooleanFilter, Suggestion } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { QueryFeature } from '../../types'\nimport type { VueCSSClasses } from '../../utils/types'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport { forEach } from '@empathyco/x-utils'\nimport { computed, defineComponent, ref } from 'vue'\nimport { use$x } from '../../composables/index'\nimport Highlight from '../highlight.vue'\n\n/**\n * Renders a button with a default slot. It receives a query, which should be the query of the\n * module using this component, a suggestion, the {@link XEvent} that will be emitted\n * on click with a given feature.\n *\n * The default slot receives the suggestion and the matched query has props.\n *\n * @public\n */\nexport default defineComponent({\n components: { Highlight },\n props: {\n /**\n * The normalized query of the module using this component.\n *\n * @public\n */\n query: {\n type: String,\n default: '',\n },\n\n /**\n * The suggestion to render and use in the default slot.\n *\n * @public\n */\n suggestion: {\n type: Object as PropType<Suggestion>,\n required: true,\n },\n\n /**\n * The feature from which the events will be emitted.\n *\n * @public\n */\n //TODO: set to true when the suggestions components pass it.\n feature: {\n type: String as PropType<QueryFeature>,\n },\n\n /**\n * The {@link XEvent} that will be emitted when selecting a suggestion.\n *\n * @public\n */\n suggestionSelectedEvents: {\n type: Object as PropType<Partial<XEventsTypes>>,\n required: true,\n },\n\n /**\n * Indicates if the curated suggestion should be highlighted.\n *\n * @public\n */\n highlightCurated: {\n type: Boolean,\n },\n },\n\n setup(props) {\n const el = ref<HTMLElement | null>(null)\n\n const $x = use$x()\n\n /**\n * Returns the suggestion filter object.\n * It is a BooleanFilter because the label is needed.\n * It returns only the first element because the facets and filters are being planned\n * in the BaseSuggestions component.\n *\n * @returns The filter.\n * @public\n */\n const filter = computed<BooleanFilter | undefined>(\n () => props.suggestion.facets?.[0]?.filters[0] as BooleanFilter,\n )\n\n /**\n * The event handler that will be triggered when clicking on a suggestion.\n *\n * @remarks\n * UserAcceptedAQuery: suggestion.query\n * UserSelectedASuggestion: suggestion\n * UserClickedAFilter: suggestion.facets[0].filters[0]\n * Merges the events defined in the suggestionSelectedEvents prop and also emits them\n *\n * @returns The {@link XEvent} to emit.\n * @public\n */\n const events = computed<Partial<XEventsTypes>>(() => {\n const filterEvent: Partial<XEventsTypes> = filter.value\n ? { UserClickedAFilter: filter.value }\n : {}\n return {\n UserAcceptedAQuery: props.suggestion.query,\n UserSelectedASuggestion: props.suggestion,\n ...props.suggestionSelectedEvents,\n ...filterEvent,\n }\n })\n\n /**\n * Emits the events when the button is clicked.\n *\n * @public\n */\n const emitEvents = (): void => {\n forEach(events.value, (event, payload): void => {\n $x.emit(event, payload, {\n target: el.value!,\n feature: props.feature,\n })\n })\n }\n\n /**\n * Checks if the suggestion is curated and if it should be highlighted.\n *\n * @returns True if the suggestion is curated and should be highlighted.\n *\n * @internal\n */\n const shouldHighlightCurated = computed<boolean>(\n () => props.highlightCurated && !!props.suggestion.isCurated,\n )\n\n /**\n * Generates css classes dynamically.\n *\n * @remarks\n * 'x-suggestion--matching added when the query should be matched.\n *\n * @returns The {@link VueCSSClasses} classes.\n * @public\n */\n const dynamicCSSClasses = computed<VueCSSClasses>(() => ({\n 'x-suggestion--is-curated': shouldHighlightCurated.value,\n }))\n\n return {\n el,\n filter,\n emitEvents,\n dynamicCSSClasses,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following events:\n\n- [`UserAcceptedAQuery`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the suggestion query\n data.\n- [`UserSelectedASuggestion`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the suggestion data.\n- [`UserClickedAFilter`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button if the suggestion includes a filter. The\n event payload is the suggestion filter.\n- The component can emit more events on click using the `suggestionSelectedEvents` prop.\n\n## Examples\n\n### Basic usage\n\nThis suggestion component expects a suggestion to render and pass to its default slot, a normalized\nquery to compare with the suggestion's query and highlight its matching parts, and events to emit\nwhen the suggestion is selected.\n\nIf the suggestion contains a filter, it is displayed next to the suggestion.\n\n```vue live\n<template>\n <BaseSuggestion :query=\"query\" :suggestion=\"suggestion\" />\n</template>\n\n<script setup>\nimport { BaseSuggestion } from '@empathyco/x-components'\nconst query = 'st'\nconst suggestion = {\n modelName: 'QuerySuggestion',\n query: 'steak',\n facets: [\n {\n modelName: 'SimpleFacet',\n id: 'category',\n label: 'Category',\n filters: [\n {\n id: 'category:groceries',\n modelName: 'SimpleFilter',\n facetId: 'category-facet',\n label: 'Groceries',\n selected: false,\n totalResults: 10,\n },\n ],\n },\n ],\n}\n</script>\n```\n\n### Customise the content\n\nYou can make this component render any content you want by using the `default` slot.\n\n```vue live\n<template>\n <BaseSuggestion :query=\"query\" :suggestion=\"suggestion\">\n <template #default=\"{ suggestion, query, filter }\">\n <span>🔍</span>\n <Highlight :text=\"suggestion.query\" :highlight=\"query\" />\n <span v-if=\"filter\">{{ filter.label }}</span>\n </template>\n </BaseSuggestion>\n</template>\n\n<script setup>\nimport { BaseSuggestion } from '@empathyco/x-components'\nconst query = 'st'\nconst suggestion = {\n modelName: 'QuerySuggestion',\n query: 'steak',\n}\n</script>\n```\n\n### Emitting custom events with suggestionSelectedEvents\n\nYou can emit additional custom events when a suggestion is selected by passing them in the `suggestionSelectedEvents` prop. For example, to emit a custom event called `CustomSuggestionEvent` with a payload:\n\n```vue live\n<template>\n <BaseSuggestion\n :query=\"query\"\n :suggestion=\"suggestion\"\n :suggestionSelectedEvents=\"suggestionSelectedEvents\"\n />\n</template>\n\n<script setup>\nimport { BaseSuggestion } from '@empathyco/x-components'\nconst query = 'st'\nconst suggestion = {\n modelName: 'QuerySuggestion',\n query: 'steak',\n}\nconst suggestionSelectedEvents = {\n CustomSuggestionEvent: { custom: 'payload' },\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;;;;AA0BA;;;;;;;;AAQE;AACF,gBAAe,eAAe,CAAC;IAC7B,UAAU,EAAE,EAAE,WAAW;AACzB,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AAED;;;;AAIE;AACF,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,MAA8B;AACpC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AAED;;;;AAIE;;AAEF,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,MAAgC;AACvC,SAAA;AAED;;;;AAIE;AACF,QAAA,wBAAwB,EAAE;AACxB,YAAA,IAAI,EAAE,MAAyC;AAC/C,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AAED;;;;AAIE;AACF,QAAA,gBAAgB,EAAE;AAChB,YAAA,IAAI,EAAE,OAAO;AACd,SAAA;AACF,KAAA;AAED,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,GAAG,CAAqB,IAAI,CAAA;AAEvC,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB;;;;;;;;AAQE;QACF,MAAM,SAAS,QAAQ,CACrB,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAkB,CACjE;AAEA;;;;;;;;;;;AAWE;AACF,QAAA,MAAM,MAAK,GAAI,QAAQ,CAAwB,MAAI;AACjD,YAAA,MAAM,WAAW,GAA0B,MAAM,CAAC;AAChD,kBAAE,EAAE,kBAAkB,EAAE,MAAM,CAAC,KAAI;kBACjC,EAAC;YACL,OAAO;AACL,gBAAA,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK;gBAC1C,uBAAuB,EAAE,KAAK,CAAC,UAAU;gBACzC,GAAG,KAAK,CAAC,wBAAwB;AACjC,gBAAA,GAAG,WAAW;aAChB;AACF,QAAA,CAAC,CAAA;AAED;;;;AAIE;QACF,MAAM,UAAS,GAAI,MAAU;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAS;AAC5C,gBAAA,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;oBACtB,MAAM,EAAE,EAAE,CAAC,KAAM;oBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;AACvB,iBAAA,CAAA;AACH,YAAA,CAAC,CAAA;AACH,QAAA,CAAA;AAEA;;;;;;AAME;AACF,QAAA,MAAM,sBAAqB,GAAI,QAAQ,CACrC,MAAM,KAAK,CAAC,gBAAe,IAAK,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAC9D;AAEA;;;;;;;;AAQE;AACF,QAAA,MAAM,iBAAgB,GAAI,QAAQ,CAAgB,OAAO;YACvD,0BAA0B,EAAE,sBAAsB,CAAC,KAAK;AACzD,SAAA,CAAC,CAAA;QAEF,OAAO;YACL,EAAE;YACF,MAAM;YACN,UAAU;YACV,iBAAiB;SACnB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"base-suggestion2.vue.js","sources":["../../../../src/components/suggestions/base-suggestion.vue"],"sourcesContent":["<template>\n <button ref=\"el\" :class=\"dynamicCSSClasses\" @click=\"emitEvents\">\n <!--\n @slot Button content\n @binding {Suggestion} suggestion - Suggestion data\n @binding {String} query - The query that the suggestion belongs to\n @binding {Filter} filter - Suggestion's filter\n -->\n <slot v-bind=\"{ query, suggestion, filter }\">\n <Highlight class=\"x-suggestion__query\" :text=\"suggestion.query\" :highlight=\"query\" />\n <span v-if=\"filter\" class=\"x-suggestion__filter\">{{ filter.label }}</span>\n </slot>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport type { BooleanFilter, Suggestion } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { QueryFeature } from '../../types'\nimport type { VueCSSClasses } from '../../utils/types'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport { forEach } from '@empathyco/x-utils'\nimport { computed, defineComponent, ref } from 'vue'\nimport { use$x } from '../../composables/index'\nimport Highlight from '../highlight.vue'\n\n/**\n * Renders a button with a default slot. It receives a query, which should be the query of the\n * module using this component, a suggestion, the {@link XEvent} that will be emitted\n * on click with a given feature.\n *\n * The default slot receives the suggestion and the matched query has props.\n *\n * @public\n */\nexport default defineComponent({\n components: { Highlight },\n props: {\n /**\n * The normalized query of the module using this component.\n *\n * @public\n */\n query: {\n type: String,\n default: '',\n },\n\n /**\n * The suggestion to render and use in the default slot.\n *\n * @public\n */\n suggestion: {\n type: Object as PropType<Suggestion>,\n required: true,\n },\n\n /**\n * The feature from which the events will be emitted.\n *\n * @public\n */\n //TODO: set to true when the suggestions components pass it.\n feature: {\n type: String as PropType<QueryFeature>,\n },\n\n /**\n * The {@link XEvent} that will be emitted when selecting a suggestion.\n *\n * @public\n */\n suggestionSelectedEvents: {\n type: Object as PropType<Partial<XEventsTypes>>,\n required: true,\n },\n\n /**\n * Indicates if the curated suggestion should be highlighted.\n *\n * @public\n */\n highlightCurated: {\n type: Boolean,\n },\n },\n\n setup(props) {\n const el = ref<HTMLElement | null>(null)\n\n const $x = use$x()\n\n /**\n * Returns the suggestion filter object.\n * It is a BooleanFilter because the label is needed.\n * It returns only the first element because the facets and filters are being planned\n * in the BaseSuggestions component.\n *\n * @returns The filter.\n * @public\n */\n const filter = computed<BooleanFilter | undefined>(\n () => props.suggestion.facets?.[0]?.filters[0] as BooleanFilter,\n )\n\n /**\n * The event handler that will be triggered when clicking on a suggestion.\n *\n * @remarks\n * UserAcceptedAQuery: suggestion.query\n * UserSelectedASuggestion: suggestion\n * UserClickedAFilter: suggestion.facets[0].filters[0]\n * Merges the events defined in the suggestionSelectedEvents prop and also emits them\n *\n * @returns The {@link XEvent} to emit.\n * @public\n */\n const events = computed<Partial<XEventsTypes>>(() => {\n const filterEvent: Partial<XEventsTypes> = filter.value\n ? { UserClickedAFilter: filter.value }\n : {}\n return {\n UserAcceptedAQuery: props.suggestion.query,\n UserSelectedASuggestion: props.suggestion,\n ...props.suggestionSelectedEvents,\n ...filterEvent,\n }\n })\n\n /**\n * Emits the events when the button is clicked.\n *\n * @public\n */\n const emitEvents = (): void => {\n forEach(events.value, (event, payload): void => {\n $x.emit(event, payload, {\n target: el.value!,\n feature: props.feature,\n })\n })\n }\n\n /**\n * Checks if the suggestion is curated and if it should be highlighted.\n *\n * @returns True if the suggestion is curated and should be highlighted.\n *\n * @internal\n */\n const shouldHighlightCurated = computed<boolean>(\n () => props.highlightCurated && !!props.suggestion.isCurated,\n )\n\n /**\n * Generates css classes dynamically.\n *\n * @remarks\n * 'x-suggestion--matching added when the query should be matched.\n *\n * @returns The {@link VueCSSClasses} classes.\n * @public\n */\n const dynamicCSSClasses = computed<VueCSSClasses>(() => ({\n 'x-suggestion--is-curated': shouldHighlightCurated.value,\n }))\n\n return {\n el,\n filter,\n emitEvents,\n dynamicCSSClasses,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following events:\n\n- [`UserAcceptedAQuery`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the suggestion query\n data.\n- [`UserSelectedASuggestion`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the suggestion data.\n- [`UserClickedAFilter`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button if the suggestion includes a filter. The\n event payload is the suggestion filter.\n- The component can emit more events on click using the `suggestionSelectedEvents` prop.\n\n## Examples\n\n### Basic usage\n\nThis suggestion component expects a suggestion to render and pass to its default slot, a normalized\nquery to compare with the suggestion's query and highlight its matching parts, and events to emit\nwhen the suggestion is selected.\n\nIf the suggestion contains a filter, it is displayed next to the suggestion.\n\n```vue live\n<template>\n <BaseSuggestion :query=\"query\" :suggestion=\"suggestion\" />\n</template>\n\n<script setup>\nimport { BaseSuggestion } from '@empathyco/x-components'\nconst query = 'st'\nconst suggestion = {\n modelName: 'QuerySuggestion',\n query: 'steak',\n facets: [\n {\n modelName: 'SimpleFacet',\n id: 'category',\n label: 'Category',\n filters: [\n {\n id: 'category:groceries',\n modelName: 'SimpleFilter',\n facetId: 'category-facet',\n label: 'Groceries',\n selected: false,\n totalResults: 10,\n },\n ],\n },\n ],\n}\n</script>\n```\n\n### Customise the content\n\nYou can make this component render any content you want by using the `default` slot.\n\n```vue live\n<template>\n <BaseSuggestion :query=\"query\" :suggestion=\"suggestion\">\n <template #default=\"{ suggestion, query, filter }\">\n <span>🔍</span>\n <Highlight :text=\"suggestion.query\" :highlight=\"query\" />\n <span v-if=\"filter\">{{ filter.label }}</span>\n </template>\n </BaseSuggestion>\n</template>\n\n<script setup>\nimport { BaseSuggestion } from '@empathyco/x-components'\nconst query = 'st'\nconst suggestion = {\n modelName: 'QuerySuggestion',\n query: 'steak',\n}\n</script>\n```\n\n### Emitting custom events with suggestionSelectedEvents\n\nYou can emit additional custom events when a suggestion is selected by passing them in the `suggestionSelectedEvents` prop. For example, to emit a custom event called `CustomSuggestionEvent` with a payload:\n\n```vue live\n<template>\n <BaseSuggestion\n :query=\"query\"\n :suggestion=\"suggestion\"\n :suggestionSelectedEvents=\"suggestionSelectedEvents\"\n />\n</template>\n\n<script setup>\nimport { BaseSuggestion } from '@empathyco/x-components'\nconst query = 'st'\nconst suggestion = {\n modelName: 'QuerySuggestion',\n query: 'steak',\n}\nconst suggestionSelectedEvents = {\n CustomSuggestionEvent: { custom: 'payload' },\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;;;;AA0BA;;;;;;;;AAQE;AACF,gBAAe,eAAe,CAAC;IAC7B,UAAU,EAAE,EAAE,WAAW;AACzB,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AAED;;;;AAIE;AACF,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,MAA8B;AACpC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AAED;;;;AAIE;;AAEF,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,MAAgC;AACvC,SAAA;AAED;;;;AAIE;AACF,QAAA,wBAAwB,EAAE;AACxB,YAAA,IAAI,EAAE,MAAyC;AAC/C,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AAED;;;;AAIE;AACF,QAAA,gBAAgB,EAAE;AAChB,YAAA,IAAI,EAAE,OAAO;AACd,SAAA;AACF,KAAA;AAED,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,GAAG,CAAqB,IAAI,CAAA;AAEvC,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB;;;;;;;;AAQE;QACF,MAAM,SAAS,QAAQ,CACrB,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAkB,CACjE;AAEA;;;;;;;;;;;AAWE;AACF,QAAA,MAAM,MAAK,GAAI,QAAQ,CAAwB,MAAI;AACjD,YAAA,MAAM,WAAW,GAA0B,MAAM,CAAC;AAChD,kBAAE,EAAE,kBAAkB,EAAE,MAAM,CAAC,KAAI;kBACjC,EAAC;YACL,OAAO;AACL,gBAAA,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK;gBAC1C,uBAAuB,EAAE,KAAK,CAAC,UAAU;gBACzC,GAAG,KAAK,CAAC,wBAAwB;AACjC,gBAAA,GAAG,WAAW;aAChB;AACF,QAAA,CAAC,CAAA;AAED;;;;AAIE;QACF,MAAM,UAAS,GAAI,MAAU;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAS;AAC5C,gBAAA,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;oBACtB,MAAM,EAAE,EAAE,CAAC,KAAM;oBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;AACvB,iBAAA,CAAA;AACH,YAAA,CAAC,CAAA;AACH,QAAA,CAAA;AAEA;;;;;;AAME;AACF,QAAA,MAAM,sBAAqB,GAAI,QAAQ,CACrC,MAAM,KAAK,CAAC,gBAAe,IAAK,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAC9D;AAEA;;;;;;;;AAQE;AACF,QAAA,MAAM,iBAAgB,GAAI,QAAQ,CAAgB,OAAO;YACvD,0BAA0B,EAAE,sBAAsB,CAAC,KAAK;AACzD,SAAA,CAAC,CAAA;QAEF,OAAO;YACL,EAAE;YACF,MAAM;YACN,UAAU;YACV,iBAAiB;SACnB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import _sfc_main from './base-
|
|
1
|
+
import _sfc_main from './base-suggestions2.vue.js';
|
|
2
2
|
import { openBlock, createBlock, resolveDynamicComponent, withCtx, createElementBlock, Fragment, renderList, normalizeClass, renderSlot, mergeProps, createCommentVNode } from 'vue';
|
|
3
|
-
import './base-
|
|
3
|
+
import './base-suggestions3.vue.js';
|
|
4
4
|
import _export_sfc from '../../_virtual/_plugin-vue_export-helper.js';
|
|
5
5
|
|
|
6
6
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
package/js/components/suggestions/{base-suggestions.vue2.js.map → base-suggestions2.vue.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-suggestions.vue2.js","sources":["../../../../src/components/suggestions/base-suggestions.vue"],"sourcesContent":["<template>\n <component :is=\"animation\" v-if=\"suggestions.length\" tag=\"ul\" class=\"x-suggestions\">\n <li\n v-for=\"(suggestion, index) in suggestionsToRender\"\n :key=\"suggestionsKeys[index]\"\n class=\"x-suggestions__item\"\n :class=\"suggestionItemClass\"\n data-test=\"suggestion-item\"\n >\n <!--\n @slot (Required) List item content\n @binding {Suggestion} suggestion - Suggestion data\n @binding {number} index - Suggestion index\n @binding {Filter | undefined} filter - Suggestion's filter\n -->\n <slot v-bind=\"{ suggestion, index, filter: getSuggestionFilter(suggestion) }\" />\n </li>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { Facet, Suggestion } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport { computed, defineComponent } from 'vue'\nimport { AnimationProp } from '../../types'\nimport { isArrayEmpty } from '../../utils/array'\n\n/**\n * Paints a list of suggestions passed in by prop. Requires a component for a single suggestion\n * in the default slot for working.\n *\n * @public\n */\nexport default defineComponent({\n name: 'BaseSuggestions',\n props: {\n /**\n * The list of suggestions to render.\n *\n * @public\n */\n suggestions: {\n type: Array as PropType<Suggestion[]>,\n required: true,\n },\n /**\n * Animation component that will be used to animate the suggestion.\n *\n * @public\n */\n animation: {\n type: AnimationProp,\n default: 'ul',\n },\n /**\n * Number of suggestions to be rendered.\n *\n * @public\n */\n maxItemsToRender: Number,\n /**\n * Boolean value to indicate if the facets should be rendered.\n *\n * @public\n */\n showFacets: {\n type: Boolean,\n default: false,\n },\n /**\n * When `showFacets` property of `BaseSuggestions` component is true, it indicates if the suggestion without\n * filter should be rendered.\n *\n * @public\n */\n showPlainSuggestion: {\n type: Boolean,\n default: false,\n },\n /** Class inherited by content element. */\n suggestionItemClass: String,\n },\n setup(props) {\n /**\n * Creates a suggestion for each one of the filter inside each facet.\n *\n * @param suggestion - Suggestion to expand.\n * @returns A list of suggestions, each one with a single filter.\n *\n * @internal\n */\n const expandSuggestionFilters = (suggestion: Suggestion): Suggestion[] => {\n return (\n suggestion.facets?.flatMap(facet =>\n facet.filters.map(filter => ({\n ...suggestion,\n facets: [{ ...facet, filters: [filter] }],\n })),\n ) ?? []\n )\n }\n\n /**\n * Creates a list of suggestions to render based on the configuration of this component.\n *\n * @returns - The list of suggestions to be rendered by this component.\n *\n * @internal\n */\n const suggestionsToRender = computed(() =>\n props.suggestions\n .flatMap(suggestion =>\n props.showFacets && suggestion.facets?.length\n ? props.showPlainSuggestion\n ? [{ ...suggestion, facets: [] }, ...expandSuggestionFilters(suggestion)]\n : expandSuggestionFilters(suggestion)\n : { ...suggestion, facets: [] },\n )\n .slice(0, props.maxItemsToRender),\n )\n\n /**\n * Generates a string from the given facet.\n *\n * @param facet - The facet to reduce to a string.\n * @returns - A string representing the facet.\n * @internal\n */\n const getFacetKey = (facet: Facet) => facet.filters.map(filter => filter.id).join('&')\n\n /**\n * Generates a string from the given facets.\n *\n * @param facets - The list of facets to reduce to a string.\n * @returns - A string representing the list of facets.\n * @internal\n */\n const getFacetsKey = (facets: Facet[]) => facets.map(getFacetKey).join('&')\n\n /**\n * An array with the unique keys for each suggestion. Required by the `v-for` loop.\n *\n * @returns An array with the unique keys of the suggestions.\n * @internal\n */\n const suggestionsKeys = computed(() =>\n suggestionsToRender.value.map(suggestion =>\n isArrayEmpty(suggestion.facets)\n ? suggestion.query\n : `${suggestion.query}-in-${getFacetsKey(suggestion.facets)}`,\n ),\n )\n\n /**\n * Returns the filter contained by the suggestion.\n *\n * @param suggestion - Suggestion containing the filter.\n * @returns The suggestion filter.\n * @internal\n */\n const getSuggestionFilter = (suggestion: Suggestion) => suggestion.facets?.[0]?.filters[0]\n\n return { suggestionsToRender, suggestionsKeys, getSuggestionFilter }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-suggestions {\n list-style-type: none;\n}\n\n.x-suggestions,\n.x-suggestions__item {\n display: flex;\n flex-flow: column nowrap;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Examples\n\nFor this component to work, you will need to set a list of suggestions as prop, and also to\nimplement the component for single suggestion, which handles the click event. In the following\nexample, the suggestions are retrieved from a property called `suggestions`, and the implementation\nof the suggestion component is a simple `button`, that calls the `emitSuggestionSelected` method\nwhen clicked.\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\">\n <template #default=\"{ suggestion }\">\n <button @click=\"emitSuggestionSelected($event, suggestion)\">\n {{ suggestion.query }}\n </button>\n </template>\n </BaseSuggestions>\n</template>\n\n<script setup>\nimport { ref } from 'vue'\nimport { BaseSuggestions } from '@empathyco/x-components'\nimport { use$x } from '../../composables'\n\nconst x = use$x()\nconst suggestions = ref([\n {\n query: 'Chips',\n facets: [],\n key: 'chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n query: 'Puzzle',\n facets: [],\n key: 'puzzle',\n totalResults: 5,\n results: [],\n modelName: 'PopularSearch',\n },\n])\nfunction emitSuggestionSelected(event, suggestion) {\n x.emit('UserAcceptedAQuery', suggestion.query, { target: event.target })\n x.emit('UserSelectedAQuerySuggestion', suggestion, { target: event.target })\n}\n</script>\n```\n\n### Play with props\n\nIn this example, the suggestions has been limited to render a maximum of 3 items. _Type \"puzzle\" or\nanother toy in the input field to try it out!_\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\" :maxItemsToRender=\"3\" />\n</template>\n\n<script setup>\nimport { BaseSuggestions } from '@empathyco/x-components'\nconst suggestions = [\n {\n facets: [],\n key: 'chips',\n query: 'Chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n facets: [],\n key: 'puzzle',\n query: 'Puzzle',\n totalResults: 5,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n facets: [],\n key: 'lego',\n query: 'Lego',\n totalResults: 8,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n facets: [],\n key: 'car',\n query: 'Car',\n totalResults: 3,\n results: [],\n modelName: 'PopularSearch',\n },\n]\n</script>\n```\n\nIn this example, the filters of the suggestion will be rendered along with the query.\n\nThe `showPlainSuggestion` prop can be used to indicate if the suggestion without filter must be\nrendered along with the suggestion with filters.\n\nThis will render:\n\n- Chips //If `showPlainSuggestion` is true\n- Chips EXAMPLE\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\" showFacets showPlainSuggestion />\n</template>\n\n<script setup>\nimport { BaseSuggestions } from '@empathyco/x-components'\nconst suggestions = [\n {\n facets: [\n {\n id: 'exampleFacet',\n label: 'exampleFacet',\n modelName: 'SimpleFacet',\n filters: [\n {\n facetId: 'exampleFacet',\n id: '{!tag=exampleFacet}exampleFacet_60361120_64009600:\"EXAMPLE\"',\n label: 'EXAMPLE',\n selected: false,\n totalResults: 10,\n modelName: 'SimpleFilter',\n },\n ],\n },\n ],\n key: 'chips',\n query: 'Chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n]\n</script>\n```\n\nIn this example, the `suggestionItemClass` prop can be used to add classes to the suggestion item.\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\" suggestionItemClass=\"x-custom-class\" />\n</template>\n\n<script setup>\nimport { BaseSuggestions } from '@empathyco/x-components'\nconst suggestions = [\n {\n facets: [],\n key: 'chips',\n query: 'Chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n]\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;AA2BA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,WAAW,EAAE;AACX,YAAA,IAAI,EAAE,KAA+B;AACrC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD;;;;AAIE;AACF,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD;;;;AAIE;AACF,QAAA,gBAAgB,EAAE,MAAM;AACxB;;;;AAIE;AACF,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACD;;;;;AAKE;AACF,QAAA,mBAAmB,EAAE;AACnB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;;AAED,QAAA,mBAAmB,EAAE,MAAM;AAC5B,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;;;;AAOE;AACF,QAAA,MAAM,uBAAsB,GAAI,CAAC,UAAsB,KAAiB;YACtE,QACE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,SACzB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAK,KAAM;AAC3B,gBAAA,GAAG,UAAU;AACb,gBAAA,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAA,EAAG,CAAC;AAC1C,aAAA,CAAC,CAAC,CACL,IAAK,EAAC;AAEV,QAAA,CAAA;AAEA;;;;;;AAME;QACF,MAAM,mBAAkB,GAAI,QAAQ,CAAC,MACnC,KAAK,CAAC;AACH,aAAA,OAAO,CAAC,cACP,KAAK,CAAC,cAAc,UAAU,CAAC,MAAM,EAAE;cACnC,KAAK,CAAC;AACN,kBAAE,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,EAAC,EAAG,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC;AACxE,kBAAE,uBAAuB,CAAC,UAAU;cACpC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,EAAC,EAAG;aAElC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CACrC;AAEA;;;;;;AAME;QACF,MAAM,cAAc,CAAC,KAAY,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;AAErF;;;;;;AAME;AACF,QAAA,MAAM,YAAW,GAAI,CAAC,MAAe,KAAK,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;AAE1E;;;;;AAKE;QACF,MAAM,eAAc,GAAI,QAAQ,CAAC,MAC/B,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,cAC5B,YAAY,CAAC,UAAU,CAAC,MAAM;cAC1B,UAAU,CAAC;AACb,cAAE,CAAA,EAAG,UAAU,CAAC,KAAK,CAAA,IAAA,EAAO,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA,CAAE,CAChE,CACH;AAEA;;;;;;AAME;AACF,QAAA,MAAM,mBAAkB,GAAI,CAAC,UAAsB,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AAEzF,QAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAkB,EAAE;IACrE,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"base-suggestions2.vue.js","sources":["../../../../src/components/suggestions/base-suggestions.vue"],"sourcesContent":["<template>\n <component :is=\"animation\" v-if=\"suggestions.length\" tag=\"ul\" class=\"x-suggestions\">\n <li\n v-for=\"(suggestion, index) in suggestionsToRender\"\n :key=\"suggestionsKeys[index]\"\n class=\"x-suggestions__item\"\n :class=\"suggestionItemClass\"\n data-test=\"suggestion-item\"\n >\n <!--\n @slot (Required) List item content\n @binding {Suggestion} suggestion - Suggestion data\n @binding {number} index - Suggestion index\n @binding {Filter | undefined} filter - Suggestion's filter\n -->\n <slot v-bind=\"{ suggestion, index, filter: getSuggestionFilter(suggestion) }\" />\n </li>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { Facet, Suggestion } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport { computed, defineComponent } from 'vue'\nimport { AnimationProp } from '../../types'\nimport { isArrayEmpty } from '../../utils/array'\n\n/**\n * Paints a list of suggestions passed in by prop. Requires a component for a single suggestion\n * in the default slot for working.\n *\n * @public\n */\nexport default defineComponent({\n name: 'BaseSuggestions',\n props: {\n /**\n * The list of suggestions to render.\n *\n * @public\n */\n suggestions: {\n type: Array as PropType<Suggestion[]>,\n required: true,\n },\n /**\n * Animation component that will be used to animate the suggestion.\n *\n * @public\n */\n animation: {\n type: AnimationProp,\n default: 'ul',\n },\n /**\n * Number of suggestions to be rendered.\n *\n * @public\n */\n maxItemsToRender: Number,\n /**\n * Boolean value to indicate if the facets should be rendered.\n *\n * @public\n */\n showFacets: {\n type: Boolean,\n default: false,\n },\n /**\n * When `showFacets` property of `BaseSuggestions` component is true, it indicates if the suggestion without\n * filter should be rendered.\n *\n * @public\n */\n showPlainSuggestion: {\n type: Boolean,\n default: false,\n },\n /** Class inherited by content element. */\n suggestionItemClass: String,\n },\n setup(props) {\n /**\n * Creates a suggestion for each one of the filter inside each facet.\n *\n * @param suggestion - Suggestion to expand.\n * @returns A list of suggestions, each one with a single filter.\n *\n * @internal\n */\n const expandSuggestionFilters = (suggestion: Suggestion): Suggestion[] => {\n return (\n suggestion.facets?.flatMap(facet =>\n facet.filters.map(filter => ({\n ...suggestion,\n facets: [{ ...facet, filters: [filter] }],\n })),\n ) ?? []\n )\n }\n\n /**\n * Creates a list of suggestions to render based on the configuration of this component.\n *\n * @returns - The list of suggestions to be rendered by this component.\n *\n * @internal\n */\n const suggestionsToRender = computed(() =>\n props.suggestions\n .flatMap(suggestion =>\n props.showFacets && suggestion.facets?.length\n ? props.showPlainSuggestion\n ? [{ ...suggestion, facets: [] }, ...expandSuggestionFilters(suggestion)]\n : expandSuggestionFilters(suggestion)\n : { ...suggestion, facets: [] },\n )\n .slice(0, props.maxItemsToRender),\n )\n\n /**\n * Generates a string from the given facet.\n *\n * @param facet - The facet to reduce to a string.\n * @returns - A string representing the facet.\n * @internal\n */\n const getFacetKey = (facet: Facet) => facet.filters.map(filter => filter.id).join('&')\n\n /**\n * Generates a string from the given facets.\n *\n * @param facets - The list of facets to reduce to a string.\n * @returns - A string representing the list of facets.\n * @internal\n */\n const getFacetsKey = (facets: Facet[]) => facets.map(getFacetKey).join('&')\n\n /**\n * An array with the unique keys for each suggestion. Required by the `v-for` loop.\n *\n * @returns An array with the unique keys of the suggestions.\n * @internal\n */\n const suggestionsKeys = computed(() =>\n suggestionsToRender.value.map(suggestion =>\n isArrayEmpty(suggestion.facets)\n ? suggestion.query\n : `${suggestion.query}-in-${getFacetsKey(suggestion.facets)}`,\n ),\n )\n\n /**\n * Returns the filter contained by the suggestion.\n *\n * @param suggestion - Suggestion containing the filter.\n * @returns The suggestion filter.\n * @internal\n */\n const getSuggestionFilter = (suggestion: Suggestion) => suggestion.facets?.[0]?.filters[0]\n\n return { suggestionsToRender, suggestionsKeys, getSuggestionFilter }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-suggestions {\n list-style-type: none;\n}\n\n.x-suggestions,\n.x-suggestions__item {\n display: flex;\n flex-flow: column nowrap;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Examples\n\nFor this component to work, you will need to set a list of suggestions as prop, and also to\nimplement the component for single suggestion, which handles the click event. In the following\nexample, the suggestions are retrieved from a property called `suggestions`, and the implementation\nof the suggestion component is a simple `button`, that calls the `emitSuggestionSelected` method\nwhen clicked.\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\">\n <template #default=\"{ suggestion }\">\n <button @click=\"emitSuggestionSelected($event, suggestion)\">\n {{ suggestion.query }}\n </button>\n </template>\n </BaseSuggestions>\n</template>\n\n<script setup>\nimport { ref } from 'vue'\nimport { BaseSuggestions } from '@empathyco/x-components'\nimport { use$x } from '../../composables'\n\nconst x = use$x()\nconst suggestions = ref([\n {\n query: 'Chips',\n facets: [],\n key: 'chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n query: 'Puzzle',\n facets: [],\n key: 'puzzle',\n totalResults: 5,\n results: [],\n modelName: 'PopularSearch',\n },\n])\nfunction emitSuggestionSelected(event, suggestion) {\n x.emit('UserAcceptedAQuery', suggestion.query, { target: event.target })\n x.emit('UserSelectedAQuerySuggestion', suggestion, { target: event.target })\n}\n</script>\n```\n\n### Play with props\n\nIn this example, the suggestions has been limited to render a maximum of 3 items. _Type \"puzzle\" or\nanother toy in the input field to try it out!_\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\" :maxItemsToRender=\"3\" />\n</template>\n\n<script setup>\nimport { BaseSuggestions } from '@empathyco/x-components'\nconst suggestions = [\n {\n facets: [],\n key: 'chips',\n query: 'Chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n facets: [],\n key: 'puzzle',\n query: 'Puzzle',\n totalResults: 5,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n facets: [],\n key: 'lego',\n query: 'Lego',\n totalResults: 8,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n facets: [],\n key: 'car',\n query: 'Car',\n totalResults: 3,\n results: [],\n modelName: 'PopularSearch',\n },\n]\n</script>\n```\n\nIn this example, the filters of the suggestion will be rendered along with the query.\n\nThe `showPlainSuggestion` prop can be used to indicate if the suggestion without filter must be\nrendered along with the suggestion with filters.\n\nThis will render:\n\n- Chips //If `showPlainSuggestion` is true\n- Chips EXAMPLE\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\" showFacets showPlainSuggestion />\n</template>\n\n<script setup>\nimport { BaseSuggestions } from '@empathyco/x-components'\nconst suggestions = [\n {\n facets: [\n {\n id: 'exampleFacet',\n label: 'exampleFacet',\n modelName: 'SimpleFacet',\n filters: [\n {\n facetId: 'exampleFacet',\n id: '{!tag=exampleFacet}exampleFacet_60361120_64009600:\"EXAMPLE\"',\n label: 'EXAMPLE',\n selected: false,\n totalResults: 10,\n modelName: 'SimpleFilter',\n },\n ],\n },\n ],\n key: 'chips',\n query: 'Chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n]\n</script>\n```\n\nIn this example, the `suggestionItemClass` prop can be used to add classes to the suggestion item.\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\" suggestionItemClass=\"x-custom-class\" />\n</template>\n\n<script setup>\nimport { BaseSuggestions } from '@empathyco/x-components'\nconst suggestions = [\n {\n facets: [],\n key: 'chips',\n query: 'Chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n]\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;AA2BA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,WAAW,EAAE;AACX,YAAA,IAAI,EAAE,KAA+B;AACrC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD;;;;AAIE;AACF,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD;;;;AAIE;AACF,QAAA,gBAAgB,EAAE,MAAM;AACxB;;;;AAIE;AACF,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACD;;;;;AAKE;AACF,QAAA,mBAAmB,EAAE;AACnB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;;AAED,QAAA,mBAAmB,EAAE,MAAM;AAC5B,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;;;;AAOE;AACF,QAAA,MAAM,uBAAsB,GAAI,CAAC,UAAsB,KAAiB;YACtE,QACE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,SACzB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAK,KAAM;AAC3B,gBAAA,GAAG,UAAU;AACb,gBAAA,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAA,EAAG,CAAC;AAC1C,aAAA,CAAC,CAAC,CACL,IAAK,EAAC;AAEV,QAAA,CAAA;AAEA;;;;;;AAME;QACF,MAAM,mBAAkB,GAAI,QAAQ,CAAC,MACnC,KAAK,CAAC;AACH,aAAA,OAAO,CAAC,cACP,KAAK,CAAC,cAAc,UAAU,CAAC,MAAM,EAAE;cACnC,KAAK,CAAC;AACN,kBAAE,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,EAAC,EAAG,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC;AACxE,kBAAE,uBAAuB,CAAC,UAAU;cACpC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,EAAC,EAAG;aAElC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CACrC;AAEA;;;;;;AAME;QACF,MAAM,cAAc,CAAC,KAAY,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;AAErF;;;;;;AAME;AACF,QAAA,MAAM,YAAW,GAAI,CAAC,MAAe,KAAK,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;AAE1E;;;;;AAKE;QACF,MAAM,eAAc,GAAI,QAAQ,CAAC,MAC/B,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,cAC5B,YAAY,CAAC,UAAU,CAAC,MAAM;cAC1B,UAAU,CAAC;AACb,cAAE,CAAA,EAAG,UAAU,CAAC,KAAK,CAAA,IAAA,EAAO,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA,CAAE,CAChE,CACH;AAEA;;;;;;AAME;AACF,QAAA,MAAM,mBAAkB,GAAI,CAAC,UAAsB,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AAEzF,QAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAkB,EAAE;IACrE,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-suggestions3.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
package/js/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { default as AnimateClipPath } from './components/animations/animate-clip-path.vue.js';
|
|
2
|
-
import './components/animations/animate-clip-
|
|
2
|
+
import './components/animations/animate-clip-path2.vue.js';
|
|
3
3
|
export { default as AnimateScale } from './components/animations/animate-scale.vue.js';
|
|
4
|
-
import './components/animations/animate-
|
|
4
|
+
import './components/animations/animate-scale2.vue.js';
|
|
5
5
|
export { default as AnimateTranslate } from './components/animations/animate-translate.vue.js';
|
|
6
|
-
import './components/animations/animate-
|
|
6
|
+
import './components/animations/animate-translate2.vue.js';
|
|
7
7
|
export { default as AnimateWidth } from './components/animations/animate-width.vue.js';
|
|
8
8
|
export { default as ChangeHeight } from './components/animations/change-height.vue.js';
|
|
9
9
|
export { default as CollapseHeight } from './components/animations/collapse-height.vue.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import _sfc_main from './ai-
|
|
1
|
+
import _sfc_main from './ai-carousel2.vue.js';
|
|
2
2
|
import { resolveComponent, openBlock, createBlock, withCtx, createElementBlock, createVNode, createElementVNode, normalizeClass, toDisplayString, createCommentVNode, renderSlot, Fragment, renderList, createTextVNode } from 'vue';
|
|
3
|
-
import './ai-
|
|
3
|
+
import './ai-carousel3.vue.js';
|
|
4
4
|
import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
|
|
5
5
|
|
|
6
6
|
const _hoisted_1 = {
|
|
@@ -1,95 +1,95 @@
|
|
|
1
1
|
import { useResizeObserver } from '@vueuse/core';
|
|
2
2
|
import { defineComponent, ref, computed, watch, onMounted } from 'vue';
|
|
3
|
-
import '../../../components/animations/animate-clip-
|
|
4
|
-
import '../../../components/animations/animate-
|
|
5
|
-
import '../../../components/animations/animate-
|
|
6
|
-
import '../../../components/animations/animate-
|
|
7
|
-
import '../../../components/animations/animate-
|
|
3
|
+
import '../../../components/animations/animate-clip-path2.vue.js';
|
|
4
|
+
import '../../../components/animations/animate-scale2.vue.js';
|
|
5
|
+
import '../../../components/animations/animate-translate2.vue.js';
|
|
6
|
+
import '../../../components/animations/animate-width2.vue.js';
|
|
7
|
+
import '../../../components/animations/animate-width3.vue.js';
|
|
8
8
|
import ChangeHeight from '../../../components/animations/change-height.vue.js';
|
|
9
9
|
import CollapseHeight from '../../../components/animations/collapse-height.vue.js';
|
|
10
|
-
import '../../../components/animations/collapse-
|
|
11
|
-
import '../../../components/animations/collapse-
|
|
12
|
-
import '../../../components/animations/cross-
|
|
13
|
-
import '../../../components/animations/cross-
|
|
14
|
-
import '../../../components/animations/fade-and-
|
|
15
|
-
import '../../../components/animations/fade-and-
|
|
16
|
-
import '../../../components/animations/
|
|
17
|
-
import '../../../components/animations/
|
|
10
|
+
import '../../../components/animations/collapse-width2.vue.js';
|
|
11
|
+
import '../../../components/animations/collapse-width3.vue.js';
|
|
12
|
+
import '../../../components/animations/cross-fade2.vue.js';
|
|
13
|
+
import '../../../components/animations/cross-fade3.vue.js';
|
|
14
|
+
import '../../../components/animations/fade-and-slide2.vue.js';
|
|
15
|
+
import '../../../components/animations/fade-and-slide3.vue.js';
|
|
16
|
+
import '../../../components/animations/fade2.vue.js';
|
|
17
|
+
import '../../../components/animations/fade3.vue.js';
|
|
18
18
|
import '../../../components/animations/no-animation.vue.js';
|
|
19
|
-
import '../../../components/animations/staggered-fade-and-
|
|
20
|
-
import '../../../components/animations/staggered-fade-and-
|
|
21
|
-
import '../../../components/auto-progress-
|
|
22
|
-
import '../../../components/auto-progress-
|
|
23
|
-
import '../../../components/base-
|
|
24
|
-
import '../../../components/base-
|
|
19
|
+
import '../../../components/animations/staggered-fade-and-slide2.vue.js';
|
|
20
|
+
import '../../../components/animations/staggered-fade-and-slide3.vue.js';
|
|
21
|
+
import '../../../components/auto-progress-bar2.vue.js';
|
|
22
|
+
import '../../../components/auto-progress-bar3.vue.js';
|
|
23
|
+
import '../../../components/base-dropdown2.vue.js';
|
|
24
|
+
import '../../../components/base-dropdown3.vue.js';
|
|
25
25
|
import BaseEventButton from '../../../components/base-event-button.vue.js';
|
|
26
|
-
import '../../../components/base-
|
|
27
|
-
import '../../../components/base-
|
|
28
|
-
import '../../../components/base-keyboard-
|
|
29
|
-
import '../../../components/base-
|
|
30
|
-
import '../../../components/base-
|
|
31
|
-
import '../../../components/base-
|
|
32
|
-
import '../../../components/base-
|
|
33
|
-
import '../../../components/base-
|
|
34
|
-
import '../../../components/base-
|
|
35
|
-
import '../../../components/base-
|
|
36
|
-
import '../../../components/base-variable-column-
|
|
37
|
-
import '../../../components/column-picker/base-column-picker-
|
|
38
|
-
import '../../../components/column-picker/base-column-picker-
|
|
39
|
-
import '../../../components/currency/base-
|
|
26
|
+
import '../../../components/base-grid2.vue.js';
|
|
27
|
+
import '../../../components/base-grid3.vue.js';
|
|
28
|
+
import '../../../components/base-keyboard-navigation2.vue.js';
|
|
29
|
+
import '../../../components/base-rating2.vue.js';
|
|
30
|
+
import '../../../components/base-rating3.vue.js';
|
|
31
|
+
import '../../../components/base-slider2.vue.js';
|
|
32
|
+
import '../../../components/base-slider3.vue.js';
|
|
33
|
+
import '../../../components/base-switch2.vue.js';
|
|
34
|
+
import '../../../components/base-switch3.vue.js';
|
|
35
|
+
import '../../../components/base-teleport2.vue.js';
|
|
36
|
+
import '../../../components/base-variable-column-grid2.vue.js';
|
|
37
|
+
import '../../../components/column-picker/base-column-picker-dropdown2.vue.js';
|
|
38
|
+
import '../../../components/column-picker/base-column-picker-list2.vue.js';
|
|
39
|
+
import '../../../components/currency/base-currency2.vue.js';
|
|
40
40
|
import _sfc_main$2 from '../../../components/display-click-provider.vue.js';
|
|
41
41
|
import _sfc_main$1 from '../../../components/display-emitter.vue.js';
|
|
42
42
|
import '../../../components/filters/labels/base-price-filter-label.vue.js';
|
|
43
|
-
import '../../../components/filters/labels/base-rating-filter-
|
|
43
|
+
import '../../../components/filters/labels/base-rating-filter-label2.vue.js';
|
|
44
44
|
import '../../../components/global-x-bus.vue.js';
|
|
45
|
-
import '../../../components/
|
|
45
|
+
import '../../../components/highlight2.vue.js';
|
|
46
46
|
import AIStarIcon from '../../../components/icons/ai-star.vue.js';
|
|
47
47
|
import ArrowRightIcon from '../../../components/icons/arrow-right.vue.js';
|
|
48
48
|
import ChevronDownIcon from '../../../components/icons/chevron-down.vue.js';
|
|
49
|
-
import '../../../components/items-
|
|
49
|
+
import '../../../components/items-list2.vue.js';
|
|
50
50
|
import '../../../components/location-provider.vue.js';
|
|
51
|
-
import '../../../components/modals/base-events-modal-
|
|
52
|
-
import '../../../components/modals/base-events-modal-
|
|
53
|
-
import '../../../components/modals/base-events-
|
|
54
|
-
import '../../../components/modals/base-id-modal-
|
|
55
|
-
import '../../../components/modals/base-id-modal-
|
|
56
|
-
import '../../../components/modals/base-id-
|
|
57
|
-
import '../../../components/modals/base-
|
|
58
|
-
import '../../../components/modals/base-
|
|
59
|
-
import '../../../components/modals/close-main-
|
|
60
|
-
import '../../../components/modals/main-
|
|
61
|
-
import '../../../components/modals/open-main-
|
|
62
|
-
import '../../../components/page-loader-
|
|
63
|
-
import '../../../components/page-loader-
|
|
64
|
-
import '../../../components/page-
|
|
65
|
-
import '../../../components/page-
|
|
66
|
-
import '../../../components/panels/base-header-toggle-
|
|
67
|
-
import '../../../components/panels/base-header-toggle-
|
|
68
|
-
import '../../../components/panels/base-id-toggle-panel-
|
|
69
|
-
import '../../../components/panels/base-id-toggle-
|
|
70
|
-
import '../../../components/panels/base-tabs-
|
|
71
|
-
import '../../../components/panels/base-tabs-
|
|
72
|
-
import '../../../components/panels/base-toggle-
|
|
73
|
-
import '../../../components/result/base-result-add-to-
|
|
74
|
-
import '../../../components/result/base-result-current-
|
|
75
|
-
import '../../../components/result/base-result-
|
|
76
|
-
import '../../../components/result/base-result-
|
|
77
|
-
import '../../../components/result/base-result-
|
|
78
|
-
import '../../../components/result/base-result-
|
|
79
|
-
import '../../../components/result/base-result-previous-
|
|
80
|
-
import '../../../components/result/base-result-
|
|
81
|
-
import '../../../components/result/base-result-
|
|
82
|
-
import '../../../components/result/result-variant-
|
|
83
|
-
import '../../../components/result/result-variant-
|
|
51
|
+
import '../../../components/modals/base-events-modal-close2.vue.js';
|
|
52
|
+
import '../../../components/modals/base-events-modal-open2.vue.js';
|
|
53
|
+
import '../../../components/modals/base-events-modal2.vue.js';
|
|
54
|
+
import '../../../components/modals/base-id-modal-close2.vue.js';
|
|
55
|
+
import '../../../components/modals/base-id-modal-open2.vue.js';
|
|
56
|
+
import '../../../components/modals/base-id-modal2.vue.js';
|
|
57
|
+
import '../../../components/modals/base-modal2.vue.js';
|
|
58
|
+
import '../../../components/modals/base-modal3.vue.js';
|
|
59
|
+
import '../../../components/modals/close-main-modal2.vue.js';
|
|
60
|
+
import '../../../components/modals/main-modal2.vue.js';
|
|
61
|
+
import '../../../components/modals/open-main-modal2.vue.js';
|
|
62
|
+
import '../../../components/page-loader-button2.vue.js';
|
|
63
|
+
import '../../../components/page-loader-button3.vue.js';
|
|
64
|
+
import '../../../components/page-selector2.vue.js';
|
|
65
|
+
import '../../../components/page-selector3.vue.js';
|
|
66
|
+
import '../../../components/panels/base-header-toggle-panel2.vue.js';
|
|
67
|
+
import '../../../components/panels/base-header-toggle-panel3.vue.js';
|
|
68
|
+
import '../../../components/panels/base-id-toggle-panel-button2.vue.js';
|
|
69
|
+
import '../../../components/panels/base-id-toggle-panel2.vue.js';
|
|
70
|
+
import '../../../components/panels/base-tabs-panel2.vue.js';
|
|
71
|
+
import '../../../components/panels/base-tabs-panel3.vue.js';
|
|
72
|
+
import '../../../components/panels/base-toggle-panel2.vue.js';
|
|
73
|
+
import '../../../components/result/base-result-add-to-cart2.vue.js';
|
|
74
|
+
import '../../../components/result/base-result-current-price2.vue.js';
|
|
75
|
+
import '../../../components/result/base-result-image2.vue.js';
|
|
76
|
+
import '../../../components/result/base-result-image3.vue.js';
|
|
77
|
+
import '../../../components/result/base-result-link2.vue.js';
|
|
78
|
+
import '../../../components/result/base-result-link3.vue.js';
|
|
79
|
+
import '../../../components/result/base-result-previous-price2.vue.js';
|
|
80
|
+
import '../../../components/result/base-result-rating2.vue.js';
|
|
81
|
+
import '../../../components/result/base-result-rating3.vue.js';
|
|
82
|
+
import '../../../components/result/result-variant-selector2.vue.js';
|
|
83
|
+
import '../../../components/result/result-variant-selector3.vue.js';
|
|
84
84
|
import '../../../components/result/result-variants-provider.vue.js';
|
|
85
|
-
import '../../../components/scroll/base-
|
|
85
|
+
import '../../../components/scroll/base-scroll2.vue.js';
|
|
86
86
|
import '@empathyco/x-utils';
|
|
87
87
|
import { use$x } from '../../../composables/use-_x.js';
|
|
88
88
|
import SlidingPanel from '../../../components/sliding-panel.vue.js';
|
|
89
|
-
import '../../../components/snippet-
|
|
90
|
-
import '../../../components/suggestions/base-
|
|
91
|
-
import '../../../components/suggestions/base-
|
|
92
|
-
import '../../../components/suggestions/base-
|
|
89
|
+
import '../../../components/snippet-callbacks2.vue.js';
|
|
90
|
+
import '../../../components/suggestions/base-suggestion2.vue.js';
|
|
91
|
+
import '../../../components/suggestions/base-suggestions2.vue.js';
|
|
92
|
+
import '../../../components/suggestions/base-suggestions3.vue.js';
|
|
93
93
|
import '../../../composables/create-use-device.js';
|
|
94
94
|
import 'vuex';
|
|
95
95
|
import '../../../plugins/x-bus.js';
|
|
@@ -189,4 +189,4 @@ var _sfc_main = defineComponent({
|
|
|
189
189
|
});
|
|
190
190
|
|
|
191
191
|
export { _sfc_main as default };
|
|
192
|
-
//# sourceMappingURL=ai-
|
|
192
|
+
//# sourceMappingURL=ai-carousel2.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-carousel.vue2.js","sources":["../../../../../src/x-modules/ai/components/ai-carousel.vue"],"sourcesContent":["<template>\n <CollapseHeight>\n <div v-if=\"suggestionsSearch.length\" class=\"x-ai-carousel\">\n <DisplayEmitter\n :payload=\"tagging?.toolingDisplay ?? emptyTaggingRequest\"\n :event-metadata=\"{\n feature: 'ai_carousel',\n displayOriginalQuery: query || 'ai-carousel-without-query',\n replaceable: false,\n }\"\n data-test=\"ai-carousel-display-emitter\"\n >\n <span\n class=\"x-ai-carousel-title\"\n :class=\"{ 'x-ai-carousel-title--expanded': titleExpanded }\"\n data-test=\"ai-carousel-title\"\n @click=\"toggleTitleExpansion\"\n >\n <AIStarIcon class=\"x-ai-carousel-title-icon\" />\n <ChangeHeight>\n <span\n ref=\"titleRef\"\n class=\"x-ai-carousel-title-text\"\n :class=\"{ 'x-ai-carousel-title-text--expanded': titleExpanded }\"\n >\n {{ title }}\n </span>\n </ChangeHeight>\n <button\n v-if=\"isTitleOverflowing\"\n class=\"x-ai-carousel-title-button\"\n data-test=\"ai-carousel-title-button\"\n :aria-label=\"titleExpanded ? 'Collapse' : 'Expand'\"\n >\n <ChevronDownIcon\n class=\"x-ai-carousel-title-button-icon\"\n :class=\"{ 'x-ai-carousel-title-button-icon--expanded': titleExpanded }\"\n />\n </button>\n </span>\n </DisplayEmitter>\n\n <AiGroupedCarousel v-if=\"group\">\n <template #sliding-panel-addons=\"{ arrivedState }\">\n <slot name=\"sliding-panels-addons\" :arrived-state=\"arrivedState\" />\n </template>\n <template #sliding-panel-left-button>\n <slot name=\"sliding-panels-left-button\" />\n </template>\n <template #sliding-panel-right-button>\n <slot name=\"sliding-panels-right-button\" />\n </template>\n <template #result=\"{ result }\">\n <slot name=\"result\" :result=\"result\" />\n </template>\n </AiGroupedCarousel>\n\n <div v-else class=\"x-ai-carousel-suggestions\" data-test=\"ai-carousel-suggestions-container\">\n <DisplayEmitter\n v-for=\"{ query: suggestionQuery, results: queriesResults } in suggestionsSearch\"\n :key=\"suggestionQuery\"\n :payload=\"tagging?.searchQueries[suggestionQuery].toolingDisplay ?? emptyTaggingRequest\"\n :event-metadata=\"{\n feature: 'ai_carousel',\n displayOriginalQuery: query || 'ai-carousel-without-query',\n replaceable: false,\n }\"\n data-test=\"ai-carousel-query-display-emitter\"\n >\n <div class=\"x-ai-carousel-suggestion\" data-test=\"ai-carousel-suggestion\">\n <BaseEventButton\n class=\"x-ai-carousel-suggestion-query-btn\"\n :events=\"{ UserAcceptedAQuery: suggestionQuery }\"\n >\n {{ suggestionQuery }}\n <ArrowRightIcon class=\"x-ai-carousel-suggestion-query-btn-icon\" />\n </BaseEventButton>\n\n <DisplayClickProvider\n :tooling-display-tagging=\"tagging?.searchQueries[suggestionQuery].toolingDisplayClick\"\n :tooling-add2-cart-tagging=\"\n tagging?.searchQueries[suggestionQuery].toolingDisplayAdd2Cart\n \"\n result-feature=\"ai_carousel\"\n >\n <slot name=\"sliding-panel\" :results=\"queriesResults\">\n <SlidingPanel\n :class=\"slidingPanelClasses\"\n :scroll-container-class=\"slidingPanelContainerClasses\"\n :button-class=\"slidingPanelButtonsClasses\"\n :reset-on-content-change=\"false\"\n >\n <template #sliding-panel-addons=\"{ arrivedState }\">\n <slot name=\"sliding-panels-addons\" :arrived-state=\"arrivedState\" />\n </template>\n <template #sliding-panel-left-button>\n <slot name=\"sliding-panels-left-button\" />\n </template>\n <template #sliding-panel-right-button>\n <slot name=\"sliding-panels-right-button\" />\n </template>\n <ul class=\"x-ai-carousel-suggestion-results\">\n <li\n v-for=\"result in queriesResults\"\n :key=\"result.id\"\n data-test=\"ai-carousel-suggestion-result\"\n >\n <!-- @slot (required) result card -->\n <slot name=\"result\" :result=\"result\" />\n </li>\n </ul>\n </SlidingPanel>\n </slot>\n </DisplayClickProvider>\n </div>\n </DisplayEmitter>\n <slot name=\"suggestions-extra-content\" />\n </div>\n\n <slot name=\"extra-content\" />\n <slot name=\"cta-button\" />\n </div>\n </CollapseHeight>\n</template>\n\n<script lang=\"ts\">\nimport type { TaggingRequest } from '@empathyco/x-types'\nimport { useResizeObserver } from '@vueuse/core'\nimport { computed, defineComponent, onMounted, ref, watch } from 'vue'\nimport {\n AIStarIcon,\n ArrowRightIcon,\n BaseEventButton,\n ChangeHeight,\n ChevronDownIcon,\n CollapseHeight,\n DisplayClickProvider,\n DisplayEmitter,\n SlidingPanel,\n} from '../../../components'\nimport { use$x, useState } from '../../../composables'\nimport { aiXModule } from '../x-module'\nimport AiGroupedCarousel from './ai-grouped-carousel.vue'\n\nexport default defineComponent({\n xModule: aiXModule.name,\n components: {\n AIStarIcon,\n AiGroupedCarousel,\n ArrowRightIcon,\n BaseEventButton,\n ChangeHeight,\n ChevronDownIcon,\n CollapseHeight,\n DisplayClickProvider,\n DisplayEmitter,\n SlidingPanel,\n },\n props: {\n /* The title text displayed */\n title: String,\n /* The classes added to the sliding panel. */\n slidingPanelClasses: String,\n /* The classes added to the sliding panel container. */\n slidingPanelContainerClasses: String,\n /* The classes added to the sliding panel buttons. */\n slidingPanelButtonsClasses: String,\n /* Controls whether the carousel should group results or display N carousels per N queries. */\n group: {\n type: Boolean,\n default: true,\n },\n },\n setup(props) {\n const $x = use$x()\n const { query, suggestionsSearch, queries, tagging } = useState('ai')\n const emptyTaggingRequest: TaggingRequest = { url: '', params: {} }\n\n const titleRef = ref<HTMLElement | null>(null)\n const titleExpanded = ref(false)\n const isTitleOverflowing = ref(false)\n\n /**\n * Checks if the title is overflowing and updates the state.\n */\n function updateTitleOverflow() {\n if (titleExpanded.value) {\n return\n }\n if (titleRef.value) {\n isTitleOverflowing.value = titleRef.value.scrollWidth > titleRef.value.clientWidth\n }\n }\n\n /**\n * Toggles the title expanded state if it is overflowing.\n */\n function toggleTitleExpansion() {\n if (isTitleOverflowing.value) {\n titleExpanded.value = !titleExpanded.value\n }\n }\n\n const title = computed(() => {\n if (!props.title) {\n const queriesList = new Intl.ListFormat('en', {\n style: 'long',\n type: 'conjunction',\n }).format(queries.value.map(({ query }) => query))\n return `Searching for ${queriesList}`\n }\n return props.title\n })\n\n watch(queries, () => {\n if (queries.value.length > 0) {\n $x.emit('AiSuggestionsSearchRequestUpdated')\n }\n })\n\n onMounted(() => {\n $x.emit('AiComponentMounted', undefined, { feature: 'ai_carousel' })\n })\n\n useResizeObserver(titleRef, updateTitleOverflow)\n\n return {\n emptyTaggingRequest,\n isTitleOverflowing,\n queries,\n query,\n suggestionsSearch,\n tagging,\n title,\n titleExpanded,\n titleRef,\n toggleTitleExpansion,\n }\n },\n})\n</script>\n\n<style lang=\"css\">\n.x-ai-carousel {\n --color: var(--x-ai-carousel-color, #bbc9cf);\n --color-lighter: var(--x-ai-carousel-color-lighter, color-mix(in srgb, var(--color) 25%, white));\n\n padding: 8px 0;\n position: relative;\n border-radius: 1.5rem;\n background-color: var(--color-lighter);\n}\n\n.x-ai-carousel-title {\n display: flex;\n font-size: 12px;\n gap: 8px;\n align-items: flex-start;\n margin: 0 14px 8px;\n cursor: pointer;\n}\n.x-ai-carousel-title-text {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.x-ai-carousel-title-text--expanded {\n white-space: normal;\n}\n.x-ai-carousel-title-icon {\n height: 1rem;\n aspect-ratio: 1 / 1;\n color: var(--color);\n flex-shrink: 0;\n margin-bottom: auto;\n}\n.x-ai-carousel-title-button {\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color);\n margin-bottom: auto;\n}\n.x-ai-carousel-title-button-icon {\n height: 1rem;\n aspect-ratio: 1 / 1;\n transition: transform 0.3s ease;\n}\n.x-ai-carousel-title-button-icon--expanded {\n transform: rotate(180deg);\n}\n\n.x-ai-carousel-suggestions {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n padding-bottom: 1rem;\n}\n\n.x-ai-carousel-suggestion {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.x-ai-carousel-suggestion-query-btn {\n border-color: transparent;\n background-color: transparent;\n margin-left: 1rem;\n margin-right: 1rem;\n font-weight: 700;\n width: fit-content;\n display: flex;\n align-items: center;\n gap: 1rem;\n cursor: pointer;\n}\n\n.x-ai-carousel-suggestion-query-btn-icon {\n height: 1rem;\n aspect-ratio: 1 / 1;\n}\n\n.x-ai-carousel-suggestion-results {\n display: flex;\n gap: 1rem;\n padding-left: 1rem;\n padding-right: 1rem;\n}\n</style>\n"],"names":["DisplayClickProvider","DisplayEmitter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgJA,gBAAe,eAAe,CAAC;IAC7B,OAAO,EAAE,SAAS,CAAC,IAAI;AACvB,IAAA,UAAU,EAAE;QACV,UAAU;QACV,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,YAAY;QACZ,eAAe;QACf,cAAc;8BACdA,WAAoB;wBACpBC,WAAc;QACd,YAAY;AACb,KAAA;AACD,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE,MAAM;;AAEb,QAAA,mBAAmB,EAAE,MAAM;;AAE3B,QAAA,4BAA4B,EAAE,MAAM;;AAEpC,QAAA,0BAA0B,EAAE,MAAM;;AAElC,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AACjB,QAAA,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAM,EAAE,GAAI,QAAQ,CAAC,IAAI,CAAA;QACpE,MAAM,mBAAmB,GAAmB,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAC,EAAE;AAElE,QAAA,MAAM,QAAO,GAAI,GAAG,CAAqB,IAAI,CAAA;AAC7C,QAAA,MAAM,aAAY,GAAI,GAAG,CAAC,KAAK,CAAA;AAC/B,QAAA,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAA;AAEpC;;AAEE;AACF,QAAA,SAAS,mBAAmB,GAAA;AAC1B,YAAA,IAAI,aAAa,CAAC,KAAK,EAAE;gBACvB;YACF;AACA,YAAA,IAAI,QAAQ,CAAC,KAAK,EAAE;AAClB,gBAAA,kBAAkB,CAAC,KAAI,GAAI,QAAQ,CAAC,KAAK,CAAC,cAAc,QAAQ,CAAC,KAAK,CAAC,WAAU;YACnF;QACF;AAEA;;AAEE;AACF,QAAA,SAAS,oBAAoB,GAAA;AAC3B,YAAA,IAAI,kBAAkB,CAAC,KAAK,EAAE;AAC5B,gBAAA,aAAa,CAAC,KAAI,GAAI,CAAC,aAAa,CAAC,KAAI;YAC3C;QACF;AAEA,QAAA,MAAM,KAAI,GAAI,QAAQ,CAAC,MAAI;AACzB,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBAChB,MAAM,WAAU,GAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAC5C,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,IAAI,EAAE,aAAa;AACpB,iBAAA,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,CAAA;gBACjD,OAAO,CAAA,cAAA,EAAiB,WAAW,CAAA,CAAC;YACtC;YACA,OAAO,KAAK,CAAC,KAAI;AACnB,QAAA,CAAC,CAAA;AAED,QAAA,KAAK,CAAC,OAAO,EAAE,MAAI;YACjB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAK,GAAI,CAAC,EAAE;AAC5B,gBAAA,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAA;YAC7C;AACF,QAAA,CAAC,CAAA;QAED,SAAS,CAAC,MAAI;AACZ,YAAA,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,aAAY,EAAG,CAAA;AACrE,QAAA,CAAC,CAAA;AAED,QAAA,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,CAAA;QAE/C,OAAO;YACL,mBAAmB;YACnB,kBAAkB;YAClB,OAAO;YACP,KAAK;YACL,iBAAiB;YACjB,OAAO;YACP,KAAK;YACL,aAAa;YACb,QAAQ;YACR,oBAAoB;SACtB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"ai-carousel2.vue.js","sources":["../../../../../src/x-modules/ai/components/ai-carousel.vue"],"sourcesContent":["<template>\n <CollapseHeight>\n <div v-if=\"suggestionsSearch.length\" class=\"x-ai-carousel\">\n <DisplayEmitter\n :payload=\"tagging?.toolingDisplay ?? emptyTaggingRequest\"\n :event-metadata=\"{\n feature: 'ai_carousel',\n displayOriginalQuery: query || 'ai-carousel-without-query',\n replaceable: false,\n }\"\n data-test=\"ai-carousel-display-emitter\"\n >\n <span\n class=\"x-ai-carousel-title\"\n :class=\"{ 'x-ai-carousel-title--expanded': titleExpanded }\"\n data-test=\"ai-carousel-title\"\n @click=\"toggleTitleExpansion\"\n >\n <AIStarIcon class=\"x-ai-carousel-title-icon\" />\n <ChangeHeight>\n <span\n ref=\"titleRef\"\n class=\"x-ai-carousel-title-text\"\n :class=\"{ 'x-ai-carousel-title-text--expanded': titleExpanded }\"\n >\n {{ title }}\n </span>\n </ChangeHeight>\n <button\n v-if=\"isTitleOverflowing\"\n class=\"x-ai-carousel-title-button\"\n data-test=\"ai-carousel-title-button\"\n :aria-label=\"titleExpanded ? 'Collapse' : 'Expand'\"\n >\n <ChevronDownIcon\n class=\"x-ai-carousel-title-button-icon\"\n :class=\"{ 'x-ai-carousel-title-button-icon--expanded': titleExpanded }\"\n />\n </button>\n </span>\n </DisplayEmitter>\n\n <AiGroupedCarousel v-if=\"group\">\n <template #sliding-panel-addons=\"{ arrivedState }\">\n <slot name=\"sliding-panels-addons\" :arrived-state=\"arrivedState\" />\n </template>\n <template #sliding-panel-left-button>\n <slot name=\"sliding-panels-left-button\" />\n </template>\n <template #sliding-panel-right-button>\n <slot name=\"sliding-panels-right-button\" />\n </template>\n <template #result=\"{ result }\">\n <slot name=\"result\" :result=\"result\" />\n </template>\n </AiGroupedCarousel>\n\n <div v-else class=\"x-ai-carousel-suggestions\" data-test=\"ai-carousel-suggestions-container\">\n <DisplayEmitter\n v-for=\"{ query: suggestionQuery, results: queriesResults } in suggestionsSearch\"\n :key=\"suggestionQuery\"\n :payload=\"tagging?.searchQueries[suggestionQuery].toolingDisplay ?? emptyTaggingRequest\"\n :event-metadata=\"{\n feature: 'ai_carousel',\n displayOriginalQuery: query || 'ai-carousel-without-query',\n replaceable: false,\n }\"\n data-test=\"ai-carousel-query-display-emitter\"\n >\n <div class=\"x-ai-carousel-suggestion\" data-test=\"ai-carousel-suggestion\">\n <BaseEventButton\n class=\"x-ai-carousel-suggestion-query-btn\"\n :events=\"{ UserAcceptedAQuery: suggestionQuery }\"\n >\n {{ suggestionQuery }}\n <ArrowRightIcon class=\"x-ai-carousel-suggestion-query-btn-icon\" />\n </BaseEventButton>\n\n <DisplayClickProvider\n :tooling-display-tagging=\"tagging?.searchQueries[suggestionQuery].toolingDisplayClick\"\n :tooling-add2-cart-tagging=\"\n tagging?.searchQueries[suggestionQuery].toolingDisplayAdd2Cart\n \"\n result-feature=\"ai_carousel\"\n >\n <slot name=\"sliding-panel\" :results=\"queriesResults\">\n <SlidingPanel\n :class=\"slidingPanelClasses\"\n :scroll-container-class=\"slidingPanelContainerClasses\"\n :button-class=\"slidingPanelButtonsClasses\"\n :reset-on-content-change=\"false\"\n >\n <template #sliding-panel-addons=\"{ arrivedState }\">\n <slot name=\"sliding-panels-addons\" :arrived-state=\"arrivedState\" />\n </template>\n <template #sliding-panel-left-button>\n <slot name=\"sliding-panels-left-button\" />\n </template>\n <template #sliding-panel-right-button>\n <slot name=\"sliding-panels-right-button\" />\n </template>\n <ul class=\"x-ai-carousel-suggestion-results\">\n <li\n v-for=\"result in queriesResults\"\n :key=\"result.id\"\n data-test=\"ai-carousel-suggestion-result\"\n >\n <!-- @slot (required) result card -->\n <slot name=\"result\" :result=\"result\" />\n </li>\n </ul>\n </SlidingPanel>\n </slot>\n </DisplayClickProvider>\n </div>\n </DisplayEmitter>\n <slot name=\"suggestions-extra-content\" />\n </div>\n\n <slot name=\"extra-content\" />\n <slot name=\"cta-button\" />\n </div>\n </CollapseHeight>\n</template>\n\n<script lang=\"ts\">\nimport type { TaggingRequest } from '@empathyco/x-types'\nimport { useResizeObserver } from '@vueuse/core'\nimport { computed, defineComponent, onMounted, ref, watch } from 'vue'\nimport {\n AIStarIcon,\n ArrowRightIcon,\n BaseEventButton,\n ChangeHeight,\n ChevronDownIcon,\n CollapseHeight,\n DisplayClickProvider,\n DisplayEmitter,\n SlidingPanel,\n} from '../../../components'\nimport { use$x, useState } from '../../../composables'\nimport { aiXModule } from '../x-module'\nimport AiGroupedCarousel from './ai-grouped-carousel.vue'\n\nexport default defineComponent({\n xModule: aiXModule.name,\n components: {\n AIStarIcon,\n AiGroupedCarousel,\n ArrowRightIcon,\n BaseEventButton,\n ChangeHeight,\n ChevronDownIcon,\n CollapseHeight,\n DisplayClickProvider,\n DisplayEmitter,\n SlidingPanel,\n },\n props: {\n /* The title text displayed */\n title: String,\n /* The classes added to the sliding panel. */\n slidingPanelClasses: String,\n /* The classes added to the sliding panel container. */\n slidingPanelContainerClasses: String,\n /* The classes added to the sliding panel buttons. */\n slidingPanelButtonsClasses: String,\n /* Controls whether the carousel should group results or display N carousels per N queries. */\n group: {\n type: Boolean,\n default: true,\n },\n },\n setup(props) {\n const $x = use$x()\n const { query, suggestionsSearch, queries, tagging } = useState('ai')\n const emptyTaggingRequest: TaggingRequest = { url: '', params: {} }\n\n const titleRef = ref<HTMLElement | null>(null)\n const titleExpanded = ref(false)\n const isTitleOverflowing = ref(false)\n\n /**\n * Checks if the title is overflowing and updates the state.\n */\n function updateTitleOverflow() {\n if (titleExpanded.value) {\n return\n }\n if (titleRef.value) {\n isTitleOverflowing.value = titleRef.value.scrollWidth > titleRef.value.clientWidth\n }\n }\n\n /**\n * Toggles the title expanded state if it is overflowing.\n */\n function toggleTitleExpansion() {\n if (isTitleOverflowing.value) {\n titleExpanded.value = !titleExpanded.value\n }\n }\n\n const title = computed(() => {\n if (!props.title) {\n const queriesList = new Intl.ListFormat('en', {\n style: 'long',\n type: 'conjunction',\n }).format(queries.value.map(({ query }) => query))\n return `Searching for ${queriesList}`\n }\n return props.title\n })\n\n watch(queries, () => {\n if (queries.value.length > 0) {\n $x.emit('AiSuggestionsSearchRequestUpdated')\n }\n })\n\n onMounted(() => {\n $x.emit('AiComponentMounted', undefined, { feature: 'ai_carousel' })\n })\n\n useResizeObserver(titleRef, updateTitleOverflow)\n\n return {\n emptyTaggingRequest,\n isTitleOverflowing,\n queries,\n query,\n suggestionsSearch,\n tagging,\n title,\n titleExpanded,\n titleRef,\n toggleTitleExpansion,\n }\n },\n})\n</script>\n\n<style lang=\"css\">\n.x-ai-carousel {\n --color: var(--x-ai-carousel-color, #bbc9cf);\n --color-lighter: var(--x-ai-carousel-color-lighter, color-mix(in srgb, var(--color) 25%, white));\n\n padding: 8px 0;\n position: relative;\n border-radius: 1.5rem;\n background-color: var(--color-lighter);\n}\n\n.x-ai-carousel-title {\n display: flex;\n font-size: 12px;\n gap: 8px;\n align-items: flex-start;\n margin: 0 14px 8px;\n cursor: pointer;\n}\n.x-ai-carousel-title-text {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.x-ai-carousel-title-text--expanded {\n white-space: normal;\n}\n.x-ai-carousel-title-icon {\n height: 1rem;\n aspect-ratio: 1 / 1;\n color: var(--color);\n flex-shrink: 0;\n margin-bottom: auto;\n}\n.x-ai-carousel-title-button {\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color);\n margin-bottom: auto;\n}\n.x-ai-carousel-title-button-icon {\n height: 1rem;\n aspect-ratio: 1 / 1;\n transition: transform 0.3s ease;\n}\n.x-ai-carousel-title-button-icon--expanded {\n transform: rotate(180deg);\n}\n\n.x-ai-carousel-suggestions {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n padding-bottom: 1rem;\n}\n\n.x-ai-carousel-suggestion {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.x-ai-carousel-suggestion-query-btn {\n border-color: transparent;\n background-color: transparent;\n margin-left: 1rem;\n margin-right: 1rem;\n font-weight: 700;\n width: fit-content;\n display: flex;\n align-items: center;\n gap: 1rem;\n cursor: pointer;\n}\n\n.x-ai-carousel-suggestion-query-btn-icon {\n height: 1rem;\n aspect-ratio: 1 / 1;\n}\n\n.x-ai-carousel-suggestion-results {\n display: flex;\n gap: 1rem;\n padding-left: 1rem;\n padding-right: 1rem;\n}\n</style>\n"],"names":["DisplayClickProvider","DisplayEmitter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgJA,gBAAe,eAAe,CAAC;IAC7B,OAAO,EAAE,SAAS,CAAC,IAAI;AACvB,IAAA,UAAU,EAAE;QACV,UAAU;QACV,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,YAAY;QACZ,eAAe;QACf,cAAc;8BACdA,WAAoB;wBACpBC,WAAc;QACd,YAAY;AACb,KAAA;AACD,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE,MAAM;;AAEb,QAAA,mBAAmB,EAAE,MAAM;;AAE3B,QAAA,4BAA4B,EAAE,MAAM;;AAEpC,QAAA,0BAA0B,EAAE,MAAM;;AAElC,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AACjB,QAAA,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAM,EAAE,GAAI,QAAQ,CAAC,IAAI,CAAA;QACpE,MAAM,mBAAmB,GAAmB,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAC,EAAE;AAElE,QAAA,MAAM,QAAO,GAAI,GAAG,CAAqB,IAAI,CAAA;AAC7C,QAAA,MAAM,aAAY,GAAI,GAAG,CAAC,KAAK,CAAA;AAC/B,QAAA,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAA;AAEpC;;AAEE;AACF,QAAA,SAAS,mBAAmB,GAAA;AAC1B,YAAA,IAAI,aAAa,CAAC,KAAK,EAAE;gBACvB;YACF;AACA,YAAA,IAAI,QAAQ,CAAC,KAAK,EAAE;AAClB,gBAAA,kBAAkB,CAAC,KAAI,GAAI,QAAQ,CAAC,KAAK,CAAC,cAAc,QAAQ,CAAC,KAAK,CAAC,WAAU;YACnF;QACF;AAEA;;AAEE;AACF,QAAA,SAAS,oBAAoB,GAAA;AAC3B,YAAA,IAAI,kBAAkB,CAAC,KAAK,EAAE;AAC5B,gBAAA,aAAa,CAAC,KAAI,GAAI,CAAC,aAAa,CAAC,KAAI;YAC3C;QACF;AAEA,QAAA,MAAM,KAAI,GAAI,QAAQ,CAAC,MAAI;AACzB,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBAChB,MAAM,WAAU,GAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAC5C,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,IAAI,EAAE,aAAa;AACpB,iBAAA,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,CAAA;gBACjD,OAAO,CAAA,cAAA,EAAiB,WAAW,CAAA,CAAC;YACtC;YACA,OAAO,KAAK,CAAC,KAAI;AACnB,QAAA,CAAC,CAAA;AAED,QAAA,KAAK,CAAC,OAAO,EAAE,MAAI;YACjB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAK,GAAI,CAAC,EAAE;AAC5B,gBAAA,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAA;YAC7C;AACF,QAAA,CAAC,CAAA;QAED,SAAS,CAAC,MAAI;AACZ,YAAA,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,aAAY,EAAG,CAAA;AACrE,QAAA,CAAC,CAAA;AAED,QAAA,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,CAAA;QAE/C,OAAO;YACL,mBAAmB;YACnB,kBAAkB;YAClB,OAAO;YACP,KAAK;YACL,iBAAiB;YACjB,OAAO;YACP,KAAK;YACL,aAAa;YACb,QAAQ;YACR,oBAAoB;SACtB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-carousel3.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _sfc_main from './ai-grouped-
|
|
1
|
+
import _sfc_main from './ai-grouped-carousel2.vue.js';
|
|
2
2
|
import { resolveComponent, openBlock, createBlock, normalizeClass, withCtx, createElementVNode, createElementBlock, Fragment, renderList, renderSlot } from 'vue';
|
|
3
3
|
import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
|
|
4
4
|
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { defineComponent } from 'vue';
|
|
2
|
+
import '../../../components/animations/animate-clip-path2.vue.js';
|
|
3
|
+
import '../../../components/animations/animate-scale2.vue.js';
|
|
4
|
+
import '../../../components/animations/animate-translate2.vue.js';
|
|
5
|
+
import '../../../components/animations/animate-width2.vue.js';
|
|
6
|
+
import '../../../components/animations/animate-width3.vue.js';
|
|
7
|
+
import '../../../components/animations/change-height2.vue.js';
|
|
8
|
+
import '../../../components/animations/change-height3.vue.js';
|
|
9
|
+
import '../../../components/animations/collapse-height2.vue.js';
|
|
10
|
+
import '../../../components/animations/collapse-height3.vue.js';
|
|
11
|
+
import '../../../components/animations/collapse-width2.vue.js';
|
|
12
|
+
import '../../../components/animations/collapse-width3.vue.js';
|
|
13
|
+
import '../../../components/animations/cross-fade2.vue.js';
|
|
14
|
+
import '../../../components/animations/cross-fade3.vue.js';
|
|
15
|
+
import '../../../components/animations/fade-and-slide2.vue.js';
|
|
16
|
+
import '../../../components/animations/fade-and-slide3.vue.js';
|
|
17
|
+
import '../../../components/animations/fade2.vue.js';
|
|
18
|
+
import '../../../components/animations/fade3.vue.js';
|
|
19
|
+
import '../../../components/animations/no-animation.vue.js';
|
|
20
|
+
import '../../../components/animations/staggered-fade-and-slide2.vue.js';
|
|
21
|
+
import '../../../components/animations/staggered-fade-and-slide3.vue.js';
|
|
22
|
+
import '../../../components/auto-progress-bar2.vue.js';
|
|
23
|
+
import '../../../components/auto-progress-bar3.vue.js';
|
|
24
|
+
import '../../../components/base-dropdown2.vue.js';
|
|
25
|
+
import '../../../components/base-dropdown3.vue.js';
|
|
26
|
+
import '../../../components/base-event-button2.vue.js';
|
|
27
|
+
import '../../../components/base-grid2.vue.js';
|
|
28
|
+
import '../../../components/base-grid3.vue.js';
|
|
29
|
+
import '../../../components/base-keyboard-navigation2.vue.js';
|
|
30
|
+
import '../../../components/base-rating2.vue.js';
|
|
31
|
+
import '../../../components/base-rating3.vue.js';
|
|
32
|
+
import '../../../components/base-slider2.vue.js';
|
|
33
|
+
import '../../../components/base-slider3.vue.js';
|
|
34
|
+
import '../../../components/base-switch2.vue.js';
|
|
35
|
+
import '../../../components/base-switch3.vue.js';
|
|
36
|
+
import '../../../components/base-teleport2.vue.js';
|
|
37
|
+
import '../../../components/base-variable-column-grid2.vue.js';
|
|
38
|
+
import '../../../components/column-picker/base-column-picker-dropdown2.vue.js';
|
|
39
|
+
import '../../../components/column-picker/base-column-picker-list2.vue.js';
|
|
40
|
+
import '../../../components/currency/base-currency2.vue.js';
|
|
41
|
+
import _sfc_main$1 from '../../../components/display-click-provider.vue.js';
|
|
42
|
+
import '../../../components/display-emitter.vue.js';
|
|
43
|
+
import '../../../components/filters/labels/base-price-filter-label.vue.js';
|
|
44
|
+
import '../../../components/filters/labels/base-rating-filter-label2.vue.js';
|
|
45
|
+
import '../../../components/global-x-bus.vue.js';
|
|
46
|
+
import '../../../components/highlight2.vue.js';
|
|
47
|
+
import '../../../components/items-list2.vue.js';
|
|
48
|
+
import '../../../components/location-provider.vue.js';
|
|
49
|
+
import '../../../components/modals/base-events-modal-close2.vue.js';
|
|
50
|
+
import '../../../components/modals/base-events-modal-open2.vue.js';
|
|
51
|
+
import '../../../components/modals/base-events-modal2.vue.js';
|
|
52
|
+
import '../../../components/modals/base-id-modal-close2.vue.js';
|
|
53
|
+
import '../../../components/modals/base-id-modal-open2.vue.js';
|
|
54
|
+
import '../../../components/modals/base-id-modal2.vue.js';
|
|
55
|
+
import '../../../components/modals/base-modal2.vue.js';
|
|
56
|
+
import '../../../components/modals/base-modal3.vue.js';
|
|
57
|
+
import '../../../components/modals/close-main-modal2.vue.js';
|
|
58
|
+
import '../../../components/modals/main-modal2.vue.js';
|
|
59
|
+
import '../../../components/modals/open-main-modal2.vue.js';
|
|
60
|
+
import '../../../components/page-loader-button2.vue.js';
|
|
61
|
+
import '../../../components/page-loader-button3.vue.js';
|
|
62
|
+
import '../../../components/page-selector2.vue.js';
|
|
63
|
+
import '../../../components/page-selector3.vue.js';
|
|
64
|
+
import '../../../components/panels/base-header-toggle-panel2.vue.js';
|
|
65
|
+
import '../../../components/panels/base-header-toggle-panel3.vue.js';
|
|
66
|
+
import '../../../components/panels/base-id-toggle-panel-button2.vue.js';
|
|
67
|
+
import '../../../components/panels/base-id-toggle-panel2.vue.js';
|
|
68
|
+
import '../../../components/panels/base-tabs-panel2.vue.js';
|
|
69
|
+
import '../../../components/panels/base-tabs-panel3.vue.js';
|
|
70
|
+
import '../../../components/panels/base-toggle-panel2.vue.js';
|
|
71
|
+
import '../../../components/result/base-result-add-to-cart2.vue.js';
|
|
72
|
+
import '../../../components/result/base-result-current-price2.vue.js';
|
|
73
|
+
import '../../../components/result/base-result-image2.vue.js';
|
|
74
|
+
import '../../../components/result/base-result-image3.vue.js';
|
|
75
|
+
import '../../../components/result/base-result-link2.vue.js';
|
|
76
|
+
import '../../../components/result/base-result-link3.vue.js';
|
|
77
|
+
import '../../../components/result/base-result-previous-price2.vue.js';
|
|
78
|
+
import '../../../components/result/base-result-rating2.vue.js';
|
|
79
|
+
import '../../../components/result/base-result-rating3.vue.js';
|
|
80
|
+
import '../../../components/result/result-variant-selector2.vue.js';
|
|
81
|
+
import '../../../components/result/result-variant-selector3.vue.js';
|
|
82
|
+
import '../../../components/result/result-variants-provider.vue.js';
|
|
83
|
+
import '../../../components/scroll/base-scroll2.vue.js';
|
|
84
|
+
import '@empathyco/x-utils';
|
|
85
|
+
import 'vuex';
|
|
86
|
+
import '../../../plugins/x-bus.js';
|
|
87
|
+
import '../../../plugins/x-plugin.js';
|
|
88
|
+
import 'rxjs';
|
|
89
|
+
import SlidingPanel from '../../../components/sliding-panel.vue.js';
|
|
90
|
+
import '../../../components/snippet-callbacks2.vue.js';
|
|
91
|
+
import '../../../components/suggestions/base-suggestion2.vue.js';
|
|
92
|
+
import '../../../components/suggestions/base-suggestions2.vue.js';
|
|
93
|
+
import '../../../components/suggestions/base-suggestions3.vue.js';
|
|
94
|
+
import '../../../composables/create-use-device.js';
|
|
95
|
+
import '@vueuse/core';
|
|
96
|
+
import { useState } from '../../../composables/use-state.js';
|
|
97
|
+
|
|
98
|
+
var _sfc_main = defineComponent({
|
|
99
|
+
components: {
|
|
100
|
+
DisplayClickProvider: _sfc_main$1,
|
|
101
|
+
SlidingPanel,
|
|
102
|
+
},
|
|
103
|
+
props: {
|
|
104
|
+
/* The title text displayed */
|
|
105
|
+
title: String,
|
|
106
|
+
/* The classes added to the sliding panel. */
|
|
107
|
+
slidingPanelClasses: String,
|
|
108
|
+
/* The classes added to the sliding panel container. */
|
|
109
|
+
slidingPanelContainerClasses: String,
|
|
110
|
+
/* The classes added to the sliding panel buttons. */
|
|
111
|
+
slidingPanelButtonsClasses: String,
|
|
112
|
+
},
|
|
113
|
+
setup() {
|
|
114
|
+
const { suggestionsSearch, tagging } = useState('ai');
|
|
115
|
+
return {
|
|
116
|
+
suggestionsSearch,
|
|
117
|
+
tagging,
|
|
118
|
+
};
|
|
119
|
+
},
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
export { _sfc_main as default };
|
|
123
|
+
//# sourceMappingURL=ai-grouped-carousel2.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-grouped-
|
|
1
|
+
{"version":3,"file":"ai-grouped-carousel2.vue.js","sources":["../../../../../src/x-modules/ai/components/ai-grouped-carousel.vue"],"sourcesContent":["<template>\n <SlidingPanel\n :class=\"slidingPanelClasses\"\n :scroll-container-class=\"slidingPanelContainerClasses\"\n :button-class=\"slidingPanelButtonsClasses\"\n :reset-on-content-change=\"false\"\n >\n <template #sliding-panel-addons=\"{ arrivedState }\">\n <slot name=\"sliding-panels-addons\" :arrived-state=\"arrivedState\" />\n </template>\n <template #sliding-panel-left-button>\n <slot name=\"sliding-panels-left-button\" />\n </template>\n <template #sliding-panel-right-button>\n <slot name=\"sliding-panels-right-button\" />\n </template>\n <ul class=\"x-ai-carousel-suggestion-results\">\n <DisplayClickProvider\n v-for=\"suggestion in suggestionsSearch\"\n :key=\"suggestion.query\"\n :tooling-display-tagging=\"tagging?.searchQueries[suggestion.query].toolingDisplayClick\"\n :tooling-add2-cart-tagging=\"tagging?.searchQueries[suggestion.query].toolingDisplayAdd2Cart\"\n result-feature=\"ai_carousel\"\n >\n <li\n v-for=\"result in suggestion.results\"\n :key=\"result.id\"\n data-test=\"ai-carousel-suggestion-result\"\n >\n <!-- @slot (required) result card -->\n <slot name=\"result\" :result=\"result\" />\n </li>\n </DisplayClickProvider>\n </ul>\n </SlidingPanel>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { DisplayClickProvider, SlidingPanel } from '../../../components'\nimport { useState } from '../../../composables'\n\nexport default defineComponent({\n components: {\n DisplayClickProvider,\n SlidingPanel,\n },\n props: {\n /* The title text displayed */\n title: String,\n /* The classes added to the sliding panel. */\n slidingPanelClasses: String,\n /* The classes added to the sliding panel container. */\n slidingPanelContainerClasses: String,\n /* The classes added to the sliding panel buttons. */\n slidingPanelButtonsClasses: String,\n },\n setup() {\n const { suggestionsSearch, tagging } = useState('ai')\n\n return {\n suggestionsSearch,\n tagging,\n }\n },\n})\n</script>\n"],"names":["DisplayClickProvider"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,gBAAe,eAAe,CAAC;AAC7B,IAAA,UAAU,EAAE;8BACVA,WAAoB;QACpB,YAAY;AACb,KAAA;AACD,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE,MAAM;;AAEb,QAAA,mBAAmB,EAAE,MAAM;;AAE3B,QAAA,4BAA4B,EAAE,MAAM;;AAEpC,QAAA,0BAA0B,EAAE,MAAM;AACnC,KAAA;IACD,KAAK,GAAA;QACH,MAAM,EAAE,iBAAiB,EAAE,OAAM,EAAE,GAAI,QAAQ,CAAC,IAAI,CAAA;QAEpD,OAAO;YACL,iBAAiB;YACjB,OAAO;SACT;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|