@empathyco/x-components 7.4.0 → 7.5.0
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 +15 -0
- package/browse/index.d.ts +1 -0
- package/browse/index.js +15 -0
- package/core/index.js.map +1 -1
- package/docs/API-reference/api/x-components.baseaddtocart.md +1 -1
- package/docs/API-reference/api/x-components.browseactioncontext.md +15 -0
- package/docs/API-reference/api/x-components.browseactions.cancelfetchandsavebrowseresponse.md +13 -0
- package/docs/API-reference/api/x-components.browseactions.fetchandsavebrowseresponse.md +13 -0
- package/docs/API-reference/api/x-components.browseactions.fetchandsaveresultsenrichment.md +13 -0
- package/docs/API-reference/api/x-components.browseactions.fetchbrowseresponse.md +13 -0
- package/docs/API-reference/api/x-components.browseactions.increasepageappendingresults.md +18 -0
- package/docs/API-reference/api/x-components.browseactions.md +210 -0
- package/docs/API-reference/api/x-components.browseactions.resetrequestonrefinement.md +13 -0
- package/docs/API-reference/api/x-components.browseactions.savebrowseresponse.md +13 -0
- package/docs/API-reference/api/x-components.browseactions.saveorigin.md +13 -0
- package/docs/API-reference/api/x-components.browseactions.seturlparams.md +13 -0
- package/docs/API-reference/api/x-components.browseconfig.md +75 -0
- package/docs/API-reference/api/x-components.browseconfig.pagemode.md +11 -0
- package/docs/API-reference/api/x-components.browseconfig.pagesize.md +13 -0
- package/docs/API-reference/api/x-components.browsegetters.md +58 -0
- package/docs/API-reference/api/x-components.browsegetters.request.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.appendresults.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.md +458 -0
- package/docs/API-reference/api/x-components.browsemutations.resetstate.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.resetstateforreload.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setbanners.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setbrowsetagging.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setdisplaybrowsetagging.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setfacets.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setfromnoresultswithfilters.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setisappendresults.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setisnoresults.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setorigin.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setpage.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setparams.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setpromoteds.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setresults.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setselectedcategory.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setselectedfilters.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setsort.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.setstats.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.settotalresults.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.updateresult.md +13 -0
- package/docs/API-reference/api/x-components.browsemutations.updateresultsfromenrichment.md +13 -0
- package/docs/API-reference/api/x-components.browserequest.md +13 -0
- package/docs/API-reference/api/x-components.browseresultslist.md +31 -0
- package/docs/API-reference/api/x-components.browsesortpickerlist.md +45 -0
- package/docs/API-reference/api/x-components.browsestate.banners.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.browsetagging.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.config.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.displaybrowsetagging.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.facets.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.fromnoresultswithfilters.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.isappendresults.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.isnoresults.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.md +382 -0
- package/docs/API-reference/api/x-components.browsestate.origin.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.page.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.params.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.promoteds.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.results.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.selectedcategory.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.selectedfilters.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.sort.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.stats.md +13 -0
- package/docs/API-reference/api/x-components.browsestate.totalresults.md +13 -0
- package/docs/API-reference/api/x-components.browsexevents.browserequestchanged.md +13 -0
- package/docs/API-reference/api/x-components.browsexevents.browserequestupdated.md +18 -0
- package/docs/API-reference/api/x-components.browsexevents.browseresponsechanged.md +13 -0
- package/docs/API-reference/api/x-components.browsexevents.browsetaggingchanged.md +13 -0
- package/docs/API-reference/api/x-components.browsexevents.md +172 -0
- package/docs/API-reference/api/x-components.browsexevents.selectedbrowsesortprovided.md +18 -0
- package/docs/API-reference/api/x-components.browsexevents.userbrowsedtocategory.md +13 -0
- package/docs/API-reference/api/x-components.browsexevents.userclickedabrowsesort.md +13 -0
- package/docs/API-reference/api/x-components.browsexmodule.md +13 -0
- package/docs/API-reference/api/x-components.browsexstoremodule.md +15 -0
- package/docs/API-reference/api/x-components.cancelfetchandsavebrowseresponse.md +17 -0
- package/docs/API-reference/api/x-components.cancelfetchandsavebrowseresponsewire.md +13 -0
- package/docs/API-reference/api/x-components.clearbrowsequery.md +13 -0
- package/docs/API-reference/api/x-components.fetchandsavebrowseresponse.md +66 -0
- package/docs/API-reference/api/x-components.fetchandsavebrowseresponsewire.md +13 -0
- package/docs/API-reference/api/x-components.fetchandsavebrowseresultsenrichment.md +66 -0
- package/docs/API-reference/api/x-components.fetchandsavebrowseresultsenrichmentwire.md +13 -0
- package/docs/API-reference/api/x-components.fetchbrowseresponse.md +13 -0
- package/docs/API-reference/api/x-components.hierarchicalfilter.md +1 -0
- package/docs/API-reference/api/x-components.increasebrowsepageappendingresults.md +13 -0
- package/docs/API-reference/api/x-components.increasebrowsepageappendingresultswire.md +13 -0
- package/docs/API-reference/api/x-components.internalbrowserequest.md +59 -0
- package/docs/API-reference/api/x-components.internalbrowserequest.page.md +13 -0
- package/docs/API-reference/api/x-components.internalbrowseresponse.md +78 -0
- package/docs/API-reference/api/x-components.internalbrowseresponse.request.md +13 -0
- package/docs/API-reference/api/x-components.internalbrowseresponse.status.md +13 -0
- package/docs/API-reference/api/x-components.md +601 -0
- package/docs/API-reference/api/x-components.resetbrowseappending.md +13 -0
- package/docs/API-reference/api/x-components.resetbrowserequestonrefinement.md +13 -0
- package/docs/API-reference/api/x-components.resetbrowserequestonrefinementwire.md +13 -0
- package/docs/API-reference/api/x-components.resetbrowsestateforreloadwire.md +13 -0
- package/docs/API-reference/api/x-components.resetbrowsestateifnorequestwire.md +13 -0
- package/docs/API-reference/api/x-components.resetfromnobrowseresultswithfilters.md +13 -0
- package/docs/API-reference/api/x-components.resetisnobrowseresults.md +13 -0
- package/docs/API-reference/api/x-components.savebrowseorigin.md +13 -0
- package/docs/API-reference/api/x-components.savebrowseoriginwire.md +13 -0
- package/docs/API-reference/api/x-components.savebrowseresponse.md +13 -0
- package/docs/API-reference/api/x-components.setbrowsecategory.md +13 -0
- package/docs/API-reference/api/x-components.setbrowseextraparams.md +13 -0
- package/docs/API-reference/api/x-components.setbrowsepage.md +13 -0
- package/docs/API-reference/api/x-components.setbrowseselectedfilters.md +13 -0
- package/docs/API-reference/api/x-components.setbrowsesort.md +13 -0
- package/docs/API-reference/api/x-components.setbrowseurlparams.md +13 -0
- package/docs/API-reference/api/x-components.setbrowseurlparamswire.md +13 -0
- package/docs/API-reference/api/x-components.setresults.md +13 -0
- package/docs/API-reference/api/x-components.simplefilter.md +1 -0
- package/docs/API-reference/api/x-components.snippetcallbacks.md +4 -3
- package/docs/API-reference/api/x-components.usealiasapi.browsetotalresults.md +1 -1
- package/docs/API-reference/api/x-components.usealiasapi.md +1 -1
- package/docs/API-reference/api/x-components.vendoractions.md +11 -0
- package/docs/API-reference/api/x-components.vendorgetters.md +11 -0
- package/docs/API-reference/api/x-components.vendormutations.md +54 -0
- package/docs/API-reference/api/x-components.vendormutations.setresults.md +11 -0
- package/docs/API-reference/api/x-components.vendorresult.md +57 -0
- package/docs/API-reference/api/x-components.vendorresult.position.md +11 -0
- package/docs/API-reference/api/x-components.vendorresultslist.md +31 -0
- package/docs/API-reference/api/x-components.vendorstate.md +54 -0
- package/docs/API-reference/api/x-components.vendorstate.results.md +11 -0
- package/docs/API-reference/api/x-components.vendorxevents.md +58 -0
- package/docs/API-reference/api/x-components.vendorxevents.vendorresultschanged.md +13 -0
- package/docs/API-reference/api/x-components.vendorxmodule.md +13 -0
- package/docs/API-reference/api/x-components.vendorxstoremodule.md +11 -0
- package/docs/API-reference/api/x-components.watchedinternalbrowserequest.md +73 -0
- package/docs/API-reference/api/x-components.watchedinternalbrowserequest.newrequest.md +11 -0
- package/docs/API-reference/api/x-components.watchedinternalbrowserequest.oldrequest.md +11 -0
- package/docs/API-reference/api/x-components.xeventstypes.md +2 -2
- package/docs/API-reference/api/x-components.xmodulestree.md +18 -1
- package/docs/API-reference/api/x-components.xmodulestree.vendor.md +11 -0
- package/docs/API-reference/api/x-types.result.md +2 -2
- package/docs/API-reference/components/vendor/x-components.vendor-results-list.md +21 -0
- 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 +1 -1
- package/js/components/result/base-result-add-to-cart.vue2.js.map +1 -1
- package/js/components/result/base-result-link.vue.js +12 -8
- package/js/components/result/base-result-link.vue.js.map +1 -1
- package/js/components/result/base-result-link.vue2.js.map +1 -1
- package/js/index.js +20 -0
- package/js/index.js.map +1 -1
- package/js/wiring/namespaced-wires.factory.js +1 -1
- package/js/x-modules/browse/components/browse-results-list.vue.js +46 -0
- package/js/x-modules/browse/components/browse-results-list.vue.js.map +1 -0
- package/js/x-modules/browse/components/browse-results-list.vue2.js +6 -0
- package/js/x-modules/browse/components/browse-results-list.vue2.js.map +1 -0
- package/js/x-modules/browse/components/browse-sort-picker-list.vue.js +73 -0
- package/js/x-modules/browse/components/browse-sort-picker-list.vue.js.map +1 -0
- package/js/x-modules/browse/components/browse-sort-picker-list.vue2.js +6 -0
- package/js/x-modules/browse/components/browse-sort-picker-list.vue2.js.map +1 -0
- package/js/x-modules/browse/store/actions/fetch-and-save-browse-response.action.js +57 -0
- package/js/x-modules/browse/store/actions/fetch-and-save-browse-response.action.js.map +1 -0
- package/js/x-modules/browse/store/actions/fetch-and-save-results-enrichment.action.js +21 -0
- package/js/x-modules/browse/store/actions/fetch-and-save-results-enrichment.action.js.map +1 -0
- package/js/x-modules/browse/store/actions/fetch-browse-response.action.js +16 -0
- package/js/x-modules/browse/store/actions/fetch-browse-response.action.js.map +1 -0
- package/js/x-modules/browse/store/actions/increase-page-apending-results.action.js +18 -0
- package/js/x-modules/browse/store/actions/increase-page-apending-results.action.js.map +1 -0
- package/js/x-modules/browse/store/actions/reset-request-on-refinement.action.js +36 -0
- package/js/x-modules/browse/store/actions/reset-request-on-refinement.action.js.map +1 -0
- package/js/x-modules/browse/store/actions/save-browse-response.action.js +42 -0
- package/js/x-modules/browse/store/actions/save-browse-response.action.js.map +1 -0
- package/js/x-modules/browse/store/actions/save-origin.action.js +16 -0
- package/js/x-modules/browse/store/actions/save-origin.action.js.map +1 -0
- package/js/x-modules/browse/store/actions/set-url-params.action.js +20 -0
- package/js/x-modules/browse/store/actions/set-url-params.action.js.map +1 -0
- package/js/x-modules/browse/store/emitters.js +48 -0
- package/js/x-modules/browse/store/emitters.js.map +1 -0
- package/js/x-modules/browse/store/getters/request.getter.js +27 -0
- package/js/x-modules/browse/store/getters/request.getter.js.map +1 -0
- package/js/x-modules/browse/store/module.js +163 -0
- package/js/x-modules/browse/store/module.js.map +1 -0
- package/js/x-modules/browse/wiring.js +213 -0
- package/js/x-modules/browse/wiring.js.map +1 -0
- package/js/x-modules/browse/x-module.js +21 -0
- package/js/x-modules/browse/x-module.js.map +1 -0
- package/js/x-modules/vendor/components/vendor-results-list.vue.js +81 -0
- package/js/x-modules/vendor/components/vendor-results-list.vue.js.map +1 -0
- package/js/x-modules/vendor/components/vendor-results-list.vue2.js +6 -0
- package/js/x-modules/vendor/components/vendor-results-list.vue2.js.map +1 -0
- package/js/x-modules/vendor/store/emitters.js +13 -0
- package/js/x-modules/vendor/store/emitters.js.map +1 -0
- package/js/x-modules/vendor/store/module.js +15 -0
- package/js/x-modules/vendor/store/module.js.map +1 -0
- package/js/x-modules/vendor/wiring.js +42 -0
- package/js/x-modules/vendor/wiring.js.map +1 -0
- package/js/x-modules/vendor/x-module.js +21 -0
- package/js/x-modules/vendor/x-module.js.map +1 -0
- package/package.json +4 -4
- package/report/x-components.api.json +5304 -752
- package/report/x-components.api.md +456 -11
- package/report/x-types.api.json +1 -1
- package/types/src/components/result/base-result-add-to-cart.vue.d.ts +1 -2
- package/types/src/components/result/base-result-add-to-cart.vue.d.ts.map +1 -1
- package/types/src/components/snippet-callbacks.vue.d.ts +4 -3
- package/types/src/components/snippet-callbacks.vue.d.ts.map +1 -1
- package/types/src/index.d.ts +2 -0
- package/types/src/index.d.ts.map +1 -1
- package/types/src/wiring/events.types.d.ts +2 -1
- package/types/src/wiring/events.types.d.ts.map +1 -1
- package/types/src/x-modules/browse/components/browse-results-list.vue.d.ts +30 -0
- package/types/src/x-modules/browse/components/browse-results-list.vue.d.ts.map +1 -0
- package/types/src/x-modules/browse/components/browse-sort-picker-list.vue.d.ts +50 -0
- package/types/src/x-modules/browse/components/browse-sort-picker-list.vue.d.ts.map +1 -0
- package/types/src/x-modules/browse/store/actions/index.d.ts +5 -5
- package/types/src/x-modules/browse/store/actions/index.d.ts.map +1 -1
- package/types/src/x-modules/browse/store/module.d.ts +1 -1
- package/types/src/x-modules/browse/store/module.d.ts.map +1 -1
- package/types/src/x-modules/browse/wiring.d.ts +26 -26
- package/types/src/x-modules/browse/wiring.d.ts.map +1 -1
- package/types/src/x-modules/facets/components/filters/hierarchical-filter.vue.d.ts +1 -0
- package/types/src/x-modules/facets/components/filters/hierarchical-filter.vue.d.ts.map +1 -1
- package/types/src/x-modules/facets/components/filters/simple-filter.vue.d.ts +1 -0
- package/types/src/x-modules/facets/components/filters/simple-filter.vue.d.ts.map +1 -1
- package/types/src/x-modules/vendor/components/index.d.ts +2 -0
- package/types/src/x-modules/vendor/components/index.d.ts.map +1 -0
- package/types/src/x-modules/vendor/components/vendor-results-list.vue.d.ts +30 -0
- package/types/src/x-modules/vendor/components/vendor-results-list.vue.d.ts.map +1 -0
- package/types/src/x-modules/vendor/events.types.d.ts +15 -0
- package/types/src/x-modules/vendor/events.types.d.ts.map +1 -0
- package/types/src/x-modules/vendor/index.d.ts +7 -0
- package/types/src/x-modules/vendor/index.d.ts.map +1 -0
- package/types/src/x-modules/vendor/store/emitters.d.ts +7 -0
- package/types/src/x-modules/vendor/store/emitters.d.ts.map +1 -0
- package/types/src/x-modules/vendor/store/index.d.ts +4 -0
- package/types/src/x-modules/vendor/store/index.d.ts.map +1 -0
- package/types/src/x-modules/vendor/store/module.d.ts +3 -0
- package/types/src/x-modules/vendor/store/module.d.ts.map +1 -0
- package/types/src/x-modules/vendor/store/types.d.ts +14 -0
- package/types/src/x-modules/vendor/store/types.d.ts.map +1 -0
- package/types/src/x-modules/vendor/types.d.ts +8 -0
- package/types/src/x-modules/vendor/types.d.ts.map +1 -0
- package/types/src/x-modules/vendor/wiring.d.ts +20 -0
- package/types/src/x-modules/vendor/wiring.d.ts.map +1 -0
- package/types/src/x-modules/vendor/x-module.d.ts +16 -0
- package/types/src/x-modules/vendor/x-module.d.ts.map +1 -0
- package/types/src/x-modules/x-modules.types.d.ts +2 -0
- package/types/src/x-modules/x-modules.types.d.ts.map +1 -1
- package/vendor/index.d.ts +1 -0
- package/vendor/index.js +5 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-components](./x-components.md) > [vendorXModule](./x-components.vendorxmodule.md)
|
|
4
|
+
|
|
5
|
+
## vendorXModule variable
|
|
6
|
+
|
|
7
|
+
Vendor [XModule](./x-components.xmodule.md) implementation. This module is auto-registered as soon as you import any component from the `vendor` entry point.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
vendorXModule: VendorXModule
|
|
13
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-components](./x-components.md) > [vendorXStoreModule](./x-components.vendorxstoremodule.md)
|
|
4
|
+
|
|
5
|
+
## vendorXStoreModule variable
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
vendorXStoreModule: VendorXStoreModule
|
|
11
|
+
```
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-components](./x-components.md) > [WatchedInternalBrowseRequest](./x-components.watchedinternalbrowserequest.md)
|
|
4
|
+
|
|
5
|
+
## WatchedInternalBrowseRequest interface
|
|
6
|
+
|
|
7
|
+
A representation of a watched [InternalBrowseRequest](./x-components.internalbrowserequest.md) object, wrapping its new and old values.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export interface WatchedInternalBrowseRequest
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Properties
|
|
16
|
+
|
|
17
|
+
<table><thead><tr><th>
|
|
18
|
+
|
|
19
|
+
Property
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
</th><th>
|
|
23
|
+
|
|
24
|
+
Modifiers
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
</th><th>
|
|
28
|
+
|
|
29
|
+
Type
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
</th><th>
|
|
33
|
+
|
|
34
|
+
Description
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
</th></tr></thead>
|
|
38
|
+
<tbody><tr><td>
|
|
39
|
+
|
|
40
|
+
[newRequest](./x-components.watchedinternalbrowserequest.newrequest.md)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
</td><td>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
</td><td>
|
|
47
|
+
|
|
48
|
+
[InternalBrowseRequest](./x-components.internalbrowserequest.md)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
</td><td>
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
</td></tr>
|
|
55
|
+
<tr><td>
|
|
56
|
+
|
|
57
|
+
[oldRequest](./x-components.watchedinternalbrowserequest.oldrequest.md)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
</td><td>
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
</td><td>
|
|
64
|
+
|
|
65
|
+
[InternalBrowseRequest](./x-components.internalbrowserequest.md)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
</td><td>
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
</td></tr>
|
|
72
|
+
</tbody></table>
|
|
73
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-components](./x-components.md) > [WatchedInternalBrowseRequest](./x-components.watchedinternalbrowserequest.md) > [newRequest](./x-components.watchedinternalbrowserequest.newrequest.md)
|
|
4
|
+
|
|
5
|
+
## WatchedInternalBrowseRequest.newRequest property
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
newRequest: InternalBrowseRequest;
|
|
11
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-components](./x-components.md) > [WatchedInternalBrowseRequest](./x-components.watchedinternalbrowserequest.md) > [oldRequest](./x-components.watchedinternalbrowserequest.oldrequest.md)
|
|
4
|
+
|
|
5
|
+
## WatchedInternalBrowseRequest.oldRequest property
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
oldRequest: InternalBrowseRequest;
|
|
11
|
+
```
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
**Signature:**
|
|
10
10
|
|
|
11
11
|
```typescript
|
|
12
|
-
export interface XEventsTypes extends DeviceXEvents, EmpathizeXEvents, ExtraParamsXEvents, FacetsXEvents, HistoryQueriesXEvents, IdentifierResultsXEvents, NextQueriesXEvents, PopularSearchesXEvents, QueriesPreviewXEvents, QuerySuggestionsXEvents, RecommendationsXEvents, RelatedTagsXEvents, ScrollXEvents, SearchBoxXEvents, SearchXEvents, BrowseXEvents, SemanticQueriesXEvents, TaggingXEvents, ExperienceControlsXEvents, UrlXEvents, RelatedPromptsXEvents, AiXEvents
|
|
12
|
+
export interface XEventsTypes extends DeviceXEvents, EmpathizeXEvents, ExtraParamsXEvents, FacetsXEvents, HistoryQueriesXEvents, IdentifierResultsXEvents, NextQueriesXEvents, PopularSearchesXEvents, QueriesPreviewXEvents, QuerySuggestionsXEvents, RecommendationsXEvents, RelatedTagsXEvents, ScrollXEvents, SearchBoxXEvents, SearchXEvents, BrowseXEvents, SemanticQueriesXEvents, TaggingXEvents, ExperienceControlsXEvents, UrlXEvents, RelatedPromptsXEvents, AiXEvents, VendorXEvents
|
|
13
13
|
```
|
|
14
|
-
**Extends:** [DeviceXEvents](./x-components.devicexevents.md)<!-- -->, [EmpathizeXEvents](./x-components.empathizexevents.md)<!-- -->, [ExtraParamsXEvents](./x-components.extraparamsxevents.md)<!-- -->, [FacetsXEvents](./x-components.facetsxevents.md)<!-- -->, [HistoryQueriesXEvents](./x-components.historyqueriesxevents.md)<!-- -->, [IdentifierResultsXEvents](./x-components.identifierresultsxevents.md)<!-- -->, [NextQueriesXEvents](./x-components.nextqueriesxevents.md)<!-- -->, [PopularSearchesXEvents](./x-components.popularsearchesxevents.md)<!-- -->, [QueriesPreviewXEvents](./x-components.queriespreviewxevents.md)<!-- -->, [QuerySuggestionsXEvents](./x-components.querysuggestionsxevents.md)<!-- -->, [RecommendationsXEvents](./x-components.recommendationsxevents.md)<!-- -->, [RelatedTagsXEvents](./x-components.relatedtagsxevents.md)<!-- -->, [ScrollXEvents](./x-components.scrollxevents.md)<!-- -->, [SearchBoxXEvents](./x-components.searchboxxevents.md)<!-- -->, [SearchXEvents](./x-components.searchxevents.md)<!-- -->, BrowseXEvents
|
|
14
|
+
**Extends:** [DeviceXEvents](./x-components.devicexevents.md)<!-- -->, [EmpathizeXEvents](./x-components.empathizexevents.md)<!-- -->, [ExtraParamsXEvents](./x-components.extraparamsxevents.md)<!-- -->, [FacetsXEvents](./x-components.facetsxevents.md)<!-- -->, [HistoryQueriesXEvents](./x-components.historyqueriesxevents.md)<!-- -->, [IdentifierResultsXEvents](./x-components.identifierresultsxevents.md)<!-- -->, [NextQueriesXEvents](./x-components.nextqueriesxevents.md)<!-- -->, [PopularSearchesXEvents](./x-components.popularsearchesxevents.md)<!-- -->, [QueriesPreviewXEvents](./x-components.queriespreviewxevents.md)<!-- -->, [QuerySuggestionsXEvents](./x-components.querysuggestionsxevents.md)<!-- -->, [RecommendationsXEvents](./x-components.recommendationsxevents.md)<!-- -->, [RelatedTagsXEvents](./x-components.relatedtagsxevents.md)<!-- -->, [ScrollXEvents](./x-components.scrollxevents.md)<!-- -->, [SearchBoxXEvents](./x-components.searchboxxevents.md)<!-- -->, [SearchXEvents](./x-components.searchxevents.md)<!-- -->, [BrowseXEvents](./x-components.browsexevents.md)<!-- -->, [SemanticQueriesXEvents](./x-components.semanticqueriesxevents.md)<!-- -->, [TaggingXEvents](./x-components.taggingxevents.md)<!-- -->, [ExperienceControlsXEvents](./x-components.experiencecontrolsxevents.md)<!-- -->, [UrlXEvents](./x-components.urlxevents.md)<!-- -->, [RelatedPromptsXEvents](./x-components.relatedpromptsxevents.md)<!-- -->, [AiXEvents](./x-components.aixevents.md)<!-- -->, [VendorXEvents](./x-components.vendorxevents.md)
|
|
15
15
|
|
|
16
16
|
## Remarks
|
|
17
17
|
|
|
@@ -62,7 +62,7 @@ Description
|
|
|
62
62
|
|
|
63
63
|
</td><td>
|
|
64
64
|
|
|
65
|
-
BrowseXModule
|
|
65
|
+
[BrowseXModule](./x-components.browsexmodule.md)
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
</td><td>
|
|
@@ -408,6 +408,23 @@ BrowseXModule
|
|
|
408
408
|
</td><td>
|
|
409
409
|
|
|
410
410
|
|
|
411
|
+
</td></tr>
|
|
412
|
+
<tr><td>
|
|
413
|
+
|
|
414
|
+
[vendor](./x-components.xmodulestree.vendor.md)
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
</td><td>
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
</td><td>
|
|
421
|
+
|
|
422
|
+
[VendorXModule](./x-components.vendorxmodule.md)
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
</td><td>
|
|
426
|
+
|
|
427
|
+
|
|
411
428
|
</td></tr>
|
|
412
429
|
</tbody></table>
|
|
413
430
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-components](./x-components.md) > [XModulesTree](./x-components.xmodulestree.md) > [vendor](./x-components.xmodulestree.vendor.md)
|
|
4
|
+
|
|
5
|
+
## XModulesTree.vendor property
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
vendor: VendorXModule;
|
|
11
|
+
```
|
|
@@ -9,9 +9,9 @@ A search result.
|
|
|
9
9
|
**Signature:**
|
|
10
10
|
|
|
11
11
|
```typescript
|
|
12
|
-
export interface Result extends NamedModel<'Result'>, Identifiable, Taggable
|
|
12
|
+
export interface Result extends NamedModel<'Result' | 'VendorResult'>, Identifiable, Taggable
|
|
13
13
|
```
|
|
14
|
-
**Extends:** [NamedModel](./x-types.namedmodel.md)<!-- --><'Result'>, [Identifiable](./x-types.identifiable.md)<!-- -->, [Taggable](./x-types.taggable.md)
|
|
14
|
+
**Extends:** [NamedModel](./x-types.namedmodel.md)<!-- --><'Result' \| 'VendorResult'>, [Identifiable](./x-types.identifiable.md)<!-- -->, [Taggable](./x-types.taggable.md)
|
|
15
15
|
|
|
16
16
|
## Properties
|
|
17
17
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
title: VendorResultsList
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# VendorResultsList
|
|
8
|
+
|
|
9
|
+
It renders a ItemsList of vendor results from VendorState.results.
|
|
10
|
+
|
|
11
|
+
The component provides a default slot which wraps the whole component with the `vendorResults`
|
|
12
|
+
plus the `injectedListItems` which also contains the injected list items from
|
|
13
|
+
the ancestor.
|
|
14
|
+
|
|
15
|
+
It also provides the parent slots to customize the items.
|
|
16
|
+
|
|
17
|
+
## Props
|
|
18
|
+
|
|
19
|
+
| Name | Description | Type | Default |
|
|
20
|
+
| ---------------------- | -------------------------------------------------------------------- | -------------------------- | ----------------- |
|
|
21
|
+
| <code>animation</code> | Animation component that will be used to animate the vendor results. | <code>AnimationProp</code> | <code>'ul'</code> |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-result-add-to-cart.vue.js","sources":["../../../../src/components/result/base-result-add-to-cart.vue"],"sourcesContent":["<template>\n <BaseEventButton\n :events=\"events\"\n :metadata=\"metadata\"\n class=\"x-result-add-to-cart xds:button\"\n data-test=\"result-add-to-cart\"\n >\n <!-- @slot (Required) Button content with a text, an icon or both -->\n <slot />\n </BaseEventButton>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { PropsWithType } from '../../utils/index'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport type { WireMetadata } from '../../wiring/index'\nimport { computed, defineComponent, inject } from 'vue'\nimport BaseEventButton from '../base-event-button.vue'\n\n/**\n * Renders a button with a default slot. It receives the result with the data and emits\n * {@link XEventsTypes.UserClickedResultAddToCart} to the bus on click mouse event.\n *\n * @public\n */\nexport default defineComponent({\n components: { BaseEventButton },\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n },\n setup(props) {\n /**\n * The list of additional events to be emitted by the component when user clicks the add2cart button.\n *\n * @internal\n */\n const resultAddToCartExtraEvents = inject<PropsWithType<XEventsTypes, Result>[]>(\n 'resultAddToCartExtraEvents',\n [],\n )\n\n /**\n * The metadata to be injected in the events emitted by the component.\n */\n const metadata = inject<Omit<WireMetadata, 'moduleName' | 'origin' | 'location'>>(\n 'resultAddToCartExtraEventsMetadata',\n {},\n )\n\n /**\n * The events to be emitted by the button.\n *\n * @returns Events {@link XEventsTypes} to emit.\n *\n * @public\n */\n const events = computed(() => {\n return resultAddToCartExtraEvents.reduce(\n (acc, event) => {\n acc[event] = props.result\n return acc\n },\n { UserClickedResultAddToCart: props.result } as Partial<XEventsTypes>,\n )\n })\n\n return {\n events,\n metadata,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nA list of events that the component will emit:\n\n- [`UserClickedResultAddToCart`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the result data.\n\n## Examples\n\nRenders a button with a default slot. It receives the result with the data and emits an event\n`UserClickedResultAddToCart` to the bus on click mouse event.\n\n### Basic example\n\nThis component is a button to emit `UserClickedResultAddToCart` when clicked by the user.\n\n```vue\n<template>\n <BaseResultAddToCart :result=\"result\">\n <img src=\"./add-to-cart.svg\" alt=\"Add to cart\" />\n <span>Add to cart</span>\n </BaseResultAddToCart>\n</template>\n\n<script setup>\nimport { BaseResultAddToCart } from '@empathyco/x-components'\nconst result = {\n id: '123',\n name: 'Product name',\n price: 19.99,\n // ...other result properties\n}\n</script>\n```\n</docs>\n"],"names":["_createBlock","_renderSlot"],"mappings":";;;;;;sBACEA,WAAA,CAQkB,0BAAA,EAAA;AAAA,IAPf,MAAA,EAAQ,IAAA,CAAA,MAAA;AAAA,IACR,QAAA,EAAU,IAAA,CAAA,QAAA;AAAA,IACX,KAAA,EAAM,iCAAA;AAAA,IACN,WAAA,EAAU;AAAA,GAAA,EAAA;qBAGV,MAAQ;AAAA,MAARC,UAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA,KAAA,CAAA;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"base-result-add-to-cart.vue.js","sources":["../../../../src/components/result/base-result-add-to-cart.vue"],"sourcesContent":["<template>\n <BaseEventButton\n :events=\"events\"\n :metadata=\"metadata\"\n class=\"x-result-add-to-cart xds:button\"\n data-test=\"result-add-to-cart\"\n >\n <!-- @slot (Required) Button content with a text, an icon or both -->\n <slot />\n </BaseEventButton>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { PropsWithType } from '../../utils/index'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport type { WireMetadata } from '../../wiring/index'\nimport { computed, defineComponent, inject } from 'vue'\nimport BaseEventButton from '../base-event-button.vue'\n\n/**\n * Renders a button with a default slot. It receives the result with the data and emits\n * {@link XEventsTypes.UserClickedResultAddToCart} to the bus on click mouse event.\n *\n * @public\n */\nexport default defineComponent({\n components: { BaseEventButton },\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n },\n setup(props) {\n /**\n * The list of additional events to be emitted by the component when user clicks the add2cart button.\n *\n * @internal\n */\n const resultAddToCartExtraEvents = inject<PropsWithType<XEventsTypes, Result>[]>(\n 'resultAddToCartExtraEvents',\n [],\n )\n\n /**\n * The metadata to be injected in the events emitted by the component.\n */\n const metadata = inject<Omit<WireMetadata, 'moduleName' | 'origin' | 'location'>>(\n 'resultAddToCartExtraEventsMetadata',\n {},\n )\n\n /**\n * The events to be emitted by the button.\n *\n * @returns Events {@link XEventsTypes} to emit.\n *\n * @public\n */\n const events = computed(() => {\n return resultAddToCartExtraEvents.reduce(\n (acc, event) => {\n acc[event] = props.result\n return acc\n },\n { UserClickedResultAddToCart: props.result } as Partial<XEventsTypes>,\n )\n })\n\n return {\n events: props.result.modelName === 'Result' ? events : {},\n metadata,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nA list of events that the component will emit:\n\n- [`UserClickedResultAddToCart`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the result data.\n\n## Examples\n\nRenders a button with a default slot. It receives the result with the data and emits an event\n`UserClickedResultAddToCart` to the bus on click mouse event.\n\n### Basic example\n\nThis component is a button to emit `UserClickedResultAddToCart` when clicked by the user.\n\n```vue\n<template>\n <BaseResultAddToCart :result=\"result\">\n <img src=\"./add-to-cart.svg\" alt=\"Add to cart\" />\n <span>Add to cart</span>\n </BaseResultAddToCart>\n</template>\n\n<script setup>\nimport { BaseResultAddToCart } from '@empathyco/x-components'\nconst result = {\n id: '123',\n name: 'Product name',\n price: 19.99,\n // ...other result properties\n}\n</script>\n```\n</docs>\n"],"names":["_createBlock","_renderSlot"],"mappings":";;;;;;sBACEA,WAAA,CAQkB,0BAAA,EAAA;AAAA,IAPf,MAAA,EAAQ,IAAA,CAAA,MAAA;AAAA,IACR,QAAA,EAAU,IAAA,CAAA,QAAA;AAAA,IACX,KAAA,EAAM,iCAAA;AAAA,IACN,WAAA,EAAU;AAAA,GAAA,EAAA;qBAGV,MAAQ;AAAA,MAARC,UAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA,KAAA,CAAA;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-result-add-to-cart.vue2.js","sources":["../../../../src/components/result/base-result-add-to-cart.vue"],"sourcesContent":["<template>\n <BaseEventButton\n :events=\"events\"\n :metadata=\"metadata\"\n class=\"x-result-add-to-cart xds:button\"\n data-test=\"result-add-to-cart\"\n >\n <!-- @slot (Required) Button content with a text, an icon or both -->\n <slot />\n </BaseEventButton>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { PropsWithType } from '../../utils/index'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport type { WireMetadata } from '../../wiring/index'\nimport { computed, defineComponent, inject } from 'vue'\nimport BaseEventButton from '../base-event-button.vue'\n\n/**\n * Renders a button with a default slot. It receives the result with the data and emits\n * {@link XEventsTypes.UserClickedResultAddToCart} to the bus on click mouse event.\n *\n * @public\n */\nexport default defineComponent({\n components: { BaseEventButton },\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n },\n setup(props) {\n /**\n * The list of additional events to be emitted by the component when user clicks the add2cart button.\n *\n * @internal\n */\n const resultAddToCartExtraEvents = inject<PropsWithType<XEventsTypes, Result>[]>(\n 'resultAddToCartExtraEvents',\n [],\n )\n\n /**\n * The metadata to be injected in the events emitted by the component.\n */\n const metadata = inject<Omit<WireMetadata, 'moduleName' | 'origin' | 'location'>>(\n 'resultAddToCartExtraEventsMetadata',\n {},\n )\n\n /**\n * The events to be emitted by the button.\n *\n * @returns Events {@link XEventsTypes} to emit.\n *\n * @public\n */\n const events = computed(() => {\n return resultAddToCartExtraEvents.reduce(\n (acc, event) => {\n acc[event] = props.result\n return acc\n },\n { UserClickedResultAddToCart: props.result } as Partial<XEventsTypes>,\n )\n })\n\n return {\n events,\n metadata,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nA list of events that the component will emit:\n\n- [`UserClickedResultAddToCart`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the result data.\n\n## Examples\n\nRenders a button with a default slot. It receives the result with the data and emits an event\n`UserClickedResultAddToCart` to the bus on click mouse event.\n\n### Basic example\n\nThis component is a button to emit `UserClickedResultAddToCart` when clicked by the user.\n\n```vue\n<template>\n <BaseResultAddToCart :result=\"result\">\n <img src=\"./add-to-cart.svg\" alt=\"Add to cart\" />\n <span>Add to cart</span>\n </BaseResultAddToCart>\n</template>\n\n<script setup>\nimport { BaseResultAddToCart } from '@empathyco/x-components'\nconst result = {\n id: '123',\n name: 'Product name',\n price: 19.99,\n // ...other result properties\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;AAqBA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;IAC7B,UAAU,EAAE,EAAE,eAAc,EAAG;AAC/B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;AAIE;QACF,MAAM,6BAA6B,MAAM,CACvC,4BAA4B,EAC5B,EAAE,CACJ;AAEA;;AAEE;QACF,MAAM,QAAO,GAAI,MAAM,CACrB,oCAAoC,EACpC,EAAE,CACJ;AAEA;;;;;;AAME;AACF,QAAA,MAAM,MAAK,GAAI,QAAQ,CAAC,MAAI;YAC1B,OAAO,0BAA0B,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,KAAK,KAAG;AACZ,gBAAA,GAAG,CAAC,KAAK,CAAA,GAAI,KAAK,CAAC,MAAK;AACxB,gBAAA,OAAO,GAAE;YACX,CAAC,EACD,EAAE,0BAA0B,EAAE,KAAK,CAAC,MAAK,EAA4B,CACvE;AACF,QAAA,CAAC,CAAA;QAED,OAAO;
|
|
1
|
+
{"version":3,"file":"base-result-add-to-cart.vue2.js","sources":["../../../../src/components/result/base-result-add-to-cart.vue"],"sourcesContent":["<template>\n <BaseEventButton\n :events=\"events\"\n :metadata=\"metadata\"\n class=\"x-result-add-to-cart xds:button\"\n data-test=\"result-add-to-cart\"\n >\n <!-- @slot (Required) Button content with a text, an icon or both -->\n <slot />\n </BaseEventButton>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { PropsWithType } from '../../utils/index'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport type { WireMetadata } from '../../wiring/index'\nimport { computed, defineComponent, inject } from 'vue'\nimport BaseEventButton from '../base-event-button.vue'\n\n/**\n * Renders a button with a default slot. It receives the result with the data and emits\n * {@link XEventsTypes.UserClickedResultAddToCart} to the bus on click mouse event.\n *\n * @public\n */\nexport default defineComponent({\n components: { BaseEventButton },\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n },\n setup(props) {\n /**\n * The list of additional events to be emitted by the component when user clicks the add2cart button.\n *\n * @internal\n */\n const resultAddToCartExtraEvents = inject<PropsWithType<XEventsTypes, Result>[]>(\n 'resultAddToCartExtraEvents',\n [],\n )\n\n /**\n * The metadata to be injected in the events emitted by the component.\n */\n const metadata = inject<Omit<WireMetadata, 'moduleName' | 'origin' | 'location'>>(\n 'resultAddToCartExtraEventsMetadata',\n {},\n )\n\n /**\n * The events to be emitted by the button.\n *\n * @returns Events {@link XEventsTypes} to emit.\n *\n * @public\n */\n const events = computed(() => {\n return resultAddToCartExtraEvents.reduce(\n (acc, event) => {\n acc[event] = props.result\n return acc\n },\n { UserClickedResultAddToCart: props.result } as Partial<XEventsTypes>,\n )\n })\n\n return {\n events: props.result.modelName === 'Result' ? events : {},\n metadata,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nA list of events that the component will emit:\n\n- [`UserClickedResultAddToCart`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the result data.\n\n## Examples\n\nRenders a button with a default slot. It receives the result with the data and emits an event\n`UserClickedResultAddToCart` to the bus on click mouse event.\n\n### Basic example\n\nThis component is a button to emit `UserClickedResultAddToCart` when clicked by the user.\n\n```vue\n<template>\n <BaseResultAddToCart :result=\"result\">\n <img src=\"./add-to-cart.svg\" alt=\"Add to cart\" />\n <span>Add to cart</span>\n </BaseResultAddToCart>\n</template>\n\n<script setup>\nimport { BaseResultAddToCart } from '@empathyco/x-components'\nconst result = {\n id: '123',\n name: 'Product name',\n price: 19.99,\n // ...other result properties\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;AAqBA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;IAC7B,UAAU,EAAE,EAAE,eAAc,EAAG;AAC/B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;AAIE;QACF,MAAM,6BAA6B,MAAM,CACvC,4BAA4B,EAC5B,EAAE,CACJ;AAEA;;AAEE;QACF,MAAM,QAAO,GAAI,MAAM,CACrB,oCAAoC,EACpC,EAAE,CACJ;AAEA;;;;;;AAME;AACF,QAAA,MAAM,MAAK,GAAI,QAAQ,CAAC,MAAI;YAC1B,OAAO,0BAA0B,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,KAAK,KAAG;AACZ,gBAAA,GAAG,CAAC,KAAK,CAAA,GAAI,KAAK,CAAC,MAAK;AACxB,gBAAA,OAAO,GAAE;YACX,CAAC,EACD,EAAE,0BAA0B,EAAE,KAAK,CAAC,MAAK,EAA4B,CACvE;AACF,QAAA,CAAC,CAAA;QAED,OAAO;AACL,YAAA,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,QAAO,GAAI,MAAK,GAAI,EAAE;YACzD,QAAQ;SACV;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import _sfc_main from './base-result-link.vue2.js';
|
|
2
|
-
import { openBlock, createElementBlock,
|
|
2
|
+
import { openBlock, createElementBlock, mergeProps, toHandlers, renderSlot } from 'vue';
|
|
3
3
|
import './base-result-link.vue3.js';
|
|
4
4
|
import _export_sfc from '../../_virtual/_plugin-vue_export-helper.js';
|
|
5
5
|
|
|
6
6
|
const _hoisted_1 = ["href"];
|
|
7
7
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
8
|
-
return openBlock(), createElementBlock("a", {
|
|
8
|
+
return openBlock(), createElementBlock("a", mergeProps({
|
|
9
9
|
ref: _ctx.el,
|
|
10
10
|
href: _ctx.result.url,
|
|
11
11
|
class: "x-result-link",
|
|
12
|
-
"data-test": "result-link"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
"data-test": "result-link"
|
|
13
|
+
}, toHandlers(
|
|
14
|
+
_ctx.result.modelName === "Result" ? {
|
|
15
|
+
click: _ctx.emitUserClickedAResult,
|
|
16
|
+
contextmenu: _ctx.emitUserClickedAResult,
|
|
17
|
+
auxclick: (event) => event.button === 1 && _ctx.emitUserClickedAResult()
|
|
18
|
+
} : {},
|
|
19
|
+
true
|
|
20
|
+
)), [
|
|
17
21
|
renderSlot(_ctx.$slots, "default", { result: _ctx.result }, void 0, true)
|
|
18
|
-
],
|
|
22
|
+
], 16, _hoisted_1);
|
|
19
23
|
}
|
|
20
24
|
var baseResultLink = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-4d589f60"]]);
|
|
21
25
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-result-link.vue.js","sources":["../../../../src/components/result/base-result-link.vue"],"sourcesContent":["<template>\n <a\n :ref=\"el\"\n :href=\"result.url\"\n class=\"x-result-link\"\n data-test=\"result-link\"\n
|
|
1
|
+
{"version":3,"file":"base-result-link.vue.js","sources":["../../../../src/components/result/base-result-link.vue"],"sourcesContent":["<template>\n <a\n :ref=\"el\"\n :href=\"result.url\"\n class=\"x-result-link\"\n data-test=\"result-link\"\n v-on=\"\n result.modelName === 'Result'\n ? {\n click: emitUserClickedAResult,\n contextmenu: emitUserClickedAResult,\n auxclick: (event: { button: number }) => event.button === 1 && emitUserClickedAResult(),\n }\n : {}\n \"\n >\n <!--\n @slot (Required) Link content with a text, an image, another component or both\n @binding {Result} result - Result data\n -->\n <slot :result=\"result\" />\n </a>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { PropsWithType } from '../../utils/types'\nimport type { WireMetadata } from '../../wiring'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport { defineComponent, inject, ref } from 'vue'\nimport { use$x } from '../../composables/index'\n\n/**\n * Component to be reused that renders an `<a>` wrapping the result contents.\n *\n * @remarks\n * It has the logic to emit {@link XEventsTypes.UserClickedAResult} to the bus on click mouse\n * events. Additionally, this component may be injected other events to be emitted on click\n * event, so, depending on where it's used its father component may provide this events.\n *\n * @public\n */\nexport default defineComponent({\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n },\n setup(props) {\n const $x = use$x()\n\n /**\n * The rendered DOM element.\n *\n * @internal\n */\n const el = ref()\n\n /**\n * The list of additional events to be emitted by the component when user clicks the link.\n *\n * @internal\n */\n const resultClickExtraEvents = inject<PropsWithType<XEventsTypes, Result>[]>(\n 'resultClickExtraEvents',\n [],\n )\n\n /**\n * The metadata to be injected in the events emitted by the component. This component can emit\n * have extra events so this record pairs each event to its metadata.\n */\n const resultLinkMetadataPerEvent = inject<\n // TODO: Refactor this inject key to the constants when doing EMP-909\n Partial<\n Record<\n PropsWithType<XEventsTypes, Result>,\n Omit<WireMetadata, 'moduleName' | 'origin' | 'location'>\n >\n >\n >('resultLinkMetadataPerEvent', {})\n\n /**\n * Emits the {@link XEventsTypes.UserClickedAResult} when user clicks on the result, and also\n * additional events if have been injected in the component.\n *\n * @internal\n */\n const emitUserClickedAResult = (): void => {\n $x.emit('UserClickedAResult', props.result, {\n target: el.value!,\n ...resultLinkMetadataPerEvent.UserClickedAResult,\n })\n resultClickExtraEvents.forEach(event => {\n $x.emit(event, props.result, { target: el.value!, ...resultLinkMetadataPerEvent[event] })\n })\n }\n\n return {\n el,\n emitUserClickedAResult,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-result-link {\n text-decoration: none;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following event:\n\n- [`UserClickedAResult`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n\nThe component can emit more events on click using the `resultClickExtraEvents` prop.\n\n## Examples\n\nThis component is a wrapper for the result contents (images, name, price...). It may be part of the\nsearch result page, recommendations or other section which needs to include results.\n\nAdditionally, this component may be injected other events to be emitted on click event, so,\ndepending where it's used its father component may provide these events.\n\nThe result prop is required. It will render an anchor element with the href to the result URL:\n\n```vue\n<template>\n <BaseResultLink :result=\"result\">\n <template #default=\"{ result }\">\n <img :src=\"result.images[0]\" alt=\"Result image\" />\n <span>{{ result.name }}</span>\n </template>\n </BaseResultLink>\n</template>\n\n<script setup>\nimport { BaseResultLink } from '@empathyco/x-components'\nconst result = {\n name: 'Jacket',\n url: 'https://shop.com/jacket',\n images: ['https://shop.com/jacket.jpg'],\n}\n</script>\n```\n</docs>\n"],"names":["_openBlock","_createElementBlock","_mergeProps","_toHandlers","_renderSlot"],"mappings":";;;;;;;AACE,EAAA,OAAAA,SAAA,EAAA,EAAAC,kBAAA,CAoBI,KApBJC,UAAA,CAoBI;AAAA,IAnBD,GAAA,EAAK,IAAA,CAAA,EAAA;AAAA,IACL,MAAM,IAAA,CAAA,MAAA,CAAO,GAAA;AAAA,IACd,KAAA,EAAM,eAAA;AAAA,IACN,WAAA,EAAU;AAAA,GAAA,EACVC,UAAA;AAAA,IAAa,YAAO,SAAA,KAAS,QAAA,GAAA;AAA6C,MAAA,KAAA,EAAA,IAAA,CAAA,sBAAA;AAAA,MAAA,WAAA,EAAiD,IAAA,CAAA,sBAAA;AAAA,MAAA,QAAA,EAAA,CAA+C,KAAA,KAA8B,KAAA,CAAM,MAAA,KAAM,CAAA,IAAU,IAAA,CAAA,sBAAA;AAAsB,KAAA,GAAA,EAAA;;;IAcpPC,UAAA,CAAyB,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA,EAAlB,QAAQ,IAAA,CAAA,MAAA,EAAM,EAAA,MAAA,EAAA,IAAA;AAAA,GAAA,EAAA,EAAA,EAAA,UAAA,CAAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-result-link.vue2.js","sources":["../../../../src/components/result/base-result-link.vue"],"sourcesContent":["<template>\n <a\n :ref=\"el\"\n :href=\"result.url\"\n class=\"x-result-link\"\n data-test=\"result-link\"\n
|
|
1
|
+
{"version":3,"file":"base-result-link.vue2.js","sources":["../../../../src/components/result/base-result-link.vue"],"sourcesContent":["<template>\n <a\n :ref=\"el\"\n :href=\"result.url\"\n class=\"x-result-link\"\n data-test=\"result-link\"\n v-on=\"\n result.modelName === 'Result'\n ? {\n click: emitUserClickedAResult,\n contextmenu: emitUserClickedAResult,\n auxclick: (event: { button: number }) => event.button === 1 && emitUserClickedAResult(),\n }\n : {}\n \"\n >\n <!--\n @slot (Required) Link content with a text, an image, another component or both\n @binding {Result} result - Result data\n -->\n <slot :result=\"result\" />\n </a>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { PropsWithType } from '../../utils/types'\nimport type { WireMetadata } from '../../wiring'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport { defineComponent, inject, ref } from 'vue'\nimport { use$x } from '../../composables/index'\n\n/**\n * Component to be reused that renders an `<a>` wrapping the result contents.\n *\n * @remarks\n * It has the logic to emit {@link XEventsTypes.UserClickedAResult} to the bus on click mouse\n * events. Additionally, this component may be injected other events to be emitted on click\n * event, so, depending on where it's used its father component may provide this events.\n *\n * @public\n */\nexport default defineComponent({\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n },\n setup(props) {\n const $x = use$x()\n\n /**\n * The rendered DOM element.\n *\n * @internal\n */\n const el = ref()\n\n /**\n * The list of additional events to be emitted by the component when user clicks the link.\n *\n * @internal\n */\n const resultClickExtraEvents = inject<PropsWithType<XEventsTypes, Result>[]>(\n 'resultClickExtraEvents',\n [],\n )\n\n /**\n * The metadata to be injected in the events emitted by the component. This component can emit\n * have extra events so this record pairs each event to its metadata.\n */\n const resultLinkMetadataPerEvent = inject<\n // TODO: Refactor this inject key to the constants when doing EMP-909\n Partial<\n Record<\n PropsWithType<XEventsTypes, Result>,\n Omit<WireMetadata, 'moduleName' | 'origin' | 'location'>\n >\n >\n >('resultLinkMetadataPerEvent', {})\n\n /**\n * Emits the {@link XEventsTypes.UserClickedAResult} when user clicks on the result, and also\n * additional events if have been injected in the component.\n *\n * @internal\n */\n const emitUserClickedAResult = (): void => {\n $x.emit('UserClickedAResult', props.result, {\n target: el.value!,\n ...resultLinkMetadataPerEvent.UserClickedAResult,\n })\n resultClickExtraEvents.forEach(event => {\n $x.emit(event, props.result, { target: el.value!, ...resultLinkMetadataPerEvent[event] })\n })\n }\n\n return {\n el,\n emitUserClickedAResult,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-result-link {\n text-decoration: none;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following event:\n\n- [`UserClickedAResult`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n\nThe component can emit more events on click using the `resultClickExtraEvents` prop.\n\n## Examples\n\nThis component is a wrapper for the result contents (images, name, price...). It may be part of the\nsearch result page, recommendations or other section which needs to include results.\n\nAdditionally, this component may be injected other events to be emitted on click event, so,\ndepending where it's used its father component may provide these events.\n\nThe result prop is required. It will render an anchor element with the href to the result URL:\n\n```vue\n<template>\n <BaseResultLink :result=\"result\">\n <template #default=\"{ result }\">\n <img :src=\"result.images[0]\" alt=\"Result image\" />\n <span>{{ result.name }}</span>\n </template>\n </BaseResultLink>\n</template>\n\n<script setup>\nimport { BaseResultLink } from '@empathyco/x-components'\nconst result = {\n name: 'Jacket',\n url: 'https://shop.com/jacket',\n images: ['https://shop.com/jacket.jpg'],\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;;;AAiCA;;;;;;;;;AASE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB;;;;AAIE;AACF,QAAA,MAAM,KAAK,GAAG,EAAC;AAEf;;;;AAIE;QACF,MAAM,sBAAqB,GAAI,MAAM,CACnC,wBAAwB,EACxB,EAAE,CACJ;AAEA;;;AAGE;QACF,MAAM,0BAAyB,GAAI,MAAM,CAQvC,4BAA4B,EAAE,EAAE,CAAA;AAElC;;;;;AAKE;QACF,MAAM,sBAAqB,GAAI,MAAU;YACvC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,EAAE;gBAC1C,MAAM,EAAE,EAAE,CAAC,KAAM;gBACjB,GAAG,0BAA0B,CAAC,kBAAkB;AACjD,aAAA,CAAA;AACD,YAAA,sBAAsB,CAAC,OAAO,CAAC,KAAI,IAAG;gBACpC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,KAAM,EAAE,GAAG,0BAA0B,CAAC,KAAK,GAAG,CAAA;AAC1F,YAAA,CAAC,CAAA;AACH,QAAA,CAAA;QAEA,OAAO;YACL,EAAE;YACF,sBAAsB;SACxB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
package/js/index.js
CHANGED
|
@@ -210,6 +210,21 @@ export { suggestionsSearchRequest as aiSuggestionsSearchRequest } from './x-modu
|
|
|
210
210
|
export { aiXStoreModule } from './x-modules/ai/store/module.js';
|
|
211
211
|
export { aiWiring } from './x-modules/ai/wiring.js';
|
|
212
212
|
export { aiXModule } from './x-modules/ai/x-module.js';
|
|
213
|
+
export { default as BrowseResultsList } from './x-modules/browse/components/browse-results-list.vue.js';
|
|
214
|
+
export { default as BrowseSortPickerList } from './x-modules/browse/components/browse-sort-picker-list.vue.js';
|
|
215
|
+
export { cancelFetchAndSaveBrowseResponse, fetchAndSaveBrowseResponse } from './x-modules/browse/store/actions/fetch-and-save-browse-response.action.js';
|
|
216
|
+
export { fetchAndSaveResultsEnrichment as fetchAndSaveBrowseResultsEnrichment } from './x-modules/browse/store/actions/fetch-and-save-results-enrichment.action.js';
|
|
217
|
+
export { fetchBrowseResponse } from './x-modules/browse/store/actions/fetch-browse-response.action.js';
|
|
218
|
+
export { increasePageAppendingResults as increaseBrowsePageAppendingResults } from './x-modules/browse/store/actions/increase-page-apending-results.action.js';
|
|
219
|
+
export { resetRequestOnRefinement as resetBrowseRequestOnRefinement } from './x-modules/browse/store/actions/reset-request-on-refinement.action.js';
|
|
220
|
+
export { saveBrowseResponse } from './x-modules/browse/store/actions/save-browse-response.action.js';
|
|
221
|
+
export { saveOrigin as saveBrowseOrigin } from './x-modules/browse/store/actions/save-origin.action.js';
|
|
222
|
+
export { setUrlParams as setBrowseUrlParams } from './x-modules/browse/store/actions/set-url-params.action.js';
|
|
223
|
+
export { browseEmitters } from './x-modules/browse/store/emitters.js';
|
|
224
|
+
export { request as browseRequest } from './x-modules/browse/store/getters/request.getter.js';
|
|
225
|
+
export { browseXStoreModule, resettableBrowseState } from './x-modules/browse/store/module.js';
|
|
226
|
+
export { browseWiring, cancelFetchAndSaveBrowseResponseWire, clearBrowseQuery, fetchAndSaveBrowseResponseWire, fetchAndSaveBrowseResultsEnrichmentWire, increaseBrowsePageAppendingResultsWire, resetBrowseAppending, resetBrowseRequestOnRefinementWire, resetBrowseStateForReloadWire, resetBrowseStateIfNoRequestWire, resetFromNoBrowseResultsWithFilters, resetIsNoBrowseResults, saveBrowseOriginWire, setBrowseCategory, setBrowseExtraParams, setBrowsePage, setBrowseSelectedFilters, setBrowseSort, setBrowseUrlParamsWire } from './x-modules/browse/wiring.js';
|
|
227
|
+
export { browseXModule } from './x-modules/browse/x-module.js';
|
|
213
228
|
export { default as DeviceDetector } from './x-modules/device/components/device-detector.vue.js';
|
|
214
229
|
export { deviceEmitters } from './x-modules/device/store/emitters.js';
|
|
215
230
|
export { deviceXStoreModule } from './x-modules/device/store/module.js';
|
|
@@ -444,4 +459,9 @@ export { replaceableParams, urlEmitters } from './x-modules/url/store/emitters.j
|
|
|
444
459
|
export { urlXStoreModule } from './x-modules/url/store/module.js';
|
|
445
460
|
export { resetUrlBrowseCategory, setInitialExtraParams, setParams, setUrlBrowseCategory, setUrlFilters, setUrlPage, setUrlParamsFromPreview, setUrlPrompt, setUrlQuery, setUrlQueryFromPreview, setUrlRelatedTags, setUrlScroll, setUrlSelectedFiltersFromPreview, setUrlSort, urlWiring } from './x-modules/url/wiring.js';
|
|
446
461
|
export { urlXModule } from './x-modules/url/x-module.js';
|
|
462
|
+
export { default as VendorResultsList } from './x-modules/vendor/components/vendor-results-list.vue.js';
|
|
463
|
+
export { vendorEmitters } from './x-modules/vendor/store/emitters.js';
|
|
464
|
+
export { vendorXStoreModule } from './x-modules/vendor/store/module.js';
|
|
465
|
+
export { setResults, vendorWiring } from './x-modules/vendor/wiring.js';
|
|
466
|
+
export { vendorXModule } from './x-modules/vendor/x-module.js';
|
|
447
467
|
//# sourceMappingURL=index.js.map
|
package/js/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { wireCommit,
|
|
1
|
+
import { wireCommit, wireDispatchWithoutPayload, wireCommitWithoutPayload, wireDispatch } from './wires.factory.js';
|
|
2
2
|
import { getStateAndGettersFromModule } from './wiring.utils.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { defineComponent, provide, h } from 'vue';
|
|
2
|
+
import { LIST_ITEMS_KEY } from '../../../components/decorators/injection.consts.js';
|
|
3
|
+
import ItemsList from '../../../components/items-list.vue.js';
|
|
4
|
+
import { useState } from '../../../composables/use-state.js';
|
|
5
|
+
import { AnimationProp } from '../../../types/animation-prop.js';
|
|
6
|
+
import { browseXModule } from '../x-module.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* It renders a {@link ItemsList} list with the results from {@link SearchState.results} by
|
|
10
|
+
* default.
|
|
11
|
+
*
|
|
12
|
+
* The component provides a default slot which wraps the whole component with the `results` bound.
|
|
13
|
+
*
|
|
14
|
+
* It also provides the slot result to customize the item, which is within the default slot, with
|
|
15
|
+
* the result bound.
|
|
16
|
+
*
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
var _sfc_main = defineComponent({
|
|
20
|
+
name: 'BrowseResultsList',
|
|
21
|
+
xModule: browseXModule.name,
|
|
22
|
+
props: {
|
|
23
|
+
/** Animation component that will be used to animate the results. */
|
|
24
|
+
animation: {
|
|
25
|
+
type: AnimationProp,
|
|
26
|
+
default: 'ul',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
setup(props, { slots }) {
|
|
30
|
+
/**
|
|
31
|
+
* The results to render from the state.
|
|
32
|
+
*
|
|
33
|
+
* @remarks The results list are provided with `items` key.
|
|
34
|
+
*/
|
|
35
|
+
const { results: items } = useState('browse');
|
|
36
|
+
provide(LIST_ITEMS_KEY, items);
|
|
37
|
+
return () => {
|
|
38
|
+
const innerProps = { items: items.value, animation: props.animation };
|
|
39
|
+
// https://vue-land.github.io/faq/forwarding-slots#passing-all-slots
|
|
40
|
+
return slots.default?.(innerProps)[0] ?? h(ItemsList, innerProps, slots);
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
export { _sfc_main as default };
|
|
46
|
+
//# sourceMappingURL=browse-results-list.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browse-results-list.vue.js","sources":["../../../../../src/x-modules/browse/components/browse-results-list.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent, h, provide } from 'vue'\nimport { LIST_ITEMS_KEY } from '../../../components/decorators/injection.consts'\nimport ItemsList from '../../../components/items-list.vue'\nimport { useState } from '../../../composables/use-state'\nimport { AnimationProp } from '../../../types'\nimport { browseXModule } from '../x-module'\n\n/**\n * It renders a {@link ItemsList} list with the results from {@link SearchState.results} by\n * default.\n *\n * The component provides a default slot which wraps the whole component with the `results` bound.\n *\n * It also provides the slot result to customize the item, which is within the default slot, with\n * the result bound.\n *\n * @public\n */\nexport default defineComponent({\n name: 'BrowseResultsList',\n xModule: browseXModule.name,\n props: {\n /** Animation component that will be used to animate the results. */\n animation: {\n type: AnimationProp,\n default: 'ul',\n },\n },\n setup(props, { slots }) {\n /**\n * The results to render from the state.\n *\n * @remarks The results list are provided with `items` key.\n */\n const { results: items } = useState('browse')\n\n provide(LIST_ITEMS_KEY as string, items)\n\n return () => {\n const innerProps = { items: items.value, animation: props.animation }\n // https://vue-land.github.io/faq/forwarding-slots#passing-all-slots\n return slots.default?.(innerProps)[0] ?? h(ItemsList, innerProps, slots)\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;AAQA;;;;;;;;;;AAUE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,aAAa,CAAC,IAAI;AAC3B,IAAA,KAAK,EAAE;;AAEL,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAE,EAAE,KAAI,EAAG,EAAA;AACpB;;;;AAIE;QACF,MAAM,EAAE,OAAO,EAAE,KAAI,EAAE,GAAI,QAAQ,CAAC,QAAQ,CAAA;AAE5C,QAAA,OAAO,CAAC,cAAwB,EAAE,KAAK,CAAA;AAEvC,QAAA,OAAO,MAAI;AACT,YAAA,MAAM,UAAS,GAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAQ,EAAE;;AAEpE,YAAA,OAAO,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA,IAAK,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAA;AACzE,QAAA,CAAA;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browse-results-list.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { defineComponent, watch, computed, openBlock, createBlock, resolveDynamicComponent, withCtx, createElementBlock, Fragment, renderList, unref, normalizeClass, renderSlot, mergeProps, createTextVNode, toDisplayString } from 'vue';
|
|
2
|
+
import BaseEventButton from '../../../components/base-event-button.vue.js';
|
|
3
|
+
import { use$x } from '../../../composables/use-_x.js';
|
|
4
|
+
import { useState } from '../../../composables/use-state.js';
|
|
5
|
+
import { browseXModule } from '../x-module.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The `SortPickerList` component allows user to select the browse results order. This component
|
|
9
|
+
* also allows to change the selected sort programmatically.
|
|
10
|
+
*/
|
|
11
|
+
var _sfc_main = /*@__PURE__*/ defineComponent({
|
|
12
|
+
...{
|
|
13
|
+
xModule: browseXModule.name,
|
|
14
|
+
},
|
|
15
|
+
__name: 'browse-sort-picker-list',
|
|
16
|
+
props: {
|
|
17
|
+
animation: { type: null, required: false, default: 'ul' },
|
|
18
|
+
items: { type: Array, required: true },
|
|
19
|
+
buttonClass: { type: String, required: true }
|
|
20
|
+
},
|
|
21
|
+
setup(__props) {
|
|
22
|
+
const props = __props;
|
|
23
|
+
const $x = use$x();
|
|
24
|
+
const { sort: selectedSort } = useState('browse');
|
|
25
|
+
watch(selectedSort, (value) => $x.emit('SelectedBrowseSortProvided', value), {
|
|
26
|
+
immediate: true,
|
|
27
|
+
});
|
|
28
|
+
/**
|
|
29
|
+
* Sort list items.
|
|
30
|
+
*
|
|
31
|
+
* @returns A list of items with their css class and the event associate to it.
|
|
32
|
+
*/
|
|
33
|
+
const listItems = computed(() => props.items.map((item) => ({
|
|
34
|
+
item,
|
|
35
|
+
cssClasses: {
|
|
36
|
+
'xds:selected': item === selectedSort.value,
|
|
37
|
+
},
|
|
38
|
+
event: { UserClickedABrowseSort: item },
|
|
39
|
+
})));
|
|
40
|
+
return (_ctx, _cache) => {
|
|
41
|
+
return (openBlock(), createBlock(resolveDynamicComponent(__props.animation), {
|
|
42
|
+
tag: "div",
|
|
43
|
+
class: "x-sort-picker-list",
|
|
44
|
+
"data-test": "sort-picker",
|
|
45
|
+
role: "list"
|
|
46
|
+
}, {
|
|
47
|
+
default: withCtx(() => [
|
|
48
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(listItems.value, ({ item, cssClasses, event }) => {
|
|
49
|
+
return (openBlock(), createBlock(BaseEventButton, {
|
|
50
|
+
key: item,
|
|
51
|
+
class: normalizeClass([cssClasses, __props.buttonClass]),
|
|
52
|
+
"data-test": "sort-picker-button",
|
|
53
|
+
events: event,
|
|
54
|
+
"aria-pressed": item === unref(selectedSort) || null,
|
|
55
|
+
role: "listitem"
|
|
56
|
+
}, {
|
|
57
|
+
default: withCtx(() => [
|
|
58
|
+
renderSlot(_ctx.$slots, "default", mergeProps({ ref_for: true }, { item, isSelected: item === unref(selectedSort) }), () => [
|
|
59
|
+
createTextVNode(toDisplayString(item), 1 /* TEXT */)
|
|
60
|
+
])
|
|
61
|
+
]),
|
|
62
|
+
_: 2 /* DYNAMIC */
|
|
63
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "events", "aria-pressed"]));
|
|
64
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
65
|
+
]),
|
|
66
|
+
_: 3 /* FORWARDED */
|
|
67
|
+
}));
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
export { _sfc_main as default };
|
|
73
|
+
//# sourceMappingURL=browse-sort-picker-list.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browse-sort-picker-list.vue.js","sources":["../../../../../src/x-modules/browse/components/browse-sort-picker-list.vue"],"sourcesContent":["<template>\n <component\n :is=\"animation\"\n tag=\"div\"\n class=\"x-sort-picker-list\"\n data-test=\"sort-picker\"\n role=\"list\"\n >\n <BaseEventButton\n v-for=\"{ item, cssClasses, event } in listItems\"\n :key=\"item\"\n :class=\"[cssClasses, buttonClass]\"\n data-test=\"sort-picker-button\"\n :events=\"event\"\n :aria-pressed=\"item === selectedSort || null\"\n role=\"listitem\"\n >\n <slot v-bind=\"{ item, isSelected: item === selectedSort }\">\n {{ item }}\n </slot>\n </BaseEventButton>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type { Sort } from '@empathyco/x-types'\nimport type { Component } from 'vue'\nimport type { VueCSSClasses } from '../../../utils/types'\nimport type { XEventsTypes } from '../../../wiring/events.types'\nimport { computed, watch } from 'vue'\nimport BaseEventButton from '../../../components/base-event-button.vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { browseXModule } from '../x-module'\n\n/**\n * Sort Picker item options.\n */\nexport interface SortPickerItem {\n item: Sort\n cssClasses: VueCSSClasses\n event: Partial<XEventsTypes>\n}\n\n/**\n * The `SortPickerList` component allows user to select the browse results order. This component\n * also allows to change the selected sort programmatically.\n */\n\ndefineOptions({\n xModule: browseXModule.name,\n})\n\nconst props = withDefaults(\n defineProps<{ animation?: string | Component; items: Sort[]; buttonClass: string }>(),\n { animation: 'ul' },\n)\n\nconst $x = use$x()\n\nconst { sort: selectedSort } = useState('browse')\n\nwatch(selectedSort, (value: Sort) => $x.emit('SelectedBrowseSortProvided', value), {\n immediate: true,\n})\n\n/**\n * Sort list items.\n *\n * @returns A list of items with their css class and the event associate to it.\n */\nconst listItems = computed<SortPickerItem[]>(() =>\n props.items.map((item: string) => ({\n item,\n cssClasses: {\n 'xds:selected': item === selectedSort.value,\n },\n event: { UserClickedABrowseSort: item },\n })),\n)\n</script>\n"],"names":["_openBlock","_createBlock","_resolveDynamicComponent","_createElementBlock","_Fragment","_normalizeClass","_unref","_renderSlot","_mergeProps"],"mappings":";;;;;;AA4CA;;;AAGE;;;;;;;;;;;;QAMF,MAAM,KAAK,GAAG,OAAA;AAKd,QAAA,MAAM,EAAE,GAAG,KAAK,EAAC;QAEjB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAA;AAEhD,QAAA,KAAK,CAAC,YAAY,EAAE,CAAC,KAAW,KAAK,EAAE,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,CAAC,EAAE;AACjF,YAAA,SAAS,EAAE,IAAI;AAChB,SAAA,CAAA;AAED;;;;AAIE;AACF,QAAA,MAAM,SAAS,GAAG,QAAQ,CAAmB,MAC3C,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAY,MAAM;YACjC,IAAI;AACJ,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,IAAI,KAAK,YAAY,CAAC,KAAK;AAC5C,aAAA;AACD,YAAA,KAAK,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE;SACxC,CAAC,CAAC,CACL;;AA9EE,YAAA,QAAAA,SAAA,EAAA,EAAAC,WAAA,CAoBYC,wBAnBL,OAAA,CAAA,SAAS,CAAA,EAAA;AACd,gBAAA,GAAG,EAAC,KAAK;AACT,gBAAA,KAAK,EAAC,oBAAoB;AAC1B,gBAAA,WAAS,EAAC,aAAa;AACvB,gBAAA,IAAI,EAAC;;iCAGH,MAAgD;qBADlDF,SAAA,CAAA,IAAA,CAAA,EAAAG,kBAAA,CAYkBC,2BAXsB,SAAA,CAAA,KAAS,EAAA,CAAA,EAAtC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAA,KAAA;6CADlCH,WAAA,CAYkB,eAAA,EAAA;AAVf,4BAAA,GAAG,EAAE,IAAI;4BACT,KAAK,EAAAI,cAAA,CAAA,CAAG,UAAU,EAAE,OAAA,CAAA,WAAW,CAAA,CAAA;AAChC,4BAAA,WAAS,EAAC,oBAAoB;AAC7B,4BAAA,MAAM,EAAE,KAAK;4BACb,cAAY,EAAE,IAAI,KAAKC,KAAA,CAAA,YAAA,CAAY,IAAA,IAAA;AACpC,4BAAA,IAAI,EAAC;;6CAEL,MAEO;AAFP,gCAAAC,UAAA,CAEO,IAAA,CAAA,MAAA,EAAA,SAAA,EAFPC,WAEO,EAAA,OAAA,EAAA,IAAA,EAAA,EAAA,EAFS,IAAI,cAAc,IAAI,KAAKF,KAAA,CAAA,YAAA,CAAY,EAAA,CAAA,EAAvD,MAEO;oEADF,IAAI,CAAA,EAAA,CAAA;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browse-sort-picker-list.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|