@empathyco/x-components 6.0.0-alpha.180 → 6.0.0-alpha.181

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 (65) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/docs/API-reference/api/x-adapter-platform.facetsendpointadapter.md +13 -0
  3. package/docs/API-reference/api/x-adapter-platform.facetsrequestschema.md +13 -0
  4. package/docs/API-reference/api/x-adapter-platform.facetsresponsemapper.md +13 -0
  5. package/docs/API-reference/api/x-adapter-platform.md +5 -0
  6. package/docs/API-reference/api/x-adapter-platform.platformfacetsrequest.md +15 -0
  7. package/docs/API-reference/api/x-adapter-platform.platformfacetsresponse.catalog.md +13 -0
  8. package/docs/API-reference/api/x-adapter-platform.platformfacetsresponse.md +20 -0
  9. package/docs/API-reference/api/x-components.applyhierarchicalselection.md +25 -0
  10. package/docs/API-reference/api/x-components.facetsactions.cancelfetchandsavefacetsresponse.md +13 -0
  11. package/docs/API-reference/api/x-components.facetsactions.fetchandsavefacetsresponse.md +13 -0
  12. package/docs/API-reference/api/x-components.facetsactions.fetchfacetsresponse.md +13 -0
  13. package/docs/API-reference/api/x-components.facetsactions.md +10 -0
  14. package/docs/API-reference/api/x-components.facetsactions.saveorigin.md +13 -0
  15. package/docs/API-reference/api/x-components.facetsgetters.md +1 -0
  16. package/docs/API-reference/api/x-components.facetsgetters.request.md +13 -0
  17. package/docs/API-reference/api/x-components.facetsmutations.md +4 -2
  18. package/docs/API-reference/api/x-components.facetsmutations.setorigin.md +13 -0
  19. package/docs/API-reference/api/x-components.facetsmutations.setparams.md +13 -0
  20. package/docs/API-reference/api/x-components.facetsstate.md +4 -2
  21. package/docs/API-reference/api/x-components.facetsstate.origin.md +13 -0
  22. package/docs/API-reference/api/x-components.facetsstate.params.md +13 -0
  23. package/docs/API-reference/api/x-components.flattenallfilters.md +26 -0
  24. package/docs/API-reference/api/x-components.md +2 -0
  25. package/docs/API-reference/api/x-types.facetsrequest.md +15 -0
  26. package/docs/API-reference/api/x-types.facetsresponse.facets.md +11 -0
  27. package/docs/API-reference/api/x-types.facetsresponse.md +20 -0
  28. package/docs/API-reference/api/x-types.md +2 -0
  29. package/docs/API-reference/api/x-types.xcomponentsadapter.facets.md +11 -0
  30. package/docs/API-reference/api/x-types.xcomponentsadapter.md +1 -0
  31. package/facets/index.js +1 -1
  32. package/js/index.js +1 -1
  33. package/js/x-modules/facets/store/actions/fetch-and-save-facets-response.action.js +38 -0
  34. package/js/x-modules/facets/store/actions/fetch-and-save-facets-response.action.js.map +1 -0
  35. package/js/x-modules/facets/store/actions/fetch-facets-response.action.js +16 -0
  36. package/js/x-modules/facets/store/actions/fetch-facets-response.action.js.map +1 -0
  37. package/js/x-modules/facets/store/actions/save-origin.action.js +16 -0
  38. package/js/x-modules/facets/store/actions/save-origin.action.js.map +1 -0
  39. package/js/x-modules/facets/store/getters/request.getter.js +23 -0
  40. package/js/x-modules/facets/store/getters/request.getter.js.map +1 -0
  41. package/js/x-modules/facets/store/module.js +23 -1
  42. package/js/x-modules/facets/store/module.js.map +1 -1
  43. package/js/x-modules/facets/utils.js +43 -1
  44. package/js/x-modules/facets/utils.js.map +1 -1
  45. package/package.json +4 -4
  46. package/report/x-adapter-platform.api.json +274 -0
  47. package/report/x-components.api.json +465 -17
  48. package/report/x-components.api.md +21 -4
  49. package/report/x-types.api.json +170 -0
  50. package/types/adapter/e2e-adapter.d.ts.map +1 -1
  51. package/types/x-modules/facets/store/actions/fetch-and-save-facets-response.action.d.ts +5 -0
  52. package/types/x-modules/facets/store/actions/fetch-and-save-facets-response.action.d.ts.map +1 -0
  53. package/types/x-modules/facets/store/actions/fetch-facets-response.action.d.ts +13 -0
  54. package/types/x-modules/facets/store/actions/fetch-facets-response.action.d.ts.map +1 -0
  55. package/types/x-modules/facets/store/actions/save-origin.action.d.ts +11 -0
  56. package/types/x-modules/facets/store/actions/save-origin.action.d.ts.map +1 -0
  57. package/types/x-modules/facets/store/getters/request.getter.d.ts +13 -0
  58. package/types/x-modules/facets/store/getters/request.getter.d.ts.map +1 -0
  59. package/types/x-modules/facets/store/module.d.ts.map +1 -1
  60. package/types/x-modules/facets/store/types.d.ts +48 -7
  61. package/types/x-modules/facets/store/types.d.ts.map +1 -1
  62. package/types/x-modules/facets/utils.d.ts +19 -1
  63. package/types/x-modules/facets/utils.d.ts.map +1 -1
  64. package/types/x-modules/related-prompts/components/related-prompts-tag-list.vue.d.ts.map +1 -1
  65. package/docs/API-reference/api/x-components.facetsstate.query.md +0 -13
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
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
+ ## 6.0.0-alpha.181 (2025-11-20)
7
+
8
+ * feat: add standalone facets endpoint and module foundation (#1928) ([b3109e5](https://github.com/empathyco/x/commit/b3109e5)), closes [#1928](https://github.com/empathyco/x/issues/1928)
9
+
10
+
11
+
12
+
13
+
6
14
  ## 6.0.0-alpha.180 (2025-11-19)
7
15
 
8
16
  * chore(deps): update dependency @types/node to v24 (#1927) ([4b58181](https://github.com/empathyco/x/commit/4b58181)), closes [#1927](https://github.com/empathyco/x/issues/1927)
@@ -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; [facetsEndpointAdapter](./x-adapter-platform.facetsendpointadapter.md)
4
+
5
+ ## facetsEndpointAdapter variable
6
+
7
+ Default adapter for the search endpoint.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ facetsEndpointAdapter: import("@empathyco/x-adapter").ExtendableEndpointAdapter<FacetsRequest, FacetsResponse>
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-adapter-platform](./x-adapter-platform.md) &gt; [facetsRequestSchema](./x-adapter-platform.facetsrequestschema.md)
4
+
5
+ ## facetsRequestSchema variable
6
+
7
+ Default implementation for the FacetsRequestSchema.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ facetsRequestSchema: import("@empathyco/x-adapter").MutableSchema<FacetsRequest, PlatformFacetsRequest>
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-adapter-platform](./x-adapter-platform.md) &gt; [facetsResponseMapper](./x-adapter-platform.facetsresponsemapper.md)
4
+
5
+ ## facetsResponseMapper variable
6
+
7
+ Default implementation for the FacetsResponseMapper.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ facetsResponseMapper: import("@empathyco/x-adapter").Mapper<PlatformFacetsResponse, FacetsResponse>
13
+ ```
@@ -32,6 +32,8 @@
32
32
  | [PlatformExperienceControlsRequest](./x-adapter-platform.platformexperiencecontrolsrequest.md) | Request for the <code>experience controls</code> endpoint. |
33
33
  | [PlatformExperienceControlsResponse](./x-adapter-platform.platformexperiencecontrolsresponse.md) | Response for the <code>experience controls</code> endpoint. |
34
34
  | [PlatformFacet](./x-adapter-platform.platformfacet.md) | Facet model for the <code>platform</code> API. |
35
+ | [PlatformFacetsRequest](./x-adapter-platform.platformfacetsrequest.md) | Request for the <code>facets</code> endpoint. |
36
+ | [PlatformFacetsResponse](./x-adapter-platform.platformfacetsresponse.md) | Response for the <code>facets</code> endpoint. |
35
37
  | [PlatformFilter](./x-adapter-platform.platformfilter.md) | Filter model for the <code>platform</code> API. |
36
38
  | [PlatformHierarchicalFilter](./x-adapter-platform.platformhierarchicalfilter.md) | HierarchicalFilter model for the <code>platform</code> API. |
37
39
  | [PlatformIdentifierResultsRequest](./x-adapter-platform.platformidentifierresultsrequest.md) | Request for the <code>identifier results</code> endpoint. |
@@ -98,6 +100,9 @@
98
100
  | [experienceControlsResponseMapper](./x-adapter-platform.experiencecontrolsresponsemapper.md) | Default implementation for the ExperienceControlsResponseMapper. |
99
101
  | [experienceControlsResponseSchema](./x-adapter-platform.experiencecontrolsresponseschema.md) | Default implementation for the ExperienceControlsResponseSchema. |
100
102
  | [facetSchema](./x-adapter-platform.facetschema.md) | Default implementation for the FacetSchema. |
103
+ | [facetsEndpointAdapter](./x-adapter-platform.facetsendpointadapter.md) | Default adapter for the search endpoint. |
104
+ | [facetsRequestSchema](./x-adapter-platform.facetsrequestschema.md) | Default implementation for the FacetsRequestSchema. |
105
+ | [facetsResponseMapper](./x-adapter-platform.facetsresponsemapper.md) | Default implementation for the FacetsResponseMapper. |
101
106
  | [hierarchicalFilterSchema](./x-adapter-platform.hierarchicalfilterschema.md) | Default implementation for the HierarchicalFilterSchema. |
102
107
  | [identifierResultsEndpointAdapter](./x-adapter-platform.identifierresultsendpointadapter.md) | Default adapter for the identifier results endpoint. |
103
108
  | [identifierResultsRequestMapper](./x-adapter-platform.identifierresultsrequestmapper.md) | Default mapper for IdentifierResultsRequest. |
@@ -0,0 +1,15 @@
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; [PlatformFacetsRequest](./x-adapter-platform.platformfacetsrequest.md)
4
+
5
+ ## PlatformFacetsRequest interface
6
+
7
+ Request for the `facets` endpoint.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export interface PlatformFacetsRequest extends PlatformQueryableRequest, PlatformFilterableRequest, PlatformTrackableRequest, PlatformExtraParamsRequest
13
+ ```
14
+ **Extends:** PlatformQueryableRequest, PlatformFilterableRequest, PlatformTrackableRequest, PlatformExtraParamsRequest
15
+
@@ -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; [PlatformFacetsResponse](./x-adapter-platform.platformfacetsresponse.md) &gt; [catalog](./x-adapter-platform.platformfacetsresponse.catalog.md)
4
+
5
+ ## PlatformFacetsResponse.catalog property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ catalog: {
11
+ facets: PlatformFacet[];
12
+ };
13
+ ```
@@ -0,0 +1,20 @@
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; [PlatformFacetsResponse](./x-adapter-platform.platformfacetsresponse.md)
4
+
5
+ ## PlatformFacetsResponse interface
6
+
7
+ Response for the `facets` endpoint.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export interface PlatformFacetsResponse
13
+ ```
14
+
15
+ ## Properties
16
+
17
+ | Property | Modifiers | Type | Description |
18
+ | --- | --- | --- | --- |
19
+ | [catalog](./x-adapter-platform.platformfacetsresponse.catalog.md) | | { facets: [PlatformFacet](./x-adapter-platform.platformfacet.md)<!-- -->\[\]; } | |
20
+
@@ -0,0 +1,25 @@
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; [applyHierarchicalSelection](./x-components.applyhierarchicalselection.md)
4
+
5
+ ## applyHierarchicalSelection() function
6
+
7
+ Recursively applies the selected state to hierarchical filters and their children.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export declare function applyHierarchicalSelection(filters: HierarchicalFilter[], selectedIds: Set<string | number>): void;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Description |
18
+ | --- | --- | --- |
19
+ | filters | HierarchicalFilter\[\] | The hierarchical filters to update. |
20
+ | selectedIds | Set&lt;string \| number&gt; | The set of selected filter ids. |
21
+
22
+ **Returns:**
23
+
24
+ void
25
+
@@ -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; [FacetsActions](./x-components.facetsactions.md) &gt; [cancelFetchAndSaveFacetsResponse](./x-components.facetsactions.cancelfetchandsavefacetsresponse.md)
4
+
5
+ ## FacetsActions.cancelFetchAndSaveFacetsResponse property
6
+
7
+ Cancels / interrupt [FacetsActions.cancelFetchAndSaveFacetsResponse](./x-components.facetsactions.cancelfetchandsavefacetsresponse.md) synchronous promise.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ cancelFetchAndSaveFacetsResponse: () => 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; [FacetsActions](./x-components.facetsactions.md) &gt; [fetchAndSaveFacetsResponse](./x-components.facetsactions.fetchandsavefacetsresponse.md)
4
+
5
+ ## FacetsActions.fetchAndSaveFacetsResponse property
6
+
7
+ Fetches a new facets response and stores them in the module state.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ fetchAndSaveFacetsResponse: (request: FacetsRequest | null) => 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; [FacetsActions](./x-components.facetsactions.md) &gt; [fetchFacetsResponse](./x-components.facetsactions.fetchfacetsresponse.md)
4
+
5
+ ## FacetsActions.fetchFacetsResponse property
6
+
7
+ Fetches the facets response and returns them.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ fetchFacetsResponse: (request: FacetsRequest) => FacetsResponse;
13
+ ```
@@ -11,3 +11,13 @@ Facets store actions.
11
11
  ```typescript
