@empathyco/x-components 6.0.0-alpha.218 → 6.0.0-alpha.219
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/docs/API-reference/api/x-components.md +2 -0
- package/docs/API-reference/api/x-components.typinghtmlelement.md +2 -0
- package/docs/API-reference/api/x-types.aisuggestionquery.categories.md +11 -0
- package/docs/API-reference/api/x-types.aisuggestionquery.md +73 -0
- package/docs/API-reference/api/x-types.aisuggestionquery.query.md +11 -0
- package/docs/API-reference/api/x-types.aisuggestiontagging.md +90 -0
- package/docs/API-reference/api/x-types.aisuggestiontagging.searchqueries.md +15 -0
- package/docs/API-reference/api/x-types.aisuggestiontagging.toolingdisplay.md +11 -0
- package/docs/API-reference/api/x-types.aisuggestiontagging.toolingdisplayclick.md +11 -0
- package/docs/API-reference/api/x-types.md +22 -0
- package/js/directives/typing.js +1 -1
- package/js/directives/typing.js.map +1 -1
- package/js/plugins/x-plugin.js +1 -2
- package/js/plugins/x-plugin.js.map +1 -1
- package/js/utils/storage.js +3 -4
- package/js/utils/storage.js.map +1 -1
- package/js/x-modules/tagging/service/external-tagging.service.js +1 -2
- package/js/x-modules/tagging/service/external-tagging.service.js.map +1 -1
- package/package.json +7 -10
- package/report/x-adapter-platform.api.json +2 -2
- package/report/x-components.api.json +5 -5
- package/report/x-components.api.md +2 -2
- package/report/x-types.api.json +205 -0
- package/types/directives/typing.d.ts +4 -2
- package/types/directives/typing.d.ts.map +1 -1
- package/types/plugins/x-plugin.d.ts.map +1 -1
- package/types/utils/storage.d.ts +3 -4
- package/types/utils/storage.d.ts.map +1 -1
- package/types/x-modules/related-prompts/components/related-prompts-tag-list.vue.d.ts.map +1 -1
- package/types/x-modules/tagging/service/external-tagging.service.d.ts +1 -1
- package/types/x-modules/tagging/service/external-tagging.service.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
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.219 (2026-03-09)
|
|
7
|
+
|
|
8
|
+
- feat(deep-merge-storage-service): clean up deep-merge and storage-service deps and side effects (#20 ([668130c](https://github.com/empathyco/x/commit/668130c)), closes [#2048](https://github.com/empathyco/x/issues/2048)
|
|
9
|
+
|
|
6
10
|
## 6.0.0-alpha.218 (2026-03-05)
|
|
7
11
|
|
|
8
12
|
- fix: rename `AiOverviewMounted` to `AiComponentMounted` across components, tests, and wiring (#2044) ([28b3c10](https://github.com/empathyco/x/commit/28b3c10)), closes [#2044](https://github.com/empathyco/x/issues/2044)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-types](./x-types.md) > [AiSuggestionQuery](./x-types.aisuggestionquery.md) > [categories](./x-types.aisuggestionquery.categories.md)
|
|
4
|
+
|
|
5
|
+
## AiSuggestionQuery.categories property
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
categories: string[];
|
|
11
|
+
```
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-types](./x-types.md) > [AiSuggestionQuery](./x-types.aisuggestionquery.md)
|
|
4
|
+
|
|
5
|
+
## AiSuggestionQuery interface
|
|
6
|
+
|
|
7
|
+
Data for each query suggested.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export interface AiSuggestionQuery
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Properties
|
|
16
|
+
|
|
17
|
+
<table><thead><tr><th>
|
|
18
|
+
|
|
19
|
+
Property
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
</th><th>
|
|
23
|
+
|
|
24
|
+
Modifiers
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
</th><th>
|
|
28
|
+
|
|
29
|
+
Type
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
</th><th>
|
|
33
|
+
|
|
34
|
+
Description
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
</th></tr></thead>
|
|
38
|
+
<tbody><tr><td>
|
|
39
|
+
|
|
40
|
+
[categories](./x-types.aisuggestionquery.categories.md)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
</td><td>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
</td><td>
|
|
47
|
+
|
|
48
|
+
string\[\]
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
</td><td>
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
</td></tr>
|
|
55
|
+
<tr><td>
|
|
56
|
+
|
|
57
|
+
[query](./x-types.aisuggestionquery.query.md)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
</td><td>
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
</td><td>
|
|
64
|
+
|
|
65
|
+
string
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
</td><td>
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
</td></tr>
|
|
72
|
+
</tbody></table>
|
|
73
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-types](./x-types.md) > [AiSuggestionQuery](./x-types.aisuggestionquery.md) > [query](./x-types.aisuggestionquery.query.md)
|
|
4
|
+
|
|
5
|
+
## AiSuggestionQuery.query property
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
query: string;
|
|
11
|
+
```
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-types](./x-types.md) > [AiSuggestionTagging](./x-types.aisuggestiontagging.md)
|
|
4
|
+
|
|
5
|
+
## AiSuggestionTagging interface
|
|
6
|
+
|
|
7
|
+
Interface for the AI suggestion tagging.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export interface AiSuggestionTagging
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Properties
|
|
16
|
+
|
|
17
|
+
<table><thead><tr><th>
|
|
18
|
+
|
|
19
|
+
Property
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
</th><th>
|
|
23
|
+
|
|
24
|
+
Modifiers
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
</th><th>
|
|
28
|
+
|
|
29
|
+
Type
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
</th><th>
|
|
33
|
+
|
|
34
|
+
Description
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
</th></tr></thead>
|
|
38
|
+
<tbody><tr><td>
|
|
39
|
+
|
|
40
|
+
[searchQueries](./x-types.aisuggestiontagging.searchqueries.md)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
</td><td>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
</td><td>
|
|
47
|
+
|
|
48
|
+
Record<string, { toolingDisplay: [TaggingRequest](./x-types.taggingrequest.md)<!-- -->; toolingDisplayClick: [TaggingRequest](./x-types.taggingrequest.md)<!-- -->; toolingDisplayAdd2Cart: [TaggingRequest](./x-types.taggingrequest.md)<!-- -->; }>
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
</td><td>
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
</td></tr>
|
|
55
|
+
<tr><td>
|
|
56
|
+
|
|
57
|
+
[toolingDisplay](./x-types.aisuggestiontagging.toolingdisplay.md)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
</td><td>
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
</td><td>
|
|
64
|
+
|
|
65
|
+
[TaggingRequest](./x-types.taggingrequest.md)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
</td><td>
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
</td></tr>
|
|
72
|
+
<tr><td>
|
|
73
|
+
|
|
74
|
+
[toolingDisplayClick](./x-types.aisuggestiontagging.toolingdisplayclick.md)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
</td><td>
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
</td><td>
|
|
81
|
+
|
|
82
|
+
[TaggingRequest](./x-types.taggingrequest.md)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
</td><td>
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
</td></tr>
|
|
89
|
+
</tbody></table>
|
|
90
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-types](./x-types.md) > [AiSuggestionTagging](./x-types.aisuggestiontagging.md) > [searchQueries](./x-types.aisuggestiontagging.searchqueries.md)
|
|
4
|
+
|
|
5
|
+
## AiSuggestionTagging.searchQueries property
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
searchQueries: Record<string, {
|
|
11
|
+
toolingDisplay: TaggingRequest;
|
|
12
|
+
toolingDisplayClick: TaggingRequest;
|
|
13
|
+
toolingDisplayAdd2Cart: TaggingRequest;
|
|
14
|
+
}>;
|
|
15
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-types](./x-types.md) > [AiSuggestionTagging](./x-types.aisuggestiontagging.md) > [toolingDisplay](./x-types.aisuggestiontagging.toolingdisplay.md)
|
|
4
|
+
|
|
5
|
+
## AiSuggestionTagging.toolingDisplay property
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
toolingDisplay: TaggingRequest;
|
|
11
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@empathyco/x-types](./x-types.md) > [AiSuggestionTagging](./x-types.aisuggestiontagging.md) > [toolingDisplayClick](./x-types.aisuggestiontagging.toolingdisplayclick.md)
|
|
4
|
+
|
|
5
|
+
## AiSuggestionTagging.toolingDisplayClick property
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
toolingDisplayClick: TaggingRequest;
|
|
11
|
+
```
|
|
@@ -191,6 +191,17 @@ Request for the question endpoint.
|
|
|
191
191
|
Response for the question endpoint.
|
|
192
192
|
|
|
193
193
|
|
|
194
|
+
</td></tr>
|
|
195
|
+
<tr><td>
|
|
196
|
+
|
|
197
|
+
[AiSuggestionQuery](./x-types.aisuggestionquery.md)
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
</td><td>
|
|
201
|
+
|
|
202
|
+
Data for each query suggested.
|
|
203
|
+
|
|
204
|
+
|
|
194
205
|
</td></tr>
|
|
195
206
|
<tr><td>
|
|
196
207
|
|
|
@@ -235,6 +246,17 @@ Request for the suggestions-search endpoint.
|
|
|
235
246
|
Response for the AI suggestions search endpoint.
|
|
236
247
|
|
|
237
248
|
|
|
249
|
+
</td></tr>
|
|
250
|
+
<tr><td>
|
|
251
|
+
|
|
252
|
+
[AiSuggestionTagging](./x-types.aisuggestiontagging.md)
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
</td><td>
|
|
256
|
+
|
|
257
|
+
Interface for the AI suggestion tagging.
|
|
258
|
+
|
|
259
|
+
|
|
238
260
|
</td></tr>
|
|
239
261
|
<tr><td>
|
|
240
262
|
|
package/js/directives/typing.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Typing directive.
|
|
3
|
-
*
|
|
4
3
|
* @public
|
|
5
4
|
*/
|
|
6
5
|
const typing = {
|
|
@@ -22,6 +21,7 @@ const typing = {
|
|
|
22
21
|
*
|
|
23
22
|
* @param el - The HTML element where the typing animation will be displayed.
|
|
24
23
|
* @param options - Options for the behavior of the animation.
|
|
24
|
+
* @internal
|
|
25
25
|
*/
|
|
26
26
|
function execute(el, options) {
|
|
27
27
|
const { text, speed = 1, targetAttr = '' } = options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typing.js","sources":["../../../src/directives/typing.ts"],"sourcesContent":["import type { Directive } from 'vue'\n\n/**\n * TypingOptions interface.\n
|
|
1
|
+
{"version":3,"file":"typing.js","sources":["../../../src/directives/typing.ts"],"sourcesContent":["import type { Directive } from 'vue'\n\n/**\n * TypingOptions interface.\n * @public\n */\nexport interface TypingOptions {\n /**\n * The text (plain or html) that will be typed into the target element.\n */\n text: string\n /**\n * The typing speed in milliseconds per character.\n *\n */\n speed?: number\n /**\n * The attribute of the HTML element where the typed text will be placed.\n * If not specified, the text will be set as content (innerHTML).\n *\n * @example 'placeholder'\n */\n targetAttr?: string\n}\n\n/**\n * TypingHTMLElement interface.\n * @public\n */\nexport interface TypingHTMLElement extends HTMLElement {\n __timeoutId?: number\n}\n\n/**\n * Typing directive.\n * @public\n */\nexport const typing: Directive<TypingHTMLElement, TypingOptions> = {\n mounted(el, binding) {\n execute(el, binding.value)\n },\n\n updated(el, binding) {\n if (binding.value.text !== binding.oldValue?.text) {\n clearTimeout(el.__timeoutId)\n execute(el, binding.value)\n }\n },\n\n unmounted(el) {\n clearTimeout(el.__timeoutId)\n },\n}\n\n/**\n * Execute a typing animation in an HTML element.\n *\n * @param el - The HTML element where the typing animation will be displayed.\n * @param options - Options for the behavior of the animation.\n * @internal\n */\nfunction execute(el: TypingHTMLElement, options: TypingOptions) {\n const { text, speed = 1, targetAttr = '' } = options\n\n if (!text) {\n console.error('v-typing: \"text\" is required.')\n return\n }\n\n let index = 0\n\n const updateContent = (value: string) => {\n if (targetAttr) {\n el.setAttribute(targetAttr, value)\n } else {\n el.innerHTML = value\n }\n }\n\n const type = () => {\n if (index < text.length) {\n updateContent(text.slice(0, index + 1))\n index++\n el.__timeoutId = setTimeout(type, speed) as unknown as number\n } else {\n updateContent(text)\n clearTimeout(el.__timeoutId)\n el.__timeoutId = undefined\n }\n }\n\n type()\n}\n"],"names":[],"mappings":"AAiCA;;;AAGG;AACI,MAAM,MAAM,GAAgD;IACjE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAA;AACjB,QAAA,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,EAAE,EAAE,OAAO,EAAA;AACjB,QAAA,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;AACjD,YAAA,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC;AAC5B,YAAA,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC;QAC5B;IACF,CAAC;AAED,IAAA,SAAS,CAAC,EAAE,EAAA;AACV,QAAA,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC;IAC9B,CAAC;;AAGH;;;;;;AAMG;AACH,SAAS,OAAO,CAAC,EAAqB,EAAE,OAAsB,EAAA;AAC5D,IAAA,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,OAAO;IAEpD,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC;QAC9C;IACF;IAEA,IAAI,KAAK,GAAG,CAAC;AAEb,IAAA,MAAM,aAAa,GAAG,CAAC,KAAa,KAAI;QACtC,IAAI,UAAU,EAAE;AACd,YAAA,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC;QACpC;aAAO;AACL,YAAA,EAAE,CAAC,SAAS,GAAG,KAAK;QACtB;AACF,IAAA,CAAC;IAED,MAAM,IAAI,GAAG,MAAK;AAChB,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;AACvB,YAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;AACvC,YAAA,KAAK,EAAE;YACP,EAAE,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAsB;QAC/D;aAAO;YACL,aAAa,CAAC,IAAI,CAAC;AACnB,YAAA,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC;AAC5B,YAAA,EAAE,CAAC,WAAW,GAAG,SAAS;QAC5B;AACF,IAAA,CAAC;AAED,IAAA,IAAI,EAAE;AACR;;;;"}
|
package/js/plugins/x-plugin.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { deepMerge } from '@empathyco/x-
|
|
2
|
-
import { forEach } from '@empathyco/x-utils';
|
|
1
|
+
import { deepMerge, forEach } from '@empathyco/x-utils';
|
|
3
2
|
import { createStore } from 'vuex';
|
|
4
3
|
import { cleanGettersProxyCache } from '../store/utils/getters-proxy.utils.js';
|
|
5
4
|
import { RootXStoreModule } from '../store/x.module.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x-plugin.js","sources":["../../../src/plugins/x-plugin.ts"],"sourcesContent":["import type { XComponentsAdapter } from '@empathyco/x-types'\nimport type { Dictionary } from '@empathyco/x-utils'\nimport type { Observable } from 'rxjs'\nimport type { App } from 'vue'\nimport type { Module, Store } from 'vuex'\nimport type { AnyXStoreModule, RootXStoreState } from '../store/store.types'\nimport type { XEvent, XEventsTypes } from '../wiring/events.types'\nimport type { AnyWire, WireMetadata } from '../wiring/wiring.types'\nimport type { EventPayload, SubjectPayload, XBus } from '../x-bus'\nimport type { AnyXModule, XModuleName } from '../x-modules/x-modules.types'\nimport type { AnyXStoreModuleOption, XModuleOptions, XPluginOptions } from './x-plugin.types'\nimport { deepMerge } from '@empathyco/x-deep-merge'\nimport { forEach } from '@empathyco/x-utils'\nimport { createStore } from 'vuex'\nimport { cleanGettersProxyCache } from '../store/utils/getters-proxy.utils'\nimport { RootXStoreModule } from '../store/x.module'\nimport { sendWiringToDevtools } from './devtools/wiring.devtools'\nimport { bus } from './x-bus'\nimport { registerStoreEmitters } from './x-emitters'\nimport { assertXPluginOptionsAreValid } from './x-plugin.utils'\n\n/**\n * Vue plugin that initializes the properties needed by the x-components, and exposes the events bus\n * and the adapter after it has been installed.\n *\n * @public\n */\nexport class XPlugin {\n /**\n * XComponentsAdapter Is the middleware between the components and our API where data can be\n * mapped to client needs.\n * This property is only available after installing the plugin.\n *\n * @returns The installed adapter.\n * @throws If this property is accessed before calling `Vue.use(xPlugin)`.\n * @public\n */\n public static get adapter(): XComponentsAdapter {\n return this.getInstance().adapter\n }\n\n /**\n * Exposed XBus, so any kind of application can subscribe to\n * {@link XEventsTypes} without having to pass through a component.\n * This property is only available after installing the plugin.\n *\n * @returns The installed bus.\n * @throws If this property is accessed before calling `Vue.use(xPlugin)`.\n * @public\n */\n public static get bus(): XBus<XEventsTypes, WireMetadata> {\n return this.getInstance().bus\n }\n\n /**\n * {@link https://vuex.vuejs.org | Vuex Store} Is the place where all shared data\n * is saved.\n *\n * @returns The installed store.\n * @throws If this property is accessed before calling `Vue.use(xPlugin)`.\n * @public\n */\n public static get store(): Store<RootXStoreState> {\n return this.getInstance().store\n }\n\n /**\n * Safely retrieves the installed instance of the XPlugin.\n *\n * @returns The installed instance of the XPlugin.\n * @throws If this method is called before calling `Vue.use(xPlugin)`.\n * @internal\n */\n protected static getInstance(): XPlugin {\n if (!this.instance) {\n throw new Error(\"XPlugin must be installed before accessing it's API.\")\n }\n return this.instance\n }\n\n /**\n * Record of modules that have been tried to be installed before the installation of the plugin.\n *\n * @internal\n */\n protected static pendingXModules: Partial<Record<XModuleName, AnyXModule>> = {}\n\n /**\n * Instance of the installed plugin. Used to expose the bus and the adapter.\n *\n * @internal\n */\n protected static instance?: XPlugin\n\n public wiring: Partial<Record<XModuleName, Partial<Record<XEvent, string[]>>>> = {}\n /**\n * Bus for retrieving the observables when registering the wiring.\n *\n * @internal\n */\n protected bus: XBus<XEventsTypes, WireMetadata>\n\n /**\n * Adapter for the API, responsible for transforming requests and responses.\n *\n * @internal\n */\n protected adapter!: XComponentsAdapter\n\n /**\n * Set of the already installed XModules to avoid re-registering them.\n *\n * @internal\n */\n protected installedXModules = new Set<string>()\n\n /**\n * True if the plugin has been installed in a Vue instance, in this case\n * XModules will be installed immediately. False otherwise, in this case\n * XModules will be installed lazily when the {@link XPlugin#install} method\n * is called.\n *\n * @internal\n */\n protected isInstalled = false\n\n /**\n * The installation options of the plugin, where all the customization of\n * {@link XModule | XModules} is done.\n *\n * @internal\n */\n protected options!: XPluginOptions\n\n /**\n * The Vuex store, to pass to the wires for its registration, and to register the store\n * modules on it.\n *\n * @internal\n */\n protected store!: Store<any>\n\n /**\n * The Vue application instance, passed by the installation method.\n *\n * @internal\n */\n protected app!: App\n\n /**\n * Creates a new instance of the XPlugin with the given bus passed as parameter.\n *\n * @param bus - The XBus implementation to use for the plugin.\n *\n * @public\n */\n public constructor(bus: XBus<XEventsTypes, WireMetadata>) {\n this.bus = bus\n }\n\n /**\n * If the plugin has already been installed, it immediately registers a {@link XModule}. If it\n * has not been installed yet, it stores the module in a list until the plugin is installed.\n *\n * @param xModule - The module to register.\n *\n * @public\n */\n static registerXModule(xModule: AnyXModule): void {\n if (this.instance) {\n this.instance.registerXModule(xModule)\n } else {\n this.lazyRegisterXModule(xModule)\n }\n }\n\n /**\n * Utility method for resetting the installed instance of the plugin.\n *\n * @remarks Use only for testing.\n *\n * @internal\n */\n static resetInstance(): void {\n cleanGettersProxyCache()\n this.instance = undefined\n }\n\n /**\n * Stores the {@link XModule} in a dictionary, so it can be registered later in the installation\n * process.\n *\n * @param xModule - The module to register.\n *\n * @internal\n */\n protected static lazyRegisterXModule(xModule: AnyXModule): void {\n this.pendingXModules[xModule.name] = xModule\n }\n\n /**\n * Installs the plugin into the Vue instance.\n *\n * @param app - The Vue application instance.\n * @param options - The options to install this plugin with.\n * @throws If the XPlugin has already been installed, or the options are not valid.\n *\n * @internal\n */\n install(app: App, options?: XPluginOptions): void {\n if (this.isInstalled) {\n throw new Error('XPlugin has already been installed')\n }\n assertXPluginOptionsAreValid(options)\n XPlugin.instance = this\n this.app = app\n this.options = options\n this.adapter = options.adapter\n this.registerStore()\n this.registerInitialModules()\n this.registerPendingXModules()\n this.isInstalled = true\n }\n\n /**\n * Performs the registration of a {@link XModule}.\n *\n * @param xModule - The module to register.\n *\n * @internal\n */\n protected registerXModule(xModule: AnyXModule): void {\n if (!this.installedXModules.has(xModule.name)) {\n const customizedXModule = this.customizeXModule(xModule)\n this.registerStoreModule(customizedXModule)\n this.registerStoreEmitters(customizedXModule)\n this.registerWiring(customizedXModule)\n // The wiring must be registered after the store emitters\n // to allow lazy loaded modules work properly.\n this.installedXModules.add(xModule.name)\n void this.bus.emit('ModuleRegistered', xModule.name)\n }\n }\n\n /**\n * Performs a customization of a {@link XModule} using the XPlugin public and private options.\n *\n * @param xModule - The module to customize.\n * @returns The customized xModule.\n * @internal\n */\n protected customizeXModule({\n name,\n wiring,\n storeModule,\n storeEmitters,\n ...restXModule\n }: AnyXModule): AnyXModule {\n const { wiring: wiringOptions, config }: XModuleOptions<XModuleName> =\n this.options.xModules?.[name] ?? {}\n\n const { storeModule: storeModuleOptions, storeEmitters: emittersOptions } =\n this.options.__PRIVATE__xModules?.[name] ?? {}\n\n return {\n name,\n // eslint-disable-next-line ts/no-unsafe-assignment\n wiring: wiringOptions ? deepMerge({}, wiring, wiringOptions) : wiring,\n storeModule: this.customizeStoreModule(storeModule, storeModuleOptions ?? {}, config),\n // eslint-disable-next-line ts/no-unsafe-assignment\n storeEmitters: emittersOptions\n ? deepMerge({}, storeEmitters, emittersOptions)\n : storeEmitters,\n ...restXModule,\n }\n }\n\n /**\n * Performs the registration of the wiring, retrieving the observable for each event, and\n * executing each wire.\n *\n * @param xModule - The {@link XModule} to register its wiring.\n * @internal\n */\n protected registerWiring({ wiring, name }: AnyXModule): void {\n sendWiringToDevtools(name, wiring)\n forEach(wiring, (event, wires: Dictionary<AnyWire>) => {\n // Obtain the observable\n const observable = this.bus.on(event, true) as unknown as Observable<\n SubjectPayload<EventPayload<XEventsTypes, typeof event>, WireMetadata>\n >\n // Register event wires\n forEach(wires, (_, wire) => {\n wire(observable, this.store as Store<RootXStoreState>, this.bus.on.bind(this.bus))\n })\n })\n }\n\n /**\n * Registers a {@link https://vuex.vuejs.org/ | Vuex} store module under the 'x' module.\n *\n * @param xModule - The {@link XModule} to register its Store Module.\n * @internal\n */\n protected registerStoreModule({ name, storeModule }: AnyXModule): void {\n ;(storeModule as Module<any, any>).namespaced = true\n this.store.registerModule(['x', name], storeModule)\n }\n\n /**\n * Overrides a {@link https://vuex.vuejs.org/ | Vuex} store module definition.\n *\n * Priority of configuration merging.\n * 1st {@link XPluginOptions.xModules | xModules XPlugin option}.\n * 2nd {@link XPluginOptions.__PRIVATE__xModules | Private xModules XPlugin option}.\n * 3rd {@link XStoreModule.state | Default state of the xModule}.\n *\n * @param defaultModule - The default store module to override.\n * @param moduleOptions - The state, actions, mutations and getters to override the defaultModule.\n * @param configOptions - The state config to override the moduleOptions.\n * @returns The {@link XStoreModule} customized.\n * @internal\n */\n protected customizeStoreModule(\n { state: defaultState, ...actionsGettersMutations }: AnyXStoreModule,\n { state: xModuleState, ...newActionsGettersMutations }: AnyXStoreModuleOption,\n configOptions: unknown,\n ): AnyXStoreModule {\n const configOptionsObject = configOptions ? { config: configOptions } : {}\n // eslint-disable-next-line ts/no-unsafe-assignment\n const customizedModule = deepMerge({}, actionsGettersMutations, newActionsGettersMutations)\n // eslint-disable-next-line ts/no-unsafe-assignment,ts/no-unsafe-member-access\n customizedModule.state = deepMerge(defaultState(), xModuleState, configOptionsObject)\n // eslint-disable-next-line ts/no-unsafe-return\n return customizedModule\n }\n\n /**\n * Registers the store emitters, making them emit the event when the part of the state selected\n * changes.\n *\n * @param xModule - The {@link XModule} to register its Store Emitters.\n * @internal\n */\n protected registerStoreEmitters(xModule: AnyXModule): void {\n registerStoreEmitters(xModule, this.bus, this.store)\n }\n\n /**\n * Registers the {@link https://vuex.vuejs.org/ | Vuex} store. If the store has not been passed\n * through the {@link XPluginOptions} object, it creates one, and injects it in the Vue\n * prototype. Then it registers an x module in the store, to safe scope all the\n * {@link XModule | XModules} dynamically installed.\n *\n * @internal\n */\n protected registerStore(): void {\n this.store = this.options.store ?? createStore({})\n this.app.use(this.store)\n this.store.registerModule('x', RootXStoreModule)\n }\n /**\n * Registers the initial {@link XModule | XModules} during the {@link XPlugin} installation.\n *\n * @internal\n */\n protected registerInitialModules(): void {\n this.options.initialXModules?.forEach(xModule => {\n this.registerXModule(xModule)\n })\n }\n\n /**\n * Registers the pending {@link XModule | XModules}, that requested to be registered before the\n * installation of the plugin.\n *\n * @internal\n */\n protected registerPendingXModules(): void {\n forEach(XPlugin.pendingXModules, (_, xModule) => {\n this.registerXModule(xModule)\n })\n XPlugin.pendingXModules = {}\n }\n}\n\n/**\n * Vue plugin that modifies each component instance, extending them with the\n * {@link XComponentAPI | X Component API }.\n *\n * @example\n * Minimal installation example. An API adapter is needed to connect the X Components with the\n * suggestions, search, or tagging APIs. In this example we are using the default Empathy's platform\n * adapter.\n *\n * ```typescript\n * import { platformAdapter } from '@empathyco/x-adapter-platform';\n * Vue.use(xPlugin, { adapter: platformAdapter });\n * ```\n *\n * @example\n * If you are using {@link https://vuex.vuejs.org/ | Vuex} in your project you must install its\n * plugin, and instantiate a store before installing the XPlugin:\n * ```typescript\n * Vue.use(Vuex);\n * const store = new Store({ ... });\n * Vue.use(xPlugin, { adapter, store });\n * ```\n * @public\n */\nexport const xPlugin = new XPlugin(bus)\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"x-plugin.js","sources":["../../../src/plugins/x-plugin.ts"],"sourcesContent":["import type { XComponentsAdapter } from '@empathyco/x-types'\nimport type { Dictionary } from '@empathyco/x-utils'\nimport type { Observable } from 'rxjs'\nimport type { App } from 'vue'\nimport type { Module, Store } from 'vuex'\nimport type { AnyXStoreModule, RootXStoreState } from '../store/store.types'\nimport type { XEvent, XEventsTypes } from '../wiring/events.types'\nimport type { AnyWire, WireMetadata } from '../wiring/wiring.types'\nimport type { EventPayload, SubjectPayload, XBus } from '../x-bus'\nimport type { AnyXModule, XModuleName } from '../x-modules/x-modules.types'\nimport type { AnyXStoreModuleOption, XModuleOptions, XPluginOptions } from './x-plugin.types'\nimport { deepMerge, forEach } from '@empathyco/x-utils'\nimport { createStore } from 'vuex'\nimport { cleanGettersProxyCache } from '../store/utils/getters-proxy.utils'\nimport { RootXStoreModule } from '../store/x.module'\nimport { sendWiringToDevtools } from './devtools/wiring.devtools'\nimport { bus } from './x-bus'\nimport { registerStoreEmitters } from './x-emitters'\nimport { assertXPluginOptionsAreValid } from './x-plugin.utils'\n\n/**\n * Vue plugin that initializes the properties needed by the x-components, and exposes the events bus\n * and the adapter after it has been installed.\n *\n * @public\n */\nexport class XPlugin {\n /**\n * XComponentsAdapter Is the middleware between the components and our API where data can be\n * mapped to client needs.\n * This property is only available after installing the plugin.\n *\n * @returns The installed adapter.\n * @throws If this property is accessed before calling `Vue.use(xPlugin)`.\n * @public\n */\n public static get adapter(): XComponentsAdapter {\n return this.getInstance().adapter\n }\n\n /**\n * Exposed XBus, so any kind of application can subscribe to\n * {@link XEventsTypes} without having to pass through a component.\n * This property is only available after installing the plugin.\n *\n * @returns The installed bus.\n * @throws If this property is accessed before calling `Vue.use(xPlugin)`.\n * @public\n */\n public static get bus(): XBus<XEventsTypes, WireMetadata> {\n return this.getInstance().bus\n }\n\n /**\n * {@link https://vuex.vuejs.org | Vuex Store} Is the place where all shared data\n * is saved.\n *\n * @returns The installed store.\n * @throws If this property is accessed before calling `Vue.use(xPlugin)`.\n * @public\n */\n public static get store(): Store<RootXStoreState> {\n return this.getInstance().store\n }\n\n /**\n * Safely retrieves the installed instance of the XPlugin.\n *\n * @returns The installed instance of the XPlugin.\n * @throws If this method is called before calling `Vue.use(xPlugin)`.\n * @internal\n */\n protected static getInstance(): XPlugin {\n if (!this.instance) {\n throw new Error(\"XPlugin must be installed before accessing it's API.\")\n }\n return this.instance\n }\n\n /**\n * Record of modules that have been tried to be installed before the installation of the plugin.\n *\n * @internal\n */\n protected static pendingXModules: Partial<Record<XModuleName, AnyXModule>> = {}\n\n /**\n * Instance of the installed plugin. Used to expose the bus and the adapter.\n *\n * @internal\n */\n protected static instance?: XPlugin\n\n public wiring: Partial<Record<XModuleName, Partial<Record<XEvent, string[]>>>> = {}\n /**\n * Bus for retrieving the observables when registering the wiring.\n *\n * @internal\n */\n protected bus: XBus<XEventsTypes, WireMetadata>\n\n /**\n * Adapter for the API, responsible for transforming requests and responses.\n *\n * @internal\n */\n protected adapter!: XComponentsAdapter\n\n /**\n * Set of the already installed XModules to avoid re-registering them.\n *\n * @internal\n */\n protected installedXModules = new Set<string>()\n\n /**\n * True if the plugin has been installed in a Vue instance, in this case\n * XModules will be installed immediately. False otherwise, in this case\n * XModules will be installed lazily when the {@link XPlugin#install} method\n * is called.\n *\n * @internal\n */\n protected isInstalled = false\n\n /**\n * The installation options of the plugin, where all the customization of\n * {@link XModule | XModules} is done.\n *\n * @internal\n */\n protected options!: XPluginOptions\n\n /**\n * The Vuex store, to pass to the wires for its registration, and to register the store\n * modules on it.\n *\n * @internal\n */\n protected store!: Store<any>\n\n /**\n * The Vue application instance, passed by the installation method.\n *\n * @internal\n */\n protected app!: App\n\n /**\n * Creates a new instance of the XPlugin with the given bus passed as parameter.\n *\n * @param bus - The XBus implementation to use for the plugin.\n *\n * @public\n */\n public constructor(bus: XBus<XEventsTypes, WireMetadata>) {\n this.bus = bus\n }\n\n /**\n * If the plugin has already been installed, it immediately registers a {@link XModule}. If it\n * has not been installed yet, it stores the module in a list until the plugin is installed.\n *\n * @param xModule - The module to register.\n *\n * @public\n */\n static registerXModule(xModule: AnyXModule): void {\n if (this.instance) {\n this.instance.registerXModule(xModule)\n } else {\n this.lazyRegisterXModule(xModule)\n }\n }\n\n /**\n * Utility method for resetting the installed instance of the plugin.\n *\n * @remarks Use only for testing.\n *\n * @internal\n */\n static resetInstance(): void {\n cleanGettersProxyCache()\n this.instance = undefined\n }\n\n /**\n * Stores the {@link XModule} in a dictionary, so it can be registered later in the installation\n * process.\n *\n * @param xModule - The module to register.\n *\n * @internal\n */\n protected static lazyRegisterXModule(xModule: AnyXModule): void {\n this.pendingXModules[xModule.name] = xModule\n }\n\n /**\n * Installs the plugin into the Vue instance.\n *\n * @param app - The Vue application instance.\n * @param options - The options to install this plugin with.\n * @throws If the XPlugin has already been installed, or the options are not valid.\n *\n * @internal\n */\n install(app: App, options?: XPluginOptions): void {\n if (this.isInstalled) {\n throw new Error('XPlugin has already been installed')\n }\n assertXPluginOptionsAreValid(options)\n XPlugin.instance = this\n this.app = app\n this.options = options\n this.adapter = options.adapter\n this.registerStore()\n this.registerInitialModules()\n this.registerPendingXModules()\n this.isInstalled = true\n }\n\n /**\n * Performs the registration of a {@link XModule}.\n *\n * @param xModule - The module to register.\n *\n * @internal\n */\n protected registerXModule(xModule: AnyXModule): void {\n if (!this.installedXModules.has(xModule.name)) {\n const customizedXModule = this.customizeXModule(xModule)\n this.registerStoreModule(customizedXModule)\n this.registerStoreEmitters(customizedXModule)\n this.registerWiring(customizedXModule)\n // The wiring must be registered after the store emitters\n // to allow lazy loaded modules work properly.\n this.installedXModules.add(xModule.name)\n void this.bus.emit('ModuleRegistered', xModule.name)\n }\n }\n\n /**\n * Performs a customization of a {@link XModule} using the XPlugin public and private options.\n *\n * @param xModule - The module to customize.\n * @returns The customized xModule.\n * @internal\n */\n protected customizeXModule({\n name,\n wiring,\n storeModule,\n storeEmitters,\n ...restXModule\n }: AnyXModule): AnyXModule {\n const { wiring: wiringOptions, config }: XModuleOptions<XModuleName> =\n this.options.xModules?.[name] ?? {}\n\n const { storeModule: storeModuleOptions, storeEmitters: emittersOptions } =\n this.options.__PRIVATE__xModules?.[name] ?? {}\n\n return {\n name,\n // eslint-disable-next-line ts/no-unsafe-assignment\n wiring: wiringOptions ? deepMerge({}, wiring, wiringOptions) : wiring,\n storeModule: this.customizeStoreModule(storeModule, storeModuleOptions ?? {}, config),\n // eslint-disable-next-line ts/no-unsafe-assignment\n storeEmitters: emittersOptions\n ? deepMerge({}, storeEmitters, emittersOptions)\n : storeEmitters,\n ...restXModule,\n }\n }\n\n /**\n * Performs the registration of the wiring, retrieving the observable for each event, and\n * executing each wire.\n *\n * @param xModule - The {@link XModule} to register its wiring.\n * @internal\n */\n protected registerWiring({ wiring, name }: AnyXModule): void {\n sendWiringToDevtools(name, wiring)\n forEach(wiring, (event, wires: Dictionary<AnyWire>) => {\n // Obtain the observable\n const observable = this.bus.on(event, true) as unknown as Observable<\n SubjectPayload<EventPayload<XEventsTypes, typeof event>, WireMetadata>\n >\n // Register event wires\n forEach(wires, (_, wire) => {\n wire(observable, this.store as Store<RootXStoreState>, this.bus.on.bind(this.bus))\n })\n })\n }\n\n /**\n * Registers a {@link https://vuex.vuejs.org/ | Vuex} store module under the 'x' module.\n *\n * @param xModule - The {@link XModule} to register its Store Module.\n * @internal\n */\n protected registerStoreModule({ name, storeModule }: AnyXModule): void {\n ;(storeModule as Module<any, any>).namespaced = true\n this.store.registerModule(['x', name], storeModule)\n }\n\n /**\n * Overrides a {@link https://vuex.vuejs.org/ | Vuex} store module definition.\n *\n * Priority of configuration merging.\n * 1st {@link XPluginOptions.xModules | xModules XPlugin option}.\n * 2nd {@link XPluginOptions.__PRIVATE__xModules | Private xModules XPlugin option}.\n * 3rd {@link XStoreModule.state | Default state of the xModule}.\n *\n * @param defaultModule - The default store module to override.\n * @param moduleOptions - The state, actions, mutations and getters to override the defaultModule.\n * @param configOptions - The state config to override the moduleOptions.\n * @returns The {@link XStoreModule} customized.\n * @internal\n */\n protected customizeStoreModule(\n { state: defaultState, ...actionsGettersMutations }: AnyXStoreModule,\n { state: xModuleState, ...newActionsGettersMutations }: AnyXStoreModuleOption,\n configOptions: unknown,\n ): AnyXStoreModule {\n const configOptionsObject = configOptions ? { config: configOptions } : {}\n // eslint-disable-next-line ts/no-unsafe-assignment\n const customizedModule = deepMerge({}, actionsGettersMutations, newActionsGettersMutations)\n // eslint-disable-next-line ts/no-unsafe-assignment,ts/no-unsafe-member-access\n customizedModule.state = deepMerge(defaultState(), xModuleState, configOptionsObject)\n // eslint-disable-next-line ts/no-unsafe-return\n return customizedModule\n }\n\n /**\n * Registers the store emitters, making them emit the event when the part of the state selected\n * changes.\n *\n * @param xModule - The {@link XModule} to register its Store Emitters.\n * @internal\n */\n protected registerStoreEmitters(xModule: AnyXModule): void {\n registerStoreEmitters(xModule, this.bus, this.store)\n }\n\n /**\n * Registers the {@link https://vuex.vuejs.org/ | Vuex} store. If the store has not been passed\n * through the {@link XPluginOptions} object, it creates one, and injects it in the Vue\n * prototype. Then it registers an x module in the store, to safe scope all the\n * {@link XModule | XModules} dynamically installed.\n *\n * @internal\n */\n protected registerStore(): void {\n this.store = this.options.store ?? createStore({})\n this.app.use(this.store)\n this.store.registerModule('x', RootXStoreModule)\n }\n /**\n * Registers the initial {@link XModule | XModules} during the {@link XPlugin} installation.\n *\n * @internal\n */\n protected registerInitialModules(): void {\n this.options.initialXModules?.forEach(xModule => {\n this.registerXModule(xModule)\n })\n }\n\n /**\n * Registers the pending {@link XModule | XModules}, that requested to be registered before the\n * installation of the plugin.\n *\n * @internal\n */\n protected registerPendingXModules(): void {\n forEach(XPlugin.pendingXModules, (_, xModule) => {\n this.registerXModule(xModule)\n })\n XPlugin.pendingXModules = {}\n }\n}\n\n/**\n * Vue plugin that modifies each component instance, extending them with the\n * {@link XComponentAPI | X Component API }.\n *\n * @example\n * Minimal installation example. An API adapter is needed to connect the X Components with the\n * suggestions, search, or tagging APIs. In this example we are using the default Empathy's platform\n * adapter.\n *\n * ```typescript\n * import { platformAdapter } from '@empathyco/x-adapter-platform';\n * Vue.use(xPlugin, { adapter: platformAdapter });\n * ```\n *\n * @example\n * If you are using {@link https://vuex.vuejs.org/ | Vuex} in your project you must install its\n * plugin, and instantiate a store before installing the XPlugin:\n * ```typescript\n * Vue.use(Vuex);\n * const store = new Store({ ... });\n * Vue.use(xPlugin, { adapter, store });\n * ```\n * @public\n */\nexport const xPlugin = new XPlugin(bus)\n"],"names":[],"mappings":";;;;;;;;;AAoBA;;;;;AAKG;MACU,OAAO,CAAA;AAClB;;;;;;;;AAQG;AACI,IAAA,WAAW,OAAO,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO;IACnC;AAEA;;;;;;;;AAQG;AACI,IAAA,WAAW,GAAG,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG;IAC/B;AAEA;;;;;;;AAOG;AACI,IAAA,WAAW,KAAK,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK;IACjC;AAEA;;;;;;AAMG;AACO,IAAA,OAAO,WAAW,GAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC;QACzE;QACA,OAAO,IAAI,CAAC,QAAQ;IACtB;AAuEA;;;;;;AAMG;AACH,IAAA,WAAA,CAAmB,GAAqC,EAAA;QA9DjD,IAAA,CAAA,MAAM,GAAoE,EAAE;AAenF;;;;AAIG;AACO,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,GAAG,EAAU;AAE/C;;;;;;;AAOG;QACO,IAAA,CAAA,WAAW,GAAG,KAAK;AAiC3B,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;IAChB;AAEA;;;;;;;AAOG;IACH,OAAO,eAAe,CAAC,OAAmB,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;QACxC;aAAO;AACL,YAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;QACnC;IACF;AAEA;;;;;;AAMG;AACH,IAAA,OAAO,aAAa,GAAA;AAClB,QAAA,sBAAsB,EAAE;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;IAC3B;AAEA;;;;;;;AAOG;IACO,OAAO,mBAAmB,CAAC,OAAmB,EAAA;QACtD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO;IAC9C;AAEA;;;;;;;;AAQG;IACH,OAAO,CAAC,GAAQ,EAAE,OAAwB,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;QACvD;QACA,4BAA4B,CAAC,OAAO,CAAC;AACrC,QAAA,OAAO,CAAC,QAAQ,GAAG,IAAI;AACvB,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;QAC9B,IAAI,CAAC,aAAa,EAAE;QACpB,IAAI,CAAC,sBAAsB,EAAE;QAC7B,IAAI,CAAC,uBAAuB,EAAE;AAC9B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;IACzB;AAEA;;;;;;AAMG;AACO,IAAA,eAAe,CAAC,OAAmB,EAAA;AAC3C,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;AACxD,YAAA,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;AAC3C,YAAA,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;AAC7C,YAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;;;YAGtC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;AACxC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC;QACtD;IACF;AAEA;;;;;;AAMG;AACO,IAAA,gBAAgB,CAAC,EACzB,IAAI,EACJ,MAAM,EACN,WAAW,EACX,aAAa,EACb,GAAG,WAAW,EACH,EAAA;AACX,QAAA,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE;QAErC,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,GACvE,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,EAAE;QAEhD,OAAO;YACL,IAAI;;AAEJ,YAAA,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,MAAM;AACrE,YAAA,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,kBAAkB,IAAI,EAAE,EAAE,MAAM,CAAC;;AAErF,YAAA,aAAa,EAAE;kBACX,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE,eAAe;AAC9C,kBAAE,aAAa;AACjB,YAAA,GAAG,WAAW;SACf;IACH;AAEA;;;;;;AAMG;AACO,IAAA,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAc,EAAA;AACnD,QAAA,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC;QAClC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAA0B,KAAI;;AAEpD,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAEzC;;YAED,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;gBACzB,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAA+B,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AAEA;;;;;AAKG;AACO,IAAA,mBAAmB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAc,EAAA;AAC3D,QAAA,WAAgC,CAAC,UAAU,GAAG,IAAI;AACpD,QAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC;IACrD;AAEA;;;;;;;;;;;;;AAaG;AACO,IAAA,oBAAoB,CAC5B,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,uBAAuB,EAAmB,EACpE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,0BAA0B,EAAyB,EAC7E,aAAsB,EAAA;AAEtB,QAAA,MAAM,mBAAmB,GAAG,aAAa,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE;;QAE1E,MAAM,gBAAgB,GAAG,SAAS,CAAC,EAAE,EAAE,uBAAuB,EAAE,0BAA0B,CAAC;;AAE3F,QAAA,gBAAgB,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,mBAAmB,CAAC;;AAErF,QAAA,OAAO,gBAAgB;IACzB;AAEA;;;;;;AAMG;AACO,IAAA,qBAAqB,CAAC,OAAmB,EAAA;QACjD,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;IACtD;AAEA;;;;;;;AAOG;IACO,aAAa,GAAA;AACrB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAClD;AACA;;;;AAIG;IACO,sBAAsB,GAAA;QAC9B,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,IAAG;AAC9C,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;AAC/B,QAAA,CAAC,CAAC;IACJ;AAEA;;;;;AAKG;IACO,uBAAuB,GAAA;QAC/B,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,OAAO,KAAI;AAC9C,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;AAC/B,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,CAAC,eAAe,GAAG,EAAE;IAC9B;;AA/SA;;;;AAIG;AACc,OAAA,CAAA,eAAe,GAA6C,EAA7C;AA6SlC;;;;;;;;;;;;;;;;;;;;;;;AAuBG;MACU,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG;;;;"}
|
package/js/utils/storage.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { BrowserStorageService } from '@empathyco/x-
|
|
1
|
+
import { BrowserStorageService } from '@empathyco/x-utils';
|
|
2
2
|
import { noOp } from './function.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Service instance of {@link @empathyco/x-
|
|
5
|
+
* Service instance of {@link @empathyco/x-utils#StorageService | storage service} if
|
|
6
6
|
* localStorage is available.
|
|
7
|
-
* If not, required {@link @empathyco/x-
|
|
7
|
+
* If not, required {@link @empathyco/x-utils#StorageService | storage service} functions
|
|
8
8
|
* are initialized with empty implementations.
|
|
9
|
-
*
|
|
10
9
|
* @internal
|
|
11
10
|
*/
|
|
12
11
|
const localStorageService = typeof localStorage !== 'undefined'
|
package/js/utils/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sources":["../../../src/utils/storage.ts"],"sourcesContent":["import type { StorageService } from '@empathyco/x-
|
|
1
|
+
{"version":3,"file":"storage.js","sources":["../../../src/utils/storage.ts"],"sourcesContent":["import type { StorageService } from '@empathyco/x-utils'\nimport { BrowserStorageService } from '@empathyco/x-utils'\nimport { noOp } from './function'\n\n/**\n * Service instance of {@link @empathyco/x-utils#StorageService | storage service} if\n * localStorage is available.\n * If not, required {@link @empathyco/x-utils#StorageService | storage service} functions\n * are initialized with empty implementations.\n * @internal\n */\nexport const localStorageService: StorageService =\n typeof localStorage !== 'undefined'\n ? new BrowserStorageService(localStorage, 'x')\n : {\n clear: noOp,\n getItem: noOp,\n setItem: noOp,\n removeItem: noOp,\n }\n"],"names":[],"mappings":";;;AAIA;;;;;;AAMG;AACI,MAAM,mBAAmB,GAC9B,OAAO,YAAY,KAAK;AACtB,MAAE,IAAI,qBAAqB,CAAC,YAAY,EAAE,GAAG;AAC7C,MAAE;AACE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,UAAU,EAAE,IAAI;;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { BrowserStorageService } from '@empathyco/x-
|
|
1
|
+
import { BrowserStorageService } from '@empathyco/x-utils';
|
|
2
2
|
import '@vue/devtools-api';
|
|
3
3
|
import '../../../plugins/devtools/timeline.devtools.js';
|
|
4
|
-
import '@empathyco/x-utils';
|
|
5
4
|
import 'rxjs/operators';
|
|
6
5
|
import 'rxjs';
|
|
7
6
|
import '../../../plugins/devtools/colors.utils.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-tagging.service.js","sources":["../../../../../src/x-modules/tagging/service/external-tagging.service.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"external-tagging.service.js","sources":["../../../../../src/x-modules/tagging/service/external-tagging.service.ts"],"sourcesContent":["import type { Result } from '@empathyco/x-types'\nimport type { StorageService } from '@empathyco/x-utils'\nimport type { Store } from 'vuex'\nimport type { RootXStoreState } from '../../../store/index'\nimport type { ExternalTaggingService } from './types'\nimport { BrowserStorageService } from '@empathyco/x-utils'\nimport { XPlugin } from '../../../plugins/index'\n\n/**\n * Default implementation for the {@link ExternalTaggingService}.\n *\n * @public\n */\nexport class DefaultExternalTaggingService implements ExternalTaggingService {\n /**\n * Session id key to use as key in the storage for result clicks.\n *\n * @public\n */\n public static readonly RESULT_CLICKED_ID_KEY = 'add-to-cart'\n\n /**\n * Session id key to use as key in the storage for add to carts.\n *\n * @public\n */\n public static readonly ADD_TO_CART_ID_KEY = 'checkout'\n\n /**\n * Global instance of the {@link ExternalTaggingService}.\n */\n public static instance: ExternalTaggingService = new DefaultExternalTaggingService()\n\n public constructor(\n protected localStorageService: StorageService = new BrowserStorageService(localStorage, 'x'),\n protected sessionStorageService: StorageService = new BrowserStorageService(\n sessionStorage,\n 'x',\n ),\n ) {}\n\n protected get store(): Store<RootXStoreState> {\n return XPlugin.store\n }\n\n protected get storageKey(): string {\n return this.store.state.x.tagging.config.storageKey as string\n }\n\n protected get storageTTLMs(): number {\n return this.store.state.x.tagging.config.storageTTLMs as number\n }\n\n /**\n * Stores in the local storage the information from the Result clicked by the user\n * in order to be able to track the add to cart later on the result's PDP.\n *\n * @param result - The result to store.\n *\n * @public\n */\n storeResultClicked(result: Result): void {\n const key = result[this.storageKey as keyof Result] as string\n const storageId = this.getStorageId(DefaultExternalTaggingService.RESULT_CLICKED_ID_KEY, key)\n if (storageId) {\n this.localStorageService.setItem(storageId, result, this.storageTTLMs)\n }\n }\n\n /**\n * Stores in the local storage the information from the Result added to the cart\n * by the user in order to be able to track the checkout later on when the checkout\n * process has been completed by shopper.\n *\n * @param result - The result to store.\n *\n * @public\n */\n storeAddToCart(result: Result): void {\n const key = result[this.storageKey as keyof Result] as string\n const storageId = this.getStorageId(DefaultExternalTaggingService.ADD_TO_CART_ID_KEY, key)\n if (storageId) {\n this.localStorageService.setItem(storageId, result, this.storageTTLMs)\n }\n }\n\n /**\n * Checks if the local storage contains a result information for the given id and moves\n * the result info from the local storage to the session storage.\n *\n * @param id - The id of the result to move to the session storage.\n *\n * @public\n */\n moveToSessionStorage(id?: string): void {\n const storageId = this.getStorageId(DefaultExternalTaggingService.RESULT_CLICKED_ID_KEY, id)\n if (storageId) {\n // eslint-disable-next-line ts/no-unsafe-assignment\n const result = this.localStorageService.removeItem(storageId)\n if (result) {\n this.sessionStorageService.setItem(storageId, result)\n }\n }\n }\n\n /**\n * Checks if the session storage contains a result information for a given id or the current url.\n * If exists, it tracks the add to cart and saves the add to cart information into session\n * storage.\n *\n * @param id - The id of the result to track.\n *\n * @public\n */\n trackAddToCart(id?: string): void {\n const storageId =\n this.storageKey === 'url'\n ? this.getStorageId(DefaultExternalTaggingService.RESULT_CLICKED_ID_KEY)\n : this.getStorageId(DefaultExternalTaggingService.RESULT_CLICKED_ID_KEY, id)\n if (storageId) {\n const result = this.sessionStorageService.getItem<Result>(storageId)\n if (result?.tagging?.add2cart) {\n result.tagging.add2cart.params.location = 'pdp'\n void this.store.dispatch('x/tagging/track', result.tagging.add2cart)\n /**\n * Done after tracking the add to cart to avoid tracking the checkout without\n * an add to cart, in case the tracking fails.\n */\n this.storeAddToCart(result)\n }\n }\n }\n\n /**\n * Calculates the browser storage key for the given id.\n *\n * @param keyPrefix - The key prefix to use in the storage.\n * @param id - The id to be used for the storage key.\n *\n * @returns The complete key to be used for storage.\n *\n * @internal\n */\n protected getStorageId(keyPrefix: string, id?: string): string | null {\n if (this.storageKey === 'url') {\n let url = id ?? window.location.href\n url = url.replace(/\\s|\\+/g, '%20')\n const pathName = this.getPathName(url)\n return `${keyPrefix}-${pathName}`\n } else if (id) {\n return `${keyPrefix}-${id}`\n } else {\n this.showWarningMessage()\n return null\n }\n }\n\n /**\n * Logs a warning message in case the tracking cannot be done.\n *\n * @internal\n */\n protected showWarningMessage(): void {\n if (this.storageKey !== 'url') {\n console.warn('No product id was provided but the storage was not configured to use the url')\n }\n }\n\n /**\n * Returns the pathname for a given url.\n *\n * @param url - The url to get the pathname from.\n *\n * @returns The pathname of the url.\n *\n * @internal\n */\n protected getPathName(url: string): string {\n let urlObject: URL\n try {\n // Check if the url is relative or absolute path\n // eslint-disable-next-line regexp/no-unused-capturing-group\n if (/^(\\.\\.\\/|\\.\\/|\\/)/.test(url)) {\n urlObject = new URL(url, location.origin)\n } else {\n urlObject = new URL(url)\n }\n return urlObject.pathname\n // eslint-disable-next-line unused-imports/no-unused-vars\n } catch (_error) {\n console.warn(`There was a problem with url ${url}`)\n return url\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@empathyco/x-components",
|
|
3
|
-
"version": "6.0.0-alpha.
|
|
3
|
+
"version": "6.0.0-alpha.219",
|
|
4
4
|
"description": "Empathy X Components",
|
|
5
5
|
"author": "Empathy Systems Corporation S.L.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"build": "ts-node --project ./build/tsconfig.json ./build/build.ts",
|
|
47
47
|
"build:website": "vite build",
|
|
48
48
|
"postbuild": "pnpm pack --pack-destination ..",
|
|
49
|
-
"gen:docs": "
|
|
49
|
+
"gen:docs": "rm -rf docs && pnpm run gen:typescript-docs && pnpm run gen:component-docs",
|
|
50
50
|
"gen:typescript-docs": "api-documenter markdown --input-folder dist/report --output-folder docs/API-reference/api",
|
|
51
51
|
"gen:component-docs": "vue-docgen",
|
|
52
52
|
"typecheck": "vue-tsc",
|
|
@@ -67,11 +67,9 @@
|
|
|
67
67
|
"vuex": "4.0.2"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@empathyco/x-adapter": "8.1.0-alpha.
|
|
71
|
-
"@empathyco/x-adapter-platform": "1.1.0-alpha.
|
|
72
|
-
"@empathyco/x-
|
|
73
|
-
"@empathyco/x-storage-service": "2.0.3-alpha.11",
|
|
74
|
-
"@empathyco/x-types": "10.1.0-alpha.47",
|
|
70
|
+
"@empathyco/x-adapter": "8.1.0-alpha.19",
|
|
71
|
+
"@empathyco/x-adapter-platform": "1.1.0-alpha.56",
|
|
72
|
+
"@empathyco/x-types": "10.1.0-alpha.48",
|
|
75
73
|
"@empathyco/x-utils": "1.0.3-alpha.15",
|
|
76
74
|
"@vue/devtools-api": "~6.6.4",
|
|
77
75
|
"@vueuse/core": "~12.8.2",
|
|
@@ -85,7 +83,7 @@
|
|
|
85
83
|
},
|
|
86
84
|
"devDependencies": {
|
|
87
85
|
"@babel/preset-env": "7.29.0",
|
|
88
|
-
"@empathyco/x-tailwindcss": "2.0.0-alpha.
|
|
86
|
+
"@empathyco/x-tailwindcss": "2.0.0-alpha.32",
|
|
89
87
|
"@microsoft/api-documenter": "7.29.2",
|
|
90
88
|
"@microsoft/api-extractor": "7.57.2",
|
|
91
89
|
"@testing-library/vue": "8.1.0",
|
|
@@ -102,7 +100,6 @@
|
|
|
102
100
|
"postcss": "8.5.6",
|
|
103
101
|
"postcss-dir-pseudo-class": "7.0.2",
|
|
104
102
|
"postcss-logical": "4.0.2",
|
|
105
|
-
"rimraf": "3.0.2",
|
|
106
103
|
"rollup": "4.59.0",
|
|
107
104
|
"rollup-plugin-copy": "3.5.0",
|
|
108
105
|
"rollup-plugin-delete": "2.2.0",
|
|
@@ -125,5 +122,5 @@
|
|
|
125
122
|
"access": "public",
|
|
126
123
|
"directory": "dist"
|
|
127
124
|
},
|
|
128
|
-
"gitHead": "
|
|
125
|
+
"gitHead": "ee522d31a91be6935bab312a7d90bcb65cd89f32"
|
|
129
126
|
}
|
|
@@ -2385,7 +2385,7 @@
|
|
|
2385
2385
|
{
|
|
2386
2386
|
"kind": "Function",
|
|
2387
2387
|
"canonicalReference": "@empathyco/x-adapter-platform!mapFilters:function(1)",
|
|
2388
|
-
"docComment": "/**\n * Converts the filters to the shape the Platform's API is expecting.\n *\n * @param filters - The filters from our internal request.\n *\n * @returns The filters ready to be consumed for the API.\n *\n * @example\n * ```ts\n * const filters = {\n * offer: [\n * {\n * facetId: 'offer',\n * modelName: 'SimpleFilter',\n * id: 'price:[0 TO 10]',\n * selected: true,\n * label: 'In Offer'\n * } as SimpleFilter\n * ],\n * categoryPaths: [\n * {\n * facetId: 'categoryPaths',\n * id: 'categoryIds:ffc61e1e9__be257cb26',\n * label: 'Fragrance',\n * modelName: 'HierarchicalFilter',\n * parentId: 'categoryIds:ffc61e1e9',\n * selected: true,\n * totalResults: 1\n * },\n * {\n * facetId: 'categoryPaths',\n * id: 'categoryIds:ffc61e1e9__fa5ef54f2',\n * label: 'Fragrance',\n * modelName: 'HierarchicalFilter',\n * parentId: 'categoryIds:ffc61e1e9',\n * selected: true,\n * totalResults: 1\n * },\n * {\n * children: ['categoryIds:ffc61e1e9__be257cb26', 'categoryIds:ffc61e1e9__fa5ef54f2'],\n * facetId: 'categoryPaths',\n * id: 'categoryIds:ffc61e1e9',\n * label: 'Personal Care',\n * modelName: 'HierarchicalFilter',\n * parentId: null,\n * selected: true,\n * totalResults: 1\n * }\n * ]\n * };\n *\n * const mappedFilters = mapFilters({ filters });\n * mappedFilters is [\n * 'price:[0 TO 10]',\n * 'categoryIds:ffc61e1e9__be257cb26',\n * 'categoryIds:ffc61e1e9__fa5ef54f2'\n * ];\n * ```\n *\n */\n",
|
|
2388
|
+
"docComment": "/**\n * Converts the filters to the shape the Platform's API is expecting.\n *\n * @param filters - The filters from our internal request.\n *\n * @returns The filters ready to be consumed for the API.\n *\n * @example\n * ```ts\n * const filters = {\n * offer: [\n * {\n * facetId: 'offer',\n * modelName: 'SimpleFilter',\n * id: 'price:[0 TO 10]',\n * selected: true,\n * label: 'In Offer'\n * } as SimpleFilter\n * ],\n * categoryPaths: [\n * {\n * facetId: 'categoryPaths',\n * id: 'categoryIds:ffc61e1e9__be257cb26',\n * label: 'Fragrance',\n * modelName: 'HierarchicalFilter',\n * parentId: 'categoryIds:ffc61e1e9',\n * selected: true,\n * totalResults: 1\n * },\n * {\n * facetId: 'categoryPaths',\n * id: 'categoryIds:ffc61e1e9__fa5ef54f2',\n * label: 'Fragrance',\n * modelName: 'HierarchicalFilter',\n * parentId: 'categoryIds:ffc61e1e9',\n * selected: true,\n * totalResults: 1\n * },\n * {\n * children: ['categoryIds:ffc61e1e9__be257cb26', 'categoryIds:ffc61e1e9__fa5ef54f2'],\n * facetId: 'categoryPaths',\n * id: 'categoryIds:ffc61e1e9',\n * label: 'Personal Care',\n * modelName: 'HierarchicalFilter',\n * parentId: null,\n * selected: true,\n * totalResults: 1\n * }\n * ]\n * };\n *\n * const mappedFilters = mapFilters({ filters });\n * mappedFilters is [\n * 'price:[0 TO 10]',\n * 'categoryIds:ffc61e1e9__be257cb26',\n * 'categoryIds:ffc61e1e9__fa5ef54f2'\n * ];\n * ```\n *\n * @public\n */\n",
|
|
2389
2389
|
"excerptTokens": [
|
|
2390
2390
|
{
|
|
2391
2391
|
"kind": "Content",
|
|
@@ -9720,7 +9720,7 @@
|
|
|
9720
9720
|
{
|
|
9721
9721
|
"kind": "Variable",
|
|
9722
9722
|
"canonicalReference": "@empathyco/x-adapter-platform!taggingRequestMapper:var",
|
|
9723
|
-
"docComment": "/**\n * Default implementation for the TaggingRequestMapper.\n *\n * @param
|
|
9723
|
+
"docComment": "/**\n * Default implementation for the TaggingRequestMapper.\n *\n * @param request - The tagging request.\n *\n * @returns The tagging request params.\n *\n * @public\n */\n",
|
|
9724
9724
|
"excerptTokens": [
|
|
9725
9725
|
{
|
|
9726
9726
|
"kind": "Content",
|
|
@@ -18651,7 +18651,7 @@
|
|
|
18651
18651
|
{
|
|
18652
18652
|
"kind": "Reference",
|
|
18653
18653
|
"text": "StorageService",
|
|
18654
|
-
"canonicalReference": "@empathyco/x-
|
|
18654
|
+
"canonicalReference": "@empathyco/x-utils!StorageService:interface"
|
|
18655
18655
|
},
|
|
18656
18656
|
{
|
|
18657
18657
|
"kind": "Content",
|
|
@@ -18660,7 +18660,7 @@
|
|
|
18660
18660
|
{
|
|
18661
18661
|
"kind": "Reference",
|
|
18662
18662
|
"text": "StorageService",
|
|
18663
|
-
"canonicalReference": "@empathyco/x-
|
|
18663
|
+
"canonicalReference": "@empathyco/x-utils!StorageService:interface"
|
|
18664
18664
|
},
|
|
18665
18665
|
{
|
|
18666
18666
|
"kind": "Content",
|
|
@@ -18766,7 +18766,7 @@
|
|
|
18766
18766
|
{
|
|
18767
18767
|
"kind": "Reference",
|
|
18768
18768
|
"text": "StorageService",
|
|
18769
|
-
"canonicalReference": "@empathyco/x-
|
|
18769
|
+
"canonicalReference": "@empathyco/x-utils!StorageService:interface"
|
|
18770
18770
|
},
|
|
18771
18771
|
{
|
|
18772
18772
|
"kind": "Content",
|
|
@@ -18879,7 +18879,7 @@
|
|
|
18879
18879
|
{
|
|
18880
18880
|
"kind": "Reference",
|
|
18881
18881
|
"text": "StorageService",
|
|
18882
|
-
"canonicalReference": "@empathyco/x-
|
|
18882
|
+
"canonicalReference": "@empathyco/x-utils!StorageService:interface"
|
|
18883
18883
|
},
|
|
18884
18884
|
{
|
|
18885
18885
|
"kind": "Content",
|
|
@@ -79934,7 +79934,7 @@
|
|
|
79934
79934
|
{
|
|
79935
79935
|
"kind": "Interface",
|
|
79936
79936
|
"canonicalReference": "@empathyco/x-components!TypingHTMLElement:interface",
|
|
79937
|
-
"docComment": "",
|
|
79937
|
+
"docComment": "/**\n * TypingHTMLElement interface.\n *\n * @public\n */\n",
|
|
79938
79938
|
"excerptTokens": [
|
|
79939
79939
|
{
|
|
79940
79940
|
"kind": "Content",
|
|
@@ -102,7 +102,7 @@ import { default as SortZAIcon } from './sort-za.vue';
|
|
|
102
102
|
import { default as SpinnerIcon } from './spinner.vue';
|
|
103
103
|
import { default as StarFilledIcon } from './star-filled.vue';
|
|
104
104
|
import { default as StarIcon } from './star.vue';
|
|
105
|
-
import type { StorageService } from '@empathyco/x-
|
|
105
|
+
import type { StorageService } from '@empathyco/x-utils';
|
|
106
106
|
import type { Store } from 'vuex';
|
|
107
107
|
import type { StyleValue } from 'vue';
|
|
108
108
|
import type { Subject } from 'rxjs';
|
|
@@ -8729,7 +8729,7 @@ export { TrendingTinyIcon }
|
|
|
8729
8729
|
// @public
|
|
8730
8730
|
export const typing: Directive<TypingHTMLElement, TypingOptions>;
|
|
8731
8731
|
|
|
8732
|
-
// @public
|
|
8732
|
+
// @public
|
|
8733
8733
|
export interface TypingHTMLElement extends HTMLElement {
|
|
8734
8734
|
// (undocumented)
|
|
8735
8735
|
__timeoutId?: number;
|
package/report/x-types.api.json
CHANGED
|
@@ -738,6 +738,78 @@
|
|
|
738
738
|
],
|
|
739
739
|
"extendsTokenRanges": []
|
|
740
740
|
},
|
|
741
|
+
{
|
|
742
|
+
"kind": "Interface",
|
|
743
|
+
"canonicalReference": "@empathyco/x-types!AiSuggestionQuery:interface",
|
|
744
|
+
"docComment": "/**\n * Data for each query suggested.\n *\n * @public\n */\n",
|
|
745
|
+
"excerptTokens": [
|
|
746
|
+
{
|
|
747
|
+
"kind": "Content",
|
|
748
|
+
"text": "export interface AiSuggestionQuery "
|
|
749
|
+
}
|
|
750
|
+
],
|
|
751
|
+
"fileUrlPath": "temp/types/ai/suggestions.model.d.ts",
|
|
752
|
+
"releaseTag": "Public",
|
|
753
|
+
"name": "AiSuggestionQuery",
|
|
754
|
+
"preserveMemberOrder": false,
|
|
755
|
+
"members": [
|
|
756
|
+
{
|
|
757
|
+
"kind": "PropertySignature",
|
|
758
|
+
"canonicalReference": "@empathyco/x-types!AiSuggestionQuery#categories:member",
|
|
759
|
+
"docComment": "",
|
|
760
|
+
"excerptTokens": [
|
|
761
|
+
{
|
|
762
|
+
"kind": "Content",
|
|
763
|
+
"text": "categories: "
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
"kind": "Content",
|
|
767
|
+
"text": "string[]"
|
|
768
|
+
},
|
|
769
|
+
{
|
|
770
|
+
"kind": "Content",
|
|
771
|
+
"text": ";"
|
|
772
|
+
}
|
|
773
|
+
],
|
|
774
|
+
"isReadonly": false,
|
|
775
|
+
"isOptional": false,
|
|
776
|
+
"releaseTag": "Public",
|
|
777
|
+
"name": "categories",
|
|
778
|
+
"propertyTypeTokenRange": {
|
|
779
|
+
"startIndex": 1,
|
|
780
|
+
"endIndex": 2
|
|
781
|
+
}
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"kind": "PropertySignature",
|
|
785
|
+
"canonicalReference": "@empathyco/x-types!AiSuggestionQuery#query:member",
|
|
786
|
+
"docComment": "",
|
|
787
|
+
"excerptTokens": [
|
|
788
|
+
{
|
|
789
|
+
"kind": "Content",
|
|
790
|
+
"text": "query: "
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"kind": "Content",
|
|
794
|
+
"text": "string"
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"kind": "Content",
|
|
798
|
+
"text": ";"
|
|
799
|
+
}
|
|
800
|
+
],
|
|
801
|
+
"isReadonly": false,
|
|
802
|
+
"isOptional": false,
|
|
803
|
+
"releaseTag": "Public",
|
|
804
|
+
"name": "query",
|
|
805
|
+
"propertyTypeTokenRange": {
|
|
806
|
+
"startIndex": 1,
|
|
807
|
+
"endIndex": 2
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
],
|
|
811
|
+
"extendsTokenRanges": []
|
|
812
|
+
},
|
|
741
813
|
{
|
|
742
814
|
"kind": "Interface",
|
|
743
815
|
"canonicalReference": "@empathyco/x-types!AiSuggestionSearch:interface",
|
|
@@ -1083,6 +1155,139 @@
|
|
|
1083
1155
|
],
|
|
1084
1156
|
"extendsTokenRanges": []
|
|
1085
1157
|
},
|
|
1158
|
+
{
|
|
1159
|
+
"kind": "Interface",
|
|
1160
|
+
"canonicalReference": "@empathyco/x-types!AiSuggestionTagging:interface",
|
|
1161
|
+
"docComment": "/**\n * Interface for the AI suggestion tagging.\n *\n * @public\n */\n",
|
|
1162
|
+
"excerptTokens": [
|
|
1163
|
+
{
|
|
1164
|
+
"kind": "Content",
|
|
1165
|
+
"text": "export interface AiSuggestionTagging "
|
|
1166
|
+
}
|
|
1167
|
+
],
|
|
1168
|
+
"fileUrlPath": "temp/types/ai/suggestions.model.d.ts",
|
|
1169
|
+
"releaseTag": "Public",
|
|
1170
|
+
"name": "AiSuggestionTagging",
|
|
1171
|
+
"preserveMemberOrder": false,
|
|
1172
|
+
"members": [
|
|
1173
|
+
{
|
|
1174
|
+
"kind": "PropertySignature",
|
|
1175
|
+
"canonicalReference": "@empathyco/x-types!AiSuggestionTagging#searchQueries:member",
|
|
1176
|
+
"docComment": "",
|
|
1177
|
+
"excerptTokens": [
|
|
1178
|
+
{
|
|
1179
|
+
"kind": "Content",
|
|
1180
|
+
"text": "searchQueries: "
|
|
1181
|
+
},
|
|
1182
|
+
{
|
|
1183
|
+
"kind": "Reference",
|
|
1184
|
+
"text": "Record",
|
|
1185
|
+
"canonicalReference": "!Record:type"
|
|
1186
|
+
},
|
|
1187
|
+
{
|
|
1188
|
+
"kind": "Content",
|
|
1189
|
+
"text": "<string, {\n toolingDisplay: "
|
|
1190
|
+
},
|
|
1191
|
+
{
|
|
1192
|
+
"kind": "Reference",
|
|
1193
|
+
"text": "TaggingRequest",
|
|
1194
|
+
"canonicalReference": "@empathyco/x-types!TaggingRequest:interface"
|
|
1195
|
+
},
|
|
1196
|
+
{
|
|
1197
|
+
"kind": "Content",
|
|
1198
|
+
"text": ";\n toolingDisplayClick: "
|
|
1199
|
+
},
|
|
1200
|
+
{
|
|
1201
|
+
"kind": "Reference",
|
|
1202
|
+
"text": "TaggingRequest",
|
|
1203
|
+
"canonicalReference": "@empathyco/x-types!TaggingRequest:interface"
|
|
1204
|
+
},
|
|
1205
|
+
{
|
|
1206
|
+
"kind": "Content",
|
|
1207
|
+
"text": ";\n toolingDisplayAdd2Cart: "
|
|
1208
|
+
},
|
|
1209
|
+
{
|
|
1210
|
+
"kind": "Reference",
|
|
1211
|
+
"text": "TaggingRequest",
|
|
1212
|
+
"canonicalReference": "@empathyco/x-types!TaggingRequest:interface"
|
|
1213
|
+
},
|
|
1214
|
+
{
|
|
1215
|
+
"kind": "Content",
|
|
1216
|
+
"text": ";\n }>"
|
|
1217
|
+
},
|
|
1218
|
+
{
|
|
1219
|
+
"kind": "Content",
|
|
1220
|
+
"text": ";"
|
|
1221
|
+
}
|
|
1222
|
+
],
|
|
1223
|
+
"isReadonly": false,
|
|
1224
|
+
"isOptional": false,
|
|
1225
|
+
"releaseTag": "Public",
|
|
1226
|
+
"name": "searchQueries",
|
|
1227
|
+
"propertyTypeTokenRange": {
|
|
1228
|
+
"startIndex": 1,
|
|
1229
|
+
"endIndex": 9
|
|
1230
|
+
}
|
|
1231
|
+
},
|
|
1232
|
+
{
|
|
1233
|
+
"kind": "PropertySignature",
|
|
1234
|
+
"canonicalReference": "@empathyco/x-types!AiSuggestionTagging#toolingDisplay:member",
|
|
1235
|
+
"docComment": "",
|
|
1236
|
+
"excerptTokens": [
|
|
1237
|
+
{
|
|
1238
|
+
"kind": "Content",
|
|
1239
|
+
"text": "toolingDisplay: "
|
|
1240
|
+
},
|
|
1241
|
+
{
|
|
1242
|
+
"kind": "Reference",
|
|
1243
|
+
"text": "TaggingRequest",
|
|
1244
|
+
"canonicalReference": "@empathyco/x-types!TaggingRequest:interface"
|
|
1245
|
+
},
|
|
1246
|
+
{
|
|
1247
|
+
"kind": "Content",
|
|
1248
|
+
"text": ";"
|
|
1249
|
+
}
|
|
1250
|
+
],
|
|
1251
|
+
"isReadonly": false,
|
|
1252
|
+
"isOptional": false,
|
|
1253
|
+
"releaseTag": "Public",
|
|
1254
|
+
"name": "toolingDisplay",
|
|
1255
|
+
"propertyTypeTokenRange": {
|
|
1256
|
+
"startIndex": 1,
|
|
1257
|
+
"endIndex": 2
|
|
1258
|
+
}
|
|
1259
|
+
},
|
|
1260
|
+
{
|
|
1261
|
+
"kind": "PropertySignature",
|
|
1262
|
+
"canonicalReference": "@empathyco/x-types!AiSuggestionTagging#toolingDisplayClick:member",
|
|
1263
|
+
"docComment": "",
|
|
1264
|
+
"excerptTokens": [
|
|
1265
|
+
{
|
|
1266
|
+
"kind": "Content",
|
|
1267
|
+
"text": "toolingDisplayClick: "
|
|
1268
|
+
},
|
|
1269
|
+
{
|
|
1270
|
+
"kind": "Reference",
|
|
1271
|
+
"text": "TaggingRequest",
|
|
1272
|
+
"canonicalReference": "@empathyco/x-types!TaggingRequest:interface"
|
|
1273
|
+
},
|
|
1274
|
+
{
|
|
1275
|
+
"kind": "Content",
|
|
1276
|
+
"text": ";"
|
|
1277
|
+
}
|
|
1278
|
+
],
|
|
1279
|
+
"isReadonly": false,
|
|
1280
|
+
"isOptional": false,
|
|
1281
|
+
"releaseTag": "Public",
|
|
1282
|
+
"name": "toolingDisplayClick",
|
|
1283
|
+
"propertyTypeTokenRange": {
|
|
1284
|
+
"startIndex": 1,
|
|
1285
|
+
"endIndex": 2
|
|
1286
|
+
}
|
|
1287
|
+
}
|
|
1288
|
+
],
|
|
1289
|
+
"extendsTokenRanges": []
|
|
1290
|
+
},
|
|
1086
1291
|
{
|
|
1087
1292
|
"kind": "Interface",
|
|
1088
1293
|
"canonicalReference": "@empathyco/x-types!AiTasksRequest:interface",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Directive } from 'vue';
|
|
2
2
|
/**
|
|
3
3
|
* TypingOptions interface.
|
|
4
|
-
*
|
|
5
4
|
* @public
|
|
6
5
|
*/
|
|
7
6
|
export interface TypingOptions {
|
|
@@ -22,12 +21,15 @@ export interface TypingOptions {
|
|
|
22
21
|
*/
|
|
23
22
|
targetAttr?: string;
|
|
24
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* TypingHTMLElement interface.
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
25
28
|
export interface TypingHTMLElement extends HTMLElement {
|
|
26
29
|
__timeoutId?: number;
|
|
27
30
|
}
|
|
28
31
|
/**
|
|
29
32
|
* Typing directive.
|
|
30
|
-
*
|
|
31
33
|
* @public
|
|
32
34
|
*/
|
|
33
35
|
export declare const typing: Directive<TypingHTMLElement, TypingOptions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typing.d.ts","sourceRoot":"","sources":["../../../src/directives/typing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC
|
|
1
|
+
{"version":3,"file":"typing.d.ts","sourceRoot":"","sources":["../../../src/directives/typing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,CAAC,iBAAiB,EAAE,aAAa,CAe9D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x-plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/x-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAG5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,KAAK,EAAU,KAAK,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,KAAK,EAAW,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,EAAgC,IAAI,EAAE,MAAM,UAAU,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAkB,cAAc,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"x-plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/x-plugin.ts"],"names":[],"mappings":"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"}
|
package/types/utils/storage.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { StorageService } from '@empathyco/x-
|
|
1
|
+
import type { StorageService } from '@empathyco/x-utils';
|
|
2
2
|
/**
|
|
3
|
-
* Service instance of {@link @empathyco/x-
|
|
3
|
+
* Service instance of {@link @empathyco/x-utils#StorageService | storage service} if
|
|
4
4
|
* localStorage is available.
|
|
5
|
-
* If not, required {@link @empathyco/x-
|
|
5
|
+
* If not, required {@link @empathyco/x-utils#StorageService | storage service} functions
|
|
6
6
|
* are initialized with empty implementations.
|
|
7
|
-
*
|
|
8
7
|
* @internal
|
|
9
8
|
*/
|
|
10
9
|
export declare const localStorageService: StorageService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/utils/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/utils/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIxD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAQ3B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"related-prompts-tag-list.vue?vue&type=script&lang.d.ts","sourceRoot":"","sources":["../../../../../src/x-modules/related-prompts/components/related-prompts-tag-list.vue?vue&type=script&lang.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAQnC;;;;;;;GAOG;;IAMC;;;;OAIG;;IAEH;;;;OAIG;;;;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;;OAKG;eACiB,QAAQ,CAAC,MAAM,EAAE,CAAC;IACtC;;;;OAIG;;;;;;8BAoE8B,MAAM,KAAG,IAAI;wBAiEnB,OAAO;kBAeb,OAAO,QAAQ,MAAM,IAAI;kBAkBzB,OAAO,QAAQ,MAAM,IAAI;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"related-prompts-tag-list.vue?vue&type=script&lang.d.ts","sourceRoot":"","sources":["../../../../../src/x-modules/related-prompts/components/related-prompts-tag-list.vue?vue&type=script&lang.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAQnC;;;;;;;GAOG;;IAMC;;;;OAIG;;IAEH;;;;OAIG;;;;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;;OAKG;eACiB,QAAQ,CAAC,MAAM,EAAE,CAAC;IACtC;;;;OAIG;;;;;;8BAoE8B,MAAM,KAAG,IAAI;wBAiEnB,OAAO;kBAeb,OAAO,QAAQ,MAAM,IAAI;kBAkBzB,OAAO,QAAQ,MAAM,IAAI;;;;;;;;;;;iCAoCsna,CAAC;sCAAqD,CAAC;8BAA6C,CAAC;;;;;;;;;;;;;IA7Ozwa;;;;OAIG;;IAEH;;;;OAIG;;;;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;;OAKG;eACiB,QAAQ,CAAC,MAAM,EAAE,CAAC;IACtC;;;;OAIG;;;;;;;;;;;;;AAxCP,wBAiPE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { StorageService } from '@empathyco/x-storage-service';
|
|
2
1
|
import type { Result } from '@empathyco/x-types';
|
|
2
|
+
import type { StorageService } from '@empathyco/x-utils';
|
|
3
3
|
import type { Store } from 'vuex';
|
|
4
4
|
import type { RootXStoreState } from '../../../store/index';
|
|
5
5
|
import type { ExternalTaggingService } from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-tagging.service.d.ts","sourceRoot":"","sources":["../../../../../src/x-modules/tagging/service/external-tagging.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"external-tagging.service.d.ts","sourceRoot":"","sources":["../../../../../src/x-modules/tagging/service/external-tagging.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAIrD;;;;GAIG;AACH,qBAAa,6BAA8B,YAAW,sBAAsB;IAqBxE,SAAS,CAAC,mBAAmB,EAAE,cAAc;IAC7C,SAAS,CAAC,qBAAqB,EAAE,cAAc;IArBjD;;;;OAIG;IACH,gBAAuB,qBAAqB,iBAAgB;IAE5D;;;;OAIG;IACH,gBAAuB,kBAAkB,cAAa;IAEtD;;OAEG;IACH,OAAc,QAAQ,EAAE,sBAAsB,CAAsC;gBAGxE,mBAAmB,GAAE,cAA6D,EAClF,qBAAqB,GAAE,cAGhC;IAGH,SAAS,KAAK,KAAK,IAAI,KAAK,CAAC,eAAe,CAAC,CAE5C;IAED,SAAS,KAAK,UAAU,IAAI,MAAM,CAEjC;IAED,SAAS,KAAK,YAAY,IAAI,MAAM,CAEnC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQxC;;;;;;;;OAQG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQpC;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAWvC;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBjC;;;;;;;;;OASG;IACH,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAcrE;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAMpC;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAiB3C"}
|