@empathyco/x-components 6.0.0-alpha.6 → 6.0.0-alpha.61
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 +531 -0
- package/core/index.js +9 -1
- package/core/index.js.map +1 -1
- package/design-system/deprecated-full-theme.css +2371 -2371
- package/docs/API-reference/api/x-adapter-platform.md +12 -0
- package/docs/API-reference/api/x-adapter-platform.nextqueriesrelatedpromptsschema.md +11 -0
- package/docs/API-reference/api/x-adapter-platform.platformadapter.relatedprompts.md +1 -1
- package/docs/API-reference/api/x-adapter-platform.platformrelatedprompt.md +23 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedprompt.nextqueries.md +11 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedprompt.suggestiontext.md +11 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedprompt.tagging.md +11 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedprompt.type.md +11 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedpromptnextqueriestagging.md +22 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedpromptnextqueriestagging.toolingdisplay.md +11 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedpromptnextqueriestagging.toolingdisplayadd2cart.md +11 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedpromptnextqueriestagging.toolingdisplayclick.md +11 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedpromptsrequest.md +15 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedpromptsresponse.data.md +13 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedpromptsresponse.md +21 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedpromptsresponse.status.md +11 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedprompttagging.md +22 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedprompttagging.nextqueries.md +11 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedprompttagging.toolingdisplay.md +11 -0
- package/docs/API-reference/api/x-adapter-platform.platformrelatedprompttagging.toolingdisplayclick.md +11 -0
- package/docs/API-reference/api/x-adapter-platform.platformsearchresponse.catalog.md +6 -0
- package/docs/API-reference/api/x-adapter-platform.platformsearchresponse.md +1 -1
- package/docs/API-reference/api/x-adapter-platform.relatedpromptschema.md +13 -0
- package/docs/API-reference/api/x-adapter-platform.relatedpromptsendpointadapter.md +13 -0
- package/docs/API-reference/api/x-adapter-platform.relatedpromptsrequestmapper.md +13 -0
- package/docs/API-reference/api/x-adapter-platform.relatedpromptsrequestschema.md +13 -0
- package/docs/API-reference/api/x-adapter-platform.relatedpromptsresponsemapper.md +13 -0
- package/docs/API-reference/api/x-adapter-platform.relatedpromptsresponseschema.md +13 -0
- package/docs/API-reference/api/x-components.animationprop.md +6 -1
- package/docs/API-reference/api/x-components.bannerslist.md +3 -3
- package/docs/API-reference/api/x-components.baseaddtocart.md +1 -0
- package/docs/API-reference/api/x-components.basedropdown.md +5 -5
- package/docs/API-reference/api/x-components.baseeventsmodal.md +2 -2
- package/docs/API-reference/api/x-components.basegrid.md +3 -3
- package/docs/API-reference/api/x-components.baseheadertogglepanel.md +5 -5
- package/docs/API-reference/api/x-components.baseidmodal.md +2 -2
- package/docs/API-reference/api/x-components.baseidtogglepanel.md +5 -5
- package/docs/API-reference/api/x-components.basemodal.md +10 -10
- package/docs/API-reference/api/x-components.baseresultimage.md +9 -9
- package/docs/API-reference/api/x-components.baseslider.md +70 -0
- package/docs/API-reference/api/x-components.basesuggestions.md +3 -3
- package/docs/API-reference/api/x-components.baseswitch.md +1 -1
- package/docs/API-reference/api/x-components.basetabspanel.md +8 -8
- package/docs/API-reference/api/x-components.baseteleport.md +21 -0
- package/docs/API-reference/api/x-components.basetogglepanel.md +3 -3
- package/docs/API-reference/api/x-components.basevariablecolumngrid.md +3 -3
- package/docs/API-reference/api/x-components.cancelfetchandsaverelatedprompts.md +13 -0
- package/docs/API-reference/api/x-components.configmutations.config.md +11 -0
- package/docs/API-reference/api/x-components.configmutations.md +29 -0
- package/docs/API-reference/api/x-components.configmutations.mergeconfig.md +24 -0
- package/docs/API-reference/api/x-components.configmutations.setconfig.md +24 -0
- package/docs/API-reference/api/x-components.createrelatedtagsquerygetter.md +26 -0
- package/docs/API-reference/api/x-components.createrelatedtagsquerygetteroptions.getrelatedtags.md +13 -0
- package/docs/API-reference/api/x-components.createrelatedtagsquerygetteroptions.md +20 -0
- package/docs/API-reference/api/x-components.createtrackrelatedprompttoolingdisplayclickwire.md +19 -0
- package/docs/API-reference/api/x-components.createtracktoolingadd2cartwire.md +19 -0
- package/docs/API-reference/api/x-components.createtracktoolingdisplaywire.md +19 -0
- package/docs/API-reference/api/{x-components.defaultpdpaddtocartservice._constructor_.md → x-components.defaultexternaltaggingservice._constructor_.md} +3 -3
- package/docs/API-reference/api/x-components.defaultexternaltaggingservice.add_to_cart_id_key.md +13 -0
- package/docs/API-reference/api/x-components.defaultexternaltaggingservice.instance.md +13 -0
- package/docs/API-reference/api/x-components.defaultexternaltaggingservice.localstorageservice.md +11 -0
- package/docs/API-reference/api/x-components.defaultexternaltaggingservice.md +43 -0
- package/docs/API-reference/api/{x-components.defaultpdpaddtocartservice.movetosessionstorage.md → x-components.defaultexternaltaggingservice.movetosessionstorage.md} +2 -2
- package/docs/API-reference/api/x-components.defaultexternaltaggingservice.result_clicked_id_key.md +13 -0
- package/docs/API-reference/api/x-components.defaultexternaltaggingservice.sessionstorageservice.md +11 -0
- package/docs/API-reference/api/x-components.defaultexternaltaggingservice.storagekey.md +11 -0
- package/docs/API-reference/api/x-components.defaultexternaltaggingservice.storagettlms.md +11 -0
- package/docs/API-reference/api/{x-components.defaultpdpaddtocartservice.store.md → x-components.defaultexternaltaggingservice.store.md} +2 -2
- package/docs/API-reference/api/x-components.defaultexternaltaggingservice.storeaddtocart.md +24 -0
- package/docs/API-reference/api/{x-components.defaultpdpaddtocartservice.storeresultclicked.md → x-components.defaultexternaltaggingservice.storeresultclicked.md} +3 -3
- package/docs/API-reference/api/{x-components.defaultpdpaddtocartservice.trackaddtocart.md → x-components.defaultexternaltaggingservice.trackaddtocart.md} +3 -3
- package/docs/API-reference/api/x-components.displayclickprovider.md +66 -0
- package/docs/API-reference/api/x-components.empathize.md +6 -6
- package/docs/API-reference/api/x-components.empathizemutations.md +1 -1
- package/docs/API-reference/api/x-components.externaltaggingservice.md +23 -0
- package/docs/API-reference/api/{x-components.pdpaddtocartservice.movetosessionstorage.md → x-components.externaltaggingservice.movetosessionstorage.md} +2 -2
- package/docs/API-reference/api/x-components.externaltaggingservice.storeaddtocart.md +24 -0
- package/docs/API-reference/api/{x-components.pdpaddtocartservice.storeresultclicked.md → x-components.externaltaggingservice.storeresultclicked.md} +3 -3
- package/docs/API-reference/api/{x-components.pdpaddtocartservice.trackaddtocart.md → x-components.externaltaggingservice.trackaddtocart.md} +3 -3
- package/docs/API-reference/api/x-components.facets.md +3 -3
- package/docs/API-reference/api/x-components.facetsmutations.md +1 -1
- package/docs/API-reference/api/x-components.featurelocation.md +1 -1
- package/docs/API-reference/api/x-components.fetchandsaverelatedprompts.md +13 -0
- package/docs/API-reference/api/x-components.fetchrelatedprompts.md +13 -0
- package/docs/API-reference/api/x-components.filterslist.md +3 -3
- package/docs/API-reference/api/x-components.globalxbus.md +14 -0
- package/docs/API-reference/api/x-components.hierarchicalfilter.md +9 -2
- package/docs/API-reference/api/x-components.historyqueriesmutations.md +1 -1
- package/docs/API-reference/api/x-components.historyqueriesstate.md +1 -1
- package/docs/API-reference/api/x-components.identifierresults.md +3 -3
- package/docs/API-reference/api/x-components.identifierresultsmutations.md +1 -1
- package/docs/API-reference/api/x-components.identifierresultsstate.md +1 -1
- package/docs/API-reference/api/x-components.installxoptions.domelement.md +1 -1
- package/docs/API-reference/api/x-components.installxoptions.installextraplugins.md +2 -2
- package/docs/API-reference/api/x-components.installxoptions.md +1 -1
- package/docs/API-reference/api/x-components.itemslist.md +3 -3
- package/docs/API-reference/api/x-components.mainmodal.md +2 -2
- package/docs/API-reference/api/x-components.md +39 -3
- package/docs/API-reference/api/x-components.mergeconfig.md +27 -0
- package/docs/API-reference/api/x-components.multicolumnmaxwidthlayout.md +5 -5
- package/docs/API-reference/api/x-components.myhistory.md +3 -3
- package/docs/API-reference/api/x-components.nextqueriesgroup.md +22 -0
- package/docs/API-reference/api/x-components.nextqueriesgroup.modelname.md +11 -0
- package/docs/API-reference/api/x-components.nextqueriesgroup.nextqueries.md +11 -0
- package/docs/API-reference/api/x-components.nextquerieslist.md +3 -3
- package/docs/API-reference/api/x-components.nextqueriesmutations.md +1 -1
- package/docs/API-reference/api/x-components.nextqueriesstate.md +1 -1
- package/docs/API-reference/api/x-components.pageselector.md +80 -0
- package/docs/API-reference/api/x-components.partialresultslist.md +3 -3
- package/docs/API-reference/api/x-components.popularsearchesmutations.md +1 -1
- package/docs/API-reference/api/x-components.promotedslist.md +3 -3
- package/docs/API-reference/api/x-components.queriespreviewmutations.md +1 -1
- package/docs/API-reference/api/x-components.queryfeature.md +1 -1
- package/docs/API-reference/api/x-components.querymutations.md +20 -0
- package/docs/API-reference/api/x-components.querymutations.setquery.md +24 -0
- package/docs/API-reference/api/x-components.querypreviewlist.md +3 -3
- package/docs/API-reference/api/x-components.querystate.md +20 -0
- package/docs/API-reference/api/x-components.querystate.query.md +13 -0
- package/docs/API-reference/api/x-components.querysuggestionsmutations.md +1 -1
- package/docs/API-reference/api/x-components.querysuggestionsstate.md +1 -1
- package/docs/API-reference/api/x-components.recommendations.md +3 -3
- package/docs/API-reference/api/x-components.recommendationsmutations.md +1 -1
- package/docs/API-reference/api/x-components.relatedprompt.md +33 -0
- package/docs/API-reference/api/x-components.relatedpromptsactioncontext.md +15 -0
- package/docs/API-reference/api/x-components.relatedpromptsactions.cancelfetchandsaverelatedprompts.md +17 -0
- package/docs/API-reference/api/x-components.relatedpromptsactions.fetchandsaverelatedprompts.md +24 -0
- package/docs/API-reference/api/x-components.relatedpromptsactions.fetchrelatedprompts.md +24 -0
- package/docs/API-reference/api/x-components.relatedpromptsactions.md +23 -0
- package/docs/API-reference/api/x-components.relatedpromptsactions.seturlparams.md +24 -0
- package/docs/API-reference/api/x-components.relatedpromptsgetters.md +21 -0
- package/docs/API-reference/api/x-components.relatedpromptsgetters.query.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptsgetters.request.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptslist.md +72 -0
- package/docs/API-reference/api/x-components.relatedpromptsmutations.md +27 -0
- package/docs/API-reference/api/x-components.relatedpromptsmutations.resetrelatedpromptsstate.md +17 -0
- package/docs/API-reference/api/x-components.relatedpromptsmutations.resetselectedprompt.md +17 -0
- package/docs/API-reference/api/x-components.relatedpromptsmutations.setparams.md +24 -0
- package/docs/API-reference/api/x-components.relatedpromptsmutations.setrelatedpromptsproducts.md +24 -0
- package/docs/API-reference/api/x-components.relatedpromptsmutations.setrelatedpromptsrelatedtags.md +24 -0
- package/docs/API-reference/api/x-components.relatedpromptsmutations.setselectedprompt.md +24 -0
- package/docs/API-reference/api/x-components.relatedpromptsmutations.setselectedquery.md +24 -0
- package/docs/API-reference/api/x-components.relatedpromptsstate.md +25 -0
- package/docs/API-reference/api/x-components.relatedpromptsstate.params.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptsstate.relatedprompts.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptsstate.relatedtags.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptsstate.selectedprompt.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptsstate.selectedquery.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptstaglist.md +72 -0
- package/docs/API-reference/api/x-components.relatedpromptsxevents.md +25 -0
- package/docs/API-reference/api/x-components.relatedpromptsxevents.relatedpromptsrequestupdated.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptsxevents.selectedrelatedpromptchanged.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptsxevents.userclickedarelatedpromptadd2cart.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptsxevents.userclickedarelatedpromptresult.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptsxevents.userselectedarelatedprompt.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptsxevents.userselectedarelatedpromptquery.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptsxmodule.md +13 -0
- package/docs/API-reference/api/x-components.relatedpromptsxstoremodule.md +15 -0
- package/docs/API-reference/api/x-components.relatedtags.md +3 -3
- package/docs/API-reference/api/x-components.relatedtagsmutations.md +1 -1
- package/docs/API-reference/api/x-components.relatedtagsstate.md +1 -1
- package/docs/API-reference/api/x-components.resultfeature.md +1 -1
- package/docs/API-reference/api/x-components.resultslist.md +3 -3
- package/docs/API-reference/api/x-components.scrolltotop.md +5 -5
- package/docs/API-reference/api/x-components.searchboxmutations.md +1 -1
- package/docs/API-reference/api/x-components.searchboxstate.md +1 -1
- package/docs/API-reference/api/x-components.searchconfig.md +1 -0
- package/docs/API-reference/api/x-components.searchconfig.pagemode.md +11 -0
- package/docs/API-reference/api/x-components.searchinputplaceholder.md +3 -3
- package/docs/API-reference/api/x-components.searchmutations.md +2 -1
- package/docs/API-reference/api/x-components.searchmutations.setstats.md +24 -0
- package/docs/API-reference/api/x-components.searchstate.md +2 -1
- package/docs/API-reference/api/x-components.searchstate.stats.md +13 -0
- package/docs/API-reference/api/x-components.searchxevents.md +1 -0
- package/docs/API-reference/api/x-components.searchxevents.userselectedapage.md +13 -0
- package/docs/API-reference/api/x-components.selectedfilterslist.md +3 -3
- package/docs/API-reference/api/x-components.semanticqueriesgetters.md +1 -0
- package/docs/API-reference/api/x-components.semanticqueriesgetters.query.md +13 -0
- package/docs/API-reference/api/x-components.semanticqueriesmutations.md +2 -1
- package/docs/API-reference/api/x-components.semanticqueriesmutations.setsemanticqueriesrelatedtags.md +24 -0
- package/docs/API-reference/api/x-components.semanticqueriesstate.md +2 -1
- package/docs/API-reference/api/x-components.semanticqueriesstate.relatedtags.md +13 -0
- package/docs/API-reference/api/x-components.setconfig.md +27 -0
- package/docs/API-reference/api/x-components.setquery.md +25 -0
- package/docs/API-reference/api/x-components.seturlprompt.md +13 -0
- package/docs/API-reference/api/x-components.simplefilter.md +7 -0
- package/docs/API-reference/api/x-components.singlecolumnlayout.md +3 -3
- package/docs/API-reference/api/x-components.slidingpanel.md +13 -5
- package/docs/API-reference/api/x-components.snippetcallbacks.md +7 -0
- package/docs/API-reference/api/x-components.sortdropdown.md +1 -1
- package/docs/API-reference/api/x-components.tagging.md +6 -6
- package/docs/API-reference/api/x-components.taggingconfig.md +2 -2
- package/docs/API-reference/api/{x-components.taggingconfig.clickedresultstoragekey.md → x-components.taggingconfig.storagekey.md} +3 -3
- package/docs/API-reference/api/x-components.taggingconfig.storagettlms.md +13 -0
- package/docs/API-reference/api/x-components.taggingmutations.md +1 -1
- package/docs/API-reference/api/x-components.taggingxevents.md +1 -1
- package/docs/API-reference/api/x-components.taggingxevents.resulturltrackingenabled.md +1 -1
- package/docs/API-reference/api/x-components.trackrelatedprompttoolingdisplayclickwire.md +13 -0
- package/docs/API-reference/api/x-components.tracktoolingadd2cartwire.md +13 -0
- package/docs/API-reference/api/x-components.tracktoolingdisplayclickedwire.md +13 -0
- package/docs/API-reference/api/x-components.typing.md +13 -0
- package/docs/API-reference/api/x-components.typingoptions.md +22 -0
- package/docs/API-reference/api/x-components.typingoptions.speed.md +13 -0
- package/docs/API-reference/api/x-components.typingoptions.targetattr.md +18 -0
- package/docs/API-reference/api/x-components.typingoptions.text.md +13 -0
- package/docs/API-reference/api/x-components.urlmutations.md +2 -1
- package/docs/API-reference/api/x-components.urlmutations.setprompt.md +24 -0
- package/docs/API-reference/api/x-components.urlparams.md +1 -0
- package/docs/API-reference/api/x-components.urlparams.prompt.md +11 -0
- package/docs/API-reference/api/x-components.urlstate.md +1 -1
- package/docs/API-reference/api/x-components.usealiasapi.md +1 -0
- package/docs/API-reference/api/x-components.usealiasapi.pricestats.md +16 -0
- package/docs/API-reference/api/x-components.xeventstypes.md +3 -3
- package/docs/API-reference/api/x-components.xmodulestree.md +1 -0
- package/docs/API-reference/api/x-components.xmodulestree.relatedprompts.md +11 -0
- package/docs/API-reference/api/x-types.md +2 -0
- package/docs/API-reference/api/x-types.relatedprompt.md +4 -1
- package/docs/API-reference/api/x-types.relatedprompt.nextqueries.md +1 -1
- package/docs/API-reference/api/x-types.relatedprompt.relatedpromptnextqueries.md +13 -0
- package/docs/API-reference/api/x-types.relatedprompt.tagging.md +17 -0
- package/docs/API-reference/api/x-types.relatedprompt.toolingdisplaytagging.md +13 -0
- package/docs/API-reference/api/x-types.relatedpromptnextquery.md +23 -0
- package/docs/API-reference/api/x-types.relatedpromptnextquery.query.md +13 -0
- package/docs/API-reference/api/x-types.relatedpromptnextquery.toolingdisplayadd2carttagging.md +13 -0
- package/docs/API-reference/api/x-types.relatedpromptnextquery.toolingdisplayclicktagging.md +13 -0
- package/docs/API-reference/api/x-types.relatedpromptnextquery.toolingdisplaytagging.md +13 -0
- package/docs/API-reference/api/x-types.searchresponse.md +1 -0
- package/docs/API-reference/api/x-types.searchresponse.stats.md +11 -0
- package/docs/API-reference/api/x-types.stats.md +22 -0
- package/docs/API-reference/api/x-types.stats.price.md +14 -0
- package/docs/API-reference/components/common/result/x-components.base-result-image.md +2 -2
- package/docs/API-reference/components/common/x-components.base-slider.md +189 -0
- package/docs/API-reference/components/common/x-components.base-teleport.md +19 -0
- package/docs/API-reference/components/common/x-components.display-click-provider.md +17 -0
- package/docs/API-reference/components/common/x-components.items-list.md +1 -1
- package/docs/API-reference/components/common/x-components.page-selector.md +136 -0
- package/docs/API-reference/components/common/x-components.sliding-panel.md +7 -7
- package/docs/API-reference/components/facets/x-components.facets/facets.md +1 -1
- package/docs/API-reference/components/facets/x-components.lists/selected-filters-list.md +1 -1
- package/docs/API-reference/components/related-prompts/x-components.related-prompt.md +22 -0
- package/docs/API-reference/components/related-prompts/x-components.related-prompts-list.md +196 -0
- package/docs/API-reference/components/related-prompts/x-components.related-prompts-tag-list.md +32 -0
- package/docs/API-reference/components/search/x-components.results-list.md +1 -1
- package/docs/API-reference/components/tagging/x-components.tagging.md +15 -16
- package/js/components/animations/fade-and-slide.vue.js +1 -2
- package/js/components/animations/fade-and-slide.vue.js.map +1 -1
- package/js/components/base-dropdown.vue.js +1 -3
- package/js/components/base-dropdown.vue.js.map +1 -1
- package/js/components/base-dropdown.vue2.js +1 -7
- package/js/components/base-dropdown.vue2.js.map +1 -1
- package/js/components/base-event-button.vue.js +1 -2
- package/js/components/base-event-button.vue.js.map +1 -1
- package/js/components/base-grid.vue.js +11 -18
- package/js/components/base-grid.vue.js.map +1 -1
- package/js/components/base-grid.vue2.js.map +1 -1
- package/js/components/base-grid.vue3.js +1 -1
- package/js/components/base-keyboard-navigation.vue.js +1 -2
- package/js/components/base-keyboard-navigation.vue.js.map +1 -1
- package/js/components/base-rating.vue.js +1 -3
- package/js/components/base-rating.vue.js.map +1 -1
- package/js/components/base-slider.vue.js +65 -0
- package/js/components/base-slider.vue.js.map +1 -0
- package/js/components/base-slider.vue2.js +109 -0
- package/js/components/base-slider.vue2.js.map +1 -0
- package/js/components/base-slider.vue3.js +7 -0
- package/js/components/base-slider.vue3.js.map +1 -0
- package/js/components/base-switch.vue.js.map +1 -1
- package/js/components/base-switch.vue2.js +3 -7
- package/js/components/base-switch.vue2.js.map +1 -1
- package/js/components/base-teleport.vue.js +17 -0
- package/js/components/base-teleport.vue.js.map +1 -0
- package/js/components/base-teleport.vue2.js +14 -0
- package/js/components/base-teleport.vue2.js.map +1 -0
- package/js/components/base-teleport.vue3.js +7 -0
- package/js/components/base-teleport.vue3.js.map +1 -0
- package/js/components/base-variable-column-grid.vue.js +1 -2
- package/js/components/base-variable-column-grid.vue.js.map +1 -1
- package/js/components/column-picker/base-column-picker-dropdown.vue.js +1 -3
- package/js/components/column-picker/base-column-picker-dropdown.vue.js.map +1 -1
- package/js/components/column-picker/base-column-picker-list.vue.js +1 -3
- package/js/components/column-picker/base-column-picker-list.vue.js.map +1 -1
- package/js/components/display-click-provider.vue.js +74 -0
- package/js/components/display-click-provider.vue.js.map +1 -0
- package/js/components/display-click-provider.vue2.js +6 -0
- package/js/components/display-click-provider.vue2.js.map +1 -0
- package/js/components/filters/labels/base-rating-filter-label.vue.js +1 -3
- package/js/components/filters/labels/base-rating-filter-label.vue.js.map +1 -1
- package/js/components/icons/cross-tiny.vue.js +2 -2
- package/js/components/icons/plus.vue.js +2 -2
- package/js/components/items-list.vue.js +1 -2
- package/js/components/items-list.vue.js.map +1 -1
- package/js/components/items-list.vue2.js +2 -2
- package/js/components/items-list.vue2.js.map +1 -1
- package/js/components/layouts/fixed-header-and-asides-layout.vue.js +1 -7
- package/js/components/layouts/fixed-header-and-asides-layout.vue.js.map +1 -1
- package/js/components/layouts/multi-column-max-width-layout.vue.js +1 -9
- package/js/components/layouts/multi-column-max-width-layout.vue.js.map +1 -1
- package/js/components/layouts/single-column-layout.vue.js +1 -9
- package/js/components/layouts/single-column-layout.vue.js.map +1 -1
- package/js/components/modals/base-events-modal-close.vue.js +1 -2
- package/js/components/modals/base-events-modal-close.vue.js.map +1 -1
- package/js/components/modals/base-events-modal-open.vue.js +1 -2
- package/js/components/modals/base-events-modal-open.vue.js.map +1 -1
- package/js/components/modals/base-id-modal-close.vue.js +1 -2
- package/js/components/modals/base-id-modal-close.vue.js.map +1 -1
- package/js/components/modals/base-id-modal-open.vue.js +1 -2
- package/js/components/modals/base-id-modal-open.vue.js.map +1 -1
- package/js/components/modals/base-modal.vue.js +1 -2
- package/js/components/modals/base-modal.vue.js.map +1 -1
- package/js/components/modals/base-modal.vue2.js +13 -6
- package/js/components/modals/base-modal.vue2.js.map +1 -1
- package/js/components/page-loader-button.vue.js +8 -10
- package/js/components/page-loader-button.vue.js.map +1 -1
- package/js/components/page-loader-button.vue2.js.map +1 -1
- package/js/components/page-loader-button.vue3.js +7 -0
- package/js/components/page-loader-button.vue3.js.map +1 -0
- package/js/components/page-selector.vue.js +78 -0
- package/js/components/page-selector.vue.js.map +1 -0
- package/js/components/page-selector.vue2.js +128 -0
- package/js/components/page-selector.vue2.js.map +1 -0
- package/js/components/page-selector.vue3.js +7 -0
- package/js/components/page-selector.vue3.js.map +1 -0
- package/js/components/panels/base-header-toggle-panel.vue.js +1 -5
- package/js/components/panels/base-header-toggle-panel.vue.js.map +1 -1
- package/js/components/panels/base-id-toggle-panel-button.vue.js +1 -2
- package/js/components/panels/base-id-toggle-panel-button.vue.js.map +1 -1
- package/js/components/panels/base-id-toggle-panel.vue.js +1 -2
- package/js/components/panels/base-id-toggle-panel.vue.js.map +1 -1
- package/js/components/panels/base-tabs-panel.vue.js +1 -4
- package/js/components/panels/base-tabs-panel.vue.js.map +1 -1
- package/js/components/panels/base-toggle-panel.vue.js +1 -2
- package/js/components/panels/base-toggle-panel.vue.js.map +1 -1
- package/js/components/result/base-result-add-to-cart.vue.js +3 -3
- package/js/components/result/base-result-add-to-cart.vue.js.map +1 -1
- package/js/components/result/base-result-add-to-cart.vue2.js +19 -5
- package/js/components/result/base-result-add-to-cart.vue2.js.map +1 -1
- package/js/components/result/base-result-current-price.vue.js +1 -2
- package/js/components/result/base-result-current-price.vue.js.map +1 -1
- package/js/components/result/base-result-image.vue.js +39 -59
- package/js/components/result/base-result-image.vue.js.map +1 -1
- package/js/components/result/base-result-image.vue2.js +5 -5
- package/js/components/result/base-result-image.vue2.js.map +1 -1
- package/js/components/result/base-result-link.vue.js +1 -2
- package/js/components/result/base-result-link.vue.js.map +1 -1
- package/js/components/result/base-result-previous-price.vue.js +1 -2
- package/js/components/result/base-result-previous-price.vue.js.map +1 -1
- package/js/components/result/base-result-rating.vue.js +1 -4
- package/js/components/result/base-result-rating.vue.js.map +1 -1
- package/js/components/result/result-variant-selector.vue.js +1 -3
- package/js/components/result/result-variant-selector.vue.js.map +1 -1
- package/js/components/sliding-panel.vue.js +3 -6
- package/js/components/sliding-panel.vue.js.map +1 -1
- package/js/components/sliding-panel.vue2.js +2 -2
- package/js/components/sliding-panel.vue2.js.map +1 -1
- package/js/components/suggestions/base-suggestion.vue.js +1 -2
- package/js/components/suggestions/base-suggestion.vue.js.map +1 -1
- package/js/components/suggestions/base-suggestions.vue.js +1 -2
- package/js/components/suggestions/base-suggestions.vue.js.map +1 -1
- package/js/composables/use-alias-api.js +4 -1
- package/js/composables/use-alias-api.js.map +1 -1
- package/js/composables/use-getter.js +1 -1
- package/js/composables/use-state.js +1 -1
- package/js/directives/typing.js +58 -0
- package/js/directives/typing.js.map +1 -0
- package/js/index.js +21 -4
- package/js/index.js.map +1 -1
- package/js/types/animation-prop.js +5 -0
- package/js/types/animation-prop.js.map +1 -1
- package/js/x-installer/x-installer/x-installer.js +3 -3
- package/js/x-installer/x-installer/x-installer.js.map +1 -1
- package/js/x-modules/device/store/emitters.js +1 -0
- package/js/x-modules/device/store/emitters.js.map +1 -1
- package/js/x-modules/empathize/components/empathize.vue.js +1 -2
- package/js/x-modules/empathize/components/empathize.vue.js.map +1 -1
- package/js/x-modules/empathize/components/empathize.vue2.js +10 -3
- package/js/x-modules/empathize/components/empathize.vue2.js.map +1 -1
- package/js/x-modules/empathize/store/emitters.js +1 -0
- package/js/x-modules/empathize/store/emitters.js.map +1 -1
- package/js/x-modules/experience-controls/store/emitters.js +1 -0
- package/js/x-modules/experience-controls/store/emitters.js.map +1 -1
- package/js/x-modules/extra-params/components/extra-params.vue.js +1 -1
- package/js/x-modules/extra-params/components/extra-params.vue.js.map +1 -1
- package/js/x-modules/extra-params/store/emitters.js +1 -0
- package/js/x-modules/extra-params/store/emitters.js.map +1 -1
- package/js/x-modules/facets/components/facets/facets.vue.js +20 -33
- package/js/x-modules/facets/components/facets/facets.vue.js.map +1 -1
- package/js/x-modules/facets/components/facets/facets.vue2.js +2 -2
- package/js/x-modules/facets/components/facets/facets.vue2.js.map +1 -1
- package/js/x-modules/facets/components/filters/all-filter.vue.js +1 -2
- package/js/x-modules/facets/components/filters/all-filter.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/editable-number-range-filter.vue.js +1 -6
- package/js/x-modules/facets/components/filters/editable-number-range-filter.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/hierarchical-filter.vue.js +1 -3
- package/js/x-modules/facets/components/filters/hierarchical-filter.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/number-range-filter.vue.js +1 -3
- package/js/x-modules/facets/components/filters/number-range-filter.vue.js.map +1 -1
- package/js/x-modules/facets/components/filters/simple-filter.vue.js +1 -3
- package/js/x-modules/facets/components/filters/simple-filter.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/filters-list.vue.js +1 -2
- package/js/x-modules/facets/components/lists/filters-list.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/filters-search.vue.js +1 -3
- package/js/x-modules/facets/components/lists/filters-search.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/selected-filters-list.vue.js +11 -18
- package/js/x-modules/facets/components/lists/selected-filters-list.vue.js.map +1 -1
- package/js/x-modules/facets/components/lists/selected-filters-list.vue2.js +2 -2
- package/js/x-modules/facets/components/lists/selected-filters-list.vue2.js.map +1 -1
- package/js/x-modules/facets/components/lists/sliced-filters.vue.js +1 -4
- package/js/x-modules/facets/components/lists/sliced-filters.vue.js.map +1 -1
- package/js/x-modules/history-queries/components/clear-history-queries.vue.js +1 -2
- package/js/x-modules/history-queries/components/clear-history-queries.vue.js.map +1 -1
- package/js/x-modules/history-queries/components/history-queries.vue.js +1 -10
- package/js/x-modules/history-queries/components/history-queries.vue.js.map +1 -1
- package/js/x-modules/history-queries/components/history-query.vue.js +1 -6
- package/js/x-modules/history-queries/components/history-query.vue.js.map +1 -1
- package/js/x-modules/history-queries/components/my-history.vue.js +1 -4
- package/js/x-modules/history-queries/components/my-history.vue.js.map +1 -1
- package/js/x-modules/history-queries/components/remove-history-query.vue.js +1 -2
- package/js/x-modules/history-queries/components/remove-history-query.vue.js.map +1 -1
- package/js/x-modules/history-queries/store/emitters.js +1 -0
- package/js/x-modules/history-queries/store/emitters.js.map +1 -1
- package/js/x-modules/identifier-results/components/identifier-results.vue.js +1 -2
- package/js/x-modules/identifier-results/components/identifier-results.vue.js.map +1 -1
- package/js/x-modules/identifier-results/store/emitters.js +1 -0
- package/js/x-modules/identifier-results/store/emitters.js.map +1 -1
- package/js/x-modules/next-queries/components/next-queries.vue.js +1 -7
- package/js/x-modules/next-queries/components/next-queries.vue.js.map +1 -1
- package/js/x-modules/next-queries/components/next-query-preview.vue.js +1 -3
- package/js/x-modules/next-queries/components/next-query-preview.vue.js.map +1 -1
- package/js/x-modules/next-queries/components/next-query.vue.js +1 -4
- package/js/x-modules/next-queries/components/next-query.vue.js.map +1 -1
- package/js/x-modules/next-queries/store/emitters.js +1 -0
- package/js/x-modules/next-queries/store/emitters.js.map +1 -1
- package/js/x-modules/popular-searches/components/popular-search.vue.js +1 -4
- package/js/x-modules/popular-searches/components/popular-search.vue.js.map +1 -1
- package/js/x-modules/popular-searches/components/popular-searches.vue.js +1 -7
- package/js/x-modules/popular-searches/components/popular-searches.vue.js.map +1 -1
- package/js/x-modules/queries-preview/components/query-preview-button.vue.js +1 -2
- package/js/x-modules/queries-preview/components/query-preview-button.vue.js.map +1 -1
- package/js/x-modules/queries-preview/components/query-preview-button.vue2.js +8 -0
- package/js/x-modules/queries-preview/components/query-preview-button.vue2.js.map +1 -1
- package/js/x-modules/queries-preview/components/query-preview-list.vue.js.map +1 -1
- package/js/x-modules/queries-preview/components/query-preview-list.vue2.js +15 -2
- package/js/x-modules/queries-preview/components/query-preview-list.vue2.js.map +1 -1
- package/js/x-modules/queries-preview/components/query-preview.vue.js +1 -2
- package/js/x-modules/queries-preview/components/query-preview.vue.js.map +1 -1
- package/js/x-modules/queries-preview/components/query-preview.vue2.js +9 -1
- package/js/x-modules/queries-preview/components/query-preview.vue2.js.map +1 -1
- package/js/x-modules/queries-preview/store/actions/fetch-and-save-query-preview.action.js +2 -1
- package/js/x-modules/queries-preview/store/actions/fetch-and-save-query-preview.action.js.map +1 -1
- package/js/x-modules/queries-preview/store/emitters.js +1 -0
- package/js/x-modules/queries-preview/store/emitters.js.map +1 -1
- package/js/x-modules/queries-preview/store/module.js +1 -1
- package/js/x-modules/queries-preview/store/module.js.map +1 -1
- package/js/x-modules/queries-preview/utils/get-hash-from-query-preview.js +6 -4
- package/js/x-modules/queries-preview/utils/get-hash-from-query-preview.js.map +1 -1
- package/js/x-modules/query-suggestions/components/query-suggestion.vue.js +1 -4
- package/js/x-modules/query-suggestions/components/query-suggestion.vue.js.map +1 -1
- package/js/x-modules/query-suggestions/components/query-suggestions.vue.js +1 -7
- package/js/x-modules/query-suggestions/components/query-suggestions.vue.js.map +1 -1
- package/js/x-modules/query-suggestions/store/emitters.js +1 -0
- package/js/x-modules/query-suggestions/store/emitters.js.map +1 -1
- package/js/x-modules/recommendations/components/recommendations.vue.js +1 -2
- package/js/x-modules/recommendations/components/recommendations.vue.js.map +1 -1
- package/js/x-modules/recommendations/store/emitters.js +1 -0
- package/js/x-modules/recommendations/store/emitters.js.map +1 -1
- package/js/x-modules/related-prompts/components/related-prompt.vue.js +27 -0
- package/js/x-modules/related-prompts/components/related-prompt.vue.js.map +1 -0
- package/js/x-modules/related-prompts/components/related-prompt.vue2.js +31 -0
- package/js/x-modules/related-prompts/components/related-prompt.vue2.js.map +1 -0
- package/js/x-modules/related-prompts/components/related-prompt.vue3.js +7 -0
- package/js/x-modules/related-prompts/components/related-prompt.vue3.js.map +1 -0
- package/js/x-modules/related-prompts/components/related-prompts-list.vue.js +154 -0
- package/js/x-modules/related-prompts/components/related-prompts-list.vue.js.map +1 -0
- package/js/x-modules/related-prompts/components/related-prompts-list.vue2.js +6 -0
- package/js/x-modules/related-prompts/components/related-prompts-list.vue2.js.map +1 -0
- package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue.js +101 -0
- package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue.js.map +1 -0
- package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue2.js +221 -0
- package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue2.js.map +1 -0
- package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue3.js +7 -0
- package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue3.js.map +1 -0
- package/js/x-modules/related-prompts/store/actions/fetch-and-save-related-prompts.action.js +29 -0
- package/js/x-modules/related-prompts/store/actions/fetch-and-save-related-prompts.action.js.map +1 -0
- package/js/x-modules/related-prompts/store/actions/fetch-related-prompts.action.js +20 -0
- package/js/x-modules/related-prompts/store/actions/fetch-related-prompts.action.js.map +1 -0
- package/js/x-modules/related-prompts/store/actions/set-url-params.action.js +15 -0
- package/js/x-modules/related-prompts/store/actions/set-url-params.action.js.map +1 -0
- package/js/x-modules/related-prompts/store/emitters.js +16 -0
- package/js/x-modules/related-prompts/store/emitters.js.map +1 -0
- package/js/x-modules/related-prompts/store/getters/related-prompts-query.getter.js +18 -0
- package/js/x-modules/related-prompts/store/getters/related-prompts-query.getter.js.map +1 -0
- package/js/x-modules/related-prompts/store/getters/request.getter.js +17 -0
- package/js/x-modules/related-prompts/store/getters/request.getter.js.map +1 -0
- package/js/x-modules/related-prompts/store/module.js +64 -0
- package/js/x-modules/related-prompts/store/module.js.map +1 -0
- package/js/x-modules/related-prompts/wiring.js +82 -0
- package/js/x-modules/related-prompts/wiring.js.map +1 -0
- package/js/x-modules/related-prompts/x-module.js +21 -0
- package/js/x-modules/related-prompts/x-module.js.map +1 -0
- package/js/x-modules/related-tags/components/related-tag.vue.js +1 -2
- package/js/x-modules/related-tags/components/related-tag.vue.js.map +1 -1
- package/js/x-modules/related-tags/components/related-tags.vue.js +1 -4
- package/js/x-modules/related-tags/components/related-tags.vue.js.map +1 -1
- package/js/x-modules/related-tags/store/emitters.js +1 -0
- package/js/x-modules/related-tags/store/emitters.js.map +1 -1
- package/js/x-modules/scroll/components/scroll-to-top.vue.js +1 -2
- package/js/x-modules/scroll/components/scroll-to-top.vue.js.map +1 -1
- package/js/x-modules/scroll/components/scroll-to-top.vue2.js +8 -0
- package/js/x-modules/scroll/components/scroll-to-top.vue2.js.map +1 -1
- package/js/x-modules/scroll/store/emitters.js +1 -0
- package/js/x-modules/scroll/store/emitters.js.map +1 -1
- package/js/x-modules/search/components/partial-results-list.vue.js +1 -2
- package/js/x-modules/search/components/partial-results-list.vue.js.map +1 -1
- package/js/x-modules/search/components/results-list.vue.js +2 -2
- package/js/x-modules/search/components/results-list.vue.js.map +1 -1
- package/js/x-modules/search/components/sort-dropdown.vue.js +1 -3
- package/js/x-modules/search/components/sort-dropdown.vue.js.map +1 -1
- package/js/x-modules/search/store/actions/fetch-and-save-search-response.action.js +10 -3
- package/js/x-modules/search/store/actions/fetch-and-save-search-response.action.js.map +1 -1
- package/js/x-modules/search/store/actions/save-search-response.action.js +3 -1
- package/js/x-modules/search/store/actions/save-search-response.action.js.map +1 -1
- package/js/x-modules/search/store/emitters.js +1 -0
- package/js/x-modules/search/store/emitters.js.map +1 -1
- package/js/x-modules/search/store/module.js +9 -3
- package/js/x-modules/search/store/module.js.map +1 -1
- package/js/x-modules/search/wiring.js +4 -0
- package/js/x-modules/search/wiring.js.map +1 -1
- package/js/x-modules/search-box/components/clear-search-input.vue.js +1 -2
- package/js/x-modules/search-box/components/clear-search-input.vue.js.map +1 -1
- package/js/x-modules/search-box/components/search-button.vue.js +1 -2
- package/js/x-modules/search-box/components/search-button.vue.js.map +1 -1
- package/js/x-modules/search-box/store/emitters.js +1 -0
- package/js/x-modules/search-box/store/emitters.js.map +1 -1
- package/js/x-modules/semantic-queries/components/semantic-queries.vue.js +1 -3
- package/js/x-modules/semantic-queries/components/semantic-queries.vue.js.map +1 -1
- package/js/x-modules/semantic-queries/components/semantic-query.vue.js +1 -4
- package/js/x-modules/semantic-queries/components/semantic-query.vue.js.map +1 -1
- package/js/x-modules/semantic-queries/store/getters/normalized-query.getter.js +1 -1
- package/js/x-modules/semantic-queries/store/getters/normalized-query.getter.js.map +1 -1
- package/js/x-modules/semantic-queries/store/getters/request.getter.js +5 -4
- package/js/x-modules/semantic-queries/store/getters/request.getter.js.map +1 -1
- package/js/x-modules/semantic-queries/store/getters/semanti-queries-query.getter.js +18 -0
- package/js/x-modules/semantic-queries/store/getters/semanti-queries-query.getter.js.map +1 -0
- package/js/x-modules/semantic-queries/store/module.js +8 -2
- package/js/x-modules/semantic-queries/store/module.js.map +1 -1
- package/js/x-modules/semantic-queries/wiring.js +5 -0
- package/js/x-modules/semantic-queries/wiring.js.map +1 -1
- package/js/x-modules/tagging/components/tagging.vue.js +8 -7
- package/js/x-modules/tagging/components/tagging.vue.js.map +1 -1
- package/js/x-modules/tagging/service/{pdp-add-to-cart.service.js → external-tagging.service.js} +56 -25
- package/js/x-modules/tagging/service/external-tagging.service.js.map +1 -0
- package/js/x-modules/tagging/store/emitters.js +1 -1
- package/js/x-modules/tagging/store/emitters.js.map +1 -1
- package/js/x-modules/tagging/store/module.js +7 -3
- package/js/x-modules/tagging/store/module.js.map +1 -1
- package/js/x-modules/tagging/wiring.js +110 -9
- package/js/x-modules/tagging/wiring.js.map +1 -1
- package/js/x-modules/url/components/url-handler.vue.js.map +1 -1
- package/js/x-modules/url/components/url-handler.vue2.js +4 -5
- package/js/x-modules/url/components/url-handler.vue2.js.map +1 -1
- package/js/x-modules/url/store/emitters.js +1 -0
- package/js/x-modules/url/store/emitters.js.map +1 -1
- package/js/x-modules/url/store/getters/url-params.getter.js +2 -3
- package/js/x-modules/url/store/getters/url-params.getter.js.map +1 -1
- package/js/x-modules/url/store/initial-state.js +2 -1
- package/js/x-modules/url/store/initial-state.js.map +1 -1
- package/js/x-modules/url/store/module.js +3 -0
- package/js/x-modules/url/store/module.js.map +1 -1
- package/js/x-modules/url/wiring.js +10 -1
- package/js/x-modules/url/wiring.js.map +1 -1
- package/package.json +50 -49
- package/related-prompts/index.d.ts +1 -0
- package/related-prompts/index.js +9 -0
- package/report/x-adapter-platform.api.json +895 -67
- package/report/x-components.api.json +16491 -17162
- package/report/x-components.api.md +847 -215
- package/report/x-types.api.json +320 -4
- package/tagging/index.js +2 -2
- package/types/adapter/mocked-responses.d.ts +3 -0
- package/types/adapter/mocked-responses.d.ts.map +1 -1
- package/types/components/base-dropdown.vue.d.ts +5 -5
- package/types/components/base-dropdown.vue.d.ts.map +1 -1
- package/types/components/base-grid.vue.d.ts +3 -3
- package/types/components/base-slider.vue.d.ts +74 -0
- package/types/components/base-slider.vue.d.ts.map +1 -0
- package/types/components/base-switch.vue.d.ts +2 -1
- package/types/components/base-switch.vue.d.ts.map +1 -1
- package/types/components/base-teleport.vue.d.ts +13 -0
- package/types/components/base-teleport.vue.d.ts.map +1 -0
- package/types/components/base-variable-column-grid.vue.d.ts +3 -3
- package/types/components/display-click-provider.vue.d.ts +61 -0
- package/types/components/display-click-provider.vue.d.ts.map +1 -0
- package/types/components/global-x-bus.vue.d.ts +14 -0
- package/types/components/global-x-bus.vue.d.ts.map +1 -1
- package/types/components/index.d.ts +4 -0
- package/types/components/index.d.ts.map +1 -1
- package/types/components/items-list.vue.d.ts +3 -3
- package/types/components/layouts/multi-column-max-width-layout.vue.d.ts +5 -5
- package/types/components/layouts/single-column-layout.vue.d.ts +3 -3
- package/types/components/modals/base-events-modal.vue.d.ts +2 -2
- package/types/components/modals/base-id-modal.vue.d.ts +2 -2
- package/types/components/modals/base-modal.vue.d.ts +10 -10
- package/types/components/modals/base-modal.vue.d.ts.map +1 -1
- package/types/components/modals/main-modal.vue.d.ts +2 -2
- package/types/components/page-selector.vue.d.ts +125 -0
- package/types/components/page-selector.vue.d.ts.map +1 -0
- package/types/components/panels/base-header-toggle-panel.vue.d.ts +5 -5
- package/types/components/panels/base-id-toggle-panel.vue.d.ts +5 -5
- package/types/components/panels/base-tabs-panel.vue.d.ts +8 -8
- package/types/components/panels/base-toggle-panel.vue.d.ts +3 -3
- package/types/components/result/base-result-add-to-cart.vue.d.ts +2 -0
- package/types/components/result/base-result-add-to-cart.vue.d.ts.map +1 -1
- package/types/components/result/base-result-image.vue.d.ts +10 -10
- package/types/components/result/base-result-image.vue.d.ts.map +1 -1
- package/types/components/sliding-panel.vue.d.ts +15 -5
- package/types/components/sliding-panel.vue.d.ts.map +1 -1
- package/types/components/snippet-callbacks.vue.d.ts +7 -0
- package/types/components/snippet-callbacks.vue.d.ts.map +1 -1
- package/types/components/suggestions/base-suggestions.vue.d.ts +3 -3
- package/types/composables/use-alias-api.d.ts +5 -0
- package/types/composables/use-alias-api.d.ts.map +1 -1
- package/types/composables/use-store.d.ts +2 -2
- package/types/composables/use-store.d.ts.map +1 -1
- package/types/directives/index.d.ts +1 -0
- package/types/directives/index.d.ts.map +1 -1
- package/types/directives/typing.d.ts +35 -0
- package/types/directives/typing.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/store/index.d.ts +4 -1
- package/types/store/index.d.ts.map +1 -1
- package/types/tailwind/plugin-options.d.ts +1 -2
- package/types/tailwind/plugin-options.d.ts.map +1 -1
- package/types/types/animation-prop.d.ts +6 -2
- package/types/types/animation-prop.d.ts.map +1 -1
- package/types/types/origin.d.ts +3 -3
- package/types/types/origin.d.ts.map +1 -1
- package/types/types/page-mode.d.ts +2 -0
- package/types/types/page-mode.d.ts.map +1 -0
- package/types/types/url-params.d.ts +1 -0
- package/types/types/url-params.d.ts.map +1 -1
- package/types/views/home/types.d.ts +3 -0
- package/types/views/home/types.d.ts.map +1 -1
- package/types/wiring/events.types.d.ts +3 -1
- package/types/wiring/events.types.d.ts.map +1 -1
- package/types/x-installer/x-installer/types.d.ts +2 -2
- package/types/x-installer/x-installer/types.d.ts.map +1 -1
- package/types/x-installer/x-installer/x-installer.d.ts +4 -4
- package/types/x-installer/x-installer/x-installer.d.ts.map +1 -1
- package/types/x-modules/empathize/components/empathize.vue.d.ts +6 -6
- package/types/x-modules/empathize/components/empathize.vue.d.ts.map +1 -1
- package/types/x-modules/facets/components/facets/facets.vue.d.ts +3 -3
- package/types/x-modules/facets/components/filters/hierarchical-filter.vue.d.ts +9 -2
- package/types/x-modules/facets/components/filters/hierarchical-filter.vue.d.ts.map +1 -1
- package/types/x-modules/facets/components/filters/simple-filter.vue.d.ts +7 -0
- package/types/x-modules/facets/components/filters/simple-filter.vue.d.ts.map +1 -1
- package/types/x-modules/facets/components/lists/filters-list.vue.d.ts +3 -3
- package/types/x-modules/facets/components/lists/selected-filters-list.vue.d.ts +3 -3
- package/types/x-modules/history-queries/components/my-history.vue.d.ts +3 -3
- package/types/x-modules/identifier-results/components/identifier-results.vue.d.ts +3 -3
- package/types/x-modules/next-queries/components/next-queries-list.vue.d.ts +3 -3
- package/types/x-modules/next-queries/index.d.ts +1 -0
- package/types/x-modules/next-queries/index.d.ts.map +1 -1
- package/types/x-modules/queries-preview/components/query-preview-list.vue.d.ts +3 -3
- package/types/x-modules/queries-preview/components/query-preview-list.vue.d.ts.map +1 -1
- package/types/x-modules/queries-preview/components/query-preview.vue.d.ts.map +1 -1
- package/types/x-modules/queries-preview/store/actions/fetch-and-save-query-preview.action.d.ts.map +1 -1
- package/types/x-modules/queries-preview/store/module.d.ts.map +1 -1
- package/types/x-modules/queries-preview/utils/get-hash-from-query-preview.d.ts +4 -2
- package/types/x-modules/queries-preview/utils/get-hash-from-query-preview.d.ts.map +1 -1
- package/types/x-modules/recommendations/components/recommendations.vue.d.ts +3 -3
- package/types/x-modules/related-prompts/components/index.d.ts +4 -0
- package/types/x-modules/related-prompts/components/index.d.ts.map +1 -0
- package/types/x-modules/related-prompts/components/related-prompt.vue.d.ts +28 -0
- package/types/x-modules/related-prompts/components/related-prompt.vue.d.ts.map +1 -0
- package/types/x-modules/related-prompts/components/related-prompts-list.vue.d.ts +106 -0
- package/types/x-modules/related-prompts/components/related-prompts-list.vue.d.ts.map +1 -0
- package/types/x-modules/related-prompts/components/related-prompts-tag-list.vue.d.ts +131 -0
- package/types/x-modules/related-prompts/components/related-prompts-tag-list.vue.d.ts.map +1 -0
- package/types/x-modules/related-prompts/events.types.d.ts +41 -0
- package/types/x-modules/related-prompts/events.types.d.ts.map +1 -0
- package/types/x-modules/related-prompts/index.d.ts +6 -0
- package/types/x-modules/related-prompts/index.d.ts.map +1 -0
- package/types/x-modules/related-prompts/store/actions/fetch-and-save-related-prompts.action.d.ts +17 -0
- package/types/x-modules/related-prompts/store/actions/fetch-and-save-related-prompts.action.d.ts.map +1 -0
- package/types/x-modules/related-prompts/store/actions/fetch-related-prompts.action.d.ts +13 -0
- package/types/x-modules/related-prompts/store/actions/fetch-related-prompts.action.d.ts.map +1 -0
- package/types/x-modules/related-prompts/store/actions/set-url-params.action.d.ts +11 -0
- package/types/x-modules/related-prompts/store/actions/set-url-params.action.d.ts.map +1 -0
- package/types/x-modules/related-prompts/store/emitters.d.ts +10 -0
- package/types/x-modules/related-prompts/store/emitters.d.ts.map +1 -0
- package/types/x-modules/related-prompts/store/getters/index.d.ts +3 -0
- package/types/x-modules/related-prompts/store/getters/index.d.ts.map +1 -0
- package/types/x-modules/related-prompts/store/getters/related-prompts-query.getter.d.ts +13 -0
- package/types/x-modules/related-prompts/store/getters/related-prompts-query.getter.d.ts.map +1 -0
- package/types/x-modules/related-prompts/store/getters/request.getter.d.ts +14 -0
- package/types/x-modules/related-prompts/store/getters/request.getter.d.ts.map +1 -0
- package/types/x-modules/related-prompts/store/index.d.ts +6 -0
- package/types/x-modules/related-prompts/store/index.d.ts.map +1 -0
- package/types/x-modules/related-prompts/store/module.d.ts +8 -0
- package/types/x-modules/related-prompts/store/module.d.ts.map +1 -0
- package/types/x-modules/related-prompts/store/types.d.ts +125 -0
- package/types/x-modules/related-prompts/store/types.d.ts.map +1 -0
- package/types/x-modules/related-prompts/types.d.ts +10 -0
- package/types/x-modules/related-prompts/types.d.ts.map +1 -0
- package/types/x-modules/related-prompts/wiring.d.ts +42 -0
- package/types/x-modules/related-prompts/wiring.d.ts.map +1 -0
- package/types/x-modules/related-prompts/x-module.d.ts +16 -0
- package/types/x-modules/related-prompts/x-module.d.ts.map +1 -0
- package/types/x-modules/related-tags/components/related-tags.vue.d.ts +3 -3
- package/types/x-modules/scroll/components/scroll-to-top.vue.d.ts +5 -5
- package/types/x-modules/search/components/banners-list.vue.d.ts +3 -3
- package/types/x-modules/search/components/partial-results-list.vue.d.ts +3 -3
- package/types/x-modules/search/components/promoteds-list.vue.d.ts +3 -3
- package/types/x-modules/search/components/results-list.vue.d.ts +3 -3
- package/types/x-modules/search/components/sort-dropdown.vue.d.ts +1 -1
- package/types/x-modules/search/config.types.d.ts +2 -0
- package/types/x-modules/search/config.types.d.ts.map +1 -1
- package/types/x-modules/search/events.types.d.ts +4 -0
- package/types/x-modules/search/events.types.d.ts.map +1 -1
- package/types/x-modules/search/store/actions/fetch-and-save-search-response.action.d.ts.map +1 -1
- package/types/x-modules/search/store/actions/save-search-response.action.d.ts.map +1 -1
- package/types/x-modules/search/store/module.d.ts +2 -0
- package/types/x-modules/search/store/module.d.ts.map +1 -1
- package/types/x-modules/search/store/types.d.ts +9 -1
- package/types/x-modules/search/store/types.d.ts.map +1 -1
- package/types/x-modules/search/wiring.d.ts +4 -0
- package/types/x-modules/search/wiring.d.ts.map +1 -1
- package/types/x-modules/search-box/components/search-input-placeholder.vue.d.ts +3 -3
- package/types/x-modules/semantic-queries/store/getters/index.d.ts +1 -0
- package/types/x-modules/semantic-queries/store/getters/index.d.ts.map +1 -1
- package/types/x-modules/semantic-queries/store/getters/normalized-query.getter.d.ts +1 -1
- package/types/x-modules/semantic-queries/store/getters/request.getter.d.ts +2 -1
- package/types/x-modules/semantic-queries/store/getters/request.getter.d.ts.map +1 -1
- package/types/x-modules/semantic-queries/store/getters/semanti-queries-query.getter.d.ts +13 -0
- package/types/x-modules/semantic-queries/store/getters/semanti-queries-query.getter.d.ts.map +1 -0
- package/types/x-modules/semantic-queries/store/module.d.ts.map +1 -1
- package/types/x-modules/semantic-queries/store/types.d.ts +13 -1
- package/types/x-modules/semantic-queries/store/types.d.ts.map +1 -1
- package/types/x-modules/semantic-queries/wiring.d.ts +3 -0
- package/types/x-modules/semantic-queries/wiring.d.ts.map +1 -1
- package/types/x-modules/tagging/components/tagging.vue.d.ts +14 -12
- package/types/x-modules/tagging/components/tagging.vue.d.ts.map +1 -1
- package/types/x-modules/tagging/config.types.d.ts +3 -3
- package/types/x-modules/tagging/config.types.d.ts.map +1 -1
- package/types/x-modules/tagging/events.types.d.ts +2 -2
- package/types/x-modules/tagging/service/{pdp-add-to-cart.service.d.ts → external-tagging.service.d.ts} +31 -13
- package/types/x-modules/tagging/service/external-tagging.service.d.ts.map +1 -0
- package/types/x-modules/tagging/service/index.d.ts +1 -1
- package/types/x-modules/tagging/service/index.d.ts.map +1 -1
- package/types/x-modules/tagging/service/types.d.ts +13 -4
- package/types/x-modules/tagging/service/types.d.ts.map +1 -1
- package/types/x-modules/tagging/store/module.d.ts.map +1 -1
- package/types/x-modules/tagging/wiring.d.ts +54 -2
- package/types/x-modules/tagging/wiring.d.ts.map +1 -1
- package/types/x-modules/url/components/url-handler.vue.d.ts.map +1 -1
- package/types/x-modules/url/store/getters/url-params.getter.d.ts +2 -3
- package/types/x-modules/url/store/getters/url-params.getter.d.ts.map +1 -1
- package/types/x-modules/url/store/initial-state.d.ts.map +1 -1
- package/types/x-modules/url/store/module.d.ts.map +1 -1
- package/types/x-modules/url/store/types.d.ts +6 -0
- package/types/x-modules/url/store/types.d.ts.map +1 -1
- package/types/x-modules/url/wiring.d.ts +9 -0
- package/types/x-modules/url/wiring.d.ts.map +1 -1
- package/types/x-modules/x-modules.types.d.ts +2 -0
- package/types/x-modules/x-modules.types.d.ts.map +1 -1
- package/url/index.js +1 -1
- package/docs/API-reference/api/x-components.defaultpdpaddtocartservice.clickedresultstoragekey.md +0 -11
- package/docs/API-reference/api/x-components.defaultpdpaddtocartservice.clickedresultstoragettlms.md +0 -11
- package/docs/API-reference/api/x-components.defaultpdpaddtocartservice.instance.md +0 -13
- package/docs/API-reference/api/x-components.defaultpdpaddtocartservice.localstorageservice.md +0 -11
- package/docs/API-reference/api/x-components.defaultpdpaddtocartservice.md +0 -41
- package/docs/API-reference/api/x-components.defaultpdpaddtocartservice.result_clicked_id_key.md +0 -13
- package/docs/API-reference/api/x-components.defaultpdpaddtocartservice.sessionstorageservice.md +0 -11
- package/docs/API-reference/api/x-components.pdpaddtocartservice.md +0 -22
- package/docs/API-reference/api/x-components.taggingconfig.clickedresultstoragettlms.md +0 -13
- package/docs/API-reference/api/x-components.usestore.md +0 -19
- package/docs/assets/features/overview-my-history.svg +0 -279
- package/docs/assets/features/overview-product-results-card.svg +0 -128
- package/docs/assets/interface/build-search-ui.svg +0 -167
- package/docs/assets/interface/experience-search-intro.svg +0 -1
- package/docs/assets/interface/integration-guide.svg +0 -1
- package/docs/assets/interface/integration-video.png +0 -0
- package/docs/assets/interface/x-architecture.svg +0 -1
- package/docs/assets/interface/x-empathize.gif +0 -0
- package/docs/assets/interface/x-facets.gif +0 -0
- package/docs/assets/interface/x-facets.svg +0 -189
- package/docs/assets/interface/x-history-queries.gif +0 -0
- package/docs/assets/interface/x-id-results.gif +0 -0
- package/docs/assets/interface/x-next-queries.gif +0 -0
- package/docs/assets/interface/x-popular-searches.gif +0 -0
- package/docs/assets/interface/x-query-suggestions.gif +0 -0
- package/docs/assets/interface/x-recommendations.gif +0 -0
- package/docs/assets/interface/x-recommendations.svg +0 -472
- package/docs/assets/interface/x-related-tags.gif +0 -0
- package/docs/assets/interface/x-results-layout.svg +0 -259
- package/docs/assets/interface/x-search-box-elements.svg +0 -1
- package/docs/assets/interface/x-search-box.svg +0 -60
- package/docs/build-search-ui/README.md +0 -127
- package/docs/build-search-ui/sidebar.js +0 -7
- package/docs/build-search-ui/web-archetype-development-guide.md +0 -186
- package/docs/build-search-ui/web-archetype-integration-guide.md +0 -458
- package/docs/build-search-ui/web-how-to-use-x-components-guide.md +0 -200
- package/docs/build-search-ui/web-x-architecture.md +0 -83
- package/docs/build-search-ui/web-x-components-development-guide.md +0 -157
- package/docs/experience-search-and-discovery/README.md +0 -132
- package/docs/experience-search-and-discovery/empathize.md +0 -119
- package/docs/experience-search-and-discovery/facets-and-filters.md +0 -154
- package/docs/experience-search-and-discovery/history-queries.md +0 -70
- package/docs/experience-search-and-discovery/id-results.md +0 -49
- package/docs/experience-search-and-discovery/my-history.md +0 -60
- package/docs/experience-search-and-discovery/next-queries.md +0 -72
- package/docs/experience-search-and-discovery/popular-searches.md +0 -50
- package/docs/experience-search-and-discovery/product-results-ui.md +0 -82
- package/docs/experience-search-and-discovery/query-suggestions.md +0 -48
- package/docs/experience-search-and-discovery/recommendations.md +0 -134
- package/docs/experience-search-and-discovery/related-tags.md +0 -66
- package/docs/experience-search-and-discovery/search-box.md +0 -99
- package/docs/experience-search-and-discovery/serp-ui.md +0 -125
- package/docs/experience-search-and-discovery/sidebar.js +0 -17
- package/docs/experience-search-and-discovery/web-local-storage.md +0 -30
- package/docs/input-status-machine-state.png +0 -0
- package/js/composables/use-store.js +0 -15
- package/js/composables/use-store.js.map +0 -1
- package/js/utils/options-api.js +0 -4
- package/js/utils/options-api.js.map +0 -1
- package/js/x-modules/tagging/service/pdp-add-to-cart.service.js.map +0 -1
- package/types/utils/options-api.d.ts +0 -3
- package/types/utils/options-api.d.ts.map +0 -1
- package/types/x-modules/tagging/service/pdp-add-to-cart.service.d.ts.map +0 -1
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: How Interface X works
|
|
3
|
-
tags:
|
|
4
|
-
- x components
|
|
5
|
-
- interface x
|
|
6
|
-
- x architecture
|
|
7
|
-
- architecture
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-

