@empathyco/x-components 3.0.0-alpha.30 → 3.0.0-alpha.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (671) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/core/index.js +3 -0
  3. package/core/index.js.map +1 -1
  4. package/design-system/default-theme.css +6 -1
  5. package/design-system/full-theme.css +6 -1
  6. package/design-system/list-default.css +3 -0
  7. package/design-system/suggestion-default.css +3 -1
  8. package/docs/API-reference/api/x-adapter.empathyrelatedtag.md +1 -0
  9. package/docs/API-reference/api/x-adapter.empathyrelatedtag.source.md +11 -0
  10. package/docs/API-reference/api/x-components.defaultsessionservice.clearsessionid.md +2 -0
  11. package/docs/API-reference/api/x-components.defaultsessionservice.getsessionid.md +4 -0
  12. package/docs/API-reference/api/x-components.defaultsessionservice.md +3 -3
  13. package/docs/API-reference/api/x-components.defaultsessionservice.session_id_key.md +3 -1
  14. package/docs/API-reference/api/x-components.featurelocation.md +1 -1
  15. package/docs/API-reference/api/x-components.globalxbus.created.md +15 -0
  16. package/docs/API-reference/api/x-components.globalxbus.md +21 -0
  17. package/docs/API-reference/api/x-components.identifierresultsactions.md +0 -1
  18. package/docs/API-reference/api/x-components.identifierresultsmutations.md +1 -0
  19. package/docs/API-reference/api/x-components.identifierresultsmutations.setparams.md +24 -0
  20. package/docs/API-reference/api/x-components.identifierresultsstate.md +1 -0
  21. package/docs/API-reference/api/x-components.identifierresultsstate.params.md +13 -0
  22. package/docs/API-reference/api/x-components.md +8 -0
  23. package/docs/API-reference/api/x-components.relatedtag.highlightcurated.md +13 -0
  24. package/docs/API-reference/api/x-components.relatedtag.md +1 -0
  25. package/docs/API-reference/api/x-components.relatedtags.highlightcurated.md +13 -0
  26. package/docs/API-reference/api/x-components.setconsent.md +1 -1
  27. package/docs/API-reference/api/x-components.setidentifierresultsextraparams.md +13 -0
  28. package/docs/API-reference/api/x-components.setquerytaggingdebounce.md +1 -1
  29. package/docs/API-reference/api/x-components.setsessionduration.md +1 -1
  30. package/docs/API-reference/api/x-components.snippetcallbacks.md +15 -0
  31. package/docs/API-reference/api/x-components.snippetconfig.callbacks.md +13 -0
  32. package/docs/API-reference/api/x-components.snippetconfig.isspa.md +13 -0
  33. package/docs/API-reference/api/x-components.snippetconfig.md +2 -0
  34. package/docs/API-reference/api/x-components.tagging.activeconsent.md +18 -0
  35. package/docs/API-reference/api/x-components.tagging.consent.md +13 -0
  36. package/docs/API-reference/api/x-components.tagging.md +28 -0
  37. package/docs/API-reference/api/x-components.tagging.render.md +15 -0
  38. package/docs/API-reference/api/x-components.taggingactions.md +7 -0
  39. package/docs/API-reference/api/x-components.taggingactions.track.md +24 -0
  40. package/docs/API-reference/api/x-components.tagicon.md +11 -0
  41. package/docs/API-reference/api/x-components.track.md +13 -0
  42. package/docs/API-reference/api/x-components.trackwire.md +13 -0
  43. package/docs/API-reference/api/x-components.xeventlisteners.md +17 -0
  44. package/docs/API-reference/api/x-components.xeventstypes.md +1 -0
  45. package/docs/API-reference/api/x-components.xeventstypes.snippetcallbackexecuted.md +16 -0
  46. package/docs/API-reference/api/x-types.relatedtag.iscurated.md +13 -0
  47. package/docs/API-reference/api/x-types.relatedtag.md +1 -0
  48. package/docs/API-reference/components/common/animations/x-components.animate-width.md +5 -6
  49. package/docs/API-reference/components/common/animations/x-components.collapse-from-top.md +6 -7
  50. package/docs/API-reference/components/common/animations/x-components.collapse-height.md +7 -8
  51. package/docs/API-reference/components/common/animations/x-components.collapse-width.md +7 -8
  52. package/docs/API-reference/components/common/animations/x-components.cross-fade.md +6 -7
  53. package/docs/API-reference/components/common/animations/x-components.fade-and-slide.md +6 -7
  54. package/docs/API-reference/components/common/animations/x-components.staggered-fade-and-slide.md +7 -8
  55. package/docs/API-reference/components/common/animations/x-components.translate-from-left.md +6 -7
  56. package/docs/API-reference/components/common/animations/x-components.translate-from-right.md +6 -7
  57. package/docs/API-reference/components/common/column-picker/x-components.base-column-picker-dropdown.md +7 -8
  58. package/docs/API-reference/components/common/column-picker/x-components.base-column-picker-list.md +6 -7
  59. package/docs/API-reference/components/common/currency/x-components.base-currency.md +7 -8
  60. package/docs/API-reference/components/common/filters/labels/x-components.base-price-filter-label.md +7 -8
  61. package/docs/API-reference/components/common/filters/labels/x-components.base-rating-filter-label.md +7 -8
  62. package/docs/API-reference/components/common/icons/x-components.arrow.md +3 -4
  63. package/docs/API-reference/components/common/icons/x-components.bag.md +3 -4
  64. package/docs/API-reference/components/common/icons/x-components.bar-code.md +4 -5
  65. package/docs/API-reference/components/common/icons/x-components.barcode-tiny.md +4 -5
  66. package/docs/API-reference/components/common/icons/x-components.cart.md +3 -4
  67. package/docs/API-reference/components/common/icons/x-components.check-tiny.md +4 -5
  68. package/docs/API-reference/components/common/icons/x-components.check.md +3 -4
  69. package/docs/API-reference/components/common/icons/x-components.checkbox-card-selected.md +4 -5
  70. package/docs/API-reference/components/common/icons/x-components.checkbox-card-unselected.md +4 -5
  71. package/docs/API-reference/components/common/icons/x-components.checkbox-selected.md +4 -5
  72. package/docs/API-reference/components/common/icons/x-components.checkbox-unselected.md +4 -5
  73. package/docs/API-reference/components/common/icons/x-components.chevron-down.md +4 -5
  74. package/docs/API-reference/components/common/icons/x-components.chevron-left.md +4 -5
  75. package/docs/API-reference/components/common/icons/x-components.chevron-right.md +4 -5
  76. package/docs/API-reference/components/common/icons/x-components.chevron-tiny-down.md +4 -5
  77. package/docs/API-reference/components/common/icons/x-components.chevron-tiny-left.md +4 -5
  78. package/docs/API-reference/components/common/icons/x-components.chevron-tiny-right.md +4 -5
  79. package/docs/API-reference/components/common/icons/x-components.chevron-tiny-up.md +4 -5
  80. package/docs/API-reference/components/common/icons/x-components.chevron-up.md +4 -5
  81. package/docs/API-reference/components/common/icons/x-components.cross-tiny.md +4 -5
  82. package/docs/API-reference/components/common/icons/x-components.cross.md +3 -4
  83. package/docs/API-reference/components/common/icons/x-components.filters.md +3 -4
  84. package/docs/API-reference/components/common/icons/x-components.grid-1-col.md +4 -5
  85. package/docs/API-reference/components/common/icons/x-components.grid-2-col.md +4 -5
  86. package/docs/API-reference/components/common/icons/x-components.hide.md +3 -4
  87. package/docs/API-reference/components/common/icons/x-components.history-tiny.md +4 -5
  88. package/docs/API-reference/components/common/icons/x-components.history.md +3 -4
  89. package/docs/API-reference/components/common/icons/x-components.menu.md +3 -4
  90. package/docs/API-reference/components/common/icons/x-components.minus-tiny.md +4 -5
  91. package/docs/API-reference/components/common/icons/x-components.minus.md +3 -4
  92. package/docs/API-reference/components/common/icons/x-components.nq-1.md +4 -5
  93. package/docs/API-reference/components/common/icons/x-components.nq-2.md +4 -5
  94. package/docs/API-reference/components/common/icons/x-components.nq-3.md +4 -5
  95. package/docs/API-reference/components/common/icons/x-components.nq-4.md +4 -5
  96. package/docs/API-reference/components/common/icons/x-components.plus.md +3 -4
  97. package/docs/API-reference/components/common/icons/x-components.search-tiny.md +4 -5
  98. package/docs/API-reference/components/common/icons/x-components.search.md +3 -4
  99. package/docs/API-reference/components/common/icons/x-components.show.md +3 -4
  100. package/docs/API-reference/components/common/icons/x-components.star.md +3 -4
  101. package/docs/API-reference/components/common/icons/x-components.tag.md +7 -0
  102. package/docs/API-reference/components/common/icons/x-components.trash-open.md +4 -5
  103. package/docs/API-reference/components/common/icons/x-components.trash.md +3 -4
  104. package/docs/API-reference/components/common/icons/x-components.trending-tiny.md +4 -5
  105. package/docs/API-reference/components/common/icons/x-components.trending.md +3 -4
  106. package/docs/API-reference/components/common/icons/x-components.user.md +3 -4
  107. package/docs/API-reference/components/common/layouts/x-components.fixed-header-and-asides-layout.md +6 -7
  108. package/docs/API-reference/components/common/layouts/x-components.multi-column-max-width-layout.md +6 -7
  109. package/docs/API-reference/components/common/layouts/x-components.single-column-layout.md +6 -5
  110. package/docs/API-reference/components/common/modals/x-components.base-events-modal-close.md +7 -8
  111. package/docs/API-reference/components/common/modals/x-components.base-events-modal-open.md +7 -8
  112. package/docs/API-reference/components/common/modals/x-components.base-events-modal.md +12 -13
  113. package/docs/API-reference/components/common/modals/x-components.base-id-modal-close.md +7 -8
  114. package/docs/API-reference/components/common/modals/x-components.base-id-modal-open.md +7 -8
  115. package/docs/API-reference/components/common/modals/x-components.base-id-modal.md +9 -10
  116. package/docs/API-reference/components/common/modals/x-components.base-modal.md +6 -7
  117. package/docs/API-reference/components/common/panels/x-components.base-header-toggle-panel.md +7 -8
  118. package/docs/API-reference/components/common/panels/x-components.base-id-toggle-panel-button.md +8 -9
  119. package/docs/API-reference/components/common/panels/x-components.base-id-toggle-panel.md +8 -9
  120. package/docs/API-reference/components/common/panels/x-components.base-toggle-panel.md +6 -7
  121. package/docs/API-reference/components/common/result/x-components.base-result-add-to-cart.md +7 -8
  122. package/docs/API-reference/components/common/result/x-components.base-result-current-price.md +7 -8
  123. package/docs/API-reference/components/common/result/x-components.base-result-fallback-image.md +4 -5
  124. package/docs/API-reference/components/common/result/x-components.base-result-image.md +6 -7
  125. package/docs/API-reference/components/common/result/x-components.base-result-link.md +5 -6
  126. package/docs/API-reference/components/common/result/x-components.base-result-placeholder-image.md +4 -5
  127. package/docs/API-reference/components/common/result/x-components.base-result-previous-price.md +6 -7
  128. package/docs/API-reference/components/common/scroll/x-components.base-scroll.md +6 -7
  129. package/docs/API-reference/components/common/suggestions/x-components.base-suggestion.md +7 -8
  130. package/docs/API-reference/components/common/suggestions/x-components.base-suggestions.md +6 -7
  131. package/docs/API-reference/components/common/x-components.auto-progress-bar.md +5 -6
  132. package/docs/API-reference/components/common/x-components.base-dropdown.md +7 -8
  133. package/docs/API-reference/components/common/x-components.base-event-button.md +9 -10
  134. package/docs/API-reference/components/common/x-components.base-grid.md +11 -12
  135. package/docs/API-reference/components/common/x-components.base-keyboard-navigation.md +6 -7
  136. package/docs/API-reference/components/common/x-components.base-rating.md +7 -8
  137. package/docs/API-reference/components/common/x-components.base-variable-column-grid.md +9 -10
  138. package/docs/API-reference/components/common/x-components.global-x-bus.md +50 -0
  139. package/docs/API-reference/components/common/x-components.items-list.md +6 -5
  140. package/docs/API-reference/components/common/x-components.location-provider.md +6 -7
  141. package/docs/API-reference/components/common/x-components.sliding-panel.md +6 -7
  142. package/docs/API-reference/components/common/x-components.snippet-callbacks.md +36 -0
  143. package/docs/API-reference/components/common/x-components.staggering-transition-group.md +6 -7
  144. package/docs/API-reference/components/device/x-components.device-detector.md +8 -9
  145. package/docs/API-reference/components/empathize/x-components.empathize.md +6 -7
  146. package/docs/API-reference/components/extra-params/x-components.extra-params.md +7 -8
  147. package/docs/API-reference/components/extra-params/x-components.renderless-extra-param.md +7 -8
  148. package/docs/API-reference/components/extra-params/x-components.snippet-config-extra-params.md +6 -7
  149. package/docs/API-reference/components/facets/x-components.clear-filters.md +6 -7
  150. package/docs/API-reference/components/facets/x-components.facets/facets-provider.md +9 -10
  151. package/docs/API-reference/components/facets/x-components.facets/facets.md +6 -7
  152. package/docs/API-reference/components/facets/x-components.filters/all-filter.md +10 -11
  153. package/docs/API-reference/components/facets/x-components.filters/base-filter.md +8 -9
  154. package/docs/API-reference/components/facets/x-components.filters/editable-number-range-filter.md +7 -8
  155. package/docs/API-reference/components/facets/x-components.filters/hierarchical-filter.md +5 -6
  156. package/docs/API-reference/components/facets/x-components.filters/number-range-filter.md +6 -7
  157. package/docs/API-reference/components/facets/x-components.filters/renderless-filter.md +9 -10
  158. package/docs/API-reference/components/facets/x-components.filters/simple-filter.md +6 -7
  159. package/docs/API-reference/components/facets/x-components.lists/exclude-filters-with-no-results.md +8 -9
  160. package/docs/API-reference/components/facets/x-components.lists/filters-list.md +8 -9
  161. package/docs/API-reference/components/facets/x-components.lists/filters-search.md +6 -7
  162. package/docs/API-reference/components/facets/x-components.lists/selected-filters-list.md +7 -8
  163. package/docs/API-reference/components/facets/x-components.lists/selected-filters.md +7 -8
  164. package/docs/API-reference/components/facets/x-components.lists/sliced-filters.md +8 -9
  165. package/docs/API-reference/components/facets/x-components.lists/sorted-filters.md +6 -7
  166. package/docs/API-reference/components/history-queries/x-components.clear-history-queries.md +8 -9
  167. package/docs/API-reference/components/history-queries/x-components.history-queries.md +6 -7
  168. package/docs/API-reference/components/history-queries/x-components.history-query.md +8 -9
  169. package/docs/API-reference/components/history-queries/x-components.remove-history-query.md +8 -9
  170. package/docs/API-reference/components/identifier-results/x-components.identifier-result.md +7 -8
  171. package/docs/API-reference/components/identifier-results/x-components.identifier-results.md +8 -9
  172. package/docs/API-reference/components/next-queries/x-components.next-queries-list.md +7 -8
  173. package/docs/API-reference/components/next-queries/x-components.next-queries.md +10 -11
  174. package/docs/API-reference/components/next-queries/x-components.next-query.md +8 -9
  175. package/docs/API-reference/components/popular-searches/x-components.popular-search.md +8 -9
  176. package/docs/API-reference/components/popular-searches/x-components.popular-searches.md +9 -10
  177. package/docs/API-reference/components/query-suggestions/x-components.query-suggestion.md +8 -9
  178. package/docs/API-reference/components/query-suggestions/x-components.query-suggestions.md +8 -9
  179. package/docs/API-reference/components/recommendations/x-components.recommendations.md +10 -11
  180. package/docs/API-reference/components/related-tags/x-components.related-tag.md +19 -17
  181. package/docs/API-reference/components/related-tags/x-components.related-tags.md +19 -19
  182. package/docs/API-reference/components/scroll/x-components.main-scroll-item.md +7 -8
  183. package/docs/API-reference/components/scroll/x-components.main-scroll.md +7 -8
  184. package/docs/API-reference/components/scroll/x-components.scroll-to-top.md +7 -8
  185. package/docs/API-reference/components/scroll/x-components.scroll.md +7 -8
  186. package/docs/API-reference/components/scroll/x-components.window-scroll.md +8 -9
  187. package/docs/API-reference/components/search/x-components.banner.md +8 -9
  188. package/docs/API-reference/components/search/x-components.banners-list.md +7 -8
  189. package/docs/API-reference/components/search/x-components.partial-query-button.md +8 -9
  190. package/docs/API-reference/components/search/x-components.partial-results-list.md +7 -8
  191. package/docs/API-reference/components/search/x-components.promoted.md +7 -8
  192. package/docs/API-reference/components/search/x-components.promoteds-list.md +7 -8
  193. package/docs/API-reference/components/search/x-components.redirection.md +7 -8
  194. package/docs/API-reference/components/search/x-components.results-list.md +7 -8
  195. package/docs/API-reference/components/search/x-components.sort-dropdown.md +7 -8
  196. package/docs/API-reference/components/search/x-components.sort-list.md +7 -8
  197. package/docs/API-reference/components/search/x-components.spellcheck-button.md +8 -9
  198. package/docs/API-reference/components/search/x-components.spellcheck.md +8 -9
  199. package/docs/API-reference/components/search-box/x-components.clear-search-input.md +6 -7
  200. package/docs/API-reference/components/search-box/x-components.search-button.md +6 -7
  201. package/docs/API-reference/components/search-box/x-components.search-input.md +7 -8
  202. package/docs/API-reference/components/tagging/x-components.tagging.md +8 -5
  203. package/docs/API-reference/components/url/x-components.url-handler.md +7 -8
  204. package/docs/build-search-ui/README.md +108 -0
  205. package/docs/build-search-ui/web-archetype-integration-guide.md +178 -0
  206. package/docs/build-search-ui/web-use-x-components-guide.md +165 -0
  207. package/docs/build-search-ui/web-x-components-integration-guide.md +192 -0
  208. package/docs/build-search-ui/x-architecture/README.md +128 -0
  209. package/identifier-results/index.js +1 -1
  210. package/js/components/animations/animate-width.vue.js +1 -1
  211. package/js/components/animations/collapse-from-top.vue.js +1 -1
  212. package/js/components/animations/collapse-height.vue.js +3 -3
  213. package/js/components/animations/collapse-width.vue.js +3 -3
  214. package/js/components/animations/cross-fade.vue.js +1 -1
  215. package/js/components/animations/fade-and-slide.vue.js +2 -2
  216. package/js/components/animations/staggered-fade-and-slide.vue.js +2 -2
  217. package/js/components/animations/translate-from-left.vue.js +1 -1
  218. package/js/components/animations/translate-from-right.vue.js +1 -1
  219. package/js/components/auto-progress-bar.vue.js +4 -5
  220. package/js/components/auto-progress-bar.vue.js.map +1 -1
  221. package/js/components/base-dropdown.vue.js +33 -45
  222. package/js/components/base-dropdown.vue.js.map +1 -1
  223. package/js/components/base-event-button.vue.js +1 -1
  224. package/js/components/base-grid.vue.js +7 -9
  225. package/js/components/base-grid.vue.js.map +1 -1
  226. package/js/components/base-keyboard-navigation.vue.js +7 -10
  227. package/js/components/base-keyboard-navigation.vue.js.map +1 -1
  228. package/js/components/base-rating.vue.js +19 -20
  229. package/js/components/base-rating.vue.js.map +1 -1
  230. package/js/components/base-variable-column-grid.vue.js +6 -7
  231. package/js/components/base-variable-column-grid.vue.js.map +1 -1
  232. package/js/components/column-picker/base-column-picker-dropdown.vue.js +11 -14
  233. package/js/components/column-picker/base-column-picker-dropdown.vue.js.map +1 -1
  234. package/js/components/column-picker/base-column-picker-list.vue.js +9 -11
  235. package/js/components/column-picker/base-column-picker-list.vue.js.map +1 -1
  236. package/js/components/currency/base-currency.vue.js +2 -3
  237. package/js/components/currency/base-currency.vue.js.map +1 -1
  238. package/js/components/filters/labels/base-rating-filter-label.vue.js +7 -8
  239. package/js/components/filters/labels/base-rating-filter-label.vue.js.map +1 -1
  240. package/js/components/global-x-bus.vue.js +39 -0
  241. package/js/components/global-x-bus.vue.js.map +1 -0
  242. package/js/components/global-x-bus.vue_rollup-plugin-vue=script.js +46 -0
  243. package/js/components/global-x-bus.vue_rollup-plugin-vue=script.js.map +1 -0
  244. package/js/components/icons/arrow.vue.js +4 -6
  245. package/js/components/icons/arrow.vue.js.map +1 -1
  246. package/js/components/icons/bag.vue.js +8 -12
  247. package/js/components/icons/bag.vue.js.map +1 -1
  248. package/js/components/icons/bar-code.vue.js +6 -9
  249. package/js/components/icons/bar-code.vue.js.map +1 -1
  250. package/js/components/icons/barcode-tiny.vue.js +6 -9
  251. package/js/components/icons/barcode-tiny.vue.js.map +1 -1
  252. package/js/components/icons/cart.vue.js +10 -13
  253. package/js/components/icons/cart.vue.js.map +1 -1
  254. package/js/components/icons/check-tiny.vue.js +4 -6
  255. package/js/components/icons/check-tiny.vue.js.map +1 -1
  256. package/js/components/icons/check.vue.js +4 -6
  257. package/js/components/icons/check.vue.js.map +1 -1
  258. package/js/components/icons/checkbox-card-selected.vue.js +5 -7
  259. package/js/components/icons/checkbox-card-selected.vue.js.map +1 -1
  260. package/js/components/icons/checkbox-card-unselected.vue.js +5 -7
  261. package/js/components/icons/checkbox-card-unselected.vue.js.map +1 -1
  262. package/js/components/icons/checkbox-selected.vue.js +5 -7
  263. package/js/components/icons/checkbox-selected.vue.js.map +1 -1
  264. package/js/components/icons/checkbox-unselected.vue.js +6 -6
  265. package/js/components/icons/chevron-down.vue.js +6 -8
  266. package/js/components/icons/chevron-down.vue.js.map +1 -1
  267. package/js/components/icons/chevron-left.vue.js +6 -8
  268. package/js/components/icons/chevron-left.vue.js.map +1 -1
  269. package/js/components/icons/chevron-right.vue.js +4 -6
  270. package/js/components/icons/chevron-right.vue.js.map +1 -1
  271. package/js/components/icons/chevron-tiny-down.vue.js +6 -8
  272. package/js/components/icons/chevron-tiny-down.vue.js.map +1 -1
  273. package/js/components/icons/chevron-tiny-left.vue.js +6 -8
  274. package/js/components/icons/chevron-tiny-left.vue.js.map +1 -1
  275. package/js/components/icons/chevron-tiny-right.vue.js +6 -8
  276. package/js/components/icons/chevron-tiny-right.vue.js.map +1 -1
  277. package/js/components/icons/chevron-tiny-up.vue.js +6 -8
  278. package/js/components/icons/chevron-tiny-up.vue.js.map +1 -1
  279. package/js/components/icons/chevron-up.vue.js +6 -8
  280. package/js/components/icons/chevron-up.vue.js.map +1 -1
  281. package/js/components/icons/cross-tiny.vue.js +4 -6
  282. package/js/components/icons/cross-tiny.vue.js.map +1 -1
  283. package/js/components/icons/cross.vue.js +4 -6
  284. package/js/components/icons/cross.vue.js.map +1 -1
  285. package/js/components/icons/filters.vue.js +10 -15
  286. package/js/components/icons/filters.vue.js.map +1 -1
  287. package/js/components/icons/grid-1-col.vue.js +6 -9
  288. package/js/components/icons/grid-1-col.vue.js.map +1 -1
  289. package/js/components/icons/grid-2-col.vue.js +8 -10
  290. package/js/components/icons/grid-2-col.vue.js.map +1 -1
  291. package/js/components/icons/hide.vue.js +10 -15
  292. package/js/components/icons/hide.vue.js.map +1 -1
  293. package/js/components/icons/history-tiny.vue.js +9 -12
  294. package/js/components/icons/history-tiny.vue.js.map +1 -1
  295. package/js/components/icons/history.vue.js +9 -12
  296. package/js/components/icons/history.vue.js.map +1 -1
  297. package/js/components/icons/menu.vue.js +6 -8
  298. package/js/components/icons/menu.vue.js.map +1 -1
  299. package/js/components/icons/minus-tiny.vue.js +4 -6
  300. package/js/components/icons/minus-tiny.vue.js.map +1 -1
  301. package/js/components/icons/minus.vue.js +4 -6
  302. package/js/components/icons/minus.vue.js.map +1 -1
  303. package/js/components/icons/nq-1.vue.js +4 -6
  304. package/js/components/icons/nq-1.vue.js.map +1 -1
  305. package/js/components/icons/nq-2.vue.js +4 -6
  306. package/js/components/icons/nq-2.vue.js.map +1 -1
  307. package/js/components/icons/nq-3.vue.js +6 -8
  308. package/js/components/icons/nq-3.vue.js.map +1 -1
  309. package/js/components/icons/nq-4.vue.js +9 -12
  310. package/js/components/icons/nq-4.vue.js.map +1 -1
  311. package/js/components/icons/plus.vue.js +4 -6
  312. package/js/components/icons/plus.vue.js.map +1 -1
  313. package/js/components/icons/search-tiny.vue.js +6 -9
  314. package/js/components/icons/search-tiny.vue.js.map +1 -1
  315. package/js/components/icons/search.vue.js +6 -8
  316. package/js/components/icons/search.vue.js.map +1 -1
  317. package/js/components/icons/show.vue.js +7 -10
  318. package/js/components/icons/show.vue.js.map +1 -1
  319. package/js/components/icons/star.vue.js +6 -9
  320. package/js/components/icons/star.vue.js.map +1 -1
  321. package/js/components/icons/tag.vue.js +59 -0
  322. package/js/components/icons/tag.vue.js.map +1 -0
  323. package/js/components/icons/tag.vue_rollup-plugin-vue=script.js +4 -0
  324. package/js/components/icons/tag.vue_rollup-plugin-vue=script.js.map +1 -0
  325. package/js/components/icons/trash-open.vue.js +12 -15
  326. package/js/components/icons/trash-open.vue.js.map +1 -1
  327. package/js/components/icons/trash.vue.js +8 -11
  328. package/js/components/icons/trash.vue.js.map +1 -1
  329. package/js/components/icons/trending-tiny.vue.js +8 -10
  330. package/js/components/icons/trending-tiny.vue.js.map +1 -1
  331. package/js/components/icons/trending.vue.js +8 -10
  332. package/js/components/icons/trending.vue.js.map +1 -1
  333. package/js/components/icons/user.vue.js +6 -9
  334. package/js/components/icons/user.vue.js.map +1 -1
  335. package/js/components/items-list.vue.js +6 -7
  336. package/js/components/items-list.vue.js.map +1 -1
  337. package/js/components/layouts/multi-column-max-width-layout.vue.js +54 -88
  338. package/js/components/layouts/multi-column-max-width-layout.vue.js.map +1 -1
  339. package/js/components/layouts/single-column-layout.vue.js +39 -67
  340. package/js/components/layouts/single-column-layout.vue.js.map +1 -1
  341. package/js/components/modals/base-events-modal-close.vue.js +2 -2
  342. package/js/components/modals/base-events-modal-open.vue.js +2 -2
  343. package/js/components/modals/base-events-modal.vue.js +3 -3
  344. package/js/components/modals/base-id-modal-close.vue.js +2 -2
  345. package/js/components/modals/base-id-modal-open.vue.js +2 -2
  346. package/js/components/modals/base-id-modal.vue.js +3 -3
  347. package/js/components/modals/base-modal.vue.js +9 -11
  348. package/js/components/modals/base-modal.vue.js.map +1 -1
  349. package/js/components/panels/base-header-toggle-panel.vue.js +5 -7
  350. package/js/components/panels/base-header-toggle-panel.vue.js.map +1 -1
  351. package/js/components/panels/base-id-toggle-panel-button.vue.js +2 -2
  352. package/js/components/panels/base-id-toggle-panel.vue.js +1 -1
  353. package/js/components/panels/base-toggle-panel.vue.js +3 -4
  354. package/js/components/panels/base-toggle-panel.vue.js.map +1 -1
  355. package/js/components/result/base-result-add-to-cart.vue.js +2 -2
  356. package/js/components/result/base-result-current-price.vue.js +6 -8
  357. package/js/components/result/base-result-current-price.vue.js.map +1 -1
  358. package/js/components/result/base-result-fallback-image.vue.js +7 -9
  359. package/js/components/result/base-result-fallback-image.vue.js.map +1 -1
  360. package/js/components/result/base-result-image.vue.js +9 -12
  361. package/js/components/result/base-result-image.vue.js.map +1 -1
  362. package/js/components/result/base-result-link.vue.js +5 -5
  363. package/js/components/result/base-result-placeholder-image.vue.js +7 -9
  364. package/js/components/result/base-result-placeholder-image.vue.js.map +1 -1
  365. package/js/components/result/base-result-previous-price.vue.js +7 -9
  366. package/js/components/result/base-result-previous-price.vue.js.map +1 -1
  367. package/js/components/scroll/base-scroll.vue.js +2 -2
  368. package/js/components/sliding-panel.vue.js +11 -14
  369. package/js/components/sliding-panel.vue.js.map +1 -1
  370. package/js/components/snippet-callbacks.vue.js +47 -0
  371. package/js/components/snippet-callbacks.vue.js.map +1 -0
  372. package/js/components/snippet-callbacks.vue_rollup-plugin-vue=script.js +58 -0
  373. package/js/components/snippet-callbacks.vue_rollup-plugin-vue=script.js.map +1 -0
  374. package/js/components/suggestions/base-suggestion.vue.js +6 -8
  375. package/js/components/suggestions/base-suggestion.vue.js.map +1 -1
  376. package/js/components/suggestions/base-suggestions.vue.js +6 -7
  377. package/js/components/suggestions/base-suggestions.vue.js.map +1 -1
  378. package/js/index.js +7 -2
  379. package/js/index.js.map +1 -1
  380. package/js/utils/origin.js +5 -3
  381. package/js/utils/origin.js.map +1 -1
  382. package/js/utils/storage.js +2 -2
  383. package/js/utils/storage.js.map +1 -1
  384. package/js/x-modules/device/components/device-detector.vue.js +2 -2
  385. package/js/x-modules/empathize/components/empathize.vue.js +5 -6
  386. package/js/x-modules/empathize/components/empathize.vue.js.map +1 -1
  387. package/js/x-modules/extra-params/components/extra-params.vue_rollup-plugin-vue=script.js +3 -0
  388. package/js/x-modules/extra-params/components/extra-params.vue_rollup-plugin-vue=script.js.map +1 -1
  389. package/js/x-modules/extra-params/components/renderless-extra-param.vue.js +3 -4
  390. package/js/x-modules/extra-params/components/renderless-extra-param.vue.js.map +1 -1
  391. package/js/x-modules/extra-params/components/renderless-extra-param.vue_rollup-plugin-vue=script.js +3 -0
  392. package/js/x-modules/extra-params/components/renderless-extra-param.vue_rollup-plugin-vue=script.js.map +1 -1
  393. package/js/x-modules/extra-params/components/snippet-config-extra-params.vue.js +1 -1
  394. package/js/x-modules/extra-params/components/snippet-config-extra-params.vue_rollup-plugin-vue=script.js +3 -0
  395. package/js/x-modules/extra-params/components/snippet-config-extra-params.vue_rollup-plugin-vue=script.js.map +1 -1
  396. package/js/x-modules/facets/components/clear-filters.vue.js +6 -8
  397. package/js/x-modules/facets/components/clear-filters.vue.js.map +1 -1
  398. package/js/x-modules/facets/components/clear-filters.vue_rollup-plugin-vue=script.js +3 -0
  399. package/js/x-modules/facets/components/clear-filters.vue_rollup-plugin-vue=script.js.map +1 -1
  400. package/js/x-modules/facets/components/facets/facets-provider.vue_rollup-plugin-vue=script.js +3 -0
  401. package/js/x-modules/facets/components/facets/facets-provider.vue_rollup-plugin-vue=script.js.map +1 -1
  402. package/js/x-modules/facets/components/facets/facets.vue.js +10 -11
  403. package/js/x-modules/facets/components/facets/facets.vue.js.map +1 -1
  404. package/js/x-modules/facets/components/filters/all-filter.vue.js +5 -6
  405. package/js/x-modules/facets/components/filters/all-filter.vue.js.map +1 -1
  406. package/js/x-modules/facets/components/filters/all-filter.vue_rollup-plugin-vue=script.js +3 -0
  407. package/js/x-modules/facets/components/filters/all-filter.vue_rollup-plugin-vue=script.js.map +1 -1
  408. package/js/x-modules/facets/components/filters/base-filter.vue.js +5 -6
  409. package/js/x-modules/facets/components/filters/base-filter.vue.js.map +1 -1
  410. package/js/x-modules/facets/components/filters/base-filter.vue_rollup-plugin-vue=script.js +3 -0
  411. package/js/x-modules/facets/components/filters/base-filter.vue_rollup-plugin-vue=script.js.map +1 -1
  412. package/js/x-modules/facets/components/filters/editable-number-range-filter.vue.js +19 -23
  413. package/js/x-modules/facets/components/filters/editable-number-range-filter.vue.js.map +1 -1
  414. package/js/x-modules/facets/components/filters/hierarchical-filter.vue.js +29 -38
  415. package/js/x-modules/facets/components/filters/hierarchical-filter.vue.js.map +1 -1
  416. package/js/x-modules/facets/components/filters/hierarchical-filter.vue_rollup-plugin-vue=script.js +3 -0
  417. package/js/x-modules/facets/components/filters/hierarchical-filter.vue_rollup-plugin-vue=script.js.map +1 -1
  418. package/js/x-modules/facets/components/filters/number-range-filter.vue.js +5 -6
  419. package/js/x-modules/facets/components/filters/number-range-filter.vue.js.map +1 -1
  420. package/js/x-modules/facets/components/filters/number-range-filter.vue_rollup-plugin-vue=script.js +3 -0
  421. package/js/x-modules/facets/components/filters/number-range-filter.vue_rollup-plugin-vue=script.js.map +1 -1
  422. package/js/x-modules/facets/components/filters/renderless-filter.vue_rollup-plugin-vue=script.js +3 -0
  423. package/js/x-modules/facets/components/filters/renderless-filter.vue_rollup-plugin-vue=script.js.map +1 -1
  424. package/js/x-modules/facets/components/filters/simple-filter.vue.js +13 -17
  425. package/js/x-modules/facets/components/filters/simple-filter.vue.js.map +1 -1
  426. package/js/x-modules/facets/components/filters/simple-filter.vue_rollup-plugin-vue=script.js +3 -0
  427. package/js/x-modules/facets/components/filters/simple-filter.vue_rollup-plugin-vue=script.js.map +1 -1
  428. package/js/x-modules/facets/components/lists/exclude-filters-with-no-results.vue_rollup-plugin-vue=script.js +3 -0
  429. package/js/x-modules/facets/components/lists/exclude-filters-with-no-results.vue_rollup-plugin-vue=script.js.map +1 -1
  430. package/js/x-modules/facets/components/lists/filters-list.vue.js +4 -4
  431. package/js/x-modules/facets/components/lists/filters-list.vue_rollup-plugin-vue=script.js +3 -0
  432. package/js/x-modules/facets/components/lists/filters-list.vue_rollup-plugin-vue=script.js.map +1 -1
  433. package/js/x-modules/facets/components/lists/filters-search.vue.js +8 -10
  434. package/js/x-modules/facets/components/lists/filters-search.vue.js.map +1 -1
  435. package/js/x-modules/facets/components/lists/filters-search.vue_rollup-plugin-vue=script.js +3 -0
  436. package/js/x-modules/facets/components/lists/filters-search.vue_rollup-plugin-vue=script.js.map +1 -1
  437. package/js/x-modules/facets/components/lists/selected-filters-list.vue.js +14 -20
  438. package/js/x-modules/facets/components/lists/selected-filters-list.vue.js.map +1 -1
  439. package/js/x-modules/facets/components/lists/selected-filters.vue.js +3 -4
  440. package/js/x-modules/facets/components/lists/selected-filters.vue.js.map +1 -1
  441. package/js/x-modules/facets/components/lists/selected-filters.vue_rollup-plugin-vue=script.js +3 -0
  442. package/js/x-modules/facets/components/lists/selected-filters.vue_rollup-plugin-vue=script.js.map +1 -1
  443. package/js/x-modules/facets/components/lists/sliced-filters.vue.js +12 -18
  444. package/js/x-modules/facets/components/lists/sliced-filters.vue.js.map +1 -1
  445. package/js/x-modules/facets/components/lists/sliced-filters.vue_rollup-plugin-vue=script.js +3 -0
  446. package/js/x-modules/facets/components/lists/sliced-filters.vue_rollup-plugin-vue=script.js.map +1 -1
  447. package/js/x-modules/facets/components/lists/sorted-filters.vue_rollup-plugin-vue=script.js +3 -0
  448. package/js/x-modules/facets/components/lists/sorted-filters.vue_rollup-plugin-vue=script.js.map +1 -1
  449. package/js/x-modules/history-queries/components/clear-history-queries.vue.js +5 -6
  450. package/js/x-modules/history-queries/components/clear-history-queries.vue.js.map +1 -1
  451. package/js/x-modules/history-queries/components/history-queries.vue.js +19 -25
  452. package/js/x-modules/history-queries/components/history-queries.vue.js.map +1 -1
  453. package/js/x-modules/history-queries/components/history-query.vue.js +14 -18
  454. package/js/x-modules/history-queries/components/history-query.vue.js.map +1 -1
  455. package/js/x-modules/history-queries/components/history-query.vue_rollup-plugin-vue=script.js.map +1 -1
  456. package/js/x-modules/history-queries/components/remove-history-query.vue.js +2 -2
  457. package/js/x-modules/identifier-results/components/identifier-result.vue.js +2 -2
  458. package/js/x-modules/identifier-results/components/identifier-results.vue.js +4 -4
  459. package/js/x-modules/identifier-results/store/actions/fetch-and-save-identifier-results.action.js +4 -2
  460. package/js/x-modules/identifier-results/store/actions/fetch-and-save-identifier-results.action.js.map +1 -1
  461. package/js/x-modules/identifier-results/store/actions/save-query.action.js +4 -0
  462. package/js/x-modules/identifier-results/store/actions/save-query.action.js.map +1 -1
  463. package/js/x-modules/identifier-results/store/getters/identifier-results-request.getter.js +4 -9
  464. package/js/x-modules/identifier-results/store/getters/identifier-results-request.getter.js.map +1 -1
  465. package/js/x-modules/identifier-results/store/module.js +5 -3
  466. package/js/x-modules/identifier-results/store/module.js.map +1 -1
  467. package/js/x-modules/identifier-results/wiring.js +16 -3
  468. package/js/x-modules/identifier-results/wiring.js.map +1 -1
  469. package/js/x-modules/next-queries/components/next-queries-list.vue.js +9 -12
  470. package/js/x-modules/next-queries/components/next-queries-list.vue.js.map +1 -1
  471. package/js/x-modules/next-queries/components/next-queries.vue.js +15 -20
  472. package/js/x-modules/next-queries/components/next-queries.vue.js.map +1 -1
  473. package/js/x-modules/next-queries/components/next-query.vue.js +9 -10
  474. package/js/x-modules/next-queries/components/next-query.vue.js.map +1 -1
  475. package/js/x-modules/next-queries/components/next-query.vue_rollup-plugin-vue=script.js.map +1 -1
  476. package/js/x-modules/popular-searches/components/popular-search.vue.js +9 -10
  477. package/js/x-modules/popular-searches/components/popular-search.vue.js.map +1 -1
  478. package/js/x-modules/popular-searches/components/popular-search.vue_rollup-plugin-vue=script.js.map +1 -1
  479. package/js/x-modules/popular-searches/components/popular-searches.vue.js +15 -20
  480. package/js/x-modules/popular-searches/components/popular-searches.vue.js.map +1 -1
  481. package/js/x-modules/query-suggestions/components/query-suggestion.vue.js +10 -11
  482. package/js/x-modules/query-suggestions/components/query-suggestion.vue.js.map +1 -1
  483. package/js/x-modules/query-suggestions/components/query-suggestion.vue_rollup-plugin-vue=script.js.map +1 -1
  484. package/js/x-modules/query-suggestions/components/query-suggestions.vue.js +15 -20
  485. package/js/x-modules/query-suggestions/components/query-suggestions.vue.js.map +1 -1
  486. package/js/x-modules/recommendations/components/recommendations.vue.js +9 -12
  487. package/js/x-modules/recommendations/components/recommendations.vue.js.map +1 -1
  488. package/js/x-modules/related-tags/components/related-tag.vue.js +11 -8
  489. package/js/x-modules/related-tags/components/related-tag.vue.js.map +1 -1
  490. package/js/x-modules/related-tags/components/related-tag.vue_rollup-plugin-vue=script.js +35 -7
  491. package/js/x-modules/related-tags/components/related-tag.vue_rollup-plugin-vue=script.js.map +1 -1
  492. package/js/x-modules/related-tags/components/related-tags.vue.js +28 -21
  493. package/js/x-modules/related-tags/components/related-tags.vue.js.map +1 -1
  494. package/js/x-modules/related-tags/components/related-tags.vue_rollup-plugin-vue=script.js +3 -0
  495. package/js/x-modules/related-tags/components/related-tags.vue_rollup-plugin-vue=script.js.map +1 -1
  496. package/js/x-modules/scroll/components/main-scroll-item.vue.js +1 -1
  497. package/js/x-modules/scroll/components/main-scroll-item.vue_rollup-plugin-vue=script.js +3 -0
  498. package/js/x-modules/scroll/components/main-scroll-item.vue_rollup-plugin-vue=script.js.map +1 -1
  499. package/js/x-modules/scroll/components/scroll-to-top.vue.js +3 -4
  500. package/js/x-modules/scroll/components/scroll-to-top.vue.js.map +1 -1
  501. package/js/x-modules/scroll/components/scroll-to-top.vue_rollup-plugin-vue=script.js +3 -0
  502. package/js/x-modules/scroll/components/scroll-to-top.vue_rollup-plugin-vue=script.js.map +1 -1
  503. package/js/x-modules/scroll/components/scroll.vue.js +4 -4
  504. package/js/x-modules/scroll/components/window-scroll.vue_rollup-plugin-vue=script.js +3 -0
  505. package/js/x-modules/scroll/components/window-scroll.vue_rollup-plugin-vue=script.js.map +1 -1
  506. package/js/x-modules/search/components/banner.vue.js +4 -6
  507. package/js/x-modules/search/components/banner.vue.js.map +1 -1
  508. package/js/x-modules/search/components/banners-list.vue.js +9 -12
  509. package/js/x-modules/search/components/banners-list.vue.js.map +1 -1
  510. package/js/x-modules/search/components/partial-query-button.vue.js +4 -5
  511. package/js/x-modules/search/components/partial-query-button.vue.js.map +1 -1
  512. package/js/x-modules/search/components/partial-query-button.vue_rollup-plugin-vue=script.js +14 -6
  513. package/js/x-modules/search/components/partial-query-button.vue_rollup-plugin-vue=script.js.map +1 -1
  514. package/js/x-modules/search/components/partial-results-list.vue.js +4 -4
  515. package/js/x-modules/search/components/promoted.vue.js +4 -6
  516. package/js/x-modules/search/components/promoted.vue.js.map +1 -1
  517. package/js/x-modules/search/components/promoteds-list.vue.js +9 -12
  518. package/js/x-modules/search/components/promoteds-list.vue.js.map +1 -1
  519. package/js/x-modules/search/components/redirection.vue.js +4 -5
  520. package/js/x-modules/search/components/redirection.vue.js.map +1 -1
  521. package/js/x-modules/search/components/results-list.vue.js +9 -12
  522. package/js/x-modules/search/components/results-list.vue.js.map +1 -1
  523. package/js/x-modules/search/components/sort-dropdown.vue.js +13 -16
  524. package/js/x-modules/search/components/sort-dropdown.vue.js.map +1 -1
  525. package/js/x-modules/search/components/sort-list.vue.js +8 -10
  526. package/js/x-modules/search/components/sort-list.vue.js.map +1 -1
  527. package/js/x-modules/search/components/sort-list.vue_rollup-plugin-vue=script.js +3 -0
  528. package/js/x-modules/search/components/sort-list.vue_rollup-plugin-vue=script.js.map +1 -1
  529. package/js/x-modules/search/components/sort.mixin.js +3 -0
  530. package/js/x-modules/search/components/sort.mixin.js.map +1 -1
  531. package/js/x-modules/search/components/spellcheck-button.vue.js +4 -5
  532. package/js/x-modules/search/components/spellcheck-button.vue.js.map +1 -1
  533. package/js/x-modules/search/components/spellcheck-button.vue_rollup-plugin-vue=script.js +14 -6
  534. package/js/x-modules/search/components/spellcheck-button.vue_rollup-plugin-vue=script.js.map +1 -1
  535. package/js/x-modules/search/components/spellcheck.vue.js +4 -6
  536. package/js/x-modules/search/components/spellcheck.vue.js.map +1 -1
  537. package/js/x-modules/search/components/spellcheck.vue_rollup-plugin-vue=script.js +3 -0
  538. package/js/x-modules/search/components/spellcheck.vue_rollup-plugin-vue=script.js.map +1 -1
  539. package/js/x-modules/search/store/actions/fetch-and-save-search-response.action.js +7 -2
  540. package/js/x-modules/search/store/actions/fetch-and-save-search-response.action.js.map +1 -1
  541. package/js/x-modules/search/store/emitters.js +8 -1
  542. package/js/x-modules/search/store/emitters.js.map +1 -1
  543. package/js/x-modules/search/store/getters/request.getter.js +2 -3
  544. package/js/x-modules/search/store/getters/request.getter.js.map +1 -1
  545. package/js/x-modules/search/wiring.js +4 -3
  546. package/js/x-modules/search/wiring.js.map +1 -1
  547. package/js/x-modules/search-box/components/clear-search-input.vue.js +5 -6
  548. package/js/x-modules/search-box/components/clear-search-input.vue.js.map +1 -1
  549. package/js/x-modules/search-box/components/search-button.vue.js +4 -5
  550. package/js/x-modules/search-box/components/search-button.vue.js.map +1 -1
  551. package/js/x-modules/search-box/components/search-button.vue_rollup-plugin-vue=script.js +14 -6
  552. package/js/x-modules/search-box/components/search-button.vue_rollup-plugin-vue=script.js.map +1 -1
  553. package/js/x-modules/search-box/components/search-input.vue.js +9 -11
  554. package/js/x-modules/search-box/components/search-input.vue.js.map +1 -1
  555. package/js/x-modules/search-box/components/search-input.vue_rollup-plugin-vue=script.js +17 -14
  556. package/js/x-modules/search-box/components/search-input.vue_rollup-plugin-vue=script.js.map +1 -1
  557. package/js/x-modules/tagging/components/tagging.vue.js +39 -0
  558. package/js/x-modules/tagging/components/tagging.vue.js.map +1 -0
  559. package/js/x-modules/tagging/components/tagging.vue_rollup-plugin-vue=script.js +65 -0
  560. package/js/x-modules/tagging/components/tagging.vue_rollup-plugin-vue=script.js.map +1 -0
  561. package/js/x-modules/tagging/service/session.service.js +23 -6
  562. package/js/x-modules/tagging/service/session.service.js.map +1 -1
  563. package/js/x-modules/tagging/store/actions/track.action.js +43 -0
  564. package/js/x-modules/tagging/store/actions/track.action.js.map +1 -0
  565. package/js/x-modules/tagging/store/module.js +6 -2
  566. package/js/x-modules/tagging/store/module.js.map +1 -1
  567. package/js/x-modules/tagging/wiring.js +30 -3
  568. package/js/x-modules/tagging/wiring.js.map +1 -1
  569. package/js/x-modules/url/components/url-handler.vue.js +2 -2
  570. package/js/x-modules/url/components/url-handler.vue.js.map +1 -1
  571. package/js/x-modules/url/components/url-handler.vue_rollup-plugin-vue=script.js +101 -5
  572. package/js/x-modules/url/components/url-handler.vue_rollup-plugin-vue=script.js.map +1 -1
  573. package/package.json +16 -14
  574. package/report/tsdoc-metadata.json +1 -1
  575. package/report/x-adapter.api.json +29 -3
  576. package/report/x-components.api.json +662 -59
  577. package/report/x-components.api.md +106 -18
  578. package/report/x-types.api.json +27 -1
  579. package/tagging/index.js +4 -2
  580. package/types/adapter/mocked-adapter.d.ts.map +1 -1
  581. package/types/components/global-x-bus.vue.d.ts +25 -0
  582. package/types/components/global-x-bus.vue.d.ts.map +1 -0
  583. package/types/components/icons/index.d.ts +1 -0
  584. package/types/components/icons/index.d.ts.map +1 -1
  585. package/types/components/icons/tag.vue.d.ts +3 -0
  586. package/types/components/icons/tag.vue.d.ts.map +1 -0
  587. package/types/components/index.d.ts +2 -0
  588. package/types/components/index.d.ts.map +1 -1
  589. package/types/components/snippet-callbacks.vue.d.ts +27 -0
  590. package/types/components/snippet-callbacks.vue.d.ts.map +1 -0
  591. package/types/types/origin.d.ts +1 -1
  592. package/types/types/origin.d.ts.map +1 -1
  593. package/types/utils/origin.d.ts +3 -1
  594. package/types/utils/origin.d.ts.map +1 -1
  595. package/types/utils/storage.d.ts +1 -7
  596. package/types/utils/storage.d.ts.map +1 -1
  597. package/types/wiring/events.types.d.ts +8 -0
  598. package/types/wiring/events.types.d.ts.map +1 -1
  599. package/types/x-installer/api/api.types.d.ts +14 -0
  600. package/types/x-installer/api/api.types.d.ts.map +1 -1
  601. package/types/x-modules/history-queries/components/history-query.vue.d.ts.map +1 -1
  602. package/types/x-modules/identifier-results/store/actions/fetch-and-save-identifier-results.action.d.ts.map +1 -1
  603. package/types/x-modules/identifier-results/store/actions/save-query.action.d.ts.map +1 -1
  604. package/types/x-modules/identifier-results/store/getters/identifier-results-request.getter.d.ts.map +1 -1
  605. package/types/x-modules/identifier-results/store/module.d.ts.map +1 -1
  606. package/types/x-modules/identifier-results/store/types.d.ts +9 -7
  607. package/types/x-modules/identifier-results/store/types.d.ts.map +1 -1
  608. package/types/x-modules/identifier-results/wiring.d.ts +11 -1
  609. package/types/x-modules/identifier-results/wiring.d.ts.map +1 -1
  610. package/types/x-modules/next-queries/components/next-query.vue.d.ts.map +1 -1
  611. package/types/x-modules/popular-searches/components/popular-search.vue.d.ts.map +1 -1
  612. package/types/x-modules/query-suggestions/components/query-suggestion.vue.d.ts.map +1 -1
  613. package/types/x-modules/related-tags/components/related-tag.vue.d.ts +22 -0
  614. package/types/x-modules/related-tags/components/related-tag.vue.d.ts.map +1 -1
  615. package/types/x-modules/related-tags/components/related-tags.vue.d.ts +6 -0
  616. package/types/x-modules/related-tags/components/related-tags.vue.d.ts.map +1 -1
  617. package/types/x-modules/search/components/partial-query-button.vue.d.ts +8 -0
  618. package/types/x-modules/search/components/partial-query-button.vue.d.ts.map +1 -1
  619. package/types/x-modules/search/components/spellcheck-button.vue.d.ts +8 -0
  620. package/types/x-modules/search/components/spellcheck-button.vue.d.ts.map +1 -1
  621. package/types/x-modules/search/store/actions/fetch-and-save-search-response.action.d.ts.map +1 -1
  622. package/types/x-modules/search/store/emitters.d.ts +4 -1
  623. package/types/x-modules/search/store/emitters.d.ts.map +1 -1
  624. package/types/x-modules/search/store/getters/request.getter.d.ts.map +1 -1
  625. package/types/x-modules/search/wiring.d.ts +2 -1
  626. package/types/x-modules/search/wiring.d.ts.map +1 -1
  627. package/types/x-modules/search-box/components/search-button.vue.d.ts +8 -0
  628. package/types/x-modules/search-box/components/search-button.vue.d.ts.map +1 -1
  629. package/types/x-modules/search-box/components/search-input.vue.d.ts +6 -3
  630. package/types/x-modules/search-box/components/search-input.vue.d.ts.map +1 -1
  631. package/types/x-modules/tagging/components/tagging.vue.d.ts +47 -0
  632. package/types/x-modules/tagging/components/tagging.vue.d.ts.map +1 -0
  633. package/types/x-modules/tagging/index.d.ts +1 -0
  634. package/types/x-modules/tagging/index.d.ts.map +1 -1
  635. package/types/x-modules/tagging/service/session.service.d.ts +18 -1
  636. package/types/x-modules/tagging/service/session.service.d.ts.map +1 -1
  637. package/types/x-modules/tagging/store/actions/index.d.ts +2 -0
  638. package/types/x-modules/tagging/store/actions/index.d.ts.map +1 -0
  639. package/types/x-modules/tagging/store/actions/track.action.d.ts +12 -0
  640. package/types/x-modules/tagging/store/actions/track.action.d.ts.map +1 -0
  641. package/types/x-modules/tagging/store/index.d.ts +1 -0
  642. package/types/x-modules/tagging/store/index.d.ts.map +1 -1
  643. package/types/x-modules/tagging/store/module.d.ts.map +1 -1
  644. package/types/x-modules/tagging/store/types.d.ts +7 -0
  645. package/types/x-modules/tagging/store/types.d.ts.map +1 -1
  646. package/types/x-modules/tagging/wiring.d.ts +17 -7
  647. package/types/x-modules/tagging/wiring.d.ts.map +1 -1
  648. package/types/x-modules/url/components/url-handler.vue.d.ts +70 -7
  649. package/types/x-modules/url/components/url-handler.vue.d.ts.map +1 -1
  650. package/docs/API-reference/api/x-components.identifierresultsactions.seturlparams.md +0 -24
  651. package/docs/css/global.scss +0 -1
  652. package/docs/css/utils/utils.scss +0 -35
  653. package/docs/css/xcomponents/clear-search-input.scss +0 -9
  654. package/docs/css/xcomponents/index.scss +0 -16
  655. package/docs/css/xcomponents/search-input.scss +0 -10
  656. package/docs/css/xcomponents/suggestions.scss +0 -19
  657. package/docs/guide/getting-started/components/clear-search-input.md +0 -98
  658. package/docs/guide/getting-started/components/live-examples.md +0 -100
  659. package/docs/guide/getting-started/components/query-suggestions.md +0 -76
  660. package/docs/guide/getting-started/components/search-button.md +0 -98
  661. package/docs/guide/getting-started/components/search-input.md +0 -105
  662. package/docs/guide/getting-started/install-xplugin.md +0 -72
  663. package/docs/guide/getting-started/use-components.md +0 -75
  664. package/docs/guide/install.md +0 -30
  665. package/docs/react-components/ReactComponents.jsx +0 -46
  666. package/docs/react-components/Utils.jsx +0 -34
  667. package/docs/sidebar.json +0 -1
  668. package/js/x-modules/identifier-results/store/actions/set-url-params.action.js +0 -17
  669. package/js/x-modules/identifier-results/store/actions/set-url-params.action.js.map +0 -1
  670. package/types/x-modules/identifier-results/store/actions/set-url-params.action.d.ts +0 -12
  671. package/types/x-modules/identifier-results/store/actions/set-url-params.action.d.ts.map +0 -1
