@empathyco/x-components 8.4.0 → 8.6.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.
Files changed (71) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/core/index.js.map +1 -1
  3. package/docs/API-reference/api/x-components.banner.md +11 -1
  4. package/docs/API-reference/api/x-components.hierarchicalfilter.md +3 -0
  5. package/docs/API-reference/api/x-components.md +48 -0
  6. package/docs/API-reference/api/x-components.setbanners.md +13 -0
  7. package/docs/API-reference/api/x-components.simplefilter.md +3 -0
  8. package/docs/API-reference/api/x-components.snippetcallbacks.md +3 -0
  9. package/docs/API-reference/api/x-components.vendorbanner.md +78 -0
  10. package/docs/API-reference/api/x-components.vendorbanner.position.md +11 -0
  11. package/docs/API-reference/api/x-components.vendorbanner.tagging.md +11 -0
  12. package/docs/API-reference/api/x-components.vendorbannerslist.md +31 -0
  13. package/docs/API-reference/api/x-components.vendorbannertagging.clickurl.md +11 -0
  14. package/docs/API-reference/api/x-components.vendorbannertagging.md +73 -0
  15. package/docs/API-reference/api/x-components.vendorbannertagging.viewurl.md +11 -0
  16. package/docs/API-reference/api/x-components.vendormutations.md +17 -0
  17. package/docs/API-reference/api/x-components.vendormutations.setbanners.md +11 -0
  18. package/docs/API-reference/api/x-components.vendorstate.banners.md +11 -0
  19. package/docs/API-reference/api/x-components.vendorstate.md +17 -0
  20. package/docs/API-reference/api/x-components.vendorxevents.md +57 -0
  21. package/docs/API-reference/api/x-components.vendorxevents.userclickedavendorbanner.md +13 -0
  22. package/docs/API-reference/api/x-components.vendorxevents.userviewedavendorbanner.md +13 -0
  23. package/docs/API-reference/api/x-components.vendorxevents.vendorbannerschanged.md +13 -0
  24. package/docs/API-reference/api/x-types.banner.md +2 -2
  25. package/docs/API-reference/components/search/x-components.banner.md +8 -6
  26. package/docs/API-reference/components/vendor/x-components.vendor-banners-list.md +21 -0
  27. package/js/components/base-grid.vue.js.map +1 -1
  28. package/js/components/base-grid.vue2.js +5 -1
  29. package/js/components/base-grid.vue2.js.map +1 -1
  30. package/js/components/base-grid.vue3.js +1 -1
  31. package/js/index.js +2 -1
  32. package/js/index.js.map +1 -1
  33. package/js/x-modules/search/components/banner.vue.js.map +1 -1
  34. package/js/x-modules/search/components/banner.vue2.js +10 -1
  35. package/js/x-modules/search/components/banner.vue2.js.map +1 -1
  36. package/js/x-modules/vendor/components/vendor-banners-list.vue.js +83 -0
  37. package/js/x-modules/vendor/components/vendor-banners-list.vue.js.map +1 -0
  38. package/js/x-modules/vendor/components/vendor-banners-list.vue2.js +6 -0
  39. package/js/x-modules/vendor/components/vendor-banners-list.vue2.js.map +1 -0
  40. package/js/x-modules/vendor/store/module.js +4 -0
  41. package/js/x-modules/vendor/store/module.js.map +1 -1
  42. package/js/x-modules/vendor/wiring.js +28 -1
  43. package/js/x-modules/vendor/wiring.js.map +1 -1
  44. package/package.json +4 -4
  45. package/report/x-components.api.json +856 -91
  46. package/report/x-components.api.md +74 -2
  47. package/report/x-types.api.json +1 -1
  48. package/types/src/components/base-grid.vue.d.ts.map +1 -1
  49. package/types/src/components/snippet-callbacks.vue.d.ts +3 -0
  50. package/types/src/components/snippet-callbacks.vue.d.ts.map +1 -1
  51. package/types/src/x-modules/facets/components/filters/hierarchical-filter.vue.d.ts +3 -0
  52. package/types/src/x-modules/facets/components/filters/hierarchical-filter.vue.d.ts.map +1 -1
  53. package/types/src/x-modules/facets/components/filters/simple-filter.vue.d.ts +3 -0
  54. package/types/src/x-modules/facets/components/filters/simple-filter.vue.d.ts.map +1 -1
  55. package/types/src/x-modules/related-prompts/components/related-prompts-tag-list.vue.d.ts.map +1 -1
  56. package/types/src/x-modules/search/components/banner.vue.d.ts +22 -1
  57. package/types/src/x-modules/search/components/banner.vue.d.ts.map +1 -1
  58. package/types/src/x-modules/vendor/components/index.d.ts +1 -0
  59. package/types/src/x-modules/vendor/components/index.d.ts.map +1 -1
  60. package/types/src/x-modules/vendor/components/vendor-banners-list.vue.d.ts +30 -0
  61. package/types/src/x-modules/vendor/components/vendor-banners-list.vue.d.ts.map +1 -0
  62. package/types/src/x-modules/vendor/events.types.d.ts +17 -1
  63. package/types/src/x-modules/vendor/events.types.d.ts.map +1 -1
  64. package/types/src/x-modules/vendor/store/module.d.ts.map +1 -1
  65. package/types/src/x-modules/vendor/store/types.d.ts +3 -1
  66. package/types/src/x-modules/vendor/store/types.d.ts.map +1 -1
  67. package/types/src/x-modules/vendor/types.d.ts +20 -1
  68. package/types/src/x-modules/vendor/types.d.ts.map +1 -1
  69. package/types/src/x-modules/vendor/wiring.d.ts +16 -0
  70. package/types/src/x-modules/vendor/wiring.d.ts.map +1 -1
  71. package/vendor/index.js +2 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,20 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [8.6.0](https://github.com/empathyco/x/compare/@empathyco/x-components@8.5.0...@empathyco/x-components@8.6.0) (2026-07-17)
7
+
8
+ ### Features
9
+
10
+ * **vendor:** vendor banner events (#2140)
11
+
12
+
13
+ ## [8.5.0](https://github.com/empathyco/x/compare/@empathyco/x-components@8.4.0...@empathyco/x-components@8.5.0) (2026-07-16)
14
+
15
+ ### Features
16
+
17
+ * **vendor:** banners (#2136)
18
+
19
+
6
20
  ## [8.4.0](https://github.com/empathyco/x/compare/@empathyco/x-components@8.3.0...@empathyco/x-components@8.4.0) (2026-07-16)
7
21
 
8
22
  ### Features
package/core/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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -17,6 +17,10 @@ _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
17
17
  required: true;
18
18
  };
19
19
  titleClass: StringConstructor;
20
+ clickEvent: {
21
+ type: PropType<XEvent>;
22
+ default: string;
23
+ };
20
24
  }>, {
21
25
  imageFailed: import("vue").Ref<boolean, boolean>;
22
26
  anchorEvents: () => Partial<{ [key in keyof GlobalEventHandlersEventMap]: () => void; }>;
@@ -26,5 +30,11 @@ _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
26
30
  required: true;
27
31
  };
28
32
  titleClass: StringConstructor;
29
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
33
+ clickEvent: {
34
+ type: PropType<XEvent>;
35
+ default: string;
36
+ };
37
+ }>> & Readonly<{}>, {
38
+ clickEvent: keyof import("../../../wiring").XEventsTypes;
39
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
30
40
  ```
@@ -213,6 +213,9 @@ _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
213
213
  UserViewedAVendorResult?: import("../../../vendor").VendorResult | undefined;
214
214
  UserClickedAVendorResult?: import("../../../vendor").VendorResult | undefined;
215
215
  UserClickedVendorResultAddToCart?: import("../../../vendor").VendorResult | undefined;
216
+ VendorBannersChanged?: Omit<import("../../../vendor").VendorBanner, "modelName">[] | undefined;
217
+ UserViewedAVendorBanner?: import("../../../vendor").VendorBanner | undefined;
218
+ UserClickedAVendorBanner?: import("../../../vendor").VendorBanner | undefined;
216
219
  }>;
217
220
  innerCssClasses: import("vue").ComputedRef<(string | Dictionary<boolean>)[]>;
218
221
  renderedChildrenFilters: import("vue").ComputedRef<HierarchicalFilterModel[]>;
@@ -3384,6 +3384,28 @@ Alias to facilitate retrieving the modules with status.
3384
3384
  </td><td>
3385
3385
 
3386
3386
 
3387
+ </td></tr>
3388
+ <tr><td>
3389
+
3390
+ [VendorBanner](./x-components.vendorbanner.md)
3391
+
3392
+
3393
+ </td><td>
3394
+
3395
+ The interface for a vendor banner, extending the base Banner interface. The optional position means: - If the position is defined, the banner will be displayed in that position inside the grid. - If the position is undefined, the banner will be displayed on top of the grid and full width.
3396
+
3397
+
3398
+ </td></tr>
3399
+ <tr><td>
3400
+
3401
+ [VendorBannerTagging](./x-components.vendorbannertagging.md)
3402
+
3403
+
3404
+ </td><td>
3405
+
3406
+ The tagging info for a vendor banner.
3407
+
3408
+
3387
3409
  </td></tr>
3388
3410
  <tr><td>
3389
3411
 
@@ -6734,6 +6756,17 @@ Default implementation for the [HistoryQueriesGetters.sessionHistoryQueries](./x
6734
6756
  Default implementation setUrlParams.
6735
6757
 
6736
6758
 
6759
+ </td></tr>
6760
+ <tr><td>
6761
+
6762
+ [setBanners](./x-components.setbanners.md)
6763
+
6764
+
6765
+ </td><td>
6766
+
6767
+ Sets the vendor banners of the [VendorXModule](./x-components.vendorxmodule.md)<!-- -->.
6768
+
6769
+
6737
6770
  </td></tr>
6738
6771
  <tr><td>
6739
6772
 
@@ -8111,6 +8144,21 @@ URL [XModule](./x-components.xmodule.md) implementation. This module is auto-reg
8111
8144
  Function which returns the requested getter's properties as a dictionary.
8112
8145
 
8113
8146
 
8147
+ </td></tr>
8148
+ <tr><td>
8149
+
8150
+ [VendorBannersList](./x-components.vendorbannerslist.md)
8151
+
8152
+
8153
+ </td><td>
8154
+
8155
+ It renders a [ItemsList](./x-components.itemslist.md) list of vendor banners from [VendorState.banners](./x-components.vendorstate.banners.md)<!-- -->.
8156
+
8157
+ The component provides a default slot which wraps the whole component with the `vendorBanners` plus the `injectedListItems` which also contains the injected list items from the ancestor.
8158
+
8159
+ It also provides the parent slots to customize the items.
8160
+
8161
+
8114
8162
  </td></tr>
8115
8163
  <tr><td>
8116
8164
 
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [setBanners](./x-components.setbanners.md)
4
+
5
+ ## setBanners variable
6
+
7
+ Sets the vendor banners of the [VendorXModule](./x-components.vendorxmodule.md)<!-- -->.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ setBanners: import("../../wiring").AnyWire
13
+ ```
@@ -210,6 +210,9 @@ _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
210
210
  UserViewedAVendorResult?: import("../../../vendor").VendorResult | undefined;
211
211
  UserClickedAVendorResult?: import("../../../vendor").VendorResult | undefined;
212
212
  UserClickedVendorResultAddToCart?: import("../../../vendor").VendorResult | undefined;
213
+ VendorBannersChanged?: Omit<import("../../../vendor").VendorBanner, "modelName">[] | undefined;
214
+ UserViewedAVendorBanner?: import("../../../vendor").VendorBanner | undefined;
215
+ UserClickedAVendorBanner?: import("../../../vendor").VendorBanner | undefined;
213
216
  }>;
