@empathyco/x-components 3.0.0-alpha.198 → 3.0.0-alpha.199
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 +12 -0
- package/design-system/default-theme.css +106 -106
- package/docs/build-search-ui/README.md +1 -1
- package/docs/build-search-ui/web-archetype-development-guide.md +0 -2
- package/docs/build-search-ui/web-archetype-integration-guide.md +7 -9
- package/docs/build-search-ui/web-how-to-use-x-components-guide.md +0 -2
- package/docs/build-search-ui/web-x-architecture.md +1 -3
- package/docs/build-search-ui/web-x-components-development-guide.md +0 -2
- package/docs/experience-search-and-discovery/README.md +2 -4
- package/docs/experience-search-and-discovery/empathize.md +12 -7
- package/docs/experience-search-and-discovery/facets-and-filters.md +4 -4
- package/docs/experience-search-and-discovery/history-queries.md +1 -3
- package/docs/experience-search-and-discovery/id-results.md +3 -2
- package/docs/experience-search-and-discovery/my-history.md +1 -1
- package/docs/experience-search-and-discovery/next-queries.md +4 -3
- package/docs/experience-search-and-discovery/popular-searches.md +7 -3
- package/docs/experience-search-and-discovery/product-results-ui.md +3 -3
- package/docs/experience-search-and-discovery/query-suggestions.md +4 -3
- package/docs/experience-search-and-discovery/recommendations.md +8 -3
- package/docs/experience-search-and-discovery/related-tags.md +5 -4
- package/docs/experience-search-and-discovery/search-box.md +6 -3
- package/docs/experience-search-and-discovery/serp-ui.md +5 -3
- package/docs/experience-search-and-discovery/web-local-storage.md +1 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
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.199](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.198...@empathyco/x-components@3.0.0-alpha.199) (2022-10-20)
|
|
7
|
+
|
|
8
|
+
### Documentation
|
|
9
|
+
|
|
10
|
+
- **functional:** titles refactor and change image source (#790)
|
|
11
|
+
([cc177a5](https://github.com/empathyco/x/commit/cc177a5bad6fab363d40140e699e11e0ec6bc53c))
|
|
12
|
+
|
|
13
|
+
# Change Log
|
|
14
|
+
|
|
15
|
+
All notable changes to this project will be documented in this file. See
|
|
16
|
+
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
17
|
+
|
|
6
18
|
## [3.0.0-alpha.198](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.197...@empathyco/x-components@3.0.0-alpha.198) (2022-10-20)
|
|
7
19
|
|
|
8
20
|
### Bug Fixes
|
|
@@ -80,91 +80,6 @@
|
|
|
80
80
|
--x-number-font-weight-button-default: var(--x-number-font-weight-base-bold);
|
|
81
81
|
--x-size-line-height-button-default: var(--x-size-line-height-text);
|
|
82
82
|
}
|
|
83
|
-
|
|
84
|
-
[dir="ltr"] .x-button {
|
|
85
|
-
padding-right: var(--x-size-padding-right-button-default);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
[dir="rtl"] .x-button {
|
|
89
|
-
padding-left: var(--x-size-padding-right-button-default);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
[dir="ltr"] .x-button {
|
|
93
|
-
padding-left: var(--x-size-padding-left-button-default);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
[dir="rtl"] .x-button {
|
|
97
|
-
padding-right: var(--x-size-padding-left-button-default);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
[dir="ltr"] .x-button {
|
|
101
|
-
border-left-width: var(--x-size-border-width-left-button-default);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
[dir="rtl"] .x-button {
|
|
105
|
-
border-right-width: var(--x-size-border-width-left-button-default);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
[dir="ltr"] .x-button {
|
|
109
|
-
border-right-width: var(--x-size-border-width-right-button-default);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
[dir="rtl"] .x-button {
|
|
113
|
-
border-left-width: var(--x-size-border-width-right-button-default);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
.x-button {
|
|
117
|
-
display: inline-flex;
|
|
118
|
-
justify-content: center;
|
|
119
|
-
align-items: center;
|
|
120
|
-
box-sizing: border-box;
|
|
121
|
-
margin: 0;
|
|
122
|
-
gap: var(--x-size-gap-button-default);
|
|
123
|
-
min-height: var(--x-size-height-button-default);
|
|
124
|
-
background-color: var(--x-color-background-button-default);
|
|
125
|
-
border-color: var(--x-color-border-button-default);
|
|
126
|
-
color: var(--x-color-text-button-default);
|
|
127
|
-
border-style: solid;
|
|
128
|
-
border-top-width: var(--x-size-border-width-top-button-default);
|
|
129
|
-
border-bottom-width: var(--x-size-border-width-bottom-button-default);
|
|
130
|
-
border-radius: var(--x-size-border-radius-top-left-button-default) var(--x-size-border-radius-top-right-button-default) var(--x-size-border-radius-bottom-right-button-default) var(--x-size-border-radius-bottom-left-button-default);
|
|
131
|
-
font-family: var(--x-font-family-button-default);
|
|
132
|
-
font-size: var(--x-size-font-button-default);
|
|
133
|
-
font-weight: var(--x-number-font-weight-button-default);
|
|
134
|
-
line-height: var(--x-size-line-height-button-default);
|
|
135
|
-
cursor: pointer;
|
|
136
|
-
}
|
|
137
|
-
@media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
|
|
138
|
-
.x-button {
|
|
139
|
-
gap: 0;
|
|
140
|
-
}
|
|
141
|
-
.x-button > *:not(:last-child) {
|
|
142
|
-
margin-right: var(--x-size-gap-button-default);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
:root {
|
|
146
|
-
--x-color-background-button-default: var(--x-color-base-lead);
|
|
147
|
-
--x-color-border-button-default: var(--x-color-background-button-default);
|
|
148
|
-
--x-color-text-button-default: var(--x-color-base-neutral-100);
|
|
149
|
-
--x-size-border-radius-button-default: var(--x-size-border-radius-base-none);
|
|
150
|
-
--x-size-border-radius-top-left-button-default: var(--x-size-border-radius-button-default);
|
|
151
|
-
--x-size-border-radius-top-right-button-default: var(--x-size-border-radius-button-default);
|
|
152
|
-
--x-size-border-radius-bottom-right-button-default: var(--x-size-border-radius-button-default);
|
|
153
|
-
--x-size-border-radius-bottom-left-button-default: var(--x-size-border-radius-button-default);
|
|
154
|
-
--x-size-border-width-button-default: var(--x-size-border-width-base);
|
|
155
|
-
--x-size-border-width-top-button-default: var(--x-size-border-width-button-default);
|
|
156
|
-
--x-size-border-width-right-button-default: var(--x-size-border-width-button-default);
|
|
157
|
-
--x-size-border-width-bottom-button-default: var(--x-size-border-width-button-default);
|
|
158
|
-
--x-size-border-width-left-button-default: var(--x-size-border-width-button-default);
|
|
159
|
-
--x-size-height-button-default: var(--x-size-base-08);
|
|
160
|
-
--x-size-padding-right-button-default: var(--x-size-base-05);
|
|
161
|
-
--x-size-padding-left-button-default: var(--x-size-base-05);
|
|
162
|
-
--x-size-gap-button-default: var(--x-size-base-03);
|
|
163
|
-
--x-font-family-button-default: var(--x-font-family-text);
|
|
164
|
-
--x-size-font-button-default: var(--x-size-font-text);
|
|
165
|
-
--x-number-font-weight-button-default: var(--x-number-font-weight-base-bold);
|
|
166
|
-
--x-size-line-height-button-default: var(--x-size-line-height-text);
|
|
167
|
-
}
|
|
168
83
|
:root {
|
|
169
84
|
--x-size-border-radius-dropdown-default: var(--x-size-border-radius-base-none);
|
|
170
85
|
--x-size-border-radius-top-left-dropdown-default: var(--x-size-border-radius-dropdown-default);
|
|
@@ -1434,27 +1349,6 @@
|
|
|
1434
1349
|
.x-message > p {
|
|
1435
1350
|
margin: 0;
|
|
1436
1351
|
}
|
|
1437
|
-
:root {
|
|
1438
|
-
--x-string-justify-message-default: center;
|
|
1439
|
-
--x-size-gap-message-default: var(--x-size-base-03);
|
|
1440
|
-
--x-size-padding-message-default: var(--x-size-base-06);
|
|
1441
|
-
--x-color-background-message-default: var(--x-color-base-neutral-95);
|
|
1442
|
-
--x-color-border-message-default: var(--x-color-background-message-default);
|
|
1443
|
-
--x-color-text-message-default: var(--x-color-text-default);
|
|
1444
|
-
--x-size-border-radius-message-default: var(--x-size-border-radius-base-m);
|
|
1445
|
-
--x-size-border-radius-top-left-message-default: var(--x-size-border-radius-message-default);
|
|
1446
|
-
--x-size-border-radius-top-right-message-default: var(--x-size-border-radius-message-default);
|
|
1447
|
-
--x-size-border-radius-bottom-right-message-default: var(--x-size-border-radius-message-default);
|
|
1448
|
-
--x-size-border-radius-bottom-left-message-default: var(--x-size-border-radius-message-default);
|
|
1449
|
-
--x-size-border-width-message-default: var(--x-size-border-width-base);
|
|
1450
|
-
--x-size-border-width-top-message-default: var(--x-size-border-width-message-default);
|
|
1451
|
-
--x-size-border-width-right-message-default: var(--x-size-border-width-message-default);
|
|
1452
|
-
--x-size-border-width-bottom-message-default: var(--x-size-border-width-message-default);
|
|
1453
|
-
--x-size-border-width-left-message-default: var(--x-size-border-width-message-default);
|
|
1454
|
-
--x-font-family-message-default: var(--x-font-family-title3);
|
|
1455
|
-
--x-size-font-message-default: var(--x-size-font-title3);
|
|
1456
|
-
--x-number-font-weight-message-default: var(--x-number-font-weight-title3);
|
|
1457
|
-
}
|
|
1458
1352
|
:root {
|
|
1459
1353
|
--x-color-background-option-list-button-default: transparent;
|
|
1460
1354
|
--x-color-border-option-list-button-default: transparent;
|
|
@@ -2915,4 +2809,110 @@
|
|
|
2915
2809
|
--x-size-line-height-base-s: 16px;
|
|
2916
2810
|
--x-size-line-height-base-m: 24px;
|
|
2917
2811
|
--x-size-line-height-base-l: 32px;
|
|
2812
|
+
}
|
|
2813
|
+
:root {
|
|
2814
|
+
--x-color-background-button-default: var(--x-color-base-lead);
|
|
2815
|
+
--x-color-border-button-default: var(--x-color-background-button-default);
|
|
2816
|
+
--x-color-text-button-default: var(--x-color-base-neutral-100);
|
|
2817
|
+
--x-size-border-radius-button-default: var(--x-size-border-radius-base-none);
|
|
2818
|
+
--x-size-border-radius-top-left-button-default: var(--x-size-border-radius-button-default);
|
|
2819
|
+
--x-size-border-radius-top-right-button-default: var(--x-size-border-radius-button-default);
|
|
2820
|
+
--x-size-border-radius-bottom-right-button-default: var(--x-size-border-radius-button-default);
|
|
2821
|
+
--x-size-border-radius-bottom-left-button-default: var(--x-size-border-radius-button-default);
|
|
2822
|
+
--x-size-border-width-button-default: var(--x-size-border-width-base);
|
|
2823
|
+
--x-size-border-width-top-button-default: var(--x-size-border-width-button-default);
|
|
2824
|
+
--x-size-border-width-right-button-default: var(--x-size-border-width-button-default);
|
|
2825
|
+
--x-size-border-width-bottom-button-default: var(--x-size-border-width-button-default);
|
|
2826
|
+
--x-size-border-width-left-button-default: var(--x-size-border-width-button-default);
|
|
2827
|
+
--x-size-height-button-default: var(--x-size-base-08);
|
|
2828
|
+
--x-size-padding-right-button-default: var(--x-size-base-05);
|
|
2829
|
+
--x-size-padding-left-button-default: var(--x-size-base-05);
|
|
2830
|
+
--x-size-gap-button-default: var(--x-size-base-03);
|
|
2831
|
+
--x-font-family-button-default: var(--x-font-family-text);
|
|
2832
|
+
--x-size-font-button-default: var(--x-size-font-text);
|
|
2833
|
+
--x-number-font-weight-button-default: var(--x-number-font-weight-base-bold);
|
|
2834
|
+
--x-size-line-height-button-default: var(--x-size-line-height-text);
|
|
2835
|
+
}
|
|
2836
|
+
|
|
2837
|
+
[dir="ltr"] .x-button {
|
|
2838
|
+
padding-right: var(--x-size-padding-right-button-default);
|
|
2839
|
+
}
|
|
2840
|
+
|
|
2841
|
+
[dir="rtl"] .x-button {
|
|
2842
|
+
padding-left: var(--x-size-padding-right-button-default);
|
|
2843
|
+
}
|
|
2844
|
+
|
|
2845
|
+
[dir="ltr"] .x-button {
|
|
2846
|
+
padding-left: var(--x-size-padding-left-button-default);
|
|
2847
|
+
}
|
|
2848
|
+
|
|
2849
|
+
[dir="rtl"] .x-button {
|
|
2850
|
+
padding-right: var(--x-size-padding-left-button-default);
|
|
2851
|
+
}
|
|
2852
|
+
|
|
2853
|
+
[dir="ltr"] .x-button {
|
|
2854
|
+
border-left-width: var(--x-size-border-width-left-button-default);
|
|
2855
|
+
}
|
|
2856
|
+
|
|
2857
|
+
[dir="rtl"] .x-button {
|
|
2858
|
+
border-right-width: var(--x-size-border-width-left-button-default);
|
|
2859
|
+
}
|
|
2860
|
+
|
|
2861
|
+
[dir="ltr"] .x-button {
|
|
2862
|
+
border-right-width: var(--x-size-border-width-right-button-default);
|
|
2863
|
+
}
|
|
2864
|
+
|
|
2865
|
+
[dir="rtl"] .x-button {
|
|
2866
|
+
border-left-width: var(--x-size-border-width-right-button-default);
|
|
2867
|
+
}
|
|
2868
|
+
|
|
2869
|
+
.x-button {
|
|
2870
|
+
display: inline-flex;
|
|
2871
|
+
justify-content: center;
|
|
2872
|
+
align-items: center;
|
|
2873
|
+
box-sizing: border-box;
|
|
2874
|
+
margin: 0;
|
|
2875
|
+
gap: var(--x-size-gap-button-default);
|
|
2876
|
+
min-height: var(--x-size-height-button-default);
|
|
2877
|
+
background-color: var(--x-color-background-button-default);
|
|
2878
|
+
border-color: var(--x-color-border-button-default);
|
|
2879
|
+
color: var(--x-color-text-button-default);
|
|
2880
|
+
border-style: solid;
|
|
2881
|
+
border-top-width: var(--x-size-border-width-top-button-default);
|
|
2882
|
+
border-bottom-width: var(--x-size-border-width-bottom-button-default);
|
|
2883
|
+
border-radius: var(--x-size-border-radius-top-left-button-default) var(--x-size-border-radius-top-right-button-default) var(--x-size-border-radius-bottom-right-button-default) var(--x-size-border-radius-bottom-left-button-default);
|
|
2884
|
+
font-family: var(--x-font-family-button-default);
|
|
2885
|
+
font-size: var(--x-size-font-button-default);
|
|
2886
|
+
font-weight: var(--x-number-font-weight-button-default);
|
|
2887
|
+
line-height: var(--x-size-line-height-button-default);
|
|
2888
|
+
cursor: pointer;
|
|
2889
|
+
}
|
|
2890
|
+
@media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
|
|
2891
|
+
.x-button {
|
|
2892
|
+
gap: 0;
|
|
2893
|
+
}
|
|
2894
|
+
.x-button > *:not(:last-child) {
|
|
2895
|
+
margin-right: var(--x-size-gap-button-default);
|
|
2896
|
+
}
|
|
2897
|
+
}
|
|
2898
|
+
:root {
|
|
2899
|
+
--x-string-justify-message-default: center;
|
|
2900
|
+
--x-size-gap-message-default: var(--x-size-base-03);
|
|
2901
|
+
--x-size-padding-message-default: var(--x-size-base-06);
|
|
2902
|
+
--x-color-background-message-default: var(--x-color-base-neutral-95);
|
|
2903
|
+
--x-color-border-message-default: var(--x-color-background-message-default);
|
|
2904
|
+
--x-color-text-message-default: var(--x-color-text-default);
|
|
2905
|
+
--x-size-border-radius-message-default: var(--x-size-border-radius-base-m);
|
|
2906
|
+
--x-size-border-radius-top-left-message-default: var(--x-size-border-radius-message-default);
|
|
2907
|
+
--x-size-border-radius-top-right-message-default: var(--x-size-border-radius-message-default);
|
|
2908
|
+
--x-size-border-radius-bottom-right-message-default: var(--x-size-border-radius-message-default);
|
|
2909
|
+
--x-size-border-radius-bottom-left-message-default: var(--x-size-border-radius-message-default);
|
|
2910
|
+
--x-size-border-width-message-default: var(--x-size-border-width-base);
|
|
2911
|
+
--x-size-border-width-top-message-default: var(--x-size-border-width-message-default);
|
|
2912
|
+
--x-size-border-width-right-message-default: var(--x-size-border-width-message-default);
|
|
2913
|
+
--x-size-border-width-bottom-message-default: var(--x-size-border-width-message-default);
|
|
2914
|
+
--x-size-border-width-left-message-default: var(--x-size-border-width-message-default);
|
|
2915
|
+
--x-font-family-message-default: var(--x-font-family-title3);
|
|
2916
|
+
--x-size-font-message-default: var(--x-size-font-title3);
|
|
2917
|
+
--x-number-font-weight-message-default: var(--x-number-font-weight-title3);
|
|
2918
2918
|
}
|
|
@@ -20,7 +20,7 @@ Start building your search and discovery experience:
|
|
|
20
20
|
|
|
21
21
|
::: slot right-intro-column
|
|
22
22
|
|
|
23
|
-
<img :src="$withBase('/assets/media/build-search-ui.svg')" alt="Build Your Search UI">
|
|
23
|
+
<img :src="$withBase('/assets/media/interface/build-search-ui.svg')" alt="Build Your Search UI">
|
|
24
24
|
|
|
25
25
|
:::
|
|
26
26
|
|
|
@@ -10,8 +10,6 @@ tags:
|
|
|
10
10
|
- archetype development
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
# Develop using Interface X Archetype
|
|
14
|
-
|
|
15
13
|
In this tutorial, you’ll learn how to build a search and discovery layer based on predefined
|
|
16
14
|
features and components in a matter of minutes using the Interface X Archetype.
|
|
17
15
|
|
|
@@ -9,8 +9,6 @@ tags:
|
|
|
9
9
|
- x components
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
# Integrate Interface X Archetype into an existing website
|
|
13
|
-
|
|
14
12
|
In this tutorial, you'll learn how to integrate the Interface X Archetype project in your
|
|
15
13
|
commerce store in a matter of minutes. You can use the X Archetype **as is** or you can
|
|
16
14
|
**[extend](web-archetype-development-guide.md)** the search and discovery interface experience to
|
|
@@ -54,7 +52,7 @@ Automatic initialization is the easiest way to integrate the Interface X pr
|
|
|
54
52
|
1. **Configure the JavaScript snippet** to define either an initialization object or a function.
|
|
55
53
|
2. **Load and initialize** the Interface X script.
|
|
56
54
|
|
|
57
|
-
|
|
55
|
+
### Configuring the snippet
|
|
58
56
|
|
|
59
57
|
First, add the JavaScript snippet configuration to define multiple initialization options, i.e. the
|
|
60
58
|
API to use, the language or currency to display, or even the tagging parameters to collect
|
|
@@ -100,7 +98,7 @@ more information on the supported parameters, check out
|
|
|
100
98
|
|
|
101
99
|
:::
|
|
102
100
|
|
|
103
|
-
|
|
101
|
+
### Loading the script
|
|
104
102
|
|
|
105
103
|
Once the snippet configuration is ready, add the Interface X script to your webpage. The script
|
|
106
104
|
is hosted in a URL with the following syntax:
|
|
@@ -153,7 +151,7 @@ On-demand initialization allows you to control when Interface X is loaded.
|
|
|
153
151
|
1. **Load** the Interface X script.
|
|
154
152
|
2. **Initialize** Interface X.
|
|
155
153
|
|
|
156
|
-
|
|
154
|
+
### Loading the script
|
|
157
155
|
|
|
158
156
|
Add the Interface X script hosted in a URL with the following syntax:
|
|
159
157
|
|
|
@@ -174,7 +172,7 @@ attribute `src` so that it points to the staging environment as follows:
|
|
|
174
172
|
<script src="https://x.staging.empathy.co/my-store/app.js" type="module"></script>
|
|
175
173
|
```
|
|
176
174
|
|
|
177
|
-
|
|
175
|
+
### Initializing Interface X
|
|
178
176
|
|
|
179
177
|
Since no initialization configuration is defined when loading the script, you need to **invoke the
|
|
180
178
|
initialization function** created automatically in the
|
|
@@ -214,7 +212,7 @@ out further information about:
|
|
|
214
212
|
subscribe to when initializing
|
|
215
213
|
- **Functions supported by the [X API object](#x-api)** to initialize Interface X
|
|
216
214
|
|
|
217
|
-
|
|
215
|
+
### Snippet configuration
|
|
218
216
|
|
|
219
217
|
The
|
|
220
218
|
[snippet configuration](https://github.com/empathyco/x-archetype/blob/main/public/snippet-script.js)
|
|
@@ -253,7 +251,7 @@ does **not use any cookies** in its libraries.
|
|
|
253
251
|
|
|
254
252
|
:::
|
|
255
253
|
|
|
256
|
-
|
|
254
|
+
### Callbacks and Interface X events types
|
|
257
255
|
|
|
258
256
|
You can use a **callback** to subscribe to specific **X events types** to perform
|
|
259
257
|
particular actions when triggered.
|
|
@@ -293,7 +291,7 @@ However, every module has its own sort of components (e.g. Empathize X events, S
|
|
|
293
291
|
etc.). See the corresponding `events.types.ts` file for each module in the
|
|
294
292
|
[X Components library in GitHub](https://github.com/empathyco/x/tree/main/packages/x-components/src/x-modules).
|
|
295
293
|
|
|
296
|
-
|
|
294
|
+
### X API
|
|
297
295
|
|
|
298
296
|
The
|
|
299
297
|
[X API](https://github.com/empathyco/x/blob/main/packages/x-components/src/x-installer/api/base-api.ts)
|
|
@@ -8,8 +8,6 @@ tags:
|
|
|
8
8
|
- how to
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
# How to use and configure Interface X Components in your project
|
|
12
|
-
|
|
13
11
|
Interface X Components are like building blocks that you pick up and mix to craft your
|
|
14
12
|
search UI experiences. The goal of using components is to include only the components you want,
|
|
15
13
|
wherever you want.
|
|
@@ -9,8 +9,6 @@ tags:
|
|
|
9
9
|
- x components library
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
# Develop using the Interface X Components library
|
|
13
|
-
|
|
14
12
|
In this tutorial, you’ll learn the basics to integrate the Interface X Components library
|
|
15
13
|
in your own project to craft enticing Vue search experiences for your commerce store in a matter of
|
|
16
14
|
minutes.
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
title: Experience search & discovery
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# Experience search & discovery
|
|
6
|
-
|
|
7
5
|
Search inevitably is key when people look for specific products in an online store. It's the door
|
|
8
6
|
to the entire product catalogue, so having an outstanding, well-structured, and optimized search UI
|
|
9
7
|
is a must.
|
|
@@ -12,8 +10,8 @@ However, it’s not enough. With the advanced features provided by some well-kno
|
|
|
12
10
|
shoppers need a new dimension to **connect effortlessly** to the most relevant products, enjoy a
|
|
13
11
|
**smooth user experience**, and take advantage of **outstanding search and discovery capabilities**.
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+

|
|
14
|
+
|
|
17
15
|
|
|
18
16
|
## Interface X and Interface X for Apps, the solution
|
|
19
17
|
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Empathize UI
|
|
3
|
+
tags:
|
|
4
|
+
- predictive layer
|
|
5
|
+
- search box
|
|
3
6
|
---
|
|
4
7
|
|
|
5
|
-
# Empathize
|
|
6
|
-
|
|
7
8
|
Empathize is a UI container, but not just any container. It’s the
|
|
8
9
|
**[predictive layer](/explore-empathy-platform/overview/predictive-layer.md)** for your search
|
|
9
10
|
experience that is usually displayed below the search box. Consider it the natural companion of the
|
|
10
11
|
**[search box](search-box.md)**, featuring search suggestions and recommendations.
|
|
11
12
|
|
|
12
|
-

|
|
13
14
|
|
|
14
15
|
One of the characteristics of Interface X Components is that you can place them
|
|
15
16
|
wherever you want. However, you know that the placement of the search box in your shop matters. So,
|
|
@@ -72,13 +73,17 @@ addition to or replacing the search box focus. You may prefer to make it more ac
|
|
|
72
73
|
Keyboard Navigation component. Your shoppers can navigate the components in Empathize with the
|
|
73
74
|
keyboard arrow keys.
|
|
74
75
|
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
**Enhance Empathize usability with...**
|
|
77
|
+
|
|
77
78
|
- Keyboard scroll
|
|
78
79
|
- Keyboard navigation
|
|
79
|
-
-->
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
::: interact
|
|
82
|
+
|
|
83
|
+
Learn more on how to improve the usability of the Empathize UI component using the [Base Scroll](/develop-empathy-platform/ui-reference/components/base-components/scroll/x-components.base-scroll.md) and [Base Keyboard Navigation](/develop-empathy-platform/ui-reference/components/base-components/x-components.base-keyboard-navigation.md) components in the X Components UI Reference.
|
|
84
|
+
|
|
85
|
+
:::
|
|
86
|
+
|
|
82
87
|
|
|
83
88
|
## Spot the difference
|
|
84
89
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Facets & Filters UI
|
|
3
|
+
tag:
|
|
4
|
+
- faceted
|
|
3
5
|
---
|
|
4
6
|
|
|
5
|
-
# Facets & Filters UI
|
|
6
|
-
|
|
7
7
|
Facets and Filters allow your shoppers to organize your product catalogue in different categories
|
|
8
8
|
and narrow the search results to better find what they are looking for. Shoppers can set filters
|
|
9
9
|
according to the categories or facets defined in the faceted menu, which is usually located on the
|
|
10
10
|
left or upper side of the search engine results page or product listing page.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+

|
|
13
13
|
|
|
14
14
|
X Components for facets present how you have categorized your products, displaying the
|
|
15
15
|
different aspects available (brand, price, color…), while the filter-related components render the
|
|
@@ -43,7 +43,7 @@ time, giving them the opportunity to establish a **dialogue** with your product
|
|
|
43
43
|
decide what results to display by adding and clearing filters, or make information on product
|
|
44
44
|
results **clearer and more accessible**, meeting different types of faceting layouts.
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+

|
|
47
47
|
|
|
48
48
|
::: details Rendering facets and filters
|
|
49
49
|
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
title: History Queries UI
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# History Queries UI
|
|
6
|
-
|
|
7
5
|
The History Queries UI component displays the search history, allowing shoppers to check previous
|
|
8
6
|
searches and revisit products they’ve viewed before in a few clicks.
|
|
9
7
|
|
|
10
|
-

|
|
11
9
|
|
|
12
10
|
::: interact
|
|
13
11
|
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: ID Results UI
|
|
3
|
+
tags:
|
|
4
|
+
- identifier results
|
|
3
5
|
---
|
|
4
6
|
|
|
5
|
-
# ID Results UI
|
|
6
7
|
|
|
7
8
|
The Identifier Results UI component presents a type of search results intended for product reference
|
|
8
9
|
codes. When shoppers start typing, a reference code query type is detected, and a list displays
|
|
9
10
|
instantly with query-matching product results. When shoppers select an identifier result hint from
|
|
10
11
|
the list, they go directly to the product detail page (PDP).
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+

|
|
13
14
|
|
|
14
15
|
:::warning
|
|
15
16
|
|
|
@@ -4,7 +4,7 @@ title: My History UI
|
|
|
4
4
|
|
|
5
5
|
The My History UI component displays the complete list of history queries, allowing shoppers to reuse previously searched queries.
|
|
6
6
|
|
|
7
|
-

|
|
8
8
|
|
|
9
9
|
::: interact
|
|
10
10
|
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Next Queries UI
|
|
3
|
+
tags:
|
|
4
|
+
- popular next queries
|
|
5
|
+
- what's next
|
|
3
6
|
---
|
|
4
7
|
|
|
5
|
-
# Next Queries UI
|
|
6
|
-
|
|
7
8
|
The Next Queries UI component provides shoppers with ideas on what to search for next based on their
|
|
8
9
|
last search. Since next queries are related to the last query, they appear after performing a first
|
|
9
10
|
search.
|
|
10
11
|
|
|
11
|
-

|
|
12
13
|
|
|
13
14
|
Next queries can be **organic**, using information on the most common searches that are performed
|
|
14
15
|
successively or within a same session by shoppers, or **curated**, created manually by the
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Popular Searches UI
|
|
3
|
+
tags:
|
|
4
|
+
- top searches
|
|
5
|
+
- top terms
|
|
6
|
+
- search trends
|
|
7
|
+
- top queries
|
|
8
|
+
- trending
|
|
3
9
|
---
|
|
4
10
|
|
|
5
|
-
# Popular Searches UI
|
|
6
|
-
|
|
7
11
|
The Popular Searches UI component displays what are the top search queries during a specific time.
|
|
8
12
|
This type of suggestion can show up even before shoppers have started entering a query or when there
|
|
9
13
|
are no search results to show.
|
|
10
14
|
|
|
11
|
-

|
|
12
16
|
|
|
13
17
|
::: warning
|
|
14
18
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Product results UI
|
|
3
|
+
tags:
|
|
4
|
+
- results layout
|
|
3
5
|
---
|
|
4
6
|
|
|
5
|
-
# Product results UI
|
|
6
|
-
|
|
7
7
|
After launching a search, some shoppers may just want to take a quick look around, reviewing only
|
|
8
8
|
product thumbnails and quick info on the SERP. While others will prefer to have a more detailed
|
|
9
9
|
overview of the product results with large and multiple images. That’s why the display of results is
|
|
@@ -14,7 +14,7 @@ tailor the display to create the best product discovery experience for your shop
|
|
|
14
14
|
elements and product-related information you want to include when displaying product results such as
|
|
15
15
|
the price, a picture, or even an add-to-cart button.
|
|
16
16
|
|
|
17
|
-

|
|
18
18
|
|
|
19
19
|
<FootNote>
|
|
20
20
|
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Query Suggestions UI
|
|
3
|
+
tags:
|
|
4
|
+
- search suggestions
|
|
5
|
+
- search as you type
|
|
3
6
|
---
|
|
4
7
|
|
|
5
|
-
# Query Suggestions UI
|
|
6
|
-
|
|
7
8
|
The Query Suggestions UI component helps your shoppers with hints of what to look for to get
|
|
8
9
|
relevant results. They complete and nail down the query as shoppers type without needing to keep
|
|
9
10
|
typing.
|
|
10
11
|
|
|
11
|
-

|
|
12
13
|
|
|
13
14
|
::: warning
|
|
14
15
|
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Recommendations UI
|
|
3
|
+
tags:
|
|
4
|
+
- top clicked
|
|
5
|
+
- top searched
|
|
6
|
+
- trending
|
|
7
|
+
- trending products
|
|
8
|
+
- top products
|
|
9
|
+
- popular
|
|
3
10
|
---
|
|
4
11
|
|
|
5
|
-
# Recommendations UI
|
|
6
|
-
|
|
7
12
|
The Recommendations UI component shows the most clicked products on the SERP, based on shopper
|
|
8
13
|
interaction within a defined period. They help your shoppers to explore your product catalogue,
|
|
9
14
|
guiding them to specific products without the need to launch any queries.
|
|
10
15
|
|
|
11
|
-
|
|
16
|
+

|
|
12
17
|
|
|
13
18
|
::: warning
|
|
14
19
|
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Related Tags UI
|
|
3
|
+
tags:
|
|
4
|
+
- tags
|
|
5
|
+
- related keywords
|
|
3
6
|
---
|
|
4
7
|
|
|
5
|
-
# Related Tags UI
|
|
6
|
-
|
|
7
8
|
The Related Tags UI component helps your shoppers to refine a specific search query and find what
|
|
8
9
|
they’re looking for with just one click. They only appear after the search process is completed, and
|
|
9
10
|
the results appear to fine-tune the search with extra information and get highly relevant results.
|
|
10
11
|
They are shown as labels usually at the top of the results page, but can be displayed anywhere
|
|
11
12
|
instead.
|
|
12
13
|
|
|
13
|
-

|
|
14
15
|
|
|
15
16
|
::: warning
|
|
16
17
|
|
|
@@ -27,7 +28,7 @@ Can't quite capture the concept? Learn more about
|
|
|
27
28
|
|
|
28
29
|
:::
|
|
29
30
|
|
|
30
|
-
<!-- You can configure the
|
|
31
|
+
<!-- You can configure the behavior of Related Tags and decide whether they’re selectable or not. If Related Tags aren’t selectable, they modify the initial query syntax by adding the related-search keywords to the query term initially typed in the search bar. Otherwise, the initial query syntax will still remain so that shoppers can select or deselect Related Tags at their ease, exploring different options and combinations. -->
|
|
31
32
|
|
|
32
33
|
## Tailor the web experience
|
|
33
34
|
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Search Box UI
|
|
3
|
+
tags:
|
|
4
|
+
- search input
|
|
5
|
+
- search bar
|
|
6
|
+
- search field
|
|
7
|
+
- input
|
|
3
8
|
---
|
|
4
9
|
|
|
5
|
-
# Search Box UI
|
|
6
|
-
|
|
7
10
|
The Search Box UI Component is the main entry point for search where shoppers can type what
|
|
8
11
|
they're looking for in your shop. It usually includes an input field, a search button, and a clear
|
|
9
12
|
button.
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+

|
|
12
15
|
|
|
13
16
|
::: interact
|
|
14
17
|
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: SERP UI
|
|
3
|
+
tags:
|
|
4
|
+
- results layout
|
|
5
|
+
- grid
|
|
6
|
+
- results grid
|
|
3
7
|
---
|
|
4
8
|
|
|
5
|
-
# SERP UI
|
|
6
|
-
|
|
7
9
|
To handle and display search results, the layout of results and other related discovery features is
|
|
8
10
|
paramount. For example, how to arrange results on the SERP or the features shoppers expect to easily
|
|
9
11
|
navigate and organize results are key points to have in mind. <br/>
|
|
10
12
|
|
|
11
|
-

|
|
12
14
|
|
|
13
15
|
<FootNote>
|
|
14
16
|
|
|
@@ -6,10 +6,9 @@ tags:
|
|
|
6
6
|
- cookies
|
|
7
7
|
- local storage
|
|
8
8
|
- history queries
|
|
9
|
+
- cookieless
|
|
9
10
|
---
|
|
10
11
|
|
|
11
|
-
# Interface X data privacy and browser local storage
|
|
12
|
-
|
|
13
12
|
Interface X for web **does not use cookies** for storing data. The
|
|
14
13
|
[Interface X Components](readme.md#interface-x-and-interface-x-for-apps-the-solution) use the web browser's local storage to save the technical data
|
|
15
14
|
required to provide the services associated with the search & discovery experience. The data remains
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@empathyco/x-components",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.199",
|
|
4
4
|
"description": "Empathy X Components",
|
|
5
5
|
"author": "Empathy Systems Corporation S.L.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -136,5 +136,5 @@
|
|
|
136
136
|
"access": "public",
|
|
137
137
|
"directory": "dist"
|
|
138
138
|
},
|
|
139
|
-
"gitHead": "
|
|
139
|
+
"gitHead": "73d3c1c9481f8d2bb82947932c40549f14d40023"
|
|
140
140
|
}
|