@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters-search.vue2.js","sources":["../../../../../../src/x-modules/facets/components/lists/filters-search.vue"],"sourcesContent":["<template>\n <div class=\"x-filters-search\" :class=\"cssClasses\" data-test=\"filters-search\">\n <!--\n @slot Search content. It is the content which triggers the filters sifting.\n @binding {string} query - The query to search in filters.\n @binding {Function} setQuery - The function to set the query. The query is passed as\n parameter.\n @binding {Function} clearQuery - The function to clear the query.\n -->\n <slot name=\"search\" v-bind=\"{ query, setQuery, clearQuery }\">\n <input\n :value=\"query\"\n type=\"search\"\n class=\"x-filters-search__input xds:input\"\n data-test=\"filters-search-input\"\n aria-label=\"search into the filter values\"\n @input=\"setQuery(($event?.target as HTMLInputElement)?.value)\"\n />\n </slot>\n <!--\n @slot (Required) Sifted filters content.\n @binding {Filter[]} siftedFilters - Sifted filters data.\n -->\n <slot :sifted-filters=\"siftedFilters\"></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { Filter } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { DebouncedFunction, VueCSSClasses } from '../../../../utils/types'\nimport { isBooleanFilter } from '@empathyco/x-types'\nimport { computed, defineComponent, provide, ref, watch } from 'vue'\nimport { debounce } from '../../../../utils/debounce'\nimport { normalizeString } from '../../../../utils/normalize'\nimport { useFiltersInjection } from '../../composables/use-filters-injection'\nimport { facetsXModule } from '../../x-module'\n\n/**\n * Renders the filters sifted with the input query.\n *\n * @public\n */\nexport default defineComponent({\n name: 'FiltersSearch',\n xModule: facetsXModule.name,\n props: {\n /**\n * The list of filters to be rendered as slots.\n *\n * @public\n */\n filters: Array as PropType<Filter[]>,\n\n /**\n * This prop is used in the `HierarchicalFilter` component and only in that case. It is necessary\n * to make the `renderedFilters` to return only the filters of each level of the hierarchy.\n *\n * @public\n */\n parentId: {\n type: String as PropType<Filter['id']>,\n required: false,\n },\n\n /** The debounce time for applying the filter sifting. */\n debounceInMs: {\n type: Number,\n default: 200,\n },\n },\n setup(props) {\n const renderedFilters = useFiltersInjection(props)\n\n const query = ref('')\n let setQueryDebounced: DebouncedFunction<[string]>\n\n const debounceInMs = computed(() => props.debounceInMs)\n\n /**\n * Set the debounce function for setting the query debounced.\n *\n * @internal\n */\n const updateSetQueryDebounced = () => {\n setQueryDebounced = debounce(queryDebounced => {\n query.value = queryDebounced\n }, props.debounceInMs)\n }\n watch(debounceInMs, updateSetQueryDebounced, { immediate: true })\n\n /**\n * Sift the array of filters which matches with the query.\n *\n * @returns Array of sifted filters.\n * @internal\n */\n const siftedFilters = computed((): Filter[] => {\n const normalizedQuery = normalizeString(query.value)\n return renderedFilters.value.filter(\n filter =>\n isBooleanFilter(filter) && normalizeString(filter.label).includes(normalizedQuery),\n )\n })\n provide('filters', siftedFilters)\n\n /**\n * Adds the dynamic css classes to the component.\n *\n * @returns The class to be added to the component.\n * @internal\n */\n const cssClasses = computed((): VueCSSClasses => {\n return { 'x-filters-search--is-sifted': !!query.value }\n })\n\n /**\n * Set the query through the debounced function.\n *\n * @param query - The query to sift filters.\n * @internal\n */\n const setQuery = (query: string): void => {\n setQueryDebounced(query)\n }\n\n /**\n * Clear the query.\n *\n * @internal\n */\n const clearQuery = (): void => {\n query.value = ''\n }\n\n return {\n clearQuery,\n setQuery,\n cssClasses,\n siftedFilters,\n query,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-filters-search {\n display: flex;\n flex-flow: column nowrap;\n}\n\n.x-filters-search__input::-ms-clear {\n display: none;\n width: 0;\n height: 0;\n}\n\n.x-filters-search__input::-ms-reveal {\n display: none;\n width: 0;\n height: 0;\n}\n\n.x-filters-search__input::-webkit-search-decoration,\n.x-filters-search__input::-webkit-search-cancel-button,\n.x-filters-search__input::-webkit-search-results-button,\n.x-filters-search__input::-webkit-search-results-decoration {\n display: none;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Examples\n\nIt renders an input and a list of filters passed as prop or being injected. The list of filters can\nbe sifted with the query typed in the input. This component has also a debounce prop to set the time\nin milliseconds to apply the filters search. Moreover, it has two scoped slots. The first one for\ncustomize the search triggering with three slot props; the query, a function to set the query by\nsifting and a third one for cleaning the query. The second scoped slot is required and it is for\ndisplaying the list of filters sifted. It has a slot prop with these filters sifted.\n\n### Important\n\nThe component has two ways of receive the filters list, it can be injected by another component or\nbe send it as a prop. If the component doesnt have a parent component that receive and exposed a\nfilters list to their children, it is mandatory to send it as prop.\n\n### Basic usage\n\nUsing default and required slot:\n\n```vue\n<template>\n <FiltersSearch :filters=\"filters\" v-slot=\"{ siftedFilters }\">\n <ul v-for=\"filter in siftedFilters\">\n <li :key=\"filter.id\">{{ filter.label }}</li>\n </ul>\n </FiltersSearch>\n</template>\n\n<script setup>\nimport { FiltersSearch } from '@empathyco/x-components/facets'\nimport { ref } from 'vue'\n\nconst filters = ref([\n { id: '1', label: 'Filter 1', modelName: 'SimpleFilter', selected: false },\n { id: '2', label: 'Filter 2', modelName: 'SimpleFilter', selected: false },\n])\n</script>\n```\n\nSetting debounce time:\n\n```vue\n<template>\n <FiltersSearch :filters=\"filters\" :debounceInMs=\"500\" v-slot=\"{ siftedFilters }\">\n <ul v-for=\"filter in siftedFilters\">\n <li :key=\"filter.id\">{{ filter.label }}</li>\n </ul>\n </FiltersSearch>\n</template>\n\n<script setup>\nimport { FiltersSearch } from '@empathyco/x-components/facets'\nimport { ref } from 'vue'\n\nconst filters = ref([\n { id: '1', label: 'Filter 1', modelName: 'SimpleFilter', selected: false },\n { id: '2', label: 'Filter 2', modelName: 'SimpleFilter', selected: false },\n])\n</script>\n```\n\nReplacing search triggering:\n\n```vue\n<template>\n <FiltersSearch :filters=\"filters\">\n <template #search=\"{ query, setQuery, clearQuery }\">\n <input\n @input=\"setQuery($event.target.value)\"\n :value=\"query\"\n class=\"x-input x-filters-search__input\"\n :aria-label=\"filtersSearchInputMessage\"\n />\n <button @click=\"clearQuery\">X</button>\n </template>\n <template #default=\"{ siftedFilters }\">\n <ul v-for=\"filter in siftedFilters\">\n <li :key=\"filter.id\">{{ filter.label }}</li>\n </ul>\n </template>\n </FiltersSearch>\n</template>\n\n<script setup>\nimport { FiltersSearch } from '@empathyco/x-components/facets'\nimport { ref } from 'vue'\n\nconst filters = ref([\n { id: '1', label: 'Filter 1', modelName: 'SimpleFilter', selected: false },\n { id: '2', label: 'Filter 2', modelName: 'SimpleFilter', selected: false },\n])\n</script>\n```\n\n> **Using injection**: It can receive the filters list by injection. It only works if it has a\n> parent component that receives and exposes the filters list. Using the injection, It is not\n> necessary to send the prop to the child components, it has to be send it in the parent component,\n> the rest of components will inject this list.\n\n```vue\n<template>\n <Facets v-slot=\"{ facet }\">\n <SlicedFilters :filters=\"facet.filters\" :max=\"8\">\n <FiltersSearch>\n <Filters v-slot=\"{ filter }\">\n <SimpleFilter :filter=\"filter\" data-test=\"brand-filter\" />\n </Filters>\n </FiltersSearch>\n </SlicedFilters>\n </Facets>\n</template>\n\n<script setup>\nimport { Facets } from '@empathyco/x-components/facets'\nimport { SlicedFilters, FiltersSearch, Filters, SimpleFilter } from '@empathyco/x-components/facets'\nimport { ref } from 'vue'\n\nconst facet = ref({\n filters: [\n { id: '1', label: 'Filter 1', modelName: 'SimpleFilter', selected: false },\n { id: '2', label: 'Filter 2', modelName: 'SimpleFilter', selected: false },\n ],\n})\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;AAsCA;;;;AAIE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,aAAa,CAAC,IAAI;AAC3B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,OAAO,EAAE,KAA2B;AAEpC;;;;;AAKE;AACF,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,MAAgC;AACtC,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;;AAGD,QAAA,YAAY,EAAE;AACZ,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,GAAG;AACb,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,eAAc,GAAI,mBAAmB,CAAC,KAAK,CAAA;AAEjD,QAAA,MAAM,KAAI,GAAI,GAAG,CAAC,EAAE,CAAA;AACpB,QAAA,IAAI,iBAA6C;QAEjD,MAAM,YAAW,GAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,YAAY,CAAA;AAEtD;;;;AAIE;QACF,MAAM,uBAAsB,GAAI,MAAI;AAClC,YAAA,iBAAgB,GAAI,QAAQ,CAAC,cAAa,IAAG;AAC3C,gBAAA,KAAK,CAAC,KAAI,GAAI,cAAa;AAC7B,YAAA,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;AACvB,QAAA,CAAA;QACA,KAAK,CAAC,YAAY,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAG,EAAG,CAAA;AAEhE;;;;;AAKE;AACF,QAAA,MAAM,gBAAgB,QAAQ,CAAC,MAAc;YAC3C,MAAM,eAAc,GAAI,eAAe,CAAC,KAAK,CAAC,KAAK,CAAA;YACnD,OAAO,eAAe,CAAC,KAAK,CAAC,MAAM,CACjC,UACE,eAAe,CAAC,MAAM,CAAA,IAAK,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CACtF;AACF,QAAA,CAAC,CAAA;AACD,QAAA,OAAO,CAAC,SAAS,EAAE,aAAa,CAAA;AAEhC;;;;;AAKE;AACF,QAAA,MAAM,UAAS,GAAI,QAAQ,CAAC,MAAmB;YAC7C,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC,KAAK,CAAC,KAAI,EAAE;AACxD,QAAA,CAAC,CAAA;AAED;;;;;AAKE;AACF,QAAA,MAAM,QAAO,GAAI,CAAC,KAAa,KAAS;YACtC,iBAAiB,CAAC,KAAK,CAAA;AACzB,QAAA,CAAA;AAEA;;;;AAIE;QACF,MAAM,UAAS,GAAI,MAAU;AAC3B,YAAA,KAAK,CAAC,KAAI,GAAI,EAAC;AACjB,QAAA,CAAA;QAEA,OAAO;YACL,UAAU;YACV,QAAQ;YACR,UAAU;YACV,aAAa;YACb,KAAK;SACP;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"filters-search2.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/filters-search.vue"],"sourcesContent":["<template>\n <div class=\"x-filters-search\" :class=\"cssClasses\" data-test=\"filters-search\">\n <!--\n @slot Search content. It is the content which triggers the filters sifting.\n @binding {string} query - The query to search in filters.\n @binding {Function} setQuery - The function to set the query. The query is passed as\n parameter.\n @binding {Function} clearQuery - The function to clear the query.\n -->\n <slot name=\"search\" v-bind=\"{ query, setQuery, clearQuery }\">\n <input\n :value=\"query\"\n type=\"search\"\n class=\"x-filters-search__input xds:input\"\n data-test=\"filters-search-input\"\n aria-label=\"search into the filter values\"\n @input=\"setQuery(($event?.target as HTMLInputElement)?.value)\"\n />\n </slot>\n <!--\n @slot (Required) Sifted filters content.\n @binding {Filter[]} siftedFilters - Sifted filters data.\n -->\n <slot :sifted-filters=\"siftedFilters\"></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { Filter } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { DebouncedFunction, VueCSSClasses } from '../../../../utils/types'\nimport { isBooleanFilter } from '@empathyco/x-types'\nimport { computed, defineComponent, provide, ref, watch } from 'vue'\nimport { debounce } from '../../../../utils/debounce'\nimport { normalizeString } from '../../../../utils/normalize'\nimport { useFiltersInjection } from '../../composables/use-filters-injection'\nimport { facetsXModule } from '../../x-module'\n\n/**\n * Renders the filters sifted with the input query.\n *\n * @public\n */\nexport default defineComponent({\n name: 'FiltersSearch',\n xModule: facetsXModule.name,\n props: {\n /**\n * The list of filters to be rendered as slots.\n *\n * @public\n */\n filters: Array as PropType<Filter[]>,\n\n /**\n * This prop is used in the `HierarchicalFilter` component and only in that case. It is necessary\n * to make the `renderedFilters` to return only the filters of each level of the hierarchy.\n *\n * @public\n */\n parentId: {\n type: String as PropType<Filter['id']>,\n required: false,\n },\n\n /** The debounce time for applying the filter sifting. */\n debounceInMs: {\n type: Number,\n default: 200,\n },\n },\n setup(props) {\n const renderedFilters = useFiltersInjection(props)\n\n const query = ref('')\n let setQueryDebounced: DebouncedFunction<[string]>\n\n const debounceInMs = computed(() => props.debounceInMs)\n\n /**\n * Set the debounce function for setting the query debounced.\n *\n * @internal\n */\n const updateSetQueryDebounced = () => {\n setQueryDebounced = debounce(queryDebounced => {\n query.value = queryDebounced\n }, props.debounceInMs)\n }\n watch(debounceInMs, updateSetQueryDebounced, { immediate: true })\n\n /**\n * Sift the array of filters which matches with the query.\n *\n * @returns Array of sifted filters.\n * @internal\n */\n const siftedFilters = computed((): Filter[] => {\n const normalizedQuery = normalizeString(query.value)\n return renderedFilters.value.filter(\n filter =>\n isBooleanFilter(filter) && normalizeString(filter.label).includes(normalizedQuery),\n )\n })\n provide('filters', siftedFilters)\n\n /**\n * Adds the dynamic css classes to the component.\n *\n * @returns The class to be added to the component.\n * @internal\n */\n const cssClasses = computed((): VueCSSClasses => {\n return { 'x-filters-search--is-sifted': !!query.value }\n })\n\n /**\n * Set the query through the debounced function.\n *\n * @param query - The query to sift filters.\n * @internal\n */\n const setQuery = (query: string): void => {\n setQueryDebounced(query)\n }\n\n /**\n * Clear the query.\n *\n * @internal\n */\n const clearQuery = (): void => {\n query.value = ''\n }\n\n return {\n clearQuery,\n setQuery,\n cssClasses,\n siftedFilters,\n query,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-filters-search {\n display: flex;\n flex-flow: column nowrap;\n}\n\n.x-filters-search__input::-ms-clear {\n display: none;\n width: 0;\n height: 0;\n}\n\n.x-filters-search__input::-ms-reveal {\n display: none;\n width: 0;\n height: 0;\n}\n\n.x-filters-search__input::-webkit-search-decoration,\n.x-filters-search__input::-webkit-search-cancel-button,\n.x-filters-search__input::-webkit-search-results-button,\n.x-filters-search__input::-webkit-search-results-decoration {\n display: none;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Examples\n\nIt renders an input and a list of filters passed as prop or being injected. The list of filters can\nbe sifted with the query typed in the input. This component has also a debounce prop to set the time\nin milliseconds to apply the filters search. Moreover, it has two scoped slots. The first one for\ncustomize the search triggering with three slot props; the query, a function to set the query by\nsifting and a third one for cleaning the query. The second scoped slot is required and it is for\ndisplaying the list of filters sifted. It has a slot prop with these filters sifted.\n\n### Important\n\nThe component has two ways of receive the filters list, it can be injected by another component or\nbe send it as a prop. If the component doesnt have a parent component that receive and exposed a\nfilters list to their children, it is mandatory to send it as prop.\n\n### Basic usage\n\nUsing default and required slot:\n\n```vue\n<template>\n <FiltersSearch :filters=\"filters\" v-slot=\"{ siftedFilters }\">\n <ul v-for=\"filter in siftedFilters\">\n <li :key=\"filter.id\">{{ filter.label }}</li>\n </ul>\n </FiltersSearch>\n</template>\n\n<script setup>\nimport { FiltersSearch } from '@empathyco/x-components/facets'\nimport { ref } from 'vue'\n\nconst filters = ref([\n { id: '1', label: 'Filter 1', modelName: 'SimpleFilter', selected: false },\n { id: '2', label: 'Filter 2', modelName: 'SimpleFilter', selected: false },\n])\n</script>\n```\n\nSetting debounce time:\n\n```vue\n<template>\n <FiltersSearch :filters=\"filters\" :debounceInMs=\"500\" v-slot=\"{ siftedFilters }\">\n <ul v-for=\"filter in siftedFilters\">\n <li :key=\"filter.id\">{{ filter.label }}</li>\n </ul>\n </FiltersSearch>\n</template>\n\n<script setup>\nimport { FiltersSearch } from '@empathyco/x-components/facets'\nimport { ref } from 'vue'\n\nconst filters = ref([\n { id: '1', label: 'Filter 1', modelName: 'SimpleFilter', selected: false },\n { id: '2', label: 'Filter 2', modelName: 'SimpleFilter', selected: false },\n])\n</script>\n```\n\nReplacing search triggering:\n\n```vue\n<template>\n <FiltersSearch :filters=\"filters\">\n <template #search=\"{ query, setQuery, clearQuery }\">\n <input\n @input=\"setQuery($event.target.value)\"\n :value=\"query\"\n class=\"x-input x-filters-search__input\"\n :aria-label=\"filtersSearchInputMessage\"\n />\n <button @click=\"clearQuery\">X</button>\n </template>\n <template #default=\"{ siftedFilters }\">\n <ul v-for=\"filter in siftedFilters\">\n <li :key=\"filter.id\">{{ filter.label }}</li>\n </ul>\n </template>\n </FiltersSearch>\n</template>\n\n<script setup>\nimport { FiltersSearch } from '@empathyco/x-components/facets'\nimport { ref } from 'vue'\n\nconst filters = ref([\n { id: '1', label: 'Filter 1', modelName: 'SimpleFilter', selected: false },\n { id: '2', label: 'Filter 2', modelName: 'SimpleFilter', selected: false },\n])\n</script>\n```\n\n> **Using injection**: It can receive the filters list by injection. It only works if it has a\n> parent component that receives and exposes the filters list. Using the injection, It is not\n> necessary to send the prop to the child components, it has to be send it in the parent component,\n> the rest of components will inject this list.\n\n```vue\n<template>\n <Facets v-slot=\"{ facet }\">\n <SlicedFilters :filters=\"facet.filters\" :max=\"8\">\n <FiltersSearch>\n <Filters v-slot=\"{ filter }\">\n <SimpleFilter :filter=\"filter\" data-test=\"brand-filter\" />\n </Filters>\n </FiltersSearch>\n </SlicedFilters>\n </Facets>\n</template>\n\n<script setup>\nimport { Facets } from '@empathyco/x-components/facets'\nimport { SlicedFilters, FiltersSearch, Filters, SimpleFilter } from '@empathyco/x-components/facets'\nimport { ref } from 'vue'\n\nconst facet = ref({\n filters: [\n { id: '1', label: 'Filter 1', modelName: 'SimpleFilter', selected: false },\n { id: '2', label: 'Filter 2', modelName: 'SimpleFilter', selected: false },\n ],\n})\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;AAsCA;;;;AAIE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,aAAa,CAAC,IAAI;AAC3B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,OAAO,EAAE,KAA2B;AAEpC;;;;;AAKE;AACF,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,MAAgC;AACtC,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;;AAGD,QAAA,YAAY,EAAE;AACZ,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,GAAG;AACb,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,eAAc,GAAI,mBAAmB,CAAC,KAAK,CAAA;AAEjD,QAAA,MAAM,KAAI,GAAI,GAAG,CAAC,EAAE,CAAA;AACpB,QAAA,IAAI,iBAA6C;QAEjD,MAAM,YAAW,GAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,YAAY,CAAA;AAEtD;;;;AAIE;QACF,MAAM,uBAAsB,GAAI,MAAI;AAClC,YAAA,iBAAgB,GAAI,QAAQ,CAAC,cAAa,IAAG;AAC3C,gBAAA,KAAK,CAAC,KAAI,GAAI,cAAa;AAC7B,YAAA,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;AACvB,QAAA,CAAA;QACA,KAAK,CAAC,YAAY,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAG,EAAG,CAAA;AAEhE;;;;;AAKE;AACF,QAAA,MAAM,gBAAgB,QAAQ,CAAC,MAAc;YAC3C,MAAM,eAAc,GAAI,eAAe,CAAC,KAAK,CAAC,KAAK,CAAA;YACnD,OAAO,eAAe,CAAC,KAAK,CAAC,MAAM,CACjC,UACE,eAAe,CAAC,MAAM,CAAA,IAAK,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CACtF;AACF,QAAA,CAAC,CAAA;AACD,QAAA,OAAO,CAAC,SAAS,EAAE,aAAa,CAAA;AAEhC;;;;;AAKE;AACF,QAAA,MAAM,UAAS,GAAI,QAAQ,CAAC,MAAmB;YAC7C,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC,KAAK,CAAC,KAAI,EAAE;AACxD,QAAA,CAAC,CAAA;AAED;;;;;AAKE;AACF,QAAA,MAAM,QAAO,GAAI,CAAC,KAAa,KAAS;YACtC,iBAAiB,CAAC,KAAK,CAAA;AACzB,QAAA,CAAA;AAEA;;;;AAIE;QACF,MAAM,UAAS,GAAI,MAAU;AAC3B,YAAA,KAAK,CAAC,KAAI,GAAI,EAAC;AACjB,QAAA,CAAA;QAEA,OAAO;YACL,UAAU;YACV,QAAQ;YACR,UAAU;YACV,aAAa;YACb,KAAK;SACP;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters-search3.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _sfc_main from './selected-filters-
|
|
1
|
+
import _sfc_main from './selected-filters-list2.vue.js';
|
|
2
2
|
import { resolveComponent, openBlock, createBlock, withCtx, resolveDynamicComponent, createElementBlock, Fragment, renderList, renderSlot, createElementVNode, toDisplayString, createTextVNode } from 'vue';
|
|
3
3
|
import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.js';
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selected-filters-
|
|
1
|
+
{"version":3,"file":"selected-filters-list2.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/selected-filters-list.vue"],"sourcesContent":["<template>\n <SelectedFilters :facets-ids=\"facetsIds\" :always-visible=\"alwaysVisible\">\n <component\n :is=\"animation\"\n class=\"x-selected-filters-list\"\n data-test=\"selected-filters-list\"\n tag=\"ul\"\n >\n <li\n v-for=\"{ slotName, selectedFilter } in mapSlot(selectedFilters)\"\n :key=\"selectedFilter.id\"\n class=\"x-selected-filters-list__item\"\n data-test=\"selected-filters-list-item\"\n >\n <!--\n @slot Custom filter rendering. Dynamic slot defined in the template with the filter\n facet id. It renders the filter label by default.\n @binding {Filter} filter - Filter to render.\n -->\n <slot v-if=\"hasSlot(slotName)\" :name=\"slotName\" :filter=\"selectedFilter\">\n <span class=\"xds:tag\">{{ (selectedFilter as BooleanFilter).label }}</span>\n </slot>\n\n <!--\n @slot Default filter rendering. It renders the filter label by default.\n @binding {Filter} filter - Filter to render.\n -->\n <slot v-else name=\"default\" :filter=\"selectedFilter\">\n {{ (selectedFilter as BooleanFilter).label }}\n </slot>\n </li>\n </component>\n </SelectedFilters>\n</template>\n\n<script lang=\"ts\">\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { BooleanFilter, Facet, Filter } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { RenderFilter } from './selected-filters-list.types'\nimport { isFacetFilter } from '@empathyco/x-types'\nimport { defineComponent } from 'vue'\nimport { AnimationProp } from '../../../../types'\nimport { toKebabCase } from '../../../../utils/string'\nimport { useFacets } from '../../composables/use-facets'\nimport { facetsXModule } from '../../x-module'\nimport SelectedFilters from './selected-filters.vue'\n\n/**\n * This component renders a list of selected filters from every facet, or from the facet\n * ids passed as property. It uses the SelectedFilters component (state).\n *\n * It provides two slots: a scoped one which name is the filter facet id; and a default one.\n * Both exposes the filter and renders the filter label by default.\n *\n * The property \"alwaysVisible\" handles if the component is rendered if no filters are selected.\n *\n * @public\n */\nexport default defineComponent({\n name: 'SelectedFiltersList',\n xModule: facetsXModule.name,\n components: { SelectedFilters },\n props: {\n /** Array of facets ids used to get the selected filters for those facets. */\n facetsIds: Array as PropType<Array<Facet['id']>>,\n /** Flag to render the component even if there are no filters selected. */\n alwaysVisible: Boolean,\n /** Animation component that will be used to animate the selected filters list. */\n animation: {\n type: AnimationProp,\n default: 'ul',\n },\n },\n setup(props, { slots }) {\n const { selectedFilters } = useFacets(props)\n\n /**\n * Transforms a dictionary of Filters including the slot name.\n *\n * @param selectedFilters - A list of selected filters without slot name.\n *\n * @returns A dictionary of facets with the slot name.\n */\n function mapSlot(selectedFilters: Filter[]): RenderFilter[] {\n return selectedFilters.map(filter => ({\n slotName: isFacetFilter(filter) ? toKebabCase(filter.facetId as string) : 'default',\n selectedFilter: filter,\n }))\n }\n\n /**\n * Whether the slot is present in the template or not.\n *\n * @param name - The slot name.\n *\n * @returns True is the slot is present in the template. False otherwise.\n */\n function hasSlot(name: string): boolean {\n return !!slots[name]\n }\n\n return {\n selectedFilters,\n mapSlot,\n hasSlot,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Example\n\nThis component renders a list of selected filters from every facet, or from the facets which facets\nids are passed as property. It uses the SelectedFilters component (state).\n\nIt provides two slots: a scoped one which name is the filter facet id; and a default one. Both\nexposes the filter and renders the filter label by default.\n\nThe property \"alwaysVisible\" handles if the component is rendered if no filters are selected.\n\n### Default usage\n\n```vue\n<template>\n <SelectedFiltersList />\n</template>\n\n<script setup>\nimport { SelectedFiltersList } from '@empathyco/x-components/facets'\n</script>\n```\n\n### Customized usage\n\n```vue\n<template>\n <SelectedFiltersList #default=\"{ filter }\">Default: {{ filter.label }}</SelectedFiltersList>\n</template>\n\n<script setup>\nimport { SelectedFiltersList } from '@empathyco/x-components/facets'\n</script>\n```\n\n```vue\n<template>\n <SelectedFiltersList>\n <template #default=\"{ filter }\">Default: {{ filter.label }}</template>\n <template #brand_facet=\"{ filter }\">Brand: {{ filter.label }}</template>\n <template #age_facet=\"{ filter }\">Age: {{ filter.label }}</template>\n <template #price_facet=\"{ filter }\">Price: {{ filter.label }}</template>\n </SelectedFiltersList>\n</template>\n\n<script setup>\nimport { SelectedFiltersList } from '@empathyco/x-components/facets'\n</script>\n```\n\n#### Always visible\n\nIf \"alwaysVisible\" is true, the component is rendered no matter if there are some filter selected.\nIf \"alwaysVisible\" is false (default), the component is rendered if there are some filter selected.\n\n```vue\n<template>\n <SelectedFiltersList :alwaysVisible=\"true\" />\n</template>\n\n<script setup>\nimport { SelectedFiltersList } from '@empathyco/x-components/facets'\n</script>\n```\n\nOutput:\n\n```html\n<div class=\"x-selected-filters\">\n <ul class=\"x-selected-filters-list\" data-test=\"selected-filters-list\"></ul>\n</div>\n```\n\n#### Providing an array of facet ids\n\nIn this example, the selected filters computed are the ones that match the facet ids passed as\nproperties.\n\n```vue\n<template>\n <SelectedFiltersList :facetsIds=\"['brand_facet', 'gender_facet']\" />\n</template>\n\n<script setup>\nimport { SelectedFiltersList } from '@empathyco/x-components/facets'\n</script>\n```\n</docs>\n"],"names":["SelectedFilters"],"mappings":";;;;;;;;AAgDA;;;;;;;;;;AAUE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,aAAa,CAAC,IAAI;IAC3B,UAAU,EAAE,mBAAEA,WAAc,EAAG;AAC/B,IAAA,KAAK,EAAE;;AAEL,QAAA,SAAS,EAAE,KAAqC;;AAEhD,QAAA,aAAa,EAAE,OAAO;;AAEtB,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAE,EAAE,KAAI,EAAG,EAAA;QACpB,MAAM,EAAE,eAAc,KAAM,SAAS,CAAC,KAAK,CAAA;AAE3C;;;;;;AAME;QACF,SAAS,OAAO,CAAC,eAAyB,EAAA;YACxC,OAAO,eAAe,CAAC,GAAG,CAAC,MAAK,KAAM;AACpC,gBAAA,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAA,GAAI,WAAW,CAAC,MAAM,CAAC,OAAiB,CAAA,GAAI,SAAS;AACnF,gBAAA,cAAc,EAAE,MAAM;AACvB,aAAA,CAAC,CAAA;QACJ;AAEA;;;;;;AAME;QACF,SAAS,OAAO,CAAC,IAAY,EAAA;AAC3B,YAAA,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;QACrB;QAEA,OAAO;YACL,eAAe;YACf,OAAO;YACP,OAAO;SACT;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selected-filters2.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _sfc_main from './sliced-
|
|
1
|
+
import _sfc_main from './sliced-filters2.vue.js';
|
|
2
2
|
import { openBlock, createElementBlock, normalizeClass, renderSlot, Fragment, createTextVNode, createElementVNode, toDisplayString, createCommentVNode } from 'vue';
|
|
3
3
|
import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.js';
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sliced-filters.vue2.js","sources":["../../../../../../src/x-modules/facets/components/lists/sliced-filters.vue"],"sourcesContent":["<template>\n <div class=\"x-sliced-filters\" :class=\"cssClasses\" data-test=\"filters-show-more\">\n <!--\n @slot (Required) Sliced filters content.\n @binding {Filter[]} slicedFilters - Sliced filters..\n -->\n <slot :sliced-filters=\"slicedFilters\" />\n <template v-if=\"showButton\">\n <button\n v-if=\"showMoreFilters\"\n class=\"x-sliced-filters__button x-sliced-filters__button--show-more xds:filter-facet\"\n :class=\"buttonClass\"\n data-test=\"sliced-filters-show-more-button\"\n @click=\"toggleShowMoreFilters\"\n >\n <!--\n @slot Button show more filters.\n @binding {number} difference - The difference between the filters and max to show.\n -->\n <slot name=\"show-more\" :difference=\"difference\">\n Show\n <span data-test=\"show-more-amount\">{{ difference }}</span>\n more filters\n </slot>\n </button>\n <button\n v-else\n class=\"x-sliced-filters__button x-sliced-filters__button--show-less xds:filter-facet\"\n :class=\"buttonClass\"\n data-test=\"sliced-filters-show-less-button\"\n @click=\"toggleShowMoreFilters\"\n >\n <!--\n @slot Button show less filters.\n @binding {number} difference - The difference between the filters and max to show.\n -->\n <slot name=\"show-less\" :difference=\"difference\">\n Show\n <span data-test=\"show-less-amount\">{{ difference }}</span>\n less filters\n </slot>\n </button>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { Filter } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { VueCSSClasses } from '../../../../utils'\nimport { computed, defineComponent, provide, ref } from 'vue'\nimport { useFiltersInjection } from '../../composables/use-filters-injection'\nimport { facetsXModule } from '../../x-module'\n\n/**\n * Component that slices a list of filters and returns them using the default scoped slot,\n * allowing the user to show the full list of them or slicing them again using the\n * show more/less buttons.\n *\n * @public\n */\nexport default defineComponent({\n name: 'SlicedFilters',\n xModule: facetsXModule.name,\n props: {\n /**\n * The list of filters to be rendered as slots.\n *\n * @public\n */\n filters: Array as PropType<Filter[]>,\n /**\n * This prop is used in the `HierarchicalFilter` component and only in that case. It is necessary\n * to make the `renderedFilters` to return only the filters of each level of the hierarchy.\n */\n parentId: {\n type: String as PropType<Filter['id']>,\n required: false,\n },\n /** The maximum number of filters to show. */\n max: {\n type: Number,\n required: true,\n },\n buttonClass: String,\n },\n emits: ['click:show-less', 'click:show-more'],\n setup(props, { emit }) {\n /** For showing the remaining filters. */\n const showMoreFilters = ref(true)\n\n const renderedFilters = useFiltersInjection(props)\n\n /**\n * Show the buttons template when length filters is greater than property max.\n *\n * @returns Boolean if length filters is greater than property max.\n * @internal\n */\n const showButton = computed(() => renderedFilters.value.length > props.max)\n\n /**\n * Sliced the array of filters depends on click button show more.\n *\n * @returns Array of sliced filters or all filters.\n * @internal\n */\n const slicedFilters = computed((): Filter[] => {\n return showMoreFilters.value\n ? renderedFilters.value.slice(0, props.max)\n : renderedFilters.value\n })\n provide('filters', slicedFilters)\n\n /**\n * The difference between length filters and max to show.\n *\n * @returns Number of remaining filters to show.\n * @internal\n */\n const difference = computed(() => renderedFilters.value.length - props.max)\n\n /**\n * Show or hide the remaining filters. It also emits a Vue event based on the clicked button.\n *\n * @param event - The click event.\n *\n * @internal\n */\n const toggleShowMoreFilters = (event: MouseEvent): void => {\n showMoreFilters.value = !showMoreFilters.value\n emit(showMoreFilters.value ? 'click:show-less' : 'click:show-more', event)\n }\n\n /**\n * Adds the dynamic css classes to the component.\n *\n * @returns The classes to be added to the component.\n * @internal\n */\n const cssClasses = computed((): VueCSSClasses => {\n return {\n 'x-sliced-filters--is-sliced': showButton.value,\n }\n })\n\n return {\n cssClasses,\n toggleShowMoreFilters,\n showButton,\n difference,\n slicedFilters,\n showMoreFilters,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Example\n\nThe sliced filters component, takes a list of filters, and the maximum number of filters to render\nas prop. Then, it slices the list of filters using the `max` prop, and returns this new filters list\nusing the default scoped slot.\n\nThe user can click the show more button if he wants to see the full list of filters, or the show\nless button when he wants to reset the filters. This buttons text or icons can be configured via\nslot too. They receive a `difference` prop which can be useful for writing friendlier messages.\n\nThis component is usually integrated with the `Facets` and `Filters` component. It is useful when\nthere are lots of available filters for a single facet, helping to improve the app performance, as\nless nodes are rendered.\n\n### Important\n\nThe component has two ways of receive the filters list, it can be injected by another component or\nbe send it as a prop. If the component doesnt have a parent component that receive and exposed a\nfilters list to their children, it is mandatory to send it as prop.\n\n### Basic usage\n\n```vue\n<template>\n <Facets v-slot=\"{ facet }\">\n <SlicedFilters :filters=\"facet.filters\" :max=\"4\">\n <template #default=\"{ slicedFilters }\">\n <Filters :items=\"slicedFilters\" v-slot=\"{ filter }\">\n <SimpleFilter :filter=\"filter\" />\n </Filters>\n </template>\n <template #show-more=\"{ difference }\">\n Show\n <span data-test=\"show-more-amount\">{{ difference }}</span>\n more filters\n </template>\n <template #show-less=\"{ difference }\">\n Show\n <span data-test=\"show-less-amount\">{{ difference }}</span>\n less filters\n </template>\n </SlicedFilters>\n </Facets>\n</template>\n\n<script setup>\nimport { Facets, SlicedFilters, Filters, SimpleFilter } from '@empathyco/x-components'\n</script>\n```\n\n> **Using injection**: It can receive the filters list by injection. It only works if it has a\n> parent component that receives and exposes the filters list. Using the injection, It is not\n> necessary to send the prop to the child components, it has to be send it in the parent component ,\n> the rest of components will inject this list.\n\n```vue\n<template>\n <Facets v-slot=\"{ facet }\">\n <SlicedFilters :filters=\"facet.filters\" :max=\"4\">\n <Filters v-slot=\"{ filter }\">\n <SimpleFilter :filter=\"filter\" />\n </Filters>\n <template #show-more=\"{ difference }\">Show {{ difference }} more filters</template>\n <template #show-less=\"{ difference }\">Show {{ difference }} less filters</template>\n </SlicedFilters>\n </Facets>\n</template>\n\n<script setup>\nimport { Facets, SlicedFilters, Filters, SimpleFilter } from '@empathyco/x-components'\n</script>\n```\n\n### Customizing the items with classes\n\nThe `buttonClass` prop can be used to add classes to the show more/less buttons.\n\n```vue\n<template>\n <Facets v-slot=\"{ facet }\">\n <SlicedFilters :filters=\"facet.filters\" :max=\"4\" buttonClass=\"x-facet-filter-lg\">\n <Filters v-slot=\"{ filter }\">\n <SimpleFilter :filter=\"filter\" />\n </Filters>\n <template #show-more=\"{ difference }\">Show {{ difference }} more filters</template>\n <template #show-less=\"{ difference }\">Show {{ difference }} less filters</template>\n </SlicedFilters>\n </Facets>\n</template>\n\n<script setup>\nimport { Facets, SlicedFilters, Filters, SimpleFilter } from '@empathyco/x-components'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;AAsDA;;;;;;AAME;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,aAAa,CAAC,IAAI;AAC3B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,OAAO,EAAE,KAA2B;AACpC;;;AAGE;AACF,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,MAAgC;AACtC,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;;AAED,QAAA,GAAG,EAAE;AACH,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD,QAAA,WAAW,EAAE,MAAM;AACpB,KAAA;AACD,IAAA,KAAK,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;AAC7C,IAAA,KAAK,CAAC,KAAK,EAAE,EAAE,IAAG,EAAG,EAAA;;AAEnB,QAAA,MAAM,eAAc,GAAI,GAAG,CAAC,IAAI,CAAA;AAEhC,QAAA,MAAM,eAAc,GAAI,mBAAmB,CAAC,KAAK,CAAA;AAEjD;;;;;AAKE;AACF,QAAA,MAAM,UAAS,GAAI,QAAQ,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,GAAG,CAAA;AAE1E;;;;;AAKE;AACF,QAAA,MAAM,gBAAgB,QAAQ,CAAC,MAAc;YAC3C,OAAO,eAAe,CAAC;AACrB,kBAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG;AAC1C,kBAAE,eAAe,CAAC,KAAI;AAC1B,QAAA,CAAC,CAAA;AACD,QAAA,OAAO,CAAC,SAAS,EAAE,aAAa,CAAA;AAEhC;;;;;AAKE;AACF,QAAA,MAAM,UAAS,GAAI,QAAQ,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,GAAG,CAAA;AAE1E;;;;;;AAME;AACF,QAAA,MAAM,qBAAoB,GAAI,CAAC,KAAiB,KAAS;AACvD,YAAA,eAAe,CAAC,KAAI,GAAI,CAAC,eAAe,CAAC,KAAI;AAC7C,YAAA,IAAI,CAAC,eAAe,CAAC,KAAI,GAAI,iBAAgB,GAAI,iBAAiB,EAAE,KAAK,CAAA;AAC3E,QAAA,CAAA;AAEA;;;;;AAKE;AACF,QAAA,MAAM,UAAS,GAAI,QAAQ,CAAC,MAAmB;YAC7C,OAAO;gBACL,6BAA6B,EAAE,UAAU,CAAC,KAAK;aACjD;AACF,QAAA,CAAC,CAAA;QAED,OAAO;YACL,UAAU;YACV,qBAAqB;YACrB,UAAU;YACV,UAAU;YACV,aAAa;YACb,eAAe;SACjB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"sliced-filters2.vue.js","sources":["../../../../../../src/x-modules/facets/components/lists/sliced-filters.vue"],"sourcesContent":["<template>\n <div class=\"x-sliced-filters\" :class=\"cssClasses\" data-test=\"filters-show-more\">\n <!--\n @slot (Required) Sliced filters content.\n @binding {Filter[]} slicedFilters - Sliced filters..\n -->\n <slot :sliced-filters=\"slicedFilters\" />\n <template v-if=\"showButton\">\n <button\n v-if=\"showMoreFilters\"\n class=\"x-sliced-filters__button x-sliced-filters__button--show-more xds:filter-facet\"\n :class=\"buttonClass\"\n data-test=\"sliced-filters-show-more-button\"\n @click=\"toggleShowMoreFilters\"\n >\n <!--\n @slot Button show more filters.\n @binding {number} difference - The difference between the filters and max to show.\n -->\n <slot name=\"show-more\" :difference=\"difference\">\n Show\n <span data-test=\"show-more-amount\">{{ difference }}</span>\n more filters\n </slot>\n </button>\n <button\n v-else\n class=\"x-sliced-filters__button x-sliced-filters__button--show-less xds:filter-facet\"\n :class=\"buttonClass\"\n data-test=\"sliced-filters-show-less-button\"\n @click=\"toggleShowMoreFilters\"\n >\n <!--\n @slot Button show less filters.\n @binding {number} difference - The difference between the filters and max to show.\n -->\n <slot name=\"show-less\" :difference=\"difference\">\n Show\n <span data-test=\"show-less-amount\">{{ difference }}</span>\n less filters\n </slot>\n </button>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { Filter } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { VueCSSClasses } from '../../../../utils'\nimport { computed, defineComponent, provide, ref } from 'vue'\nimport { useFiltersInjection } from '../../composables/use-filters-injection'\nimport { facetsXModule } from '../../x-module'\n\n/**\n * Component that slices a list of filters and returns them using the default scoped slot,\n * allowing the user to show the full list of them or slicing them again using the\n * show more/less buttons.\n *\n * @public\n */\nexport default defineComponent({\n name: 'SlicedFilters',\n xModule: facetsXModule.name,\n props: {\n /**\n * The list of filters to be rendered as slots.\n *\n * @public\n */\n filters: Array as PropType<Filter[]>,\n /**\n * This prop is used in the `HierarchicalFilter` component and only in that case. It is necessary\n * to make the `renderedFilters` to return only the filters of each level of the hierarchy.\n */\n parentId: {\n type: String as PropType<Filter['id']>,\n required: false,\n },\n /** The maximum number of filters to show. */\n max: {\n type: Number,\n required: true,\n },\n buttonClass: String,\n },\n emits: ['click:show-less', 'click:show-more'],\n setup(props, { emit }) {\n /** For showing the remaining filters. */\n const showMoreFilters = ref(true)\n\n const renderedFilters = useFiltersInjection(props)\n\n /**\n * Show the buttons template when length filters is greater than property max.\n *\n * @returns Boolean if length filters is greater than property max.\n * @internal\n */\n const showButton = computed(() => renderedFilters.value.length > props.max)\n\n /**\n * Sliced the array of filters depends on click button show more.\n *\n * @returns Array of sliced filters or all filters.\n * @internal\n */\n const slicedFilters = computed((): Filter[] => {\n return showMoreFilters.value\n ? renderedFilters.value.slice(0, props.max)\n : renderedFilters.value\n })\n provide('filters', slicedFilters)\n\n /**\n * The difference between length filters and max to show.\n *\n * @returns Number of remaining filters to show.\n * @internal\n */\n const difference = computed(() => renderedFilters.value.length - props.max)\n\n /**\n * Show or hide the remaining filters. It also emits a Vue event based on the clicked button.\n *\n * @param event - The click event.\n *\n * @internal\n */\n const toggleShowMoreFilters = (event: MouseEvent): void => {\n showMoreFilters.value = !showMoreFilters.value\n emit(showMoreFilters.value ? 'click:show-less' : 'click:show-more', event)\n }\n\n /**\n * Adds the dynamic css classes to the component.\n *\n * @returns The classes to be added to the component.\n * @internal\n */\n const cssClasses = computed((): VueCSSClasses => {\n return {\n 'x-sliced-filters--is-sliced': showButton.value,\n }\n })\n\n return {\n cssClasses,\n toggleShowMoreFilters,\n showButton,\n difference,\n slicedFilters,\n showMoreFilters,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Example\n\nThe sliced filters component, takes a list of filters, and the maximum number of filters to render\nas prop. Then, it slices the list of filters using the `max` prop, and returns this new filters list\nusing the default scoped slot.\n\nThe user can click the show more button if he wants to see the full list of filters, or the show\nless button when he wants to reset the filters. This buttons text or icons can be configured via\nslot too. They receive a `difference` prop which can be useful for writing friendlier messages.\n\nThis component is usually integrated with the `Facets` and `Filters` component. It is useful when\nthere are lots of available filters for a single facet, helping to improve the app performance, as\nless nodes are rendered.\n\n### Important\n\nThe component has two ways of receive the filters list, it can be injected by another component or\nbe send it as a prop. If the component doesnt have a parent component that receive and exposed a\nfilters list to their children, it is mandatory to send it as prop.\n\n### Basic usage\n\n```vue\n<template>\n <Facets v-slot=\"{ facet }\">\n <SlicedFilters :filters=\"facet.filters\" :max=\"4\">\n <template #default=\"{ slicedFilters }\">\n <Filters :items=\"slicedFilters\" v-slot=\"{ filter }\">\n <SimpleFilter :filter=\"filter\" />\n </Filters>\n </template>\n <template #show-more=\"{ difference }\">\n Show\n <span data-test=\"show-more-amount\">{{ difference }}</span>\n more filters\n </template>\n <template #show-less=\"{ difference }\">\n Show\n <span data-test=\"show-less-amount\">{{ difference }}</span>\n less filters\n </template>\n </SlicedFilters>\n </Facets>\n</template>\n\n<script setup>\nimport { Facets, SlicedFilters, Filters, SimpleFilter } from '@empathyco/x-components'\n</script>\n```\n\n> **Using injection**: It can receive the filters list by injection. It only works if it has a\n> parent component that receives and exposes the filters list. Using the injection, It is not\n> necessary to send the prop to the child components, it has to be send it in the parent component ,\n> the rest of components will inject this list.\n\n```vue\n<template>\n <Facets v-slot=\"{ facet }\">\n <SlicedFilters :filters=\"facet.filters\" :max=\"4\">\n <Filters v-slot=\"{ filter }\">\n <SimpleFilter :filter=\"filter\" />\n </Filters>\n <template #show-more=\"{ difference }\">Show {{ difference }} more filters</template>\n <template #show-less=\"{ difference }\">Show {{ difference }} less filters</template>\n </SlicedFilters>\n </Facets>\n</template>\n\n<script setup>\nimport { Facets, SlicedFilters, Filters, SimpleFilter } from '@empathyco/x-components'\n</script>\n```\n\n### Customizing the items with classes\n\nThe `buttonClass` prop can be used to add classes to the show more/less buttons.\n\n```vue\n<template>\n <Facets v-slot=\"{ facet }\">\n <SlicedFilters :filters=\"facet.filters\" :max=\"4\" buttonClass=\"x-facet-filter-lg\">\n <Filters v-slot=\"{ filter }\">\n <SimpleFilter :filter=\"filter\" />\n </Filters>\n <template #show-more=\"{ difference }\">Show {{ difference }} more filters</template>\n <template #show-less=\"{ difference }\">Show {{ difference }} less filters</template>\n </SlicedFilters>\n </Facets>\n</template>\n\n<script setup>\nimport { Facets, SlicedFilters, Filters, SimpleFilter } from '@empathyco/x-components'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;AAsDA;;;;;;AAME;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,aAAa,CAAC,IAAI;AAC3B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,OAAO,EAAE,KAA2B;AACpC;;;AAGE;AACF,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,MAAgC;AACtC,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;;AAED,QAAA,GAAG,EAAE;AACH,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD,QAAA,WAAW,EAAE,MAAM;AACpB,KAAA;AACD,IAAA,KAAK,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;AAC7C,IAAA,KAAK,CAAC,KAAK,EAAE,EAAE,IAAG,EAAG,EAAA;;AAEnB,QAAA,MAAM,eAAc,GAAI,GAAG,CAAC,IAAI,CAAA;AAEhC,QAAA,MAAM,eAAc,GAAI,mBAAmB,CAAC,KAAK,CAAA;AAEjD;;;;;AAKE;AACF,QAAA,MAAM,UAAS,GAAI,QAAQ,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,GAAG,CAAA;AAE1E;;;;;AAKE;AACF,QAAA,MAAM,gBAAgB,QAAQ,CAAC,MAAc;YAC3C,OAAO,eAAe,CAAC;AACrB,kBAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG;AAC1C,kBAAE,eAAe,CAAC,KAAI;AAC1B,QAAA,CAAC,CAAA;AACD,QAAA,OAAO,CAAC,SAAS,EAAE,aAAa,CAAA;AAEhC;;;;;AAKE;AACF,QAAA,MAAM,UAAS,GAAI,QAAQ,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,GAAG,CAAA;AAE1E;;;;;;AAME;AACF,QAAA,MAAM,qBAAoB,GAAI,CAAC,KAAiB,KAAS;AACvD,YAAA,eAAe,CAAC,KAAI,GAAI,CAAC,eAAe,CAAC,KAAI;AAC7C,YAAA,IAAI,CAAC,eAAe,CAAC,KAAI,GAAI,iBAAgB,GAAI,iBAAiB,EAAE,KAAK,CAAA;AAC3E,QAAA,CAAA;AAEA;;;;;AAKE;AACF,QAAA,MAAM,UAAS,GAAI,QAAQ,CAAC,MAAmB;YAC7C,OAAO;gBACL,6BAA6B,EAAE,UAAU,CAAC,KAAK;aACjD;AACF,QAAA,CAAC,CAAA;QAED,OAAO;YACL,UAAU;YACV,qBAAqB;YACrB,UAAU;YACV,UAAU;YACV,aAAa;YACb,eAAe;SACjB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sorted-filters2.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preselected-filters2.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _sfc_main from './clear-history-
|
|
1
|
+
import _sfc_main from './clear-history-queries2.vue.js';
|
|
2
2
|
import { resolveComponent, openBlock, createBlock, normalizeClass, withCtx, renderSlot, createTextVNode } from 'vue';
|
|
3
3
|
import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clear-history-
|
|
1
|
+
{"version":3,"file":"clear-history-queries2.vue.js","sources":["../../../../../src/x-modules/history-queries/components/clear-history-queries.vue"],"sourcesContent":["<template>\n <BaseEventButton\n class=\"x-clear-history-queries xds:button\"\n :class=\"dynamicClasses\"\n :disabled=\"isHistoryQueriesEmpty\"\n :events=\"clearHistoryQueriesEvents\"\n data-test=\"clear-history-queries\"\n aria-label=\"Clear all\"\n >\n <!-- @slot (Required) Button content with a message, an icon or both -->\n <slot>✕</slot>\n </BaseEventButton>\n</template>\n\n<script lang=\"ts\">\nimport type { VueCSSClasses } from '../../../utils/types'\nimport type { XEventsTypes } from '../../../wiring/events.types'\nimport { computed, defineComponent } from 'vue'\nimport BaseEventButton from '../../../components/base-event-button.vue'\nimport { useState } from '../../../composables/use-state'\nimport { historyQueriesXModule } from '../x-module'\n\n/**\n * A button that when is pressed, emits the\n * {@link HistoryQueriesXEvents.UserPressedClearHistoryQueries} event, expressing the user\n * intention to clear the whole history of queries.\n *\n * @public\n */\nexport default defineComponent({\n name: 'ClearHistoryQueries',\n xModule: historyQueriesXModule.name,\n components: {\n BaseEventButton,\n },\n setup() {\n /**\n * The whole history queries.\n *\n * @internal\n */\n const { historyQueries } = useState('historyQueries')\n\n /**\n * Returns if the array of history queries is empty.\n *\n * @returns `true` if the {@link historyQueries} array is empty, `false` otherwise.\n * @internal\n */\n const isHistoryQueriesEmpty = computed(() => historyQueries.value.length === 0)\n\n /**\n * Dynamic CSS classes to add to the root element of this component.\n *\n * @returns A booleans dictionary where each key is the class name to add, and the boolean value\n * tells if it should be added or not.\n * @internal\n */\n const dynamicClasses = computed(\n (): VueCSSClasses => ({\n 'x-clear-history-queries--is-empty': isHistoryQueriesEmpty.value,\n }),\n )\n\n /**\n * The list of events that are going to be emitted when the button is pressed.\n *\n * @internal\n */\n const clearHistoryQueriesEvents: Partial<XEventsTypes> = {\n UserPressedClearHistoryQueries: undefined,\n }\n\n return {\n dynamicClasses,\n clearHistoryQueriesEvents,\n isHistoryQueriesEmpty,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nA list of events that the component will emit:\n\n- [`UserPressedClearHistoryQueries`](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.\n\n## Examples\n\n### Basic example\n\nThe component exposes a single default slot, where you can add icons or text.\n\n```vue live\n<template>\n <div>\n <SearchInput />\n <ClearHistoryQueries>Clear history queries</ClearHistoryQueries>\n <HistoryQueries :animation=\"animation\" :maxItemsToRender=\"10\" />\n </div>\n</template>\n\n<script setup>\nimport { SearchInput } from '@empathyco/x-components/search-box'\nimport { HistoryQueries, ClearHistoryQueries } from '@empathyco/x-components/history-queries'\nimport { FadeAndSlide } from '@empathyco/x-components'\n\nconst animation = FadeAndSlide\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAsBA;;;;;;AAME;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,qBAAqB,CAAC,IAAI;AACnC,IAAA,UAAU,EAAE;QACV,eAAe;AAChB,KAAA;IACD,KAAK,GAAA;AACH;;;;AAIE;QACF,MAAM,EAAE,cAAa,KAAM,QAAQ,CAAC,gBAAgB,CAAA;AAEpD;;;;;AAKE;AACF,QAAA,MAAM,qBAAoB,GAAI,QAAQ,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,MAAK,KAAM,CAAC,CAAA;AAE9E;;;;;;AAME;AACF,QAAA,MAAM,cAAa,GAAI,QAAQ,CAC7B,OAAsB;YACpB,mCAAmC,EAAE,qBAAqB,CAAC,KAAK;AACjE,SAAA,CAAC,CACJ;AAEA;;;;AAIE;AACF,QAAA,MAAM,yBAAyB,GAA0B;AACvD,YAAA,8BAA8B,EAAE,SAAS;SAC3C;QAEA,OAAO;YACL,cAAc;YACd,yBAAyB;YACzB,qBAAqB;SACvB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-queries-
|
|
1
|
+
{"version":3,"file":"history-queries-switch2.vue.js","sources":["../../../../../src/x-modules/history-queries/components/history-queries-switch.vue"],"sourcesContent":["<template>\n <BaseSwitch :model-value=\"isEnabled\" aria-label=\"Queries' history\" @update:model-value=\"toggle\" />\n</template>\n\n<script lang=\"ts\">\nimport type { HistoryQuery } from '@empathyco/x-types'\nimport { computed, defineComponent } from 'vue'\nimport BaseSwitch from '../../../components/base-switch.vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { isArrayEmpty } from '../../../utils/array'\nimport { historyQueriesXModule } from '../x-module'\n\n/**\n * History Queries Switch is a component to activate or deactivate the history queries.\n * This component emits events depending on the `isEnabled` value.\n *\n * @public\n */\nexport default defineComponent({\n name: 'HistoryQueriesSwitch',\n xModule: historyQueriesXModule.name,\n components: {\n BaseSwitch,\n },\n setup() {\n const $x = use$x()\n\n /**\n * An object with the isEnabled value and the history queries coming from the store state.\n *\n * @internal\n */\n const { isEnabled, historyQueries } = useState('historyQueries')\n\n /**\n * Checks if there are history queries.\n *\n * @returns True if there are history queries; false otherwise.\n */\n const hasHistoryQueries = computed(() => !isArrayEmpty(historyQueries.value as HistoryQuery[]))\n\n const disableEvent = computed(() =>\n hasHistoryQueries.value\n ? 'UserClickedDisableHistoryQueries'\n : 'UserClickedConfirmDisableHistoryQueries',\n )\n\n /**\n * Emits an event based on the switch state.\n *\n * @internal\n */\n const toggle = (): void => {\n $x.emit(isEnabled.value ? disableEvent.value : 'UserClickedEnableHistoryQueries')\n }\n\n return {\n toggle,\n isEnabled,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nA list of events that the component will emit:\n\n- [`UserClickedEnableHistoryQueries`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted whenever the user clicks the switch and the history queries are deactivated.\n- [`UserClickedDisableHistoryQueries`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted whenever the user clicks the switch when the history queries are activated\n and the list of history queries is not empty.\n- [`UserClickedConfirmDisableHistoryQueries`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted whenever the user clicks the switch when the history queries are activated\n and the list of history queries is empty.\n\n## See it in action\n\nHere you have a basic example of how the switch is rendered.\n\n_Try clicking it to see how it changes its state_\n\n```vue live\n<template>\n <HistoryQueriesSwitch />\n</template>\n\n<script setup>\nimport { HistoryQueriesSwitch } from '@empathyco/x-components/history-queries'\n</script>\n```\n\nHere you have a more complex example.\n\n```vue live\n<template>\n <div>\n <div>\n <SearchInput :instant=\"false\" />\n <SearchButton>Search</SearchButton>\n </div>\n <label>\n History queries:\n <HistoryQueriesSwitch />\n <HistoryQueries />\n <BaseEventsModal :eventsToOpenModal=\"eventsToOpenModal\">\n <BaseEventButton :events=\"disableEvents\">Disable</BaseEventButton>\n <BaseEventButton :events=\"cancelEvents\">Cancel</BaseEventButton>\n </BaseEventsModal>\n </label>\n </div>\n</template>\n\n<script setup>\nimport { BaseEventButton, BaseEventsModal } from '@empathyco/x-components'\nimport { HistoryQueriesSwitch, HistoryQueries } from '@empathyco/x-components/history-queries'\nimport { SearchInput, SearchButton } from '@empathyco/x-components/search-box'\nimport { ref } from 'vue'\n\nconst eventsToOpenModal = ref(['UserClickedDisableHistoryQueries'])\nconst disableEvents = ref({\n UserClickedConfirmDisableHistoryQueries: undefined,\n UserClickedCloseEventsModal: undefined,\n})\nconst cancelEvents = ref({\n UserClickedCloseEventsModal: undefined,\n})\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;AAaA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,qBAAqB,CAAC,IAAI;AACnC,IAAA,UAAU,EAAE;QACV,UAAU;AACX,KAAA;IACD,KAAK,GAAA;AACH,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB;;;;AAIE;QACF,MAAM,EAAE,SAAS,EAAE,cAAa,EAAE,GAAI,QAAQ,CAAC,gBAAgB,CAAA;AAE/D;;;;AAIE;AACF,QAAA,MAAM,iBAAgB,GAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,KAAuB,CAAC,CAAA;QAE9F,MAAM,YAAW,GAAI,QAAQ,CAAC,MAC5B,iBAAiB,CAAC;AAChB,cAAE;cACA,yCAAyC,CAC/C;AAEA;;;;AAIE;QACF,MAAM,SAAS,MAAU;AACvB,YAAA,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,GAAI,YAAY,CAAC,KAAI,GAAI,iCAAiC,CAAA;AAClF,QAAA,CAAA;QAEA,OAAO;YACL,MAAM;YACN,SAAS;SACX;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _sfc_main from './history-
|
|
1
|
+
import _sfc_main from './history-queries2.vue.js';
|
|
2
2
|
import { resolveComponent, openBlock, createBlock, withCtx, renderSlot, normalizeProps, guardReactiveProps, createVNode } from 'vue';
|
|
3
3
|
import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-
|
|
1
|
+
{"version":3,"file":"history-queries2.vue.js","sources":["../../../../../src/x-modules/history-queries/components/history-queries.vue"],"sourcesContent":["<template>\n <BaseSuggestions\n :suggestions=\"historyQueriesWithResults\"\n class=\"x-history-queries\"\n data-test=\"history-queries\"\n >\n <template #default=\"baseScope\">\n <!-- eslint-disable max-len -->\n <!--\n @slot History Query item\n @binding {Object} v-bind - History Query suggestion attributes:<br /> - **suggestion** <code>Suggestion</code> - History Query suggestion data<br /> - **index** <code>number</code> - History Query suggestion index\n -->\n <!-- eslint-enable max-len -->\n <slot name=\"suggestion\" v-bind=\"{ ...baseScope }\">\n <HistoryQuery\n :suggestion=\"baseScope.suggestion\"\n data-test=\"history-query-item\"\n class=\"x-history-queries__item\"\n suggestion-class=\"xds:suggestion\"\n >\n <template #default=\"historyQueryScope\">\n <!-- eslint-disable max-len -->\n <!--\n @slot History Query content\n @binding {Object} v-bind - History Query suggestion attributes:<br /> - **suggestion** <code>Suggestion</code> - History Query suggestion data<br /> - **index** <code>number</code> - History Query suggestion index\n -->\n <!-- eslint-enable max-len -->\n <slot name=\"suggestion-content\" v-bind=\"{ ...baseScope, ...historyQueryScope }\" />\n </template>\n <template #remove-button-content=\"removeHistoryQueryScope\">\n <!-- eslint-disable max-len -->\n <!--\n @slot History Query remove button content\n @binding {Object} v-bind - History Query suggestion attributes:<br /> - **suggestion** <code>Suggestion</code> - History Query suggestion data<br /> - **index** <code>number</code> - History Query suggestion index\n -->\n <!-- eslint-enable max-len -->\n <slot\n name=\"suggestion-remove-content\"\n v-bind=\"{ ...baseScope, ...removeHistoryQueryScope }\"\n />\n </template>\n </HistoryQuery>\n </slot>\n </template>\n </BaseSuggestions>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport BaseSuggestions from '../../../components/suggestions/base-suggestions.vue'\nimport { useGetter } from '../../../composables/use-getter'\nimport { historyQueriesXModule } from '../x-module'\nimport HistoryQuery from './history-query.vue'\n\n/**\n * This component renders a list of suggestions coming from the user queries history.\n * Allows the user to select one of them, emitting the needed events. A history query is just\n * another type of suggestion that contains a query that the user has made in the past.\n *\n * @public\n */\nexport default defineComponent({\n name: 'HistoryQueries',\n xModule: historyQueriesXModule.name,\n components: {\n BaseSuggestions,\n HistoryQuery,\n },\n setup() {\n /**\n * The filtered list of history queries.\n *\n * @internal\n */\n const { historyQueriesWithResults } = useGetter('historyQueries')\n\n return {\n historyQueriesWithResults,\n }\n },\n})\n</script>\n\n<!--eslint-disable max-len -->\n<docs lang=\"mdx\">\n## Inherited props\n\nThis component inherits the [`BaseSuggestions`](../base-components/x-components.base-suggestions.md)\nprops.\n\n| Name | Description | Type | Default |\n| ------------------ | ----------------------------------------------------------------- | -------- | ------- |\n| `animation` | Animation component that will be used to animate the suggestions. | `Vue` | `\"ul\"` |\n| `maxItemsToRender` | Number of popular searches to be rendered. | `number` | |\n\n## Events\n\nThis component doesn't emit events.\n\n## See it in action\n\nHere you have a basic example of how the HistoryQueries is rendered.\n\n```vue live\n<template>\n <div>\n <SearchInput />\n <HistoryQueries />\n </div>\n</template>\n\n<script setup>\nimport { SearchInput } from '@empathyco/x-components/search-box'\nimport { HistoryQueries } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with props\n\nIn this example, the history queries have been limited to render a maximum of 10 queries (by default\nit is 5).\n\n```vue live\n<template>\n <div>\n <SearchInput />\n <HistoryQueries :maxItemsToRender=\"10\" />\n </div>\n</template>\n\n<script setup>\nimport { SearchInput } from '@empathyco/x-components/search-box'\nimport { HistoryQueries } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with the animation\n\n```vue live\n<template>\n <div>\n <SearchInput />\n <HistoryQueries :animation=\"animation\" />\n </div>\n</template>\n\n<script setup>\nimport { SearchInput } from '@empathyco/x-components/search-box'\nimport { HistoryQueries } from '@empathyco/x-components/history-queries'\nimport { FadeAndSlide } from '@empathyco/x-components'\n\nconst animation = FadeAndSlide\n</script>\n```\n\n### Play with suggestion slot\n\nIn this example, the [`HistoryQuery`](./x-components.history-query.md) component is passed in the\n`suggestion` slot (although any other component could potentially be passed).\n\n```vue live\n<template>\n <div>\n <SearchInput />\n <HistoryQueries #suggestion=\"{ suggestion }\">\n <HistoryQuery :suggestion=\"suggestion\" />\n </HistoryQueries>\n </div>\n</template>\n\n<script setup>\nimport { SearchInput } from '@empathyco/x-components/search-box'\nimport { HistoryQueries, HistoryQuery } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with suggestion-content slot\n\nTo continue the previous example, the [`HistoryQuery`](./x-components.history-query.md) component is\npassed in the `suggestion-content` slot, but in addition, an HTML span tag for the text are also\npassed.\n\n```vue live\n<template>\n <div>\n <SearchInput />\n <HistoryQueries #suggestion-content=\"{ suggestion }\">\n <span>{{ suggestion.query }}</span>\n </HistoryQueries>\n </div>\n</template>\n\n<script setup>\nimport { SearchInput } from '@empathyco/x-components/search-box'\nimport { HistoryQueries } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with suggestion-content-remove slot\n\nTo continue the previous example, the [`HistoryQuery`](./x-components.history-query.md) component is\npassed in the `suggestion-content` slot, but in addition, a cross icon is also passed to change the\nicon to remove the history query.\n\n```vue live\n<template>\n <div>\n <SearchInput />\n <HistoryQueries #suggestion-remove-content=\"{ suggestion }\">\n <CrossIcon />\n </HistoryQueries>\n </div>\n</template>\n\n<script setup>\nimport { SearchInput } from '@empathyco/x-components/search-box'\nimport { HistoryQueries } from '@empathyco/x-components/history-queries'\nimport { CrossIcon } from '@empathyco/x-components'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;AAsDA;;;;;;AAME;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,qBAAqB,CAAC,IAAI;AACnC,IAAA,UAAU,EAAE;QACV,eAAe;QACf,YAAY;AACb,KAAA;IACD,KAAK,GAAA;AACH;;;;AAIE;QACF,MAAM,EAAE,yBAAwB,EAAE,GAAI,SAAS,CAAC,gBAAgB,CAAA;QAEhE,OAAO;YACL,yBAAyB;SAC3B;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _sfc_main from './history-
|
|
1
|
+
import _sfc_main from './history-query2.vue.js';
|
|
2
2
|
import { resolveComponent, openBlock, createElementBlock, createVNode, mergeProps, withCtx, renderSlot, normalizeProps, guardReactiveProps, normalizeClass, createTextVNode } from 'vue';
|
|
3
3
|
import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-
|
|
1
|
+
{"version":3,"file":"history-query2.vue.js","sources":["../../../../../src/x-modules/history-queries/components/history-query.vue"],"sourcesContent":["<template>\n <div class=\"x-history-query xds:suggestion-group\">\n <!--\n Click on the History Query suggestion\n @event click\n @property {Suggestion} suggestion - History Query suggestion data\n @property {MouseEvent} event - The original mouse event\n -->\n <BaseSuggestion\n v-slot=\"baseScope\"\n class=\"x-history-query__suggestion\"\n :class=\"suggestionClass\"\n v-bind=\"{ suggestion, suggestionSelectedEvents, query }\"\n data-test=\"history-query\"\n feature=\"history_query\"\n @click=\"$emit('click', suggestion, $event)\"\n >\n <!-- eslint-disable max-len -->\n <!--\n @slot History Query content\n @binding {Object} v-bind - `BaseSuggestion` default slot scope: **suggestion** <code>Suggestion</code> - Suggestion data<br /> **query** <code>string</code> - The query that the suggestion belongs to<br /> **filter** <code>Filter or undefined</code> - Suggestion's filter\n -->\n <!-- eslint-enable max-len -->\n <slot v-bind=\"{ ...baseScope }\" />\n </BaseSuggestion>\n <RemoveHistoryQuery\n class=\"x-history-query__remove xds:suggestion-group-button\"\n :class=\"removeButtonClass\"\n :history-query=\"suggestion\"\n data-test=\"remove-history-query\"\n >\n <!--\n @slot History Query remove button content\n @binding {Suggestion} suggestion - History Query suggestion data\n -->\n <slot name=\"remove-button-content\" v-bind=\"{ suggestion }\">✕</slot>\n </RemoveHistoryQuery>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { HistoryQuery as HistoryQueryModel } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { XEventsTypes } from '../../../wiring/events.types'\nimport { computed, defineComponent } from 'vue'\nimport BaseSuggestion from '../../../components/suggestions/base-suggestion.vue'\nimport { useGetter } from '../../../composables/use-getter'\nimport { historyQueriesXModule } from '../x-module'\nimport RemoveHistoryQuery from './remove-history-query.vue'\n\n/**\n * This component renders a history query suggestion combining two buttons: one for selecting this\n * suggestion as the search query, and another one to remove this query suggestion from the\n * history queries.\n *\n * @public\n */\nexport default defineComponent({\n name: 'HistoryQuery',\n xModule: historyQueriesXModule.name,\n components: { RemoveHistoryQuery, BaseSuggestion },\n props: {\n /**\n * The history query suggestion to render.\n *\n * @public\n */\n suggestion: {\n type: Object as PropType<HistoryQueryModel>,\n required: true,\n },\n /** Class inherited by content element. */\n removeButtonClass: String,\n /** Class inherited by content element. */\n suggestionClass: String,\n },\n emits: ['click'],\n setup(props) {\n /**\n * The normalized query of the history-queries module.\n *\n * @internal\n */\n const query = useGetter('historyQueries').normalizedQuery\n\n /**\n * The list of events that are going to be emitted when the suggestion button is pressed.\n *\n * @internal\n * @returns The {@link XEvent} to emit.\n */\n const suggestionSelectedEvents = computed(\n (): Partial<XEventsTypes> => ({\n UserSelectedAHistoryQuery: props.suggestion,\n }),\n )\n\n return {\n query,\n suggestionSelectedEvents,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nA list of events that the component will emit:\n\n- [`UserSelectedAHistoryQuery`](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 history query\n data.\n\n## Examples\n\n### Basic usage\n\nThis component only requires a prop called `suggestion`.\n\n```vue live\n<template>\n <HistoryQuery :suggestion=\"suggestion\" />\n</template>\n\n<script setup>\nimport { HistoryQuery } from '@empathyco/x-components/history-queries'\nimport { ref } from 'vue'\n\nconst suggestion = ref({\n modelName: 'HistoryQuery',\n query: 'trousers',\n facets: [],\n})\n</script>\n```\n\n### Customizing slots content\n\nSuggestion and remove buttons contents can be customized.\n\nThe default slot allows you to replace the content of the suggestion button. It has two properties,\nthe suggestion itself, and a `string` of HTML with the matched query.\n\nThe other slot is called `remove-button-content`, and allows you to set the content of the button\nthat serves to remove this query from the history. This slot only has one property, the suggestion.\n\n```vue live\n<template>\n <HistoryQuery :suggestion=\"suggestion\">\n <template #default=\"{ suggestion }\">\n <HistoryIcon />\n <Highlight highlight=\"tro\" :text=\"suggestion.query\" />\n </template>\n\n <template #remove-button-content=\"{ suggestion }\">\n <CrossIcon />\n </template>\n </HistoryQuery>\n</template>\n\n<script setup>\nimport { HistoryQuery } from '@empathyco/x-components/history-queries'\nimport { HistoryIcon, CrossIcon, Highlight } from '@empathyco/x-components'\nimport { ref } from 'vue'\n\nconst suggestion = ref({\n modelName: 'HistoryQuery',\n query: 'trousers',\n facets: [],\n})\n</script>\n```\n\n### Customizing the content with classes\n\nThe `suggestionClass` prop can be used to add classes to the history query suggestion.\n\n```vue live\n<template>\n <HistoryQuery :suggestion=\"suggestion\" suggestionClass=\"x-custom-class\" />\n</template>\n\n<script setup>\nimport { HistoryQuery } from '@empathyco/x-components/history-queries'\nimport { ref } from 'vue'\n\nconst suggestion = ref({\n modelName: 'HistoryQuery',\n query: 'trousers',\n facets: [],\n})\n</script>\n```\n\nThe `removeButtonClass` prop can be used to add classes to the remove history query.\n\n```vue live\n<template>\n <HistoryQuery :suggestion=\"suggestion\" removeButtonClass=\"x-custom-class\" />\n</template>\n\n<script setup>\nimport { HistoryQuery } from '@empathyco/x-components/history-queries'\nimport { ref } from 'vue'\n\nconst suggestion = ref({\n modelName: 'HistoryQuery',\n query: 'trousers',\n facets: [],\n})\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;AAkDA;;;;;;AAME;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,qBAAqB,CAAC,IAAI;AACnC,IAAA,UAAU,EAAE,EAAE,kBAAkB,EAAE,gBAAgB;AAClD,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,MAAqC;AAC3C,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;;AAED,QAAA,iBAAiB,EAAE,MAAM;;AAEzB,QAAA,eAAe,EAAE,MAAM;AACxB,KAAA;IACD,KAAK,EAAE,CAAC,OAAO,CAAC;AAChB,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;AAIE;QACF,MAAM,KAAI,GAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC,eAAc;AAExD;;;;;AAKE;AACF,QAAA,MAAM,wBAAuB,GAAI,QAAQ,CACvC,OAA8B;YAC5B,yBAAyB,EAAE,KAAK,CAAC,UAAU;AAC5C,SAAA,CAAC,CACJ;QAEA,OAAO;YACL,KAAK;YACL,wBAAwB;SAC1B;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import _sfc_main from './my-
|
|
1
|
+
import _sfc_main from './my-history2.vue.js';
|
|
2
2
|
import { resolveComponent, openBlock, createBlock, resolveDynamicComponent, withCtx, createElementBlock, Fragment, renderList, renderSlot, createElementVNode, toDisplayString, createVNode, normalizeClass, mergeProps, createTextVNode, createCommentVNode } from 'vue';
|
|
3
|
-
import './my-
|
|
3
|
+
import './my-history3.vue.js';
|
|
4
4
|
import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
|
|
5
5
|
|
|
6
6
|
const _hoisted_1 = {
|
package/js/x-modules/history-queries/components/{my-history.vue2.js.map → my-history2.vue.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"my-history.vue2.js","sources":["../../../../../src/x-modules/history-queries/components/my-history.vue"],"sourcesContent":["<template>\n <component :is=\"animation\" v-if=\"hasHistoryQueries\" class=\"x-my-history\" tag=\"ul\">\n <li\n v-for=\"(queries, date) in groupByDate\"\n :key=\"date\"\n class=\"x-my-history-item\"\n data-test=\"my-history-item\"\n >\n <slot name=\"date\" :date=\"date\">\n <span class=\"x-my-history-item__date\" data-test=\"my-history-date\">{{ date }}</span>\n </slot>\n <BaseSuggestions\n :suggestions=\"queries\"\n class=\"x-my-history-queries\"\n :class=\"queriesListClass\"\n data-test=\"my-history-queries\"\n :animation=\"animation\"\n >\n <template #default=\"{ suggestion, index }\">\n <!--\n @slot History Query item\n @binding {Suggestion} suggestion - History Query suggestion data\n @binding {number} index - History Query suggestion index\n @binding {() => string} formatTime - Callback to format time to `hh:mm [PM/AM]`\n -->\n <slot name=\"suggestion\" v-bind=\"{ suggestion, index, formatTime }\">\n <HistoryQuery\n :suggestion=\"suggestion\"\n data-test=\"history-query-item\"\n class=\"x-history-queries__item xds:suggestion\"\n >\n <template #default>\n <!--\n @slot History Query content\n @binding {Suggestion} suggestion - History Query suggestion data\n @binding {number} index - History Query suggestion index\n @binding {() => string} formatTime - Callback to format time to `hh:mm [PM/AM]`\n -->\n <slot name=\"suggestion-content\" v-bind=\"{ suggestion, index, formatTime }\">\n {{ suggestion.query }} - {{ formatTime(suggestion.timestamp) }}\n </slot>\n </template>\n <template #remove-button-content>\n <!--\n @slot History Query remove button content\n @binding {Suggestion} suggestion - History Query suggestion data\n @binding {number} index - History Query suggestion index\n -->\n <slot name=\"suggestion-remove-content\" v-bind=\"{ suggestion, index }\" />\n </template>\n </HistoryQuery>\n </slot>\n </template>\n </BaseSuggestions>\n </li>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { HistoryQuery as HistoryQueryType } from '@empathyco/x-types'\nimport type { Dictionary } from '@empathyco/x-utils'\nimport type { SnippetConfig } from '../../../x-installer/api/api.types'\nimport { computed, defineComponent, inject } from 'vue'\nimport BaseSuggestions from '../../../components/suggestions/base-suggestions.vue'\nimport { useState } from '../../../composables/use-state'\nimport { AnimationProp } from '../../../types/index'\nimport { groupItemsBy, isArrayEmpty } from '../../../utils/array'\nimport { historyQueriesXModule } from '../x-module'\nimport HistoryQuery from './history-query.vue'\n\n/**\n * The component renders the full history of user searched queries grouped by the day\n * they were performed.\n *\n * @remarks\n *\n * Allows the user to select one of them, emitting the needed events.\n * A history query is just another type of suggestion that contains a query that the user has\n * made in the past.\n * @public\n */\nexport default defineComponent({\n name: 'MyHistory',\n xModule: historyQueriesXModule.name,\n components: {\n HistoryQuery,\n BaseSuggestions,\n },\n props: {\n /**\n * Animation component that will be used to animate the suggestions.\n *\n * @public\n */\n animation: {\n type: AnimationProp,\n default: 'ul',\n },\n /**\n * The current locale.\n *\n * @public\n */\n locale: {\n type: String,\n default: 'en',\n },\n /** Class inherited by content element. */\n queriesListClass: String,\n },\n setup(props) {\n /**\n * The list of history queries.\n *\n * @internal\n */\n const { historyQueries } = useState('historyQueries')\n\n /**\n * The provided {@link SnippetConfig}.\n *\n * @internal\n */\n const snippetConfig = inject<SnippetConfig | undefined>('snippetConfig')\n\n /**\n * The locale that it is going to be used. It can be the one send it by the snippet config or\n * the one pass it using the prop.\n *\n * @returns The locale to be used.\n * @internal\n */\n const usedLocale = computed(() => snippetConfig?.lang ?? props.locale)\n\n /**\n * Returns a record of history queries grouped by date.\n *\n * @example\n * ```typescript\n * const historyQueriesGrouped = {\n * 'Monday, January 10th, 2022' : [{\n * query: 'lego',\n * modelName: 'HistoryQuery',\n * timestamp: 121312312\n * }],\n * 'Tuesday, January 11th, 2022' : [{\n * query: 'barbie',\n * modelName: 'HistoryQuery',\n * timestamp: 15221212\n * }]\n * }\n * ```\n * @returns The history queries grouped by date.\n * @internal\n */\n const groupByDate = computed((): Dictionary<HistoryQueryType[]> => {\n return groupItemsBy(historyQueries.value as HistoryQueryType[], current => {\n return new Date(current.timestamp).toLocaleDateString(usedLocale.value, {\n day: 'numeric',\n weekday: 'long',\n month: 'long',\n year: 'numeric',\n })\n })\n })\n\n /**\n * Formats a timestamp into `hh:mm [PM/AM]` format.\n *\n * @example\n * ```typescript\n * // locale 'es'\n * console.log(formatTime(Date.now()) // '16:54'.\n *\n * // locale 'en'\n * console.log(formatTime(Date.now()) // '16:54 PM'.\n * ```\n * @param timestamp - The timestamp to format.\n * @returns The formatted time.\n * @internal\n */\n const formatTime = (timestamp: number) =>\n new Date(timestamp).toLocaleTimeString(usedLocale.value, {\n hour: '2-digit',\n minute: '2-digit',\n })\n\n /**\n * The `hasHistoryQueries` computed property is a flag representing if there are history queries\n * stored.\n *\n * @returns True if there are history queries; false otherwise.\n * @internal\n */\n const hasHistoryQueries = computed(\n () => !isArrayEmpty(historyQueries.value as HistoryQueryType[]),\n )\n\n return {\n hasHistoryQueries,\n groupByDate,\n historyQueries,\n formatTime,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-my-history {\n display: flex;\n flex-flow: column nowrap;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component doesn't emit events.\n\n## See it in action\n\nHere you have a basic example of how the MyHistory is rendered.\n\n```vue\n<template>\n <MyHistory />\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with props\n\nIn this example, the my history has been configured to use the 'es' locale.\n\n```vue\n<template>\n <MyHistory locale=\"es\" />\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with the animation\n\n```vue\n<template>\n <MyHistory :animation=\"animation\" />\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\nimport { FadeAndSlide } from '@empathyco/x-components'\n\nconst animation = FadeAndSlide\n</script>\n```\n\n### Play with suggestion slot\n\nIn this example, the [`HistoryQuery`](./x-components.history-query.md) component is passed in the\n`suggestion` slot (although any other component could potentially be passed).\n\n```vue\n<template>\n <MyHistory #suggestion=\"{ suggestion }\">\n <HistoryQuery :suggestion=\"suggestion\" />\n </MyHistory>\n</template>\n\n<script setup>\nimport { MyHistory, HistoryQuery } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with suggestion-content slot\n\nTo continue the previous example, the [`HistoryQuery`](./x-components.history-query.md) component is\npassed in the `suggestion-content` slot, but in addition, an HTML span tag for the text is also\npassed.\n\n```vue\n<template>\n <MyHistory #suggestion-content=\"{ suggestion }\">\n <span>{{ suggestion.query }}</span>\n </MyHistory>\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with date slot\n\nIn this example, an HTML span tag for the date is passed.\n\n```vue\n<template>\n <MyHistory #date=\"{ date }\">\n <span>{{ date }}</span>\n </MyHistory>\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with suggestion-remove-content slot\n\nTo continue the previous example, the [`HistoryQuery`](./x-components.history-query.md) component is\npassed in the `suggestion-remove-content` slot, but in addition, a cross icon is also passed to change the\nicon to remove the history query.\n\n```vue\n<template>\n <MyHistory #suggestion-remove-content=\"{ suggestion }\">\n <CrossIcon />\n </MyHistory>\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\nimport { CrossIcon } from '@empathyco/x-components'\n</script>\n```\n\n### Customizing the items with classes\n\nThe `queriesListClass` prop can be used to add classes to the suggestions list.\n\n```vue live\n<template>\n <MyHistory queriesListClass=\"x-gap-16\" />\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;AAsEA;;;;;;;;;;AAUE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,qBAAqB,CAAC,IAAI;AACnC,IAAA,UAAU,EAAE;QACV,YAAY;QACZ,eAAe;AAChB,KAAA;AACD,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;;AAED,QAAA,gBAAgB,EAAE,MAAM;AACzB,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;AAIE;QACF,MAAM,EAAE,cAAa,KAAM,QAAQ,CAAC,gBAAgB,CAAA;AAEpD;;;;AAIE;AACF,QAAA,MAAM,aAAY,GAAI,MAAM,CAA4B,eAAe,CAAA;AAEvE;;;;;;AAME;AACF,QAAA,MAAM,UAAS,GAAI,QAAQ,CAAC,MAAM,aAAa,EAAE,IAAG,IAAK,KAAK,CAAC,MAAM,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;AAoBE;AACF,QAAA,MAAM,WAAU,GAAI,QAAQ,CAAC,MAAoC;YAC/D,OAAO,YAAY,CAAC,cAAc,CAAC,KAA2B,EAAE,OAAM,IAAG;AACvE,gBAAA,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAAE;AACtE,oBAAA,GAAG,EAAE,SAAS;AACd,oBAAA,OAAO,EAAE,MAAM;AACf,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,IAAI,EAAE,SAAS;AAChB,iBAAA,CAAA;AACH,YAAA,CAAC,CAAA;AACH,QAAA,CAAC,CAAA;AAED;;;;;;;;;;;;;;AAcE;AACF,QAAA,MAAM,aAAa,CAAC,SAAiB,KACnC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAAE;AACvD,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,MAAM,EAAE,SAAS;AAClB,SAAA,CAAA;AAEH;;;;;;AAME;AACF,QAAA,MAAM,iBAAgB,GAAI,QAAQ,CAChC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,KAA2B,CAAC,CACjE;QAEA,OAAO;YACL,iBAAiB;YACjB,WAAW;YACX,cAAc;YACd,UAAU;SACZ;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"my-history2.vue.js","sources":["../../../../../src/x-modules/history-queries/components/my-history.vue"],"sourcesContent":["<template>\n <component :is=\"animation\" v-if=\"hasHistoryQueries\" class=\"x-my-history\" tag=\"ul\">\n <li\n v-for=\"(queries, date) in groupByDate\"\n :key=\"date\"\n class=\"x-my-history-item\"\n data-test=\"my-history-item\"\n >\n <slot name=\"date\" :date=\"date\">\n <span class=\"x-my-history-item__date\" data-test=\"my-history-date\">{{ date }}</span>\n </slot>\n <BaseSuggestions\n :suggestions=\"queries\"\n class=\"x-my-history-queries\"\n :class=\"queriesListClass\"\n data-test=\"my-history-queries\"\n :animation=\"animation\"\n >\n <template #default=\"{ suggestion, index }\">\n <!--\n @slot History Query item\n @binding {Suggestion} suggestion - History Query suggestion data\n @binding {number} index - History Query suggestion index\n @binding {() => string} formatTime - Callback to format time to `hh:mm [PM/AM]`\n -->\n <slot name=\"suggestion\" v-bind=\"{ suggestion, index, formatTime }\">\n <HistoryQuery\n :suggestion=\"suggestion\"\n data-test=\"history-query-item\"\n class=\"x-history-queries__item xds:suggestion\"\n >\n <template #default>\n <!--\n @slot History Query content\n @binding {Suggestion} suggestion - History Query suggestion data\n @binding {number} index - History Query suggestion index\n @binding {() => string} formatTime - Callback to format time to `hh:mm [PM/AM]`\n -->\n <slot name=\"suggestion-content\" v-bind=\"{ suggestion, index, formatTime }\">\n {{ suggestion.query }} - {{ formatTime(suggestion.timestamp) }}\n </slot>\n </template>\n <template #remove-button-content>\n <!--\n @slot History Query remove button content\n @binding {Suggestion} suggestion - History Query suggestion data\n @binding {number} index - History Query suggestion index\n -->\n <slot name=\"suggestion-remove-content\" v-bind=\"{ suggestion, index }\" />\n </template>\n </HistoryQuery>\n </slot>\n </template>\n </BaseSuggestions>\n </li>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { HistoryQuery as HistoryQueryType } from '@empathyco/x-types'\nimport type { Dictionary } from '@empathyco/x-utils'\nimport type { SnippetConfig } from '../../../x-installer/api/api.types'\nimport { computed, defineComponent, inject } from 'vue'\nimport BaseSuggestions from '../../../components/suggestions/base-suggestions.vue'\nimport { useState } from '../../../composables/use-state'\nimport { AnimationProp } from '../../../types/index'\nimport { groupItemsBy, isArrayEmpty } from '../../../utils/array'\nimport { historyQueriesXModule } from '../x-module'\nimport HistoryQuery from './history-query.vue'\n\n/**\n * The component renders the full history of user searched queries grouped by the day\n * they were performed.\n *\n * @remarks\n *\n * Allows the user to select one of them, emitting the needed events.\n * A history query is just another type of suggestion that contains a query that the user has\n * made in the past.\n * @public\n */\nexport default defineComponent({\n name: 'MyHistory',\n xModule: historyQueriesXModule.name,\n components: {\n HistoryQuery,\n BaseSuggestions,\n },\n props: {\n /**\n * Animation component that will be used to animate the suggestions.\n *\n * @public\n */\n animation: {\n type: AnimationProp,\n default: 'ul',\n },\n /**\n * The current locale.\n *\n * @public\n */\n locale: {\n type: String,\n default: 'en',\n },\n /** Class inherited by content element. */\n queriesListClass: String,\n },\n setup(props) {\n /**\n * The list of history queries.\n *\n * @internal\n */\n const { historyQueries } = useState('historyQueries')\n\n /**\n * The provided {@link SnippetConfig}.\n *\n * @internal\n */\n const snippetConfig = inject<SnippetConfig | undefined>('snippetConfig')\n\n /**\n * The locale that it is going to be used. It can be the one send it by the snippet config or\n * the one pass it using the prop.\n *\n * @returns The locale to be used.\n * @internal\n */\n const usedLocale = computed(() => snippetConfig?.lang ?? props.locale)\n\n /**\n * Returns a record of history queries grouped by date.\n *\n * @example\n * ```typescript\n * const historyQueriesGrouped = {\n * 'Monday, January 10th, 2022' : [{\n * query: 'lego',\n * modelName: 'HistoryQuery',\n * timestamp: 121312312\n * }],\n * 'Tuesday, January 11th, 2022' : [{\n * query: 'barbie',\n * modelName: 'HistoryQuery',\n * timestamp: 15221212\n * }]\n * }\n * ```\n * @returns The history queries grouped by date.\n * @internal\n */\n const groupByDate = computed((): Dictionary<HistoryQueryType[]> => {\n return groupItemsBy(historyQueries.value as HistoryQueryType[], current => {\n return new Date(current.timestamp).toLocaleDateString(usedLocale.value, {\n day: 'numeric',\n weekday: 'long',\n month: 'long',\n year: 'numeric',\n })\n })\n })\n\n /**\n * Formats a timestamp into `hh:mm [PM/AM]` format.\n *\n * @example\n * ```typescript\n * // locale 'es'\n * console.log(formatTime(Date.now()) // '16:54'.\n *\n * // locale 'en'\n * console.log(formatTime(Date.now()) // '16:54 PM'.\n * ```\n * @param timestamp - The timestamp to format.\n * @returns The formatted time.\n * @internal\n */\n const formatTime = (timestamp: number) =>\n new Date(timestamp).toLocaleTimeString(usedLocale.value, {\n hour: '2-digit',\n minute: '2-digit',\n })\n\n /**\n * The `hasHistoryQueries` computed property is a flag representing if there are history queries\n * stored.\n *\n * @returns True if there are history queries; false otherwise.\n * @internal\n */\n const hasHistoryQueries = computed(\n () => !isArrayEmpty(historyQueries.value as HistoryQueryType[]),\n )\n\n return {\n hasHistoryQueries,\n groupByDate,\n historyQueries,\n formatTime,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-my-history {\n display: flex;\n flex-flow: column nowrap;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component doesn't emit events.\n\n## See it in action\n\nHere you have a basic example of how the MyHistory is rendered.\n\n```vue\n<template>\n <MyHistory />\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with props\n\nIn this example, the my history has been configured to use the 'es' locale.\n\n```vue\n<template>\n <MyHistory locale=\"es\" />\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with the animation\n\n```vue\n<template>\n <MyHistory :animation=\"animation\" />\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\nimport { FadeAndSlide } from '@empathyco/x-components'\n\nconst animation = FadeAndSlide\n</script>\n```\n\n### Play with suggestion slot\n\nIn this example, the [`HistoryQuery`](./x-components.history-query.md) component is passed in the\n`suggestion` slot (although any other component could potentially be passed).\n\n```vue\n<template>\n <MyHistory #suggestion=\"{ suggestion }\">\n <HistoryQuery :suggestion=\"suggestion\" />\n </MyHistory>\n</template>\n\n<script setup>\nimport { MyHistory, HistoryQuery } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with suggestion-content slot\n\nTo continue the previous example, the [`HistoryQuery`](./x-components.history-query.md) component is\npassed in the `suggestion-content` slot, but in addition, an HTML span tag for the text is also\npassed.\n\n```vue\n<template>\n <MyHistory #suggestion-content=\"{ suggestion }\">\n <span>{{ suggestion.query }}</span>\n </MyHistory>\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with date slot\n\nIn this example, an HTML span tag for the date is passed.\n\n```vue\n<template>\n <MyHistory #date=\"{ date }\">\n <span>{{ date }}</span>\n </MyHistory>\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\n</script>\n```\n\n### Play with suggestion-remove-content slot\n\nTo continue the previous example, the [`HistoryQuery`](./x-components.history-query.md) component is\npassed in the `suggestion-remove-content` slot, but in addition, a cross icon is also passed to change the\nicon to remove the history query.\n\n```vue\n<template>\n <MyHistory #suggestion-remove-content=\"{ suggestion }\">\n <CrossIcon />\n </MyHistory>\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\nimport { CrossIcon } from '@empathyco/x-components'\n</script>\n```\n\n### Customizing the items with classes\n\nThe `queriesListClass` prop can be used to add classes to the suggestions list.\n\n```vue live\n<template>\n <MyHistory queriesListClass=\"x-gap-16\" />\n</template>\n\n<script setup>\nimport { MyHistory } from '@empathyco/x-components/history-queries'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;AAsEA;;;;;;;;;;AAUE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,qBAAqB,CAAC,IAAI;AACnC,IAAA,UAAU,EAAE;QACV,YAAY;QACZ,eAAe;AAChB,KAAA;AACD,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;;AAED,QAAA,gBAAgB,EAAE,MAAM;AACzB,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;AAIE;QACF,MAAM,EAAE,cAAa,KAAM,QAAQ,CAAC,gBAAgB,CAAA;AAEpD;;;;AAIE;AACF,QAAA,MAAM,aAAY,GAAI,MAAM,CAA4B,eAAe,CAAA;AAEvE;;;;;;AAME;AACF,QAAA,MAAM,UAAS,GAAI,QAAQ,CAAC,MAAM,aAAa,EAAE,IAAG,IAAK,KAAK,CAAC,MAAM,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;AAoBE;AACF,QAAA,MAAM,WAAU,GAAI,QAAQ,CAAC,MAAoC;YAC/D,OAAO,YAAY,CAAC,cAAc,CAAC,KAA2B,EAAE,OAAM,IAAG;AACvE,gBAAA,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAAE;AACtE,oBAAA,GAAG,EAAE,SAAS;AACd,oBAAA,OAAO,EAAE,MAAM;AACf,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,IAAI,EAAE,SAAS;AAChB,iBAAA,CAAA;AACH,YAAA,CAAC,CAAA;AACH,QAAA,CAAC,CAAA;AAED;;;;;;;;;;;;;;AAcE;AACF,QAAA,MAAM,aAAa,CAAC,SAAiB,KACnC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAAE;AACvD,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,MAAM,EAAE,SAAS;AAClB,SAAA,CAAA;AAEH;;;;;;AAME;AACF,QAAA,MAAM,iBAAgB,GAAI,QAAQ,CAChC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,KAA2B,CAAC,CACjE;QAEA,OAAO;YACL,iBAAiB;YACjB,WAAW;YACX,cAAc;YACd,UAAU;SACZ;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"my-history3.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _sfc_main from './remove-history-
|
|
1
|
+
import _sfc_main from './remove-history-query2.vue.js';
|
|
2
2
|
import { resolveComponent, openBlock, createBlock, withCtx, renderSlot } from 'vue';
|
|
3
3
|
import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-history-
|
|
1
|
+
{"version":3,"file":"remove-history-query2.vue.js","sources":["../../../../../src/x-modules/history-queries/components/remove-history-query.vue"],"sourcesContent":["<template>\n <BaseEventButton\n class=\"x-remove-history-query\"\n :events=\"removeHistoryQueryEvent\"\n aria-label=\"remove\"\n >\n <!-- @slot (Required) Button content with a text, an icon or both -->\n <slot />\n </BaseEventButton>\n</template>\n\n<script lang=\"ts\">\nimport type { HistoryQuery } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { XEventsTypes } from '../../../wiring/events.types'\nimport { computed, defineComponent } from 'vue'\nimport BaseEventButton from '../../../components/base-event-button.vue'\nimport { historyQueriesXModule } from '../x-module'\n\n/**\n * Button that when it is pressed emits the\n * {@link HistoryQueriesXEvents.UserPressedRemoveHistoryQuery} event, expressing the user\n * intention to remove a query in the history.\n *\n * @public\n */\nexport default defineComponent({\n name: 'RemoveHistoryQuery',\n xModule: historyQueriesXModule.name,\n components: {\n BaseEventButton,\n },\n props: {\n /**\n * The historyQuery that will be removed when clicking the clear button.\n *\n * @public\n */\n historyQuery: {\n type: Object as PropType<HistoryQuery>,\n required: true,\n },\n },\n setup(props) {\n /**\n * The event handler that will be triggered when clicking on the clear history query button.\n *\n * @remarks\n * {@link HistoryQueriesXEvents.UserPressedRemoveHistoryQuery}: historyQuery\n *\n * @returns The {@link XEvent} to emit.\n * @public\n */\n const removeHistoryQueryEvent = computed(\n (): Partial<XEventsTypes> => ({ UserPressedRemoveHistoryQuery: props.historyQuery }),\n )\n\n return {\n removeHistoryQueryEvent,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nA list of events that the component will emit:\n\n- [`UserPressedRemoveHistoryQuery`](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 history query\n data.\n\n## Examples\n\n### Basic Example\n\nYou can customize the content that this component renders. To do so, simply use the default slot.\n\n```vue\n<template>\n <RemoveHistoryQuery :historyQuery=\"historyQuery\">\n <img class=\"x-history-query__icon\" src=\"./my-awesome-clear-icon.svg\" />\n </RemoveHistoryQuery>\n</template>\n\n<script setup>\nimport { RemoveHistoryQuery } from '@empathyco/x-components/history-queries'\nimport { ref } from 'vue'\n\nconst historyQuery = ref({\n modelName: 'HistoryQuery',\n query: 'trousers',\n facets: [],\n})\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;AAmBA;;;;;;AAME;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,qBAAqB,CAAC,IAAI;AACnC,IAAA,UAAU,EAAE;QACV,eAAe;AAChB,KAAA;AACD,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,YAAY,EAAE;AACZ,YAAA,IAAI,EAAE,MAAgC;AACtC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;;;;;AAQE;AACF,QAAA,MAAM,uBAAsB,GAAI,QAAQ,CACtC,OAA8B,EAAE,6BAA6B,EAAE,KAAK,CAAC,YAAW,EAAG,CAAC,CACtF;QAEA,OAAO;YACL,uBAAuB;SACzB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|