214
217
  innerCssClasses: import("vue").ComputedRef<(string | Dictionary<boolean>)[]>;
215
218
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -200,6 +200,9 @@ _default: import("vue").DefineComponent<{}, {
200
200
  UserViewedAVendorResult: (payload: import("..").VendorResult, metadata: WireMetadata) => unknown;
201
201
  UserClickedAVendorResult: (payload: import("..").VendorResult, metadata: WireMetadata) => unknown;
202
202
  UserClickedVendorResultAddToCart: (payload: import("..").VendorResult, metadata: WireMetadata) => unknown;
203
+ VendorBannersChanged: (payload: Omit<import("..").VendorBanner, "modelName">[], metadata: WireMetadata) => unknown;
204
+ UserViewedAVendorBanner: (payload: import("..").VendorBanner, metadata: WireMetadata) => unknown;
205
+ UserClickedAVendorBanner: (payload: import("..").VendorBanner, metadata: WireMetadata) => unknown;
203
206
  }>>;
204
207
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {
205
208
  GlobalXBus: import("vue").DefineComponent<{}, {}, any>;
@@ -0,0 +1,78 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [VendorBanner](./x-components.vendorbanner.md)
4
+
5
+ ## VendorBanner interface
6
+
7
+ The interface for a vendor banner, extending the base Banner interface. The optional position means: - If the position is defined, the banner will be displayed in that position inside the grid. - If the position is undefined, the banner will be displayed on top of the grid and full width.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export interface VendorBanner extends Omit<Banner, 'modelName' | 'tagging'>, NamedModel<'VendorBanner'>
13
+ ```
14
+ **Extends:** Omit&lt;Banner, 'modelName' \| 'tagging'&gt;, NamedModel&lt;'VendorBanner'&gt;
15
+
16
+ ## Properties
17
+
18
+ <table><thead><tr><th>
19
+
20
+ Property
21
+
22
+
23
+ </th><th>
24
+
25
+ Modifiers
26
+
27
+
28
+ </th><th>
29
+
30
+ Type
31
+
32
+
33
+ </th><th>
34
+
35
+ Description
36
+
37
+
38
+ </th></tr></thead>
39
+ <tbody><tr><td>
40
+
41
+ [position?](./x-components.vendorbanner.position.md)
42
+
43
+
44
+ </td><td>
45
+
46
+
47
+ </td><td>
48
+
49
+ number
50
+
51
+
52
+ </td><td>
53
+
54
+ _(Optional)_
55
+
56
+
57
+ </td></tr>
58
+ <tr><td>
59
+
60
+ [tagging?](./x-components.vendorbanner.tagging.md)
61
+
62
+
63
+ </td><td>
64
+
65
+
66
+ </td><td>
67
+
68
+ [VendorBannerTagging](./x-components.vendorbannertagging.md)
69
+
70
+
71
+ </td><td>
72
+
73
+ _(Optional)_
74
+
75
+
76
+ </td></tr>
77
+ </tbody></table>
78
+
@@ -0,0 +1,11 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [VendorBanner](./x-components.vendorbanner.md) &gt; [position](./x-components.vendorbanner.position.md)
4
+
5
+ ## VendorBanner.position property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ position?: number;
11
+ ```
@@ -0,0 +1,11 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [VendorBanner](./x-components.vendorbanner.md) &gt; [tagging](./x-components.vendorbanner.tagging.md)
4
+
5
+ ## VendorBanner.tagging property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ tagging?: VendorBannerTagging;
11
+ ```
@@ -0,0 +1,31 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [VendorBannersList](./x-components.vendorbannerslist.md)
4
+
5
+ ## VendorBannersList variable
6
+
7
+ It renders a [ItemsList](./x-components.itemslist.md) list of vendor banners from [VendorState.banners](./x-components.vendorstate.banners.md)<!-- -->.
8
+
9
+ The component provides a default slot which wraps the whole component with the `vendorBanners` plus the `injectedListItems` which also contains the injected list items from the ancestor.
10
+
11
+ It also provides the parent slots to customize the items.
12
+
13
+ **Signature:**
14
+
15
+ ```typescript
16
+ _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
17
+ animation: {
18
+ type: (StringConstructor | ObjectConstructor | FunctionConstructor)[];
19
+ default: string;
20
+ };
21
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
22
+ [key: string]: any;
23
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
24
+ animation: {
25
+ type: (StringConstructor | ObjectConstructor | FunctionConstructor)[];
26
+ default: string;
27
+ };
28
+ }>> & Readonly<{}>, {
29
+ animation: string | Function | Record<string, any>;
30
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
31
+ ```
@@ -0,0 +1,11 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [VendorBannerTagging](./x-components.vendorbannertagging.md) &gt; [clickUrl](./x-components.vendorbannertagging.clickurl.md)
4
+
5
+ ## VendorBannerTagging.clickUrl property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ clickUrl: string;
11
+ ```
@@ -0,0 +1,73 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [VendorBannerTagging](./x-components.vendorbannertagging.md)
4
+
5
+ ## VendorBannerTagging interface
6
+
7
+ The tagging info for a vendor banner.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export interface VendorBannerTagging
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
+ [clickUrl](./x-components.vendorbannertagging.clickurl.md)
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td><td>
47
+
48
+ string
49
+
50
+
51
+ </td><td>
52
+
53
+
54
+ </td></tr>
55
+ <tr><td>
56
+
57
+ [viewUrl](./x-components.vendorbannertagging.viewurl.md)
58
+
59
+
60
+ </td><td>
61
+
62
+
63
+ </td><td>
64
+
65
+ string
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) &gt; [@empathyco/x-components](./x-components.md) &gt; [VendorBannerTagging](./x-components.vendorbannertagging.md) &gt; [viewUrl](./x-components.vendorbannertagging.viewurl.md)
4
+
5
+ ## VendorBannerTagging.viewUrl property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ viewUrl: string;
11
+ ```
@@ -35,6 +35,23 @@ Description
35
35
  </th></tr></thead>
36
36
  <tbody><tr><td>
37
37
 
38
+ [setBanners](./x-components.vendormutations.setbanners.md)
39
+
40
+
41
+ </td><td>
42
+
43
+
44
+ </td><td>
45
+
46
+ (banners: [VendorBanner](./x-components.vendorbanner.md)<!-- -->\[\]) =&gt; void
47
+
48
+
49
+ </td><td>
50
+
51
+
52
+ </td></tr>
53
+ <tr><td>
54
+
38
55
  [setResults](./x-components.vendormutations.setresults.md)
39
56
 
40
57
 
@@ -0,0 +1,11 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [VendorMutations](./x-components.vendormutations.md) &gt; [setBanners](./x-components.vendormutations.setbanners.md)
4
+
5
+ ## VendorMutations.setBanners property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ setBanners: (banners: VendorBanner[]) => void;
11
+ ```
@@ -0,0 +1,11 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [VendorState](./x-components.vendorstate.md) &gt; [banners](./x-components.vendorstate.banners.md)
4
+
5
+ ## VendorState.banners property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ banners: VendorBanner[];
11
+ ```
@@ -35,6 +35,23 @@ Description
35
35
  </th></tr></thead>
36
36
  <tbody><tr><td>
37
37
 
38
+ [banners](./x-components.vendorstate.banners.md)
39
+
40
+
41
+ </td><td>
42
+
43
+
44
+ </td><td>
45
+
46
+ [VendorBanner](./x-components.vendorbanner.md)<!-- -->\[\]
47
+
48
+
49
+ </td><td>
50
+
51
+
52
+ </td></tr>
53
+ <tr><td>
54
+
38
55
  [results](./x-components.vendorstate.results.md)
39
56
 
40
57
 
@@ -37,6 +37,25 @@ Description
37
37
  </th></tr></thead>
38
38
  <tbody><tr><td>
39
39
 
40
+ [UserClickedAVendorBanner](./x-components.vendorxevents.userclickedavendorbanner.md)
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td><td>
47
+
48
+ [VendorBanner](./x-components.vendorbanner.md)
49
+
50
+
51
+ </td><td>
52
+
53
+ The user clicked on a vendor banner. Payload: The [vendor banner](./x-components.vendorbanner.md) that was clicked.
54
+
55
+
56
+ </td></tr>
57
+ <tr><td>
58
+
40
59
  [UserClickedAVendorResult](./x-components.vendorxevents.userclickedavendorresult.md)
41
60
 
42
61
 
@@ -72,6 +91,25 @@ The user clicked on a vendor result. Payload: The [vendor result](./x-components
72
91
  The user clicked on the add to cart button of a vendor result. Payload: The [vendor result](./x-components.vendorresult.md) that was clicked.
73
92
 
74
93
 
94
+ </td></tr>
95
+ <tr><td>
96
+
97
+ [UserViewedAVendorBanner](./x-components.vendorxevents.userviewedavendorbanner.md)
98
+
99
+
100
+ </td><td>
101
+
102
+
103
+ </td><td>
104
+
105
+ [VendorBanner](./x-components.vendorbanner.md)
106
+
107
+
108
+ </td><td>
109
+
110
+ The user viewed a vendor banner. Payload: The [vendor banner](./x-components.vendorbanner.md) that was viewed.
111
+
112
+
75
113
  </td></tr>
76
114
  <tr><td>
77
115
 
@@ -91,6 +129,25 @@ The user clicked on the add to cart button of a vendor result. Payload: The [ven
91
129
  The user viewed a vendor result. Payload: The [vendor result](./x-components.vendorresult.md) that was viewed.
92
130
 
93
131
 
132
+ </td></tr>
133
+ <tr><td>
134
+
135
+ [VendorBannersChanged](./x-components.vendorxevents.vendorbannerschanged.md)
136
+
137
+
138
+ </td><td>
139
+
140
+
141
+ </td><td>
142
+
143
+ Omit&lt;[VendorBanner](./x-components.vendorbanner.md)<!-- -->, 'modelName'&gt;\[\]
144
+
145
+
146
+ </td><td>
147
+
148
+ The x consumer has provided vendor banners to be inserted in the result grid. Payload: The array of vendor banner inputs with their items and positions. modelName is excluded since it is an internal field, and we will assign it under the hood.
149
+
150
+
94
151
  </td></tr>
95
152
  <tr><td>
96
153
 
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [VendorXEvents](./x-components.vendorxevents.md) &gt; [UserClickedAVendorBanner](./x-components.vendorxevents.userclickedavendorbanner.md)
4
+
5
+ ## VendorXEvents.UserClickedAVendorBanner property
6
+
7
+ The user clicked on a vendor banner. Payload: The [vendor banner](./x-components.vendorbanner.md) that was clicked.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ UserClickedAVendorBanner: VendorBanner;
13
+ ```
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [VendorXEvents](./x-components.vendorxevents.md) &gt; [UserViewedAVendorBanner](./x-components.vendorxevents.userviewedavendorbanner.md)
4
+
5
+ ## VendorXEvents.UserViewedAVendorBanner property
6
+
7
+ The user viewed a vendor banner. Payload: The [vendor banner](./x-components.vendorbanner.md) that was viewed.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ UserViewedAVendorBanner: VendorBanner;
13
+ ```
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [VendorXEvents](./x-components.vendorxevents.md) &gt; [VendorBannersChanged](./x-components.vendorxevents.vendorbannerschanged.md)
4
+
5
+ ## VendorXEvents.VendorBannersChanged property
6
+
7
+ The x consumer has provided vendor banners to be inserted in the result grid. Payload: The array of vendor banner inputs with their items and positions. modelName is excluded since it is an internal field, and we will assign it under the hood.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ VendorBannersChanged: Omit<VendorBanner, 'modelName'>[];
13
+ ```
@@ -9,9 +9,9 @@ A banner is an image with a title, that when clicked redirect the user to an URL
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- export interface Banner extends NamedModel<'Banner'>, Identifiable, Taggable
12
+ export interface Banner extends NamedModel<'Banner' | 'VendorBanner'>, Identifiable, Taggable
13
13
  ```
14
- **Extends:** [NamedModel](./x-types.namedmodel.md)<!-- -->&lt;'Banner'&gt;, [Identifiable](./x-types.identifiable.md)<!-- -->, [Taggable](./x-types.taggable.md)
14
+ **Extends:** [NamedModel](./x-types.namedmodel.md)<!-- -->&lt;'Banner' \| 'VendorBanner'&gt;, [Identifiable](./x-types.identifiable.md)<!-- -->, [Taggable](./x-types.taggable.md)
15
15
 
16
16
  ## Properties
17
17
 
@@ -8,17 +8,19 @@ title: Banner
8
8
 
9
9
  ## Props
10
10
 
11
- | Name | Description | Type | Default |
12
- | ----------------------- | ---------------- | ------------------------ | ------------- |
13
- | <code>banner</code> | The banner data. | <code>BannerModel</code> | <code></code> |
14
- | <code>titleClass</code> | | <code>string</code> | <code></code> |
11
+ | Name | Description | Type | Default |
12
+ | ----------------------- | ----------------------------------------- | ------------------------ | --------------------------------- |
13
+ | <code>banner</code> | The banner data. | <code>BannerModel</code> | <code></code> |
14
+ | <code>titleClass</code> | | <code>string</code> | <code></code> |
15
+ | <code>clickEvent</code> | Event to emit when the banner is clicked. | <code>XEvent</code> | <code>'UserClickedABanner'</code> |
15
16
 
16
17
  ## Events
17
18
 
18
19
  This component emits the following event:
19
20
 
20
- - [`UserClickedABanner`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):
21
- emitted when the user clicks the banner (if it has a URL).
21
+ - `clickEvent` (default `UserClickedABanner`):
22
+ emitted when the user clicks the banner (if it has a URL). The event name can be customized
23
+ via the `clickEvent` prop.
22
24
 
23
25
  ## See it in action
24
26
 
@@ -0,0 +1,21 @@
1
+ ---
2
+
3
+ title: VendorBannersList
4
+
5
+ ---
6
+
7
+ # VendorBannersList
8
+
9
+ It renders a ItemsList list of vendor banners from VendorState.banners.
10
+
11
+ The component provides a default slot which wraps the whole component with the `vendorBanners`
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 banners. | <code>AnimationProp</code> | <code>'ul'</code> |