12
12
  export interface FacetsActions
13
13
  ```
14
+
15
+ ## Properties
16
+
17
+ | Property | Modifiers | Type | Description |
18
+ | --- | --- | --- | --- |
19
+ | [cancelFetchAndSaveFacetsResponse](./x-components.facetsactions.cancelfetchandsavefacetsresponse.md) | | () =&gt; void | Cancels / interrupt [FacetsActions.cancelFetchAndSaveFacetsResponse](./x-components.facetsactions.cancelfetchandsavefacetsresponse.md) synchronous promise. |
20
+ | [fetchAndSaveFacetsResponse](./x-components.facetsactions.fetchandsavefacetsresponse.md) | | (request: FacetsRequest \| null) =&gt; void | Fetches a new facets response and stores them in the module state. |
21
+ | [fetchFacetsResponse](./x-components.facetsactions.fetchfacetsresponse.md) | | (request: FacetsRequest) =&gt; FacetsResponse | Fetches the facets response and returns them. |
22
+ | [saveOrigin](./x-components.facetsactions.saveorigin.md) | | (originInit: [QueryOriginInit](./x-components.queryorigininit.md)<!-- -->) =&gt; void | Creates a [QueryOrigin](./x-components.queryorigin.md) and saves it. |
23
+
@@ -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; [FacetsActions](./x-components.facetsactions.md) &gt; [saveOrigin](./x-components.facetsactions.saveorigin.md)
4
+
5
+ ## FacetsActions.saveOrigin property
6
+
7
+ Creates a [QueryOrigin](./x-components.queryorigin.md) and saves it.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ saveOrigin: (originInit: QueryOriginInit) => void;
13
+ ```
@@ -17,6 +17,7 @@ export interface FacetsGetters
17
17
  | Property | Modifiers | Type | Description |