@@ -0,0 +1,165 @@
1
+ ---
2
+ title: Use & configure Interface X Components in your project
3
+ tags:
4
+ - configuration
5
+ - x configuration
6
+ - x component configuration
7
+ ---
8
+
9
+ # Use and configure Interface X Components in your project
10
+
11
+ Interface X Components are like building blocks that you pick up and mix to craft your
12
+ search UI experiences. The goal of using components is to include only the components you want,
13
+ wherever you want. So, **just import the components, register, and go!**
14
+
15
+ Once you’ve installed the
16
+ [dependencies and the xPlugin](web-x-components-integration-guide.md#_1-install-the-dependencies),
17
+ you’re ready to use X Components in your project.
18
+
19
+ ## 1. Import and register the X Components
20
+
21
+ Many of the X Components are distributed into modules to make them easier to manage. So you
22
+ need to indicate from which module you’re importing each component as appropriate.
23
+
24
+ For example, the `search-box` module contains the `SearchInput`, `SearchButton`, and
25
+ `ClearSearchInput` components.
26
+
27
+ ### Import and register components from a module
28
+
29
+ When importing the components, you can register each component **locally for each Vue instance** as
30
+ you go.
31
+
32
+ ```typescript
33
+ //Import each component you'd like to use, before you register it.
34
+ import { ComponentA } from './Module1';
35
+ import { ComponentB } from './Module1';
36
+ import { ComponentC } from './Module1';
37
+
38
+ //Locally register each component.
39
+ export default {
40
+ components: {
41
+ ComponentA,
42
+ ComponentB,
43
+ ComponentC
44
+ }
45
+ // ...
46
+ };
47
+
48
+ //The components are now ready to be used inside your template.
49
+ ```
50
+
51
+ ### Import and register components globally
52
+
53
+ Alternatively, you can **globally** register components in Vue directly in the `main.js` file if you
54
+ plan on using a component more than once in your app. By registering the components globally, you
55
+ can use them in the template of any root Vue instance you create afterwards.
56
+
57
+ ::: develop Although you can register components globally, it should be done with caution as **it
58
+ may impact future performance**. Remember if you register the components globally, the entire
59
+ X Component module is loaded and registered each time this code line is run. :::
60
+
61
+ ```typescript
62
+ import { ComponentA, ComponentB, ComponentC } from './ModuleA';
63
+
64
+ Vue.component('ComponentAName', ComponentA);
65
+ Vue.component('ComponentBName', ComponentB);
66
+ Vue.component('ComponentCName', ComponentC);
67
+ ```
68
+
69
+ ## 2. Configure the X Components
70
+
71
+ You can configure some behaviors for each component to customize the search experience.
72
+
73
+ To provide different project-specific behaviors, you can use:
74
+
75
+ - **Props**: custom attributes to pass data into a component. It modifies the behavior or the
76
+ properties in a component.
77
+
78
+ ```vue
79
+ //Configure a component with props.
80
+ <SearchInput :maxLength="5" :autofocus="false" :instant="true" :instantDebounceInMs="1000" />
81
+ ```
82
+
83
+ - **Scoped slots**: a slot exposes data from a child component to create your own custom
84
+ implementation.
85
+
86
+ ```vue
87
+ //Configure a component with slots.
88
+ <ClearSearchInput>Clear</ClearSearchInput>
89
+ ```
90
+
91
+ You can pass the configuration attributes documented in the
92
+ [UI Reference](/develop-empathy-platform/ui-reference/) for the Interface&nbsp;X&nbsp;Components.
93
+
94
+ You can combine components at your ease and use resource modules such as modals, panels, and
95
+ animations. You can also use base components, i.e. standard Vue components that don’t have any
96
+ dependencies with the X&nbsp;Components. Use them as a foundation to build other components.
97
+
98
+ Your components are ready to go, but you can provide your search UI with a friendly and fancy style
99
+ and layout. For more information, see
100
+ [Design tokens](https://github.com/empathyco/x/blob/main/packages/x-components/contributing/design-system.md).
101
+
102
+ <!--If you want to support multiple languages, you can use the [x-translation](https://github.com/empathyco/x/tree/main/packages/x-translations) library to manage localization options.-->
103
+
104
+ ## Example: Using the search box components
105
+
106
+ To build your search UI, you need to provide at least a search field that allows users to input a
107
+ query. Additionally, you can include a button to trigger the search and a button to delete the input
108
+ query.
109
+
110
+ The search-box module contains these components:
111
+
112
+ - `SearchInput`
113
+ - `SearchButton`
114
+ - `ClearSearchInput`
115
+
116
+ ::: interact Learn more about the
117
+ [Search Box UI](/explore-empathy-platform/experience-search-&-discovery/search-box.md) :::
118
+
119
+ ### Importing the components from the search-box module
120
+
121
+ For this purpose, you need to import the `SearchInput`, `SearchButton`, and `ClearSearchInput`
122
+ components from the `search-box` module to the desired app component. Then, register them and
123
+ include them in the template.
124
+
125
+ First, import and locally register the components.
126
+
127
+ ```vue
128
+ //Import the components from the corresponding module.
129
+ <script>
130
+ import { SearchInput, SearchButton, ClearSearchInput } from '@empathyco/x-components/search-box';
131
+
132
+ //Locally register each component.
133
+ export default {
134
+ components: { SearchInput, SearchButton, ClearSearchInput }
135
+ };
136
+ </script>
137
+ ```
138
+
139
+ Now, you’re ready to start using the component wherever you want in your template.
140
+
141
+ ```vue
142
+ <template>
143
+ <div>
144
+ <SearchInput />
145
+ <SearchButton />
146
+ <ClearSearchInput />
147
+ </div>
148
+ </template>
149
+ ```
150
+
151
+ ### Configuring the SearchInput component
152
+
153
+ Next, you want to configure the behavior of the `SearchInput` component. Here you use the
154
+ `maxLength` prop to limit the maximum length to 20 characters.
155
+
156
+ ```vue
157
+ <SearchInput
158
+ :maxLength="20"
159
+ :autofocus="false"
160
+ :instant="true"
161
+ :instantDebounceInMs="1000"
162
+ :autocompleteKeyboardKeys="['ArrowDown']"
163
+ :autocompleteSuggestionsEvent="'NextQueriesChanged'"
164
+ />
165
+ ```
@@ -0,0 +1,192 @@
1
+ ---
2
+ title: Integrate Interface X Components in your Vue application
3
+ tags:
4
+ - integration
5
+ - interface x components integration
6
+ - web integration
7
+ - x integration
8
+ - interface x
9
+ ---
10
+
11
+ # Integrate Interface X Components in your Vue application
12
+
13
+ In this tutorial, you’ll learn the basics to integrate the Interface&nbsp;X&nbsp;Components library
14
+ in your own project to craft enticing Vue search experiences for your shop in a matter of minutes.
15
+
16
+ ::: interact If you are looking to use the ready-to-go project Interface&nbsp;X&nbsp;Archetype as
17
+ your starting point, see
18
+ **[Integrate Interface X Archetype project](/develop-empathy-platform/build-search-ui/web-archetype-integration-guide.md)**.
19
+ :::
20
+
21
+ For this tutorial, the Empathy Search API is used, but you can use any search API. This step-by-step
22
+ guide requires a knowledge of **JavaScript** and **Vue.js**.
23
+
24
+ You can find the X&nbsp;Components library in the
25
+ [Interface X open source project in GitHub](https://github.com/empathyco/x).
26
+
27
+ ::: note Before you begin
28
+
29
+ To integrate the X&nbsp;Components in a frontend UI, you need:
30
+
31
+ - **Empathy Search API** to retrieve search data (or any other search API)
32
+ - A **search adapter** to communicate with the search API. You can use the Empathy Adapter and
33
+ configure it with the `EmpathyAdapterBuilder`
34
+
35
+ :::
36
+
37
+ ##### Steps to integrate the X&nbsp;Components in your project:
38
+
39
+ 1. Install **project dependencies**.
40
+ 2. Configure the **search adapter**.
41
+ 3. Configure the **xPlugin**.
42
+ 4. Install and **initialize the xPlugin**.
43
+
44
+ ## 1. Install the dependencies
45
+
46
+ To build your search and discovery UI, the following project dependencies are required:
47
+
48
+ - **x-components** library
49
+ ([`@empathyco/x-components`](https://github.com/empathyco/x/tree/main/packages/x-components)):
50
+ Interface&nbsp;X&nbsp;Components Vue.js library to implement out-of-the-box search UI components
51
+ in a couple of minutes.
52
+
53
+ - **x-adapter**
54
+ ([`@empathyco/x-adapter`](https://github.com/empathyco/x/tree/main/packages/search-adapter)): A
55
+ search adapter connector that tells the app how to communicate with the Empathy Search API you’re
56
+ using, translating the response into understandable information for X&nbsp;Components. If you are
57
+ not using the Empathy Search API, you need to build your own search adapter.
58
+
59
+ - **x-types**
60
+ ([`@empathyco/x-types`](https://github.com/empathyco/x/tree/main/packages/search-types)): The data
61
+ model used in the X&nbsp;Components to define types.
62
+
63
+ - **reflect-metadata**: Polyfill that allows the internal decorators of X&nbsp;Components to be
64
+ used. This is only required if you use the Empathy search adapter (`x-adapter`).
65
+
66
+ Install the project dependencies via `npm` as follows:
67
+
68
+ ```batch
69
+ //Install the dependencies via npm.
70
+ npm install --save @empathyco/x-components @empathyco/x-types @empathyco/x-adapter reflect-metadata
71
+ ```
72
+
73
+ ## 2. Configure the search adapter
74
+
75
+ ::: warning If you are using the Empathy search API and the Empathy Search Adapter (`x-adapter`),
76
+ make sure you have imported the `reflect-metadata` polyfill before executing any code of the search
77
+ adapter. :::
78
+
79
+ Next, construct the search adapter. You will need the search adapter in the
80
+ [xPlugin configuration](#_3-configure-the-xplugin).
81
+
82
+ Empathy Search Adapter is a library for making it easier to consume search APIs. The project
83
+ contains two main parts: an **implementation** to consume the Empathy Search API, and an
84
+ **interface** that you can use to build your own adapter for other APIs.
85
+
86
+ It contains a specific builder that helps you to configure the Empathy Search Adapter. If you are
87
+ using Empathy Search API, you need to only configure the values for `instance`, `language`, `scope`,
88
+ and `endpoint` properties in the `empathy-adapter.config.ts` file.
89
+
90
+ ```typescript
91
+ // Import the search adapter and metadata
92
+ import 'reflect-metadata';
93
+ import { EmpathyAdapterBuilder } from '@empathyco/x-adapter';
94
+
95
+ // Construct the EmpathyAdapterBuilder
96
+ export const adapter = new EmpathyAdapterBuilder()
97
+ .withConfiguration({ instance: 'my-instance-id' })
98
+ .setLang('es')
99
+ .setScope('demo')
100
+ .setFeatureConfig('search', { endpoint: 'http://my-search-API-url' })
101
+ .build();
102
+ ```
103
+
104
+ ::: warning If you do not use the Empathy Search API, you need to build your own adapter. :::
105
+
106
+ For more information, see
107
+ [Using the Empathy Search Adapter](https://github.com/empathyco/x/tree/main/packages/search-adapter).
108
+
109
+ ## 3. Configure the plugin
110
+
111
+ Plugins are self-contained code that usually add global-level functionality to Vue projects. They’re
112
+ specifically objects that expose an `install` method, allowing you to keep your components clear and
113
+ small.
114
+
115
+ The xPlugin is designed to connect the X&nbsp;Components to the Vue components in your project.
116
+
117
+ **Import** the xPlugin in your Vue instance.
118
+
119
+ ```typescript
120
+ import Vue from 'vue';
121
+ import { xPlugin } from '@empathyco/x-components';
122
+ import { adapter } from './my-adapter';
123
+ import { store } from './my-store';
124
+ ```
125
+
126
+ Then, **configure** the xPlugin. It has two key options you need to configure:
127
+
128
+ 1. **Adapter**: A search adapter is required to connect and communicate with the search API. Here
129
+ you’re using the `EmpathyAdapterBuilder` to communicate specifically with the Empathy Search API.
130
+ If you are not using the Empathy Search API, you need to build your own adapter. See
131
+ [Configure the search adapter](#_2-configure-the-search-adapter).
132
+
133
+ ::: develop
134
+
135
+ When using your own adapter, remember to configure the `instance`, `language`, `scope`, and
136
+ `endpoint` methods.
137
+
138
+ :::
139
+
140
+ 2. **Store**: The Vuex store. If you use a store for Vuex, you need to provide the store you’re
141
+ currently using for your project to the Vue instance.
142
+
143
+ ::: warning
144
+
145
+ If you don’t provide any parameters for the `store`, a default store is created automatically. Leave
146
+ the `store` blank **only if you’re not using any store** for Vuex.
147
+
148
+ :::
149
+
150
+ ## 4. Install and initialize the plugin
151
+
152
+ Finally, the last step is to install and initialize the xPlugin. You need to do this in the
153
+ `main.ts` or `main.js file` of the project.
154
+
155
+ ```typescript
156
+ //Initialize the plugin. Pass the search adapter and the store you use as parameters.
157
+ Vue.use(xPlugin, { adapter, store });
158
+ ```
159
+
160
+ ---
161
+
162
+ ### Next steps
163
+
164
+ Watch how our frontend Team Lead, [Iván Tajes](https://github.com/tajespasarela), integrates the
165
+ Interface&nbsp;X&nbsp;Components in a project from scratch.
166
+
167
+ <VideoContent
168
+ title="Want to learn more?"
169
+ source="/assets/media/videos/How-to-use-X-components-in-a-real-project.mp4"
170
+ poster="/assets/media/videos/How-to-use-X-components-in-a-real-project.jpeg"
171
+ :links="[
172
+ {
173
+ title:'Architecture',
174
+ path:'/develop-empathy-platform/build-search-ui/x-architecture/'
175
+ },
176
+ {
177
+ title:'UI reference',
178
+ path:'/develop-empathy-platform/ui-reference/'
179
+ }
180
+ ]">
181
+
182
+ Once you have integrated the Interface&nbsp;X&nbsp;Components in your project, you're ready to start
183
+ building your search and discovery UI:
184
+
185
+ - Change the configuration of the [X Components](web-use-x-components-guide.md) or create new ones.
186
+ - Adapt the
187
+ [design system](https://github.com/empathyco/x/blob/main/packages/x-components/contributing/design-system.md)
188
+ to your branding.
189
+
190
+ </VideoContent>
191
+
192
+ <!-- Manage [internationalization options](https://github.com/empathyco/x/tree/main/packages/x-translations) to support different languages.-->
@@ -0,0 +1,128 @@
1
+ ---
2
+ title: How Interface X works
3
+ tags:
4
+ - x components
5
+ - interface x
6
+ - x architecture
7
+ - architecture
8
+ ---
9
+
10
+ # How Interface X works
11
+
12
+ <img :src="$withBase('/assets/media/interfacex-architecture.svg')" alt="Interface X architecture">
13
+
14
+ <FootNote>
15
+
16
+ Data journey: The frontend components collect user interactions or events. The wiring orchestrates
17
+ the UI events by emitting actions for the client API through the adapter. The API returns the
18
+ required data, travelling to the Vuex store through actions that can modify the app data state in
19
+ the Vuex store with mutation objects. The UI components are bound to the data state, so that they
20
+ render the new state to the user.
21
+
22
+ </FootNote>
23
+
24
+ ## Understand how the pieces work together
25
+
26
+ The Interface&nbsp;X architecture is designed into separate tiers and elements:
27
+
28
+ 1. **Presentation tier**. Mainly represented by the UI **components**, responsible for determining
29
+ how to display the data. It not only presents data in an understandable manner to users, but
30
+ also monitors user interactions, emitting events to the Interface&nbsp;X application.
31
+
32
+ Components can be customised according to client requirements, even allowing custom CSS styles.
33
+
34
+ 2. **Orchestration tier**. The x-factor in charge of orchestrating all the event wiring. When an
35
+ event is emitted, other components are listening to it to react. This behavioural connection
36
+ between components through events is the **wiring**. Then, the wiring decides what happens when
37
+ an event is emitted in the Presentation layer.
38
+
39
+ The wiring is customisable and flexible to meet client requirements. The behaviour can change
40
+ without modifying the entire application. The event-driven operators in charge of the wiring
41
+ routing logic enable different wiring configurations per event.
42
+
43
+ 3. **Business logic tier**. The heart of the app in charge of keeping all the data processing,
44
+ where:
45
+ - UI events emit **actions** for the client API. These actions can modify the state of the
46
+ store.
47
+ - The **store** holds all the app data that should be presented to the user at any given time.
48
+ It acts as a single source of truth, providing great performance and reactivity.
49
+
50
+ The Interface&nbsp;X app needs an **adapter** to handle all client API communications. The API
51
+ adapter mainly translates the related app data and use models to the client API and vice versa,
52
+ solving any incompatibility issues. It is the entry point for all external data into the
53
+ application.
54
+
55
+ The API adapter can be customised and extended to meet the client requirements. It’s a plug-in
56
+ element that can be changed and adjusted to the specific client API, even when using other search
57
+ services not based on the Empathy search API.
58
+
59
+ ::: note Architecture patterns
60
+ If you’re already experienced in the Vue universe, you’ll find the Interface&nbsp;X architecture
61
+ somewhat familiar. Although the [ViewModel layer](https://012.vuejs.org/guide/#Introduction) of the
62
+ **MVVM pattern** sprinkles traces all over the presentation tier, the Interface X architecture is
63
+ basically inspired by the
64
+ [**Flux pattern**](https://vuex.vuejs.org/#what-is-a-state-management-pattern) behind the state. As
65
+ the X&nbsp;Components emit events that dispatch actions in the business logic tier, these actions
66
+ can commit mutations to modify the state of the store.
67
+ To sum up, the design of Interface&nbsp;X takes advantage of the MVVM and Flux patterns to design,
68
+ develop, and configure each tier separately and independently. :::
69
+
70
+ ## Technical stack
71
+
72
+ - [Vue.js](https://vuejs.org/) framework
73
+ - JavaScript + [TypeScript](https://www.typescriptlang.org/) languages
74
+ - [RxJS](https://rxjs.dev/) for the wiring configuration logic
75
+
76
+ **The story so far**
77
+ Not long ago, exploring alternative options for the architecture design and technical stack became a
78
+ must. There were several design challenges that needed to be overcome to make the frontend service
79
+ easier to configure:
80
+
81
+ - Improve reusability and performance that were hindered by the logic in components and the bundle
82
+ size
83
+ - Facilitate setup by solving synchronicity and extendability problems
84
+ - Provide easier maintenance over time, reducing regression issues
85
+
86
+ After studying different approaches to build fast and reusable components, **Vue.js** (also Vue)
87
+ seemed to be the best fit for the technical requirements and the level of abstraction required.
88
+
89
+ Revamping the architecture and technical stack has helped the former frontend services to evolve
90
+ into the latest Interface&nbsp;X application. Now, all the required **attributes and design
91
+ principles** are combined to make the solution easy to implement, change, test, and reuse:
92
+
93
+ - **Flexible**. Make changes to any element without impacting the rest of the app. For example, you
94
+ can modify a visual component without impacting the business logic.
95
+ - **Customizable & extensible**. Add new custom components andor features.
96
+ - **Lightweight**. The bundle includes only the modules you want. You’ll get only the code you
97
+ really need.
98
+ - **Incremental**. The modules interact and communicate automatically with each other. The more
99
+ modules you use, the more features you get.
100
+ - **Easy-to-integrate**. Install the library as an NPM dependency in Vue and React projects.
101
+ Interface X can be used in any webpage, as long as it is integrated as an isolated search layer.
102
+
103
+ **Why Vue?**
104
+ Due to the flexibility required, using a library for the presentation layer instead of a
105
+ full-fledged framework is the best choice. Among the state-of-the-art technologies available for
106
+ building component-based UIs, Vue meets all the requirements:
107
+
108
+ - Lightweight, flexible, and stand-alone library
109
+ - Easy to learn and use with a user-friendly template syntax
110
+ - Smooth dynamic components and composition creation
111
+ - Outperformance with reactive approach, proxies, and interceptors
112
+ - Out-of-the-box solution, allowing you to focus just on developing features
113
+ - Small bundle size with no dependencies
114
+
115
+ **How does Vue meet the design challenges?**
116
+
117
+ - Stateless components. Centralised management through the Vuex library reduces the logic in
118
+ components.
119
+ - Smooth setups. Dynamic component creation helps to track the modified data and re-render only the
120
+ required components.
121
+ - Improved performance out of the box
122
+ - Seamless maintenance. Framework or library-agnostic
123
+
124
+ ::: note
125
+ Interface&nbsp;X can potentially be integrated in commerce shops built with React. In any case,
126
+ Interface&nbsp;X can be used in any webpage, as long as it is integrated as an isolated search
127
+ layer.
128
+ :::
@@ -7,7 +7,7 @@ export { identifierHighlightRegexp } from '../js/x-modules/identifier-results/st
7
7
  export { identifierResultsRequest } from '../js/x-modules/identifier-results/store/getters/identifier-results-request.getter.js';
8
8
  export { identifierResultsXStoreModule } from '../js/x-modules/identifier-results/store/module.js';
9
9
  export { identifierResultsEmitters } from '../js/x-modules/identifier-results/store/emitters.js';
10
- export { cancelFetchAndSaveIdentifierResultsWire, clearIdentifierResultsQuery, fetchAndSaveIdentifierResultsWire, identifierResultsWiring, saveIdentifierResultsOriginWire, setIdentifierResultsQuery } from '../js/x-modules/identifier-results/wiring.js';
10
+ export { cancelFetchAndSaveIdentifierResultsWire, clearIdentifierResultsQuery, fetchAndSaveIdentifierResultsWire, identifierResultsWiring, saveIdentifierResultsOriginWire, setIdentifierResultsExtraParams, setIdentifierResultsQuery } from '../js/x-modules/identifier-results/wiring.js';
11
11
  export { identifierResultsXModule } from '../js/x-modules/identifier-results/x-module.js';
12
12
  export { default as IdentifierResult } from '../js/x-modules/identifier-results/components/identifier-result.vue.js';
13
13
  export { default as IdentifierResults } from '../js/x-modules/identifier-results/components/identifier-results.vue.js';
@@ -6,7 +6,7 @@ import __vue_create_injector__ from 'vue-runtime-helpers/dist/inject-style/brows
6
6
  var __vue_script__ = script;
7
7
 
8
8
  /* template */
9
- var __vue_render__ = function() {
9
+ var __vue_render__ = function () {
10
10
  var _vm = this;
11
11
  var _h = _vm.$createElement;
12
12
  var _c = _vm._self._c || _h;
@@ -6,7 +6,7 @@ import script from './collapse-from-top.vue_rollup-plugin-vue=script.js';
6
6
  var __vue_script__ = script;
7
7
 
8
8
  /* template */
9
- var __vue_render__ = function() {
9
+ var __vue_render__ = function () {
10
10
  var _vm = this;
11
11
  var _h = _vm.$createElement;
12
12
  var _c = _vm._self._c || _h;
@@ -6,7 +6,7 @@ import script from './collapse-height.vue_rollup-plugin-vue=script.js';
6
6
  var __vue_script__ = script;
7
7
 
8
8
  /* template */
9
- var __vue_render__ = function() {
9
+ var __vue_render__ = function () {
10
10
  var _vm = this;
11
11
  var _h = _vm.$createElement;
12
12
  var _c = _vm._self._c || _h;
@@ -18,8 +18,8 @@ var __vue_render__ = function() {
18
18
  on: {
19
19
  enter: _vm.expand,
20
20
  "after-enter": _vm.cleanUpAnimationStyles,
21
- leave: _vm.collapse
22
- }
21
+ leave: _vm.collapse,
22
+ },
23
23
  },
24
24
  _vm.$listeners
25
25
  ),
@@ -6,7 +6,7 @@ import script from './collapse-width.vue_rollup-plugin-vue=script.js';
6
6
  var __vue_script__ = script;
7
7
 
8
8
  /* template */
9
- var __vue_render__ = function() {
9
+ var __vue_render__ = function () {
10
10
  var _vm = this;
11
11
  var _h = _vm.$createElement;
12
12
  var _c = _vm._self._c || _h;
@@ -18,8 +18,8 @@ var __vue_render__ = function() {
18
18
  on: {
19
19
  enter: _vm.expand,
20
20
  "after-enter": _vm.cleanUpAnimationStyles,
21
- leave: _vm.collapse
22
- }
21
+ leave: _vm.collapse,
22
+ },
23
23
  },
24
24
  _vm.$listeners
25
25
  ),
@@ -6,7 +6,7 @@ import script from './cross-fade.vue_rollup-plugin-vue=script.js';
6
6
  var __vue_script__ = script;
7
7
 
8
8
  /* template */
9
- var __vue_render__ = function() {
9
+ var __vue_render__ = function () {
10
10
  var _vm = this;
11
11
  var _h = _vm.$createElement;
12
12
  var _c = _vm._self._c || _h;
@@ -6,7 +6,7 @@ import script from './fade-and-slide.vue_rollup-plugin-vue=script.js';
6
6
  var __vue_script__ = script;
7
7
 
8
8
  /* template */
9
- var __vue_render__ = function() {
9
+ var __vue_render__ = function () {
10
10
  var _vm = this;
11
11
  var _h = _vm.$createElement;
12
12
  var _c = _vm._self._c || _h;
@@ -15,7 +15,7 @@ var __vue_render__ = function() {
15
15
  _vm._g(
16
16
  {
17
17
  staticClass: "x-fade-and-slide",
18
- attrs: { appear: "", name: "x-fade-and-slide-", tag: _vm.tag }
18
+ attrs: { appear: "", name: "x-fade-and-slide-", tag: _vm.tag },
19
19
  },
20
20
  _vm.$listeners
21
21
  ),
@@ -6,7 +6,7 @@ import script from './staggered-fade-and-slide.vue_rollup-plugin-vue=script.js';
6
6
  var __vue_script__ = script;
7
7
 
8
8
  /* template */
9
- var __vue_render__ = function() {
9
+ var __vue_render__ = function () {
10
10
  var _vm = this;
11
11
  var _h = _vm.$createElement;
12
12
  var _c = _vm._self._c || _h;
@@ -16,7 +16,7 @@ var __vue_render__ = function() {
16
16
  _vm._b(
17
17
  {
18
18
  staticClass: "x-staggered-fade-and-slide",
19
- attrs: { appear: "", name: "x-staggered-fade-and-slide-" }
19
+ attrs: { appear: "", name: "x-staggered-fade-and-slide-" },
20
20
  },
21
21
  "staggering-transition-group",
22
22
  _vm.$attrs,
@@ -6,7 +6,7 @@ import script from './translate-from-left.vue_rollup-plugin-vue=script.js';
6
6
  var __vue_script__ = script;
7
7
 
8
8
  /* template */
9
- var __vue_render__ = function() {
9
+ var __vue_render__ = function () {
10
10
  var _vm = this;
11
11
  var _h = _vm.$createElement;
12
12
  var _c = _vm._self._c || _h;
@@ -6,7 +6,7 @@ import script from './translate-from-right.vue_rollup-plugin-vue=script.js';
6
6
  var __vue_script__ = script;
7
7
 
8
8
  /* template */
9
- var __vue_render__ = function() {
9
+ var __vue_render__ = function () {
10
10
  var _vm = this;
11
11
  var _h = _vm.$createElement;
12
12
  var _c = _vm._self._c || _h;
@@ -6,7 +6,7 @@ import script from './auto-progress-bar.vue_rollup-plugin-vue=script.js';
6
6
  var __vue_script__ = script;
7
7
 
8
8
  /* template */
9
- var __vue_render__ = function() {
9
+ var __vue_render__ = function () {
10
10
  var _vm = this;
11
11
  var _h = _vm.$createElement;
12
12
  var _c = _vm._self._c || _h;
@@ -15,15 +15,14 @@ var __vue_render__ = function() {
15
15
  "div",
16
16
  {
17
17
  staticClass: "x-progress-bar",
18
- attrs: { "data-test": "progress-bar", role: "progressbar" }
18
+ attrs: { "data-test": "progress-bar", role: "progressbar" },
19
19
  },
20
20
  [
21
21
  _c("div", {
22
22
  staticClass: "x-progress-bar__line",
23
23
  style: _vm.cssStyles,
24
- attrs: { "data-test": "progress-bar-line" }
25
- })
26
- ]
24
+ attrs: { "data-test": "progress-bar-line" },
25
+ }) ]
27
26
  )
28
27
  : _vm._e()
29
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"auto-progress-bar.vue.js","sources":["../../../src/components/auto-progress-bar.vue"],"sourcesContent":["<template>\n <div v-if=\"isLoading\" class=\"x-progress-bar\" data-test=\"progress-bar\" role=\"progressbar\">\n <div class=\"x-progress-bar__line\" :style=\"cssStyles\" data-test=\"progress-bar-line\"></div>\n </div>\n</template>\n\n<script lang=\"ts\">\n import Vue from 'vue';\n import { Component, Prop } from 'vue-property-decorator';\n\n /**\n * An auto progress bar component.\n *\n * @public\n */\n @Component\n export default class AutoProgressBar extends Vue {\n /**\n * A boolean flag indicating if the bar is loading.\n *\n * @public\n */\n @Prop({ default: true })\n public isLoading!: boolean;\n\n /**\n * The duration in seconds of the progress bar.\n *\n * @public\n */\n @Prop({ default: 5 })\n public durationInSeconds!: number;\n\n /**\n * Computed property to calculate the animation's duration.\n *\n * @returns The CSS styles of the animation.\n *\n * @internal\n */\n protected get cssStyles(): Partial<CSSStyleDeclaration> {\n return { animationDuration: `${this.durationInSeconds}s` };\n }\n }\n</script>\n\n<style lang=\"scss\">\n .x-progress-bar {\n display: inline-block;\n overflow: hidden;\n background-color: var(--x-color-background-progress-bar-default, #b3b3b3);\n border-radius: var(--x-size-border-radius-progress-bar-default, 24px);\n\n &__line {\n height: var(--x-size-height-progress-bar-line-default, 4px);\n width: var(--x-size-width-progress-bar-line-default, 272px);\n background-color: var(--x-color-background-progress-bar-line-default, #1a1a1a);\n border-radius: var(--x-size-border-radius-progress-bar-default, 24px);\n animation: slide linear;\n transform-origin: left;\n }\n }\n @keyframes slide {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(0);\n }\n }\n</style>\n\n<docs lang=\"mdx\">\n## See it in action\n\nHere you have a basic example of how the auto progress bar is rendered.\n\n```vue\n<template>\n <AutoProgressBar :isLoading=\"isLoading\" :durationInSeconds=\"delayInSeconds\" />\n</template>\n\n<script>\n export default {\n name: 'AutoProgressBarDemo',\n data() {\n return {\n isLoading: true,\n durationInSeconds: 100\n };\n }\n };\n</script>\n```\n\n### Play with props\n\nIn this example, the auto progress bar has been set to do an animation for 5 seconds. There is a way\nto cancel the animation by sending the isLoading prop to false.\n\n```vue\n<template>\n <AutoProgressBar :durationInSeconds=\"5\" :isLoading=\"true\" />\n</template>\n\n<script>\n export default {\n name: 'AutoProgressBarDemo'\n };\n</script>\n```\n\n## Events\n\nThis component emits the following events:\n\n- `UserClickedARedirection` after the user clicks the redirection button.\n- `UserClickedAbortARedirection` after the user clicks the abort redirection button.\n</docs>\n"],"names":["const"],"mappings":";;;;;AAEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"auto-progress-bar.vue.js","sources":["../../../src/components/auto-progress-bar.vue"],"sourcesContent":["<template>\n <div v-if=\"isLoading\" class=\"x-progress-bar\" data-test=\"progress-bar\" role=\"progressbar\">\n <div class=\"x-progress-bar__line\" :style=\"cssStyles\" data-test=\"progress-bar-line\"></div>\n </div>\n</template>\n\n<script lang=\"ts\">\n import Vue from 'vue';\n import { Component, Prop } from 'vue-property-decorator';\n\n /**\n * An auto progress bar component.\n *\n * @public\n */\n @Component\n export default class AutoProgressBar extends Vue {\n /**\n * A boolean flag indicating if the bar is loading.\n *\n * @public\n */\n @Prop({ default: true })\n public isLoading!: boolean;\n\n /**\n * The duration in seconds of the progress bar.\n *\n * @public\n */\n @Prop({ default: 5 })\n public durationInSeconds!: number;\n\n /**\n * Computed property to calculate the animation's duration.\n *\n * @returns The CSS styles of the animation.\n *\n * @internal\n */\n protected get cssStyles(): Partial<CSSStyleDeclaration> {\n return { animationDuration: `${this.durationInSeconds}s` };\n }\n }\n</script>\n\n<style lang=\"scss\">\n .x-progress-bar {\n display: inline-block;\n overflow: hidden;\n background-color: var(--x-color-background-progress-bar-default, #b3b3b3);\n border-radius: var(--x-size-border-radius-progress-bar-default, 24px);\n\n &__line {\n height: var(--x-size-height-progress-bar-line-default, 4px);\n width: var(--x-size-width-progress-bar-line-default, 272px);\n background-color: var(--x-color-background-progress-bar-line-default, #1a1a1a);\n border-radius: var(--x-size-border-radius-progress-bar-default, 24px);\n animation: slide linear;\n transform-origin: left;\n }\n }\n @keyframes slide {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(0);\n }\n }\n</style>\n\n<docs lang=\"mdx\">\n## See it in action\n\nHere you have a basic example of how the auto progress bar is rendered.\n\n```vue\n<template>\n <AutoProgressBar :isLoading=\"isLoading\" :durationInSeconds=\"delayInSeconds\" />\n</template>\n\n<script>\n export default {\n name: 'AutoProgressBarDemo',\n data() {\n return {\n isLoading: true,\n durationInSeconds: 100\n };\n }\n };\n</script>\n```\n\n### Play with props\n\nIn this example, the auto progress bar has been set to do an animation for 5 seconds. There is a way\nto cancel the animation by sending the isLoading prop to false.\n\n```vue\n<template>\n <AutoProgressBar :durationInSeconds=\"5\" :isLoading=\"true\" />\n</template>\n\n<script>\n export default {\n name: 'AutoProgressBarDemo'\n };\n</script>\n```\n\n## Events\n\nThis component emits the following events:\n\n- `UserClickedARedirection` after the user clicks the redirection button.\n- `UserClickedAbortARedirection` after the user clicks the abort redirection button.\n</docs>\n"],"names":["const"],"mappings":";;;;;AAEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}