@empathyco/x-components 3.0.0-alpha.145 → 3.0.0-alpha.146

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 CHANGED
@@ -3,6 +3,19 @@
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.146](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.145...@empathyco/x-components@3.0.0-alpha.146) (2022-08-03)
7
+
8
+ ### Documentation
9
+
10
+ - bring functional docs from eDocs project (#630)
11
+ ([27e6dd6](https://github.com/empathyco/x/commit/27e6dd646084983c37fc52894dc95544253405d5)),
12
+ closes [EX-6237](https://searchbroker.atlassian.net/browse/EX-6237)
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
+
6
19
  ## [3.0.0-alpha.145](https://github.com/empathyco/x/compare/@empathyco/x-components@3.0.0-alpha.144...@empathyco/x-components@3.0.0-alpha.145) (2022-08-01)
7
20
 
8
21
  ### Documentation
@@ -407,79 +407,6 @@
407
407
  [dir="rtl"] .x-dropdown--right .x-dropdown__items-list {
408
408
  left: 0;
409
409
  }
410
- :root {
411
- --x-size-border-radius-dropdown-default: var(--x-size-border-radius-base-none);
412
- --x-size-border-radius-top-left-dropdown-default: var(--x-size-border-radius-dropdown-default);
413
- --x-size-border-radius-top-right-dropdown-default: var(--x-size-border-radius-dropdown-default);
414
- --x-size-border-radius-bottom-right-dropdown-default: var(
415
- --x-size-border-radius-dropdown-default
416
- );
417
- --x-size-border-radius-bottom-left-dropdown-default: var(--x-size-border-radius-dropdown-default);
418
- --x-size-border-width-dropdown-toggle-default: var(--x-size-border-width-base);
419
- --x-size-border-width-top-dropdown-toggle-default: var(
420
- --x-size-border-width-dropdown-toggle-default
421
- );
422
- --x-size-border-width-right-dropdown-toggle-default: var(
423
- --x-size-border-width-dropdown-toggle-default
424
- );
425
- --x-size-border-width-bottom-dropdown-toggle-default: var(
426
- --x-size-border-width-dropdown-toggle-default
427
- );
428
- --x-size-border-width-left-dropdown-toggle-default: var(
429
- --x-size-border-width-dropdown-toggle-default
430
- );
431
- --x-size-border-width-dropdown-list-default: var(--x-size-border-width-base);
432
- --x-size-border-width-top-dropdown-list-default: 0;
433
- --x-size-border-width-right-dropdown-list-default: var(
434
- --x-size-border-width-dropdown-list-default
435
- );
436
- --x-size-border-width-bottom-dropdown-list-default: var(
437
- --x-size-border-width-dropdown-list-default
438
- );
439
- --x-size-border-width-left-dropdown-list-default: var(
440
- --x-size-border-width-dropdown-list-default
441
- );
442
- --x-color-border-dropdown-toggle-default: var(--x-color-base-neutral-95);
443
- --x-color-border-dropdown-list-default: var(--x-color-border-dropdown-toggle-default);
444
- --x-color-background-dropdown-default: var(--x-color-base-neutral-100);
445
- --x-color-background-dropdown-toggle-default: var(--x-color-base-neutral-100);
446
- --x-color-background-dropdown-toggle-open-default: var(
447
- --x-color-background-dropdown-toggle-default
448
- );
449
- --x-color-background-dropdown-item-default-selected: var(--x-color-base-neutral-95);
450
- --x-color-background-dropdown-item-default-hover: var(--x-color-base-neutral-95);
451
- --x-color-text-dropdown-default: var(--x-color-text-default);
452
- --x-color-text-dropdown-toggle-default: var(--x-color-text-dropdown-default);
453
- --x-color-text-dropdown-toggle-default-selected: var(--x-color-base-neutral-35);
454
- --x-color-text-dropdown-item-default-hover: var(--x-color-base-neutral-35);
455
- --x-color-text-dropdown-item-default-selected: var(--x-color-text-default);
456
- --x-font-family-dropdown-default: var(--x-font-family-text);
457
- --x-size-font-dropdown-default: var(--x-size-font-text);
458
- --x-size-line-height-dropdown-default: var(--x-size-line-height-text);
459
- --x-number-font-weight-dropdown-default: var(--x-number-font-weight-base-regular);
460
- --x-number-font-weight-dropdown-item-default-hover: var(--x-number-font-weight-base-bold);
461
- --x-number-font-weight-dropdown-item-default-selected: var(--x-number-font-weight-base-regular);
462
- --x-font-decoration-dropdown-item-default-hover: none;
463
- --x-font-decoration-dropdown-item-default-selected: none;
464
- --x-size-width-dropdown-toggle-default: 100%;
465
- --x-size-min-width-dropdown-list-default: 100%;
466
- --x-size-gap-dropdown-default: 0;
467
- --x-size-padding-top-dropdown-toggle-default: var(--x-size-padding-top-dropdown-item-default);
468
- --x-size-padding-right-dropdown-toggle-default: var(--x-size-padding-right-dropdown-item-default);
469
- --x-size-padding-bottom-dropdown-toggle-default: var(
470
- --x-size-padding-bottom-dropdown-item-default
471
- );
472
- --x-size-padding-left-dropdown-toggle-default: var(--x-size-padding-left-dropdown-item-default);
473
- --x-size-padding-vertical-dropdown-list-default: 0;
474
- --x-size-padding-top-dropdown-item-default: var(--x-size-base-04);
475
- --x-size-padding-right-dropdown-item-default: var(--x-size-base-05);
476
- --x-size-padding-bottom-dropdown-item-default: var(--x-size-base-04);
477
- --x-size-padding-left-dropdown-item-default: var(--x-size-base-05);
478
- --x-size-gap-dropdown-item-default: var(--x-size-base-03);
479
- --x-string-box-shadow-dropdown-default: none;
480
- --x-string-overflow-dropdown-toggle-default: hidden;
481
- --x-string-overflow-dropdown-list-default: hidden;
482
- }
483
410
  :root {
484
411
  --x-color-background-facet-default: transparent;
485
412
  --x-color-border-facet-default: var(--x-color-background-facet-default);
@@ -2906,4 +2833,77 @@
2906
2833
  --x-size-line-height-base-s: 16px;
2907
2834
  --x-size-line-height-base-m: 24px;
2908
2835
  --x-size-line-height-base-l: 32px;
2836
+ }
2837
+ :root {
2838
+ --x-size-border-radius-dropdown-default: var(--x-size-border-radius-base-none);
2839
+ --x-size-border-radius-top-left-dropdown-default: var(--x-size-border-radius-dropdown-default);
2840
+ --x-size-border-radius-top-right-dropdown-default: var(--x-size-border-radius-dropdown-default);
2841
+ --x-size-border-radius-bottom-right-dropdown-default: var(
2842
+ --x-size-border-radius-dropdown-default
2843
+ );
2844
+ --x-size-border-radius-bottom-left-dropdown-default: var(--x-size-border-radius-dropdown-default);
2845
+ --x-size-border-width-dropdown-toggle-default: var(--x-size-border-width-base);
2846
+ --x-size-border-width-top-dropdown-toggle-default: var(
2847
+ --x-size-border-width-dropdown-toggle-default
2848
+ );
2849
+ --x-size-border-width-right-dropdown-toggle-default: var(
2850
+ --x-size-border-width-dropdown-toggle-default
2851
+ );
2852
+ --x-size-border-width-bottom-dropdown-toggle-default: var(
2853
+ --x-size-border-width-dropdown-toggle-default
2854
+ );
2855
+ --x-size-border-width-left-dropdown-toggle-default: var(
2856
+ --x-size-border-width-dropdown-toggle-default
2857
+ );
2858
+ --x-size-border-width-dropdown-list-default: var(--x-size-border-width-base);
2859
+ --x-size-border-width-top-dropdown-list-default: 0;
2860
+ --x-size-border-width-right-dropdown-list-default: var(
2861
+ --x-size-border-width-dropdown-list-default
2862
+ );
2863
+ --x-size-border-width-bottom-dropdown-list-default: var(
2864
+ --x-size-border-width-dropdown-list-default
2865
+ );
2866
+ --x-size-border-width-left-dropdown-list-default: var(
2867
+ --x-size-border-width-dropdown-list-default
2868
+ );
2869
+ --x-color-border-dropdown-toggle-default: var(--x-color-base-neutral-95);
2870
+ --x-color-border-dropdown-list-default: var(--x-color-border-dropdown-toggle-default);
2871
+ --x-color-background-dropdown-default: var(--x-color-base-neutral-100);
2872
+ --x-color-background-dropdown-toggle-default: var(--x-color-base-neutral-100);
2873
+ --x-color-background-dropdown-toggle-open-default: var(
2874
+ --x-color-background-dropdown-toggle-default
2875
+ );
2876
+ --x-color-background-dropdown-item-default-selected: var(--x-color-base-neutral-95);
2877
+ --x-color-background-dropdown-item-default-hover: var(--x-color-base-neutral-95);
2878
+ --x-color-text-dropdown-default: var(--x-color-text-default);
2879
+ --x-color-text-dropdown-toggle-default: var(--x-color-text-dropdown-default);
2880
+ --x-color-text-dropdown-toggle-default-selected: var(--x-color-base-neutral-35);
2881
+ --x-color-text-dropdown-item-default-hover: var(--x-color-base-neutral-35);
2882
+ --x-color-text-dropdown-item-default-selected: var(--x-color-text-default);
2883
+ --x-font-family-dropdown-default: var(--x-font-family-text);
2884
+ --x-size-font-dropdown-default: var(--x-size-font-text);
2885
+ --x-size-line-height-dropdown-default: var(--x-size-line-height-text);
2886
+ --x-number-font-weight-dropdown-default: var(--x-number-font-weight-base-regular);
2887
+ --x-number-font-weight-dropdown-item-default-hover: var(--x-number-font-weight-base-bold);
2888
+ --x-number-font-weight-dropdown-item-default-selected: var(--x-number-font-weight-base-regular);
2889
+ --x-font-decoration-dropdown-item-default-hover: none;
2890
+ --x-font-decoration-dropdown-item-default-selected: none;
2891
+ --x-size-width-dropdown-toggle-default: 100%;
2892
+ --x-size-min-width-dropdown-list-default: 100%;
2893
+ --x-size-gap-dropdown-default: 0;
2894
+ --x-size-padding-top-dropdown-toggle-default: var(--x-size-padding-top-dropdown-item-default);
2895
+ --x-size-padding-right-dropdown-toggle-default: var(--x-size-padding-right-dropdown-item-default);
2896
+ --x-size-padding-bottom-dropdown-toggle-default: var(
2897
+ --x-size-padding-bottom-dropdown-item-default
2898
+ );
2899
+ --x-size-padding-left-dropdown-toggle-default: var(--x-size-padding-left-dropdown-item-default);
2900
+ --x-size-padding-vertical-dropdown-list-default: 0;
2901
+ --x-size-padding-top-dropdown-item-default: var(--x-size-base-04);
2902
+ --x-size-padding-right-dropdown-item-default: var(--x-size-base-05);
2903
+ --x-size-padding-bottom-dropdown-item-default: var(--x-size-base-04);
2904
+ --x-size-padding-left-dropdown-item-default: var(--x-size-base-05);
2905
+ --x-size-gap-dropdown-item-default: var(--x-size-base-03);
2906
+ --x-string-box-shadow-dropdown-default: none;
2907
+ --x-string-overflow-dropdown-toggle-default: hidden;
2908
+ --x-string-overflow-dropdown-list-default: hidden;
2909
2909
  }
@@ -1144,10 +1144,6 @@
1144
1144
  --x-size-width-icon-default: var(--x-size-width-icon-xl);
1145
1145
  --x-size-height-icon-default: var(--x-size-height-icon-xl);
1146
1146
  }
1147
- :root {
1148
- --x-size-width-icon-xl: var(--x-size-base-07);
1149
- --x-size-height-icon-xl: var(--x-size-base-07);
1150
- }
1151
1147
  .x-input-group--card.x-input-group,
1152
1148
  .x-input-group--card .x-input-group {
1153
1149
  --x-size-border-radius-input-group-default: var(--x-size-border-radius-input-group-card);
@@ -7593,3 +7589,8 @@
7593
7589
  .x-normal-case {
7594
7590
  text-transform: none;
7595
7591
  }
7592
+
7593
+ :root {
7594
+ --x-size-width-icon-xl: var(--x-size-base-07);
7595
+ --x-size-height-icon-xl: var(--x-size-base-07);
7596
+ }
@@ -0,0 +1,119 @@
1
+ ---
2
+ title: Experience search & discovery
3
+ ---
4
+
5
+ # Experience search & discovery
6
+
7
+ Search inevitably is key when people look for specific products in an online store. It is the door
8
+ to the entire product catalogue, so having an outstanding, well-structured, and optimized search UI
9
+ is a must.
10
+
11
+ However, it’s not enough. With the advanced features provided by some well-known search engines,
12
+ shoppers need a new dimension to **connect effortlessly** to the most relevant products, enjoy a
13
+ **smooth user experience**, and take advantage of **outstanding search and discovery capabilities**.
14
+
15
+ <img :src="$withBase('/assets/media/intro_experience_and_search.svg')" alt="Experience search and discovery">
16
+ <br/>
17
+
18
+ ## Interface X and Interface X for Apps, the solution
19
+
20
+ Interface&nbsp;X and Interface&nbsp;X for Apps are a collection of libraries that lets you create a
21
+ smooth, personalized search and discovery experience, while significantly minimizing development
22
+ time. Interface&nbsp;X, and its version for native apps, will renew your search experience interface
23
+ layer, rendering the magic of search and delighting your shoppers with all experiences in one:
24
+ **user**, **search**, **navigation**, and **product discovery**.
25
+
26
+ There are many things to think about when designing a UI for search and discovery to provide a
27
+ consistent user experience and look-and-feel: every little design element, the layout structure,
28
+ animation, component, configuration, and behavior count. Interface&nbsp;X and Interface&nbsp;X for
29
+ Apps cover everything and even go beyond, thanks to their standalone, configurable building blocks
30
+ that allow you to quickly construct the search UI for your store:
31
+ **Interface&nbsp;X&nbsp;Components** and **Interface&nbsp;X&nbsp;Components for Apps**.
32
+
33
+ **Mix and match your experience** Each X&nbsp;Component represents a graphical part of the UI, with
34
+ its own unique view and behavior. They’ve been smartly designed to **work together yet
35
+ independently**, so a single component adds real value to your UI by itself. The more components you
36
+ add and combine, the more functionality you get.
37
+
38
+ You can craft your own **UI bundle with the right components for your store**. There are numerous
39
+ X&nbsp;Components to choose from, and the catalogue evolves quickly with new experiences.
40
+
41
+ To help you discover the components and leverage the UI design process, most of the
42
+ X&nbsp;Components are distributed into **modules** which are intended for different purposes:
43
+ functional experience, interface design and behavior, web and design standardization… Just pick and
44
+ choose the modules and components that best suit your needs.
45
+
46
+ ::: details What does X mean?
47
+
48
+ - Lightweight libraries
49
+ - Developer friendly. Quick & easy to install and configure
50
+ - Standalone. Work individually or together
51
+ - Out-of-the-box. Ready to go!
52
+ - In your pocket. Multiple components at your disposal
53
+ - Mix & match. Customize to satisfy any design or behavior requirement
54
+ - Mobile-ready. Designed both for web and native apps
55
+ - Adapt to different search services
56
+ - Easy-to-use. Intuitive search and discovery :::
57
+
58
+ ## Try X Components to…
59
+
60
+ - Surprise your shoppers by **rendering shopping-aimed search and discovery features** that
61
+ intuitively guide and inspire them with trends, suggestions, and recommendations, based on your
62
+ shoppers’ behavior.
63
+ - Add a **predictive layer** to your search UI that gathers all search functionalities in one, from
64
+ autocomplete and autosuggest to ideas of what to look for next.
65
+ - Delight your shoppers with an **elegant and multi-configurable SERP** to help them discover what
66
+ they’re exactly looking for.
67
+ - Enhance the shopping experience by adding **additional features to the SERP** such as add-to-cart
68
+ buttons or product rating information.
69
+
70
+ :::warning Some X&nbsp;Components are supported by Empathy Platform search and discovery features.
71
+ If you’re using a different search engine, make sure it supports all the functionalities you need.
72
+ :::
73
+
74
+ ::: interact Explore the Empathy Platform
75
+ [interactive map](/explore-empathy-platform/diagram/interface/) for a sneak peak of the
76
+ X&nbsp;Components available! :::
77
+
78
+ ---
79
+
80
+ ## Discover Interface X Components
81
+
82
+ Check out these X&nbsp;Components for Vue.js applications. They’ll certainly come in handy if you
83
+ want to make the difference!
84
+
85
+ <CardCarousel :cards="[
86
+ 'x_popular_searches',
87
+ 'x_history_queries',
88
+ 'x_id_results',
89
+ 'x_search_box',
90
+ 'x_query_suggestions',
91
+ 'x_related_tags',
92
+ 'x_next_queries',
93
+ 'x_recommendations',
94
+ 'x_empathize',
95
+ 'x_results',
96
+ 'x_facets']"
97
+ />
98
+
99
+ ::: note Check out the **Interface X for web [open-source project](https://github.com/empathyco/x)**
100
+ on GitHub! :::
101
+
102
+ ---
103
+
104
+ ## Discover Interface X Components for Apps
105
+
106
+ Check out the X&nbsp;Components available for Interface&nbsp;X for Apps, that can help you create
107
+ your native app search solution.
108
+
109
+ <CardCarousel :cards="[
110
+ 'x_popular_searches',
111
+ 'x_history_queries',
112
+ 'x_id_results',
113
+ 'x_search_box',
114
+ 'x_query_suggestions',
115
+ 'x_related_tags',
116
+ 'x_next_queries',
117
+ 'x_empathize',
118
+ 'x_results',]"
119
+ />
@@ -0,0 +1,102 @@
1
+ ---
2
+ title: Empathize UI
3
+ ---
4
+
5
+ # Empathize
6
+
7
+ Empathize is a UI container, but not just any container. It’s the
8
+ **[predictive layer](/explore-empathy-platform/overview/predictive-layer.md)** for your search
9
+ experience that is usually displayed below the search box. Consider it the natural companion of the
10
+ **[search box](search-box.md)**, featuring search suggestions and recommendations.
11
+
12
+ ![Empathize](/assets/media/xcomponents_func_empathize.gif)
13
+
14
+ **Placement matters** One of the characteristics of X&nbsp;Components is that you can place them
15
+ wherever you want. However, you know that the placement of the search box in your shop matters. So,
16
+ why have search suggestions and recommendations spread all over the page, far away from the search
17
+ box? The Empathize container brings everything together so that your shoppers perceive a smooth,
18
+ effortless search experience.
19
+
20
+ ## Use Empathize with...
21
+
22
+ Being the face of your predictive layer, Empathize comes into play before the search process starts
23
+ and only makes sense when used with other components.
24
+
25
+ Thanks to the nature of X&nbsp;Components, you can mix and match the components you use within
26
+ Empathize. For example, provide shoppers with search ideas and use Empathize to display popular
27
+ search terms and trending products. Or anticipate your shoppers’ intent with recent searches and
28
+ query suggestions. There are lots of handy possibilities that you might want to place close to the
29
+ search box.
30
+
31
+ **Combine Empathize with:**
32
+
33
+ - [Popular Searches](popular-searches.md)
34
+ - [Recommendations](recommendations.md)
35
+ - [History Queries](history-queries.md)
36
+ - [Query Suggestions](query-suggestions.md)
37
+
38
+ ## How it works...
39
+
40
+ Empathize is an event-driven component. It is determined by events that make it react to shoppers'
41
+ actions, such as clicks or keystrokes. That is the Empathize magic; the component listens by default
42
+ to some events to expand the container and others to collapse it. However, this behavior is
43
+ configurable.
44
+
45
+ The Empathize container expands when:
46
+
47
+ - The search box is focused.
48
+ - The shopper clicks on the input field.
49
+ - A query is being typed.
50
+
51
+ Likewise, the Empathize closes when:
52
+
53
+ - The shopper closes the Empathize layer.
54
+ - A query suggestion is selected.
55
+ - The shopper presses Enter.
56
+ - The search box loses focus.
57
+
58
+ Also, it can listen to scroll events to expand and collapse the layer when shoppers scroll up or
59
+ down.
60
+
61
+ ### Extend the performance
62
+
63
+ The Empathize container is collapsible so that it expands and collapses on shopper interaction. By
64
+ default, this behaviour matches the search input focus: clicking the search input expands the
65
+ Empathize container. Likewise, if the search input loses focus, e.g. the shopper clicks on a
66
+ suggestion and launches the search, the Empathize container disappears.
67
+
68
+ Alternatively, combine Empathize with one of the scroll components to make it react to scroll in
69
+ addition to or replacing the search box focus. You may prefer to make it more accessible with the
70
+ Keyboard Navigation component. Your shoppers can navigate the components in Empathize with the
71
+ keyboard arrow keys.
72
+
73
+ <!--
74
+ **Enhance Empathize usability with...**
75
+ - Keyboard scroll
76
+ - Keyboard navigation
77
+ -->
78
+
79
+ <!--link to keyboard navigation components when available-->
80
+
81
+ ## Spot the difference
82
+
83
+ Here, Empathize is the **predictive layer** holding the advanced search capabilities built in the
84
+ back. However, in backend terms, Empathize is an Empathy Platform service, fed by a **batch
85
+ application**, that uses the interaction data collected by the
86
+ [Tagging microservices](/explore-empathy-platform/capture-shopper-interaction/) to build advanced
87
+ search capabilities, such as Query Suggestions and Popular Searches. Don’t get confused!
88
+
89
+ ## Tailor the web experience
90
+
91
+ - Customize content. Display whatever search-related suggestion components you need.
92
+ - Determine when Empathize appears and disappears.
93
+ - Animate how the component opens and closes.
94
+
95
+ ::: interact Want to know more? Learn how to [configure](/empathy-for-developers/ui-reference/) your
96
+ web experience. :::
97
+
98
+ <!---
99
+ ::: note
100
+ To see Empathize in action, play with our showcase.
101
+ :::
102
+ --->
@@ -0,0 +1,138 @@
1
+ ---
2
+ title: Facets & Filters UI
3
+ ---
4
+
5
+ # Facets & Filters UI
6
+
7
+ Facets and Filters allow your shoppers to organize your product catalogue in different categories
8
+ and narrow the search results to better find what they are looking for. Shoppers can set filters
9
+ according to the categories or facets defined in the faceted menu, which is usually located on the
10
+ left or upper side of the search engine results page or product listing page.
11
+
12
+ <img :src="$withBase('/assets/media/x-components_func_facets.gif')" alt="Facets"> <br>
13
+
14
+ X&nbsp;Components for facets present how you have categorized your products, displaying the
15
+ different aspects available (brand, price, color…), while the filter-related components render the
16
+ values for those aspects that shoppers can use to filter by ("Nestlé", "Kellogg’s" for _brand_;
17
+ “€0 - €10”, “€10 - €50” for _price_; “blue”, “black”, “white” for _color_), allowing you to
18
+ determine how to display them.
19
+
20
+ <!--Originally, the X&nbsp;Components for facets and filters were designed for **search**. However,
21
+ since they can precisely organize and filter your product catalogue to bring out the products that
22
+ best fit your shoppers’ needs, you can also use them for **catalogue navigation** and **product
23
+ discovery**. You can guide shoppers through your product catalogue faster, allowing them to navigate
24
+ and browse different product classifications directly from the faceted menu in your shop, without
25
+ having to search.-->
26
+
27
+ ::: interact Can't quite capture the concept? Learn more about
28
+ [Facets and Filters](../overview/facets-and-filters-overview.md). :::
29
+
30
+ ## Build a faceted experience with X Components
31
+
32
+ There is no need to reinvent the wheel to design a good faceting experience, but rather it’s better
33
+ to understand the shopper’s journey and the frontend options available.
34
+
35
+ Facets and filters can display as different UI element types (select list, search, range…) using the
36
+ numerous X&nbsp;Components available. Flexibly combine X&nbsp;Components to build the connection
37
+ with the product attributes in your catalogue. **Guide** shoppers towards relevant results in record
38
+ time, giving them the opportunity to establish a **dialogue** with your product catalogue and easily
39
+ decide what results to display by adding and clearing filters, or make information on product
40
+ results **clearer and more accessible**, meeting different types of faceting layouts.
41
+
42
+ <img :src="$withBase('/assets/media/x-components_func_facets.png')" alt="Facets" />
43
+
44
+ :::details Rendering facets and filters
45
+
46
+ X&nbsp;Components for facets and filters not only enhances your shoppers’ experience by supporting
47
+ and rendering faceted search and navigation, but also provides different ways to display a faceted
48
+ experience:
49
+
50
+ </br>
51
+
52
+ - **Standard facets**: a single-select list that offers a way to describe a product attribute,
53
+ together with the values available to filter by. For example, a _Color_ facet can include values
54
+ such as “red”, “blue”, “white”, “black”, or “green”.
55
+ - **Hierarchical facets**: present filter values organized hierarchically, providing a parent-child
56
+ filtering relationship. Shoppers can filter using the parent subfacet or choose the child subfacet
57
+ as a more precise filter. For example, the _Category_ facet in a jewellery store can display
58
+ “Button”, “Short”, and “Long” as child filters for the “Earrings” parent filter.
59
+ - **Number range facets**: allow shoppers to select a range of numerical values and narrow the
60
+ results within those ranges. Intended for price or size facets that have numeric value type
61
+ attributes. For example, the _Price_ facet in a grocery store can display “< €0.99”, “€1 – €4.99”,
62
+ “€5 – €9.99”, or “€10 – €19.99”. Implement **editable number range facets** and let your shoppers
63
+ define the numerical ranges they want to filter by. Shoppers can type the desired price range to
64
+ filter by in the _From_ - _To_ or _Min_ - _Max_ input fields available. :::
65
+
66
+ :::details Extending facets and filters UI
67
+
68
+ Apart from the main X&nbsp;Components for facets and filters that render product categories and
69
+ their corresponding attributes in different ways, there are components available offering advanced
70
+ options to enhance the faceted experience.
71
+
72
+ </br>
73
+
74
+ - **Collapse & expand** to initially display facets collapsed on page load with a predetermined
75
+ number of filter values. Use a Show more button to expand the full list.
76
+ - **Search box** to perform a text-based search on the filter values so that shoppers quickly find
77
+ the filters to apply to the results set.
78
+ - **Selected filters list** to keep track of the shopper’s selection and understand the results
79
+ displayed. Selected filters can be displayed together under the same list or be organized by
80
+ facets. Shoppers can deselect any of the previously applied filters or clear all at once to try
81
+ different filtering values.
82
+ - **Selected filters first** to change the order in which filters are initially displayed within a
83
+ facet so that the selected filters come first in the list. Note that the order of facets and
84
+ filters is determined by your Search microservice, usually showing the filters with the highest
85
+ number of products.
86
+ - **Product count** to display the number of matches or occurrences next to the facet filter.
87
+ Shoppers can instantly see how many products each filter contains, offering a valuable insight on
88
+ your product catalog.
89
+ - **Zero count** to only display filter values for those filters that **match a product result**,
90
+ omitting all those filters that have zero occurrences. For example, the query “skirts” in a retail
91
+ shop returns a large number of results for women and kids, but none for men. In this case, the
92
+ _Category_ facet only displays the filters “Woman”, “Girl”, and “Baby”.
93
+
94
+ </br>
95
+
96
+ Besides, you can use X&nbsp;Components to customize other attributes and behaviors. Transform a
97
+ value returned from the Search microservice of “20 - 50” into “€20 - €50” or turn a numerical value
98
+ into icons or images such as stars for average rating-based filtering, for example.
99
+
100
+ </br>
101
+
102
+ You can also change the default single-select behavior and activate **multi-select** controls so
103
+ that shoppers can select more than one filter value at a time from the same facet to expand results.
104
+ :::
105
+
106
+ ## Tailor the web experience
107
+
108
+ **Layout, location, and display**:
109
+
110
+ - Place the facets menu wherever you prefer. However, facets are commonly positioned in the left
111
+ sidebar or as top horizontal facets.
112
+ - Hide or show the facets & filter menu when search results are displayed. Display facets and
113
+ filters as collapsed lists at first.
114
+ - Animate the display of different elements: facets, filters, and related lists (e.g. selected
115
+ filters list).
116
+ - Build the layout of facets and filters at your ease: from dropdowns and checkboxes to switches,
117
+ tags, and sliders.
118
+
119
+ **Data and content**:
120
+
121
+ - Select which facets defined in your product catalogue you want to display according to your
122
+ business strategy or your shoppers’ needs.
123
+ - Configure the content of filters. Allow shoppers to filter results using text, icons, or
124
+ checkboxes.
125
+ - Configure the content of related buttons (e.g. Show more button). Show whatever you need: text or
126
+ icons.
127
+ - Customize labels in the facets and filters list. Add a custom title for facets, filters, and
128
+ related lists (e.g. selected filters list).
129
+ - Customize facet data at your ease. You can opt to render facets defined in your product catalogue
130
+ automatically, display custom facets, or even render a mix of them.
131
+
132
+ ::: warning Make sure your current Search microservice is compatible with this kind of
133
+ configuration. :::
134
+
135
+ ::: interact Want to know more? Learn how to [configure](/develop-empathy-platform/ui-reference/)
136
+ your web experience. :::
137
+
138
+ [//]: # 'To see Facets and Filters in action, play with our showcase'
@@ -0,0 +1,56 @@
1
+ ---
2
+ title: History Queries UI
3
+ ---
4
+
5
+ # History Queries UI
6
+
7
+ The History Queries UI component displays the search history, allowing shoppers to check previous
8
+ searches and revisit products they’ve viewed before in a few clicks.
9
+
10
+ ![History Queries](/assets/media/xcomponents_func_historyqueries.gif)
11
+
12
+ ::: interact Can't quite capture the concept? Learn more about
13
+ [History Queries](../features/history-queries-overview.md).
14
+ :::
15
+
16
+ ## Tailor the web experience
17
+
18
+ - Configure the position and place it wherever you prefer. Combine it with the
19
+ [Empathize](empathize.md) container to display suggestions under the search bar on shopper
20
+ interaction.
21
+ - Show as many history suggestions as you want.
22
+ - Choose the number of search records to store in the browser’s local storage to refresh the history
23
+ list.
24
+ - Animate the display of History Queries at your ease.
25
+ - Customize content. Show whatever you need: text, images, icons.
26
+ - Display History Queries only from successful searches. No result, no search record stored. (Search
27
+ X module required.)
28
+ - Configure clear buttons at your convenience. Let shoppers clear previous searches one-by-one,
29
+ all-at-once, or either way.
30
+ - Display only the refined queries to match shopper intent. For example, if “dress” is the initial
31
+ search, and it’s narrowed down using “long dress”, the history queries list only displays “long
32
+ dress” since it represents the shopper’s real intention.
33
+
34
+ ::: interact
35
+ Want to know more? Learn how to [configure](/develop-empathy-platform/ui-reference/) your web
36
+ experience.
37
+ :::
38
+
39
+ ## Extend the performance
40
+
41
+ You can extend search history performance by combining it with the [Next Queries](next-queries.md)
42
+ component. All suggestions for shoppers about what to look next can be filtered against the
43
+ shopper’s search history so that only those suggestions that haven’t been used before in that
44
+ session will display.
45
+
46
+ [//]: # 'Link only when available to Search module page in UI reference'
47
+
48
+ Combine History Queries with the Search X module to ease shoppers' frustrations. That way, you can
49
+ configure it to display only successful history searches.
50
+
51
+ [//]:
52
+ #
53
+ 'TIP: To know more about which data is stored in the browser’s data storage, read [page title to be defined].'
54
+ [//]:
55
+ #
56
+ 'To see History Queries in action, [play with our interactive examples](/develop-empathy-platform/ui-reference/history-queries/history-queries.md#see-it-in-action'
@@ -0,0 +1,40 @@
1
+ ---
2
+ title: ID Results UI
3
+ ---
4
+
5
+ # ID Results UI
6
+
7
+ The Identifier Results UI component presents a type of search results intended for product reference
8
+ codes. When shoppers start typing, a reference code query type is detected, and a list displays
9
+ instantly with query-matching product results. When shoppers select an identifier result hint from
10
+ the list, they go directly to the product detail page (PDP).
11
+
12
+ <img :src="$withBase('/assets/media/xcomponents_func_idresults.gif')" alt="ID Results">
13
+
14
+ :::warning
15
+
16
+ ID Results are generated using a Search service that searches the product catalogue by ID. For a
17
+ correct performance, make sure that your current search service supports this type of feature. :::
18
+
19
+ ::: interact
20
+
21
+ Don't quite understand ID results? Learn more about
22
+ [ID Results](../features/id-results-overview.md). :::
23
+
24
+ ## Tailor the web experience
25
+
26
+ - Configure the position and place it wherever you prefer. Combine it with the
27
+ [Empathize](empathize.md) container display the ID Results below the search bar on shopper
28
+ interaction.
29
+ - Show as many ID Results as you want.
30
+ - Animate the display of ID Results at your ease.
31
+ - Customize content. Show whatever you need: text, images, icons.
32
+ - Extend the performance with [results-related components](results-display.md).
33
+ - Meet your own code reference conventions and standards with multiple product reference patterns.
34
+
35
+ ::: interact Want to know more? Learn how to [configure](/develop-empathy-platform/ui-reference/)
36
+ your web experience.
37
+
38
+ :::
39
+
40
+ <!-- (To see Identifier Results in action, play with our interactive examples) -->
@@ -0,0 +1,52 @@
1
+ ---
2
+ title: Next Queries UI
3
+ ---
4
+
5
+ # Next Queries UI
6
+
7
+ The Next Queries UI component provides shoppers with ideas on what to search for next based on their
8
+ last search. Since next queries are related to the last query, they appear after performing a first
9
+ search.
10
+
11
+ ![Next Queries](/assets/media/xcomponents_func_nextqueries.gif)
12
+
13
+ Next queries can be **organic**, using information on the most common searches that are performed
14
+ successively or within a same session by shoppers, or **curated**, created manually by the
15
+ merchandiser in the Empathy Platform Playboard.
16
+
17
+ :::warning Organic next queries are generated using collective shopper behavior to identify query
18
+ pairs that have been used together. For a correct performance, make sure that your current search
19
+ service supports this feature. :::
20
+
21
+ ::: interact Can't quite capture the concept? Learn about
22
+ [Next Queries](../features/next-queries-overview.md). :::
23
+
24
+ ## Tailor the web experience
25
+
26
+ - Configure the position and place it wherever you prefer, although next queries usually display
27
+ below the search bar after the initial search.
28
+ - Show as many next queries as you want.
29
+ - Animate the display of next queries at your ease.
30
+ - Customize content. Show whatever you need: text, images, icons.
31
+ - Display curated next queries differently to organic next queries.
32
+
33
+ ::: interact Want to know more? Learn how to
34
+ [configure](/develop-empathy-platform/ui-reference/components/next-queries) your web experience. :::
35
+
36
+ ::: design
37
+
38
+ Read how Empathy UX designer, Marlety García, designed the Next Queries experience for one of our
39
+ customers in the post
40
+ [Popular Next Queries: Towards a conversational search](https://empathy.co/blog/popular-next-searches/).
41
+
42
+ :::
43
+
44
+ ## Extend the performance
45
+
46
+ You can combine Next Queries with the [History Queries](history-queries.md) component to display
47
+ next queries that shoppers haven't already used in the session.
48
+
49
+ :::warning To display only new next queries, the
50
+ [History Queries](../../search/history-queries-overview.md) feature must be implemented. :::
51
+
52
+ [//]: # 'To see Next Queries in action, [play with our showcase].'
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: Popular Searches UI
3
+ ---
4
+
5
+ # Popular Searches UI
6
+
7
+ The Popular Searches UI component displays what are the top search queries during a specific time.
8
+ This type of suggestion can show up even before shoppers have started entering a query or when there
9
+ are no search results to show.
10
+
11
+ ![Popular Searches](/assets/media/xcomponents_func_popularsearches.gif)
12
+
13
+ :::warning Popular Searches are generated using shopper behavior to determine the top searches for a
14
+ given period. For a correct performance, make sure that your current search service supports this
15
+ type of feature. :::
16
+
17
+ ::: interact Can't quite capture the concept? Learn about
18
+ [Popular Searches](../features/popular-searches-overview.md). :::
19
+
20
+ ## Tailor the web experience
21
+
22
+ - Configure the position and place it wherever you prefer. Combine it with the
23
+ [Empathize](empathize.md) container to display Popular Searches below the search bar on shopper
24
+ interaction.
25
+ - Show as many popular search terms results as you want.
26
+ - Animate the display of Popular Searches at your ease.
27
+ - Customize content. Show whatever you need: text, images, icons.
28
+
29
+ ::: interact Want to know more? Learn how to [configure](/develop-empathy-platform/ui-reference/)
30
+ your web experience. :::
31
+
32
+ [//]: # 'To see Popular Searches in action, play with our showcase'
@@ -0,0 +1,68 @@
1
+ ---
2
+ title: Product results UI
3
+ ---
4
+
5
+ # Product results UI
6
+
7
+ After launching a search, some shoppers may just want to take a quick look around, reviewing only
8
+ product thumbnails and quick info on the SERP. While others will prefer to have a more detailed
9
+ overview of the product results with large and multiple images. That’s why the display of results is
10
+ really issue.
11
+
12
+ Results are rendered thanks to the combination of different X&nbsp;Components. This way, you can
13
+ tailor the display to create the best product discovery experience for your shoppers. Decide the
14
+ elements and product-related information you want to include when displaying product results such as
15
+ the price, a picture, or even an add-to-cart button.
16
+
17
+ ![X Components for results display](/assets/media/overview_product_card.svg)
18
+
19
+ <FootNote>
20
+
21
+ **X&nbsp;Components for results display** <br/> (A) Image, (B) Product information, (C) Price, (D)
22
+ PDP Link, (E) Rating, (F) Add to cart
23
+
24
+ </FootNote>
25
+
26
+ ::: interact To learn more about the display of results, see
27
+ [Product results](/explore-empathy-platform/overview/product-results-overview.md). :::
28
+
29
+ **A bunch of components for comprehensive product information** Decide whether you want to include
30
+ the description for the resulting product, a picture, or even rating information:
31
+
32
+ - **Image**. Include a picture of the product for better product recognition.&nbsp;(A)
33
+ - **Result data and product variants**. Retrieve the information to display about the product –name,
34
+ description, reference, brand, category, season, colors, types, sizes, or any data from your
35
+ catalogue.&nbsp;(B)
36
+ - **Pricing**. Indicate the original price of the product, discounts, and special prices.&nbsp;(C)
37
+ - **Product details**. Link your shoppers to the product detail page (PDP).&nbsp;(D)
38
+ - **Rating**. Show how valued a product is among your shoppers.&nbsp;(E)
39
+ - **Add to cart**. Allow your shoppers to add a product to the cart from the search engine results
40
+ page (SERP), without going through the PDP.&nbsp;(F)
41
+
42
+ :::warning To include rating and add-to-cart options in results, rating and add-to-cart features
43
+ must be implemented in your product catalogue. :::
44
+
45
+ ## Tailor the web experience
46
+
47
+ - Customize content. Choose and display the product-related information available in your catalogue.
48
+ - Add a PDP link to the product name or description, the picture, or to the entire product result.
49
+ - Format the price of products with integers and decimals. Decide the length of decimals or whether
50
+ decimals should be rendered or not.
51
+ - Select the desired currency for prices.
52
+ - Customize the default rendering behavior of pictures when loading or broken.
53
+ - Animate the display of product results.
54
+
55
+ ::: interact Want to know more? Learn how to [configure](/develop-empathy-platform/ui-reference/)
56
+ your web experience. :::
57
+
58
+ ## Extend the performance
59
+
60
+ Traditionally, search results are displayed on the SERP after the query is launched or instantly as
61
+ you type. However, result data is also used by features such as
62
+ [Recommendations](/explore-empathy-platform/experience-search-&-discovery/recommendations.md) and
63
+ [ID Results](/explore-empathy-platform/experience-search-&-discovery/id-results.md). You can combine
64
+ results-related components with these modules to get advanced display options. Include additional
65
+ product information in Recommendations and Identifier Results such as prices and pictures for better
66
+ recognition and understanding of the products displayed.
67
+
68
+ [//]: # 'TIP: To see the product results in action, play with our showcase.'
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: Query Suggestions UI
3
+ ---
4
+
5
+ # Query Suggestions UI
6
+
7
+ The Query Suggestions UI component helps your shoppers with hints of what to look for to get
8
+ relevant results. They complete and nail down the query as shoppers type without needing to keep
9
+ typing.
10
+
11
+ ![Query Suggestions](/assets/media/xcomponents_func_querysuggestions.gif)
12
+
13
+ :::warning Query Suggestions are generated using collective shopper behavior, extracting the
14
+ keywords used on a specific query. For a correct performance, make sure that your current search
15
+ service supports this type of feature. :::
16
+
17
+ ::: interact Can't quite capture the concept? Learn more about
18
+ [Query Suggestions](../features/query-suggestions-overview.md). :::
19
+
20
+ ## Tailor the web experience
21
+
22
+ - Configure the position and place it wherever you prefer. Combine it with the
23
+ [Empathize](empathize.md) container to display suggestions below the search bar on shopper
24
+ interaction.
25
+ - Show as many suggestions as you want.
26
+ - Animate the display of Query Suggestions at your ease.
27
+ - Customize content. Show whatever you need: text, images, icons.
28
+
29
+ ::: interact Want to know more? Learn how to [configure](/develop-empathy-platform/ui-reference/)
30
+ your web experience. :::
31
+
32
+ [//]: # 'To see Query Suggestions in action, play with our showcase'
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: Recommendations UI
3
+ ---
4
+
5
+ # Recommendations UI
6
+
7
+ The Recommendations UI component shows the most clicked products on the SERP, based on shopper
8
+ interaction within a defined period. They help your shoppers to explore your product catalogue,
9
+ guiding them to specific products without the need to launch any queries.
10
+
11
+ <img :src="$withBase('/assets/media/xcomponents_func_recommendations.gif')" alt="Recommendations]">
12
+
13
+ :::warning Recommendations are generated using collective shopper behavior, generating a feed with
14
+ the most clicked products. For a correct performance, make sure that your current search service
15
+ supports this type of feature. :::
16
+
17
+ ::: interact Can't quite capture the concept? Learn more about
18
+ [Recommendations](../search/recommendations-overview.md). :::
19
+
20
+ ## Tailor the web experience
21
+
22
+ - Configure the position and place it wherever you prefer, although they usually appear on the
23
+ results page.
24
+ - Show as many recommendations as you want.
25
+ - Animate the display of the component at your ease.
26
+ - Customize content. Show whatever you need: text, images, icons.
27
+ - Extend the performance with results-related components.
28
+
29
+ ::: interact Want to know more? Learn how to [configure](/develop-empathy-platform/ui-reference/)
30
+ your web experience. :::
31
+
32
+ [//]: # 'TIP To see Recommendations in action, play with our showcase.'
@@ -0,0 +1,41 @@
1
+ ---
2
+ title: Related Tags UI
3
+ ---
4
+
5
+ # Related Tags UI
6
+
7
+ The Related Tags UI component helps your shoppers to refine a specific search query and find what
8
+ they’re looking for with just one click. They only appear after the search process is completed, and
9
+ the results appear to fine-tune the search with extra information and get highly relevant results.
10
+ They are shown as labels usually at the top of the results page, but can be displayed anywhere
11
+ instead.
12
+
13
+ ![Related Tags](/assets/media/xcomponents_func_relatedtags.gif)
14
+
15
+ :::warning Related Tags are generated using collective shopper behavior to identify associated terms
16
+ used to refine a search query. For a correct performance, make sure that your current search service
17
+ supports this type of feature. :::
18
+
19
+ ::: interact Can't quite capture the concept? Learn more about
20
+ [Related Tags](../features/related-tags-overview.md). :::
21
+
22
+ [//]:
23
+ #
24
+ 'You can configure the behaviour 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.'
25
+
26
+ ## Tailor the web experience
27
+
28
+ - Configure the position and place it wherever you prefer, although Related Tags usually appear
29
+ below the search bar after completing the search.
30
+ - Show as many Related Tags as you want.
31
+ - Animate the display of Related Tags at your ease.
32
+ - Customize content. Show whatever you need: text, images, icons.
33
+
34
+ [//]:
35
+ #
36
+ '* Choose if Related Tags are selectable or change the syntax of the initial query in the search box.'
37
+
38
+ ::: interact Want to know more? Learn how to [configure](/develop-empathy-platform/ui-reference/)
39
+ your web experience. :::
40
+
41
+ [//]: # 'tip To see Related Tags in action, play with our showcase'
@@ -0,0 +1,81 @@
1
+ ---
2
+ title: Search Box UI
3
+ ---
4
+
5
+ # Search Box UI
6
+
7
+ The Search&nbsp;Box UI Component is the main entry point for search where shoppers can type what
8
+ they're looking for in your shop. It usually includes an input field, a search button, and a clear
9
+ button.
10
+
11
+ <img :src="$withBase('/assets/media/xcomponents_func_searchbox.svg')" alt="Search Box"> <br>
12
+
13
+ ::: interact Can't quite capture the concept? Learn more about
14
+ [Search Box](../overview/search-box-overview.md). :::
15
+
16
+ It can be combined with other X&nbsp;Components, such as [Query Suggestions](query-suggestions.md)
17
+ or [Next Queries](next-queries.md), to update the query according to shoppers’ intent or
18
+ behaviour. For example, if a shopper selects a query suggestion, the query is instantly updated in
19
+ the input field to the selected suggestion and the search is launched.
20
+
21
+ :::warning To modify the query syntax using
22
+ [Query Suggestions](../features/query-suggestions-overview.md) or
23
+ [Next Queries](../features/next-queries-overview.md), make sure that your current search service
24
+ supports this type of feature. :::
25
+
26
+ ## Power-up behavior
27
+
28
+ Every component has a power-up behavior under the hood that is visible to the user but not glaringly
29
+ obvious. For example, in Interface X Components for web, see what happens when:
30
+
31
+ - _A query with results is **submitted**_:
32
+
33
+ - Results are displayed
34
+ - Related tags are displayed
35
+ - Next queries are displayed
36
+ - The query can be displayed in the History Queries or Query Suggestions lists upon configuration
37
+
38
+ - _A query with results is **cleared** using the clear button_:
39
+
40
+ - Any text in the search input is cleared
41
+ - The results are cleared
42
+ - The query suggestions are cleared
43
+ - The next queries are not cleared
44
+ - The related tags are cleared
45
+ - The searched query is displayed in history queries
46
+
47
+ - _Using **instant search and a query is being typed** that has results_:
48
+
49
+ - No results are displayed before debounce time
50
+ - Results are displayed after debounce time
51
+ - Next queries are displayed after debounce time
52
+ - Related tags are displayed after debounce time
53
+
54
+ - _Using **instant search and modifying the initial query**_:
55
+ - No results related to the second query are displayed before debounce time
56
+ - Results related to the second query are displayed after debounce time
57
+ - Displayed results are different from the previous ones
58
+
59
+ ::: warning Deactivating instant search means History Queries are not updated until the search
60
+ button or Enter key is pressed, since the typed query is not submitted until one of these two
61
+ actions is performed. :::
62
+
63
+ ## Tailor the web experience
64
+
65
+ - Configure the position and place it wherever you prefer.
66
+ - Customize content. Allow shoppers to search or clear their search using text or icons.
67
+ - Determine the number of characters shoppers can enter in the search input.
68
+ - Autofocus the input field when the search&nbsp;box is displayed.
69
+ - Auto-accept the query without the need of using a search button or the Enter key. Determine the
70
+ debounce time to wait before instant search.
71
+ - Configure what will happen after the search is triggered; for example, display Related Tags or
72
+ Next Queries.
73
+
74
+ [//]:
75
+ #
76
+ 'TO BE PUBLISHED IN FUTURE ITERATIONS WHEN THE SEARCH BOX POWER-UP ARE IMPLEMENTED: * Automatically suggest search terms to guide shoppers in constructing their search query. * Prompt shoppers to start their search with animated custom hint messages. '
77
+
78
+ ::: interact Want to know more? Learn how to [configure](/develop-empathy-platform/ui-reference/)
79
+ your web experience. :::
80
+
81
+ [//]: # 'TIP: To see Search Box in action, play with our showcase.'
@@ -0,0 +1,109 @@
1
+ ---
2
+ title: SERP UI
3
+ ---
4
+
5
+ # SERP UI
6
+
7
+ To handle and display search results, the layout of results and other related discovery features is
8
+ paramount. For example, how to arrange results on the SERP or the features shoppers expect to easily
9
+ navigate and organize results are key points to have in mind. <br/>
10
+
11
+ ![X Components for results layout](/assets/media/xcomponents_func_results_layout.svg)
12
+
13
+ <FootNote>
14
+
15
+ **X&nbsp;Components for results layout** <br/> (A) Grid, (B) Number of results, (C) Column Picker,
16
+ (D) Sorting, and (E) Scrolling
17
+
18
+ </FootNote>
19
+ <br/>
20
+
21
+ **Choice of the layout view** Your shoppers should be able to select how they’d like the products
22
+ displayed and how the number of products they’d like to see per page, for example.
23
+
24
+ That’s why the **grid** (A) is the core element of the SERP. It displays the results returned by the
25
+ search service using a grid layout. Its value relies on having a configurable and flexible space to
26
+ place all types of results or even other layout components such as a carousel visualization for
27
+ [Next Queries](next-queries.md) or [Recommendations](recommendations.md).
28
+
29
+ However, the grid is not the only element to consider when designing the SERP:
30
+
31
+ [//]:
32
+ #
33
+ 'To add when ready: Include **pagination** options to browse results throughout the different result pages available or apply **infinite scroll** to ease navigation.'
34
+
35
+ - Show the **number of results** (B).
36
+ - Allow your shoppers to select the **number of columns** (C) to showcase results.
37
+ - Provide a **[sorting system](/explore-empathy-platform/overview/sorting-overview.md)** (D) so that
38
+ your shoppers can arrange results according to different criteria such as relevance, price,
39
+ alphabetical order…
40
+ - Include **[pagination](/explore-empathy-platform/overview/pagination-overview.md)** options to
41
+ browse results throughout the different result pages available or apply infinite scroll to ease
42
+ navigation.
43
+ - Apply **infinite scroll** to ease navigation and add a **scroll-to-top button** (E) to quickly
44
+ move to the top of the results page.
45
+ - Indicate your shoppers whether the
46
+ **[spellcheck](/explore-empathy-platform/features/spellcheck-overview.md)** feature is applied or
47
+ not.
48
+
49
+ ::: note Enhance the search experience, adding [Related Tags](related-tags.md) to the SERP so that
50
+ your shoppers can select descriptive keywords to refine the initial query and get highly relevant
51
+ results. :::
52
+
53
+ ::: design As most shoppers don’t like to spend time scrolling and moving between pages, a crucial
54
+ element on the SERP for a great experience is to offer **faceted search**, letting shoppers specify
55
+ the kind of product attributes they’re interested in. :::
56
+
57
+ ::: interact To learn more about the SERP, results display, and their layout, see
58
+ [Results on the SERP](../overview/results-overview.md). :::
59
+
60
+ ## Tailor the web experience
61
+
62
+ **Grid**
63
+
64
+ - Customize the layout of the results. Decide whether to display results using a grid or the default
65
+ list layout.
66
+ - Configure what to display: product results, promotion banners, promoted results, or even next
67
+ queries and recommendations.
68
+ - Customize the location, style, and content for each type of result.
69
+ - Automatically fill the grid rows with as many columns as it can fit or set the number of columns
70
+ to divide the grid.
71
+ - Indicate the number of product results to render per page.
72
+ - Animate the display of the grid at your ease.
73
+ - Allow your users to select the number of columns to display. Define if your shoppers will be
74
+ provided with a dropdown menu or a list with the columns to pick for the grid.
75
+ - Show the total number of product results displayed. Configure the content with text, images, or
76
+ icons.
77
+
78
+ **Sorting**
79
+
80
+ - Choose and configure the sorting options available. Highlight the selected sorting option.
81
+ - Select the display of the sorting system: dropdown menu or a simple list with the sorting options
82
+ available.
83
+ - Animate the display of the sorting dropdown menu.
84
+ - Set a default sorting option.
85
+ <!-- TBC: Decide which sorting option to display based on product category. -->
86
+
87
+ **Pagination & scrolling**
88
+
89
+ - Customize the content and style for the controls to move between pages.
90
+ - Include an infinite scroll to load more results when reaching the end of the page.
91
+
92
+ **Scrolling to top**
93
+
94
+ - Decide when it will be displayed: when reached a defined threshold or the page end.
95
+ - Configure the position and place it wherever you prefer.
96
+ - Customize content. Show whatever you need: text, images, icons.
97
+ - Animate the display of the scroll-to-top button at your ease.
98
+
99
+ **Spellcheck**
100
+
101
+ - Display a message to inform your shoppers that the
102
+ [spellcheck](../features/spellcheck-overview.md) feature has been used to provide results for the
103
+ current query.
104
+ - Customize the message content at your ease.
105
+
106
+ ::: interact Want to know more? Learn how to [configure](/develop-empathy-platform/ui-reference/)
107
+ your web experience. :::
108
+
109
+ [//]: # 'TIP: To see the SERP-related components in action, play with our showcase.'
@@ -0,0 +1,25 @@
1
+ ---
2
+ title: Interface X data privacy and browser local storage
3
+ tags:
4
+ - x components
5
+ - interface x
6
+ - cookies
7
+ - local storage
8
+ - history queries
9
+ ---
10
+
11
+ # Interface X data privacy and browser local storage
12
+
13
+ Interface&nbsp;X for web _doesn't use cookies_ for storing data. The
14
+ Interface&nbsp;X&nbsp;Components use the web browser's local storage to save the technical data
15
+ required to provide the services associated with the search & discovery experience. The data remains
16
+ in the shopper's device until the expiration time is reached or the shopper chooses to delete it.
17
+
18
+ More specifically, Interface&nbsp;X&nbsp;Components store the following elements in the browser's
19
+ local storage:
20
+
21
+ | Key | Duration | Purpose |
22
+ | ---------------------- | ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
23
+ | `x-session-id` | 30 minutes | Short-term session ID to be sent to the Tagging API. It identifies short sessions in a device. It does not identify individual shoppers in any way. It is required for [Analytics](https://docs.empathy.co/explore-empathy-platform/understand-data-privacy/), [Next Queries](https://docs.empathy.co/explore-empathy-platform/features/history-queries-overview.html), and [Related Tags](https://docs.empathy.co/explore-empathy-platform/features/related-tags-overview.html) features |
24
+ | `x-session-time-stamp` | 30 minutes | Timestamp for the current session ID |
25
+ | `x-history-queries` | Stored until the shopper clears/disables the feature | List of the searches performed that the shopper has chosen to store, which are shown in different steps of the search journey. |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@empathyco/x-components",
3
- "version": "3.0.0-alpha.145",
3
+ "version": "3.0.0-alpha.146",
4
4
  "description": "Empathy X Components",
5
5
  "author": "Empathy Systems Corporation S.L.",
6
6
  "license": "Apache-2.0",
@@ -125,5 +125,5 @@
125
125
  "access": "public",
126
126
  "directory": "dist"
127
127
  },
128
- "gitHead": "425daae064fc399aece12544ec4c57a05494c732"
128
+ "gitHead": "a60a14dfbc744871426d1331892fe2957d8802eb"
129
129
  }
@@ -1,22 +0,0 @@
1
- ---
2
- title: Interface X data privacy and browser local storage
3
- tags:
4
- - x components
5
- - interface x
6
- - cookies
7
- - local storage
8
- - history queries
9
- ---
10
-
11
- # Interface X data privacy and browser local storage
12
-
13
- Interface&nbsp;X for web _doesn't use cookies_ for storing data. The Interface&nbsp;X&nbsp;Components use the web browser's local storage to
14
- save the technical data required to provide the services associated with the search & discovery experience. The data remains in the shopper's device until the expiration time is reached or the shopper chooses to delete it.
15
-
16
- More specifically, Interface&nbsp;X&nbsp;Components store the following elements in the browser's local storage:
17
-
18
- | Key | Duration | Purpose |
19
- | -------------------- | ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
20
- | `x-session-id` | 30 minutes | Short-term session ID to be sent to the Tagging API. It identifies short sessions in a device. It does not identify individual shoppers in any way. It is required for [Analytics](https://docs.empathy.co/explore-empathy-platform/understand-data-privacy/), [Next Queries](https://docs.empathy.co/explore-empathy-platform/features/history-queries-overview.html), and [Related Tags](https://docs.empathy.co/explore-empathy-platform/features/related-tags-overview.html) features |
21
- | `x-session-time-stamp` | 30 minutes | Timestamp for the current session ID |
22
- | `x-history-queries` | Stored until the shopper clears/disables the feature | List of the searches performed that the shopper has chosen to store, which are shown in different steps of the search journey. |