18
18
  | --- | --- | --- | --- |
19
19
  | [facets](./x-components.facetsgetters.facets.md) | | Record&lt;Facet\['id'\], Facet&gt; | List of all facets with their filters. |
20
+ | [request](./x-components.facetsgetters.request.md) | | FacetsRequest \| null | The adapter request object for retrieving the facets, or null if there is no valid data to create a request. |
20
21
  | [selectedFilters](./x-components.facetsgetters.selectedfilters.md) | | Filter\[\] | List of all selected filters. |
21
22
  | [selectedFiltersByFacet](./x-components.facetsgetters.selectedfiltersbyfacet.md) | | [FiltersByFacet](./x-components.filtersbyfacet.md) | List of all selected filters grouped by their facet. |
22
23
  | [selectedFiltersForRequest](./x-components.facetsgetters.selectedfiltersforrequest.md) | | Filter\[\] | List of all selected filters that conform to the filters for request strategy. |
@@ -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; [FacetsGetters](./x-components.facetsgetters.md) &gt; [request](./x-components.facetsgetters.request.md)
4
+
5
+ ## FacetsGetters.request property
6
+
7
+ The adapter request object for retrieving the facets, or null if there is no valid data to create a request.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ request: FacetsRequest | null;
13
+ ```
@@ -9,9 +9,9 @@ Facets store mutations.
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- export interface FacetsMutations extends QueryMutations, ConfigMutations<FacetsState>
12
+ export interface FacetsMutations extends StatusMutations, QueryMutations, ConfigMutations<FacetsState>
13
13
  ```
