@empathyco/x-components 3.0.0-alpha.55 → 3.0.0-alpha.59

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 (30) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/design-system/default-theme.css +76 -0
  3. package/design-system/full-theme.css +61 -11
  4. package/design-system/suggestion-default.css +51 -0
  5. package/docs/API-reference/api/x-components.basesuggestion.highlightcurated.md +13 -0
  6. package/docs/API-reference/api/x-components.basesuggestion.md +1 -0
  7. package/docs/API-reference/api/x-components.debounce.md +4 -0
  8. package/docs/API-reference/api/x-components.xcomponentaliasapi.md +1 -0
  9. package/docs/API-reference/api/x-components.xcomponentaliasapi.scroll.md +13 -0
  10. package/docs/API-reference/api/x-types.suggestion.iscurated.md +13 -0
  11. package/docs/API-reference/api/x-types.suggestion.md +1 -0
  12. package/docs/API-reference/components/common/suggestions/x-components.base-suggestion.md +7 -6
  13. package/js/components/decorators/debounce.decorators.js +10 -0
  14. package/js/components/decorators/debounce.decorators.js.map +1 -1
  15. package/js/components/suggestions/base-suggestion.vue.js.map +1 -1
  16. package/js/components/suggestions/base-suggestion.vue_rollup-plugin-vue_script.vue.js +15 -1
  17. package/js/components/suggestions/base-suggestion.vue_rollup-plugin-vue_script.vue.js.map +1 -1
  18. package/js/plugins/x-plugin.alias.js +3 -0
  19. package/js/plugins/x-plugin.alias.js.map +1 -1
  20. package/package.json +5 -4
  21. package/report/x-components.api.json +68 -1
  22. package/report/x-components.api.md +4 -0
  23. package/report/x-types.api.json +26 -0
  24. package/types/components/decorators/debounce.decorators.d.ts +2 -0
  25. package/types/components/decorators/debounce.decorators.d.ts.map +1 -1
  26. package/types/components/suggestions/base-suggestion.vue.d.ts +14 -0
  27. package/types/components/suggestions/base-suggestion.vue.d.ts.map +1 -1
  28. package/types/plugins/x-plugin.alias.d.ts.map +1 -1
  29. package/types/plugins/x-plugin.types.d.ts +3 -0
  30. package/types/plugins/x-plugin.types.d.ts.map +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,58 @@
3
3
  All notable changes to this project will be documented in this file. See
4
4
  [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.0.0-alpha.59](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.58...@empathyco/x-components@3.0.0-alpha.59) (2022-02-17)
