@empathyco/x-components 8.6.0 → 8.8.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 (55) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/docs/API-reference/api/x-adapter-platform.browseresultschema.md +13 -0
  3. package/docs/API-reference/api/x-adapter-platform.md +11 -0
  4. package/docs/API-reference/api/x-adapter-platform.platformtagging.browseadd2cart.md +11 -0
  5. package/docs/API-reference/api/x-adapter-platform.platformtagging.browsecheckout.md +11 -0
  6. package/docs/API-reference/api/x-adapter-platform.platformtagging.browseproduct.md +11 -0
  7. package/docs/API-reference/api/x-adapter-platform.platformtagging.displaybrowseproduct.md +11 -0
  8. package/docs/API-reference/api/x-adapter-platform.platformtagging.md +68 -0
  9. package/docs/API-reference/api/x-components.hierarchicalfilter.md +1 -0
  10. package/docs/API-reference/api/x-components.md +22 -0
  11. package/docs/API-reference/api/x-components.setbrowsetagginginfo.md +13 -0
  12. package/docs/API-reference/api/x-components.simplefilter.md +1 -0
  13. package/docs/API-reference/api/x-components.snippetcallbacks.md +1 -0
  14. package/docs/API-reference/api/x-components.taggingmutations.md +19 -0
  15. package/docs/API-reference/api/x-components.taggingmutations.setbrowsetagginginfo.md +13 -0
  16. package/docs/API-reference/api/x-components.taggingstate.browsetagginginfo.md +13 -0
  17. package/docs/API-reference/api/x-components.taggingstate.md +19 -0
  18. package/docs/API-reference/api/x-components.taggingxevents.browsetaggingreceived.md +13 -0
  19. package/docs/API-reference/api/x-components.taggingxevents.md +19 -0
  20. package/docs/API-reference/api/x-components.trackbrowsewire.md +13 -0
  21. package/js/index.js +1 -1
  22. package/js/x-modules/facets/wiring.js +1 -0
  23. package/js/x-modules/facets/wiring.js.map +1 -1
  24. package/js/x-modules/search-box/wiring.js +1 -0
  25. package/js/x-modules/search-box/wiring.js.map +1 -1
  26. package/js/x-modules/tagging/store/emitters.js +1 -0
  27. package/js/x-modules/tagging/store/emitters.js.map +1 -1
  28. package/js/x-modules/tagging/store/module.js +4 -0
  29. package/js/x-modules/tagging/store/module.js.map +1 -1
  30. package/js/x-modules/tagging/wiring.js +30 -1
  31. package/js/x-modules/tagging/wiring.js.map +1 -1
  32. package/package.json +3 -3
  33. package/report/x-adapter-platform.api.json +158 -0
  34. package/report/x-components.api.json +218 -3
  35. package/report/x-components.api.md +22 -1
  36. package/tagging/index.js +1 -1
  37. package/types/src/components/snippet-callbacks.vue.d.ts +1 -0
  38. package/types/src/components/snippet-callbacks.vue.d.ts.map +1 -1
  39. package/types/src/x-modules/facets/components/filters/hierarchical-filter.vue.d.ts +1 -0
  40. package/types/src/x-modules/facets/components/filters/hierarchical-filter.vue.d.ts.map +1 -1
  41. package/types/src/x-modules/facets/components/filters/simple-filter.vue.d.ts +1 -0
  42. package/types/src/x-modules/facets/components/filters/simple-filter.vue.d.ts.map +1 -1
  43. package/types/src/x-modules/facets/wiring.d.ts +1 -0
  44. package/types/src/x-modules/facets/wiring.d.ts.map +1 -1
  45. package/types/src/x-modules/search-box/wiring.d.ts +1 -0
  46. package/types/src/x-modules/search-box/wiring.d.ts.map +1 -1
  47. package/types/src/x-modules/tagging/events.types.d.ts +5 -0
  48. package/types/src/x-modules/tagging/events.types.d.ts.map +1 -1
  49. package/types/src/x-modules/tagging/store/emitters.d.ts +1 -0
  50. package/types/src/x-modules/tagging/store/emitters.d.ts.map +1 -1
  51. package/types/src/x-modules/tagging/store/module.d.ts.map +1 -1
  52. package/types/src/x-modules/tagging/store/types.d.ts +10 -0
  53. package/types/src/x-modules/tagging/store/types.d.ts.map +1 -1
  54. package/types/src/x-modules/tagging/wiring.d.ts +19 -0
  55. package/types/src/x-modules/tagging/wiring.d.ts.map +1 -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.8.0](https://github.com/empathyco/x/compare/@empathyco/x-components@8.7.0...@empathyco/x-components@8.8.0) (2026-07-21)
7
+
8
+ ### Features
9
+
10
+ * implement browse tagging (#2129)
11
+
12
+
13
+ ## [8.7.0](https://github.com/empathyco/x/compare/@empathyco/x-components@8.6.0...@empathyco/x-components@8.7.0) (2026-07-20)
14
+
15
+ ### Features
16
+
17
+ * reset searchbox query and facets when UserBrowsedToCategory (#2141)
18
+
19
+
6
20
  ## [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
21
 
8
22
  ### Features
@@ -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-adapter-platform](./x-adapter-platform.md) &gt; [browseResultSchema](./x-adapter-platform.browseresultschema.md)
4
+
5
+ ## browseResultSchema variable
6
+
7
+ Default implementation for the BrowseResultSchema.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ browseResultSchema: import("@empathyco/x-adapter").MutableSchema<PlatformResult, Result>
13
+ ```
@@ -750,6 +750,17 @@ Default implementation for the BrowseResponseMapper.
750
750
  Default implementation for the BrowseResponseSchema.
751
751
 
752
752
 
753
+ </td></tr>
754
+ <tr><td>
755
+
756
+ [browseResultSchema](./x-adapter-platform.browseresultschema.md)
757
+
758
+
759
+ </td><td>
760
+
761
+ Default implementation for the BrowseResultSchema.
762
+
763
+
753
764
  </td></tr>
754
765
  <tr><td>
755
766
 
@@ -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-adapter-platform](./x-adapter-platform.md) &gt; [PlatformTagging](./x-adapter-platform.platformtagging.md) &gt; [browseAdd2Cart](./x-adapter-platform.platformtagging.browseadd2cart.md)
4
+
5
+ ## PlatformTagging.browseAdd2Cart property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ browseAdd2Cart: string;
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-adapter-platform](./x-adapter-platform.md) &gt; [PlatformTagging](./x-adapter-platform.platformtagging.md) &gt; [browseCheckout](./x-adapter-platform.platformtagging.browsecheckout.md)
4
+
5
+ ## PlatformTagging.browseCheckout property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ browseCheckout: string;
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-adapter-platform](./x-adapter-platform.md) &gt; [PlatformTagging](./x-adapter-platform.platformtagging.md) &gt; [browseProduct](./x-adapter-platform.platformtagging.browseproduct.md)
4
+
5
+ ## PlatformTagging.browseProduct property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ browseProduct: string;
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-adapter-platform](./x-adapter-platform.md) &gt; [PlatformTagging](./x-adapter-platform.platformtagging.md) &gt; [displayBrowseProduct](./x-adapter-platform.platformtagging.displaybrowseproduct.md)
4
+
5
+ ## PlatformTagging.displayBrowseProduct property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ displayBrowseProduct: string;
11
+ ```
@@ -51,6 +51,57 @@ string
51
51
  </td><td>
52
52
 
53
53
 
54
+ </td></tr>
55
+ <tr><td>
56
+
57
+ [browseAdd2Cart](./x-adapter-platform.platformtagging.browseadd2cart.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
+ <tr><td>
73
+
74
+ [browseCheckout](./x-adapter-platform.platformtagging.browsecheckout.md)
75
+
76
+
77
+ </td><td>
78
+
79
+
80
+ </td><td>
81
+
82
+ string
83
+
84
+
85
+ </td><td>
86
+
87
+
88
+ </td></tr>
89
+ <tr><td>
90
+
91
+ [browseProduct](./x-adapter-platform.platformtagging.browseproduct.md)
92
+
93
+
94
+ </td><td>
95
+
96
+
97
+ </td><td>
98
+
99
+ string
100
+
101
+
102
+ </td><td>
103
+
104
+
54
105
  </td></tr>
55
106
  <tr><td>
56
107
 
@@ -85,6 +136,23 @@ string
85
136
  </td><td>
86
137
 
87
138
 
139
+ </td></tr>
140
+ <tr><td>
141
+
142
+ [displayBrowseProduct](./x-adapter-platform.platformtagging.displaybrowseproduct.md)
143
+
144
+
145
+ </td><td>
146
+
147
+
148
+ </td><td>
149
+
150
+ string
151
+
152
+
153
+ </td><td>
154
+
155
+
88
156
  </td></tr>
89
157
  <tr><td>
90
158
 
@@ -184,6 +184,7 @@ _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
184
184
  PDPIsLoaded?: string | undefined;
185
185
  ResultURLTrackingEnabled?: string | undefined;
186
186
  SearchTaggingReceived?: import("@empathyco/x-types").TaggingRequest | undefined;
187
+ BrowseTaggingReceived?: import("@empathyco/x-types").TaggingRequest | undefined;
187
188
  TrackableElementDisplayed?: import("@empathyco/x-types").Taggable | undefined;
188
189
  UserClickedPDPAddToCart?: string | undefined;
189
190
  TaggingConfigProvided?: import("../../../tagging").TaggingConfig | undefined;
@@ -6822,6 +6822,17 @@ Sets the browse state `selectedFilters`<!-- -->.
6822
6822
  Sets the browse state `sort`<!-- -->.
6823
6823
 
6824
6824
 
6825
+ </td></tr>
6826
+ <tr><td>
6827
+
6828
+ [setBrowseTaggingInfo](./x-components.setbrowsetagginginfo.md)
6829
+
6830
+
6831
+ </td><td>
6832
+
6833
+ Sets the tagging state of the browse tagging info using a debounce which ends if the user accepts a query.
6834
+
6835
+
6825
6836
  </td></tr>
6826
6837
  <tr><td>
6827
6838
 
@@ -7957,6 +7968,17 @@ Tracks query tagging of the AI suggestions-search.
7957
7968
  Tracks the tagging of the banner.
7958
7969
 
7959
7970
 
7971
+ </td></tr>
7972
+ <tr><td>
7973
+
7974
+ [trackBrowseWire](./x-components.trackbrowsewire.md)
7975
+
7976
+
7977
+ </td><td>
7978
+
7979
+ Tracks the tagging of the browse category.
7980
+
7981
+
7960
7982
  </td></tr>
7961
7983
  <tr><td>
7962
7984
 
@@ -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; [setBrowseTaggingInfo](./x-components.setbrowsetagginginfo.md)
4
+
5
+ ## setBrowseTaggingInfo variable
6
+
7
+ Sets the tagging state of the browse tagging info using a debounce which ends if the user accepts a query.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ setBrowseTaggingInfo: Wire<TaggingRequest>
13
+ ```
@@ -181,6 +181,7 @@ _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
181
181
  PDPIsLoaded?: string | undefined;
182
182
  ResultURLTrackingEnabled?: string | undefined;
183
183
  SearchTaggingReceived?: import("@empathyco/x-types").TaggingRequest | undefined;
184
+ BrowseTaggingReceived?: import("@empathyco/x-types").TaggingRequest | undefined;
184
185
  TrackableElementDisplayed?: import("@empathyco/x-types").Taggable | undefined;
185
186
  UserClickedPDPAddToCart?: string | undefined;
186
187
  TaggingConfigProvided?: import("../../../tagging").TaggingConfig | undefined;
@@ -171,6 +171,7 @@ _default: import("vue").DefineComponent<{}, {
171
171
  PDPIsLoaded: (payload: string, metadata: WireMetadata) => unknown;
172
172
  ResultURLTrackingEnabled: (payload: string, metadata: WireMetadata) => unknown;
173
173
  SearchTaggingReceived: (payload: import("@empathyco/x-types").TaggingRequest, metadata: WireMetadata) => unknown;
174
+ BrowseTaggingReceived: (payload: import("@empathyco/x-types").TaggingRequest, metadata: WireMetadata) => unknown;
174
175
  TrackableElementDisplayed: (payload: import("@empathyco/x-types").Taggable, metadata: WireMetadata) => unknown;
175
176
  UserClickedPDPAddToCart: (payload: string | undefined, metadata: WireMetadata) => unknown;
176
177
  TaggingConfigProvided: (payload: import("..").TaggingConfig, metadata: WireMetadata) => unknown;
@@ -38,6 +38,25 @@ Description
38
38
  </th></tr></thead>
39
39
  <tbody><tr><td>
40
40
 
41
+ [setBrowseTaggingInfo](./x-components.taggingmutations.setbrowsetagginginfo.md)
42
+
43
+
44
+ </td><td>
45
+
46
+
47
+ </td><td>
48
+
49
+ (browseTaggingInfo: TaggingRequest) =&gt; void
50
+
51
+
52
+ </td><td>
53
+
54
+ Sets the [TaggingState.browseTaggingInfo](./x-components.taggingstate.browsetagginginfo.md) property.
55
+
56
+
57
+ </td></tr>
58
+ <tr><td>
59
+
41
60
  [setConsent](./x-components.taggingmutations.setconsent.md)
42
61
 
43
62
 
@@ -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; [TaggingMutations](./x-components.taggingmutations.md) &gt; [setBrowseTaggingInfo](./x-components.taggingmutations.setbrowsetagginginfo.md)
4
+
5
+ ## TaggingMutations.setBrowseTaggingInfo property
6
+
7
+ Sets the [TaggingState.browseTaggingInfo](./x-components.taggingstate.browsetagginginfo.md) property.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ setBrowseTaggingInfo: (browseTaggingInfo: TaggingRequest) => void;
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; [TaggingState](./x-components.taggingstate.md) &gt; [browseTaggingInfo](./x-components.taggingstate.browsetagginginfo.md)
4
+
5
+ ## TaggingState.browseTaggingInfo property
6
+
7
+ Tagging info for last accepted browse category.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ browseTaggingInfo: TaggingRequest | null;
13
+ ```
@@ -37,6 +37,25 @@ Description
37
37
  </th></tr></thead>
38
38
  <tbody><tr><td>
39
39
 
40
+ [browseTaggingInfo](./x-components.taggingstate.browsetagginginfo.md)
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td><td>
47
+
48
+ TaggingRequest \| null
49
+
50
+
51
+ </td><td>
52
+
53
+ Tagging info for last accepted browse category.
54
+
55
+
56
+ </td></tr>
57
+ <tr><td>
58
+
40
59
  [config](./x-components.taggingstate.config.md)
41
60
 
42
61
 
@@ -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; [TaggingXEvents](./x-components.taggingxevents.md) &gt; [BrowseTaggingReceived](./x-components.taggingxevents.browsetaggingreceived.md)
4
+
5
+ ## TaggingXEvents.BrowseTaggingReceived property
6
+
7
+ Browse tagging info has changed. Payload: The new browse tagging info.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ BrowseTaggingReceived: TaggingRequest;
13
+ ```
@@ -37,6 +37,25 @@ Description
37
37
  </th></tr></thead>
38
38
  <tbody><tr><td>
39
39
 
40
+ [BrowseTaggingReceived](./x-components.taggingxevents.browsetaggingreceived.md)
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td><td>
47
+
48
+ TaggingRequest
49
+
50
+
51
+ </td><td>
52
+
53
+ Browse tagging info has changed. Payload: The new browse tagging info.
54
+
55
+
56
+ </td></tr>
57
+ <tr><td>
58
+
40
59
  [ConsentChanged](./x-components.taggingxevents.consentchanged.md)
41
60
 
42
61
 
@@ -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; [trackBrowseWire](./x-components.trackbrowsewire.md)
4
+
5
+ ## trackBrowseWire variable
6
+
7
+ Tracks the tagging of the browse category.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ trackBrowseWire: Wire<TaggingRequest | TaggingRequest[]>
13
+ ```
package/js/index.js CHANGED
@@ -451,7 +451,7 @@ export { DefaultExternalTaggingService } from './x-modules/tagging/service/exter
451
451
  export { track } from './x-modules/tagging/store/actions/track.action.js';
452
452
  export { taggingEmitters } from './x-modules/tagging/store/emitters.js';
453
453
  export { taggingXStoreModule } from './x-modules/tagging/store/module.js';
454
- export { createSetQueryTaggingFromQueryPreview, createTrackDisplayWire, createTrackRelatedPromptToolingDisplayClickWire, createTrackToolingAdd2CartWire, createTrackToolingDisplayWire, createTrackWire, setConsent, setNoResultsTaggingEnabledWire, setQueryTaggingFromQueryPreview, setQueryTaggingInfo, setTaggingConfig, taggingWiring, trackAddToCartWire, trackAiSuggestionsSearchWire, trackBannerClickedWire, trackDisplayClickedWire, trackElementDisplayedWire, trackNoResultsQueryWithFallbackWire, trackNoResultsQueryWithFallbackWireDebounced, trackNoResultsQueryWithSemanticsWire, trackNoResultsQueryWithSemanticsWireDebounced, trackPromotedClickedWire, trackQueryWire, trackRelatedPromptToolingDisplayClickWire, trackResultClickedWire, trackToolingAdd2CartWire, trackToolingDisplayClickedWire } from './x-modules/tagging/wiring.js';
454
+ export { createSetQueryTaggingFromQueryPreview, createTrackDisplayWire, createTrackRelatedPromptToolingDisplayClickWire, createTrackToolingAdd2CartWire, createTrackToolingDisplayWire, createTrackWire, setBrowseTaggingInfo, setConsent, setNoResultsTaggingEnabledWire, setQueryTaggingFromQueryPreview, setQueryTaggingInfo, setTaggingConfig, taggingWiring, trackAddToCartWire, trackAiSuggestionsSearchWire, trackBannerClickedWire, trackBrowseWire, trackDisplayClickedWire, trackElementDisplayedWire, trackNoResultsQueryWithFallbackWire, trackNoResultsQueryWithFallbackWireDebounced, trackNoResultsQueryWithSemanticsWire, trackNoResultsQueryWithSemanticsWireDebounced, trackPromotedClickedWire, trackQueryWire, trackRelatedPromptToolingDisplayClickWire, trackResultClickedWire, trackToolingAdd2CartWire, trackToolingDisplayClickedWire } from './x-modules/tagging/wiring.js';
455
455
  export { taggingXModule } from './x-modules/tagging/x-module.js';
456
456
  export { default as UrlHandler } from './x-modules/url/components/url-handler.vue.js';
457
457
  export { replaceableParams, urlEmitters } from './x-modules/url/store/emitters.js';
@@ -191,6 +191,7 @@ const facetsWiring = createWiring({
191
191
  setQuery,
192
192
  },
193
193
  UserBrowsedToCategory: {
194
+ clearAllFiltersButStickyWire,
194
195
  clearQuery,
195
196
  },
196
197
  UserClickedOpenX: {
@@ -1 +1 @@
1
- {"version":3,"file":"wiring.js","sources":["../../../../src/x-modules/facets/wiring.ts"],"sourcesContent":["import type { Facet } from '@empathyco/x-types'\nimport type { UrlParams } from '../../types/url-params'\nimport type { XEventPayload } from '../../wiring/index'\nimport { createRawFilters } from '../../utils/filters'\nimport { namespacedWireCommit, namespacedWireCommitWithoutPayload } from '../../wiring/index'\nimport { wireService, wireServiceWithoutPayload } from '../../wiring/wires.factory'\nimport { filter, mapWire } from '../../wiring/wires.operators'\nimport { createWiring } from '../../wiring/wiring.utils'\nimport { DefaultFacetsService } from './service/facets.service'\n\n/**\n * `facets` {@link XModuleName | XModule name}.\n *\n * @internal\n */\nconst moduleName = 'facets'\n\n/**\n * WireCommit for {@link FacetsXModule}.\n *\n * @internal\n */\nconst wireCommit = namespacedWireCommit(moduleName)\n\n/**\n * WireCommitWithoutPayload for {@link FacetsXModule}.\n *\n * @internal\n */\nconst wireCommitWithoutPayload = namespacedWireCommitWithoutPayload(moduleName)\n\n/**\n * Wires factory for {@link DefaultFacetsService}.\n */\nconst wireFacetsService = wireService(DefaultFacetsService.instance)\n\n/**\n * Wires without payload factory for {@link DefaultFacetsService}.\n */\nconst wireFacetsServiceWithoutPayload = wireServiceWithoutPayload(DefaultFacetsService.instance)\n\n/**\n * Saves the facets contained in the `search` group, removing the previous ones, and keeping the\n * previous filters selected state.\n *\n * @public\n */\nconst updateFacetsGroupWithSearchFacetsWire = mapWire(\n wireFacetsService('updateFacets'),\n (facets: Facet[]) => ({\n facets,\n id: 'search',\n }),\n)\n\n/**\n * Saves the facets contained in the group, removing the previous ones, and keeping the new filters\n * selected state.\n *\n * @public\n */\nconst setFacetsGroupWire = wireFacetsService('setFacets')\n\n/**\n * Toggles the selected state of a filter.\n *\n * @public\n */\nconst toggleFilterWire = wireFacetsService('toggle')\n\n/**\n * Deselects all the filters. Optionally, it can accept a list of facets ids as payload, and it will\n * only deselect the filters from those facets.\n *\n * @public\n */\nconst clearFiltersWire = wireFacetsService('clearFilters')\n\n/**\n * Deselects all selected filters.\n *\n * @public\n */\nconst clearAllFiltersWire = wireFacetsServiceWithoutPayload('clearFilters')\n\n/**\n * Deselects all selected filters but keep the sticky ones.\n *\n * @internal\n */\nconst clearAllFiltersButStickyWire = wireFacetsService('clearFiltersWithMetadata', {\n metadata: {\n keepSticky: true,\n },\n})\n\n/**\n * Deselects all selected filters only when oldValue is not empty.\n *\n * @public\n */\nconst clearAllFiltersOnSecondQuery = filter(\n clearAllFiltersButStickyWire,\n ({ metadata }) => !!metadata.oldValue,\n)\n\n/**\n * Selects the filter passed by payload.\n *\n * @public\n */\nconst selectFilterWire = wireFacetsService('select')\n\n/**\n * Saves the params from the url.\n *\n * @public\n */\nconst setFiltersFromUrl = mapWire(wireFacetsService('select'), ({ filter }: UrlParams) =>\n createRawFilters(filter),\n)\n\n/**\n * Saves the preselected filters.\n *\n * @public\n */\nconst updatePreselectedFilters = wireFacetsService('updatePreselectedFilters')\n\n/**\n * Selects the preselected filters stored in the state.\n *\n * @public\n */\nconst selectPreselectedFilterWire = wireFacetsService('selectPreselectedFilters')\n\n/**\n * Sets the facets state `query`.\n *\n * @public\n */\nconst setQuery = wireFacetsService('setQuery')\n\n/**\n * Clear the facets state `query` .\n *\n * @public\n */\nconst clearQuery = wireFacetsService('setQuery', '')\n\n/**\n * Removes all the sticky filters from the state.\n *\n * @internal\n */\nconst clearStickyFilters = filter<XEventPayload<'SearchResponseChanged'>>(\n wireCommitWithoutPayload('clearStickyFilters'),\n ({ eventPayload }) => {\n return eventPayload.totalResults === 0\n },\n)\n\n/**\n * Sets the filters of the facets module from a queryPreview's filters.\n *\n * @public\n */\nexport const setSelectedFiltersFromPreview = wireCommit(\n 'setFilters',\n ({ eventPayload: { filters } }) => (filters ? createRawFilters(filters) : []),\n)\n\n/**\n * Sets the filters of the facets module from a selectedHistoryQuery's filters.\n *\n * @public\n */\nexport const setFiltersFromHistoryQueries = wireCommit(\n 'setFilters',\n ({ eventPayload: { selectedFilters } }) => selectedFilters ?? [],\n)\n\n/**\n * Sets the query of the facets module from a queryPreview.\n *\n * @public\n */\nexport const setQueryFromPreview = wireCommit('setQuery', ({ eventPayload: { query } }) => query)\n\n/**\n * Wiring configuration for the {@link FacetsXModule | facets module}.\n *\n * @internal\n */\nexport const facetsWiring = createWiring({\n ParamsLoadedFromUrl: {\n // TODO: move this logic to Facets Service\n clearAllFiltersWire,\n setFiltersFromUrl,\n },\n PreselectedFiltersProvided: {\n updatePreselectedFilters,\n },\n FacetsChanged: {\n updateFacetsGroupWithSearchFacetsWire,\n },\n FacetsGroupProvided: {\n setFacetsGroupWire,\n },\n UserAcceptedAQuery: {\n setQuery,\n },\n FacetsQueryChanged: {\n clearAllFiltersOnSecondQuery,\n },\n UserChangedExtraParams: {\n clearAllFiltersButStickyWire,\n },\n UserClickedAFilter: {\n toggleFilterWire,\n },\n UserClickedClearAllFilters: {\n clearFiltersWire,\n },\n UserModifiedEditableNumberRangeFilter: {\n selectFilterWire,\n },\n UserClickedAllFilter: {\n clearFiltersWire,\n },\n UserClearedQuery: {\n clearAllFiltersButStickyWire,\n setQuery,\n },\n UserBrowsedToCategory: {\n clearQuery,\n },\n UserClickedOpenX: {\n selectPreselectedFilterWire,\n },\n SearchResponseChanged: {\n clearStickyFilters,\n },\n UserAcceptedAQueryPreview: {\n setQueryFromPreview,\n setSelectedFiltersFromPreview,\n },\n UserSelectedAHistoryQuery: {\n setFiltersFromHistoryQueries,\n },\n})\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiring.js","sources":["../../../../src/x-modules/facets/wiring.ts"],"sourcesContent":["import type { Facet } from '@empathyco/x-types'\nimport type { UrlParams } from '../../types/url-params'\nimport type { XEventPayload } from '../../wiring/index'\nimport { createRawFilters } from '../../utils/filters'\nimport { namespacedWireCommit, namespacedWireCommitWithoutPayload } from '../../wiring/index'\nimport { wireService, wireServiceWithoutPayload } from '../../wiring/wires.factory'\nimport { filter, mapWire } from '../../wiring/wires.operators'\nimport { createWiring } from '../../wiring/wiring.utils'\nimport { DefaultFacetsService } from './service/facets.service'\n\n/**\n * `facets` {@link XModuleName | XModule name}.\n *\n * @internal\n */\nconst moduleName = 'facets'\n\n/**\n * WireCommit for {@link FacetsXModule}.\n *\n * @internal\n */\nconst wireCommit = namespacedWireCommit(moduleName)\n\n/**\n * WireCommitWithoutPayload for {@link FacetsXModule}.\n *\n * @internal\n */\nconst wireCommitWithoutPayload = namespacedWireCommitWithoutPayload(moduleName)\n\n/**\n * Wires factory for {@link DefaultFacetsService}.\n */\nconst wireFacetsService = wireService(DefaultFacetsService.instance)\n\n/**\n * Wires without payload factory for {@link DefaultFacetsService}.\n */\nconst wireFacetsServiceWithoutPayload = wireServiceWithoutPayload(DefaultFacetsService.instance)\n\n/**\n * Saves the facets contained in the `search` group, removing the previous ones, and keeping the\n * previous filters selected state.\n *\n * @public\n */\nconst updateFacetsGroupWithSearchFacetsWire = mapWire(\n wireFacetsService('updateFacets'),\n (facets: Facet[]) => ({\n facets,\n id: 'search',\n }),\n)\n\n/**\n * Saves the facets contained in the group, removing the previous ones, and keeping the new filters\n * selected state.\n *\n * @public\n */\nconst setFacetsGroupWire = wireFacetsService('setFacets')\n\n/**\n * Toggles the selected state of a filter.\n *\n * @public\n */\nconst toggleFilterWire = wireFacetsService('toggle')\n\n/**\n * Deselects all the filters. Optionally, it can accept a list of facets ids as payload, and it will\n * only deselect the filters from those facets.\n *\n * @public\n */\nconst clearFiltersWire = wireFacetsService('clearFilters')\n\n/**\n * Deselects all selected filters.\n *\n * @public\n */\nconst clearAllFiltersWire = wireFacetsServiceWithoutPayload('clearFilters')\n\n/**\n * Deselects all selected filters but keep the sticky ones.\n *\n * @internal\n */\nconst clearAllFiltersButStickyWire = wireFacetsService('clearFiltersWithMetadata', {\n metadata: {\n keepSticky: true,\n },\n})\n\n/**\n * Deselects all selected filters only when oldValue is not empty.\n *\n * @public\n */\nconst clearAllFiltersOnSecondQuery = filter(\n clearAllFiltersButStickyWire,\n ({ metadata }) => !!metadata.oldValue,\n)\n\n/**\n * Selects the filter passed by payload.\n *\n * @public\n */\nconst selectFilterWire = wireFacetsService('select')\n\n/**\n * Saves the params from the url.\n *\n * @public\n */\nconst setFiltersFromUrl = mapWire(wireFacetsService('select'), ({ filter }: UrlParams) =>\n createRawFilters(filter),\n)\n\n/**\n * Saves the preselected filters.\n *\n * @public\n */\nconst updatePreselectedFilters = wireFacetsService('updatePreselectedFilters')\n\n/**\n * Selects the preselected filters stored in the state.\n *\n * @public\n */\nconst selectPreselectedFilterWire = wireFacetsService('selectPreselectedFilters')\n\n/**\n * Sets the facets state `query`.\n *\n * @public\n */\nconst setQuery = wireFacetsService('setQuery')\n\n/**\n * Clear the facets state `query` .\n *\n * @public\n */\nconst clearQuery = wireFacetsService('setQuery', '')\n\n/**\n * Removes all the sticky filters from the state.\n *\n * @internal\n */\nconst clearStickyFilters = filter<XEventPayload<'SearchResponseChanged'>>(\n wireCommitWithoutPayload('clearStickyFilters'),\n ({ eventPayload }) => {\n return eventPayload.totalResults === 0\n },\n)\n\n/**\n * Sets the filters of the facets module from a queryPreview's filters.\n *\n * @public\n */\nexport const setSelectedFiltersFromPreview = wireCommit(\n 'setFilters',\n ({ eventPayload: { filters } }) => (filters ? createRawFilters(filters) : []),\n)\n\n/**\n * Sets the filters of the facets module from a selectedHistoryQuery's filters.\n *\n * @public\n */\nexport const setFiltersFromHistoryQueries = wireCommit(\n 'setFilters',\n ({ eventPayload: { selectedFilters } }) => selectedFilters ?? [],\n)\n\n/**\n * Sets the query of the facets module from a queryPreview.\n *\n * @public\n */\nexport const setQueryFromPreview = wireCommit('setQuery', ({ eventPayload: { query } }) => query)\n\n/**\n * Wiring configuration for the {@link FacetsXModule | facets module}.\n *\n * @internal\n */\nexport const facetsWiring = createWiring({\n ParamsLoadedFromUrl: {\n // TODO: move this logic to Facets Service\n clearAllFiltersWire,\n setFiltersFromUrl,\n },\n PreselectedFiltersProvided: {\n updatePreselectedFilters,\n },\n FacetsChanged: {\n updateFacetsGroupWithSearchFacetsWire,\n },\n FacetsGroupProvided: {\n setFacetsGroupWire,\n },\n UserAcceptedAQuery: {\n setQuery,\n },\n FacetsQueryChanged: {\n clearAllFiltersOnSecondQuery,\n },\n UserChangedExtraParams: {\n clearAllFiltersButStickyWire,\n },\n UserClickedAFilter: {\n toggleFilterWire,\n },\n UserClickedClearAllFilters: {\n clearFiltersWire,\n },\n UserModifiedEditableNumberRangeFilter: {\n selectFilterWire,\n },\n UserClickedAllFilter: {\n clearFiltersWire,\n },\n UserClearedQuery: {\n clearAllFiltersButStickyWire,\n setQuery,\n },\n UserBrowsedToCategory: {\n clearAllFiltersButStickyWire,\n clearQuery,\n },\n UserClickedOpenX: {\n selectPreselectedFilterWire,\n },\n SearchResponseChanged: {\n clearStickyFilters,\n },\n UserAcceptedAQueryPreview: {\n setQueryFromPreview,\n setSelectedFiltersFromPreview,\n },\n UserSelectedAHistoryQuery: {\n setFiltersFromHistoryQueries,\n },\n})\n"],"names":[],"mappings":"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"}
@@ -92,6 +92,7 @@ const searchBoxWiring = createWiring({
92
92
  transitionState: setInputStatus('UserClearedQuery'),
93
93
  },
94
94
  UserBrowsedToCategory: {
95
+ clearSearchBoxQuery,
95
96
  transitionState: setInputStatus('UserClearedQuery'),
96
97
  },
97
98
  UserFocusedSearchBox: {
@@ -1 +1 @@
1
- {"version":3,"file":"wiring.js","sources":["../../../../src/x-modules/search-box/wiring.ts"],"sourcesContent":["import type { XEvent } from '../../wiring/events.types'\nimport type { NamespacedWireCommit } from '../../wiring/namespaced-wiring.types'\nimport type { AnyWire } from '../../wiring/wiring.types'\nimport { filter } from '../../wiring/index'\nimport { namespacedWireCommit, namespacedWireDispatch } from '../../wiring/namespaced-wires.factory'\nimport { createWiring } from '../../wiring/wiring.utils'\n\n/**\n * `searchBox` {@link XModuleName | XModule name}.\n *\n * @internal\n */\nconst moduleName = 'searchBox'\n\n/**\n * WireCommit for {@link SearchBoxXModule}.\n *\n * @internal\n */\nconst wireCommit: NamespacedWireCommit<typeof moduleName> = namespacedWireCommit(moduleName)\n\n/**\n * WireDispatch for {@link SearchBoxXModule}.\n *\n * @internal\n */\nconst wireDispatch = namespacedWireDispatch(moduleName)\n\n/**\n * Sets the query of the search-box module.\n *\n * @public\n */\nconst setSearchBoxQuery = wireCommit('setQuery')\n\n/**\n * Sets the search state `query` with the selectedQueryPreview's query.\n *\n * @public\n */\nconst setSearchBoxQueryFromPreview = wireCommit('setQuery', ({ eventPayload: { query } }) => query)\n\n/**\n * Clears the query of the search-box module.\n *\n * @public\n */\nconst clearSearchBoxQuery = wireCommit('setQuery', '')\n\n/**\n * Sets the search state `query`.\n *\n * @public\n */\nconst setUrlParams = wireDispatch('setUrlParams')\n\n/**\n * Sets the search state `status`.\n *\n * @param event - The {@link XEvent} used to transition the status.\n *\n * @returns A wire.\n *\n * @public\n */\nconst setInputStatus = (event: XEvent): AnyWire => wireDispatch('setInputStatus', event)\n\n/**\n * SearchBox wiring.\n *\n * @internal\n */\nexport const searchBoxWiring = createWiring({\n ParamsLoadedFromUrl: {\n setUrlParams,\n transitionState: filter(setInputStatus('UserAcceptedAQuery'), ({ eventPayload: urlParams }) => {\n // eslint-disable-next-line ts/no-unsafe-member-access\n return !!urlParams.query\n }),\n },\n UserIsTypingAQuery: {\n setSearchBoxQuery,\n transitionState: setInputStatus('UserIsTypingAQuery'),\n },\n UserAcceptedAQuery: {\n setSearchBoxQuery,\n transitionState: setInputStatus('UserAcceptedAQuery'),\n },\n UserAcceptedAQueryPreview: {\n setSearchBoxQueryFromPreview,\n transitionState: setInputStatus('UserAcceptedAQuery'),\n },\n UserPressedClearSearchBoxButton: {\n clearSearchBoxQuery,\n },\n UserClickedCloseX: {\n clearSearchBoxQuery,\n },\n UserClickedOutOfMainModal: {\n clearSearchBoxQuery,\n },\n UserClearedQuery: {\n transitionState: setInputStatus('UserClearedQuery'),\n },\n UserBrowsedToCategory: {\n transitionState: setInputStatus('UserClearedQuery'),\n },\n UserFocusedSearchBox: {\n transitionState: setInputStatus('UserFocusedSearchBox'),\n },\n UserBlurredSearchBox: {\n transitionState: setInputStatus('UserBlurredSearchBox'),\n },\n})\n"],"names":[],"mappings":";;;;AAOA;;;;AAIG;AACH,MAAM,UAAU,GAAG,WAAW;AAE9B;;;;AAIG;AACH,MAAM,UAAU,GAA4C,oBAAoB,CAAC,UAAU,CAAC;AAE5F;;;;AAIG;AACH,MAAM,YAAY,GAAG,sBAAsB,CAAC,UAAU,CAAC;AAEvD;;;;AAIG;AACH,MAAM,iBAAiB,GAAG,UAAU,CAAC,UAAU,CAAC;AAEhD;;;;AAIG;AACH,MAAM,4BAA4B,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,CAAC;AAEnG;;;;AAIG;AACH,MAAM,mBAAmB,GAAG,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;AAEtD;;;;AAIG;AACH,MAAM,YAAY,GAAG,YAAY,CAAC,cAAc,CAAC;AAEjD;;;;;;;;AAQG;AACH,MAAM,cAAc,GAAG,CAAC,KAAa,KAAc,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC;AAExF;;;;AAIG;AACI,MAAM,eAAe,GAAG,YAAY,CAAC;AAC1C,IAAA,mBAAmB,EAAE;QACnB,YAAY;AACZ,QAAA,eAAe,EAAE,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,KAAI;;AAE5F,YAAA,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK;AAC1B,QAAA,CAAC,CAAC;AACH,KAAA;AACD,IAAA,kBAAkB,EAAE;QAClB,iBAAiB;AACjB,QAAA,eAAe,EAAE,cAAc,CAAC,oBAAoB,CAAC;AACtD,KAAA;AACD,IAAA,kBAAkB,EAAE;QAClB,iBAAiB;AACjB,QAAA,eAAe,EAAE,cAAc,CAAC,oBAAoB,CAAC;AACtD,KAAA;AACD,IAAA,yBAAyB,EAAE;QACzB,4BAA4B;AAC5B,QAAA,eAAe,EAAE,cAAc,CAAC,oBAAoB,CAAC;AACtD,KAAA;AACD,IAAA,+BAA+B,EAAE;QAC/B,mBAAmB;AACpB,KAAA;AACD,IAAA,iBAAiB,EAAE;QACjB,mBAAmB;AACpB,KAAA;AACD,IAAA,yBAAyB,EAAE;QACzB,mBAAmB;AACpB,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,eAAe,EAAE,cAAc,CAAC,kBAAkB,CAAC;AACpD,KAAA;AACD,IAAA,qBAAqB,EAAE;AACrB,QAAA,eAAe,EAAE,cAAc,CAAC,kBAAkB,CAAC;AACpD,KAAA;AACD,IAAA,oBAAoB,EAAE;AACpB,QAAA,eAAe,EAAE,cAAc,CAAC,sBAAsB,CAAC;AACxD,KAAA;AACD,IAAA,oBAAoB,EAAE;AACpB,QAAA,eAAe,EAAE,cAAc,CAAC,sBAAsB,CAAC;AACxD,KAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"wiring.js","sources":["../../../../src/x-modules/search-box/wiring.ts"],"sourcesContent":["import type { XEvent } from '../../wiring/events.types'\nimport type { NamespacedWireCommit } from '../../wiring/namespaced-wiring.types'\nimport type { AnyWire } from '../../wiring/wiring.types'\nimport { filter } from '../../wiring/index'\nimport { namespacedWireCommit, namespacedWireDispatch } from '../../wiring/namespaced-wires.factory'\nimport { createWiring } from '../../wiring/wiring.utils'\n\n/**\n * `searchBox` {@link XModuleName | XModule name}.\n *\n * @internal\n */\nconst moduleName = 'searchBox'\n\n/**\n * WireCommit for {@link SearchBoxXModule}.\n *\n * @internal\n */\nconst wireCommit: NamespacedWireCommit<typeof moduleName> = namespacedWireCommit(moduleName)\n\n/**\n * WireDispatch for {@link SearchBoxXModule}.\n *\n * @internal\n */\nconst wireDispatch = namespacedWireDispatch(moduleName)\n\n/**\n * Sets the query of the search-box module.\n *\n * @public\n */\nconst setSearchBoxQuery = wireCommit('setQuery')\n\n/**\n * Sets the search state `query` with the selectedQueryPreview's query.\n *\n * @public\n */\nconst setSearchBoxQueryFromPreview = wireCommit('setQuery', ({ eventPayload: { query } }) => query)\n\n/**\n * Clears the query of the search-box module.\n *\n * @public\n */\nconst clearSearchBoxQuery = wireCommit('setQuery', '')\n\n/**\n * Sets the search state `query`.\n *\n * @public\n */\nconst setUrlParams = wireDispatch('setUrlParams')\n\n/**\n * Sets the search state `status`.\n *\n * @param event - The {@link XEvent} used to transition the status.\n *\n * @returns A wire.\n *\n * @public\n */\nconst setInputStatus = (event: XEvent): AnyWire => wireDispatch('setInputStatus', event)\n\n/**\n * SearchBox wiring.\n *\n * @internal\n */\nexport const searchBoxWiring = createWiring({\n ParamsLoadedFromUrl: {\n setUrlParams,\n transitionState: filter(setInputStatus('UserAcceptedAQuery'), ({ eventPayload: urlParams }) => {\n // eslint-disable-next-line ts/no-unsafe-member-access\n return !!urlParams.query\n }),\n },\n UserIsTypingAQuery: {\n setSearchBoxQuery,\n transitionState: setInputStatus('UserIsTypingAQuery'),\n },\n UserAcceptedAQuery: {\n setSearchBoxQuery,\n transitionState: setInputStatus('UserAcceptedAQuery'),\n },\n UserAcceptedAQueryPreview: {\n setSearchBoxQueryFromPreview,\n transitionState: setInputStatus('UserAcceptedAQuery'),\n },\n UserPressedClearSearchBoxButton: {\n clearSearchBoxQuery,\n },\n UserClickedCloseX: {\n clearSearchBoxQuery,\n },\n UserClickedOutOfMainModal: {\n clearSearchBoxQuery,\n },\n UserClearedQuery: {\n transitionState: setInputStatus('UserClearedQuery'),\n },\n UserBrowsedToCategory: {\n clearSearchBoxQuery,\n transitionState: setInputStatus('UserClearedQuery'),\n },\n UserFocusedSearchBox: {\n transitionState: setInputStatus('UserFocusedSearchBox'),\n },\n UserBlurredSearchBox: {\n transitionState: setInputStatus('UserBlurredSearchBox'),\n },\n})\n"],"names":[],"mappings":";;;;AAOA;;;;AAIG;AACH,MAAM,UAAU,GAAG,WAAW;AAE9B;;;;AAIG;AACH,MAAM,UAAU,GAA4C,oBAAoB,CAAC,UAAU,CAAC;AAE5F;;;;AAIG;AACH,MAAM,YAAY,GAAG,sBAAsB,CAAC,UAAU,CAAC;AAEvD;;;;AAIG;AACH,MAAM,iBAAiB,GAAG,UAAU,CAAC,UAAU,CAAC;AAEhD;;;;AAIG;AACH,MAAM,4BAA4B,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,CAAC;AAEnG;;;;AAIG;AACH,MAAM,mBAAmB,GAAG,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;AAEtD;;;;AAIG;AACH,MAAM,YAAY,GAAG,YAAY,CAAC,cAAc,CAAC;AAEjD;;;;;;;;AAQG;AACH,MAAM,cAAc,GAAG,CAAC,KAAa,KAAc,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC;AAExF;;;;AAIG;AACI,MAAM,eAAe,GAAG,YAAY,CAAC;AAC1C,IAAA,mBAAmB,EAAE;QACnB,YAAY;AACZ,QAAA,eAAe,EAAE,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,KAAI;;AAE5F,YAAA,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK;AAC1B,QAAA,CAAC,CAAC;AACH,KAAA;AACD,IAAA,kBAAkB,EAAE;QAClB,iBAAiB;AACjB,QAAA,eAAe,EAAE,cAAc,CAAC,oBAAoB,CAAC;AACtD,KAAA;AACD,IAAA,kBAAkB,EAAE;QAClB,iBAAiB;AACjB,QAAA,eAAe,EAAE,cAAc,CAAC,oBAAoB,CAAC;AACtD,KAAA;AACD,IAAA,yBAAyB,EAAE;QACzB,4BAA4B;AAC5B,QAAA,eAAe,EAAE,cAAc,CAAC,oBAAoB,CAAC;AACtD,KAAA;AACD,IAAA,+BAA+B,EAAE;QAC/B,mBAAmB;AACpB,KAAA;AACD,IAAA,iBAAiB,EAAE;QACjB,mBAAmB;AACpB,KAAA;AACD,IAAA,yBAAyB,EAAE;QACzB,mBAAmB;AACpB,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,eAAe,EAAE,cAAc,CAAC,kBAAkB,CAAC;AACpD,KAAA;AACD,IAAA,qBAAqB,EAAE;QACrB,mBAAmB;AACnB,QAAA,eAAe,EAAE,cAAc,CAAC,kBAAkB,CAAC;AACpD,KAAA;AACD,IAAA,oBAAoB,EAAE;AACpB,QAAA,eAAe,EAAE,cAAc,CAAC,sBAAsB,CAAC;AACxD,KAAA;AACD,IAAA,oBAAoB,EAAE;AACpB,QAAA,eAAe,EAAE,cAAc,CAAC,sBAAsB,CAAC;AACxD,KAAA;AACF,CAAA;;;;"}
@@ -9,6 +9,7 @@ import { taggingXStoreModule } from './module.js';
9
9
  const taggingEmitters = createStoreEmitters(taggingXStoreModule, {
10
10
  ConsentChanged: state => state.consent,
11
11
  SearchTaggingReceived: state => state.queryTaggingInfo,
12
+ BrowseTaggingReceived: state => state.browseTaggingInfo,
12
13
  ResultURLTrackingEnabled: {
13
14
  selector: state => state.config.storageKey,
14
15
  filter: newValue => newValue === 'url',
@@ -1 +1 @@
1
- {"version":3,"file":"emitters.js","sources":["../../../../../src/x-modules/tagging/store/emitters.ts"],"sourcesContent":["import { createStoreEmitters } from '../../../store/utils/store-emitters.utils'\nimport { taggingXStoreModule } from './module'\n\n/**\n * {@link StoreEmitters} For the tagging module.\n *\n * @internal\n */\nexport const taggingEmitters = createStoreEmitters(taggingXStoreModule, {\n ConsentChanged: state => state.consent!,\n SearchTaggingReceived: state => state.queryTaggingInfo!,\n ResultURLTrackingEnabled: {\n selector: state => state.config.storageKey!,\n filter: newValue => newValue === 'url',\n },\n})\n"],"names":[],"mappings":";;;AAGA;;;;AAIG;AACI,MAAM,eAAe,GAAG,mBAAmB,CAAC,mBAAmB,EAAE;AACtE,IAAA,cAAc,EAAE,KAAK,IAAI,KAAK,CAAC,OAAQ;AACvC,IAAA,qBAAqB,EAAE,KAAK,IAAI,KAAK,CAAC,gBAAiB;AACvD,IAAA,wBAAwB,EAAE;QACxB,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,UAAW;AAC3C,QAAA,MAAM,EAAE,QAAQ,IAAI,QAAQ,KAAK,KAAK;AACvC,KAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"emitters.js","sources":["../../../../../src/x-modules/tagging/store/emitters.ts"],"sourcesContent":["import { createStoreEmitters } from '../../../store/utils/store-emitters.utils'\nimport { taggingXStoreModule } from './module'\n\n/**\n * {@link StoreEmitters} For the tagging module.\n *\n * @internal\n */\nexport const taggingEmitters = createStoreEmitters(taggingXStoreModule, {\n ConsentChanged: state => state.consent!,\n SearchTaggingReceived: state => state.queryTaggingInfo!,\n BrowseTaggingReceived: state => state.browseTaggingInfo!,\n ResultURLTrackingEnabled: {\n selector: state => state.config.storageKey!,\n filter: newValue => newValue === 'url',\n },\n})\n"],"names":[],"mappings":";;;AAGA;;;;AAIG;AACI,MAAM,eAAe,GAAG,mBAAmB,CAAC,mBAAmB,EAAE;AACtE,IAAA,cAAc,EAAE,KAAK,IAAI,KAAK,CAAC,OAAQ;AACvC,IAAA,qBAAqB,EAAE,KAAK,IAAI,KAAK,CAAC,gBAAiB;AACvD,IAAA,qBAAqB,EAAE,KAAK,IAAI,KAAK,CAAC,iBAAkB;AACxD,IAAA,wBAAwB,EAAE;QACxB,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,UAAW;AAC3C,QAAA,MAAM,EAAE,QAAQ,IAAI,QAAQ,KAAK,KAAK;AACvC,KAAA;AACF,CAAA;;;;"}
@@ -21,6 +21,7 @@ const taggingXStoreModule = {
21
21
  toolingDisplayClick: null,
22
22
  toolingDisplayAdd2Cart: null,
23
23
  },
24
+ browseTaggingInfo: null,
24
25
  }),
25
26
  getters: {},
26
27
  mutations: {
@@ -30,6 +31,9 @@ const taggingXStoreModule = {
30
31
  setQueryTaggingInfo(state, queryTaggingInfo) {
31
32
  state.queryTaggingInfo = queryTaggingInfo;
32
33
  },
34
+ setBrowseTaggingInfo(state, browseTaggingInfo) {
35
+ state.browseTaggingInfo = browseTaggingInfo;
36
+ },
33
37
  setNoResultsTaggingEnabled(state, module) {
34
38
  if (module === 'semanticQueries' || module === 'relatedPrompts') {
35
39
  state.noResultsTaggingEnabled = true;
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sources":["../../../../../src/x-modules/tagging/store/module.ts"],"sourcesContent":["import type { TaggingRequest } from '@empathyco/x-types'\nimport type { TaggingXStoreModule } from './types'\nimport { mergeConfig, setConfig } from '../../../store/utils/config-store.utils'\nimport { track } from './actions/track.action'\n\n/**\n * {@link XStoreModule} For the tagging module.\n *\n * @internal\n */\nexport const taggingXStoreModule: TaggingXStoreModule = {\n state: () => ({\n config: {\n sessionTTLMs: 30 * 60 * 1000,\n queryTaggingDebounceMs: 2000,\n storageKey: null,\n storageTTLMs: null,\n },\n consent: null,\n noResultsTaggingEnabled: false,\n queryTaggingInfo: null,\n toolingTaggingInfo: {\n toolingDisplayClick: null,\n toolingDisplayAdd2Cart: null,\n },\n }),\n getters: {},\n mutations: {\n setConsent(state, consent) {\n state.consent = consent\n },\n setQueryTaggingInfo(state, queryTaggingInfo: TaggingRequest) {\n state.queryTaggingInfo = queryTaggingInfo\n },\n setNoResultsTaggingEnabled(state, module) {\n if (module === 'semanticQueries' || module === 'relatedPrompts') {\n state.noResultsTaggingEnabled = true\n }\n },\n setConfig,\n mergeConfig,\n },\n actions: {\n track,\n },\n}\n"],"names":[],"mappings":";;;AAKA;;;;AAIG;AACI,MAAM,mBAAmB,GAAwB;AACtD,IAAA,KAAK,EAAE,OAAO;AACZ,QAAA,MAAM,EAAE;AACN,YAAA,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;AAC5B,YAAA,sBAAsB,EAAE,IAAI;AAC5B,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA;AACD,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,uBAAuB,EAAE,KAAK;AAC9B,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,kBAAkB,EAAE;AAClB,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,sBAAsB,EAAE,IAAI;AAC7B,SAAA;KACF,CAAC;AACF,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,SAAS,EAAE;QACT,UAAU,CAAC,KAAK,EAAE,OAAO,EAAA;AACvB,YAAA,KAAK,CAAC,OAAO,GAAG,OAAO;QACzB,CAAC;QACD,mBAAmB,CAAC,KAAK,EAAE,gBAAgC,EAAA;AACzD,YAAA,KAAK,CAAC,gBAAgB,GAAG,gBAAgB;QAC3C,CAAC;QACD,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAA;YACtC,IAAI,MAAM,KAAK,iBAAiB,IAAI,MAAM,KAAK,gBAAgB,EAAE;AAC/D,gBAAA,KAAK,CAAC,uBAAuB,GAAG,IAAI;YACtC;QACF,CAAC;QACD,SAAS;QACT,WAAW;AACZ,KAAA;AACD,IAAA,OAAO,EAAE;QACP,KAAK;AACN,KAAA;;;;;"}
1
+ {"version":3,"file":"module.js","sources":["../../../../../src/x-modules/tagging/store/module.ts"],"sourcesContent":["import type { TaggingRequest } from '@empathyco/x-types'\nimport type { TaggingXStoreModule } from './types'\nimport { mergeConfig, setConfig } from '../../../store/utils/config-store.utils'\nimport { track } from './actions/track.action'\n\n/**\n * {@link XStoreModule} For the tagging module.\n *\n * @internal\n */\nexport const taggingXStoreModule: TaggingXStoreModule = {\n state: () => ({\n config: {\n sessionTTLMs: 30 * 60 * 1000,\n queryTaggingDebounceMs: 2000,\n storageKey: null,\n storageTTLMs: null,\n },\n consent: null,\n noResultsTaggingEnabled: false,\n queryTaggingInfo: null,\n toolingTaggingInfo: {\n toolingDisplayClick: null,\n toolingDisplayAdd2Cart: null,\n },\n browseTaggingInfo: null,\n }),\n getters: {},\n mutations: {\n setConsent(state, consent) {\n state.consent = consent\n },\n setQueryTaggingInfo(state, queryTaggingInfo: TaggingRequest) {\n state.queryTaggingInfo = queryTaggingInfo\n },\n setBrowseTaggingInfo(state, browseTaggingInfo: TaggingRequest) {\n state.browseTaggingInfo = browseTaggingInfo\n },\n setNoResultsTaggingEnabled(state, module) {\n if (module === 'semanticQueries' || module === 'relatedPrompts') {\n state.noResultsTaggingEnabled = true\n }\n },\n setConfig,\n mergeConfig,\n },\n actions: {\n track,\n },\n}\n"],"names":[],"mappings":";;;AAKA;;;;AAIG;AACI,MAAM,mBAAmB,GAAwB;AACtD,IAAA,KAAK,EAAE,OAAO;AACZ,QAAA,MAAM,EAAE;AACN,YAAA,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;AAC5B,YAAA,sBAAsB,EAAE,IAAI;AAC5B,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA;AACD,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,uBAAuB,EAAE,KAAK;AAC9B,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,kBAAkB,EAAE;AAClB,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,sBAAsB,EAAE,IAAI;AAC7B,SAAA;AACD,QAAA,iBAAiB,EAAE,IAAI;KACxB,CAAC;AACF,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,SAAS,EAAE;QACT,UAAU,CAAC,KAAK,EAAE,OAAO,EAAA;AACvB,YAAA,KAAK,CAAC,OAAO,GAAG,OAAO;QACzB,CAAC;QACD,mBAAmB,CAAC,KAAK,EAAE,gBAAgC,EAAA;AACzD,YAAA,KAAK,CAAC,gBAAgB,GAAG,gBAAgB;QAC3C,CAAC;QACD,oBAAoB,CAAC,KAAK,EAAE,iBAAiC,EAAA;AAC3D,YAAA,KAAK,CAAC,iBAAiB,GAAG,iBAAiB;QAC7C,CAAC;QACD,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAA;YACtC,IAAI,MAAM,KAAK,iBAAiB,IAAI,MAAM,KAAK,gBAAgB,EAAE;AAC/D,gBAAA,KAAK,CAAC,uBAAuB,GAAG,IAAI;YACtC;QACF,CAAC;QACD,SAAS;QACT,WAAW;AACZ,KAAA;AACD,IAAA,OAAO,EAAE;QACP,KAAK;AACN,KAAA;;;;;"}
@@ -95,6 +95,13 @@ const setTaggingConfig = wireCommit('mergeConfig');
95
95
  */
96
96
  const trackQueryWire = filter(wireDispatch('track'), ({ eventPayload, store }) => eventPayload.params.totalHits > 0 ||
97
97
  !store.state.x.tagging.noResultsTaggingEnabled);
98
+ /**
99
+ * Tracks the tagging of the browse category.
100
+ *
101
+ * @public
102
+ */
103
+ const trackBrowseWire = filter(wireDispatch('track'), ({ eventPayload, store }) => eventPayload.params.totalHits > 0 ||
104
+ !store.state.x.tagging.noResultsTaggingEnabled);
98
105
  /**
99
106
  * Sets the tagging state of the query tagging info using a debounce which ends if the user
100
107
  * accepts a query.
@@ -111,6 +118,22 @@ const setQueryTaggingInfo = moduleDebounce(wireCommit('setQueryTaggingInfo'), ({
111
118
  'UserReachedResultsListEnd',
112
119
  ],
113
120
  });
121
+ /**
122
+ * Sets the tagging state of the browse tagging info using a debounce which ends if the user
123
+ * accepts a query.
124
+ *
125
+ * @public
126
+ */
127
+ const setBrowseTaggingInfo = moduleDebounce(wireCommit('setBrowseTaggingInfo'), ({ state }) => state.config.queryTaggingDebounceMs, {
128
+ cancelOn: ['UserClickedOpenX', 'UserOpenXProgrammatically'],
129
+ forceOn: [
130
+ 'UserClickedAResult',
131
+ 'UserClickedAPromoted',
132
+ 'UserClickedABanner',
133
+ 'UserClickedARedirection',
134
+ 'UserReachedResultsListEnd',
135
+ ],
136
+ });
114
137
  /**
115
138
  * Sets the tagging state of the query tagging info using.
116
139
  *
@@ -354,6 +377,12 @@ const taggingWiring = createWiring({
354
377
  SearchTaggingReceived: {
355
378
  trackQueryWire,
356
379
  },
380
+ BrowseTaggingChanged: {
381
+ setBrowseTaggingInfo,
382
+ },
383
+ BrowseTaggingReceived: {
384
+ trackBrowseWire,
385
+ },
357
386
  TrackableElementDisplayed: {
358
387
  trackElementDisplayedWire,
359
388
  },
@@ -411,5 +440,5 @@ const taggingWiring = createWiring({
411
440
  },
412
441
  });
413
442
 
414
- export { createSetQueryTaggingFromQueryPreview, createTrackDisplayWire, createTrackRelatedPromptToolingDisplayClickWire, createTrackToolingAdd2CartWire, createTrackToolingDisplayWire, createTrackWire, setConsent, setNoResultsTaggingEnabledWire, setQueryTaggingFromQueryPreview, setQueryTaggingInfo, setTaggingConfig, taggingWiring, trackAddToCartWire, trackAiSuggestionsSearchWire, trackBannerClickedWire, trackDisplayClickedWire, trackElementDisplayedWire, trackNoResultsQueryWithFallbackWire, trackNoResultsQueryWithFallbackWireDebounced, trackNoResultsQueryWithSemanticsWire, trackNoResultsQueryWithSemanticsWireDebounced, trackPromotedClickedWire, trackQueryWire, trackRelatedPromptToolingDisplayClickWire, trackResultClickedWire, trackToolingAdd2CartWire, trackToolingDisplayClickedWire };
443
+ export { createSetQueryTaggingFromQueryPreview, createTrackDisplayWire, createTrackRelatedPromptToolingDisplayClickWire, createTrackToolingAdd2CartWire, createTrackToolingDisplayWire, createTrackWire, setBrowseTaggingInfo, setConsent, setNoResultsTaggingEnabledWire, setQueryTaggingFromQueryPreview, setQueryTaggingInfo, setTaggingConfig, taggingWiring, trackAddToCartWire, trackAiSuggestionsSearchWire, trackBannerClickedWire, trackBrowseWire, trackDisplayClickedWire, trackElementDisplayedWire, trackNoResultsQueryWithFallbackWire, trackNoResultsQueryWithFallbackWireDebounced, trackNoResultsQueryWithSemanticsWire, trackNoResultsQueryWithSemanticsWireDebounced, trackPromotedClickedWire, trackQueryWire, trackRelatedPromptToolingDisplayClickWire, trackResultClickedWire, trackToolingAdd2CartWire, trackToolingDisplayClickedWire };
415
444
  //# sourceMappingURL=wiring.js.map