|
|
11
|
-
|
|
12
|
-
<FootNote>
|
|
13
|
-
|
|
14
|
-
Data journey: The frontend components collect user interactions or events. The wiring orchestrates
|
|
15
|
-
the UI events by emitting actions for the client API through the adapter. The API returns the
|
|
16
|
-
required data, travelling to the Vuex store through actions that can modify the app data state in
|
|
17
|
-
the Vuex store with mutation objects. The UI components are bound to the data state, so that they
|
|
18
|
-
render the new state to the user.
|
|
19
|
-
|
|
20
|
-
</FootNote>
|
|
21
|
-
|
|
22
|
-
## Understand how the pieces work together
|
|
23
|
-
|
|
24
|
-
The Interface X architecture is designed into separate tiers and elements:
|
|
25
|
-
|
|
26
|
-
1. **Presentation tier**. Mainly represented by the UI **components**, responsible for determining
|
|
27
|
-
how to display the data. It not only presents data in an understandable manner to users, but
|
|
28
|
-
also monitors user interactions, emitting events to the Interface X application.
|
|
29
|
-
|
|
30
|
-
Components can be customised according to client requirements, even allowing custom CSS styles.
|
|
31
|
-
|
|
32
|
-
2. **Orchestration tier**. The x-factor in charge of orchestrating all the event wiring. When an
|
|
33
|
-
event is emitted, other components are listening to it to react. This behavioural connection
|
|
34
|
-
between components through events is the **wiring**. Then, the wiring decides what happens when
|
|
35
|
-
an event is emitted in the Presentation layer.
|
|
36
|
-
|
|
37
|
-
The wiring is customisable and flexible to meet client requirements. The behaviour can change
|
|
38
|
-
without modifying the entire application. The event-driven operators in charge of the wiring
|
|
39
|
-
routing logic enable different wiring configurations per event.
|
|
40
|
-
|
|
41
|
-
3. **Business logic tier**. The heart of the app in charge of keeping all the data processing,
|
|
42
|
-
where:
|
|
43
|
-
- UI events emit **actions** for the client API. These actions can modify the state of the
|
|
44
|
-
store.
|
|
45
|
-
- The **store** holds all the app data that should be presented to the user at any given time.
|
|
46
|
-
It acts as a single source of truth, providing great performance and reactivity.
|
|
47
|
-
|
|
48
|
-
The Interface X app needs an **adapter** to handle all client API communications. The API
|
|
49
|
-
adapter mainly translates the related app data and use models to the client API and vice versa,
|
|
50
|
-
solving any incompatibility issues. It is the entry point for all external data into the
|
|
51
|
-
application.
|
|
52
|
-
|
|
53
|
-
The API adapter can be customised and extended to meet the client requirements. It’s a plug-in
|
|
54
|
-
element that can be changed and adjusted to the specific client API, even when using other search
|
|
55
|
-
services not based on the Empathy search API.
|
|
56
|
-
|
|
57
|
-
::: note Architecture patterns
|
|
58
|
-
|
|
59
|
-
If you’re already experienced in the Vue universe, you’ll find the Interface X architecture
|
|
60
|
-
somewhat familiar. Although the [ViewModel layer](https://012.vuejs.org/guide/#Introduction) of the
|
|
61
|
-
**MVVM pattern** sprinkles traces all over the presentation tier, the Interface X architecture is
|
|
62
|
-
basically inspired by the
|
|
63
|
-
[**Flux pattern**](https://vuex.vuejs.org/#what-is-a-state-management-pattern) behind the state. As
|
|
64
|
-
the X Components emit events that dispatch actions in the business logic tier, these actions
|
|
65
|
-
can commit mutations to modify the state of the store. To sum up, the design of Interface X
|
|
66
|
-
takes advantage of the MVVM and Flux patterns to design, develop, and configure each tier separately
|
|
67
|
-
and independently.
|
|
68
|
-
|
|
69
|
-
:::
|
|
70
|
-
|
|
71
|
-
## Technical stack
|
|
72
|
-
|
|
73
|
-
- [Vue.js](https://vuejs.org/) framework
|
|
74
|
-
- JavaScript + [TypeScript](https://www.typescriptlang.org/) languages
|
|
75
|
-
- [RxJS](https://rxjs.dev/) for the wiring configuration logic
|
|
76
|
-
|
|
77
|
-
::: develop
|
|
78
|
-
|
|
79
|
-
Interface X can potentially be integrated in commerce shops built with React. In any case,
|
|
80
|
-
Interface X can be used in any webpage, as long as it is integrated as an isolated search
|
|
81
|
-
layer.
|
|
82
|
-
|
|
83
|
-
:::
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Develop using the Interface X Components library
|
|
3
|
-
meta_title: Develop a search UI with the Interface X Components library
|
|
4
|
-
tags:
|
|
5
|
-
- integration
|
|
6
|
-
- interface x components integration
|
|
7
|
-
- web integration
|
|
8
|
-
- x integration
|
|
9
|
-
- interface x
|
|
10
|
-
- x components library
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
In this tutorial, you’ll learn the basics to integrate the Interface X Components library
|
|
14
|
-
in your own project to craft enticing Vue search experiences for your commerce store in a matter of
|
|
15
|
-
minutes.
|
|
16
|
-
|
|
17
|
-
::: interact
|
|
18
|
-
|
|
19
|
-
If you are looking to use the ready-to-go project Interface X Archetype as your starting
|
|
20
|
-
point, see **[Develop using Interface X Archetype](web-archetype-development-guide.md)**.
|
|
21
|
-
|
|
22
|
-
:::
|
|
23
|
-
|
|
24
|
-
For this tutorial, the Empathy Search API is used, but you can use any search API. This step-by-step
|
|
25
|
-
guide requires a knowledge of **JavaScript** and **Vue.js**.
|
|
26
|
-
|
|
27
|
-
You can find the X Components library in the
|
|
28
|
-
[Interface X open source project in GitHub](https://github.com/empathyco/x).
|
|
29
|
-
|
|
30
|
-
::: note Before you begin
|
|
31
|
-
|
|
32
|
-
To integrate the X Components in a frontend UI, you need:
|
|
33
|
-
|
|
34
|
-
- **Empathy Search API** to retrieve search data (or any other search API)
|
|
35
|
-
- A **search adapter** to communicate with the search API.
|
|
36
|
-
- Your commerce store built on a **Vue** project, or on a **React** project using the
|
|
37
|
-
[React Wrapper](https://github.com/empathyco/x/tree/main/packages/react-wrapper).
|
|
38
|
-
|
|
39
|
-
:::
|
|
40
|
-
|
|
41
|
-
##### Steps to integrate the X Components in your project:
|
|
42
|
-
|
|
43
|
-
1. Install **project dependencies**.
|
|
44
|
-
2. Configure the **search adapter**.
|
|
45
|
-
3. Configure the **xPlugin**.
|
|
46
|
-
4. Install and **initialize the xPlugin**.
|
|
47
|
-
|
|
48
|
-
<VideoReference videoId="x-components-action" customDescription="Watch how to integrate the Interface X Components in a project from scratch."/>
|
|
49
|
-
|
|
50
|
-
## Installing the dependencies
|
|
51
|
-
|
|
52
|
-
To build your search and discovery UI, the following project dependencies are required:
|
|
53
|
-
|
|
54
|
-
- **x-components** library
|
|
55
|
-
([`@empathyco/x-components`](https://github.com/empathyco/x/tree/main/packages/x-components)):
|
|
56
|
-
Interface X Components Vue.js library to implement out-of-the-box search UI components
|
|
57
|
-
in a couple of minutes.
|
|
58
|
-
|
|
59
|
-
- **x-adapter-platform**
|
|
60
|
-
([`@empathyco/x-adapter-platform`](https://github.com/empathyco/x/tree/main/packages/x-adapter-platform)):
|
|
61
|
-
A search adapter connector that tells the app how to communicate with the Empathy Search API
|
|
62
|
-
you’re using, translating the response into understandable information for X Components. If
|
|
63
|
-
you are not using the Empathy Search API, you need to build your own search adapter. In order to
|
|
64
|
-
build your own search adapter, you can either extend the **x-adapter-platform** or create a new
|
|
65
|
-
one from scratch using the
|
|
66
|
-
[`@empathyco/x-adapter`](https://github.com/empathyco/x/tree/main/packages/x-adapter) package.
|
|
67
|
-
|
|
68
|
-
- **x-types** ([`@empathyco/x-types`](https://github.com/empathyco/x/tree/main/packages/x-types)):
|
|
69
|
-
The data model used in the X Components to define types.
|
|
70
|
-
|
|
71
|
-
Install the project dependencies via `npm` as follows:
|
|
72
|
-
|
|
73
|
-
```batch
|
|
74
|
-
//Install the dependencies via npm.
|
|
75
|
-
npm install --save @empathyco/x-components @empathyco/x-types @empathyco/x-adapter-platform
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Configuring the search adapter
|
|
79
|
-
|
|
80
|
-
You will need the search adapter in the [xPlugin configuration](#3-configure-the-plugin).
|
|
81
|
-
|
|
82
|
-
There are two libraries for making it easier to consume search APIs. The
|
|
83
|
-
[`@empathyco/x-adapter`](https://github.com/empathyco/x/tree/main/packages/x-adapter), which is the
|
|
84
|
-
interface you can use to build your own adapter for other APIs, and the
|
|
85
|
-
[`@empathyco/x-adapter-platform`](https://github.com/empathyco/x/tree/main/packages/x-adapter-platform),
|
|
86
|
-
which is the implementation to consume the Empathy Search Platform API, and it can be extended in
|
|
87
|
-
case your search API is similar to it.
|
|
88
|
-
|
|
89
|
-
::: warning
|
|
90
|
-
|
|
91
|
-
If you do not use the Empathy Search API, you need to build your own adapter.
|
|
92
|
-
|
|
93
|
-
:::
|
|
94
|
-
|
|
95
|
-
For more information, see the
|
|
96
|
-
[Empathy Search Adapter](https://github.com/empathyco/x/tree/main/packages/x-adapter) and
|
|
97
|
-
[Empathy Platform Search Adapter](https://github.com/empathyco/x/tree/main/packages/x-adapter-platform)
|
|
98
|
-
libraries.
|
|
99
|
-
|
|
100
|
-
## Configuring the plugin
|
|
101
|
-
|
|
102
|
-
Plugins are self-contained code that usually add global-level functionality to Vue projects. They’re
|
|
103
|
-
specifically objects that expose an `install` method, allowing you to keep your components clear and
|
|
104
|
-
small.
|
|
105
|
-
|
|
106
|
-
The xPlugin is designed to connect the X Components to the Vue components in your project.
|
|
107
|
-
|
|
108
|
-
**Import** the xPlugin in your Vue instance.
|
|
109
|
-
|
|
110
|
-
```typescript
|
|
111
|
-
import Vue from 'vue';
|
|
112
|
-
import { xPlugin } from '@empathyco/x-components';
|
|
113
|
-
import { adapter } from './my-adapter';
|
|
114
|
-
import { store } from './my-store';
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Then, **configure** the xPlugin. It has two key options you need to configure:
|
|
118
|
-
|
|
119
|
-
1. **Adapter**: A search adapter is required to connect and communicate with the search API. Here
|
|
120
|
-
you’re using the `XAdapterPlatform` to communicate specifically with the Empathy Search Platform
|
|
121
|
-
API. If you are not using the Empathy Search Platform API, you need to build your own adapter.
|
|
122
|
-
See [Configure the search adapter](#2-configure-the-search-adapter).
|
|
123
|
-
|
|
124
|
-
2. **Store**: The Vuex store. If you use a store for Vuex, you need to provide the store you’re
|
|
125
|
-
currently using for your project to the Vue instance.
|
|
126
|
-
|
|
127
|
-
::: warning
|
|
128
|
-
|
|
129
|
-
If you don’t provide any parameters for the `store`, a default store is created automatically.
|
|
130
|
-
Leave the `store` blank **only if you’re not using any store** for Vuex.
|
|
131
|
-
|
|
132
|
-
:::
|
|
133
|
-
|
|
134
|
-
## Installing and initializing the plugin
|
|
135
|
-
|
|
136
|
-
Finally, the last step is to install and initialize the xPlugin. You need to do this in the
|
|
137
|
-
`main.ts` or `main.js file` of the project.
|
|
138
|
-
|
|
139
|
-
```typescript
|
|
140
|
-
//Initialize the plugin. Pass the search adapter and the store you use as parameters.
|
|
141
|
-
Vue.use(xPlugin, { adapter, store });
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
::: develop Next steps
|
|
145
|
-
|
|
146
|
-
Once you have integrated the Interface X Components in your project, you're ready to start
|
|
147
|
-
building your search and discovery UI:
|
|
148
|
-
|
|
149
|
-
- Change the **configuration of the [X Components](web-how-to-use-x-components-guide.md)** or create
|
|
150
|
-
new ones.
|
|
151
|
-
- Adapt the
|
|
152
|
-
**[design system](https://github.com/empathyco/x/blob/main/packages/x-components/contributing/design-system.md)**
|
|
153
|
-
to your branding.
|
|
154
|
-
|
|
155
|
-
:::
|
|
156
|
-
|
|
157
|
-
<!-- Manage [internationalization options](https://github.com/empathyco/x/tree/main/packages/x-translations) to support different languages.-->
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Design your search and discovery UI
|
|
3
|
-
meta_title: Search & discovery UI functional documentation
|
|
4
|
-
sidebar_title: Design search & discovery UI
|
|
5
|
-
redirect_from:
|
|
6
|
-
- /explore-empathy-platform/experience-search-and-discovery/
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
Search inevitably is key when people look for specific products in an online store. It's the door to
|
|
10
|
-
the entire product catalogue, so having an outstanding, well-structured, and optimized search UI is
|
|
11
|
-
a must.
|
|
12
|
-
|
|
13
|
-
However, it’s not enough. With the advanced features provided by some well-known search engines,
|
|
14
|
-
shoppers need a new dimension to **connect effortlessly** to the most relevant products, enjoy a
|
|
15
|
-
**smooth user experience**, and take advantage of **outstanding search and discovery capabilities**.
|
|
16
|
-
|
|
17
|
-

|
|
18
|
-
|
|
19
|
-
## Interface X and Interface X for Apps, the solution
|
|
20
|
-
|
|
21
|
-
Interface X and Interface X for Apps are a collection of libraries that lets you create a
|
|
22
|
-
smooth, personalized search and discovery experience, while significantly minimizing development
|
|
23
|
-
time. Interface X, and its version for native apps, will renew your search experience interface
|
|
24
|
-
layer, rendering the magic of search and delighting your shoppers with all experiences in one:
|
|
25
|
-
**user**, **search**, **navigation**, and **product discovery**.
|
|
26
|
-
|
|
27
|
-
There are many things to think about when designing a UI for search and discovery to provide a
|
|
28
|
-
consistent user experience and look-and-feel: every little design element, the layout structure,
|
|
29
|
-
animation, component, configuration, and behavior count. Interface X and Interface X for
|
|
30
|
-
Apps cover everything and even go beyond, thanks to their standalone, configurable building blocks
|
|
31
|
-
that allow you to quickly construct the search UI for your store:
|
|
32
|
-
**Interface X Components** and **Interface X Components for Apps**.
|
|
33
|
-
|
|
34
|
-
### Mix and match your experience
|
|
35
|
-
|
|
36
|
-
Each Interface X Component represents a graphical part of the UI, with its own unique view
|
|
37
|
-
and behavior. They’ve been smartly designed to **work together yet independently**, so a single
|
|
38
|
-
component adds real value to your UI by itself. The more components you add and combine, the more
|
|
39
|
-
functionality you get.
|
|
40
|
-
|
|
41
|
-
You can craft your own **UI bundle with the right components for your store**. There are numerous
|
|
42
|
-
X Components to choose from, and the catalogue evolves quickly with new experiences.
|
|
43
|
-
|
|
44
|
-
To help you discover the components and leverage the UI design process, most of the
|
|
45
|
-
X Components are distributed into **modules** which are intended for different purposes:
|
|
46
|
-
functional experience, interface design and behavior, web and design standardization… Just pick and
|
|
47
|
-
choose the modules and components that best suit your needs.
|
|
48
|
-
|
|
49
|
-
::: details What does X mean?
|
|
50
|
-
|
|
51
|
-
- Lightweight libraries
|
|
52
|
-
- Developer friendly. Quick & easy to install and configure
|
|
53
|
-
- Standalone. Work individually or together
|
|
54
|
-
- Out-of-the-box. Ready to go!
|
|
55
|
-
- In your pocket. Multiple components at your disposal
|
|
56
|
-
- Mix & match. Customize to satisfy any design or behavior requirement
|
|
57
|
-
- Mobile-ready. Designed both for web and native apps
|
|
58
|
-
- Adapt to different search services
|
|
59
|
-
- Easy-to-use. Intuitive search and discovery
|
|
60
|
-
|
|
61
|
-
:::
|
|
62
|
-
|
|
63
|
-
#### Discover Interface X Components for web
|
|
64
|
-
|
|
65
|
-
Check out these X Components for Vue.js applications. They’ll certainly come in handy if you
|
|
66
|
-
want to make the difference!
|
|
67
|
-
|
|
68
|
-
<CardCarousel :cards="[
|
|
69
|
-
'x_popular_searches',
|
|
70
|
-
'x_history_queries',
|
|
71
|
-
'x_my_history',
|
|
72
|
-
'x_id_results',
|
|
73
|
-
'x_search_box',
|
|
74
|
-
'x_query_suggestions',
|
|
75
|
-
'x_related_tags',
|
|
76
|
-
'x_next_queries',
|
|
77
|
-
'x_recommendations',
|
|
78
|
-
'x_empathize',
|
|
79
|
-
'x_results',
|
|
80
|
-
'x_facets']"
|
|
81
|
-
/>
|
|
82
|
-
|
|
83
|
-
::: interact
|
|
84
|
-
|
|
85
|
-
Check out the **Interface X for web [open-source project](https://github.com/empathyco/x)** on
|
|
86
|
-
GitHub!
|
|
87
|
-
|
|
88
|
-
:::
|
|
89
|
-
|
|
90
|
-
#### Discover Interface X Components for Apps
|
|
91
|
-
|
|
92
|
-
Check out the X Components available for Interface X for Apps, that can help you create
|
|
93
|
-
your native app search solution.
|
|
94
|
-
|
|
95
|
-
<CardCarousel :cards="[
|
|
96
|
-
'x_popular_searches',
|
|
97
|
-
'x_history_queries',
|
|
98
|
-
'x_my_history',
|
|
99
|
-
'x_id_results',
|
|
100
|
-
'x_search_box',
|
|
101
|
-
'x_query_suggestions',
|
|
102
|
-
'x_related_tags',
|
|
103
|
-
'x_next_queries',
|
|
104
|
-
'x_empathize',
|
|
105
|
-
'x_results',]"
|
|
106
|
-
/>
|
|
107
|
-
|
|
108
|
-
::: warning
|
|
109
|
-
|
|
110
|
-
Some X Components are supported by Empathy Platform search and discovery features. If you’re
|
|
111
|
-
using a different search engine, make sure it supports all the functionalities you need.
|
|
112
|
-
|
|
113
|
-
:::
|
|
114
|
-
|
|
115
|
-
## Try X Components to…
|
|
116
|
-
|
|
117
|
-
- Surprise your shoppers by **rendering shopping-aimed search and discovery features** that
|
|
118
|
-
intuitively guide and inspire them with trends, suggestions, and recommendations, based on your
|
|
119
|
-
shoppers’ behavior.
|
|
120
|
-
- Add a **predictive layer** to your search UI that gathers all search functionalities in one, from
|
|
121
|
-
autocomplete and autosuggest to ideas of what to look for next.
|
|
122
|
-
- Delight your shoppers with an **elegant and multi-configurable SERP** to help them discover what
|
|
123
|
-
they’re exactly looking for.
|
|
124
|
-
- Enhance the shopping experience by adding **additional features to the SERP**, such as add-to-cart
|
|
125
|
-
buttons or product rating information.
|
|
126
|
-
|
|
127
|
-
::: interact
|
|
128
|
-
|
|
129
|
-
Explore the Empathy Platform [interactive map](/explore-empathy-platform/diagram/interface/) for a
|
|
130
|
-
sneak peak of the X Components available!
|
|
131
|
-
|
|
132
|
-
:::
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Design the Empathize UI experience
|
|
3
|
-
sidebar_title: Empathize UI
|
|
4
|
-
tags:
|
|
5
|
-
- predictive layer
|
|
6
|
-
- search box
|
|
7
|
-
redirect_from:
|
|
8
|
-
- /explore-empathy-platform/experience-search-and-discovery/empathize.html
|
|
9
|
-
- /explore-empathy-platform/experience-search-and-discovery/empathize
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
Empathize is a UI container, but not just any container. It’s the
|
|
13
|
-
**[predictive layer](/understand-empathy-platform/search-basics/predictive-layer.md)** for your
|
|
14
|
-
search experience that is usually displayed below the search box. Consider it the natural companion
|
|
15
|
-
of the **[search box](/onboard-empathy-platform/experience-search-and-discovery/search-box.md)**,
|
|
16
|
-
featuring search suggestions and recommendations.
|
|
17
|
-
|
|
18
|
-

|
|
19
|
-
|
|
20
|
-
One of the characteristics of Interface X Components is that you can place them wherever
|
|
21
|
-
you want. However, you know that the placement of the search box in your shop matters. So, why have
|
|
22
|
-
search suggestions and recommendations spread all over the page, far away from the search box? The
|
|
23
|
-
Empathize container brings everything together so that your shoppers perceive a smooth, effortless
|
|
24
|
-
search experience.
|
|
25
|
-
|
|
26
|
-
## Use Empathize with...
|
|
27
|
-
|
|
28
|
-
Being the face of your predictive layer, Empathize comes into play before the search process starts
|
|
29
|
-
and only makes sense when used with other components.
|
|
30
|
-
|
|
31
|
-
Thanks to the nature of Interface X Components, you can
|
|
32
|
-
[mix and match the components](/onboard-empathy-platform/experience-search-and-discovery/readme.md#mix-and-match-your-experience)
|
|
33
|
-
you use within Empathize. For example, provide shoppers with search ideas and use Empathize to
|
|
34
|
-
display popular search terms and trending products. Anticipate your shoppers’ intent with recent
|
|
35
|
-
searches and query suggestions. Or give shoppers access to their
|
|
36
|
-
[complete search history](/onboard-empathy-platform/experience-search-and-discovery/my-history.md)
|
|
37
|
-
and let them control tracking search data. There are lots of handy possibilities that you might want
|
|
38
|
-
to place close to the search box.
|
|
39
|
-
|
|
40
|
-
**Combine Empathize with:**
|
|
41
|
-
|
|
42
|
-
- [Popular Searches](popular-searches.md)
|
|
43
|
-
- [Recommendations](recommendations.md)
|
|
44
|
-
- [History Queries](history-queries.md)
|
|
45
|
-
- [Query Suggestions](query-suggestions.md)
|
|
46
|
-
- [Next Queries](next-queries.md)
|
|
47
|
-
- [ID Results](id-results.md)
|
|
48
|
-
|
|
49
|
-
## How it works...
|
|
50
|
-
|
|
51
|
-
Empathize is an event-driven component. It's determined by events that make it react to shoppers'
|
|
52
|
-
actions, such as clicks or keystrokes. That is the Empathize magic; the component listens by default
|
|
53
|
-
to some events to expand the container and others to collapse it. However, this behavior is
|
|
54
|
-
configurable.
|
|
55
|
-
|
|
56
|
-
The Empathize container expands when:
|
|
57
|
-
|
|
58
|
-
- The search box is focused.
|
|
59
|
-
- The shopper clicks on the input field.
|
|
60
|
-
- A query is being typed.
|
|
61
|
-
|
|
62
|
-
Likewise, the Empathize closes when:
|
|
63
|
-
|
|
64
|
-
- The shopper closes the Empathize layer.
|
|
65
|
-
- A query suggestion is selected.
|
|
66
|
-
- The shopper presses Enter.
|
|
67
|
-
- The search box loses focus.
|
|
68
|
-
|
|
69
|
-
Also, it can listen to scroll events to expand and collapse the layer when shoppers scroll up or
|
|
70
|
-
down.
|
|
71
|
-
|
|
72
|
-
### Extend the performance
|
|
73
|
-
|
|
74
|
-
The Empathize container is collapsible so that it expands and collapses on shopper interaction. By
|
|
75
|
-
default, this behaviour matches the search input focus: clicking the search input expands the
|
|
76
|
-
Empathize container. Likewise, if the search input loses focus, e.g. the shopper clicks on a
|
|
77
|
-
suggestion and launches the search, the Empathize container disappears.
|
|
78
|
-
|
|
79
|
-
Alternatively, combine Empathize with one of the scroll components to make it react to scroll in
|
|
80
|
-
addition to or replacing the search box focus. You may prefer to make it more accessible with the
|
|
81
|
-
Keyboard Navigation component. Your shoppers can navigate the components in Empathize with the
|
|
82
|
-
keyboard arrow keys.
|
|
83
|
-
|
|
84
|
-
**Enhance Empathize usability with...**
|
|
85
|
-
|
|
86
|
-
- Keyboard scroll
|
|
87
|
-
- Keyboard navigation
|
|
88
|
-
|
|
89
|
-
::: interact
|
|
90
|
-
|
|
91
|
-
Learn more on how to improve the usability of the Empathize UI component using the
|
|
92
|
-
[Base Scroll](/develop-empathy-platform/ui-reference/components/base-components/scroll/x-components.base-scroll.md)
|
|
93
|
-
and
|
|
94
|
-
[Base Keyboard Navigation](/develop-empathy-platform/ui-reference/components/base-components/x-components.base-keyboard-navigation.md)
|
|
95
|
-
components in the X Components UI Reference.
|
|
96
|
-
|
|
97
|
-
:::
|
|
98
|
-
|
|
99
|
-
## Spot the difference
|
|
100
|
-
|
|
101
|
-
Here, Empathize is the **predictive layer** holding the advanced search capabilities built in the
|
|
102
|
-
back. However, in backend terms, Empathize is an Empathy Platform service, fed by a **batch
|
|
103
|
-
application**, that uses the interaction data collected by the
|
|
104
|
-
[Tagging microservices](/explore-empathy-platform/capture-shopper-interaction/) to build advanced
|
|
105
|
-
search capabilities, such as Query Suggestions and Popular Searches. Don’t get confused!
|
|
106
|
-
|
|
107
|
-
## Tailor the web experience
|
|
108
|
-
|
|
109
|
-
- Customize content. Display whatever search-related suggestion components you need.
|
|
110
|
-
- Determine when Empathize appears and disappears.
|
|
111
|
-
- Animate how the component opens and closes.
|
|
112
|
-
|
|
113
|
-
::: interact
|
|
114
|
-
|
|
115
|
-
Want to know more? Learn how to
|
|
116
|
-
[configure](/develop-empathy-platform/ui-reference/components/empathize/x-components.empathize.md)
|
|
117
|
-
your web experience.
|
|
118
|
-
|
|
119
|
-
:::
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Design the Facets and Filters UI experience
|
|
3
|
-
sidebar_title: Facets & Filters UI
|
|
4
|
-
tag:
|
|
5
|
-
- faceted
|
|
6
|
-
redirect_from:
|
|
7
|
-
- /explore-empathy-platform/experience-search-and-discovery/facets-and-filters.html
|
|
8
|
-
- /explore-empathy-platform/experience-search-and-discovery/facets-and-filters
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
Facets and Filters allow your shoppers to organize your product catalogue in different categories
|
|
12
|
-
and narrow the search results to better find what they are looking for. Shoppers can set filters
|
|
13
|
-
according to the categories or facets defined in the faceted menu, which is usually located on the
|
|
14
|
-
left or upper side of the search engine results page or product listing page.
|
|
15
|
-
|
|
16
|
-

|
|
17
|
-
|
|
18
|
-
X Components for facets present how you have categorized your products, displaying the
|
|
19
|
-
different aspects available (brand, price, color…), while the filter-related components render the
|
|
20
|
-
values for those aspects that shoppers can use to filter by ("Nestlé", "Kellogg’s" for _brand_;
|
|
21
|
-
“€0 - €10”, “€10 - €50” for _price_; “blue”, “black”, “white” for _color_), allowing you to
|
|
22
|
-
determine how to display them.
|
|
23
|
-
|
|
24
|
-
<!--Originally, the X Components for facets and filters were designed for **search**. However,
|
|
25
|
-
since they can precisely organize and filter your product catalogue to bring out the products that
|
|
26
|
-
best fit your shoppers’ needs, you can also use them for **catalogue navigation** and **product
|
|
27
|
-
discovery**. You can guide shoppers through your product catalogue faster, allowing them to navigate
|
|
28
|
-
and browse different product classifications directly from the faceted menu in your shop, without
|
|
29
|
-
having to search.-->
|
|
30
|
-
|
|
31
|
-
::: interact
|
|
32
|
-
|
|
33
|
-
Can't quite capture the concept? Learn more about
|
|
34
|
-
[Facets and Filters](/understand-empathy-platform/search-basics/facets-and-filters-overview.md).
|
|
35
|
-
|
|
36
|
-
:::
|
|
37
|
-
|
|
38
|
-
## Build a faceted experience with X Components
|
|
39
|
-
|
|
40
|
-
There is no need to reinvent the wheel to design a good faceting experience, but rather it’s better
|
|
41
|
-
to understand the shopper’s journey and the frontend options available.
|
|
42
|
-
|
|
43
|
-
Facets and filters can display as different UI element types (select list, search, range…) using the
|
|
44
|
-
numerous X Components available. Flexibly combine X Components to build the connection
|
|
45
|
-
with the product attributes in your catalogue. **Guide** shoppers towards relevant results in record
|
|
46
|
-
time, giving them the opportunity to establish a **dialogue** with your product catalogue and easily
|
|
47
|
-
decide what results to display by adding and clearing filters, or make information on product
|
|
48
|
-
results **clearer and more accessible**, meeting different types of faceting layouts.
|
|
49
|
-
|
|
50
|
-

|
|
51
|
-
|
|
52
|
-
::: details Rendering facets and filters
|
|
53
|
-
|
|
54
|
-
X Components for facets and filters not only enhances your shoppers’ experience by supporting
|
|
55
|
-
and rendering faceted search and navigation, but also provides different ways to display a faceted
|
|
56
|
-
experience:
|
|
57
|
-
|
|
58
|
-
</br>
|
|
59
|
-
|
|
60
|
-
- **Standard facets**: a single-select list that offers a way to describe a product attribute,
|
|
61
|
-
together with the values available to filter by. For example, a _Color_ facet can include values
|
|
62
|
-
such as “red”, “blue”, “white”, “black”, or “green”.
|
|
63
|
-
- **Hierarchical facets**: present filter values organized hierarchically, providing a parent-child
|
|
64
|
-
filtering relationship. Shoppers can filter using the parent subfacet or choose the child subfacet
|
|
65
|
-
as a more precise filter. For example, the _Category_ facet in a jewellery store can display
|
|
66
|
-
“Button”, “Short”, and “Long” as child filters for the “Earrings” parent filter.
|
|
67
|
-
- **Number range facets**: allow shoppers to select a range of numerical values and narrow the
|
|
68
|
-
results within those ranges. Intended for price or size facets that have numeric value type
|
|
69
|
-
attributes. For example, the _Price_ facet in a grocery store can display “< €0.99”, “€1 – €4.99”,
|
|
70
|
-
“€5 – €9.99”, or “€10 – €19.99”. Implement **editable number range facets** and let your shoppers
|
|
71
|
-
define the numerical ranges they want to filter by. Shoppers can type the desired price range to
|
|
72
|
-
filter by in the _From_ - _To_ or _Min_ - _Max_ input fields available.
|
|
73
|
-
|
|
74
|
-
:::
|
|
75
|
-
|
|
76
|
-
::: details Extending facets and filters UI
|
|
77
|
-
|
|
78
|
-
Apart from the main X Components for facets and filters that render product categories and
|
|
79
|
-
their corresponding attributes in different ways, there are components available offering advanced
|
|
80
|
-
options to enhance the faceted experience.
|
|
81
|
-
|
|
82
|
-
</br>
|
|
83
|
-
|
|
84
|
-
- **Collapse & expand** to initially display facets collapsed on page load with a predetermined
|
|
85
|
-
number of filter values. Use a Show more button to expand the full list.
|
|
86
|
-
- **Search box** to perform a text-based search on the filter values so that shoppers quickly find
|
|
87
|
-
the filters to apply to the results set.
|
|
88
|
-
- **Selected filters list** to keep track of the shopper’s selection and understand the results
|
|
89
|
-
displayed. Selected filters can be displayed together under the same list or be organized by
|
|
90
|
-
facets. Shoppers can deselect any of the previously applied filters or clear all at once to try
|
|
91
|
-
different filtering values.
|
|
92
|
-
- **Selected filters first** to change the order in which filters are initially displayed within a
|
|
93
|
-
facet so that the selected filters come first in the list. Note that the order of facets and
|
|
94
|
-
filters is determined by your Search microservice, usually showing the filters with the highest
|
|
95
|
-
number of products.
|
|
96
|
-
- **Product count** to display the number of matches or occurrences next to the facet filter.
|
|
97
|
-
Shoppers can instantly see how many products each filter contains, offering a valuable insight on
|
|
98
|
-
your product catalog.
|
|
99
|
-
- **Zero count** to only display filter values for those filters that **match a product result**,
|
|
100
|
-
omitting all those filters that have zero occurrences. For example, the query “skirts” in a retail
|
|
101
|
-
shop returns a large number of results for women and kids, but none for men. In this case, the
|
|
102
|
-
_Category_ facet only displays the filters “Woman”, “Girl”, and “Baby”.
|
|
103
|
-
|
|
104
|
-
</br>
|
|
105
|
-
|
|
106
|
-
Besides, you can use X Components to customize other attributes and behaviors. Transform a
|
|
107
|
-
value returned from the Search microservice of “20 - 50” into “€20 - €50” or turn a numerical value
|
|
108
|
-
into icons or images such as stars for average rating-based filtering, for example.
|
|
109
|
-
|
|
110
|
-
</br>
|
|
111
|
-
|
|
112
|
-
You can also change the default single-select behavior and activate **multi-select** controls so
|
|
113
|
-
that shoppers can select more than one filter value at a time from the same facet to expand results.
|
|
114
|
-
|
|
115
|
-
:::
|
|
116
|
-
|
|
117
|
-
## Tailor the web experience
|
|
118
|
-
|
|
119
|
-
**Layout, location, and display**:
|
|
120
|
-
|
|
121
|
-
- Place the facets menu wherever you prefer. However, facets are commonly positioned in the left
|
|
122
|
-
sidebar or as top horizontal facets.
|
|
123
|
-
- Hide or show the facets & filter menu when search results are displayed. Display facets and
|
|
124
|
-
filters as collapsed lists at first.
|
|
125
|
-
- Animate the display of different elements: facets, filters, and related lists (e.g. selected
|
|
126
|
-
filters list).
|
|
127
|
-
- Build the layout of facets and filters at your ease: from dropdowns and checkboxes to switches,
|
|
128
|
-
tags, and sliders.
|
|
129
|
-
|
|
130
|
-
**Data and content**:
|
|
131
|
-
|
|
132
|
-
- Select which facets defined in your product catalogue you want to display according to your
|
|
133
|
-
business strategy or your shoppers’ needs.
|
|
134
|
-
- Configure the content of filters. Allow shoppers to filter results using text, icons, or
|
|
135
|
-
checkboxes.
|
|
136
|
-
- Configure the content of related buttons (e.g. Show more button). Show whatever you need: text or
|
|
137
|
-
icons.
|
|
138
|
-
- Customize labels in the facets and filters list. Add a custom title for facets, filters, and
|
|
139
|
-
related lists (e.g. selected filters list).
|
|
140
|
-
- Customize facet data at your ease. You can opt to render facets defined in your product catalogue
|
|
141
|
-
automatically, display custom facets, or even render a mix of them.
|
|
142
|
-
|
|
143
|
-
::: warning
|
|
144
|
-
|
|
145
|
-
Make sure your current Search microservice is compatible with this kind of configuration.
|
|
146
|
-
|
|
147
|
-
:::
|
|
148
|
-
|
|
149
|
-
::: interact
|
|
150
|
-
|
|
151
|
-
Want to know more? Learn how to
|
|
152
|
-
[configure](/develop-empathy-platform/ui-reference/components/facets/) your web experience.
|
|
153
|
-
|
|
154
|
-
:::
|