14
- **Extends:** [QueryMutations](./x-components.querymutations.md)<!-- -->, [ConfigMutations](./x-components.configmutations.md)<!-- -->&lt;[FacetsState](./x-components.facetsstate.md)<!-- -->&gt;
14
+ **Extends:** [StatusMutations](./x-components.statusmutations.md)<!-- -->, [QueryMutations](./x-components.querymutations.md)<!-- -->, [ConfigMutations](./x-components.configmutations.md)<!-- -->&lt;[FacetsState](./x-components.facetsstate.md)<!-- -->&gt;
15
15
 
16
16
  ## Properties
17
17
 
@@ -26,6 +26,8 @@ export interface FacetsMutations extends QueryMutations, ConfigMutations<FacetsS
26
26
  | [setFacet](./x-components.facetsmutations.setfacet.md) | | (facet: Facet) =&gt; void | Adds the facet to the [facets](./x-components.facetsstate.facets.md) record. |
27
27
  | [setFacetGroup](./x-components.facetsmutations.setfacetgroup.md) | | (facetGroupEntry: [FacetGroupEntry](./x-components.facetgroupentry.md)<!-- -->) =&gt; void | Sets the group id of the facet. |
28
28
  | [setFilters](./x-components.facetsmutations.setfilters.md) | | (filters: Filter\[\]) =&gt; void | Adds a list of filters to the [filters](./x-components.facetsstate.filters.md) record. |
29
+ | [setOrigin](./x-components.facetsmutations.setorigin.md) | | (origin: [QueryOrigin](./x-components.queryorigin.md) \| undefined \| null) =&gt; void | Sets the origin of the module. |
30
+ | [setParams](./x-components.facetsmutations.setparams.md) | | (params: Dictionary&lt;unknown&gt;) =&gt; void | Sets the extra params of the module. |
29
31
  | [setPreselectedFilters](./x-components.facetsmutations.setpreselectedfilters.md) | | (filters: RawFilter\[\]) =&gt; void | Adds a list of filters to the [preselectedFilters](./x-components.facetsstate.preselectedfilters.md) record. |
30
32
  | [setStickyFilter](./x-components.facetsmutations.setstickyfilter.md) | | (filter: RawFilter) =&gt; void | Adds the filter to the [sticky filters](./x-components.facetsstate.stickyfilters.md) record. |
31
33
 
@@ -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; [FacetsMutations](./x-components.facetsmutations.md) &gt; [setOrigin](./x-components.facetsmutations.setorigin.md)
4
+
5
+ ## FacetsMutations.setOrigin property
6
+
7
+ Sets the origin of the module.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ setOrigin: (origin: QueryOrigin | undefined | null) => 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; [FacetsMutations](./x-components.facetsmutations.md) &gt; [setParams](./x-components.facetsmutations.setparams.md)
4
+
5
+ ## FacetsMutations.setParams property
6
+
7
+ Sets the extra params of the module.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ setParams: (params: Dictionary<unknown>) => void;
13
+ ```
@@ -9,8 +9,9 @@ Facets store state.
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- export interface FacetsState
12
+ export interface FacetsState extends StatusState, QueryState
13
13
  ```
14
+ **Extends:** [StatusState](./x-components.statusstate.md)<!-- -->, [QueryState](./x-components.querystate.md)
14
15
 
15
16
  ## Properties
16
17
 
@@ -20,7 +21,8 @@ export interface FacetsState
20
21
  | [facets](./x-components.facetsstate.facets.md) | | Record&lt;Facet\['id'\], Omit&lt;Facet, 'filters'&gt;&gt; | The facets without their filters. |
21
22
  | [filters](./x-components.facetsstate.filters.md) | | Record&lt;Filter\['id'\], Filter&gt; | Record of all available filters indexed by its id. |
22
23
  | [groups](./x-components.facetsstate.groups.md) | | Record&lt;Facet\['id'\], [GroupId](./x-components.groupid.md)<!-- -->&gt; | Record specifying the group each facet belongs to. |