7
+
8
+ ### Features
9
+
10
+ - **design-system:** add `curated` modifier to the `suggestion`
11
+ ([dd229fd](https://github.com/empathyco/x/commit/dd229fd3d64840ed3041bec618a1a23e3726430d)),
12
+ closes [EX-5290](https://searchbroker.atlassian.net/browse/EX-5290)
13
+
14
+ # Change Log
15
+
16
+ All notable changes to this project will be documented in this file. See
17
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
18
+
19
+ ## [3.0.0-alpha.58](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.57...@empathyco/x-components@3.0.0-alpha.58) (2022-02-16)
20
+
21
+ ### Features
22
+
23
+ - **scroll:** add scroll data state to the alias API
24
+ ([7f5642c](https://github.com/empathyco/x/commit/7f5642cf5e60fe96a22c8fe9897c9ba73cbede55)),
25
+ closes [EX-5249](https://searchbroker.atlassian.net/browse/EX-5249)
26
+
27
+ # Change Log
28
+
29
+ All notable changes to this project will be documented in this file. See
30
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
31
+
32
+ ## [3.0.0-alpha.57](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.56...@empathyco/x-components@3.0.0-alpha.57) (2022-02-16)
33
+
34
+ ### Bug Fixes
35
+
36
+ - **build:** Fix build side effects to include css.
37
+ ([f79d7b9](https://github.com/empathyco/x/commit/f79d7b9e738485e14ac8f88b343a97d8f55c51e6)),
38
+ closes [EX-5396](https://searchbroker.atlassian.net/browse/EX-5396)
39
+
40
+ # Change Log
41
+
42
+ All notable changes to this project will be documented in this file. See
43
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
44
+
45
+ ## [3.0.0-alpha.56](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.55...@empathyco/x-components@3.0.0-alpha.56) (2022-02-15)
46
+
47
+ ### Bug Fixes
48
+
49
+ - **decorators:** pending `debounced` execution is cancelled when the component is destroyed
50
+ ([27da789](https://github.com/empathyco/x/commit/27da789412804f3f768d07e8ffd846ea2df8553e)),
51
+ closes [EX-5215](https://searchbroker.atlassian.net/browse/EX-5215)
52
+
53
+ # Change Log
54
+
55
+ All notable changes to this project will be documented in this file. See
56
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
57
+
6
58
  ## [3.0.0-alpha.55](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.54...@empathyco/x-components@3.0.0-alpha.55) (2022-02-10)
7
59
 
8
60
  **Note:** Version bump only for package @empathyco/x-components
@@ -2234,6 +2234,11 @@
2234
2234
  --x-color-text-suggestion-default-matching: var(--x-color-text-suggestion-default);
2235
2235
  --x-color-background-suggestion-default: transparent;
2236
2236
  --x-color-border-suggestion-default: var(--x-color-text-suggestion-default);
2237
+ --x-color-text-suggestion-default-curated: var(--x-color-text-suggestion-default);
2238
+ --x-color-text-suggestion-matching-part-default-curated: var(--x-color-text-suggestion-matching-part-default);
2239
+ --x-color-text-suggestion-default-matching-curated: var(--x-color-text-suggestion-default-matching);
2240
+ --x-color-background-suggestion-default-curated: var(--x-color-background-suggestion-default);
2241
+ --x-color-border-suggestion-default-curated: var(--x-color-border-suggestion-default);
2237
2242
  --x-size-padding-top-suggestion-default: var(--x-size-base-01);
2238
2243
  --x-size-padding-right-suggestion-default: 0;
2239
2244
  --x-size-padding-bottom-suggestion-default: var(--x-size-base-02);
@@ -2267,6 +2272,26 @@
2267
2272
  --x-number-font-weight-suggestion-default-matching: var(
2268
2273
  --x-number-font-weight-suggestion-default
2269
2274
  );
2275
+ --x-font-family-suggestion-default-curated: var(--x-font-family-suggestion-default);
2276
+ --x-size-font-suggestion-default-curated: var(--x-size-font-suggestion-default);
2277
+ --x-size-line-height-suggestion-default-curated: var(--x-size-line-height-suggestion-default);
2278
+ --x-number-font-weight-suggestion-default-curated: var(--x-number-font-weight-suggestion-default);
2279
+ --x-font-family-suggestion-matching-part-default-curated: var(--x-font-family-suggestion-matching-part-default);
2280
+ --x-size-font-suggestion-matching-part-default-curated: var(--x-size-font-suggestion-matching-part-default);
2281
+ --x-size-line-height-suggestion-matching-part-default-curated: var(
2282
+ --x-size-line-height-suggestion-matching-part-default
2283
+ );
2284
+ --x-number-font-weight-suggestion-matching-part-default-curated: var(
2285
+ --x-number-font-weight-suggestion-matching-part-default
2286
+ );
2287
+ --x-font-family-suggestion-default-matching-curated: var(--x-font-family-suggestion-default-matching);
2288
+ --x-size-font-suggestion-default-matching-curated: var(--x-size-font-suggestion-default-matching);
2289
+ --x-size-line-height-suggestion-default-matching-curated: var(
2290
+ --x-size-line-height-suggestion-default-matching
2291
+ );
2292
+ --x-number-font-weight-suggestion-default-matching-curated: var(
2293
+ --x-number-font-weight-suggestion-default-matching
2294
+ );
2270
2295
  }
2271
2296
 
2272
2297
  [dir="ltr"] .x-suggestion {
@@ -2361,6 +2386,32 @@
2361
2386
  .x-suggestion > .x-identifier-result {
2362
2387
  flex: none;
2363
2388
  }
2389
+ .x-suggestion.x-suggestion.x-suggestion--is-curated {
2390
+ background-color: var(--x-color-background-suggestion-default-curated);
2391
+ color: var(--x-color-text-suggestion-default-curated);
2392
+ border-color: var(--x-color-border-suggestion-default-curated);
2393
+ font-family: var(--x-font-family-suggestion-default-curated);
2394
+ font-size: var(--x-size-font-suggestion-default-curated);
2395
+ line-height: var(--x-size-line-height-suggestion-default-curated);
2396
+ font-weight: var(--x-number-font-weight-suggestion-default-curated);
2397
+ }
2398
+ .x-suggestion.x-suggestion.x-suggestion--is-curated .x-suggestion__matching-part,
2399
+ .x-suggestion.x-suggestion.x-suggestion--is-curated .x-identifier-result__matching-part {
2400
+ font-family: var(--x-font-family-suggestion-matching-part-default-curated);
2401
+ font-size: var(--x-size-font-suggestion-matching-part-default-curated);
2402
+ line-height: var(--x-size-line-height-suggestion-matching-part-default-curated);
2403
+ font-weight: var(--x-number-font-weight-suggestion-matching-part-default-curated);
2404
+ color: var(--x-color-text-suggestion-matching-part-default-curated);
2405
+ }
2406
+ .x-suggestion.x-suggestion.x-suggestion--is-curated.x-suggestion--matching {
2407
+ --x-font-family-suggestion-default-curated: var(--x-font-family-suggestion-default-matching-curated);
2408
+ --x-size-font-suggestion-default-curated: var(--x-size-font-suggestion-default-matching-curated);
2409
+ --x-size-line-height-suggestion-default-curated: var(--x-size-line-height-suggestion-default-matching-curated);
2410
+ --x-number-font-weight-suggestion-default-curated: var(
2411
+ --x-number-font-weight-suggestion-default-matching-curated
2412
+ );
2413
+ --x-color-text-suggestion-default-curated: var(--x-color-text-suggestion-default-matching-curated);
2414
+ }
2364
2415
  :root {
2365
2416
  --x-string-align-items-suggestion-default: center;
2366
2417
  --x-color-text-suggestion-default: var(--x-color-text-default);
@@ -2368,6 +2419,11 @@
2368
2419
  --x-color-text-suggestion-default-matching: var(--x-color-text-suggestion-default);
2369
2420
  --x-color-background-suggestion-default: transparent;
2370
2421
  --x-color-border-suggestion-default: var(--x-color-text-suggestion-default);
2422
+ --x-color-text-suggestion-default-curated: var(--x-color-text-suggestion-default);
2423
+ --x-color-text-suggestion-matching-part-default-curated: var(--x-color-text-suggestion-matching-part-default);
2424
+ --x-color-text-suggestion-default-matching-curated: var(--x-color-text-suggestion-default-matching);
2425
+ --x-color-background-suggestion-default-curated: var(--x-color-background-suggestion-default);
2426
+ --x-color-border-suggestion-default-curated: var(--x-color-border-suggestion-default);
2371
2427
  --x-size-padding-top-suggestion-default: var(--x-size-base-01);
2372
2428
  --x-size-padding-right-suggestion-default: 0;
2373
2429
  --x-size-padding-bottom-suggestion-default: var(--x-size-base-02);
@@ -2401,6 +2457,26 @@
2401
2457
  --x-number-font-weight-suggestion-default-matching: var(
2402
2458
  --x-number-font-weight-suggestion-default
2403
2459
  );
2460
+ --x-font-family-suggestion-default-curated: var(--x-font-family-suggestion-default);
2461
+ --x-size-font-suggestion-default-curated: var(--x-size-font-suggestion-default);
2462
+ --x-size-line-height-suggestion-default-curated: var(--x-size-line-height-suggestion-default);
2463
+ --x-number-font-weight-suggestion-default-curated: var(--x-number-font-weight-suggestion-default);
2464
+ --x-font-family-suggestion-matching-part-default-curated: var(--x-font-family-suggestion-matching-part-default);
2465
+ --x-size-font-suggestion-matching-part-default-curated: var(--x-size-font-suggestion-matching-part-default);
2466
+ --x-size-line-height-suggestion-matching-part-default-curated: var(
2467
+ --x-size-line-height-suggestion-matching-part-default
2468
+ );
2469
+ --x-number-font-weight-suggestion-matching-part-default-curated: var(
2470
+ --x-number-font-weight-suggestion-matching-part-default
2471
+ );
2472
+ --x-font-family-suggestion-default-matching-curated: var(--x-font-family-suggestion-default-matching);
2473
+ --x-size-font-suggestion-default-matching-curated: var(--x-size-font-suggestion-default-matching);
2474
+ --x-size-line-height-suggestion-default-matching-curated: var(
2475
+ --x-size-line-height-suggestion-default-matching
2476
+ );
2477
+ --x-number-font-weight-suggestion-default-matching-curated: var(
2478
+ --x-number-font-weight-suggestion-default-matching
2479
+ );
2404
2480
  }
2405
2481
  :root {
2406
2482
  --x-color-background-tag-default: var(--x-color-base-neutral-100);
@@ -303,6 +303,16 @@
303
303
  --x-size-border-width-bottom-button-secondary: var(--x-size-border-width-button-secondary);
304
304
  --x-size-border-width-left-button-secondary: var(--x-size-border-width-button-secondary);
305
305
  }
306
+ .x-button--tertiary.x-button,
307
+ .x-button--tertiary .x-button {
308
+ --x-color-background-button-default: var(--x-color-background-button-tertiary);
309
+ --x-color-border-button-default: var(--x-color-border-button-tertiary);
310
+ --x-color-text-button-default: var(--x-color-text-button-tertiary);
311
+ --x-size-border-width-top-button-default: var(--x-size-border-width-top-button-tertiary);
312
+ --x-size-border-width-right-button-default: var(--x-size-border-width-right-button-tertiary);
313
+ --x-size-border-width-bottom-button-default: var(--x-size-border-width-bottom-button-tertiary);
314
+ --x-size-border-width-left-button-default: var(--x-size-border-width-left-button-tertiary);
315
+ }
306
316
  :root {
307
317
  --x-color-background-button-tertiary: var(--x-color-base-neutral-95);
308
318
  --x-color-border-button-tertiary: var(--x-color-base-neutral-70);
@@ -3802,6 +3812,32 @@
3802
3812
  .x-suggestion > .x-identifier-result {
3803
3813
  flex: none;
3804
3814
  }
3815
+ .x-suggestion.x-suggestion.x-suggestion--is-curated {
3816
+ background-color: var(--x-color-background-suggestion-default-curated);
3817
+ color: var(--x-color-text-suggestion-default-curated);
3818
+ border-color: var(--x-color-border-suggestion-default-curated);
3819
+ font-family: var(--x-font-family-suggestion-default-curated);
3820
+ font-size: var(--x-size-font-suggestion-default-curated);
3821
+ line-height: var(--x-size-line-height-suggestion-default-curated);
3822
+ font-weight: var(--x-number-font-weight-suggestion-default-curated);
3823
+ }
3824
+ .x-suggestion.x-suggestion.x-suggestion--is-curated .x-suggestion__matching-part,
3825
+ .x-suggestion.x-suggestion.x-suggestion--is-curated .x-identifier-result__matching-part {
3826
+ font-family: var(--x-font-family-suggestion-matching-part-default-curated);
3827
+ font-size: var(--x-size-font-suggestion-matching-part-default-curated);
3828
+ line-height: var(--x-size-line-height-suggestion-matching-part-default-curated);
3829
+ font-weight: var(--x-number-font-weight-suggestion-matching-part-default-curated);
3830
+ color: var(--x-color-text-suggestion-matching-part-default-curated);
3831
+ }
3832
+ .x-suggestion.x-suggestion.x-suggestion--is-curated.x-suggestion--matching {
3833
+ --x-font-family-suggestion-default-curated: var(--x-font-family-suggestion-default-matching-curated);
3834
+ --x-size-font-suggestion-default-curated: var(--x-size-font-suggestion-default-matching-curated);
3835
+ --x-size-line-height-suggestion-default-curated: var(--x-size-line-height-suggestion-default-matching-curated);
3836
+ --x-number-font-weight-suggestion-default-curated: var(
3837
+ --x-number-font-weight-suggestion-default-matching-curated
3838
+ );
3839
+ --x-color-text-suggestion-default-curated: var(--x-color-text-suggestion-default-matching-curated);
3840
+ }
3805
3841
  :root {
3806
3842
  --x-string-align-items-suggestion-default: center;
3807
3843
  --x-color-text-suggestion-default: var(--x-color-text-default);
@@ -3809,6 +3845,11 @@
3809
3845
  --x-color-text-suggestion-default-matching: var(--x-color-text-suggestion-default);
3810
3846
  --x-color-background-suggestion-default: transparent;
3811
3847
  --x-color-border-suggestion-default: var(--x-color-text-suggestion-default);
3848
+ --x-color-text-suggestion-default-curated: var(--x-color-text-suggestion-default);
3849
+ --x-color-text-suggestion-matching-part-default-curated: var(--x-color-text-suggestion-matching-part-default);
3850
+ --x-color-text-suggestion-default-matching-curated: var(--x-color-text-suggestion-default-matching);
3851
+ --x-color-background-suggestion-default-curated: var(--x-color-background-suggestion-default);
3852
+ --x-color-border-suggestion-default-curated: var(--x-color-border-suggestion-default);
3812
3853
  --x-size-padding-top-suggestion-default: var(--x-size-base-01);
3813
3854
  --x-size-padding-right-suggestion-default: 0;
3814
3855
  --x-size-padding-bottom-suggestion-default: var(--x-size-base-02);
@@ -3842,6 +3883,26 @@
3842
3883
  --x-number-font-weight-suggestion-default-matching: var(
3843
3884
  --x-number-font-weight-suggestion-default
3844
3885
  );
3886
+ --x-font-family-suggestion-default-curated: var(--x-font-family-suggestion-default);
3887
+ --x-size-font-suggestion-default-curated: var(--x-size-font-suggestion-default);
3888
+ --x-size-line-height-suggestion-default-curated: var(--x-size-line-height-suggestion-default);
3889
+ --x-number-font-weight-suggestion-default-curated: var(--x-number-font-weight-suggestion-default);
3890
+ --x-font-family-suggestion-matching-part-default-curated: var(--x-font-family-suggestion-matching-part-default);
3891
+ --x-size-font-suggestion-matching-part-default-curated: var(--x-size-font-suggestion-matching-part-default);
3892
+ --x-size-line-height-suggestion-matching-part-default-curated: var(
3893
+ --x-size-line-height-suggestion-matching-part-default
3894
+ );
3895
+ --x-number-font-weight-suggestion-matching-part-default-curated: var(
3896
+ --x-number-font-weight-suggestion-matching-part-default
3897
+ );
3898
+ --x-font-family-suggestion-default-matching-curated: var(--x-font-family-suggestion-default-matching);
3899
+ --x-size-font-suggestion-default-matching-curated: var(--x-size-font-suggestion-default-matching);
3900
+ --x-size-line-height-suggestion-default-matching-curated: var(
3901
+ --x-size-line-height-suggestion-default-matching
3902
+ );
3903
+ --x-number-font-weight-suggestion-default-matching-curated: var(
3904
+ --x-number-font-weight-suggestion-default-matching
3905
+ );
3845
3906
  }
3846
3907
  .x-tag--card.x-tag,
3847
3908
  .x-tag--card .x-tag {
@@ -7505,14 +7566,3 @@
7505
7566
  .x-normal-case {
7506
7567
  text-transform: none;
7507
7568
  }
7508
-
7509
- .x-button--tertiary.x-button,
7510
- .x-button--tertiary .x-button {
7511
- --x-color-background-button-default: var(--x-color-background-button-tertiary);
7512
- --x-color-border-button-default: var(--x-color-border-button-tertiary);
7513
- --x-color-text-button-default: var(--x-color-text-button-tertiary);
7514
- --x-size-border-width-top-button-default: var(--x-size-border-width-top-button-tertiary);
7515
- --x-size-border-width-right-button-default: var(--x-size-border-width-right-button-tertiary);
7516
- --x-size-border-width-bottom-button-default: var(--x-size-border-width-bottom-button-tertiary);
7517
- --x-size-border-width-left-button-default: var(--x-size-border-width-left-button-tertiary);
7518
- }
@@ -5,6 +5,11 @@
5
5
  --x-color-text-suggestion-default-matching: var(--x-color-text-suggestion-default);
6
6
  --x-color-background-suggestion-default: transparent;
7
7
  --x-color-border-suggestion-default: var(--x-color-text-suggestion-default);
8
+ --x-color-text-suggestion-default-curated: var(--x-color-text-suggestion-default);
9
+ --x-color-text-suggestion-matching-part-default-curated: var(--x-color-text-suggestion-matching-part-default);
10
+ --x-color-text-suggestion-default-matching-curated: var(--x-color-text-suggestion-default-matching);
11
+ --x-color-background-suggestion-default-curated: var(--x-color-background-suggestion-default);
12
+ --x-color-border-suggestion-default-curated: var(--x-color-border-suggestion-default);
8
13
  --x-size-padding-top-suggestion-default: var(--x-size-base-01);
9
14
  --x-size-padding-right-suggestion-default: 0;
10
15
  --x-size-padding-bottom-suggestion-default: var(--x-size-base-02);
@@ -38,6 +43,26 @@
38
43
  --x-number-font-weight-suggestion-default-matching: var(
39
44
  --x-number-font-weight-suggestion-default
40
45
  );
46
+ --x-font-family-suggestion-default-curated: var(--x-font-family-suggestion-default);
47
+ --x-size-font-suggestion-default-curated: var(--x-size-font-suggestion-default);
48
+ --x-size-line-height-suggestion-default-curated: var(--x-size-line-height-suggestion-default);
49
+ --x-number-font-weight-suggestion-default-curated: var(--x-number-font-weight-suggestion-default);
50
+ --x-font-family-suggestion-matching-part-default-curated: var(--x-font-family-suggestion-matching-part-default);
51
+ --x-size-font-suggestion-matching-part-default-curated: var(--x-size-font-suggestion-matching-part-default);
52
+ --x-size-line-height-suggestion-matching-part-default-curated: var(
53
+ --x-size-line-height-suggestion-matching-part-default
54
+ );
55
+ --x-number-font-weight-suggestion-matching-part-default-curated: var(
56
+ --x-number-font-weight-suggestion-matching-part-default
57
+ );
58
+ --x-font-family-suggestion-default-matching-curated: var(--x-font-family-suggestion-default-matching);
59
+ --x-size-font-suggestion-default-matching-curated: var(--x-size-font-suggestion-default-matching);
60
+ --x-size-line-height-suggestion-default-matching-curated: var(
61
+ --x-size-line-height-suggestion-default-matching
62
+ );
63
+ --x-number-font-weight-suggestion-default-matching-curated: var(
64
+ --x-number-font-weight-suggestion-default-matching
65
+ );
41
66
  }
42
67
 
43
68
  [dir="ltr"] .x-suggestion {
@@ -131,4 +156,30 @@
131
156
  }
132
157
  .x-suggestion > .x-identifier-result {
133
158
  flex: none;
159
+ }
160
+ .x-suggestion.x-suggestion.x-suggestion--is-curated {
161
+ background-color: var(--x-color-background-suggestion-default-curated);
162
+ color: var(--x-color-text-suggestion-default-curated);
163
+ border-color: var(--x-color-border-suggestion-default-curated);
164
+ font-family: var(--x-font-family-suggestion-default-curated);
165
+ font-size: var(--x-size-font-suggestion-default-curated);
166
+ line-height: var(--x-size-line-height-suggestion-default-curated);
167
+ font-weight: var(--x-number-font-weight-suggestion-default-curated);
168
+ }
169
+ .x-suggestion.x-suggestion.x-suggestion--is-curated .x-suggestion__matching-part,
170
+ .x-suggestion.x-suggestion.x-suggestion--is-curated .x-identifier-result__matching-part {
171
+ font-family: var(--x-font-family-suggestion-matching-part-default-curated);
172
+ font-size: var(--x-size-font-suggestion-matching-part-default-curated);
173
+ line-height: var(--x-size-line-height-suggestion-matching-part-default-curated);
174
+ font-weight: var(--x-number-font-weight-suggestion-matching-part-default-curated);
175
+ color: var(--x-color-text-suggestion-matching-part-default-curated);
176
+ }
177
+ .x-suggestion.x-suggestion.x-suggestion--is-curated.x-suggestion--matching {
178
+ --x-font-family-suggestion-default-curated: var(--x-font-family-suggestion-default-matching-curated);
179
+ --x-size-font-suggestion-default-curated: var(--x-size-font-suggestion-default-matching-curated);
180
+ --x-size-line-height-suggestion-default-curated: var(--x-size-line-height-suggestion-default-matching-curated);
181
+ --x-number-font-weight-suggestion-default-curated: var(
182
+ --x-number-font-weight-suggestion-default-matching-curated
183
+ );
184
+ --x-color-text-suggestion-default-curated: var(--x-color-text-suggestion-default-matching-curated);
134
185
  }
@@ -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; [BaseSuggestion](./x-components.basesuggestion.md) &gt; [highlightCurated](./x-components.basesuggestion.highlightcurated.md)
4
+
5
+ ## BaseSuggestion.highlightCurated property
6
+
7
+ Indicates if the curated suggestion should be highlighted.
8
+
9
+ <b>Signature:</b>
10
+
11
+ ```typescript
12
+ protected highlightCurated: boolean;
13
+ ```
@@ -22,6 +22,7 @@ export default class BaseSuggestion extends Vue
22
22
  | [dynamicCSSClasses](./x-components.basesuggestion.dynamiccssclasses.md) | | [VueCSSClasses](./x-components.vuecssclasses.md) | Generates css classes dynamically. |
23
23
  | [events](./x-components.basesuggestion.events.md) | | Partial&lt;[XEventsTypes](./x-components.xeventstypes.md)<!-- -->&gt; | The event handler that will be triggered when clicking on a suggestion. |
24
24
  | [feature?](./x-components.basesuggestion.feature.md) | | [QueryFeature](./x-components.queryfeature.md) | <i>(Optional)</i> The feature from which the events will be emitted. |
25
+ | [highlightCurated](./x-components.basesuggestion.highlightcurated.md) | | boolean | Indicates if the curated suggestion should be highlighted. |
25
26
  | [query](./x-components.basesuggestion.query.md) | | string | The normalized query of the module using this component. |
26
27
  | [queryHTML](./x-components.basesuggestion.queryhtml.md) | | string | Highlights the matching part of the suggestion query with the query passed as prop of the component putting it inside a <code>&lt;span&gt;</code> tag. |
27
28
  | [suggestion](./x-components.basesuggestion.suggestion.md) | | Suggestion | The suggestion to render and use in the default slot. |
@@ -25,3 +25,7 @@ export declare function Debounce(debounceTimeInMs: number, debounceOptions?: Deb
25
25
 
26
26
  Decorator that applies debounce.
27
27
 
28
+ ## Remarks
29
+
30
+ Pending debounced execution is cancelled when the component is destroyed.
31
+
@@ -30,6 +30,7 @@ export interface XComponentAliasAPI
30
30
  | [recommendations](./x-components.xcomponentaliasapi.recommendations.md) | ReadonlyArray&lt;Result&gt; | The [RecommendationsXModule](./x-components.recommendationsxmodule.md) recommendations. |
31
31
  | [redirections](./x-components.xcomponentaliasapi.redirections.md) | ReadonlyArray&lt;Redirection&gt; | The [SearchXModule](./x-components.searchxmodule.md) redirections. |
32
32
  | [relatedTags](./x-components.xcomponentaliasapi.relatedtags.md) | ReadonlyArray&lt;RelatedTag&gt; | The [RelatedTagsXModule](./x-components.relatedtagsxmodule.md) related tags (Both selected and deselected). |
33
+ | [scroll](./x-components.xcomponentaliasapi.scroll.md) | Record&lt;string, [ScrollComponentState](./x-components.scrollcomponentstate.md)<!-- -->&gt; | The [ScrollXModule](./x-components.scrollxmodule.md) data state. |
33
34
  | [selectedFilters](./x-components.xcomponentaliasapi.selectedfilters.md) | Filter\[\] | The [FacetsXModule](./x-components.facetsxmodule.md) selected filters. |
34
35
  | [selectedRelatedTags](./x-components.xcomponentaliasapi.selectedrelatedtags.md) | ReadonlyArray&lt;RelatedTag&gt; | The [RelatedTagsXModule](./x-components.relatedtagsxmodule.md) selected related tags. |
35
36
  | [selectedSort](./x-components.xcomponentaliasapi.selectedsort.md) | string | The [SearchXModule](./x-components.searchxmodule.md) selected sort. |
@@ -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; [XComponentAliasAPI](./x-components.xcomponentaliasapi.md) &gt; [scroll](./x-components.xcomponentaliasapi.scroll.md)
4
+
5
+ ## XComponentAliasAPI.scroll property
6
+
7
+ The [ScrollXModule](./x-components.scrollxmodule.md) data state.
8
+
9
+ <b>Signature:</b>
10
+
11
+ ```typescript
12
+ readonly scroll: Record<string, ScrollComponentState>;
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-types](./x-types.md) &gt; [Suggestion](./x-types.suggestion.md) &gt; [isCurated](./x-types.suggestion.iscurated.md)
4
+
5
+ ## Suggestion.isCurated property
6
+
7
+ If it's a curated suggestion.
8
+
9
+ <b>Signature:</b>
10
+
11
+ ```typescript
12
+ isCurated?: boolean;
13
+ ```
@@ -18,5 +18,6 @@ export interface Suggestion extends NamedModel<'QuerySuggestion' | 'PopularSearc
18
18
  | Property | Type | Description |
19
19
  | --- | --- | --- |
20
20
  | [facets](./x-types.suggestion.facets.md) | [Facet](./x-types.facet.md)<!-- -->\[\] | Facets to apply to the <code>query</code> property when searching. |
21
+ | [isCurated?](./x-types.suggestion.iscurated.md) | boolean | <i>(Optional)</i> If it's a curated suggestion. |
21
22
  | [key](./x-types.suggestion.key.md) | string | Unique identifier of the suggestion. |
22
23
 
@@ -14,12 +14,13 @@ The default slot receives the suggestion and the matched query has props.
14
14
 
15
15
  ## Props
16
16
 
17
- | Name | Description | Type | Default |
18
- | ------------------------------------- | ------------------------------------------------------------------------------- | ------------------------- | --------------- |
19
- | <code>query</code> | The normalized query of the module using this component. | <code>string</code> | <code>''</code> |
20
- | <code>suggestion</code> | The suggestion to render and use in the default slot. | <code>Suggestion</code> | <code></code> |
21
- | <code>feature</code> | The feature from which the events will be emitted. | <code>QueryFeature</code> | <code></code> |
22
- | <code>suggestionSelectedEvents</code> | The {@link XEvent \| XEvents} that will be emitted when selecting a suggestion. | <code>Partial</code> | <code></code> |
17
+ | Name | Description | Type | Default |
18
+ | ------------------------------------- | ------------------------------------------------------------------------------- | ------------------------- | ------------------ |
19
+ | <code>query</code> | The normalized query of the module using this component. | <code>string</code> | <code>''</code> |
20
+ | <code>suggestion</code> | The suggestion to render and use in the default slot. | <code>Suggestion</code> | <code></code> |
21
+ | <code>feature</code> | The feature from which the events will be emitted. | <code>QueryFeature</code> | <code></code> |
22
+ | <code>suggestionSelectedEvents</code> | The {@link XEvent \| XEvents} that will be emitted when selecting a suggestion. | <code>Partial</code> | <code></code> |
23
+ | <code>highlightCurated</code> | Indicates if the curated suggestion should be highlighted. | <code>boolean</code> | <code>false</code> |
23
24
 
24
25
  ## Slots
25
26
 
@@ -4,6 +4,8 @@ import { debounce } from '../../utils/debounce.js';
4
4
  /**
5
5
  * Adds debounce to the method that the decorator is applied to.
6
6
  *
7
+ * @remarks Pending debounced execution is cancelled when the component is destroyed.
8
+ *
7
9
  * @param debounceTimeInMs - The time of debounce in ms.
8
10
  * @param debounceOptions - The options for the debounce strategy.
9
11
  *
@@ -18,6 +20,14 @@ function Debounce(debounceTimeInMs, debounceOptions = {}) {
18
20
  options.methods[key] = function debouncedWrapper(...args) {
19
21
  debouncedMethod(this, args);
20
22
  };
23
+ // eslint-disable-next-line @typescript-eslint/unbound-method
24
+ const originalBeforeDestroy = options.beforeDestroy;
25
+ Object.assign(options, {
26
+ beforeDestroy() {
27
+ originalBeforeDestroy?.apply(this);
28
+ debouncedMethod.cancel();
29
+ }
30
+ });
21
31
  });
22
32
  }
23
33
 
@@ -1 +1 @@
1
- {"version":3,"file":"debounce.decorators.js","sources":["../../../../src/components/decorators/debounce.decorators.ts"],"sourcesContent":["import { createDecorator } from 'vue-class-component';\nimport { debounce } from '../../utils/debounce';\nimport { AnyFunction, DebounceOptions, DecoratorFor } from '../../utils/types';\n\n/**\n * Adds debounce to the method that the decorator is applied to.\n *\n * @param debounceTimeInMs - The time of debounce in ms.\n * @param debounceOptions - The options for the debounce strategy.\n *\n * @returns Decorator that applies debounce.\n *\n * @public\n */\nexport function Debounce(\n debounceTimeInMs: number,\n debounceOptions: DebounceOptions = {}\n): DecoratorFor<AnyFunction> {\n return createDecorator((options, key) => {\n const originalMethod = options.methods![key];\n const debouncedMethod = debounce(\n (context: Vue, args: unknown[]) => originalMethod.call(context, ...args),\n debounceTimeInMs,\n debounceOptions\n );\n\n options.methods![key] = function debouncedWrapper(...args: unknown[]) {\n debouncedMethod(this, args);\n };\n });\n}\n"],"names":[],"mappings":";;;AAIA;;;;;;;;;;SAUgB,QAAQ,CACtB,gBAAwB,EACxB,kBAAmC,EAAE;IAErC,OAAO,eAAe,CAAC,CAAC,OAAO,EAAE,GAAG;QAClC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAQ,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,eAAe,GAAG,QAAQ,CAC9B,CAAC,OAAY,EAAE,IAAe,KAAK,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EACxE,gBAAgB,EAChB,eAAe,CAChB,CAAC;QAEF,OAAO,CAAC,OAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,gBAAgB,CAAC,GAAG,IAAe;YAClE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC7B,CAAC;KACH,CAAC,CAAC;AACL;;;;"}
1
+ {"version":3,"file":"debounce.decorators.js","sources":["../../../../src/components/decorators/debounce.decorators.ts"],"sourcesContent":["import { createDecorator } from 'vue-class-component';\nimport { debounce } from '../../utils/debounce';\nimport { AnyFunction, DebounceOptions, DecoratorFor } from '../../utils/types';\n\n/**\n * Adds debounce to the method that the decorator is applied to.\n *\n * @remarks Pending debounced execution is cancelled when the component is destroyed.\n *\n * @param debounceTimeInMs - The time of debounce in ms.\n * @param debounceOptions - The options for the debounce strategy.\n *\n * @returns Decorator that applies debounce.\n *\n * @public\n */\nexport function Debounce(\n debounceTimeInMs: number,\n debounceOptions: DebounceOptions = {}\n): DecoratorFor<AnyFunction> {\n return createDecorator((options, key) => {\n const originalMethod = options.methods![key];\n const debouncedMethod = debounce(\n (context: Vue, args: unknown[]) => originalMethod.call(context, ...args),\n debounceTimeInMs,\n debounceOptions\n );\n\n options.methods![key] = function debouncedWrapper(...args: unknown[]) {\n debouncedMethod(this, args);\n };\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalBeforeDestroy = options.beforeDestroy;\n Object.assign(options, {\n beforeDestroy(this: Vue) {\n originalBeforeDestroy?.apply(this);\n debouncedMethod.cancel();\n }\n });\n });\n}\n"],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;SAYgB,QAAQ,CACtB,gBAAwB,EACxB,kBAAmC,EAAE;IAErC,OAAO,eAAe,CAAC,CAAC,OAAO,EAAE,GAAG;QAClC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAQ,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,eAAe,GAAG,QAAQ,CAC9B,CAAC,OAAY,EAAE,IAAe,KAAK,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EACxE,gBAAgB,EAChB,eAAe,CAChB,CAAC;QAEF,OAAO,CAAC,OAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,gBAAgB,CAAC,GAAG,IAAe;YAClE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC7B,CAAC;;QAGF,MAAM,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;YACrB,aAAa;gBACX,qBAAqB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnC,eAAe,CAAC,MAAM,EAAE,CAAC;aAC1B;SACF,CAAC,CAAC;KACJ,CAAC,CAAC;AACL;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"base-suggestion.vue.js","sources":["../../../../src/components/suggestions/base-suggestion.vue"],"sourcesContent":["<template>\n <button @click=\"emitEvents\" :class=\"dynamicCSSClasses\" class=\"x-suggestion\">\n <!-- eslint-disable max-len -->\n <!--\n @slot Button content\n @binding {Suggestion} suggestion - Suggestion data\n @binding {string} queryHTML - Suggestion's query with the matching part inside a `<span>` tag\n -->\n <!-- eslint-enable max-len -->\n <slot v-bind=\"{ suggestion, queryHTML }\">\n <span v-html=\"queryHTML\" :aria-label=\"suggestion.query\" class=\"x-suggestion__query\" />\n </slot>\n </button>\n</template>\n\n<script lang=\"ts\">\n import { Suggestion } from '@empathyco/x-types';\n import Vue from 'vue';\n import { Component, Prop } from 'vue-property-decorator';\n import { QueryFeature } from '../../types/origin';\n import { forEach } from '../../utils/object';\n import { normalizeString } from '../../utils/normalize';\n import { sanitize } from '../../utils/sanitize';\n import { VueCSSClasses } from '../../utils/types';\n import { XEventsTypes } from '../../wiring/events.types';\n\n /**\n * Renders a button with a default slot. It receives a query, which should be the query of the\n * module using this component, a suggestion, the {@link XEvent | XEvents} that will be emitted\n * on click with a given feature.\n *\n * The default slot receives the suggestion and the matched query has props.\n *\n * @public\n */\n @Component\n export default class BaseSuggestion extends Vue {\n /**\n * The normalized query of the module using this component.\n *\n * @public\n */\n @Prop({ default: '' })\n protected query!: string;\n\n /**\n * The suggestion to render and use in the default slot.\n *\n * @public\n */\n @Prop({ required: true })\n protected suggestion!: Suggestion;\n\n /**\n * The feature from which the events will be emitted.\n *\n * @public\n */\n @Prop() //TODO: set to true when the suggestions components pass it.\n protected feature?: QueryFeature;\n\n /**\n * The {@link XEvent | XEvents} that will be emitted when selecting a suggestion.\n *\n * @public\n */\n @Prop({ required: true })\n protected suggestionSelectedEvents!: Partial<XEventsTypes>;\n\n /**\n * The event handler that will be triggered when clicking on a suggestion.\n *\n * @remarks\n * * UserAcceptedAQuery: suggestion.query\n * * UserSelectedASuggestion: suggestion\n * * Merges the events defined in the suggestionSelectedEvents prop and also emits them\n *\n * @returns The {@link XEvent | XEvents} to emit.\n * @public\n */\n protected get events(): Partial<XEventsTypes> {\n return {\n UserAcceptedAQuery: this.suggestion.query,\n UserSelectedASuggestion: this.suggestion,\n ...this.suggestionSelectedEvents\n };\n }\n\n /**\n * Emits the events when the button is clicked.\n *\n * @public\n */\n protected emitEvents(): void {\n forEach(this.events, (event, payload) => {\n this.$x.emit(event, payload, {\n target: this.$el as HTMLElement,\n feature: this.feature\n });\n });\n }\n\n /**\n * Checks if the normalized suggestion query matches with the module's query so it has a\n * matching part.\n *\n * @returns If the query has a matching part or not.\n * @internal\n */\n protected get hasMatchingQuery(): boolean {\n return !!this.query && normalizeString(this.suggestion.query).includes(this.query);\n }\n\n /**\n * Generates css classes dynamically.\n *\n * @remarks\n * 'x-suggestion--matching added when the query should be matched.\n *\n * @returns The {@link VueCSSClasses} classes.\n * @public\n */\n protected get dynamicCSSClasses(): VueCSSClasses {\n return {\n 'x-suggestion--matching': this.hasMatchingQuery\n };\n }\n\n /**\n * Highlights the matching part of the suggestion query with the query passed as prop of the\n * component putting it inside a `<span>` tag.\n *\n * @remarks\n * The query prop should be normalized.\n *\n * @returns The suggestion's query with the matching part inside a `<span>` tag.\n * @public\n */\n protected get queryHTML(): string {\n if (this.hasMatchingQuery) {\n const matcherIndex = normalizeString(this.suggestion.query).indexOf(this.query);\n\n const [beginning, matching, end] = this.splitAt(\n this.suggestion.query,\n matcherIndex,\n this.query.length\n );\n\n const attrsMatching = 'data-test=\"matching-part\" class=\"x-suggestion__matching-part\"';\n return `${beginning}<span ${attrsMatching}>${matching}</span>${end}`;\n }\n\n return sanitize(this.suggestion.query);\n }\n\n /**\n * Splits the label in three parts based on two indexes.\n *\n * @param label - The string that will be divided in three parts.\n * @param start - The first index that the label will be divided by.\n * @param skip - The second index that the label will be divided by.\n *\n * @returns The three parts of the divided label.\n * @internal\n */\n protected splitAt(label: string, start: number, skip: number): [string, string, string] {\n const startPart = label.substr(0, start);\n const matchingPart = label.substr(start, skip);\n const endPart = label.substr(start + skip);\n\n return [sanitize(startPart), sanitize(matchingPart), sanitize(endPart)];\n }\n }\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\nThis default suggestion component expects a suggestion to render and pass to its default slot, a\nnormalized query to compare with the suggestion's query and highlight its matching parts and events\nto emit when the suggestion is selected.\n\n### Default usage\n\n```vue\n<BaseSuggestion v-bind=\"{ query, suggestion, suggestionSelectedEvents }\" />\n```\n\n### Customized usage\n\n```vue\n<BaseSuggestion v-bind=\"{ query, suggestion, suggestionSelectedEvents }\">\n <template #default=\"{ suggestion, queryHTML }\">\n <span\n class=\"my-suggestion\"\n v-html=\"queryHTML\"\n :aria-label=\"suggestion.query\"\n />\n </template>\n</BaseSuggestion>\n```\n\n## Events\n\nA list of events that the component will emit:\n\n- `UserAcceptedAQuery`: the event is emitted after the user clicks the button. The event payload is\n the suggestion query data.\n- `UserSelectedASuggestion`: the event is emitted after the user clicks the button. The event\n payload is the suggestion data.\n- The component can emit more events on click using the `suggestionSelectedEvents` prop.\n</docs>\n"],"names":[],"mappings":";;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"base-suggestion.vue.js","sources":["../../../../src/components/suggestions/base-suggestion.vue"],"sourcesContent":["<template>\n <button @click=\"emitEvents\" :class=\"dynamicCSSClasses\" class=\"x-suggestion\">\n <!-- eslint-disable max-len -->\n <!--\n @slot Button content\n @binding {Suggestion} suggestion - Suggestion data\n @binding {string} queryHTML - Suggestion's query with the matching part inside a `<span>` tag\n -->\n <!-- eslint-enable max-len -->\n <slot v-bind=\"{ suggestion, queryHTML }\">\n <span v-html=\"queryHTML\" :aria-label=\"suggestion.query\" class=\"x-suggestion__query\" />\n </slot>\n </button>\n</template>\n\n<script lang=\"ts\">\n import { Suggestion } from '@empathyco/x-types';\n import Vue from 'vue';\n import { Component, Prop } from 'vue-property-decorator';\n import { QueryFeature } from '../../types/origin';\n import { forEach } from '../../utils/object';\n import { normalizeString } from '../../utils/normalize';\n import { sanitize } from '../../utils/sanitize';\n import { VueCSSClasses } from '../../utils/types';\n import { XEventsTypes } from '../../wiring/events.types';\n\n /**\n * Renders a button with a default slot. It receives a query, which should be the query of the\n * module using this component, a suggestion, the {@link XEvent | XEvents} that will be emitted\n * on click with a given feature.\n *\n * The default slot receives the suggestion and the matched query has props.\n *\n * @public\n */\n @Component\n export default class BaseSuggestion extends Vue {\n /**\n * The normalized query of the module using this component.\n *\n * @public\n */\n @Prop({ default: '' })\n protected query!: string;\n\n /**\n * The suggestion to render and use in the default slot.\n *\n * @public\n */\n @Prop({ required: true })\n protected suggestion!: Suggestion;\n\n /**\n * The feature from which the events will be emitted.\n *\n * @public\n */\n @Prop() //TODO: set to true when the suggestions components pass it.\n protected feature?: QueryFeature;\n\n /**\n * The {@link XEvent | XEvents} that will be emitted when selecting a suggestion.\n *\n * @public\n */\n @Prop({ required: true })\n protected suggestionSelectedEvents!: Partial<XEventsTypes>;\n\n /**\n * Indicates if the curated suggestion should be highlighted.\n *\n * @public\n */\n @Prop({ default: false, type: Boolean })\n protected highlightCurated!: boolean;\n\n /**\n * The event handler that will be triggered when clicking on a suggestion.\n *\n * @remarks\n * * UserAcceptedAQuery: suggestion.query\n * * UserSelectedASuggestion: suggestion\n * * Merges the events defined in the suggestionSelectedEvents prop and also emits them\n *\n * @returns The {@link XEvent | XEvents} to emit.\n * @public\n */\n protected get events(): Partial<XEventsTypes> {\n return {\n UserAcceptedAQuery: this.suggestion.query,\n UserSelectedASuggestion: this.suggestion,\n ...this.suggestionSelectedEvents\n };\n }\n\n /**\n * Emits the events when the button is clicked.\n *\n * @public\n */\n protected emitEvents(): void {\n forEach(this.events, (event, payload) => {\n this.$x.emit(event, payload, {\n target: this.$el as HTMLElement,\n feature: this.feature\n });\n });\n }\n\n /**\n * Checks if the normalized suggestion query matches with the module's query so it has a\n * matching part.\n *\n * @returns If the query has a matching part or not.\n * @internal\n */\n protected get hasMatchingQuery(): boolean {\n return !!this.query && normalizeString(this.suggestion.query).includes(this.query);\n }\n\n /**\n * Checks if the suggestion is curated and if it should be highlighted.\n *\n * @returns True if the suggestion is curated and should be highlighted.\n *\n * @internal\n */\n protected get shouldHighlightCurated(): boolean {\n return this.highlightCurated && !!this.suggestion.isCurated;\n }\n\n /**\n * Generates css classes dynamically.\n *\n * @remarks\n * 'x-suggestion--matching added when the query should be matched.\n *\n * @returns The {@link VueCSSClasses} classes.\n * @public\n */\n protected get dynamicCSSClasses(): VueCSSClasses {\n return {\n 'x-suggestion--matching': this.hasMatchingQuery,\n 'x-suggestion--is-curated': this.shouldHighlightCurated,\n };\n }\n\n /**\n * Highlights the matching part of the suggestion query with the query passed as prop of the\n * component putting it inside a `<span>` tag.\n *\n * @remarks\n * The query prop should be normalized.\n *\n * @returns The suggestion's query with the matching part inside a `<span>` tag.\n * @public\n */\n protected get queryHTML(): string {\n if (this.hasMatchingQuery) {\n const matcherIndex = normalizeString(this.suggestion.query).indexOf(this.query);\n\n const [beginning, matching, end] = this.splitAt(\n this.suggestion.query,\n matcherIndex,\n this.query.length\n );\n\n const attrsMatching = 'data-test=\"matching-part\" class=\"x-suggestion__matching-part\"';\n return `${beginning}<span ${attrsMatching}>${matching}</span>${end}`;\n }\n\n return sanitize(this.suggestion.query);\n }\n\n /**\n * Splits the label in three parts based on two indexes.\n *\n * @param label - The string that will be divided in three parts.\n * @param start - The first index that the label will be divided by.\n * @param skip - The second index that the label will be divided by.\n *\n * @returns The three parts of the divided label.\n * @internal\n */\n protected splitAt(label: string, start: number, skip: number): [string, string, string] {\n const startPart = label.substr(0, start);\n const matchingPart = label.substr(start, skip);\n const endPart = label.substr(start + skip);\n\n return [sanitize(startPart), sanitize(matchingPart), sanitize(endPart)];\n }\n }\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\nThis default suggestion component expects a suggestion to render and pass to its default slot, a\nnormalized query to compare with the suggestion's query and highlight its matching parts and events\nto emit when the suggestion is selected.\n\n### Default usage\n\n```vue\n<BaseSuggestion v-bind=\"{ query, suggestion, suggestionSelectedEvents }\" />\n```\n\n### Customized usage\n\n```vue\n<BaseSuggestion v-bind=\"{ query, suggestion, suggestionSelectedEvents }\">\n <template #default=\"{ suggestion, queryHTML }\">\n <span\n class=\"my-suggestion\"\n v-html=\"queryHTML\"\n :aria-label=\"suggestion.query\"\n />\n </template>\n</BaseSuggestion>\n```\n\n## Events\n\nA list of events that the component will emit:\n\n- `UserAcceptedAQuery`: the event is emitted after the user clicks the button. The event payload is\n the suggestion query data.\n- `UserSelectedASuggestion`: the event is emitted after the user clicks the button. The event\n payload is the suggestion data.\n- The component can emit more events on click using the `suggestionSelectedEvents` prop.\n</docs>\n"],"names":[],"mappings":";;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -56,6 +56,16 @@ let BaseSuggestion = class BaseSuggestion extends Vue {
56
56
  get hasMatchingQuery() {
57
57
  return !!this.query && normalizeString(this.suggestion.query).includes(this.query);
58
58
  }
59
+ /**
60
+ * Checks if the suggestion is curated and if it should be highlighted.
61
+ *
62
+ * @returns True if the suggestion is curated and should be highlighted.
63
+ *
64
+ * @internal
65
+ */
66
+ get shouldHighlightCurated() {
67
+ return this.highlightCurated && !!this.suggestion.isCurated;
68
+ }
59
69
  /**
60
70
  * Generates css classes dynamically.
61
71
  *
@@ -67,7 +77,8 @@ let BaseSuggestion = class BaseSuggestion extends Vue {
67
77
  */
68
78
  get dynamicCSSClasses() {
69
79
  return {
70
- 'x-suggestion--matching': this.hasMatchingQuery
80
+ 'x-suggestion--matching': this.hasMatchingQuery,
81
+ 'x-suggestion--is-curated': this.shouldHighlightCurated,
71
82
  };
72
83
  }
73
84
  /**
@@ -118,6 +129,9 @@ __decorate([
118
129
  __decorate([
119
130
  Prop({ required: true })
120
131
  ], BaseSuggestion.prototype, "suggestionSelectedEvents", void 0);
132
+ __decorate([
133
+ Prop({ default: false, type: Boolean })
134
+ ], BaseSuggestion.prototype, "highlightCurated", void 0);
121
135
  BaseSuggestion = __decorate([
122
136
  Component
123
137
  ], BaseSuggestion);
@@ -1 +1 @@
1
- {"version":3,"file":"base-suggestion.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../src/components/suggestions/base-suggestion.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Suggestion } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { QueryFeature } from '../../types/origin';\nimport { forEach } from '../../utils/object';\nimport { normalizeString } from '../../utils/normalize';\nimport { sanitize } from '../../utils/sanitize';\nimport { VueCSSClasses } from '../../utils/types';\nimport { XEventsTypes } from '../../wiring/events.types';\n\n/**\n * Renders a button with a default slot. It receives a query, which should be the query of the\n * module using this component, a suggestion, the {@link XEvent | XEvents} that will be emitted\n * on click with a given feature.\n *\n * The default slot receives the suggestion and the matched query has props.\n *\n * @public\n */\n@Component\nexport default class BaseSuggestion extends Vue {\n /**\n * The normalized query of the module using this component.\n *\n * @public\n */\n @Prop({ default: '' })\n protected query!: string;\n\n /**\n * The suggestion to render and use in the default slot.\n *\n * @public\n */\n @Prop({ required: true })\n protected suggestion!: Suggestion;\n\n /**\n * The feature from which the events will be emitted.\n *\n * @public\n */\n @Prop() //TODO: set to true when the suggestions components pass it.\n protected feature?: QueryFeature;\n\n /**\n * The {@link XEvent | XEvents} that will be emitted when selecting a suggestion.\n *\n * @public\n */\n @Prop({ required: true })\n protected suggestionSelectedEvents!: Partial<XEventsTypes>;\n\n /**\n * The event handler that will be triggered when clicking on a suggestion.\n *\n * @remarks\n * * UserAcceptedAQuery: suggestion.query\n * * UserSelectedASuggestion: suggestion\n * * Merges the events defined in the suggestionSelectedEvents prop and also emits them\n *\n * @returns The {@link XEvent | XEvents} to emit.\n * @public\n */\n protected get events(): Partial<XEventsTypes> {\n return {\n UserAcceptedAQuery: this.suggestion.query,\n UserSelectedASuggestion: this.suggestion,\n ...this.suggestionSelectedEvents\n };\n }\n\n /**\n * Emits the events when the button is clicked.\n *\n * @public\n */\n protected emitEvents(): void {\n forEach(this.events, (event, payload) => {\n this.$x.emit(event, payload, {\n target: this.$el as HTMLElement,\n feature: this.feature\n });\n });\n }\n\n /**\n * Checks if the normalized suggestion query matches with the module's query so it has a\n * matching part.\n *\n * @returns If the query has a matching part or not.\n * @internal\n */\n protected get hasMatchingQuery(): boolean {\n return !!this.query && normalizeString(this.suggestion.query).includes(this.query);\n }\n\n /**\n * Generates css classes dynamically.\n *\n * @remarks\n * 'x-suggestion--matching added when the query should be matched.\n *\n * @returns The {@link VueCSSClasses} classes.\n * @public\n */\n protected get dynamicCSSClasses(): VueCSSClasses {\n return {\n 'x-suggestion--matching': this.hasMatchingQuery\n };\n }\n\n /**\n * Highlights the matching part of the suggestion query with the query passed as prop of the\n * component putting it inside a `<span>` tag.\n *\n * @remarks\n * The query prop should be normalized.\n *\n * @returns The suggestion's query with the matching part inside a `<span>` tag.\n * @public\n */\n protected get queryHTML(): string {\n if (this.hasMatchingQuery) {\n const matcherIndex = normalizeString(this.suggestion.query).indexOf(this.query);\n\n const [beginning, matching, end] = this.splitAt(\n this.suggestion.query,\n matcherIndex,\n this.query.length\n );\n\n const attrsMatching = 'data-test=\"matching-part\" class=\"x-suggestion__matching-part\"';\n return `${beginning}<span ${attrsMatching}>${matching}</span>${end}`;\n }\n\n return sanitize(this.suggestion.query);\n }\n\n /**\n * Splits the label in three parts based on two indexes.\n *\n * @param label - The string that will be divided in three parts.\n * @param start - The first index that the label will be divided by.\n * @param skip - The second index that the label will be divided by.\n *\n * @returns The three parts of the divided label.\n * @internal\n */\n protected splitAt(label: string, start: number, skip: number): [string, string, string] {\n const startPart = label.substr(0, start);\n const matchingPart = label.substr(start, skip);\n const endPart = label.substr(start + skip);\n\n return [sanitize(startPart), sanitize(matchingPart), sanitize(endPart)];\n }\n}\n"],"names":[],"mappings":";;;;;;;AA0BA;;;;;;;;;AAUA,IAAqB,cAAc,GAAnC,MAAqB,cAAe,SAAQ,GAAG;;;;;;;;;;;;IA4C7C,IAAc,MAAM;QAClB,OAAO;YACL,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YACzC,uBAAuB,EAAE,IAAI,CAAC,UAAU;YACxC,GAAG,IAAI,CAAC,wBAAwB;SACjC,CAAC;KACH;;;;;;IAOS,UAAU;QAClB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO;YAClC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;gBAC3B,MAAM,EAAE,IAAI,CAAC,GAAkB;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;;;;;;;;IASD,IAAc,gBAAgB;QAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpF;;;;;;;;;;IAWD,IAAc,iBAAiB;QAC7B,OAAO;YACL,wBAAwB,EAAE,IAAI,CAAC,gBAAgB;SAChD,CAAC;KACH;;;;;;;;;;;IAYD,IAAc,SAAS;QACrB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEhF,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAC7C,IAAI,CAAC,UAAU,CAAC,KAAK,EACrB,YAAY,EACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAClB,CAAC;YAEF,MAAM,aAAa,GAAG,+DAA+D,CAAC;YACtF,OAAO,GAAG,SAAS,SAAS,aAAa,IAAI,QAAQ,UAAU,GAAG,EAAE,CAAC;SACtE;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACxC;;;;;;;;;;;IAYS,OAAO,CAAC,KAAa,EAAE,KAAa,EAAE,IAAY;QAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QAE3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;KACzE;CACF,CAAA;AAjIC;IADC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;6CACG;AAQzB;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACS;AAQlC;IADC,IAAI,EAAE;+CAC0B;AAQjC;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gEACkC;AA/BxC,cAAc;IADlC,SAAS;GACW,cAAc,CAwIlC;aAxIoB,cAAc;;;;"}
1
+ {"version":3,"file":"base-suggestion.vue_rollup-plugin-vue_script.vue.js","sources":["../../../../src/components/suggestions/base-suggestion.vue?rollup-plugin-vue=script.ts"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Suggestion } from '@empathyco/x-types';\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\nimport { QueryFeature } from '../../types/origin';\nimport { forEach } from '../../utils/object';\nimport { normalizeString } from '../../utils/normalize';\nimport { sanitize } from '../../utils/sanitize';\nimport { VueCSSClasses } from '../../utils/types';\nimport { XEventsTypes } from '../../wiring/events.types';\n\n/**\n * Renders a button with a default slot. It receives a query, which should be the query of the\n * module using this component, a suggestion, the {@link XEvent | XEvents} that will be emitted\n * on click with a given feature.\n *\n * The default slot receives the suggestion and the matched query has props.\n *\n * @public\n */\n@Component\nexport default class BaseSuggestion extends Vue {\n /**\n * The normalized query of the module using this component.\n *\n * @public\n */\n @Prop({ default: '' })\n protected query!: string;\n\n /**\n * The suggestion to render and use in the default slot.\n *\n * @public\n */\n @Prop({ required: true })\n protected suggestion!: Suggestion;\n\n /**\n * The feature from which the events will be emitted.\n *\n * @public\n */\n @Prop() //TODO: set to true when the suggestions components pass it.\n protected feature?: QueryFeature;\n\n /**\n * The {@link XEvent | XEvents} that will be emitted when selecting a suggestion.\n *\n * @public\n */\n @Prop({ required: true })\n protected suggestionSelectedEvents!: Partial<XEventsTypes>;\n\n /**\n * Indicates if the curated suggestion should be highlighted.\n *\n * @public\n */\n @Prop({ default: false, type: Boolean })\n protected highlightCurated!: boolean;\n\n /**\n * The event handler that will be triggered when clicking on a suggestion.\n *\n * @remarks\n * * UserAcceptedAQuery: suggestion.query\n * * UserSelectedASuggestion: suggestion\n * * Merges the events defined in the suggestionSelectedEvents prop and also emits them\n *\n * @returns The {@link XEvent | XEvents} to emit.\n * @public\n */\n protected get events(): Partial<XEventsTypes> {\n return {\n UserAcceptedAQuery: this.suggestion.query,\n UserSelectedASuggestion: this.suggestion,\n ...this.suggestionSelectedEvents\n };\n }\n\n /**\n * Emits the events when the button is clicked.\n *\n * @public\n */\n protected emitEvents(): void {\n forEach(this.events, (event, payload) => {\n this.$x.emit(event, payload, {\n target: this.$el as HTMLElement,\n feature: this.feature\n });\n });\n }\n\n /**\n * Checks if the normalized suggestion query matches with the module's query so it has a\n * matching part.\n *\n * @returns If the query has a matching part or not.\n * @internal\n */\n protected get hasMatchingQuery(): boolean {\n return !!this.query && normalizeString(this.suggestion.query).includes(this.query);\n }\n\n /**\n * Checks if the suggestion is curated and if it should be highlighted.\n *\n * @returns True if the suggestion is curated and should be highlighted.\n *\n * @internal\n */\n protected get shouldHighlightCurated(): boolean {\n return this.highlightCurated && !!this.suggestion.isCurated;\n }\n\n /**\n * Generates css classes dynamically.\n *\n * @remarks\n * 'x-suggestion--matching added when the query should be matched.\n *\n * @returns The {@link VueCSSClasses} classes.\n * @public\n */\n protected get dynamicCSSClasses(): VueCSSClasses {\n return {\n 'x-suggestion--matching': this.hasMatchingQuery,\n 'x-suggestion--is-curated': this.shouldHighlightCurated,\n };\n }\n\n /**\n * Highlights the matching part of the suggestion query with the query passed as prop of the\n * component putting it inside a `<span>` tag.\n *\n * @remarks\n * The query prop should be normalized.\n *\n * @returns The suggestion's query with the matching part inside a `<span>` tag.\n * @public\n */\n protected get queryHTML(): string {\n if (this.hasMatchingQuery) {\n const matcherIndex = normalizeString(this.suggestion.query).indexOf(this.query);\n\n const [beginning, matching, end] = this.splitAt(\n this.suggestion.query,\n matcherIndex,\n this.query.length\n );\n\n const attrsMatching = 'data-test=\"matching-part\" class=\"x-suggestion__matching-part\"';\n return `${beginning}<span ${attrsMatching}>${matching}</span>${end}`;\n }\n\n return sanitize(this.suggestion.query);\n }\n\n /**\n * Splits the label in three parts based on two indexes.\n *\n * @param label - The string that will be divided in three parts.\n * @param start - The first index that the label will be divided by.\n * @param skip - The second index that the label will be divided by.\n *\n * @returns The three parts of the divided label.\n * @internal\n */\n protected splitAt(label: string, start: number, skip: number): [string, string, string] {\n const startPart = label.substr(0, start);\n const matchingPart = label.substr(start, skip);\n const endPart = label.substr(start + skip);\n\n return [sanitize(startPart), sanitize(matchingPart), sanitize(endPart)];\n }\n}\n"],"names":[],"mappings":";;;;;;;AA0BA;;;;;;;;;AAUA,IAAqB,cAAc,GAAnC,MAAqB,cAAe,SAAQ,GAAG;;;;;;;;;;;;IAoD7C,IAAc,MAAM;QAClB,OAAO;YACL,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YACzC,uBAAuB,EAAE,IAAI,CAAC,UAAU;YACxC,GAAG,IAAI,CAAC,wBAAwB;SACjC,CAAC;KACH;;;;;;IAOS,UAAU;QAClB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO;YAClC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;gBAC3B,MAAM,EAAE,IAAI,CAAC,GAAkB;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;;;;;;;;IASD,IAAc,gBAAgB;QAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpF;;;;;;;;IASD,IAAc,sBAAsB;QAClC,OAAO,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;KAC7D;;;;;;;;;;IAWD,IAAc,iBAAiB;QAC7B,OAAO;YACL,wBAAwB,EAAE,IAAI,CAAC,gBAAgB;YAC/C,0BAA0B,EAAE,IAAI,CAAC,sBAAsB;SACxD,CAAC;KACH;;;;;;;;;;;IAYD,IAAc,SAAS;QACrB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEhF,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAC7C,IAAI,CAAC,UAAU,CAAC,KAAK,EACrB,YAAY,EACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAClB,CAAC;YAEF,MAAM,aAAa,GAAG,+DAA+D,CAAC;YACtF,OAAO,GAAG,SAAS,SAAS,aAAa,IAAI,QAAQ,UAAU,GAAG,EAAE,CAAC;SACtE;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACxC;;;;;;;;;;;IAYS,OAAO,CAAC,KAAa,EAAE,KAAa,EAAE,IAAY;QAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QAE3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;KACzE;CACF,CAAA;AArJC;IADC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;6CACG;AAQzB;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACS;AAQlC;IADC,IAAI,EAAE;+CAC0B;AAQjC;IADC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gEACkC;AAQ3D;IADC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACH;AAvClB,cAAc;IADlC,SAAS;GACW,cAAc,CA4JlC;aA5JoB,cAAc;;;;"}
@@ -83,6 +83,9 @@ function getAliasAPI(component) {
83
83
  get relatedTags() {
84
84
  return component.$store.getters[getGetterPath('relatedTags', 'relatedTags')] ?? [];
85
85
  },
86
+ get scroll() {
87
+ return component.$store.state.x.scroll?.data ?? {};
88
+ },
86
89
  get selectedFilters() {
87
90
  return component.$store.getters[getGetterPath('facets', 'selectedFilters')] ?? [];
88
91
  },
@@ -1 +1 @@
1
- {"version":3,"file":"x-plugin.alias.js","sources":["../../../src/plugins/x-plugin.alias.ts"],"sourcesContent":["import Vue from 'vue';\nimport { RequestStatus } from '../store/utils/status-store.utils';\nimport {\n XComponentAliasAPI,\n XComponentAliasQueryAPI,\n XComponentAliasStatusAPI\n} from './x-plugin.types';\nimport { getGetterPath } from './x-plugin.utils';\n\n/**\n * Creates an object containing the alias part of {@link XComponentAPI}.\n *\n * @param component - The component with the store from which retrieve the data.\n * @returns An object containing the alias part of the {@link XComponentAPI}.\n *\n * @internal\n */\nexport function getAliasAPI(component: Vue): XComponentAliasAPI {\n const queryModules = [\n 'searchBox',\n 'nextQueries',\n 'querySuggestions',\n 'relatedTags',\n 'search'\n ] as const;\n const statusModules = [\n 'identifierResults',\n 'nextQueries',\n 'popularSearches',\n 'querySuggestions',\n 'recommendations',\n 'relatedTags',\n 'search'\n ] as const;\n\n const query = queryModules.reduce((acc, moduleName) => {\n return Object.defineProperty(acc, moduleName, {\n get(): string {\n return component.$store.state.x[moduleName]?.query ?? '';\n },\n enumerable: true\n });\n }, {} as XComponentAliasQueryAPI);\n const status = statusModules.reduce((acc, moduleName) => {\n return Object.defineProperty(acc, moduleName, {\n get(): RequestStatus | undefined {\n return component.$store.state.x[moduleName]?.status;\n },\n enumerable: true\n });\n }, {} as XComponentAliasStatusAPI);\n\n return {\n query,\n status,\n get device() {\n return component.$store.state.x.device?.name ?? null;\n },\n get facets() {\n return component.$store.getters[getGetterPath('facets', 'facets')] ?? {};\n },\n get historyQueries() {\n return component.$store.getters[getGetterPath('historyQueries', 'historyQueries')] ?? [];\n },\n get identifierResults() {\n return component.$store.state.x.identifierResults?.identifierResults ?? [];\n },\n get isEmpathizeOpen() {\n return component.$store.state.x.empathize?.isOpen ?? false;\n },\n get nextQueries() {\n return component.$store.getters[getGetterPath('nextQueries', 'nextQueries')] ?? [];\n },\n get noResults() {\n return !this.totalResults && !!this.query.search && this.status.search === 'success';\n },\n get partialResults() {\n return component.$store.state.x.search?.partialResults ?? [];\n },\n get popularSearches() {\n return component.$store.state.x.popularSearches?.popularSearches ?? [];\n },\n get querySuggestions() {\n return component.$store.state.x.querySuggestions?.suggestions ?? [];\n },\n get recommendations() {\n return component.$store.state.x.recommendations?.recommendations ?? [];\n },\n get redirections() {\n return component.$store.state.x.search?.redirections ?? [];\n },\n get relatedTags() {\n return component.$store.getters[getGetterPath('relatedTags', 'relatedTags')] ?? [];\n },\n get selectedFilters() {\n return component.$store.getters[getGetterPath('facets', 'selectedFilters')] ?? [];\n },\n get selectedRelatedTags() {\n return component.$store.state.x.relatedTags?.selectedRelatedTags ?? [];\n },\n get spellcheckedQuery() {\n return component.$store.state.x.search?.spellcheckedQuery ?? null;\n },\n get totalResults() {\n return component.$store.state.x.search?.totalResults ?? 0;\n },\n get selectedSort() {\n return component.$store.state.x.search?.sort ?? '';\n }\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"x-plugin.alias.js","sources":["../../../src/plugins/x-plugin.alias.ts"],"sourcesContent":["import Vue from 'vue';\nimport { RequestStatus } from '../store/utils/status-store.utils';\nimport {\n XComponentAliasAPI,\n XComponentAliasQueryAPI,\n XComponentAliasStatusAPI\n} from './x-plugin.types';\nimport { getGetterPath } from './x-plugin.utils';\n\n/**\n * Creates an object containing the alias part of {@link XComponentAPI}.\n *\n * @param component - The component with the store from which retrieve the data.\n * @returns An object containing the alias part of the {@link XComponentAPI}.\n *\n * @internal\n */\nexport function getAliasAPI(component: Vue): XComponentAliasAPI {\n const queryModules = [\n 'searchBox',\n 'nextQueries',\n 'querySuggestions',\n 'relatedTags',\n 'search'\n ] as const;\n const statusModules = [\n 'identifierResults',\n 'nextQueries',\n 'popularSearches',\n 'querySuggestions',\n 'recommendations',\n 'relatedTags',\n 'search'\n ] as const;\n\n const query = queryModules.reduce((acc, moduleName) => {\n return Object.defineProperty(acc, moduleName, {\n get(): string {\n return component.$store.state.x[moduleName]?.query ?? '';\n },\n enumerable: true\n });\n }, {} as XComponentAliasQueryAPI);\n const status = statusModules.reduce((acc, moduleName) => {\n return Object.defineProperty(acc, moduleName, {\n get(): RequestStatus | undefined {\n return component.$store.state.x[moduleName]?.status;\n },\n enumerable: true\n });\n }, {} as XComponentAliasStatusAPI);\n\n return {\n query,\n status,\n get device() {\n return component.$store.state.x.device?.name ?? null;\n },\n get facets() {\n return component.$store.getters[getGetterPath('facets', 'facets')] ?? {};\n },\n get historyQueries() {\n return component.$store.getters[getGetterPath('historyQueries', 'historyQueries')] ?? [];\n },\n get identifierResults() {\n return component.$store.state.x.identifierResults?.identifierResults ?? [];\n },\n get isEmpathizeOpen() {\n return component.$store.state.x.empathize?.isOpen ?? false;\n },\n get nextQueries() {\n return component.$store.getters[getGetterPath('nextQueries', 'nextQueries')] ?? [];\n },\n get noResults() {\n return !this.totalResults && !!this.query.search && this.status.search === 'success';\n },\n get partialResults() {\n return component.$store.state.x.search?.partialResults ?? [];\n },\n get popularSearches() {\n return component.$store.state.x.popularSearches?.popularSearches ?? [];\n },\n get querySuggestions() {\n return component.$store.state.x.querySuggestions?.suggestions ?? [];\n },\n get recommendations() {\n return component.$store.state.x.recommendations?.recommendations ?? [];\n },\n get redirections() {\n return component.$store.state.x.search?.redirections ?? [];\n },\n get relatedTags() {\n return component.$store.getters[getGetterPath('relatedTags', 'relatedTags')] ?? [];\n },\n get scroll() {\n return component.$store.state.x.scroll?.data ?? {};\n },\n get selectedFilters() {\n return component.$store.getters[getGetterPath('facets', 'selectedFilters')] ?? [];\n },\n get selectedRelatedTags() {\n return component.$store.state.x.relatedTags?.selectedRelatedTags ?? [];\n },\n get spellcheckedQuery() {\n return component.$store.state.x.search?.spellcheckedQuery ?? null;\n },\n get totalResults() {\n return component.$store.state.x.search?.totalResults ?? 0;\n },\n get selectedSort() {\n return component.$store.state.x.search?.sort ?? '';\n }\n };\n}\n"],"names":[],"mappings":";;AASA;;;;;;;;SAQgB,WAAW,CAAC,SAAc;IACxC,MAAM,YAAY,GAAG;QACnB,WAAW;QACX,aAAa;QACb,kBAAkB;QAClB,aAAa;QACb,QAAQ;KACA,CAAC;IACX,MAAM,aAAa,GAAG;QACpB,mBAAmB;QACnB,aAAa;QACb,iBAAiB;QACjB,kBAAkB;QAClB,iBAAiB;QACjB,aAAa;QACb,QAAQ;KACA,CAAC;IAEX,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU;QAChD,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE;YAC5C,GAAG;gBACD,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;aAC1D;YACD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;KACJ,EAAE,EAA6B,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU;QAClD,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE;YAC5C,GAAG;gBACD,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;aACrD;YACD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;KACJ,EAAE,EAA8B,CAAC,CAAC;IAEnC,OAAO;QACL,KAAK;QACL,MAAM;QACN,IAAI,MAAM;YACR,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;SACtD;QACD,IAAI,MAAM;YACR,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1E;QACD,IAAI,cAAc;YAChB,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1F;QACD,IAAI,iBAAiB;YACnB,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,IAAI,EAAE,CAAC;SAC5E;QACD,IAAI,eAAe;YACjB,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK,CAAC;SAC5D;QACD,IAAI,WAAW;YACb,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;SACpF;QACD,IAAI,SAAS;YACX,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;SACtF;QACD,IAAI,cAAc;YAChB,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC;SAC9D;QACD,IAAI,eAAe;YACjB,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,EAAE,eAAe,IAAI,EAAE,CAAC;SACxE;QACD,IAAI,gBAAgB;YAClB,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,EAAE,WAAW,IAAI,EAAE,CAAC;SACrE;QACD,IAAI,eAAe;YACjB,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,EAAE,eAAe,IAAI,EAAE,CAAC;SACxE;QACD,IAAI,YAAY;YACd,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC;SAC5D;QACD,IAAI,WAAW;YACb,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;SACpF;QACD,IAAI,MAAM;YACR,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;SACpD;QACD,IAAI,eAAe;YACjB,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;SACnF;QACD,IAAI,mBAAmB;YACrB,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,mBAAmB,IAAI,EAAE,CAAC;SACxE;QACD,IAAI,iBAAiB;YACnB,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,iBAAiB,IAAI,IAAI,CAAC;SACnE;QACD,IAAI,YAAY;YACd,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC;SAC3D;QACD,IAAI,YAAY;YACd,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;SACpD;KACF,CAAC;AACJ;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@empathyco/x-components",
3
- "version": "3.0.0-alpha.55",
3
+ "version": "3.0.0-alpha.59",
4
4
  "description": "Empathy X Components",
5
5
  "author": "Empathy Systems Corporation S.L.",
6
6
  "license": "Apache-2.0",
@@ -29,6 +29,7 @@
29
29
  "sideEffects": [
30
30
  "./tests/**/*",
31
31
  "**/*.scss",
32
+ "**/*.scss.js",
32
33
  "**/*.css",
33
34
  "**/*.vue"
34
35
  ],
@@ -58,11 +59,11 @@
58
59
  "cypress:open:component": "cypress open-ct"
59
60
  },
60
61
  "dependencies": {
61
- "@empathyco/x-adapter": "^7.0.0-alpha.11",
62
+ "@empathyco/x-adapter": "^7.0.0-alpha.12",
62
63
  "@empathyco/x-deep-merge": "^1.3.0-alpha.1",
63
64
  "@empathyco/x-logger": "^1.2.0-alpha.1",
64
65
  "@empathyco/x-storage-service": "^2.0.0-alpha.0",
65
- "@empathyco/x-types": "^10.0.0-alpha.15",
66
+ "@empathyco/x-types": "^10.0.0-alpha.16",
66
67
  "@types/resize-observer-browser": "~0.1.5",
67
68
  "magic-string": "~0.25.7",
68
69
  "nanoid": "~3.1.30",
@@ -127,5 +128,5 @@
127
128
  "access": "public",
128
129
  "directory": "dist"
129
130
  },
130
- "gitHead": "90b2c6a857456f4e73c258f4bbeb10a368edbafc"
131
+ "gitHead": "be7616914c9e04fb404f8bb9a83de59db4fade55"
131
132
  }
@@ -5976,6 +5976,33 @@
5976
5976
  },
5977
5977
  "isStatic": false
5978
5978
  },
5979
+ {
5980
+ "kind": "Property",
5981
+ "canonicalReference": "@empathyco/x-components!BaseSuggestion#highlightCurated:member",
5982
+ "docComment": "/**\n * Indicates if the curated suggestion should be highlighted.\n *\n * @public\n */\n",
5983
+ "excerptTokens": [
5984
+ {
5985
+ "kind": "Content",
5986
+ "text": "protected highlightCurated: "
5987
+ },
5988
+ {
5989
+ "kind": "Content",
5990
+ "text": "boolean"
5991
+ },
5992
+ {
5993
+ "kind": "Content",
5994
+ "text": ";"
5995
+ }
5996
+ ],
5997
+ "isOptional": false,
5998
+ "releaseTag": "Public",
5999
+ "name": "highlightCurated",
6000
+ "propertyTypeTokenRange": {
6001
+ "startIndex": 1,
6002
+ "endIndex": 2
6003
+ },
6004
+ "isStatic": false
6005
+ },
5979
6006
  {
5980
6007
  "kind": "Property",
5981
6008
  "canonicalReference": "@empathyco/x-components!BaseSuggestion#query:member",
@@ -8960,7 +8987,7 @@
8960
8987
  {
8961
8988
  "kind": "Function",
8962
8989
  "canonicalReference": "@empathyco/x-components!Debounce:function(1)",
8963
- "docComment": "/**\n * Adds debounce to the method that the decorator is applied to.\n *\n * @param debounceTimeInMs - The time of debounce in ms.\n *\n * @param debounceOptions - The options for the debounce strategy.\n *\n * @returns Decorator that applies debounce.\n *\n * @public\n */\n",
8990
+ "docComment": "/**\n * Adds debounce to the method that the decorator is applied to.\n *\n * @remarks\n *\n * Pending debounced execution is cancelled when the component is destroyed.\n *\n * @param debounceTimeInMs - The time of debounce in ms.\n *\n * @param debounceOptions - The options for the debounce strategy.\n *\n * @returns Decorator that applies debounce.\n *\n * @public\n */\n",
8964
8991
  "excerptTokens": [
8965
8992
  {
8966
8993
  "kind": "Content",
@@ -50096,6 +50123,46 @@
50096
50123
  "endIndex": 5
50097
50124
  }
50098
50125
  },
50126
+ {
50127
+ "kind": "PropertySignature",
50128
+ "canonicalReference": "@empathyco/x-components!XComponentAliasAPI#scroll:member",
50129
+ "docComment": "/**\n * The {@link ScrollXModule} data state.\n */\n",
50130
+ "excerptTokens": [
50131
+ {
50132
+ "kind": "Content",
50133
+ "text": "readonly scroll: "
50134
+ },
50135
+ {
50136
+ "kind": "Reference",
50137
+ "text": "Record",
50138
+ "canonicalReference": "!Record:type"
50139
+ },
50140
+ {
50141
+ "kind": "Content",
50142
+ "text": "<string, "
50143
+ },
50144
+ {
50145
+ "kind": "Reference",
50146
+ "text": "ScrollComponentState",
50147
+ "canonicalReference": "@empathyco/x-components!ScrollComponentState:interface"
50148
+ },
50149
+ {
50150
+ "kind": "Content",
50151
+ "text": ">"
50152
+ },
50153
+ {
50154
+ "kind": "Content",
50155
+ "text": ";"
50156
+ }
50157
+ ],
50158
+ "isOptional": false,
50159
+ "releaseTag": "Public",
50160
+ "name": "scroll",
50161
+ "propertyTypeTokenRange": {
50162
+ "startIndex": 1,
50163
+ "endIndex": 5
50164
+ }
50165
+ },
50099
50166
  {
50100
50167
  "kind": "PropertySignature",
50101
50168
  "canonicalReference": "@empathyco/x-components!XComponentAliasAPI#selectedFilters:member",
@@ -570,9 +570,12 @@ export class BaseSuggestion extends Vue_2 {
570
570
  protected feature?: QueryFeature;
571
571
  // @internal
572
572
  protected get hasMatchingQuery(): boolean;
573
+ protected highlightCurated: boolean;
573
574
  protected query: string;
574
575
  protected get queryHTML(): string;
575
576
  // @internal
577
+ protected get shouldHighlightCurated(): boolean;
578
+ // @internal
576
579
  protected splitAt(label: string, start: number, skip: number): [string, string, string];
577
580
  // Warning: (ae-forgotten-export) The symbol "Suggestion" needs to be exported by the entry point index.d.ts
578
581
  protected suggestion: Suggestion;
@@ -4676,6 +4679,7 @@ export interface XComponentAliasAPI {
4676
4679
  readonly recommendations: ReadonlyArray<Result>;
4677
4680
  readonly redirections: ReadonlyArray<Redirection_2>;
4678
4681
  readonly relatedTags: ReadonlyArray<RelatedTag_2>;
4682
+ readonly scroll: Record<string, ScrollComponentState>;
4679
4683
  readonly selectedFilters: Filter[];
4680
4684
  readonly selectedRelatedTags: ReadonlyArray<RelatedTag_2>;
4681
4685
  readonly selectedSort: string;
@@ -4286,6 +4286,32 @@
4286
4286
  "endIndex": 3
4287
4287
  }
4288
4288
  },
4289
+ {
4290
+ "kind": "PropertySignature",
4291
+ "canonicalReference": "@empathyco/x-types!Suggestion#isCurated:member",
4292
+ "docComment": "/**\n * If it's a curated suggestion.\n */\n",
4293
+ "excerptTokens": [
4294
+ {
4295
+ "kind": "Content",
4296
+ "text": "isCurated?: "
4297
+ },
4298
+ {
4299
+ "kind": "Content",
4300
+ "text": "boolean"
4301
+ },
4302
+ {
4303
+ "kind": "Content",
4304
+ "text": ";"
4305
+ }
4306
+ ],
4307
+ "isOptional": true,
4308
+ "releaseTag": "Public",
4309
+ "name": "isCurated",
4310
+ "propertyTypeTokenRange": {
4311
+ "startIndex": 1,
4312
+ "endIndex": 2
4313
+ }
4314
+ },
4289
4315
  {
4290
4316
  "kind": "PropertySignature",
4291
4317
  "canonicalReference": "@empathyco/x-types!Suggestion#key:member",
@@ -2,6 +2,8 @@ import { AnyFunction, DebounceOptions, DecoratorFor } from '../../utils/types';
2
2
  /**
3
3
  * Adds debounce to the method that the decorator is applied to.
4
4
  *
5
+ * @remarks Pending debounced execution is cancelled when the component is destroyed.
6
+ *
5
7
  * @param debounceTimeInMs - The time of debounce in ms.
6
8
  * @param debounceOptions - The options for the debounce strategy.
7
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"debounce.decorators.d.ts","sourceRoot":"","sources":["../../../../src/components/decorators/debounce.decorators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE/E;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,gBAAgB,EAAE,MAAM,EACxB,eAAe,GAAE,eAAoB,GACpC,YAAY,CAAC,WAAW,CAAC,CAa3B"}
1
+ {"version":3,"file":"debounce.decorators.d.ts","sourceRoot":"","sources":["../../../../src/components/decorators/debounce.decorators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CACtB,gBAAgB,EAAE,MAAM,EACxB,eAAe,GAAE,eAAoB,GACpC,YAAY,CAAC,WAAW,CAAC,CAsB3B"}
@@ -37,6 +37,12 @@ export default class BaseSuggestion extends Vue {
37
37
  * @public
38
38
  */
39
39
  protected suggestionSelectedEvents: Partial<XEventsTypes>;
40
+ /**
41
+ * Indicates if the curated suggestion should be highlighted.
42
+ *
43
+ * @public
44
+ */
45
+ protected highlightCurated: boolean;
40
46
  /**
41
47
  * The event handler that will be triggered when clicking on a suggestion.
42
48
  *
@@ -63,6 +69,14 @@ export default class BaseSuggestion extends Vue {
63
69
  * @internal
64
70
  */
65
71
  protected get hasMatchingQuery(): boolean;
72
+ /**
73
+ * Checks if the suggestion is curated and if it should be highlighted.
74
+ *
75
+ * @returns True if the suggestion is curated and should be highlighted.
76
+ *
77
+ * @internal
78
+ */
79
+ protected get shouldHighlightCurated(): boolean;
66
80
  /**
67
81
  * Generates css classes dynamically.
68
82
  *
@@ -1 +1 @@
1
- {"version":3,"file":"base-suggestion.vue?rollup-plugin-vue=script.d.ts","sourceRoot":"","sources":["../../../../src/components/suggestions/base-suggestion.vue?rollup-plugin-vue=script.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;;;;GAQG;AAEH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,GAAG;IAC7C;;;;OAIG;IAEH,SAAS,CAAC,KAAK,EAAG,MAAM,CAAC;IAEzB;;;;OAIG;IAEH,SAAS,CAAC,UAAU,EAAG,UAAU,CAAC;IAElC;;;;OAIG;IAEH,SAAS,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAEjC;;;;OAIG;IAEH,SAAS,CAAC,wBAAwB,EAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3D;;;;;;;;;;OAUG;IACH,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAM5C;IAED;;;;OAIG;IACH,SAAS,CAAC,UAAU,IAAI,IAAI;IAS5B;;;;;;OAMG;IACH,SAAS,KAAK,gBAAgB,IAAI,OAAO,CAExC;IAED;;;;;;;;OAQG;IACH,SAAS,KAAK,iBAAiB,IAAI,aAAa,CAI/C;IAED;;;;;;;;;OASG;IACH,SAAS,KAAK,SAAS,IAAI,MAAM,CAehC;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;CAOxF"}
1
+ {"version":3,"file":"base-suggestion.vue?rollup-plugin-vue=script.d.ts","sourceRoot":"","sources":["../../../../src/components/suggestions/base-suggestion.vue?rollup-plugin-vue=script.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;;;;GAQG;AAEH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,GAAG;IAC7C;;;;OAIG;IAEH,SAAS,CAAC,KAAK,EAAG,MAAM,CAAC;IAEzB;;;;OAIG;IAEH,SAAS,CAAC,UAAU,EAAG,UAAU,CAAC;IAElC;;;;OAIG;IAEH,SAAS,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAEjC;;;;OAIG;IAEH,SAAS,CAAC,wBAAwB,EAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3D;;;;OAIG;IAEH,SAAS,CAAC,gBAAgB,EAAG,OAAO,CAAC;IAErC;;;;;;;;;;OAUG;IACH,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAM5C;IAED;;;;OAIG;IACH,SAAS,CAAC,UAAU,IAAI,IAAI;IAS5B;;;;;;OAMG;IACH,SAAS,KAAK,gBAAgB,IAAI,OAAO,CAExC;IAED;;;;;;OAMG;IACH,SAAS,KAAK,sBAAsB,IAAI,OAAO,CAE9C;IAED;;;;;;;;OAQG;IACH,SAAS,KAAK,iBAAiB,IAAI,aAAa,CAK/C;IAED;;;;;;;;;OASG;IACH,SAAS,KAAK,SAAS,IAAI,MAAM,CAehC;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;CAOxF"}
@@ -1 +1 @@
1
- {"version":3,"file":"x-plugin.alias.d.ts","sourceRoot":"","sources":["../../../src/plugins/x-plugin.alias.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EACL,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAG1B;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,GAAG,GAAG,kBAAkB,CA6F9D"}
1
+ {"version":3,"file":"x-plugin.alias.d.ts","sourceRoot":"","sources":["../../../src/plugins/x-plugin.alias.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EACL,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAG1B;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,GAAG,GAAG,kBAAkB,CAgG9D"}
@@ -10,6 +10,7 @@ import { StoreEmitters } from '../store/utils/store-emitters.utils';
10
10
  import { DeepPartial, PropsWithType } from '../utils';
11
11
  import { XEvent, XEventPayload, XEventsTypes } from '../wiring/events.types';
12
12
  import { WireMetadata, Wiring } from '../wiring/wiring.types';
13
+ import { ScrollComponentState } from '../x-modules/scroll/index';
13
14
  import { AnyXModule, ExtractState, XModuleName, XModulesTree } from '../x-modules/x-modules.types';
14
15
  import { XBus } from './x-bus.types';
15
16
  /**
@@ -93,6 +94,8 @@ export interface XComponentAliasAPI {
93
94
  readonly redirections: ReadonlyArray<Redirection>;
94
95
  /** The {@link RelatedTagsXModule} related tags (Both selected and deselected). */
95
96
  readonly relatedTags: ReadonlyArray<RelatedTag>;
97
+ /** The {@link ScrollXModule} data state. */
98
+ readonly scroll: Record<string, ScrollComponentState>;
96
99
  /** The {@link FacetsXModule} selected filters. */
97
100
  readonly selectedFilters: Filter[];
98
101
  /** The {@link RelatedTagsXModule} selected related tags. */
@@ -1 +1 @@
1
- {"version":3,"file":"x-plugin.types.d.ts","sourceRoot":"","sources":["../../../src/plugins/x-plugin.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"x-plugin.types.d.ts","sourceRoot":"","sources":["../../../src/plugins/x-plugin.types.ts"],"names":[],"mappings":"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"}