24
+ | [origin](./x-components.facetsstate.origin.md) | | [QueryOrigin](./x-components.queryorigin.md) \| null | The origin property of the request. |
25
+ | [params](./x-components.facetsstate.params.md) | | Dictionary&lt;unknown&gt; | The extra params property of the state. |
23
26
  | [preselectedFilters](./x-components.facetsstate.preselectedfilters.md) | | RawFilter\[\] | Record of preselected filters indexed by its id. |
24
- | [query](./x-components.facetsstate.query.md) | | string | The current query [FacetsState.query](./x-components.facetsstate.query.md)<!-- -->. |
25
27
  | [stickyFilters](./x-components.facetsstate.stickyfilters.md) | | Record&lt;Filter\['id'\], Filter&gt; | Record of sticky filters indexed by its id. |
26
28
 
@@ -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; [FacetsState](./x-components.facetsstate.md) &gt; [origin](./x-components.facetsstate.origin.md)
4
+
5
+ ## FacetsState.origin property
6
+
7
+ The origin property of the request.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ origin: QueryOrigin | null;
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; [FacetsState](./x-components.facetsstate.md) &gt; [params](./x-components.facetsstate.params.md)
4
+
5
+ ## FacetsState.params property
6
+
7
+ The extra params property of the state.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ params: Dictionary<unknown>;
13
+ ```
@@ -0,0 +1,26 @@
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; [flattenAllFilters](./x-components.flattenallfilters.md)
4
+
5
+ ## flattenAllFilters() function
6
+
7
+ Flattens all filters from an array of facets, including hierarchical filters.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export declare function flattenAllFilters(facets: Facet[]): Filter[];
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Description |
18
+ | --- | --- | --- |
19
+ | facets | Facet\[\] | The list of facets to extract filters from. |
20
+
21
+ **Returns:**
22
+
23
+ Filter\[\]
24
+
25
+ A flat array of all filters from all facets.
26
+
@@ -31,6 +31,7 @@ X-Components is a library usable everywhere not only for search experiences.
31
31
  | [animateClipPath(animationOrigin)](./x-components.animateclippath.md) | Returns a transition component to wrap an element passed in the default slot and animating its clip-path using inset and with the origin passed as parameter. |
32
32
  | [animateScale(animationOrigin)](./x-components.animatescale.md) | Returns a transition component to wrap an element passed in the default slot and animating its scale using transform and with the transform origin passed as parameter. |
33
33
  | [animateTranslate(animationOrigin)](./x-components.animatetranslate.md) | Returns a transition component to wrap an element passed in the default slot and animating its translate using transform and with the transform origin passed as parameter. |
34
+ | [applyHierarchicalSelection(filters, selectedIds)](./x-components.applyhierarchicalselection.md) | Recursively applies the selected state to hierarchical filters and their children. |
34
35
  | [areFiltersDifferent(someFilters, anotherFilters)](./x-components.arefiltersdifferent.md) | Compares if two lists contains the same filters. |
35
36
  | [arrayToObject(array)](./x-components.arraytoobject.md) | Reduce an array of strings to an object which properties names are the value of each string, and the value under that property are also the string. |
36
37
  | [arrayToObject(array, key)](./x-components.arraytoobject_1.md) | Reduce an array of objects to an object which properties names are the value of each object\[key\], and the value under that property are each object. 'key' is the the parameter passed to this function. |
@@ -79,6 +80,7 @@ X-Components is a library usable everywhere not only for search experiences.
79
80
  | [filterTruthyPayload(wire)](./x-components.filtertruthypayload.md) | Creates a [Wire](./x-components.wire.md) that is only executed when the payload is a [falsy value](https://developer.mozilla.org/en-US/docs/Glossary/Falsy)<!-- -->. |
80
81
  | [filterWhitelistedModules(wire, whitelist)](./x-components.filterwhitelistedmodules.md) | Creates a [Wire](./x-components.wire.md) that is only executed if the event is emitted from a [XModule](./x-components.xmodule.md) that is included in the <code>whitelist</code> array passed as parameter. |
81
82
  | [flatHierarchicalFilters(hierarchicalFilters)](./x-components.flathierarchicalfilters.md) | This function flattens the Hierarchical Filters, returning an array with all filters including the children. |
83
+ | [flattenAllFilters(facets)](./x-components.flattenallfilters.md) | Flattens all filters from an array of facets, including hierarchical filters. |
82
84
  | [getActiveElement(root)](./x-components.getactiveelement.md) | Retrieves the currently active element from the specified document or shadow root. This function is recursive to handle nested shadow DOMs, ensuring the actual active element is returned even if it resides deep within multiple shadow DOM layers. |
83
85
  | [getGetterPath(moduleName, getterName)](./x-components.getgetterpath.md) | Generates a getter path string with the module and getter name. |
84
86
  | [getRootXComponent(component)](./x-components.getrootxcomponent.md) | Given a component, finds the root XComponent in the ancestors hierarchy. |
@@ -0,0 +1,15 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-types](./x-types.md) &gt; [FacetsRequest](./x-types.facetsrequest.md)
4
+
5
+ ## FacetsRequest interface
6
+
7
+ The Request for the Facets endpoint.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export interface FacetsRequest extends QueryableRequest, FilterableRequest, TrackableRequest, ExtraParamsRequest
13
+ ```
14
+ **Extends:** [QueryableRequest](./x-types.queryablerequest.md)<!-- -->, [FilterableRequest](./x-types.filterablerequest.md)<!-- -->, [TrackableRequest](./x-types.trackablerequest.md)<!-- -->, [ExtraParamsRequest](./x-types.extraparamsrequest.md)
15
+
@@ -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-types](./x-types.md) &gt; [FacetsResponse](./x-types.facetsresponse.md) &gt; [facets](./x-types.facetsresponse.facets.md)
4
+
5
+ ## FacetsResponse.facets property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ facets?: Facet[];
11
+ ```
@@ -0,0 +1,20 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@empathyco/x-types](./x-types.md) &gt; [FacetsResponse](./x-types.facetsresponse.md)
4
+
5
+ ## FacetsResponse interface
6
+
7
+ Response for the facet endpoint.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export interface FacetsResponse
13
+ ```
14
+
15
+ ## Properties
16
+
17
+ | Property | Modifiers | Type | Description |
18
+ | --- | --- | --- | --- |
19
+ | [facets?](./x-types.facetsresponse.facets.md) | | [Facet](./x-types.facet.md)<!-- -->\[\] | _(Optional)_ |
20
+
@@ -48,6 +48,8 @@ Entry point to export search-type models and testing schemas in a unified api-ex
48
48
  | [ExtraParamsRequest](./x-types.extraparamsrequest.md) | Interface to support extra params in any request. |
49
49
  | [Facet](./x-types.facet.md) | Facet is a trait for filtering results. It uses [Filter](./x-types.filter.md) as filters. |
50
50
  | [FacetFilter](./x-types.facetfilter.md) | A filter which is associated with a [Facet](./x-types.facet.md)<!-- -->. |
51
+ | [FacetsRequest](./x-types.facetsrequest.md) | The Request for the Facets endpoint. |
52
+ | [FacetsResponse](./x-types.facetsresponse.md) | Response for the facet endpoint. |
51
53
  | [Filter](./x-types.filter.md) | A basic filter. |
52
54
  | [FilterableRequest](./x-types.filterablerequest.md) | Interface for any Request with a <code>filters</code> parameter. |
53
55
  | [HierarchicalFacet](./x-types.hierarchicalfacet.md) | Hierarchical facet is a trait for filtering results. It extends from [Facet](./x-types.facet.md) changes the modelName and uses [HierarchicalFilter](./x-types.hierarchicalfilter.md) as filters. |
@@ -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-types](./x-types.md) &gt; [XComponentsAdapter](./x-types.xcomponentsadapter.md) &gt; [facets](./x-types.xcomponentsadapter.facets.md)
4
+
5
+ ## XComponentsAdapter.facets property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ facets: EndpointAdapter<FacetsRequest, FacetsResponse>;
11
+ ```
@@ -22,6 +22,7 @@ export interface XComponentsAdapter
22
22
  | [aiSummarize](./x-types.xcomponentsadapter.aisummarize.md) | | EndpointAdapter&lt;[AiSuggestionsRequest](./x-types.aisuggestionsrequest.md)<!-- -->, Response&gt; | |
23
23
  | [aiTasks](./x-types.xcomponentsadapter.aitasks.md) | | EndpointAdapter&lt;[AiTasksRequest](./x-types.aitasksrequest.md)<!-- -->, [AiTasksResponse](./x-types.aitasksresponse.md)<!-- -->&gt; | |
24
24
  | [experienceControls](./x-types.xcomponentsadapter.experiencecontrols.md) | | EndpointAdapter&lt;[ExperienceControlsRequest](./x-types.experiencecontrolsrequest.md)<!-- -->, [ExperienceControlsResponse](./x-types.experiencecontrolsresponse.md)<!-- -->&gt; | |
25
+ | [facets](./x-types.xcomponentsadapter.facets.md) | | EndpointAdapter&lt;[FacetsRequest](./x-types.facetsrequest.md)<!-- -->, [FacetsResponse](./x-types.facetsresponse.md)<!-- -->&gt; | |
25
26
  | [identifierResults](./x-types.xcomponentsadapter.identifierresults.md) | | EndpointAdapter&lt;[IdentifierResultsRequest](./x-types.identifierresultsrequest.md)<!-- -->, [IdentifierResultsResponse](./x-types.identifierresultsresponse.md)<!-- -->&gt; | |
26
27
  | [nextQueries](./x-types.xcomponentsadapter.nextqueries.md) | | EndpointAdapter&lt;[NextQueriesRequest](./x-types.nextqueriesrequest.md)<!-- -->, [NextQueriesResponse](./x-types.nextqueriesresponse.md)<!-- -->&gt; | |
27
28
  | [popularSearches](./x-types.xcomponentsadapter.popularsearches.md) | | EndpointAdapter&lt;[PopularSearchesRequest](./x-types.popularsearchesrequest.md)<!-- -->, [PopularSearchesResponse](./x-types.popularsearchesresponse.md)<!-- -->&gt; | |
package/facets/index.js CHANGED
@@ -32,6 +32,6 @@ export { facets } from '../js/x-modules/facets/store/getters/facets.getter.js';
32
32
  export { selectedFiltersByFacet } from '../js/x-modules/facets/store/getters/selected-filters-by-facet.getter.js';
33
33
  export { selectedFilters } from '../js/x-modules/facets/store/getters/selected-filters.getter.js';
34
34
  export { facetsXStoreModule } from '../js/x-modules/facets/store/module.js';
35
- export { flatHierarchicalFilters } from '../js/x-modules/facets/utils.js';
35
+ export { applyHierarchicalSelection, flatHierarchicalFilters, flattenAllFilters } from '../js/x-modules/facets/utils.js';
36
36
  export { facetsWiring, setFiltersFromHistoryQueries, setQueryFromPreview, setSelectedFiltersFromPreview } from '../js/x-modules/facets/wiring.js';
37
37
  export { facetsXModule } from '../js/x-modules/facets/x-module.js';
package/js/index.js CHANGED
@@ -270,7 +270,7 @@ export { facets } from './x-modules/facets/store/getters/facets.getter.js';
270
270
  export { selectedFiltersByFacet } from './x-modules/facets/store/getters/selected-filters-by-facet.getter.js';
271
271
  export { selectedFilters } from './x-modules/facets/store/getters/selected-filters.getter.js';
272
272
  export { facetsXStoreModule } from './x-modules/facets/store/module.js';
273
- export { flatHierarchicalFilters } from './x-modules/facets/utils.js';
273
+ export { applyHierarchicalSelection, flatHierarchicalFilters, flattenAllFilters } from './x-modules/facets/utils.js';
274
274
  export { facetsWiring, setFiltersFromHistoryQueries, setQueryFromPreview, setSelectedFiltersFromPreview } from './x-modules/facets/wiring.js';
275
275
  export { facetsXModule } from './x-modules/facets/x-module.js';
276
276
  export { default as ClearHistoryQueries } from './x-modules/history-queries/components/clear-history-queries.vue.js';
@@ -0,0 +1,38 @@
1
+ import { isHierarchicalFacet } from '@empathyco/x-types';
2
+ import { createFetchAndSaveActions } from '../../../../store/utils/fetch-and-save-action.utils.js';
3
+ import { applyHierarchicalSelection, flattenAllFilters } from '../../utils.js';
4
+
5
+ const { fetchAndSave, cancelPrevious } = createFetchAndSaveActions({
6
+ async fetch({ dispatch, getters }) {
7
+ return getters.request
8
+ ? dispatch('fetchFacetsResponse', getters.request)
9
+ : Promise.resolve(null);
10
+ },
11
+ onSuccess({ commit, getters }, response) {
12
+ if (response !== null) {
13
+ const selectedFilters = getters.selectedFilters;
14
+ const selectedIds = new Set(Object.values(selectedFilters ?? {})
15
+ .filter((f) => f.selected)
16
+ .map((f) => f.id));
17
+ const facetsWithSelectedFilters = [];
18
+ response.facets?.forEach((facet) => {
19
+ if (isHierarchicalFacet(facet)) {
20
+ applyHierarchicalSelection(facet.filters, selectedIds);
21
+ }
22
+ else {
23
+ facet.filters.forEach((filter) => {
24
+ filter.selected = selectedIds.has(filter.id);
25
+ });
26
+ }
27
+ facetsWithSelectedFilters.push(facet);
28
+ commit('setFacet', facet);
29
+ });
30
+ commit('setFilters', flattenAllFilters(facetsWithSelectedFilters));
31
+ }
32
+ },
33
+ });
34
+ const fetchAndSaveFacetsResponse = fetchAndSave;
35
+ const cancelFetchAndSaveFacetsResponse = cancelPrevious;
36
+
37
+ export { cancelFetchAndSaveFacetsResponse, fetchAndSaveFacetsResponse };
38
+ //# sourceMappingURL=fetch-and-save-facets-response.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-and-save-facets-response.action.js","sources":["../../../../../../src/x-modules/facets/store/actions/fetch-and-save-facets-response.action.ts"],"sourcesContent":["import type { Facet, FacetsRequest, FacetsResponse, Filter } from '@empathyco/x-types'\nimport type { FacetsActionsContext } from '../types'\nimport { isHierarchicalFacet } from '@empathyco/x-types'\nimport { createFetchAndSaveActions } from '../../../../store/utils/fetch-and-save-action.utils'\nimport { applyHierarchicalSelection, flattenAllFilters } from '../../utils'\n\nconst { fetchAndSave, cancelPrevious } = createFetchAndSaveActions<\n FacetsActionsContext,\n FacetsRequest | null,\n FacetsResponse | null\n>({\n async fetch({ dispatch, getters }) {\n return getters.request\n ? dispatch('fetchFacetsResponse', getters.request)\n : Promise.resolve(null)\n },\n onSuccess({ commit, getters }, response) {\n if (response !== null) {\n const selectedFilters = getters.selectedFilters\n const selectedIds = new Set(\n Object.values(selectedFilters ?? {})\n .filter((f: Filter) => f.selected)\n .map((f: Filter) => f.id),\n )\n const facetsWithSelectedFilters: Facet[] = []\n\n response.facets?.forEach((facet: Facet) => {\n if (isHierarchicalFacet(facet)) {\n applyHierarchicalSelection(facet.filters, selectedIds)\n } else {\n facet.filters.forEach((filter: Filter) => {\n filter.selected = selectedIds.has(filter.id)\n })\n }\n\n facetsWithSelectedFilters.push(facet)\n commit('setFacet', facet)\n })\n\n commit('setFilters', flattenAllFilters(facetsWithSelectedFilters))\n }\n },\n})\n\nexport const fetchAndSaveFacetsResponse = fetchAndSave\nexport const cancelFetchAndSaveFacetsResponse = cancelPrevious\n"],"names":[],"mappings":";;;;AAMA,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,yBAAyB,CAIhE;AACA,IAAA,MAAM,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAA;QAC/B,OAAO,OAAO,CAAC,OAAO;cAClB,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC,OAAO,CAAC;AAClD,cAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;KAC1B;AACD,IAAA,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAA;AACrC,QAAA,IAAI,QAAQ,KAAK,IAAI,EAAE;AACrB,YAAA,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAA;AAC/C,YAAA,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;iBACjC,MAAM,CAAC,CAAC,CAAS,KAAK,CAAC,CAAC,QAAQ,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAS,KAAK,CAAC,CAAC,EAAE,CAAC,CAC5B,CAAA;YACD,MAAM,yBAAyB,GAAY,EAAE,CAAA;YAE7C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAY,KAAI;AACxC,gBAAA,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;AAC9B,oBAAA,0BAA0B,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;iBACvD;qBAAM;oBACL,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAc,KAAI;wBACvC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAC9C,qBAAC,CAAC,CAAA;iBACH;AAED,gBAAA,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACrC,gBAAA,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AAC3B,aAAC,CAAC,CAAA;YAEF,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,yBAAyB,CAAC,CAAC,CAAA;SACnE;KACF;AACF,CAAA,CAAC,CAAA;AAEK,MAAM,0BAA0B,GAAG,aAAY;AAC/C,MAAM,gCAAgC,GAAG;;;;"}
@@ -0,0 +1,16 @@
1
+ import { XPlugin } from '../../../../plugins/x-plugin.js';
2
+
3
+ /**
4
+ * Default implementation for the {@link FacetsActions.fetchFacetsResponse}.
5
+ *
6
+ * @param _context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,
7
+ * provided by Vuex.
8
+ * @param request - The facets request to make.
9
+ * @returns A Promise of facets response that resolves when it fetches facets response.
10
+ *
11
+ * @public
12
+ */
13
+ const fetchFacetsResponse = async (_context, request) => XPlugin.adapter.facets(request);
14
+
15
+ export { fetchFacetsResponse };
16
+ //# sourceMappingURL=fetch-facets-response.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-facets-response.action.js","sources":["../../../../../../src/x-modules/facets/store/actions/fetch-facets-response.action.ts"],"sourcesContent":["import type { FacetsXStoreModule } from '../types'\nimport { XPlugin } from '../../../../plugins/x-plugin'\n\n/**\n * Default implementation for the {@link FacetsActions.fetchFacetsResponse}.\n *\n * @param _context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,\n * provided by Vuex.\n * @param request - The facets request to make.\n * @returns A Promise of facets response that resolves when it fetches facets response.\n *\n * @public\n */\nexport const fetchFacetsResponse: FacetsXStoreModule['actions']['fetchFacetsResponse'] = async (\n _context,\n request,\n) => XPlugin.adapter.facets(request)\n"],"names":[],"mappings":";;AAGA;;;;;;;;;AASG;MACU,mBAAmB,GAAyD,OACvF,QAAQ,EACR,OAAO,KACJ,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;;;;"}
@@ -0,0 +1,16 @@
1
+ import { createOrigin } from '../../../../utils/origin.js';
2
+
3
+ /**
4
+ * Default implementation for the {@link FacetsActions.saveOrigin}.
5
+ *
6
+ * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,
7
+ * provided by Vuex.
8
+ * @param queryOriginInit - The object to create the {@link QueryOrigin} with.
9
+ * @public
10
+ */
11
+ const saveOrigin = ({ commit }, queryOriginInit) => {
12
+ commit('setOrigin', createOrigin(queryOriginInit));
13
+ };
14
+
15
+ export { saveOrigin };
16
+ //# sourceMappingURL=save-origin.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-origin.action.js","sources":["../../../../../../src/x-modules/facets/store/actions/save-origin.action.ts"],"sourcesContent":["import type { QueryOrigin } from '../../../../types/origin'\nimport type { FacetsXStoreModule } from '../types'\nimport { createOrigin } from '../../../../utils/origin'\n\n/**\n * Default implementation for the {@link FacetsActions.saveOrigin}.\n *\n * @param context - The {@link https://vuex.vuejs.org/guide/actions.html | context} of the actions,\n * provided by Vuex.\n * @param queryOriginInit - The object to create the {@link QueryOrigin} with.\n * @public\n */\nexport const saveOrigin: FacetsXStoreModule['actions']['saveOrigin'] = (\n { commit },\n queryOriginInit,\n) => {\n commit('setOrigin', createOrigin(queryOriginInit) as QueryOrigin | null)\n}\n"],"names":[],"mappings":";;AAIA;;;;;;;AAOG;AACU,MAAA,UAAU,GAAgD,CACrE,EAAE,MAAM,EAAE,EACV,eAAe,KACb;IACF,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,eAAe,CAAuB,CAAC,CAAA;AAC1E;;;;"}