@empathyco/x-components 7.2.3 → 7.2.4

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 (572) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/core/index.js +3 -3
  3. package/js/components/animations/{animate-clip-path2.vue.js → animate-clip-path.vue2.js} +1 -1
  4. package/js/components/animations/animate-clip-path.vue2.js.map +1 -0
  5. package/js/components/animations/animate-clip-path.vue3.js +7 -0
  6. package/js/components/animations/animate-clip-path.vue3.js.map +1 -0
  7. package/js/components/animations/{animate-scale2.vue.js → animate-scale.vue2.js} +1 -1
  8. package/js/components/animations/animate-scale.vue2.js.map +1 -0
  9. package/js/components/animations/{animate-scale3.vue.js → animate-scale.vue3.js} +2 -2
  10. package/js/components/animations/animate-scale.vue3.js.map +1 -0
  11. package/js/components/animations/{animate-translate2.vue.js → animate-translate.vue2.js} +1 -1
  12. package/js/components/animations/animate-translate.vue2.js.map +1 -0
  13. package/js/components/animations/animate-translate.vue3.js +7 -0
  14. package/js/components/animations/animate-translate.vue3.js.map +1 -0
  15. package/js/components/animations/animate-width.vue.js +2 -2
  16. package/js/components/animations/{animate-width2.vue.js → animate-width.vue2.js} +1 -1
  17. package/js/components/animations/{animate-width2.vue.js.map → animate-width.vue2.js.map} +1 -1
  18. package/js/components/animations/{animate-width3.vue.js → animate-width.vue3.js} +1 -1
  19. package/js/components/animations/animate-width.vue3.js.map +1 -0
  20. package/js/components/animations/change-height.vue.js +2 -2
  21. package/js/components/animations/{change-height2.vue.js → change-height.vue2.js} +1 -1
  22. package/js/components/animations/{change-height2.vue.js.map → change-height.vue2.js.map} +1 -1
  23. package/js/components/animations/{change-height3.vue.js → change-height.vue3.js} +1 -1
  24. package/js/components/animations/change-height.vue3.js.map +1 -0
  25. package/js/components/animations/collapse-height.vue.js +2 -2
  26. package/js/components/animations/{collapse-height2.vue.js → collapse-height.vue2.js} +1 -1
  27. package/js/components/animations/{collapse-height2.vue.js.map → collapse-height.vue2.js.map} +1 -1
  28. package/js/components/animations/{collapse-height3.vue.js → collapse-height.vue3.js} +1 -1
  29. package/js/components/animations/collapse-height.vue3.js.map +1 -0
  30. package/js/components/animations/collapse-width.vue.js +2 -2
  31. package/js/components/animations/{collapse-width2.vue.js → collapse-width.vue2.js} +1 -1
  32. package/js/components/animations/{collapse-width2.vue.js.map → collapse-width.vue2.js.map} +1 -1
  33. package/js/components/animations/{collapse-width3.vue.js → collapse-width.vue3.js} +1 -1
  34. package/js/components/animations/collapse-width.vue3.js.map +1 -0
  35. package/js/components/animations/cross-fade.vue.js +2 -2
  36. package/js/components/animations/{cross-fade2.vue.js → cross-fade.vue2.js} +1 -1
  37. package/js/components/animations/{cross-fade2.vue.js.map → cross-fade.vue2.js.map} +1 -1
  38. package/js/components/animations/{cross-fade3.vue.js → cross-fade.vue3.js} +1 -1
  39. package/js/components/animations/cross-fade.vue3.js.map +1 -0
  40. package/js/components/animations/fade-and-slide.vue.js +2 -2
  41. package/js/components/animations/{fade-and-slide2.vue.js → fade-and-slide.vue2.js} +1 -1
  42. package/js/components/animations/{fade-and-slide2.vue.js.map → fade-and-slide.vue2.js.map} +1 -1
  43. package/js/components/animations/{fade-and-slide3.vue.js → fade-and-slide.vue3.js} +1 -1
  44. package/js/components/animations/fade-and-slide.vue3.js.map +1 -0
  45. package/js/components/animations/fade.vue.js +2 -2
  46. package/js/components/animations/{fade2.vue.js → fade.vue2.js} +1 -1
  47. package/js/components/animations/{fade2.vue.js.map → fade.vue2.js.map} +1 -1
  48. package/js/components/animations/{fade3.vue.js → fade.vue3.js} +1 -1
  49. package/js/components/animations/fade.vue3.js.map +1 -0
  50. package/js/components/animations/{no-animation2.vue.js → no-animation.vue2.js} +1 -1
  51. package/js/components/animations/no-animation.vue2.js.map +1 -0
  52. package/js/components/animations/staggered-fade-and-slide.vue.js +2 -2
  53. package/js/components/animations/{staggered-fade-and-slide2.vue.js → staggered-fade-and-slide.vue2.js} +1 -1
  54. package/js/components/animations/{staggered-fade-and-slide2.vue.js.map → staggered-fade-and-slide.vue2.js.map} +1 -1
  55. package/js/components/animations/{staggered-fade-and-slide3.vue.js → staggered-fade-and-slide.vue3.js} +1 -1
  56. package/js/components/animations/staggered-fade-and-slide.vue3.js.map +1 -0
  57. package/js/components/auto-progress-bar.vue.js +2 -2
  58. package/js/components/{auto-progress-bar2.vue.js → auto-progress-bar.vue2.js} +1 -1
  59. package/js/components/{auto-progress-bar2.vue.js.map → auto-progress-bar.vue2.js.map} +1 -1
  60. package/js/components/{auto-progress-bar3.vue.js → auto-progress-bar.vue3.js} +1 -1
  61. package/js/components/auto-progress-bar.vue3.js.map +1 -0
  62. package/js/components/base-dropdown.vue.js +2 -2
  63. package/js/components/{base-dropdown2.vue.js → base-dropdown.vue2.js} +20 -20
  64. package/js/components/{base-dropdown2.vue.js.map → base-dropdown.vue2.js.map} +1 -1
  65. package/js/components/{base-dropdown3.vue.js → base-dropdown.vue3.js} +1 -1
  66. package/js/components/base-dropdown.vue3.js.map +1 -0
  67. package/js/components/base-event-button.vue.js +1 -1
  68. package/js/components/{base-event-button2.vue.js → base-event-button.vue2.js} +1 -1
  69. package/js/components/{base-event-button2.vue.js.map → base-event-button.vue2.js.map} +1 -1
  70. package/js/components/base-grid.vue.js +2 -2
  71. package/js/components/{base-grid2.vue.js → base-grid.vue2.js} +1 -1
  72. package/js/components/{base-grid2.vue.js.map → base-grid.vue2.js.map} +1 -1
  73. package/js/components/{base-grid3.vue.js → base-grid.vue3.js} +1 -1
  74. package/js/components/base-grid.vue3.js.map +1 -0
  75. package/js/components/base-keyboard-navigation.vue.js +1 -1
  76. package/js/components/{base-keyboard-navigation2.vue.js → base-keyboard-navigation.vue2.js} +1 -1
  77. package/js/components/{base-keyboard-navigation2.vue.js.map → base-keyboard-navigation.vue2.js.map} +1 -1
  78. package/js/components/base-rating.vue.js +2 -2
  79. package/js/components/{base-rating2.vue.js → base-rating.vue2.js} +1 -1
  80. package/js/components/{base-rating2.vue.js.map → base-rating.vue2.js.map} +1 -1
  81. package/js/components/{base-rating3.vue.js → base-rating.vue3.js} +1 -1
  82. package/js/components/base-rating.vue3.js.map +1 -0
  83. package/js/components/base-slider.vue.js +2 -2
  84. package/js/components/{base-slider2.vue.js → base-slider.vue2.js} +1 -1
  85. package/js/components/{base-slider2.vue.js.map → base-slider.vue2.js.map} +1 -1
  86. package/js/components/{base-slider3.vue.js → base-slider.vue3.js} +1 -1
  87. package/js/components/base-slider.vue3.js.map +1 -0
  88. package/js/components/base-switch.vue.js +2 -2
  89. package/js/components/{base-switch2.vue.js → base-switch.vue2.js} +1 -1
  90. package/js/components/{base-switch2.vue.js.map → base-switch.vue2.js.map} +1 -1
  91. package/js/components/{base-switch3.vue.js → base-switch.vue3.js} +1 -1
  92. package/js/components/base-switch.vue3.js.map +1 -0
  93. package/js/components/base-teleport.vue.js +1 -1
  94. package/js/components/{base-teleport2.vue.js → base-teleport.vue2.js} +1 -1
  95. package/js/components/{base-teleport2.vue.js.map → base-teleport.vue2.js.map} +1 -1
  96. package/js/components/base-variable-column-grid.vue.js +1 -1
  97. package/js/components/{base-variable-column-grid2.vue.js → base-variable-column-grid.vue2.js} +1 -1
  98. package/js/components/{base-variable-column-grid2.vue.js.map → base-variable-column-grid.vue2.js.map} +1 -1
  99. package/js/components/column-picker/base-column-picker-dropdown.vue.js +1 -1
  100. package/js/components/column-picker/{base-column-picker-dropdown2.vue.js → base-column-picker-dropdown.vue2.js} +1 -1
  101. package/js/components/column-picker/{base-column-picker-dropdown2.vue.js.map → base-column-picker-dropdown.vue2.js.map} +1 -1
  102. package/js/components/column-picker/base-column-picker-list.vue.js +1 -1
  103. package/js/components/column-picker/{base-column-picker-list2.vue.js → base-column-picker-list.vue2.js} +1 -1
  104. package/js/components/column-picker/{base-column-picker-list2.vue.js.map → base-column-picker-list.vue2.js.map} +1 -1
  105. package/js/components/currency/base-currency.vue.js +1 -1
  106. package/js/components/currency/{base-currency2.vue.js → base-currency.vue2.js} +1 -1
  107. package/js/components/currency/{base-currency2.vue.js.map → base-currency.vue2.js.map} +1 -1
  108. package/js/components/{display-click-provider2.vue.js → display-click-provider.vue2.js} +1 -1
  109. package/js/components/display-click-provider.vue2.js.map +1 -0
  110. package/js/components/{display-emitter2.vue.js → display-emitter.vue2.js} +1 -1
  111. package/js/components/display-emitter.vue2.js.map +1 -0
  112. package/js/components/filters/labels/{base-price-filter-label2.vue.js → base-price-filter-label.vue2.js} +1 -1
  113. package/js/components/filters/labels/base-price-filter-label.vue2.js.map +1 -0
  114. package/js/components/filters/labels/base-rating-filter-label.vue.js +1 -1
  115. package/js/components/filters/labels/{base-rating-filter-label2.vue.js → base-rating-filter-label.vue2.js} +1 -1
  116. package/js/components/filters/labels/{base-rating-filter-label2.vue.js.map → base-rating-filter-label.vue2.js.map} +1 -1
  117. package/js/components/{global-x-bus2.vue.js → global-x-bus.vue2.js} +1 -1
  118. package/js/components/global-x-bus.vue2.js.map +1 -0
  119. package/js/components/highlight.vue.js +1 -1
  120. package/js/components/{highlight2.vue.js → highlight.vue2.js} +1 -1
  121. package/js/components/{highlight2.vue.js.map → highlight.vue2.js.map} +1 -1
  122. package/js/components/items-list.vue.js +1 -1
  123. package/js/components/{items-list2.vue.js → items-list.vue2.js} +1 -1
  124. package/js/components/{items-list2.vue.js.map → items-list.vue2.js.map} +1 -1
  125. package/js/components/{location-provider2.vue.js → location-provider.vue2.js} +1 -1
  126. package/js/components/location-provider.vue2.js.map +1 -0
  127. package/js/components/message.vue.js +17 -17
  128. package/js/components/{message2.vue.js → message.vue2.js} +1 -1
  129. package/js/components/message.vue2.js.map +1 -0
  130. package/js/components/modals/base-events-modal-close.vue.js +1 -1
  131. package/js/components/modals/{base-events-modal-close2.vue.js → base-events-modal-close.vue2.js} +1 -1
  132. package/js/components/modals/{base-events-modal-close2.vue.js.map → base-events-modal-close.vue2.js.map} +1 -1
  133. package/js/components/modals/base-events-modal-open.vue.js +1 -1
  134. package/js/components/modals/{base-events-modal-open2.vue.js → base-events-modal-open.vue2.js} +1 -1
  135. package/js/components/modals/{base-events-modal-open2.vue.js.map → base-events-modal-open.vue2.js.map} +1 -1
  136. package/js/components/modals/base-events-modal.vue.js +1 -1
  137. package/js/components/modals/{base-events-modal2.vue.js → base-events-modal.vue2.js} +1 -1
  138. package/js/components/modals/{base-events-modal2.vue.js.map → base-events-modal.vue2.js.map} +1 -1
  139. package/js/components/modals/base-id-modal-close.vue.js +1 -1
  140. package/js/components/modals/{base-id-modal-close2.vue.js → base-id-modal-close.vue2.js} +1 -1
  141. package/js/components/modals/{base-id-modal-close2.vue.js.map → base-id-modal-close.vue2.js.map} +1 -1
  142. package/js/components/modals/base-id-modal-open.vue.js +1 -1
  143. package/js/components/modals/{base-id-modal-open2.vue.js → base-id-modal-open.vue2.js} +1 -1
  144. package/js/components/modals/{base-id-modal-open2.vue.js.map → base-id-modal-open.vue2.js.map} +1 -1
  145. package/js/components/modals/base-id-modal.vue.js +1 -1
  146. package/js/components/modals/{base-id-modal2.vue.js → base-id-modal.vue2.js} +1 -1
  147. package/js/components/modals/{base-id-modal2.vue.js.map → base-id-modal.vue2.js.map} +1 -1
  148. package/js/components/modals/base-modal.vue.js +2 -2
  149. package/js/components/modals/{base-modal2.vue.js → base-modal.vue2.js} +18 -18
  150. package/js/components/modals/{base-modal2.vue.js.map → base-modal.vue2.js.map} +1 -1
  151. package/js/components/modals/{base-modal3.vue.js → base-modal.vue3.js} +1 -1
  152. package/js/components/modals/base-modal.vue3.js.map +1 -0
  153. package/js/components/modals/close-main-modal.vue.js +1 -1
  154. package/js/components/modals/{close-main-modal2.vue.js → close-main-modal.vue2.js} +1 -1
  155. package/js/components/modals/{close-main-modal2.vue.js.map → close-main-modal.vue2.js.map} +1 -1
  156. package/js/components/modals/main-modal.vue.js +1 -1
  157. package/js/components/modals/{main-modal2.vue.js → main-modal.vue2.js} +1 -1
  158. package/js/components/modals/{main-modal2.vue.js.map → main-modal.vue2.js.map} +1 -1
  159. package/js/components/modals/open-main-modal.vue.js +1 -1
  160. package/js/components/modals/{open-main-modal2.vue.js → open-main-modal.vue2.js} +1 -1
  161. package/js/components/modals/{open-main-modal2.vue.js.map → open-main-modal.vue2.js.map} +1 -1
  162. package/js/components/page-loader-button.vue.js +2 -2
  163. package/js/components/{page-loader-button2.vue.js → page-loader-button.vue2.js} +1 -1
  164. package/js/components/{page-loader-button2.vue.js.map → page-loader-button.vue2.js.map} +1 -1
  165. package/js/components/{page-loader-button3.vue.js → page-loader-button.vue3.js} +1 -1
  166. package/js/components/page-loader-button.vue3.js.map +1 -0
  167. package/js/components/page-selector.vue.js +2 -2
  168. package/js/components/{page-selector2.vue.js → page-selector.vue2.js} +1 -1
  169. package/js/components/{page-selector2.vue.js.map → page-selector.vue2.js.map} +1 -1
  170. package/js/components/{page-selector3.vue.js → page-selector.vue3.js} +1 -1
  171. package/js/components/page-selector.vue3.js.map +1 -0
  172. package/js/components/panels/base-header-toggle-panel.vue.js +2 -2
  173. package/js/components/panels/{base-header-toggle-panel2.vue.js → base-header-toggle-panel.vue2.js} +20 -20
  174. package/js/components/panels/{base-header-toggle-panel2.vue.js.map → base-header-toggle-panel.vue2.js.map} +1 -1
  175. package/js/components/panels/{base-header-toggle-panel3.vue.js → base-header-toggle-panel.vue3.js} +1 -1
  176. package/js/components/panels/base-header-toggle-panel.vue3.js.map +1 -0
  177. package/js/components/panels/base-id-toggle-panel-button.vue.js +1 -1
  178. package/js/components/panels/{base-id-toggle-panel-button2.vue.js → base-id-toggle-panel-button.vue2.js} +1 -1
  179. package/js/components/panels/{base-id-toggle-panel-button2.vue.js.map → base-id-toggle-panel-button.vue2.js.map} +1 -1
  180. package/js/components/panels/base-id-toggle-panel.vue.js +1 -1
  181. package/js/components/panels/{base-id-toggle-panel2.vue.js → base-id-toggle-panel.vue2.js} +20 -20
  182. package/js/components/panels/{base-id-toggle-panel2.vue.js.map → base-id-toggle-panel.vue2.js.map} +1 -1
  183. package/js/components/panels/base-tabs-panel.vue.js +2 -2
  184. package/js/components/panels/{base-tabs-panel2.vue.js → base-tabs-panel.vue2.js} +20 -20
  185. package/js/components/panels/{base-tabs-panel2.vue.js.map → base-tabs-panel.vue2.js.map} +1 -1
  186. package/js/components/panels/{base-tabs-panel3.vue.js → base-tabs-panel.vue3.js} +1 -1
  187. package/js/components/panels/base-tabs-panel.vue3.js.map +1 -0
  188. package/js/components/panels/base-toggle-panel.vue.js +1 -1
  189. package/js/components/panels/{base-toggle-panel2.vue.js → base-toggle-panel.vue2.js} +1 -1
  190. package/js/components/panels/{base-toggle-panel2.vue.js.map → base-toggle-panel.vue2.js.map} +1 -1
  191. package/js/components/result/base-result-add-to-cart.vue.js +1 -1
  192. package/js/components/result/{base-result-add-to-cart2.vue.js → base-result-add-to-cart.vue2.js} +1 -1
  193. package/js/components/result/{base-result-add-to-cart2.vue.js.map → base-result-add-to-cart.vue2.js.map} +1 -1
  194. package/js/components/result/base-result-current-price.vue.js +1 -1
  195. package/js/components/result/{base-result-current-price2.vue.js → base-result-current-price.vue2.js} +1 -1
  196. package/js/components/result/{base-result-current-price2.vue.js.map → base-result-current-price.vue2.js.map} +1 -1
  197. package/js/components/result/base-result-image.vue.js +2 -2
  198. package/js/components/result/{base-result-image2.vue.js → base-result-image.vue2.js} +20 -20
  199. package/js/components/result/{base-result-image2.vue.js.map → base-result-image.vue2.js.map} +1 -1
  200. package/js/components/result/{base-result-image3.vue.js → base-result-image.vue3.js} +1 -1
  201. package/js/components/result/base-result-image.vue3.js.map +1 -0
  202. package/js/components/result/base-result-link.vue.js +2 -2
  203. package/js/components/result/{base-result-link2.vue.js → base-result-link.vue2.js} +1 -1
  204. package/js/components/result/{base-result-link2.vue.js.map → base-result-link.vue2.js.map} +1 -1
  205. package/js/components/result/{base-result-link3.vue.js → base-result-link.vue3.js} +1 -1
  206. package/js/components/result/base-result-link.vue3.js.map +1 -0
  207. package/js/components/result/base-result-previous-price.vue.js +1 -1
  208. package/js/components/result/{base-result-previous-price2.vue.js → base-result-previous-price.vue2.js} +1 -1
  209. package/js/components/result/{base-result-previous-price2.vue.js.map → base-result-previous-price.vue2.js.map} +1 -1
  210. package/js/components/result/base-result-rating.vue.js +2 -2
  211. package/js/components/result/{base-result-rating2.vue.js → base-result-rating.vue2.js} +1 -1
  212. package/js/components/result/{base-result-rating2.vue.js.map → base-result-rating.vue2.js.map} +1 -1
  213. package/js/components/result/{base-result-rating3.vue.js → base-result-rating.vue3.js} +1 -1
  214. package/js/components/result/base-result-rating.vue3.js.map +1 -0
  215. package/js/components/result/result-variant-selector.vue.js +2 -2
  216. package/js/components/result/{result-variant-selector2.vue.js → result-variant-selector.vue2.js} +1 -1
  217. package/js/components/result/{result-variant-selector2.vue.js.map → result-variant-selector.vue2.js.map} +1 -1
  218. package/js/components/result/{result-variant-selector3.vue.js → result-variant-selector.vue3.js} +1 -1
  219. package/js/components/result/result-variant-selector.vue3.js.map +1 -0
  220. package/js/components/result/{result-variants-provider2.vue.js → result-variants-provider.vue2.js} +1 -1
  221. package/js/components/result/result-variants-provider.vue2.js.map +1 -0
  222. package/js/components/scroll/base-scroll.vue.js +1 -1
  223. package/js/components/scroll/{base-scroll2.vue.js → base-scroll.vue2.js} +1 -1
  224. package/js/components/scroll/{base-scroll2.vue.js.map → base-scroll.vue2.js.map} +1 -1
  225. package/js/components/sliding-panel.vue.js +2 -2
  226. package/js/components/{sliding-panel2.vue.js → sliding-panel.vue2.js} +1 -1
  227. package/js/components/{sliding-panel2.vue.js.map → sliding-panel.vue2.js.map} +1 -1
  228. package/js/components/{sliding-panel3.vue.js → sliding-panel.vue3.js} +1 -1
  229. package/js/components/sliding-panel.vue3.js.map +1 -0
  230. package/js/components/snippet-callbacks.vue.js +1 -1
  231. package/js/components/{snippet-callbacks2.vue.js → snippet-callbacks.vue2.js} +1 -1
  232. package/js/components/{snippet-callbacks2.vue.js.map → snippet-callbacks.vue2.js.map} +1 -1
  233. package/js/components/suggestions/base-suggestion.vue.js +1 -1
  234. package/js/components/suggestions/{base-suggestion2.vue.js → base-suggestion.vue2.js} +1 -1
  235. package/js/components/suggestions/{base-suggestion2.vue.js.map → base-suggestion.vue2.js.map} +1 -1
  236. package/js/components/suggestions/base-suggestions.vue.js +2 -2
  237. package/js/components/suggestions/{base-suggestions2.vue.js → base-suggestions.vue2.js} +1 -1
  238. package/js/components/suggestions/{base-suggestions2.vue.js.map → base-suggestions.vue2.js.map} +1 -1
  239. package/js/components/suggestions/{base-suggestions3.vue.js → base-suggestions.vue3.js} +1 -1
  240. package/js/components/suggestions/base-suggestions.vue3.js.map +1 -0
  241. package/js/index.js +3 -3
  242. package/js/x-modules/ai/components/ai-carousel.vue.js +2 -2
  243. package/js/x-modules/ai/components/{ai-carousel2.vue.js → ai-carousel.vue2.js} +75 -75
  244. package/js/x-modules/ai/components/{ai-carousel2.vue.js.map → ai-carousel.vue2.js.map} +1 -1
  245. package/js/x-modules/ai/components/{ai-carousel3.vue.js → ai-carousel.vue3.js} +1 -1
  246. package/js/x-modules/ai/components/ai-carousel.vue3.js.map +1 -0
  247. package/js/x-modules/ai/components/ai-grouped-carousel.vue.js +1 -1
  248. package/js/x-modules/ai/components/ai-grouped-carousel.vue2.js +123 -0
  249. package/js/x-modules/ai/components/{ai-grouped-carousel2.vue.js.map → ai-grouped-carousel.vue2.js.map} +1 -1
  250. package/js/x-modules/device/components/device-detector.vue.js +1 -1
  251. package/js/x-modules/device/components/{device-detector2.vue.js → device-detector.vue2.js} +1 -1
  252. package/js/x-modules/device/components/{device-detector2.vue.js.map → device-detector.vue2.js.map} +1 -1
  253. package/js/x-modules/empathize/components/empathize.vue.js +1 -1
  254. package/js/x-modules/empathize/components/{empathize2.vue.js → empathize.vue2.js} +82 -82
  255. package/js/x-modules/empathize/components/{empathize2.vue.js.map → empathize.vue2.js.map} +1 -1
  256. package/js/x-modules/experience-controls/components/{experience-controls2.vue.js → experience-controls.vue2.js} +1 -1
  257. package/js/x-modules/experience-controls/components/experience-controls.vue2.js.map +1 -0
  258. package/js/x-modules/extra-params/components/{extra-params2.vue.js → extra-params.vue2.js} +1 -1
  259. package/js/x-modules/extra-params/components/extra-params.vue2.js.map +1 -0
  260. package/js/x-modules/extra-params/components/{renderless-extra-param2.vue.js → renderless-extra-param.vue2.js} +1 -1
  261. package/js/x-modules/extra-params/components/renderless-extra-param.vue2.js.map +1 -0
  262. package/js/x-modules/extra-params/components/snippet-config-extra-params.vue.js +1 -1
  263. package/js/x-modules/extra-params/components/{snippet-config-extra-params2.vue.js → snippet-config-extra-params.vue2.js} +1 -1
  264. package/js/x-modules/extra-params/components/{snippet-config-extra-params2.vue.js.map → snippet-config-extra-params.vue2.js.map} +1 -1
  265. package/js/x-modules/facets/components/clear-filters.vue.js +1 -1
  266. package/js/x-modules/facets/components/{clear-filters2.vue.js → clear-filters.vue2.js} +1 -1
  267. package/js/x-modules/facets/components/{clear-filters2.vue.js.map → clear-filters.vue2.js.map} +1 -1
  268. package/js/x-modules/facets/components/facets/facets-provider.vue.js +2 -2
  269. package/js/x-modules/facets/components/facets/{facets-provider2.vue.js → facets-provider.vue2.js} +1 -1
  270. package/js/x-modules/facets/components/facets/{facets-provider2.vue.js.map → facets-provider.vue2.js.map} +1 -1
  271. package/js/x-modules/facets/components/facets/{facets-provider3.vue.js → facets-provider.vue3.js} +1 -1
  272. package/js/x-modules/facets/components/facets/facets-provider.vue3.js.map +1 -0
  273. package/js/x-modules/facets/components/facets/facets.vue.js +2 -2
  274. package/js/x-modules/facets/components/facets/{facets2.vue.js → facets.vue2.js} +1 -1
  275. package/js/x-modules/facets/components/facets/{facets2.vue.js.map → facets.vue2.js.map} +1 -1
  276. package/js/x-modules/facets/components/facets/{facets3.vue.js → facets.vue3.js} +1 -1
  277. package/js/x-modules/{extra-params/components/extra-params2.vue.js.map → facets/components/facets/facets.vue3.js.map} +1 -1
  278. package/js/x-modules/facets/components/filters/all-filter.vue.js +1 -1
  279. package/js/x-modules/facets/components/filters/{all-filter2.vue.js → all-filter.vue2.js} +1 -1
  280. package/js/x-modules/facets/components/filters/{all-filter2.vue.js.map → all-filter.vue2.js.map} +1 -1
  281. package/js/x-modules/facets/components/filters/editable-number-range-filter.vue.js +2 -2
  282. package/js/x-modules/facets/components/filters/{editable-number-range-filter2.vue.js → editable-number-range-filter.vue2.js} +1 -1
  283. package/js/x-modules/facets/components/filters/{editable-number-range-filter2.vue.js.map → editable-number-range-filter.vue2.js.map} +1 -1
  284. package/js/x-modules/facets/components/filters/{editable-number-range-filter3.vue.js → editable-number-range-filter.vue3.js} +1 -1
  285. package/js/x-modules/facets/components/filters/editable-number-range-filter.vue3.js.map +1 -0
  286. package/js/x-modules/facets/components/filters/hierarchical-filter.vue.js +1 -1
  287. package/js/x-modules/facets/components/filters/{hierarchical-filter2.vue.js → hierarchical-filter.vue2.js} +1 -1
  288. package/js/x-modules/facets/components/filters/{hierarchical-filter2.vue.js.map → hierarchical-filter.vue2.js.map} +1 -1
  289. package/js/x-modules/facets/components/filters/number-range-filter.vue.js +1 -1
  290. package/js/x-modules/facets/components/filters/{number-range-filter2.vue.js → number-range-filter.vue2.js} +1 -1
  291. package/js/x-modules/facets/components/filters/{number-range-filter2.vue.js.map → number-range-filter.vue2.js.map} +1 -1
  292. package/js/x-modules/facets/components/filters/{renderless-filter2.vue.js → renderless-filter.vue2.js} +1 -1
  293. package/js/x-modules/facets/components/filters/renderless-filter.vue2.js.map +1 -0
  294. package/js/x-modules/facets/components/filters/simple-filter.vue.js +1 -1
  295. package/js/x-modules/facets/components/filters/{simple-filter2.vue.js → simple-filter.vue2.js} +1 -1
  296. package/js/x-modules/facets/components/filters/{simple-filter2.vue.js.map → simple-filter.vue2.js.map} +1 -1
  297. package/js/x-modules/facets/components/lists/{exclude-filters-with-no-results2.vue.js → exclude-filters-with-no-results.vue2.js} +1 -1
  298. package/js/x-modules/facets/components/lists/exclude-filters-with-no-results.vue2.js.map +1 -0
  299. package/js/x-modules/facets/components/lists/filters-list.vue.js +2 -2
  300. package/js/x-modules/facets/components/lists/{filters-list2.vue.js → filters-list.vue2.js} +1 -1
  301. package/js/x-modules/facets/components/lists/{filters-list2.vue.js.map → filters-list.vue2.js.map} +1 -1
  302. package/js/x-modules/facets/components/lists/{filters-list3.vue.js → filters-list.vue3.js} +1 -1
  303. package/js/x-modules/facets/components/lists/filters-list.vue3.js.map +1 -0
  304. package/js/x-modules/facets/components/lists/filters-search.vue.js +2 -2
  305. package/js/x-modules/facets/components/lists/{filters-search2.vue.js → filters-search.vue2.js} +1 -1
  306. package/js/x-modules/facets/components/lists/{filters-search2.vue.js.map → filters-search.vue2.js.map} +1 -1
  307. package/js/x-modules/facets/components/lists/{filters-search3.vue.js → filters-search.vue3.js} +1 -1
  308. package/js/x-modules/facets/components/lists/filters-search.vue3.js.map +1 -0
  309. package/js/x-modules/facets/components/lists/selected-filters-list.vue.js +1 -1
  310. package/js/x-modules/facets/components/lists/{selected-filters-list2.vue.js → selected-filters-list.vue2.js} +1 -1
  311. package/js/x-modules/facets/components/lists/{selected-filters-list2.vue.js.map → selected-filters-list.vue2.js.map} +1 -1
  312. package/js/x-modules/facets/components/lists/{selected-filters2.vue.js → selected-filters.vue2.js} +1 -1
  313. package/js/x-modules/facets/components/lists/selected-filters.vue2.js.map +1 -0
  314. package/js/x-modules/facets/components/lists/sliced-filters.vue.js +1 -1
  315. package/js/x-modules/facets/components/lists/{sliced-filters2.vue.js → sliced-filters.vue2.js} +1 -1
  316. package/js/x-modules/facets/components/lists/{sliced-filters2.vue.js.map → sliced-filters.vue2.js.map} +1 -1
  317. package/js/x-modules/facets/components/lists/{sorted-filters2.vue.js → sorted-filters.vue2.js} +1 -1
  318. package/js/x-modules/facets/components/lists/sorted-filters.vue2.js.map +1 -0
  319. package/js/x-modules/facets/components/{preselected-filters2.vue.js → preselected-filters.vue2.js} +1 -1
  320. package/js/x-modules/facets/components/preselected-filters.vue2.js.map +1 -0
  321. package/js/x-modules/history-queries/components/clear-history-queries.vue.js +1 -1
  322. package/js/x-modules/history-queries/components/{clear-history-queries2.vue.js → clear-history-queries.vue2.js} +1 -1
  323. package/js/x-modules/history-queries/components/{clear-history-queries2.vue.js.map → clear-history-queries.vue2.js.map} +1 -1
  324. package/js/x-modules/history-queries/components/history-queries-switch.vue.js +1 -1
  325. package/js/x-modules/history-queries/components/{history-queries-switch2.vue.js → history-queries-switch.vue2.js} +1 -1
  326. package/js/x-modules/history-queries/components/{history-queries-switch2.vue.js.map → history-queries-switch.vue2.js.map} +1 -1
  327. package/js/x-modules/history-queries/components/history-queries.vue.js +1 -1
  328. package/js/x-modules/history-queries/components/{history-queries2.vue.js → history-queries.vue2.js} +1 -1
  329. package/js/x-modules/history-queries/components/{history-queries2.vue.js.map → history-queries.vue2.js.map} +1 -1
  330. package/js/x-modules/history-queries/components/history-query.vue.js +1 -1
  331. package/js/x-modules/history-queries/components/{history-query2.vue.js → history-query.vue2.js} +1 -1
  332. package/js/x-modules/history-queries/components/{history-query2.vue.js.map → history-query.vue2.js.map} +1 -1
  333. package/js/x-modules/history-queries/components/my-history.vue.js +2 -2
  334. package/js/x-modules/history-queries/components/{my-history2.vue.js → my-history.vue2.js} +1 -1
  335. package/js/x-modules/history-queries/components/{my-history2.vue.js.map → my-history.vue2.js.map} +1 -1
  336. package/js/x-modules/history-queries/components/{my-history3.vue.js → my-history.vue3.js} +1 -1
  337. package/js/x-modules/history-queries/components/my-history.vue3.js.map +1 -0
  338. package/js/x-modules/history-queries/components/remove-history-query.vue.js +1 -1
  339. package/js/x-modules/history-queries/components/{remove-history-query2.vue.js → remove-history-query.vue2.js} +1 -1
  340. package/js/x-modules/history-queries/components/{remove-history-query2.vue.js.map → remove-history-query.vue2.js.map} +1 -1
  341. package/js/x-modules/identifier-results/components/identifier-result.vue.js +1 -1
  342. package/js/x-modules/identifier-results/components/{identifier-result2.vue.js → identifier-result.vue2.js} +1 -1
  343. package/js/x-modules/identifier-results/components/{identifier-result2.vue.js.map → identifier-result.vue2.js.map} +1 -1
  344. package/js/x-modules/identifier-results/components/identifier-results.vue.js +2 -2
  345. package/js/x-modules/identifier-results/components/{identifier-results2.vue.js → identifier-results.vue2.js} +1 -1
  346. package/js/x-modules/identifier-results/components/{identifier-results2.vue.js.map → identifier-results.vue2.js.map} +1 -1
  347. package/js/x-modules/identifier-results/components/{identifier-results3.vue.js → identifier-results.vue3.js} +1 -1
  348. package/js/x-modules/identifier-results/components/identifier-results.vue3.js.map +1 -0
  349. package/js/x-modules/next-queries/components/{next-queries-list2.vue.js → next-queries-list.vue2.js} +1 -1
  350. package/js/x-modules/next-queries/components/next-queries-list.vue2.js.map +1 -0
  351. package/js/x-modules/next-queries/components/next-queries.vue.js +1 -1
  352. package/js/x-modules/next-queries/components/{next-queries2.vue.js → next-queries.vue2.js} +1 -1
  353. package/js/x-modules/next-queries/components/{next-queries2.vue.js.map → next-queries.vue2.js.map} +1 -1
  354. package/js/x-modules/next-queries/components/next-query-preview.vue.js +1 -1
  355. package/js/x-modules/next-queries/components/{next-query-preview2.vue.js → next-query-preview.vue2.js} +1 -1
  356. package/js/x-modules/next-queries/components/{next-query-preview2.vue.js.map → next-query-preview.vue2.js.map} +1 -1
  357. package/js/x-modules/next-queries/components/next-query.vue.js +1 -1
  358. package/js/x-modules/next-queries/components/{next-query2.vue.js → next-query.vue2.js} +1 -1
  359. package/js/x-modules/next-queries/components/{next-query2.vue.js.map → next-query.vue2.js.map} +1 -1
  360. package/js/x-modules/popular-searches/components/popular-search.vue.js +1 -1
  361. package/js/x-modules/popular-searches/components/{popular-search2.vue.js → popular-search.vue2.js} +1 -1
  362. package/js/x-modules/popular-searches/components/{popular-search2.vue.js.map → popular-search.vue2.js.map} +1 -1
  363. package/js/x-modules/popular-searches/components/popular-searches.vue.js +1 -1
  364. package/js/x-modules/popular-searches/components/{popular-searches2.vue.js → popular-searches.vue2.js} +1 -1
  365. package/js/x-modules/popular-searches/components/{popular-searches2.vue.js.map → popular-searches.vue2.js.map} +1 -1
  366. package/js/x-modules/queries-preview/components/query-preview-button.vue.js +1 -1
  367. package/js/x-modules/queries-preview/components/query-preview-button.vue2.js +165 -0
  368. package/js/x-modules/queries-preview/components/{query-preview-button2.vue.js.map → query-preview-button.vue2.js.map} +1 -1
  369. package/js/x-modules/queries-preview/components/query-preview-list.vue.js +2 -2
  370. package/js/x-modules/queries-preview/components/{query-preview-list2.vue.js → query-preview-list.vue2.js} +1 -1
  371. package/js/x-modules/queries-preview/components/{query-preview-list2.vue.js.map → query-preview-list.vue2.js.map} +1 -1
  372. package/js/x-modules/queries-preview/components/{query-preview-list3.vue.js → query-preview-list.vue3.js} +1 -1
  373. package/js/x-modules/queries-preview/components/query-preview-list.vue3.js.map +1 -0
  374. package/js/x-modules/queries-preview/components/query-preview.vue.js +1 -1
  375. package/js/x-modules/queries-preview/components/{query-preview2.vue.js → query-preview.vue2.js} +82 -82
  376. package/js/x-modules/queries-preview/components/{query-preview2.vue.js.map → query-preview.vue2.js.map} +1 -1
  377. package/js/x-modules/query-suggestions/components/query-suggestion.vue.js +1 -1
  378. package/js/x-modules/query-suggestions/components/{query-suggestion2.vue.js → query-suggestion.vue2.js} +1 -1
  379. package/js/x-modules/query-suggestions/components/{query-suggestion2.vue.js.map → query-suggestion.vue2.js.map} +1 -1
  380. package/js/x-modules/query-suggestions/components/query-suggestions.vue.js +1 -1
  381. package/js/x-modules/query-suggestions/components/{query-suggestions2.vue.js → query-suggestions.vue2.js} +1 -1
  382. package/js/x-modules/query-suggestions/components/{query-suggestions2.vue.js.map → query-suggestions.vue2.js.map} +1 -1
  383. package/js/x-modules/recommendations/components/recommendations.vue.js +2 -2
  384. package/js/x-modules/recommendations/components/{recommendations2.vue.js → recommendations.vue2.js} +1 -1
  385. package/js/x-modules/recommendations/components/{recommendations2.vue.js.map → recommendations.vue2.js.map} +1 -1
  386. package/js/x-modules/recommendations/components/{recommendations3.vue.js → recommendations.vue3.js} +1 -1
  387. package/js/x-modules/recommendations/components/recommendations.vue3.js.map +1 -0
  388. package/js/x-modules/related-prompts/components/related-prompt.vue.js +2 -2
  389. package/js/x-modules/related-prompts/components/{related-prompt2.vue.js → related-prompt.vue2.js} +1 -1
  390. package/js/x-modules/related-prompts/components/{related-prompt2.vue.js.map → related-prompt.vue2.js.map} +1 -1
  391. package/js/x-modules/related-prompts/components/{related-prompt3.vue.js → related-prompt.vue3.js} +1 -1
  392. package/js/x-modules/related-prompts/components/related-prompt.vue3.js.map +1 -0
  393. package/js/x-modules/related-prompts/components/{related-prompts-list2.vue.js → related-prompts-list.vue2.js} +1 -1
  394. package/js/x-modules/related-prompts/components/related-prompts-list.vue2.js.map +1 -0
  395. package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue.js +2 -2
  396. package/js/x-modules/related-prompts/components/{related-prompts-tag-list2.vue.js → related-prompts-tag-list.vue2.js} +1 -1
  397. package/js/x-modules/related-prompts/components/{related-prompts-tag-list2.vue.js.map → related-prompts-tag-list.vue2.js.map} +1 -1
  398. package/js/x-modules/related-prompts/components/{related-prompts-tag-list3.vue.js → related-prompts-tag-list.vue3.js} +1 -1
  399. package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue3.js.map +1 -0
  400. package/js/x-modules/related-tags/components/related-tag.vue.js +1 -1
  401. package/js/x-modules/related-tags/components/{related-tag2.vue.js → related-tag.vue2.js} +1 -1
  402. package/js/x-modules/related-tags/components/{related-tag2.vue.js.map → related-tag.vue2.js.map} +1 -1
  403. package/js/x-modules/related-tags/components/related-tags.vue.js +2 -2
  404. package/js/x-modules/related-tags/components/{related-tags2.vue.js → related-tags.vue2.js} +1 -1
  405. package/js/x-modules/related-tags/components/{related-tags2.vue.js.map → related-tags.vue2.js.map} +1 -1
  406. package/js/x-modules/related-tags/components/{related-tags3.vue.js → related-tags.vue3.js} +1 -1
  407. package/js/x-modules/related-tags/components/related-tags.vue3.js.map +1 -0
  408. package/js/x-modules/scroll/components/main-scroll-item.vue.js +1 -1
  409. package/js/x-modules/scroll/components/{main-scroll-item2.vue.js → main-scroll-item.vue2.js} +1 -1
  410. package/js/x-modules/scroll/components/{main-scroll-item2.vue.js.map → main-scroll-item.vue2.js.map} +1 -1
  411. package/js/x-modules/scroll/components/{main-scroll2.vue.js → main-scroll.vue2.js} +1 -1
  412. package/js/x-modules/scroll/components/main-scroll.vue2.js.map +1 -0
  413. package/js/x-modules/scroll/components/scroll-to-top.vue.js +1 -1
  414. package/js/x-modules/scroll/components/{scroll-to-top2.vue.js → scroll-to-top.vue2.js} +81 -81
  415. package/js/x-modules/scroll/components/{scroll-to-top2.vue.js.map → scroll-to-top.vue2.js.map} +1 -1
  416. package/js/x-modules/scroll/components/scroll.vue.js +1 -1
  417. package/js/x-modules/scroll/components/{scroll2.vue.js → scroll.vue2.js} +1 -1
  418. package/js/x-modules/scroll/components/{scroll2.vue.js.map → scroll.vue2.js.map} +1 -1
  419. package/js/x-modules/search/components/banner.vue.js +2 -2
  420. package/js/x-modules/search/components/{banner2.vue.js → banner.vue2.js} +1 -1
  421. package/js/x-modules/search/components/{banner2.vue.js.map → banner.vue2.js.map} +1 -1
  422. package/js/x-modules/search/components/{banner3.vue.js → banner.vue3.js} +1 -1
  423. package/js/x-modules/search/components/banner.vue3.js.map +1 -0
  424. package/js/x-modules/search/components/{banners-list2.vue.js → banners-list.vue2.js} +1 -1
  425. package/js/x-modules/search/components/banners-list.vue2.js.map +1 -0
  426. package/js/x-modules/search/components/fallback-disclaimer.vue.js +1 -1
  427. package/js/x-modules/search/components/{fallback-disclaimer2.vue.js → fallback-disclaimer.vue2.js} +1 -1
  428. package/js/x-modules/search/components/{fallback-disclaimer2.vue.js.map → fallback-disclaimer.vue2.js.map} +1 -1
  429. package/js/x-modules/search/components/partial-query-button.vue.js +1 -1
  430. package/js/x-modules/search/components/{partial-query-button2.vue.js → partial-query-button.vue2.js} +1 -1
  431. package/js/x-modules/search/components/{partial-query-button2.vue.js.map → partial-query-button.vue2.js.map} +1 -1
  432. package/js/x-modules/search/components/partial-results-list.vue.js +2 -2
  433. package/js/x-modules/search/components/{partial-results-list2.vue.js → partial-results-list.vue2.js} +1 -1
  434. package/js/x-modules/search/components/{partial-results-list2.vue.js.map → partial-results-list.vue2.js.map} +1 -1
  435. package/js/x-modules/search/components/{partial-results-list3.vue.js → partial-results-list.vue3.js} +1 -1
  436. package/js/x-modules/search/components/partial-results-list.vue3.js.map +1 -0
  437. package/js/x-modules/search/components/promoted.vue.js +2 -2
  438. package/js/x-modules/search/components/{promoted2.vue.js → promoted.vue2.js} +1 -1
  439. package/js/x-modules/search/components/{promoted2.vue.js.map → promoted.vue2.js.map} +1 -1
  440. package/js/x-modules/search/components/{promoted3.vue.js → promoted.vue3.js} +1 -1
  441. package/js/x-modules/search/components/promoted.vue3.js.map +1 -0
  442. package/js/x-modules/search/components/{promoteds-list2.vue.js → promoteds-list.vue2.js} +1 -1
  443. package/js/x-modules/search/components/promoteds-list.vue2.js.map +1 -0
  444. package/js/x-modules/search/components/redirection.vue.js +1 -1
  445. package/js/x-modules/search/components/{redirection2.vue.js → redirection.vue2.js} +1 -1
  446. package/js/x-modules/search/components/{redirection2.vue.js.map → redirection.vue2.js.map} +1 -1
  447. package/js/x-modules/search/components/{results-list2.vue.js → results-list.vue2.js} +1 -1
  448. package/js/x-modules/search/components/results-list.vue2.js.map +1 -0
  449. package/js/x-modules/search/components/sort-dropdown.vue.js +1 -1
  450. package/js/x-modules/search/components/{sort-dropdown2.vue.js → sort-dropdown.vue2.js} +1 -1
  451. package/js/x-modules/search/components/{sort-dropdown2.vue.js.map → sort-dropdown.vue2.js.map} +1 -1
  452. package/js/x-modules/search/components/sort-list.vue.js +2 -2
  453. package/js/x-modules/search/components/{sort-list2.vue.js → sort-list.vue2.js} +1 -1
  454. package/js/x-modules/search/components/{sort-list2.vue.js.map → sort-list.vue2.js.map} +1 -1
  455. package/js/x-modules/search/components/{sort-list3.vue.js → sort-list.vue3.js} +1 -1
  456. package/js/x-modules/search/components/sort-list.vue3.js.map +1 -0
  457. package/js/x-modules/search/components/sort-picker-list.vue.js +1 -1
  458. package/js/x-modules/search/components/{sort-picker-list2.vue.js → sort-picker-list.vue2.js} +1 -1
  459. package/js/x-modules/search/components/{sort-picker-list2.vue.js.map → sort-picker-list.vue2.js.map} +1 -1
  460. package/js/x-modules/search/components/spellcheck-button.vue.js +1 -1
  461. package/js/x-modules/search/components/{spellcheck-button2.vue.js → spellcheck-button.vue2.js} +1 -1
  462. package/js/x-modules/search/components/{spellcheck-button2.vue.js.map → spellcheck-button.vue2.js.map} +1 -1
  463. package/js/x-modules/search/components/spellcheck.vue.js +1 -1
  464. package/js/x-modules/search/components/{spellcheck2.vue.js → spellcheck.vue2.js} +1 -1
  465. package/js/x-modules/search/components/{spellcheck2.vue.js.map → spellcheck.vue2.js.map} +1 -1
  466. package/js/x-modules/search-box/components/clear-search-input.vue.js +1 -1
  467. package/js/x-modules/search-box/components/{clear-search-input2.vue.js → clear-search-input.vue2.js} +1 -1
  468. package/js/x-modules/search-box/components/{clear-search-input2.vue.js.map → clear-search-input.vue2.js.map} +1 -1
  469. package/js/x-modules/search-box/components/search-button.vue.js +1 -1
  470. package/js/x-modules/search-box/components/{search-button2.vue.js → search-button.vue2.js} +1 -1
  471. package/js/x-modules/search-box/components/{search-button2.vue.js.map → search-button.vue2.js.map} +1 -1
  472. package/js/x-modules/search-box/components/search-input-placeholder.vue.js +3 -3
  473. package/js/x-modules/search-box/components/{search-input-placeholder2.vue.js → search-input-placeholder.vue2.js} +2 -2
  474. package/js/x-modules/search-box/components/{search-input-placeholder2.vue.js.map → search-input-placeholder.vue2.js.map} +1 -1
  475. package/js/x-modules/search-box/components/{search-input-placeholder3.vue.js → search-input-placeholder.vue3.js} +1 -1
  476. package/js/x-modules/search-box/components/search-input-placeholder.vue3.js.map +1 -0
  477. package/js/x-modules/search-box/components/{search-input-placeholder4.vue.js → search-input-placeholder.vue4.js} +1 -1
  478. package/js/x-modules/search-box/components/search-input-placeholder.vue4.js.map +1 -0
  479. package/js/x-modules/search-box/components/search-input.vue.js +2 -2
  480. package/js/x-modules/search-box/components/{search-input2.vue.js → search-input.vue2.js} +1 -1
  481. package/js/x-modules/search-box/components/{search-input2.vue.js.map → search-input.vue2.js.map} +1 -1
  482. package/js/x-modules/search-box/components/{search-input3.vue.js → search-input.vue3.js} +1 -1
  483. package/js/x-modules/search-box/components/search-input.vue3.js.map +1 -0
  484. package/js/x-modules/semantic-queries/components/semantic-queries.vue.js +1 -1
  485. package/js/x-modules/semantic-queries/components/{semantic-queries2.vue.js → semantic-queries.vue2.js} +1 -1
  486. package/js/x-modules/semantic-queries/components/{semantic-queries2.vue.js.map → semantic-queries.vue2.js.map} +1 -1
  487. package/js/x-modules/semantic-queries/components/semantic-query.vue.js +1 -1
  488. package/js/x-modules/semantic-queries/components/{semantic-query2.vue.js → semantic-query.vue2.js} +1 -1
  489. package/js/x-modules/semantic-queries/components/{semantic-query2.vue.js.map → semantic-query.vue2.js.map} +1 -1
  490. package/js/x-modules/tagging/components/{tagging2.vue.js → tagging.vue2.js} +1 -1
  491. package/js/x-modules/tagging/components/tagging.vue2.js.map +1 -0
  492. package/js/x-modules/url/components/url-handler.vue.js +1 -1
  493. package/js/x-modules/url/components/{url-handler2.vue.js → url-handler.vue2.js} +1 -1
  494. package/js/x-modules/url/components/{url-handler2.vue.js.map → url-handler.vue2.js.map} +1 -1
  495. package/package.json +3 -3
  496. package/js/components/animations/animate-clip-path2.vue.js.map +0 -1
  497. package/js/components/animations/animate-clip-path3.vue.js +0 -7
  498. package/js/components/animations/animate-clip-path3.vue.js.map +0 -1
  499. package/js/components/animations/animate-scale2.vue.js.map +0 -1
  500. package/js/components/animations/animate-scale3.vue.js.map +0 -1
  501. package/js/components/animations/animate-translate2.vue.js.map +0 -1
  502. package/js/components/animations/animate-translate3.vue.js +0 -7
  503. package/js/components/animations/animate-translate3.vue.js.map +0 -1
  504. package/js/components/animations/animate-width3.vue.js.map +0 -1
  505. package/js/components/animations/change-height3.vue.js.map +0 -1
  506. package/js/components/animations/collapse-height3.vue.js.map +0 -1
  507. package/js/components/animations/collapse-width3.vue.js.map +0 -1
  508. package/js/components/animations/cross-fade3.vue.js.map +0 -1
  509. package/js/components/animations/fade-and-slide3.vue.js.map +0 -1
  510. package/js/components/animations/fade3.vue.js.map +0 -1
  511. package/js/components/animations/no-animation2.vue.js.map +0 -1
  512. package/js/components/animations/staggered-fade-and-slide3.vue.js.map +0 -1
  513. package/js/components/auto-progress-bar3.vue.js.map +0 -1
  514. package/js/components/base-dropdown3.vue.js.map +0 -1
  515. package/js/components/base-grid3.vue.js.map +0 -1
  516. package/js/components/base-rating3.vue.js.map +0 -1
  517. package/js/components/base-slider3.vue.js.map +0 -1
  518. package/js/components/base-switch3.vue.js.map +0 -1
  519. package/js/components/display-click-provider2.vue.js.map +0 -1
  520. package/js/components/display-emitter2.vue.js.map +0 -1
  521. package/js/components/filters/labels/base-price-filter-label2.vue.js.map +0 -1
  522. package/js/components/global-x-bus2.vue.js.map +0 -1
  523. package/js/components/location-provider2.vue.js.map +0 -1
  524. package/js/components/message2.vue.js.map +0 -1
  525. package/js/components/modals/base-modal3.vue.js.map +0 -1
  526. package/js/components/page-loader-button3.vue.js.map +0 -1
  527. package/js/components/page-selector3.vue.js.map +0 -1
  528. package/js/components/panels/base-header-toggle-panel3.vue.js.map +0 -1
  529. package/js/components/panels/base-tabs-panel3.vue.js.map +0 -1
  530. package/js/components/result/base-result-image3.vue.js.map +0 -1
  531. package/js/components/result/base-result-link3.vue.js.map +0 -1
  532. package/js/components/result/base-result-rating3.vue.js.map +0 -1
  533. package/js/components/result/result-variant-selector3.vue.js.map +0 -1
  534. package/js/components/result/result-variants-provider2.vue.js.map +0 -1
  535. package/js/components/sliding-panel3.vue.js.map +0 -1
  536. package/js/components/suggestions/base-suggestions3.vue.js.map +0 -1
  537. package/js/x-modules/ai/components/ai-carousel3.vue.js.map +0 -1
  538. package/js/x-modules/ai/components/ai-grouped-carousel2.vue.js +0 -123
  539. package/js/x-modules/experience-controls/components/experience-controls2.vue.js.map +0 -1
  540. package/js/x-modules/extra-params/components/renderless-extra-param2.vue.js.map +0 -1
  541. package/js/x-modules/facets/components/facets/facets-provider3.vue.js.map +0 -1
  542. package/js/x-modules/facets/components/facets/facets3.vue.js.map +0 -1
  543. package/js/x-modules/facets/components/filters/editable-number-range-filter3.vue.js.map +0 -1
  544. package/js/x-modules/facets/components/filters/renderless-filter2.vue.js.map +0 -1
  545. package/js/x-modules/facets/components/lists/exclude-filters-with-no-results2.vue.js.map +0 -1
  546. package/js/x-modules/facets/components/lists/filters-list3.vue.js.map +0 -1
  547. package/js/x-modules/facets/components/lists/filters-search3.vue.js.map +0 -1
  548. package/js/x-modules/facets/components/lists/selected-filters2.vue.js.map +0 -1
  549. package/js/x-modules/facets/components/lists/sorted-filters2.vue.js.map +0 -1
  550. package/js/x-modules/facets/components/preselected-filters2.vue.js.map +0 -1
  551. package/js/x-modules/history-queries/components/my-history3.vue.js.map +0 -1
  552. package/js/x-modules/identifier-results/components/identifier-results3.vue.js.map +0 -1
  553. package/js/x-modules/next-queries/components/next-queries-list2.vue.js.map +0 -1
  554. package/js/x-modules/queries-preview/components/query-preview-button2.vue.js +0 -165
  555. package/js/x-modules/queries-preview/components/query-preview-list3.vue.js.map +0 -1
  556. package/js/x-modules/recommendations/components/recommendations3.vue.js.map +0 -1
  557. package/js/x-modules/related-prompts/components/related-prompt3.vue.js.map +0 -1
  558. package/js/x-modules/related-prompts/components/related-prompts-list2.vue.js.map +0 -1
  559. package/js/x-modules/related-prompts/components/related-prompts-tag-list3.vue.js.map +0 -1
  560. package/js/x-modules/related-tags/components/related-tags3.vue.js.map +0 -1
  561. package/js/x-modules/scroll/components/main-scroll2.vue.js.map +0 -1
  562. package/js/x-modules/search/components/banner3.vue.js.map +0 -1
  563. package/js/x-modules/search/components/banners-list2.vue.js.map +0 -1
  564. package/js/x-modules/search/components/partial-results-list3.vue.js.map +0 -1
  565. package/js/x-modules/search/components/promoted3.vue.js.map +0 -1
  566. package/js/x-modules/search/components/promoteds-list2.vue.js.map +0 -1
  567. package/js/x-modules/search/components/results-list2.vue.js.map +0 -1
  568. package/js/x-modules/search/components/sort-list3.vue.js.map +0 -1
  569. package/js/x-modules/search-box/components/search-input-placeholder3.vue.js.map +0 -1
  570. package/js/x-modules/search-box/components/search-input-placeholder4.vue.js.map +0 -1
  571. package/js/x-modules/search-box/components/search-input3.vue.js.map +0 -1
  572. package/js/x-modules/tagging/components/tagging2.vue.js.map +0 -1
@@ -145,4 +145,4 @@ var _sfc_main = defineComponent({
145
145
  });
146
146
 
147
147
  export { _sfc_main as default };
148
- //# sourceMappingURL=base-suggestion2.vue.js.map
148
+ //# sourceMappingURL=base-suggestion.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-suggestion2.vue.js","sources":["../../../../src/components/suggestions/base-suggestion.vue"],"sourcesContent":["<template>\n <button ref=\"el\" :class=\"dynamicCSSClasses\" @click=\"emitEvents\">\n <!--\n @slot Button content\n @binding {Suggestion} suggestion - Suggestion data\n @binding {String} query - The query that the suggestion belongs to\n @binding {Filter} filter - Suggestion's filter\n -->\n <slot v-bind=\"{ query, suggestion, filter }\">\n <Highlight class=\"x-suggestion__query\" :text=\"suggestion.query\" :highlight=\"query\" />\n <span v-if=\"filter\" class=\"x-suggestion__filter\">{{ filter.label }}</span>\n </slot>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport type { BooleanFilter, Suggestion } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { QueryFeature } from '../../types'\nimport type { VueCSSClasses } from '../../utils/types'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport { forEach } from '@empathyco/x-utils'\nimport { computed, defineComponent, ref } from 'vue'\nimport { use$x } from '../../composables/index'\nimport Highlight from '../highlight.vue'\n\n/**\n * Renders a button with a default slot. It receives a query, which should be the query of the\n * module using this component, a suggestion, the {@link XEvent} that will be emitted\n * on click with a given feature.\n *\n * The default slot receives the suggestion and the matched query has props.\n *\n * @public\n */\nexport default defineComponent({\n components: { Highlight },\n props: {\n /**\n * The normalized query of the module using this component.\n *\n * @public\n */\n query: {\n type: String,\n default: '',\n },\n\n /**\n * The suggestion to render and use in the default slot.\n *\n * @public\n */\n suggestion: {\n type: Object as PropType<Suggestion>,\n required: true,\n },\n\n /**\n * The feature from which the events will be emitted.\n *\n * @public\n */\n //TODO: set to true when the suggestions components pass it.\n feature: {\n type: String as PropType<QueryFeature>,\n },\n\n /**\n * The {@link XEvent} that will be emitted when selecting a suggestion.\n *\n * @public\n */\n suggestionSelectedEvents: {\n type: Object as PropType<Partial<XEventsTypes>>,\n required: true,\n },\n\n /**\n * Indicates if the curated suggestion should be highlighted.\n *\n * @public\n */\n highlightCurated: {\n type: Boolean,\n },\n },\n\n setup(props) {\n const el = ref<HTMLElement | null>(null)\n\n const $x = use$x()\n\n /**\n * Returns the suggestion filter object.\n * It is a BooleanFilter because the label is needed.\n * It returns only the first element because the facets and filters are being planned\n * in the BaseSuggestions component.\n *\n * @returns The filter.\n * @public\n */\n const filter = computed<BooleanFilter | undefined>(\n () => props.suggestion.facets?.[0]?.filters[0] as BooleanFilter,\n )\n\n /**\n * The event handler that will be triggered when clicking on a suggestion.\n *\n * @remarks\n * UserAcceptedAQuery: suggestion.query\n * UserSelectedASuggestion: suggestion\n * UserClickedAFilter: suggestion.facets[0].filters[0]\n * Merges the events defined in the suggestionSelectedEvents prop and also emits them\n *\n * @returns The {@link XEvent} to emit.\n * @public\n */\n const events = computed<Partial<XEventsTypes>>(() => {\n const filterEvent: Partial<XEventsTypes> = filter.value\n ? { UserClickedAFilter: filter.value }\n : {}\n return {\n UserAcceptedAQuery: props.suggestion.query,\n UserSelectedASuggestion: props.suggestion,\n ...props.suggestionSelectedEvents,\n ...filterEvent,\n }\n })\n\n /**\n * Emits the events when the button is clicked.\n *\n * @public\n */\n const emitEvents = (): void => {\n forEach(events.value, (event, payload): void => {\n $x.emit(event, payload, {\n target: el.value!,\n feature: props.feature,\n })\n })\n }\n\n /**\n * Checks if the suggestion is curated and if it should be highlighted.\n *\n * @returns True if the suggestion is curated and should be highlighted.\n *\n * @internal\n */\n const shouldHighlightCurated = computed<boolean>(\n () => props.highlightCurated && !!props.suggestion.isCurated,\n )\n\n /**\n * Generates css classes dynamically.\n *\n * @remarks\n * 'x-suggestion--matching added when the query should be matched.\n *\n * @returns The {@link VueCSSClasses} classes.\n * @public\n */\n const dynamicCSSClasses = computed<VueCSSClasses>(() => ({\n 'x-suggestion--is-curated': shouldHighlightCurated.value,\n }))\n\n return {\n el,\n filter,\n emitEvents,\n dynamicCSSClasses,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following events:\n\n- [`UserAcceptedAQuery`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the suggestion query\n data.\n- [`UserSelectedASuggestion`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the suggestion data.\n- [`UserClickedAFilter`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button if the suggestion includes a filter. The\n event payload is the suggestion filter.\n- The component can emit more events on click using the `suggestionSelectedEvents` prop.\n\n## Examples\n\n### Basic usage\n\nThis suggestion component expects a suggestion to render and pass to its default slot, a normalized\nquery to compare with the suggestion's query and highlight its matching parts, and events to emit\nwhen the suggestion is selected.\n\nIf the suggestion contains a filter, it is displayed next to the suggestion.\n\n```vue live\n<template>\n <BaseSuggestion :query=\"query\" :suggestion=\"suggestion\" />\n</template>\n\n<script setup>\nimport { BaseSuggestion } from '@empathyco/x-components'\nconst query = 'st'\nconst suggestion = {\n modelName: 'QuerySuggestion',\n query: 'steak',\n facets: [\n {\n modelName: 'SimpleFacet',\n id: 'category',\n label: 'Category',\n filters: [\n {\n id: 'category:groceries',\n modelName: 'SimpleFilter',\n facetId: 'category-facet',\n label: 'Groceries',\n selected: false,\n totalResults: 10,\n },\n ],\n },\n ],\n}\n</script>\n```\n\n### Customise the content\n\nYou can make this component render any content you want by using the `default` slot.\n\n```vue live\n<template>\n <BaseSuggestion :query=\"query\" :suggestion=\"suggestion\">\n <template #default=\"{ suggestion, query, filter }\">\n <span>🔍</span>\n <Highlight :text=\"suggestion.query\" :highlight=\"query\" />\n <span v-if=\"filter\">{{ filter.label }}</span>\n </template>\n </BaseSuggestion>\n</template>\n\n<script setup>\nimport { BaseSuggestion } from '@empathyco/x-components'\nconst query = 'st'\nconst suggestion = {\n modelName: 'QuerySuggestion',\n query: 'steak',\n}\n</script>\n```\n\n### Emitting custom events with suggestionSelectedEvents\n\nYou can emit additional custom events when a suggestion is selected by passing them in the `suggestionSelectedEvents` prop. For example, to emit a custom event called `CustomSuggestionEvent` with a payload:\n\n```vue live\n<template>\n <BaseSuggestion\n :query=\"query\"\n :suggestion=\"suggestion\"\n :suggestionSelectedEvents=\"suggestionSelectedEvents\"\n />\n</template>\n\n<script setup>\nimport { BaseSuggestion } from '@empathyco/x-components'\nconst query = 'st'\nconst suggestion = {\n modelName: 'QuerySuggestion',\n query: 'steak',\n}\nconst suggestionSelectedEvents = {\n CustomSuggestionEvent: { custom: 'payload' },\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;;;;AA0BA;;;;;;;;AAQE;AACF,gBAAe,eAAe,CAAC;IAC7B,UAAU,EAAE,EAAE,WAAW;AACzB,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AAED;;;;AAIE;AACF,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,MAA8B;AACpC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AAED;;;;AAIE;;AAEF,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,MAAgC;AACvC,SAAA;AAED;;;;AAIE;AACF,QAAA,wBAAwB,EAAE;AACxB,YAAA,IAAI,EAAE,MAAyC;AAC/C,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AAED;;;;AAIE;AACF,QAAA,gBAAgB,EAAE;AAChB,YAAA,IAAI,EAAE,OAAO;AACd,SAAA;AACF,KAAA;AAED,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,GAAG,CAAqB,IAAI,CAAA;AAEvC,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB;;;;;;;;AAQE;QACF,MAAM,SAAS,QAAQ,CACrB,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAkB,CACjE;AAEA;;;;;;;;;;;AAWE;AACF,QAAA,MAAM,MAAK,GAAI,QAAQ,CAAwB,MAAI;AACjD,YAAA,MAAM,WAAW,GAA0B,MAAM,CAAC;AAChD,kBAAE,EAAE,kBAAkB,EAAE,MAAM,CAAC,KAAI;kBACjC,EAAC;YACL,OAAO;AACL,gBAAA,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK;gBAC1C,uBAAuB,EAAE,KAAK,CAAC,UAAU;gBACzC,GAAG,KAAK,CAAC,wBAAwB;AACjC,gBAAA,GAAG,WAAW;aAChB;AACF,QAAA,CAAC,CAAA;AAED;;;;AAIE;QACF,MAAM,UAAS,GAAI,MAAU;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAS;AAC5C,gBAAA,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;oBACtB,MAAM,EAAE,EAAE,CAAC,KAAM;oBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;AACvB,iBAAA,CAAA;AACH,YAAA,CAAC,CAAA;AACH,QAAA,CAAA;AAEA;;;;;;AAME;AACF,QAAA,MAAM,sBAAqB,GAAI,QAAQ,CACrC,MAAM,KAAK,CAAC,gBAAe,IAAK,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAC9D;AAEA;;;;;;;;AAQE;AACF,QAAA,MAAM,iBAAgB,GAAI,QAAQ,CAAgB,OAAO;YACvD,0BAA0B,EAAE,sBAAsB,CAAC,KAAK;AACzD,SAAA,CAAC,CAAA;QAEF,OAAO;YACL,EAAE;YACF,MAAM;YACN,UAAU;YACV,iBAAiB;SACnB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"base-suggestion.vue2.js","sources":["../../../../src/components/suggestions/base-suggestion.vue"],"sourcesContent":["<template>\n <button ref=\"el\" :class=\"dynamicCSSClasses\" @click=\"emitEvents\">\n <!--\n @slot Button content\n @binding {Suggestion} suggestion - Suggestion data\n @binding {String} query - The query that the suggestion belongs to\n @binding {Filter} filter - Suggestion's filter\n -->\n <slot v-bind=\"{ query, suggestion, filter }\">\n <Highlight class=\"x-suggestion__query\" :text=\"suggestion.query\" :highlight=\"query\" />\n <span v-if=\"filter\" class=\"x-suggestion__filter\">{{ filter.label }}</span>\n </slot>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport type { BooleanFilter, Suggestion } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { QueryFeature } from '../../types'\nimport type { VueCSSClasses } from '../../utils/types'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport { forEach } from '@empathyco/x-utils'\nimport { computed, defineComponent, ref } from 'vue'\nimport { use$x } from '../../composables/index'\nimport Highlight from '../highlight.vue'\n\n/**\n * Renders a button with a default slot. It receives a query, which should be the query of the\n * module using this component, a suggestion, the {@link XEvent} that will be emitted\n * on click with a given feature.\n *\n * The default slot receives the suggestion and the matched query has props.\n *\n * @public\n */\nexport default defineComponent({\n components: { Highlight },\n props: {\n /**\n * The normalized query of the module using this component.\n *\n * @public\n */\n query: {\n type: String,\n default: '',\n },\n\n /**\n * The suggestion to render and use in the default slot.\n *\n * @public\n */\n suggestion: {\n type: Object as PropType<Suggestion>,\n required: true,\n },\n\n /**\n * The feature from which the events will be emitted.\n *\n * @public\n */\n //TODO: set to true when the suggestions components pass it.\n feature: {\n type: String as PropType<QueryFeature>,\n },\n\n /**\n * The {@link XEvent} that will be emitted when selecting a suggestion.\n *\n * @public\n */\n suggestionSelectedEvents: {\n type: Object as PropType<Partial<XEventsTypes>>,\n required: true,\n },\n\n /**\n * Indicates if the curated suggestion should be highlighted.\n *\n * @public\n */\n highlightCurated: {\n type: Boolean,\n },\n },\n\n setup(props) {\n const el = ref<HTMLElement | null>(null)\n\n const $x = use$x()\n\n /**\n * Returns the suggestion filter object.\n * It is a BooleanFilter because the label is needed.\n * It returns only the first element because the facets and filters are being planned\n * in the BaseSuggestions component.\n *\n * @returns The filter.\n * @public\n */\n const filter = computed<BooleanFilter | undefined>(\n () => props.suggestion.facets?.[0]?.filters[0] as BooleanFilter,\n )\n\n /**\n * The event handler that will be triggered when clicking on a suggestion.\n *\n * @remarks\n * UserAcceptedAQuery: suggestion.query\n * UserSelectedASuggestion: suggestion\n * UserClickedAFilter: suggestion.facets[0].filters[0]\n * Merges the events defined in the suggestionSelectedEvents prop and also emits them\n *\n * @returns The {@link XEvent} to emit.\n * @public\n */\n const events = computed<Partial<XEventsTypes>>(() => {\n const filterEvent: Partial<XEventsTypes> = filter.value\n ? { UserClickedAFilter: filter.value }\n : {}\n return {\n UserAcceptedAQuery: props.suggestion.query,\n UserSelectedASuggestion: props.suggestion,\n ...props.suggestionSelectedEvents,\n ...filterEvent,\n }\n })\n\n /**\n * Emits the events when the button is clicked.\n *\n * @public\n */\n const emitEvents = (): void => {\n forEach(events.value, (event, payload): void => {\n $x.emit(event, payload, {\n target: el.value!,\n feature: props.feature,\n })\n })\n }\n\n /**\n * Checks if the suggestion is curated and if it should be highlighted.\n *\n * @returns True if the suggestion is curated and should be highlighted.\n *\n * @internal\n */\n const shouldHighlightCurated = computed<boolean>(\n () => props.highlightCurated && !!props.suggestion.isCurated,\n )\n\n /**\n * Generates css classes dynamically.\n *\n * @remarks\n * 'x-suggestion--matching added when the query should be matched.\n *\n * @returns The {@link VueCSSClasses} classes.\n * @public\n */\n const dynamicCSSClasses = computed<VueCSSClasses>(() => ({\n 'x-suggestion--is-curated': shouldHighlightCurated.value,\n }))\n\n return {\n el,\n filter,\n emitEvents,\n dynamicCSSClasses,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following events:\n\n- [`UserAcceptedAQuery`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the suggestion query\n data.\n- [`UserSelectedASuggestion`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the suggestion data.\n- [`UserClickedAFilter`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button if the suggestion includes a filter. The\n event payload is the suggestion filter.\n- The component can emit more events on click using the `suggestionSelectedEvents` prop.\n\n## Examples\n\n### Basic usage\n\nThis suggestion component expects a suggestion to render and pass to its default slot, a normalized\nquery to compare with the suggestion's query and highlight its matching parts, and events to emit\nwhen the suggestion is selected.\n\nIf the suggestion contains a filter, it is displayed next to the suggestion.\n\n```vue live\n<template>\n <BaseSuggestion :query=\"query\" :suggestion=\"suggestion\" />\n</template>\n\n<script setup>\nimport { BaseSuggestion } from '@empathyco/x-components'\nconst query = 'st'\nconst suggestion = {\n modelName: 'QuerySuggestion',\n query: 'steak',\n facets: [\n {\n modelName: 'SimpleFacet',\n id: 'category',\n label: 'Category',\n filters: [\n {\n id: 'category:groceries',\n modelName: 'SimpleFilter',\n facetId: 'category-facet',\n label: 'Groceries',\n selected: false,\n totalResults: 10,\n },\n ],\n },\n ],\n}\n</script>\n```\n\n### Customise the content\n\nYou can make this component render any content you want by using the `default` slot.\n\n```vue live\n<template>\n <BaseSuggestion :query=\"query\" :suggestion=\"suggestion\">\n <template #default=\"{ suggestion, query, filter }\">\n <span>🔍</span>\n <Highlight :text=\"suggestion.query\" :highlight=\"query\" />\n <span v-if=\"filter\">{{ filter.label }}</span>\n </template>\n </BaseSuggestion>\n</template>\n\n<script setup>\nimport { BaseSuggestion } from '@empathyco/x-components'\nconst query = 'st'\nconst suggestion = {\n modelName: 'QuerySuggestion',\n query: 'steak',\n}\n</script>\n```\n\n### Emitting custom events with suggestionSelectedEvents\n\nYou can emit additional custom events when a suggestion is selected by passing them in the `suggestionSelectedEvents` prop. For example, to emit a custom event called `CustomSuggestionEvent` with a payload:\n\n```vue live\n<template>\n <BaseSuggestion\n :query=\"query\"\n :suggestion=\"suggestion\"\n :suggestionSelectedEvents=\"suggestionSelectedEvents\"\n />\n</template>\n\n<script setup>\nimport { BaseSuggestion } from '@empathyco/x-components'\nconst query = 'st'\nconst suggestion = {\n modelName: 'QuerySuggestion',\n query: 'steak',\n}\nconst suggestionSelectedEvents = {\n CustomSuggestionEvent: { custom: 'payload' },\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;;;;AA0BA;;;;;;;;AAQE;AACF,gBAAe,eAAe,CAAC;IAC7B,UAAU,EAAE,EAAE,WAAW;AACzB,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AAED;;;;AAIE;AACF,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,MAA8B;AACpC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AAED;;;;AAIE;;AAEF,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,MAAgC;AACvC,SAAA;AAED;;;;AAIE;AACF,QAAA,wBAAwB,EAAE;AACxB,YAAA,IAAI,EAAE,MAAyC;AAC/C,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AAED;;;;AAIE;AACF,QAAA,gBAAgB,EAAE;AAChB,YAAA,IAAI,EAAE,OAAO;AACd,SAAA;AACF,KAAA;AAED,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,GAAG,CAAqB,IAAI,CAAA;AAEvC,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB;;;;;;;;AAQE;QACF,MAAM,SAAS,QAAQ,CACrB,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAkB,CACjE;AAEA;;;;;;;;;;;AAWE;AACF,QAAA,MAAM,MAAK,GAAI,QAAQ,CAAwB,MAAI;AACjD,YAAA,MAAM,WAAW,GAA0B,MAAM,CAAC;AAChD,kBAAE,EAAE,kBAAkB,EAAE,MAAM,CAAC,KAAI;kBACjC,EAAC;YACL,OAAO;AACL,gBAAA,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK;gBAC1C,uBAAuB,EAAE,KAAK,CAAC,UAAU;gBACzC,GAAG,KAAK,CAAC,wBAAwB;AACjC,gBAAA,GAAG,WAAW;aAChB;AACF,QAAA,CAAC,CAAA;AAED;;;;AAIE;QACF,MAAM,UAAS,GAAI,MAAU;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAS;AAC5C,gBAAA,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;oBACtB,MAAM,EAAE,EAAE,CAAC,KAAM;oBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;AACvB,iBAAA,CAAA;AACH,YAAA,CAAC,CAAA;AACH,QAAA,CAAA;AAEA;;;;;;AAME;AACF,QAAA,MAAM,sBAAqB,GAAI,QAAQ,CACrC,MAAM,KAAK,CAAC,gBAAe,IAAK,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAC9D;AAEA;;;;;;;;AAQE;AACF,QAAA,MAAM,iBAAgB,GAAI,QAAQ,CAAgB,OAAO;YACvD,0BAA0B,EAAE,sBAAsB,CAAC,KAAK;AACzD,SAAA,CAAC,CAAA;QAEF,OAAO;YACL,EAAE;YACF,MAAM;YACN,UAAU;YACV,iBAAiB;SACnB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -1,6 +1,6 @@
1
- import _sfc_main from './base-suggestions2.vue.js';
1
+ import _sfc_main from './base-suggestions.vue2.js';
2
2
  import { openBlock, createBlock, resolveDynamicComponent, withCtx, createElementBlock, Fragment, renderList, normalizeClass, renderSlot, mergeProps, createCommentVNode } from 'vue';
3
- import './base-suggestions3.vue.js';
3
+ import './base-suggestions.vue3.js';
4
4
  import _export_sfc from '../../_virtual/_plugin-vue_export-helper.js';
5
5
 
6
6
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -124,4 +124,4 @@ var _sfc_main = defineComponent({
124
124
  });
125
125
 
126
126
  export { _sfc_main as default };
127
- //# sourceMappingURL=base-suggestions2.vue.js.map
127
+ //# sourceMappingURL=base-suggestions.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-suggestions2.vue.js","sources":["../../../../src/components/suggestions/base-suggestions.vue"],"sourcesContent":["<template>\n <component :is=\"animation\" v-if=\"suggestions.length\" tag=\"ul\" class=\"x-suggestions\">\n <li\n v-for=\"(suggestion, index) in suggestionsToRender\"\n :key=\"suggestionsKeys[index]\"\n class=\"x-suggestions__item\"\n :class=\"suggestionItemClass\"\n data-test=\"suggestion-item\"\n >\n <!--\n @slot (Required) List item content\n @binding {Suggestion} suggestion - Suggestion data\n @binding {number} index - Suggestion index\n @binding {Filter | undefined} filter - Suggestion's filter\n -->\n <slot v-bind=\"{ suggestion, index, filter: getSuggestionFilter(suggestion) }\" />\n </li>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { Facet, Suggestion } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport { computed, defineComponent } from 'vue'\nimport { AnimationProp } from '../../types'\nimport { isArrayEmpty } from '../../utils/array'\n\n/**\n * Paints a list of suggestions passed in by prop. Requires a component for a single suggestion\n * in the default slot for working.\n *\n * @public\n */\nexport default defineComponent({\n name: 'BaseSuggestions',\n props: {\n /**\n * The list of suggestions to render.\n *\n * @public\n */\n suggestions: {\n type: Array as PropType<Suggestion[]>,\n required: true,\n },\n /**\n * Animation component that will be used to animate the suggestion.\n *\n * @public\n */\n animation: {\n type: AnimationProp,\n default: 'ul',\n },\n /**\n * Number of suggestions to be rendered.\n *\n * @public\n */\n maxItemsToRender: Number,\n /**\n * Boolean value to indicate if the facets should be rendered.\n *\n * @public\n */\n showFacets: {\n type: Boolean,\n default: false,\n },\n /**\n * When `showFacets` property of `BaseSuggestions` component is true, it indicates if the suggestion without\n * filter should be rendered.\n *\n * @public\n */\n showPlainSuggestion: {\n type: Boolean,\n default: false,\n },\n /** Class inherited by content element. */\n suggestionItemClass: String,\n },\n setup(props) {\n /**\n * Creates a suggestion for each one of the filter inside each facet.\n *\n * @param suggestion - Suggestion to expand.\n * @returns A list of suggestions, each one with a single filter.\n *\n * @internal\n */\n const expandSuggestionFilters = (suggestion: Suggestion): Suggestion[] => {\n return (\n suggestion.facets?.flatMap(facet =>\n facet.filters.map(filter => ({\n ...suggestion,\n facets: [{ ...facet, filters: [filter] }],\n })),\n ) ?? []\n )\n }\n\n /**\n * Creates a list of suggestions to render based on the configuration of this component.\n *\n * @returns - The list of suggestions to be rendered by this component.\n *\n * @internal\n */\n const suggestionsToRender = computed(() =>\n props.suggestions\n .flatMap(suggestion =>\n props.showFacets && suggestion.facets?.length\n ? props.showPlainSuggestion\n ? [{ ...suggestion, facets: [] }, ...expandSuggestionFilters(suggestion)]\n : expandSuggestionFilters(suggestion)\n : { ...suggestion, facets: [] },\n )\n .slice(0, props.maxItemsToRender),\n )\n\n /**\n * Generates a string from the given facet.\n *\n * @param facet - The facet to reduce to a string.\n * @returns - A string representing the facet.\n * @internal\n */\n const getFacetKey = (facet: Facet) => facet.filters.map(filter => filter.id).join('&')\n\n /**\n * Generates a string from the given facets.\n *\n * @param facets - The list of facets to reduce to a string.\n * @returns - A string representing the list of facets.\n * @internal\n */\n const getFacetsKey = (facets: Facet[]) => facets.map(getFacetKey).join('&')\n\n /**\n * An array with the unique keys for each suggestion. Required by the `v-for` loop.\n *\n * @returns An array with the unique keys of the suggestions.\n * @internal\n */\n const suggestionsKeys = computed(() =>\n suggestionsToRender.value.map(suggestion =>\n isArrayEmpty(suggestion.facets)\n ? suggestion.query\n : `${suggestion.query}-in-${getFacetsKey(suggestion.facets)}`,\n ),\n )\n\n /**\n * Returns the filter contained by the suggestion.\n *\n * @param suggestion - Suggestion containing the filter.\n * @returns The suggestion filter.\n * @internal\n */\n const getSuggestionFilter = (suggestion: Suggestion) => suggestion.facets?.[0]?.filters[0]\n\n return { suggestionsToRender, suggestionsKeys, getSuggestionFilter }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-suggestions {\n list-style-type: none;\n}\n\n.x-suggestions,\n.x-suggestions__item {\n display: flex;\n flex-flow: column nowrap;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Examples\n\nFor this component to work, you will need to set a list of suggestions as prop, and also to\nimplement the component for single suggestion, which handles the click event. In the following\nexample, the suggestions are retrieved from a property called `suggestions`, and the implementation\nof the suggestion component is a simple `button`, that calls the `emitSuggestionSelected` method\nwhen clicked.\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\">\n <template #default=\"{ suggestion }\">\n <button @click=\"emitSuggestionSelected($event, suggestion)\">\n {{ suggestion.query }}\n </button>\n </template>\n </BaseSuggestions>\n</template>\n\n<script setup>\nimport { ref } from 'vue'\nimport { BaseSuggestions } from '@empathyco/x-components'\nimport { use$x } from '../../composables'\n\nconst x = use$x()\nconst suggestions = ref([\n {\n query: 'Chips',\n facets: [],\n key: 'chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n query: 'Puzzle',\n facets: [],\n key: 'puzzle',\n totalResults: 5,\n results: [],\n modelName: 'PopularSearch',\n },\n])\nfunction emitSuggestionSelected(event, suggestion) {\n x.emit('UserAcceptedAQuery', suggestion.query, { target: event.target })\n x.emit('UserSelectedAQuerySuggestion', suggestion, { target: event.target })\n}\n</script>\n```\n\n### Play with props\n\nIn this example, the suggestions has been limited to render a maximum of 3 items. _Type \"puzzle\" or\nanother toy in the input field to try it out!_\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\" :maxItemsToRender=\"3\" />\n</template>\n\n<script setup>\nimport { BaseSuggestions } from '@empathyco/x-components'\nconst suggestions = [\n {\n facets: [],\n key: 'chips',\n query: 'Chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n facets: [],\n key: 'puzzle',\n query: 'Puzzle',\n totalResults: 5,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n facets: [],\n key: 'lego',\n query: 'Lego',\n totalResults: 8,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n facets: [],\n key: 'car',\n query: 'Car',\n totalResults: 3,\n results: [],\n modelName: 'PopularSearch',\n },\n]\n</script>\n```\n\nIn this example, the filters of the suggestion will be rendered along with the query.\n\nThe `showPlainSuggestion` prop can be used to indicate if the suggestion without filter must be\nrendered along with the suggestion with filters.\n\nThis will render:\n\n- Chips //If `showPlainSuggestion` is true\n- Chips EXAMPLE\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\" showFacets showPlainSuggestion />\n</template>\n\n<script setup>\nimport { BaseSuggestions } from '@empathyco/x-components'\nconst suggestions = [\n {\n facets: [\n {\n id: 'exampleFacet',\n label: 'exampleFacet',\n modelName: 'SimpleFacet',\n filters: [\n {\n facetId: 'exampleFacet',\n id: '{!tag=exampleFacet}exampleFacet_60361120_64009600:\"EXAMPLE\"',\n label: 'EXAMPLE',\n selected: false,\n totalResults: 10,\n modelName: 'SimpleFilter',\n },\n ],\n },\n ],\n key: 'chips',\n query: 'Chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n]\n</script>\n```\n\nIn this example, the `suggestionItemClass` prop can be used to add classes to the suggestion item.\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\" suggestionItemClass=\"x-custom-class\" />\n</template>\n\n<script setup>\nimport { BaseSuggestions } from '@empathyco/x-components'\nconst suggestions = [\n {\n facets: [],\n key: 'chips',\n query: 'Chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n]\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;AA2BA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,WAAW,EAAE;AACX,YAAA,IAAI,EAAE,KAA+B;AACrC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD;;;;AAIE;AACF,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD;;;;AAIE;AACF,QAAA,gBAAgB,EAAE,MAAM;AACxB;;;;AAIE;AACF,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACD;;;;;AAKE;AACF,QAAA,mBAAmB,EAAE;AACnB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;;AAED,QAAA,mBAAmB,EAAE,MAAM;AAC5B,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;;;;AAOE;AACF,QAAA,MAAM,uBAAsB,GAAI,CAAC,UAAsB,KAAiB;YACtE,QACE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,SACzB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAK,KAAM;AAC3B,gBAAA,GAAG,UAAU;AACb,gBAAA,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAA,EAAG,CAAC;AAC1C,aAAA,CAAC,CAAC,CACL,IAAK,EAAC;AAEV,QAAA,CAAA;AAEA;;;;;;AAME;QACF,MAAM,mBAAkB,GAAI,QAAQ,CAAC,MACnC,KAAK,CAAC;AACH,aAAA,OAAO,CAAC,cACP,KAAK,CAAC,cAAc,UAAU,CAAC,MAAM,EAAE;cACnC,KAAK,CAAC;AACN,kBAAE,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,EAAC,EAAG,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC;AACxE,kBAAE,uBAAuB,CAAC,UAAU;cACpC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,EAAC,EAAG;aAElC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CACrC;AAEA;;;;;;AAME;QACF,MAAM,cAAc,CAAC,KAAY,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;AAErF;;;;;;AAME;AACF,QAAA,MAAM,YAAW,GAAI,CAAC,MAAe,KAAK,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;AAE1E;;;;;AAKE;QACF,MAAM,eAAc,GAAI,QAAQ,CAAC,MAC/B,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,cAC5B,YAAY,CAAC,UAAU,CAAC,MAAM;cAC1B,UAAU,CAAC;AACb,cAAE,CAAA,EAAG,UAAU,CAAC,KAAK,CAAA,IAAA,EAAO,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA,CAAE,CAChE,CACH;AAEA;;;;;;AAME;AACF,QAAA,MAAM,mBAAkB,GAAI,CAAC,UAAsB,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AAEzF,QAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAkB,EAAE;IACrE,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"base-suggestions.vue2.js","sources":["../../../../src/components/suggestions/base-suggestions.vue"],"sourcesContent":["<template>\n <component :is=\"animation\" v-if=\"suggestions.length\" tag=\"ul\" class=\"x-suggestions\">\n <li\n v-for=\"(suggestion, index) in suggestionsToRender\"\n :key=\"suggestionsKeys[index]\"\n class=\"x-suggestions__item\"\n :class=\"suggestionItemClass\"\n data-test=\"suggestion-item\"\n >\n <!--\n @slot (Required) List item content\n @binding {Suggestion} suggestion - Suggestion data\n @binding {number} index - Suggestion index\n @binding {Filter | undefined} filter - Suggestion's filter\n -->\n <slot v-bind=\"{ suggestion, index, filter: getSuggestionFilter(suggestion) }\" />\n </li>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { Facet, Suggestion } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport { computed, defineComponent } from 'vue'\nimport { AnimationProp } from '../../types'\nimport { isArrayEmpty } from '../../utils/array'\n\n/**\n * Paints a list of suggestions passed in by prop. Requires a component for a single suggestion\n * in the default slot for working.\n *\n * @public\n */\nexport default defineComponent({\n name: 'BaseSuggestions',\n props: {\n /**\n * The list of suggestions to render.\n *\n * @public\n */\n suggestions: {\n type: Array as PropType<Suggestion[]>,\n required: true,\n },\n /**\n * Animation component that will be used to animate the suggestion.\n *\n * @public\n */\n animation: {\n type: AnimationProp,\n default: 'ul',\n },\n /**\n * Number of suggestions to be rendered.\n *\n * @public\n */\n maxItemsToRender: Number,\n /**\n * Boolean value to indicate if the facets should be rendered.\n *\n * @public\n */\n showFacets: {\n type: Boolean,\n default: false,\n },\n /**\n * When `showFacets` property of `BaseSuggestions` component is true, it indicates if the suggestion without\n * filter should be rendered.\n *\n * @public\n */\n showPlainSuggestion: {\n type: Boolean,\n default: false,\n },\n /** Class inherited by content element. */\n suggestionItemClass: String,\n },\n setup(props) {\n /**\n * Creates a suggestion for each one of the filter inside each facet.\n *\n * @param suggestion - Suggestion to expand.\n * @returns A list of suggestions, each one with a single filter.\n *\n * @internal\n */\n const expandSuggestionFilters = (suggestion: Suggestion): Suggestion[] => {\n return (\n suggestion.facets?.flatMap(facet =>\n facet.filters.map(filter => ({\n ...suggestion,\n facets: [{ ...facet, filters: [filter] }],\n })),\n ) ?? []\n )\n }\n\n /**\n * Creates a list of suggestions to render based on the configuration of this component.\n *\n * @returns - The list of suggestions to be rendered by this component.\n *\n * @internal\n */\n const suggestionsToRender = computed(() =>\n props.suggestions\n .flatMap(suggestion =>\n props.showFacets && suggestion.facets?.length\n ? props.showPlainSuggestion\n ? [{ ...suggestion, facets: [] }, ...expandSuggestionFilters(suggestion)]\n : expandSuggestionFilters(suggestion)\n : { ...suggestion, facets: [] },\n )\n .slice(0, props.maxItemsToRender),\n )\n\n /**\n * Generates a string from the given facet.\n *\n * @param facet - The facet to reduce to a string.\n * @returns - A string representing the facet.\n * @internal\n */\n const getFacetKey = (facet: Facet) => facet.filters.map(filter => filter.id).join('&')\n\n /**\n * Generates a string from the given facets.\n *\n * @param facets - The list of facets to reduce to a string.\n * @returns - A string representing the list of facets.\n * @internal\n */\n const getFacetsKey = (facets: Facet[]) => facets.map(getFacetKey).join('&')\n\n /**\n * An array with the unique keys for each suggestion. Required by the `v-for` loop.\n *\n * @returns An array with the unique keys of the suggestions.\n * @internal\n */\n const suggestionsKeys = computed(() =>\n suggestionsToRender.value.map(suggestion =>\n isArrayEmpty(suggestion.facets)\n ? suggestion.query\n : `${suggestion.query}-in-${getFacetsKey(suggestion.facets)}`,\n ),\n )\n\n /**\n * Returns the filter contained by the suggestion.\n *\n * @param suggestion - Suggestion containing the filter.\n * @returns The suggestion filter.\n * @internal\n */\n const getSuggestionFilter = (suggestion: Suggestion) => suggestion.facets?.[0]?.filters[0]\n\n return { suggestionsToRender, suggestionsKeys, getSuggestionFilter }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-suggestions {\n list-style-type: none;\n}\n\n.x-suggestions,\n.x-suggestions__item {\n display: flex;\n flex-flow: column nowrap;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Examples\n\nFor this component to work, you will need to set a list of suggestions as prop, and also to\nimplement the component for single suggestion, which handles the click event. In the following\nexample, the suggestions are retrieved from a property called `suggestions`, and the implementation\nof the suggestion component is a simple `button`, that calls the `emitSuggestionSelected` method\nwhen clicked.\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\">\n <template #default=\"{ suggestion }\">\n <button @click=\"emitSuggestionSelected($event, suggestion)\">\n {{ suggestion.query }}\n </button>\n </template>\n </BaseSuggestions>\n</template>\n\n<script setup>\nimport { ref } from 'vue'\nimport { BaseSuggestions } from '@empathyco/x-components'\nimport { use$x } from '../../composables'\n\nconst x = use$x()\nconst suggestions = ref([\n {\n query: 'Chips',\n facets: [],\n key: 'chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n query: 'Puzzle',\n facets: [],\n key: 'puzzle',\n totalResults: 5,\n results: [],\n modelName: 'PopularSearch',\n },\n])\nfunction emitSuggestionSelected(event, suggestion) {\n x.emit('UserAcceptedAQuery', suggestion.query, { target: event.target })\n x.emit('UserSelectedAQuerySuggestion', suggestion, { target: event.target })\n}\n</script>\n```\n\n### Play with props\n\nIn this example, the suggestions has been limited to render a maximum of 3 items. _Type \"puzzle\" or\nanother toy in the input field to try it out!_\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\" :maxItemsToRender=\"3\" />\n</template>\n\n<script setup>\nimport { BaseSuggestions } from '@empathyco/x-components'\nconst suggestions = [\n {\n facets: [],\n key: 'chips',\n query: 'Chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n facets: [],\n key: 'puzzle',\n query: 'Puzzle',\n totalResults: 5,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n facets: [],\n key: 'lego',\n query: 'Lego',\n totalResults: 8,\n results: [],\n modelName: 'PopularSearch',\n },\n {\n facets: [],\n key: 'car',\n query: 'Car',\n totalResults: 3,\n results: [],\n modelName: 'PopularSearch',\n },\n]\n</script>\n```\n\nIn this example, the filters of the suggestion will be rendered along with the query.\n\nThe `showPlainSuggestion` prop can be used to indicate if the suggestion without filter must be\nrendered along with the suggestion with filters.\n\nThis will render:\n\n- Chips //If `showPlainSuggestion` is true\n- Chips EXAMPLE\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\" showFacets showPlainSuggestion />\n</template>\n\n<script setup>\nimport { BaseSuggestions } from '@empathyco/x-components'\nconst suggestions = [\n {\n facets: [\n {\n id: 'exampleFacet',\n label: 'exampleFacet',\n modelName: 'SimpleFacet',\n filters: [\n {\n facetId: 'exampleFacet',\n id: '{!tag=exampleFacet}exampleFacet_60361120_64009600:\"EXAMPLE\"',\n label: 'EXAMPLE',\n selected: false,\n totalResults: 10,\n modelName: 'SimpleFilter',\n },\n ],\n },\n ],\n key: 'chips',\n query: 'Chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n]\n</script>\n```\n\nIn this example, the `suggestionItemClass` prop can be used to add classes to the suggestion item.\n\n```vue\n<template>\n <BaseSuggestions :suggestions=\"suggestions\" suggestionItemClass=\"x-custom-class\" />\n</template>\n\n<script setup>\nimport { BaseSuggestions } from '@empathyco/x-components'\nconst suggestions = [\n {\n facets: [],\n key: 'chips',\n query: 'Chips',\n totalResults: 10,\n results: [],\n modelName: 'PopularSearch',\n },\n]\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;AA2BA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,WAAW,EAAE;AACX,YAAA,IAAI,EAAE,KAA+B;AACrC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD;;;;AAIE;AACF,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD;;;;AAIE;AACF,QAAA,gBAAgB,EAAE,MAAM;AACxB;;;;AAIE;AACF,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACD;;;;;AAKE;AACF,QAAA,mBAAmB,EAAE;AACnB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;;AAED,QAAA,mBAAmB,EAAE,MAAM;AAC5B,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;;;;AAOE;AACF,QAAA,MAAM,uBAAsB,GAAI,CAAC,UAAsB,KAAiB;YACtE,QACE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,SACzB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAK,KAAM;AAC3B,gBAAA,GAAG,UAAU;AACb,gBAAA,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAA,EAAG,CAAC;AAC1C,aAAA,CAAC,CAAC,CACL,IAAK,EAAC;AAEV,QAAA,CAAA;AAEA;;;;;;AAME;QACF,MAAM,mBAAkB,GAAI,QAAQ,CAAC,MACnC,KAAK,CAAC;AACH,aAAA,OAAO,CAAC,cACP,KAAK,CAAC,cAAc,UAAU,CAAC,MAAM,EAAE;cACnC,KAAK,CAAC;AACN,kBAAE,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,EAAC,EAAG,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC;AACxE,kBAAE,uBAAuB,CAAC,UAAU;cACpC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,EAAC,EAAG;aAElC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CACrC;AAEA;;;;;;AAME;QACF,MAAM,cAAc,CAAC,KAAY,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;AAErF;;;;;;AAME;AACF,QAAA,MAAM,YAAW,GAAI,CAAC,MAAe,KAAK,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;AAE1E;;;;;AAKE;QACF,MAAM,eAAc,GAAI,QAAQ,CAAC,MAC/B,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,cAC5B,YAAY,CAAC,UAAU,CAAC,MAAM;cAC1B,UAAU,CAAC;AACb,cAAE,CAAA,EAAG,UAAU,CAAC,KAAK,CAAA,IAAA,EAAO,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA,CAAE,CAChE,CACH;AAEA;;;;;;AAME;AACF,QAAA,MAAM,mBAAkB,GAAI,CAAC,UAAsB,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AAEzF,QAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAkB,EAAE;IACrE,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -4,4 +4,4 @@ var css = ".x-suggestions[data-v-60a55deb]{list-style-type:none}.x-suggestions[d
4
4
  injectCss(css);
5
5
 
6
6
  export { css };
7
- //# sourceMappingURL=base-suggestions3.vue.js.map
7
+ //# sourceMappingURL=base-suggestions.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-suggestions.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
package/js/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  export { default as AnimateClipPath } from './components/animations/animate-clip-path.vue.js';
2
- import './components/animations/animate-clip-path2.vue.js';
2
+ import './components/animations/animate-clip-path.vue2.js';
3
3
  export { default as AnimateScale } from './components/animations/animate-scale.vue.js';
4
- import './components/animations/animate-scale2.vue.js';
4
+ import './components/animations/animate-scale.vue2.js';
5
5
  export { default as AnimateTranslate } from './components/animations/animate-translate.vue.js';
6
- import './components/animations/animate-translate2.vue.js';
6
+ import './components/animations/animate-translate.vue2.js';
7
7
  export { default as AnimateWidth } from './components/animations/animate-width.vue.js';
8
8
  export { default as ChangeHeight } from './components/animations/change-height.vue.js';
9
9
  export { default as CollapseHeight } from './components/animations/collapse-height.vue.js';
@@ -1,6 +1,6 @@
1
- import _sfc_main from './ai-carousel2.vue.js';
1
+ import _sfc_main from './ai-carousel.vue2.js';
2
2
  import { resolveComponent, openBlock, createBlock, withCtx, createElementBlock, createVNode, createElementVNode, normalizeClass, toDisplayString, createCommentVNode, renderSlot, Fragment, renderList, createTextVNode } from 'vue';
3
- import './ai-carousel3.vue.js';
3
+ import './ai-carousel.vue3.js';
4
4
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
5
5
 
6
6
  const _hoisted_1 = {
@@ -1,95 +1,95 @@
1
1
  import { useResizeObserver } from '@vueuse/core';
2
2
  import { defineComponent, ref, computed, watch, onMounted } from 'vue';
3
- import '../../../components/animations/animate-clip-path2.vue.js';
4
- import '../../../components/animations/animate-scale2.vue.js';
5
- import '../../../components/animations/animate-translate2.vue.js';
6
- import '../../../components/animations/animate-width2.vue.js';
7
- import '../../../components/animations/animate-width3.vue.js';
3
+ import '../../../components/animations/animate-clip-path.vue2.js';
4
+ import '../../../components/animations/animate-scale.vue2.js';
5
+ import '../../../components/animations/animate-translate.vue2.js';
6
+ import '../../../components/animations/animate-width.vue2.js';
7
+ import '../../../components/animations/animate-width.vue3.js';
8
8
  import ChangeHeight from '../../../components/animations/change-height.vue.js';
9
9
  import CollapseHeight from '../../../components/animations/collapse-height.vue.js';
10
- import '../../../components/animations/collapse-width2.vue.js';
11
- import '../../../components/animations/collapse-width3.vue.js';
12
- import '../../../components/animations/cross-fade2.vue.js';
13
- import '../../../components/animations/cross-fade3.vue.js';
14
- import '../../../components/animations/fade-and-slide2.vue.js';
15
- import '../../../components/animations/fade-and-slide3.vue.js';
16
- import '../../../components/animations/fade2.vue.js';
17
- import '../../../components/animations/fade3.vue.js';
10
+ import '../../../components/animations/collapse-width.vue2.js';
11
+ import '../../../components/animations/collapse-width.vue3.js';
12
+ import '../../../components/animations/cross-fade.vue2.js';
13
+ import '../../../components/animations/cross-fade.vue3.js';
14
+ import '../../../components/animations/fade-and-slide.vue2.js';
15
+ import '../../../components/animations/fade-and-slide.vue3.js';
16
+ import '../../../components/animations/fade.vue2.js';
17
+ import '../../../components/animations/fade.vue3.js';
18
18
  import '../../../components/animations/no-animation.vue.js';
19
- import '../../../components/animations/staggered-fade-and-slide2.vue.js';
20
- import '../../../components/animations/staggered-fade-and-slide3.vue.js';
21
- import '../../../components/auto-progress-bar2.vue.js';
22
- import '../../../components/auto-progress-bar3.vue.js';
23
- import '../../../components/base-dropdown2.vue.js';
24
- import '../../../components/base-dropdown3.vue.js';
19
+ import '../../../components/animations/staggered-fade-and-slide.vue2.js';
20
+ import '../../../components/animations/staggered-fade-and-slide.vue3.js';
21
+ import '../../../components/auto-progress-bar.vue2.js';
22
+ import '../../../components/auto-progress-bar.vue3.js';
23
+ import '../../../components/base-dropdown.vue2.js';
24
+ import '../../../components/base-dropdown.vue3.js';
25
25
  import BaseEventButton from '../../../components/base-event-button.vue.js';
26
- import '../../../components/base-grid2.vue.js';
27
- import '../../../components/base-grid3.vue.js';
28
- import '../../../components/base-keyboard-navigation2.vue.js';
29
- import '../../../components/base-rating2.vue.js';
30
- import '../../../components/base-rating3.vue.js';
31
- import '../../../components/base-slider2.vue.js';
32
- import '../../../components/base-slider3.vue.js';
33
- import '../../../components/base-switch2.vue.js';
34
- import '../../../components/base-switch3.vue.js';
35
- import '../../../components/base-teleport2.vue.js';
36
- import '../../../components/base-variable-column-grid2.vue.js';
37
- import '../../../components/column-picker/base-column-picker-dropdown2.vue.js';
38
- import '../../../components/column-picker/base-column-picker-list2.vue.js';
39
- import '../../../components/currency/base-currency2.vue.js';
26
+ import '../../../components/base-grid.vue2.js';
27
+ import '../../../components/base-grid.vue3.js';
28
+ import '../../../components/base-keyboard-navigation.vue2.js';
29
+ import '../../../components/base-rating.vue2.js';
30
+ import '../../../components/base-rating.vue3.js';
31
+ import '../../../components/base-slider.vue2.js';
32
+ import '../../../components/base-slider.vue3.js';
33
+ import '../../../components/base-switch.vue2.js';
34
+ import '../../../components/base-switch.vue3.js';
35
+ import '../../../components/base-teleport.vue2.js';
36
+ import '../../../components/base-variable-column-grid.vue2.js';
37
+ import '../../../components/column-picker/base-column-picker-dropdown.vue2.js';
38
+ import '../../../components/column-picker/base-column-picker-list.vue2.js';
39
+ import '../../../components/currency/base-currency.vue2.js';
40
40
  import _sfc_main$2 from '../../../components/display-click-provider.vue.js';
41
41
  import _sfc_main$1 from '../../../components/display-emitter.vue.js';
42
42
  import '../../../components/filters/labels/base-price-filter-label.vue.js';
43
- import '../../../components/filters/labels/base-rating-filter-label2.vue.js';
43
+ import '../../../components/filters/labels/base-rating-filter-label.vue2.js';
44
44
  import '../../../components/global-x-bus.vue.js';
45
- import '../../../components/highlight2.vue.js';
45
+ import '../../../components/highlight.vue2.js';
46
46
  import AIStarIcon from '../../../components/icons/ai-star.vue.js';
47
47
  import ArrowRightIcon from '../../../components/icons/arrow-right.vue.js';
48
48
  import ChevronDownIcon from '../../../components/icons/chevron-down.vue.js';
49
- import '../../../components/items-list2.vue.js';
49
+ import '../../../components/items-list.vue2.js';
50
50
  import '../../../components/location-provider.vue.js';
51
- import '../../../components/modals/base-events-modal-close2.vue.js';
52
- import '../../../components/modals/base-events-modal-open2.vue.js';
53
- import '../../../components/modals/base-events-modal2.vue.js';
54
- import '../../../components/modals/base-id-modal-close2.vue.js';
55
- import '../../../components/modals/base-id-modal-open2.vue.js';
56
- import '../../../components/modals/base-id-modal2.vue.js';
57
- import '../../../components/modals/base-modal2.vue.js';
58
- import '../../../components/modals/base-modal3.vue.js';
59
- import '../../../components/modals/close-main-modal2.vue.js';
60
- import '../../../components/modals/main-modal2.vue.js';
61
- import '../../../components/modals/open-main-modal2.vue.js';
62
- import '../../../components/page-loader-button2.vue.js';
63
- import '../../../components/page-loader-button3.vue.js';
64
- import '../../../components/page-selector2.vue.js';
65
- import '../../../components/page-selector3.vue.js';
66
- import '../../../components/panels/base-header-toggle-panel2.vue.js';
67
- import '../../../components/panels/base-header-toggle-panel3.vue.js';
68
- import '../../../components/panels/base-id-toggle-panel-button2.vue.js';
69
- import '../../../components/panels/base-id-toggle-panel2.vue.js';
70
- import '../../../components/panels/base-tabs-panel2.vue.js';
71
- import '../../../components/panels/base-tabs-panel3.vue.js';
72
- import '../../../components/panels/base-toggle-panel2.vue.js';
73
- import '../../../components/result/base-result-add-to-cart2.vue.js';
74
- import '../../../components/result/base-result-current-price2.vue.js';
75
- import '../../../components/result/base-result-image2.vue.js';
76
- import '../../../components/result/base-result-image3.vue.js';
77
- import '../../../components/result/base-result-link2.vue.js';
78
- import '../../../components/result/base-result-link3.vue.js';
79
- import '../../../components/result/base-result-previous-price2.vue.js';
80
- import '../../../components/result/base-result-rating2.vue.js';
81
- import '../../../components/result/base-result-rating3.vue.js';
82
- import '../../../components/result/result-variant-selector2.vue.js';
83
- import '../../../components/result/result-variant-selector3.vue.js';
51
+ import '../../../components/modals/base-events-modal-close.vue2.js';
52
+ import '../../../components/modals/base-events-modal-open.vue2.js';
53
+ import '../../../components/modals/base-events-modal.vue2.js';
54
+ import '../../../components/modals/base-id-modal-close.vue2.js';
55
+ import '../../../components/modals/base-id-modal-open.vue2.js';
56
+ import '../../../components/modals/base-id-modal.vue2.js';
57
+ import '../../../components/modals/base-modal.vue2.js';
58
+ import '../../../components/modals/base-modal.vue3.js';
59
+ import '../../../components/modals/close-main-modal.vue2.js';
60
+ import '../../../components/modals/main-modal.vue2.js';
61
+ import '../../../components/modals/open-main-modal.vue2.js';
62
+ import '../../../components/page-loader-button.vue2.js';
63
+ import '../../../components/page-loader-button.vue3.js';
64
+ import '../../../components/page-selector.vue2.js';
65
+ import '../../../components/page-selector.vue3.js';
66
+ import '../../../components/panels/base-header-toggle-panel.vue2.js';
67
+ import '../../../components/panels/base-header-toggle-panel.vue3.js';
68
+ import '../../../components/panels/base-id-toggle-panel-button.vue2.js';
69
+ import '../../../components/panels/base-id-toggle-panel.vue2.js';
70
+ import '../../../components/panels/base-tabs-panel.vue2.js';
71
+ import '../../../components/panels/base-tabs-panel.vue3.js';
72
+ import '../../../components/panels/base-toggle-panel.vue2.js';
73
+ import '../../../components/result/base-result-add-to-cart.vue2.js';
74
+ import '../../../components/result/base-result-current-price.vue2.js';
75
+ import '../../../components/result/base-result-image.vue2.js';
76
+ import '../../../components/result/base-result-image.vue3.js';
77
+ import '../../../components/result/base-result-link.vue2.js';
78
+ import '../../../components/result/base-result-link.vue3.js';
79
+ import '../../../components/result/base-result-previous-price.vue2.js';
80
+ import '../../../components/result/base-result-rating.vue2.js';
81
+ import '../../../components/result/base-result-rating.vue3.js';
82
+ import '../../../components/result/result-variant-selector.vue2.js';
83
+ import '../../../components/result/result-variant-selector.vue3.js';
84
84
  import '../../../components/result/result-variants-provider.vue.js';
85
- import '../../../components/scroll/base-scroll2.vue.js';
85
+ import '../../../components/scroll/base-scroll.vue2.js';
86
86
  import '@empathyco/x-utils';
87
87
  import { use$x } from '../../../composables/use-_x.js';
88
88
  import SlidingPanel from '../../../components/sliding-panel.vue.js';
89
- import '../../../components/snippet-callbacks2.vue.js';
90
- import '../../../components/suggestions/base-suggestion2.vue.js';
91
- import '../../../components/suggestions/base-suggestions2.vue.js';
92
- import '../../../components/suggestions/base-suggestions3.vue.js';
89
+ import '../../../components/snippet-callbacks.vue2.js';
90
+ import '../../../components/suggestions/base-suggestion.vue2.js';
91
+ import '../../../components/suggestions/base-suggestions.vue2.js';
92
+ import '../../../components/suggestions/base-suggestions.vue3.js';
93
93
  import '../../../composables/create-use-device.js';
94
94
  import 'vuex';
95
95
  import '../../../plugins/x-bus.js';
@@ -189,4 +189,4 @@ var _sfc_main = defineComponent({
189
189
  });
190
190
 
191
191
  export { _sfc_main as default };
192
- //# sourceMappingURL=ai-carousel2.vue.js.map
192
+ //# sourceMappingURL=ai-carousel.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-carousel2.vue.js","sources":["../../../../../src/x-modules/ai/components/ai-carousel.vue"],"sourcesContent":["<template>\n <CollapseHeight>\n <div v-if=\"suggestionsSearch.length\" class=\"x-ai-carousel\">\n <DisplayEmitter\n :payload=\"tagging?.toolingDisplay ?? emptyTaggingRequest\"\n :event-metadata=\"{\n feature: 'ai_carousel',\n displayOriginalQuery: query || 'ai-carousel-without-query',\n replaceable: false,\n }\"\n data-test=\"ai-carousel-display-emitter\"\n >\n <span\n class=\"x-ai-carousel-title\"\n :class=\"{ 'x-ai-carousel-title--expanded': titleExpanded }\"\n data-test=\"ai-carousel-title\"\n @click=\"toggleTitleExpansion\"\n >\n <AIStarIcon class=\"x-ai-carousel-title-icon\" />\n <ChangeHeight>\n <span\n ref=\"titleRef\"\n class=\"x-ai-carousel-title-text\"\n :class=\"{ 'x-ai-carousel-title-text--expanded': titleExpanded }\"\n >\n {{ title }}\n </span>\n </ChangeHeight>\n <button\n v-if=\"isTitleOverflowing\"\n class=\"x-ai-carousel-title-button\"\n data-test=\"ai-carousel-title-button\"\n :aria-label=\"titleExpanded ? 'Collapse' : 'Expand'\"\n >\n <ChevronDownIcon\n class=\"x-ai-carousel-title-button-icon\"\n :class=\"{ 'x-ai-carousel-title-button-icon--expanded': titleExpanded }\"\n />\n </button>\n </span>\n </DisplayEmitter>\n\n <AiGroupedCarousel v-if=\"group\">\n <template #sliding-panel-addons=\"{ arrivedState }\">\n <slot name=\"sliding-panels-addons\" :arrived-state=\"arrivedState\" />\n </template>\n <template #sliding-panel-left-button>\n <slot name=\"sliding-panels-left-button\" />\n </template>\n <template #sliding-panel-right-button>\n <slot name=\"sliding-panels-right-button\" />\n </template>\n <template #result=\"{ result }\">\n <slot name=\"result\" :result=\"result\" />\n </template>\n </AiGroupedCarousel>\n\n <div v-else class=\"x-ai-carousel-suggestions\" data-test=\"ai-carousel-suggestions-container\">\n <DisplayEmitter\n v-for=\"{ query: suggestionQuery, results: queriesResults } in suggestionsSearch\"\n :key=\"suggestionQuery\"\n :payload=\"tagging?.searchQueries[suggestionQuery].toolingDisplay ?? emptyTaggingRequest\"\n :event-metadata=\"{\n feature: 'ai_carousel',\n displayOriginalQuery: query || 'ai-carousel-without-query',\n replaceable: false,\n }\"\n data-test=\"ai-carousel-query-display-emitter\"\n >\n <div class=\"x-ai-carousel-suggestion\" data-test=\"ai-carousel-suggestion\">\n <BaseEventButton\n class=\"x-ai-carousel-suggestion-query-btn\"\n :events=\"{ UserAcceptedAQuery: suggestionQuery }\"\n >\n {{ suggestionQuery }}\n <ArrowRightIcon class=\"x-ai-carousel-suggestion-query-btn-icon\" />\n </BaseEventButton>\n\n <DisplayClickProvider\n :tooling-display-tagging=\"tagging?.searchQueries[suggestionQuery].toolingDisplayClick\"\n :tooling-add2-cart-tagging=\"\n tagging?.searchQueries[suggestionQuery].toolingDisplayAdd2Cart\n \"\n result-feature=\"ai_carousel\"\n >\n <slot name=\"sliding-panel\" :results=\"queriesResults\">\n <SlidingPanel\n :class=\"slidingPanelClasses\"\n :scroll-container-class=\"slidingPanelContainerClasses\"\n :button-class=\"slidingPanelButtonsClasses\"\n :reset-on-content-change=\"false\"\n >\n <template #sliding-panel-addons=\"{ arrivedState }\">\n <slot name=\"sliding-panels-addons\" :arrived-state=\"arrivedState\" />\n </template>\n <template #sliding-panel-left-button>\n <slot name=\"sliding-panels-left-button\" />\n </template>\n <template #sliding-panel-right-button>\n <slot name=\"sliding-panels-right-button\" />\n </template>\n <ul class=\"x-ai-carousel-suggestion-results\">\n <li\n v-for=\"result in queriesResults\"\n :key=\"result.id\"\n data-test=\"ai-carousel-suggestion-result\"\n >\n <!-- @slot (required) result card -->\n <slot name=\"result\" :result=\"result\" />\n </li>\n </ul>\n </SlidingPanel>\n </slot>\n </DisplayClickProvider>\n </div>\n </DisplayEmitter>\n <slot name=\"suggestions-extra-content\" />\n </div>\n\n <slot name=\"extra-content\" />\n <slot name=\"cta-button\" />\n </div>\n </CollapseHeight>\n</template>\n\n<script lang=\"ts\">\nimport type { TaggingRequest } from '@empathyco/x-types'\nimport { useResizeObserver } from '@vueuse/core'\nimport { computed, defineComponent, onMounted, ref, watch } from 'vue'\nimport {\n AIStarIcon,\n ArrowRightIcon,\n BaseEventButton,\n ChangeHeight,\n ChevronDownIcon,\n CollapseHeight,\n DisplayClickProvider,\n DisplayEmitter,\n SlidingPanel,\n} from '../../../components'\nimport { use$x, useState } from '../../../composables'\nimport { aiXModule } from '../x-module'\nimport AiGroupedCarousel from './ai-grouped-carousel.vue'\n\nexport default defineComponent({\n xModule: aiXModule.name,\n components: {\n AIStarIcon,\n AiGroupedCarousel,\n ArrowRightIcon,\n BaseEventButton,\n ChangeHeight,\n ChevronDownIcon,\n CollapseHeight,\n DisplayClickProvider,\n DisplayEmitter,\n SlidingPanel,\n },\n props: {\n /* The title text displayed */\n title: String,\n /* The classes added to the sliding panel. */\n slidingPanelClasses: String,\n /* The classes added to the sliding panel container. */\n slidingPanelContainerClasses: String,\n /* The classes added to the sliding panel buttons. */\n slidingPanelButtonsClasses: String,\n /* Controls whether the carousel should group results or display N carousels per N queries. */\n group: {\n type: Boolean,\n default: true,\n },\n },\n setup(props) {\n const $x = use$x()\n const { query, suggestionsSearch, queries, tagging } = useState('ai')\n const emptyTaggingRequest: TaggingRequest = { url: '', params: {} }\n\n const titleRef = ref<HTMLElement | null>(null)\n const titleExpanded = ref(false)\n const isTitleOverflowing = ref(false)\n\n /**\n * Checks if the title is overflowing and updates the state.\n */\n function updateTitleOverflow() {\n if (titleExpanded.value) {\n return\n }\n if (titleRef.value) {\n isTitleOverflowing.value = titleRef.value.scrollWidth > titleRef.value.clientWidth\n }\n }\n\n /**\n * Toggles the title expanded state if it is overflowing.\n */\n function toggleTitleExpansion() {\n if (isTitleOverflowing.value) {\n titleExpanded.value = !titleExpanded.value\n }\n }\n\n const title = computed(() => {\n if (!props.title) {\n const queriesList = new Intl.ListFormat('en', {\n style: 'long',\n type: 'conjunction',\n }).format(queries.value.map(({ query }) => query))\n return `Searching for ${queriesList}`\n }\n return props.title\n })\n\n watch(queries, () => {\n if (queries.value.length > 0) {\n $x.emit('AiSuggestionsSearchRequestUpdated')\n }\n })\n\n onMounted(() => {\n $x.emit('AiComponentMounted', undefined, { feature: 'ai_carousel' })\n })\n\n useResizeObserver(titleRef, updateTitleOverflow)\n\n return {\n emptyTaggingRequest,\n isTitleOverflowing,\n queries,\n query,\n suggestionsSearch,\n tagging,\n title,\n titleExpanded,\n titleRef,\n toggleTitleExpansion,\n }\n },\n})\n</script>\n\n<style lang=\"css\">\n.x-ai-carousel {\n --color: var(--x-ai-carousel-color, #bbc9cf);\n --color-lighter: var(--x-ai-carousel-color-lighter, color-mix(in srgb, var(--color) 25%, white));\n\n padding: 8px 0;\n position: relative;\n border-radius: 1.5rem;\n background-color: var(--color-lighter);\n}\n\n.x-ai-carousel-title {\n display: flex;\n font-size: 12px;\n gap: 8px;\n align-items: flex-start;\n margin: 0 14px 8px;\n cursor: pointer;\n}\n.x-ai-carousel-title-text {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.x-ai-carousel-title-text--expanded {\n white-space: normal;\n}\n.x-ai-carousel-title-icon {\n height: 1rem;\n aspect-ratio: 1 / 1;\n color: var(--color);\n flex-shrink: 0;\n margin-bottom: auto;\n}\n.x-ai-carousel-title-button {\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color);\n margin-bottom: auto;\n}\n.x-ai-carousel-title-button-icon {\n height: 1rem;\n aspect-ratio: 1 / 1;\n transition: transform 0.3s ease;\n}\n.x-ai-carousel-title-button-icon--expanded {\n transform: rotate(180deg);\n}\n\n.x-ai-carousel-suggestions {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n padding-bottom: 1rem;\n}\n\n.x-ai-carousel-suggestion {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.x-ai-carousel-suggestion-query-btn {\n border-color: transparent;\n background-color: transparent;\n margin-left: 1rem;\n margin-right: 1rem;\n font-weight: 700;\n width: fit-content;\n display: flex;\n align-items: center;\n gap: 1rem;\n cursor: pointer;\n}\n\n.x-ai-carousel-suggestion-query-btn-icon {\n height: 1rem;\n aspect-ratio: 1 / 1;\n}\n\n.x-ai-carousel-suggestion-results {\n display: flex;\n gap: 1rem;\n padding-left: 1rem;\n padding-right: 1rem;\n}\n</style>\n"],"names":["DisplayClickProvider","DisplayEmitter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgJA,gBAAe,eAAe,CAAC;IAC7B,OAAO,EAAE,SAAS,CAAC,IAAI;AACvB,IAAA,UAAU,EAAE;QACV,UAAU;QACV,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,YAAY;QACZ,eAAe;QACf,cAAc;8BACdA,WAAoB;wBACpBC,WAAc;QACd,YAAY;AACb,KAAA;AACD,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE,MAAM;;AAEb,QAAA,mBAAmB,EAAE,MAAM;;AAE3B,QAAA,4BAA4B,EAAE,MAAM;;AAEpC,QAAA,0BAA0B,EAAE,MAAM;;AAElC,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AACjB,QAAA,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAM,EAAE,GAAI,QAAQ,CAAC,IAAI,CAAA;QACpE,MAAM,mBAAmB,GAAmB,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAC,EAAE;AAElE,QAAA,MAAM,QAAO,GAAI,GAAG,CAAqB,IAAI,CAAA;AAC7C,QAAA,MAAM,aAAY,GAAI,GAAG,CAAC,KAAK,CAAA;AAC/B,QAAA,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAA;AAEpC;;AAEE;AACF,QAAA,SAAS,mBAAmB,GAAA;AAC1B,YAAA,IAAI,aAAa,CAAC,KAAK,EAAE;gBACvB;YACF;AACA,YAAA,IAAI,QAAQ,CAAC,KAAK,EAAE;AAClB,gBAAA,kBAAkB,CAAC,KAAI,GAAI,QAAQ,CAAC,KAAK,CAAC,cAAc,QAAQ,CAAC,KAAK,CAAC,WAAU;YACnF;QACF;AAEA;;AAEE;AACF,QAAA,SAAS,oBAAoB,GAAA;AAC3B,YAAA,IAAI,kBAAkB,CAAC,KAAK,EAAE;AAC5B,gBAAA,aAAa,CAAC,KAAI,GAAI,CAAC,aAAa,CAAC,KAAI;YAC3C;QACF;AAEA,QAAA,MAAM,KAAI,GAAI,QAAQ,CAAC,MAAI;AACzB,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBAChB,MAAM,WAAU,GAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAC5C,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,IAAI,EAAE,aAAa;AACpB,iBAAA,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,CAAA;gBACjD,OAAO,CAAA,cAAA,EAAiB,WAAW,CAAA,CAAC;YACtC;YACA,OAAO,KAAK,CAAC,KAAI;AACnB,QAAA,CAAC,CAAA;AAED,QAAA,KAAK,CAAC,OAAO,EAAE,MAAI;YACjB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAK,GAAI,CAAC,EAAE;AAC5B,gBAAA,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAA;YAC7C;AACF,QAAA,CAAC,CAAA;QAED,SAAS,CAAC,MAAI;AACZ,YAAA,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,aAAY,EAAG,CAAA;AACrE,QAAA,CAAC,CAAA;AAED,QAAA,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,CAAA;QAE/C,OAAO;YACL,mBAAmB;YACnB,kBAAkB;YAClB,OAAO;YACP,KAAK;YACL,iBAAiB;YACjB,OAAO;YACP,KAAK;YACL,aAAa;YACb,QAAQ;YACR,oBAAoB;SACtB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"ai-carousel.vue2.js","sources":["../../../../../src/x-modules/ai/components/ai-carousel.vue"],"sourcesContent":["<template>\n <CollapseHeight>\n <div v-if=\"suggestionsSearch.length\" class=\"x-ai-carousel\">\n <DisplayEmitter\n :payload=\"tagging?.toolingDisplay ?? emptyTaggingRequest\"\n :event-metadata=\"{\n feature: 'ai_carousel',\n displayOriginalQuery: query || 'ai-carousel-without-query',\n replaceable: false,\n }\"\n data-test=\"ai-carousel-display-emitter\"\n >\n <span\n class=\"x-ai-carousel-title\"\n :class=\"{ 'x-ai-carousel-title--expanded': titleExpanded }\"\n data-test=\"ai-carousel-title\"\n @click=\"toggleTitleExpansion\"\n >\n <AIStarIcon class=\"x-ai-carousel-title-icon\" />\n <ChangeHeight>\n <span\n ref=\"titleRef\"\n class=\"x-ai-carousel-title-text\"\n :class=\"{ 'x-ai-carousel-title-text--expanded': titleExpanded }\"\n >\n {{ title }}\n </span>\n </ChangeHeight>\n <button\n v-if=\"isTitleOverflowing\"\n class=\"x-ai-carousel-title-button\"\n data-test=\"ai-carousel-title-button\"\n :aria-label=\"titleExpanded ? 'Collapse' : 'Expand'\"\n >\n <ChevronDownIcon\n class=\"x-ai-carousel-title-button-icon\"\n :class=\"{ 'x-ai-carousel-title-button-icon--expanded': titleExpanded }\"\n />\n </button>\n </span>\n </DisplayEmitter>\n\n <AiGroupedCarousel v-if=\"group\">\n <template #sliding-panel-addons=\"{ arrivedState }\">\n <slot name=\"sliding-panels-addons\" :arrived-state=\"arrivedState\" />\n </template>\n <template #sliding-panel-left-button>\n <slot name=\"sliding-panels-left-button\" />\n </template>\n <template #sliding-panel-right-button>\n <slot name=\"sliding-panels-right-button\" />\n </template>\n <template #result=\"{ result }\">\n <slot name=\"result\" :result=\"result\" />\n </template>\n </AiGroupedCarousel>\n\n <div v-else class=\"x-ai-carousel-suggestions\" data-test=\"ai-carousel-suggestions-container\">\n <DisplayEmitter\n v-for=\"{ query: suggestionQuery, results: queriesResults } in suggestionsSearch\"\n :key=\"suggestionQuery\"\n :payload=\"tagging?.searchQueries[suggestionQuery].toolingDisplay ?? emptyTaggingRequest\"\n :event-metadata=\"{\n feature: 'ai_carousel',\n displayOriginalQuery: query || 'ai-carousel-without-query',\n replaceable: false,\n }\"\n data-test=\"ai-carousel-query-display-emitter\"\n >\n <div class=\"x-ai-carousel-suggestion\" data-test=\"ai-carousel-suggestion\">\n <BaseEventButton\n class=\"x-ai-carousel-suggestion-query-btn\"\n :events=\"{ UserAcceptedAQuery: suggestionQuery }\"\n >\n {{ suggestionQuery }}\n <ArrowRightIcon class=\"x-ai-carousel-suggestion-query-btn-icon\" />\n </BaseEventButton>\n\n <DisplayClickProvider\n :tooling-display-tagging=\"tagging?.searchQueries[suggestionQuery].toolingDisplayClick\"\n :tooling-add2-cart-tagging=\"\n tagging?.searchQueries[suggestionQuery].toolingDisplayAdd2Cart\n \"\n result-feature=\"ai_carousel\"\n >\n <slot name=\"sliding-panel\" :results=\"queriesResults\">\n <SlidingPanel\n :class=\"slidingPanelClasses\"\n :scroll-container-class=\"slidingPanelContainerClasses\"\n :button-class=\"slidingPanelButtonsClasses\"\n :reset-on-content-change=\"false\"\n >\n <template #sliding-panel-addons=\"{ arrivedState }\">\n <slot name=\"sliding-panels-addons\" :arrived-state=\"arrivedState\" />\n </template>\n <template #sliding-panel-left-button>\n <slot name=\"sliding-panels-left-button\" />\n </template>\n <template #sliding-panel-right-button>\n <slot name=\"sliding-panels-right-button\" />\n </template>\n <ul class=\"x-ai-carousel-suggestion-results\">\n <li\n v-for=\"result in queriesResults\"\n :key=\"result.id\"\n data-test=\"ai-carousel-suggestion-result\"\n >\n <!-- @slot (required) result card -->\n <slot name=\"result\" :result=\"result\" />\n </li>\n </ul>\n </SlidingPanel>\n </slot>\n </DisplayClickProvider>\n </div>\n </DisplayEmitter>\n <slot name=\"suggestions-extra-content\" />\n </div>\n\n <slot name=\"extra-content\" />\n <slot name=\"cta-button\" />\n </div>\n </CollapseHeight>\n</template>\n\n<script lang=\"ts\">\nimport type { TaggingRequest } from '@empathyco/x-types'\nimport { useResizeObserver } from '@vueuse/core'\nimport { computed, defineComponent, onMounted, ref, watch } from 'vue'\nimport {\n AIStarIcon,\n ArrowRightIcon,\n BaseEventButton,\n ChangeHeight,\n ChevronDownIcon,\n CollapseHeight,\n DisplayClickProvider,\n DisplayEmitter,\n SlidingPanel,\n} from '../../../components'\nimport { use$x, useState } from '../../../composables'\nimport { aiXModule } from '../x-module'\nimport AiGroupedCarousel from './ai-grouped-carousel.vue'\n\nexport default defineComponent({\n xModule: aiXModule.name,\n components: {\n AIStarIcon,\n AiGroupedCarousel,\n ArrowRightIcon,\n BaseEventButton,\n ChangeHeight,\n ChevronDownIcon,\n CollapseHeight,\n DisplayClickProvider,\n DisplayEmitter,\n SlidingPanel,\n },\n props: {\n /* The title text displayed */\n title: String,\n /* The classes added to the sliding panel. */\n slidingPanelClasses: String,\n /* The classes added to the sliding panel container. */\n slidingPanelContainerClasses: String,\n /* The classes added to the sliding panel buttons. */\n slidingPanelButtonsClasses: String,\n /* Controls whether the carousel should group results or display N carousels per N queries. */\n group: {\n type: Boolean,\n default: true,\n },\n },\n setup(props) {\n const $x = use$x()\n const { query, suggestionsSearch, queries, tagging } = useState('ai')\n const emptyTaggingRequest: TaggingRequest = { url: '', params: {} }\n\n const titleRef = ref<HTMLElement | null>(null)\n const titleExpanded = ref(false)\n const isTitleOverflowing = ref(false)\n\n /**\n * Checks if the title is overflowing and updates the state.\n */\n function updateTitleOverflow() {\n if (titleExpanded.value) {\n return\n }\n if (titleRef.value) {\n isTitleOverflowing.value = titleRef.value.scrollWidth > titleRef.value.clientWidth\n }\n }\n\n /**\n * Toggles the title expanded state if it is overflowing.\n */\n function toggleTitleExpansion() {\n if (isTitleOverflowing.value) {\n titleExpanded.value = !titleExpanded.value\n }\n }\n\n const title = computed(() => {\n if (!props.title) {\n const queriesList = new Intl.ListFormat('en', {\n style: 'long',\n type: 'conjunction',\n }).format(queries.value.map(({ query }) => query))\n return `Searching for ${queriesList}`\n }\n return props.title\n })\n\n watch(queries, () => {\n if (queries.value.length > 0) {\n $x.emit('AiSuggestionsSearchRequestUpdated')\n }\n })\n\n onMounted(() => {\n $x.emit('AiComponentMounted', undefined, { feature: 'ai_carousel' })\n })\n\n useResizeObserver(titleRef, updateTitleOverflow)\n\n return {\n emptyTaggingRequest,\n isTitleOverflowing,\n queries,\n query,\n suggestionsSearch,\n tagging,\n title,\n titleExpanded,\n titleRef,\n toggleTitleExpansion,\n }\n },\n})\n</script>\n\n<style lang=\"css\">\n.x-ai-carousel {\n --color: var(--x-ai-carousel-color, #bbc9cf);\n --color-lighter: var(--x-ai-carousel-color-lighter, color-mix(in srgb, var(--color) 25%, white));\n\n padding: 8px 0;\n position: relative;\n border-radius: 1.5rem;\n background-color: var(--color-lighter);\n}\n\n.x-ai-carousel-title {\n display: flex;\n font-size: 12px;\n gap: 8px;\n align-items: flex-start;\n margin: 0 14px 8px;\n cursor: pointer;\n}\n.x-ai-carousel-title-text {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.x-ai-carousel-title-text--expanded {\n white-space: normal;\n}\n.x-ai-carousel-title-icon {\n height: 1rem;\n aspect-ratio: 1 / 1;\n color: var(--color);\n flex-shrink: 0;\n margin-bottom: auto;\n}\n.x-ai-carousel-title-button {\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color);\n margin-bottom: auto;\n}\n.x-ai-carousel-title-button-icon {\n height: 1rem;\n aspect-ratio: 1 / 1;\n transition: transform 0.3s ease;\n}\n.x-ai-carousel-title-button-icon--expanded {\n transform: rotate(180deg);\n}\n\n.x-ai-carousel-suggestions {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n padding-bottom: 1rem;\n}\n\n.x-ai-carousel-suggestion {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.x-ai-carousel-suggestion-query-btn {\n border-color: transparent;\n background-color: transparent;\n margin-left: 1rem;\n margin-right: 1rem;\n font-weight: 700;\n width: fit-content;\n display: flex;\n align-items: center;\n gap: 1rem;\n cursor: pointer;\n}\n\n.x-ai-carousel-suggestion-query-btn-icon {\n height: 1rem;\n aspect-ratio: 1 / 1;\n}\n\n.x-ai-carousel-suggestion-results {\n display: flex;\n gap: 1rem;\n padding-left: 1rem;\n padding-right: 1rem;\n}\n</style>\n"],"names":["DisplayClickProvider","DisplayEmitter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgJA,gBAAe,eAAe,CAAC;IAC7B,OAAO,EAAE,SAAS,CAAC,IAAI;AACvB,IAAA,UAAU,EAAE;QACV,UAAU;QACV,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,YAAY;QACZ,eAAe;QACf,cAAc;8BACdA,WAAoB;wBACpBC,WAAc;QACd,YAAY;AACb,KAAA;AACD,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE,MAAM;;AAEb,QAAA,mBAAmB,EAAE,MAAM;;AAE3B,QAAA,4BAA4B,EAAE,MAAM;;AAEpC,QAAA,0BAA0B,EAAE,MAAM;;AAElC,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AACjB,QAAA,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAM,EAAE,GAAI,QAAQ,CAAC,IAAI,CAAA;QACpE,MAAM,mBAAmB,GAAmB,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAC,EAAE;AAElE,QAAA,MAAM,QAAO,GAAI,GAAG,CAAqB,IAAI,CAAA;AAC7C,QAAA,MAAM,aAAY,GAAI,GAAG,CAAC,KAAK,CAAA;AAC/B,QAAA,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAA;AAEpC;;AAEE;AACF,QAAA,SAAS,mBAAmB,GAAA;AAC1B,YAAA,IAAI,aAAa,CAAC,KAAK,EAAE;gBACvB;YACF;AACA,YAAA,IAAI,QAAQ,CAAC,KAAK,EAAE;AAClB,gBAAA,kBAAkB,CAAC,KAAI,GAAI,QAAQ,CAAC,KAAK,CAAC,cAAc,QAAQ,CAAC,KAAK,CAAC,WAAU;YACnF;QACF;AAEA;;AAEE;AACF,QAAA,SAAS,oBAAoB,GAAA;AAC3B,YAAA,IAAI,kBAAkB,CAAC,KAAK,EAAE;AAC5B,gBAAA,aAAa,CAAC,KAAI,GAAI,CAAC,aAAa,CAAC,KAAI;YAC3C;QACF;AAEA,QAAA,MAAM,KAAI,GAAI,QAAQ,CAAC,MAAI;AACzB,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBAChB,MAAM,WAAU,GAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAC5C,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,IAAI,EAAE,aAAa;AACpB,iBAAA,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,CAAA;gBACjD,OAAO,CAAA,cAAA,EAAiB,WAAW,CAAA,CAAC;YACtC;YACA,OAAO,KAAK,CAAC,KAAI;AACnB,QAAA,CAAC,CAAA;AAED,QAAA,KAAK,CAAC,OAAO,EAAE,MAAI;YACjB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAK,GAAI,CAAC,EAAE;AAC5B,gBAAA,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAA;YAC7C;AACF,QAAA,CAAC,CAAA;QAED,SAAS,CAAC,MAAI;AACZ,YAAA,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,aAAY,EAAG,CAAA;AACrE,QAAA,CAAC,CAAA;AAED,QAAA,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,CAAA;QAE/C,OAAO;YACL,mBAAmB;YACnB,kBAAkB;YAClB,OAAO;YACP,KAAK;YACL,iBAAiB;YACjB,OAAO;YACP,KAAK;YACL,aAAa;YACb,QAAQ;YACR,oBAAoB;SACtB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -4,4 +4,4 @@ var css = ".x-ai-carousel{--color:var(--x-ai-carousel-color,#bbc9cf);--color-lig
4
4
  injectCss(css);
5
5
 
6
6
  export { css };
7
- //# sourceMappingURL=ai-carousel3.vue.js.map
7
+ //# sourceMappingURL=ai-carousel.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-carousel.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,4 +1,4 @@
1
- import _sfc_main from './ai-grouped-carousel2.vue.js';
1
+ import _sfc_main from './ai-grouped-carousel.vue2.js';
2
2
  import { resolveComponent, openBlock, createBlock, normalizeClass, withCtx, createElementVNode, createElementBlock, Fragment, renderList, renderSlot } from 'vue';
3
3
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
4
4
 
@@ -0,0 +1,123 @@
1
+ import { defineComponent } from 'vue';
2
+ import '../../../components/animations/animate-clip-path.vue2.js';
3
+ import '../../../components/animations/animate-scale.vue2.js';
4
+ import '../../../components/animations/animate-translate.vue2.js';
5
+ import '../../../components/animations/animate-width.vue2.js';
6
+ import '../../../components/animations/animate-width.vue3.js';
7
+ import '../../../components/animations/change-height.vue2.js';
8
+ import '../../../components/animations/change-height.vue3.js';
9
+ import '../../../components/animations/collapse-height.vue2.js';
10
+ import '../../../components/animations/collapse-height.vue3.js';
11
+ import '../../../components/animations/collapse-width.vue2.js';
12
+ import '../../../components/animations/collapse-width.vue3.js';
13
+ import '../../../components/animations/cross-fade.vue2.js';
14
+ import '../../../components/animations/cross-fade.vue3.js';
15
+ import '../../../components/animations/fade-and-slide.vue2.js';
16
+ import '../../../components/animations/fade-and-slide.vue3.js';
17
+ import '../../../components/animations/fade.vue2.js';
18
+ import '../../../components/animations/fade.vue3.js';
19
+ import '../../../components/animations/no-animation.vue.js';
20
+ import '../../../components/animations/staggered-fade-and-slide.vue2.js';
21
+ import '../../../components/animations/staggered-fade-and-slide.vue3.js';
22
+ import '../../../components/auto-progress-bar.vue2.js';
23
+ import '../../../components/auto-progress-bar.vue3.js';
24
+ import '../../../components/base-dropdown.vue2.js';
25
+ import '../../../components/base-dropdown.vue3.js';
26
+ import '../../../components/base-event-button.vue2.js';
27
+ import '../../../components/base-grid.vue2.js';
28
+ import '../../../components/base-grid.vue3.js';
29
+ import '../../../components/base-keyboard-navigation.vue2.js';
30
+ import '../../../components/base-rating.vue2.js';
31
+ import '../../../components/base-rating.vue3.js';
32
+ import '../../../components/base-slider.vue2.js';
33
+ import '../../../components/base-slider.vue3.js';
34
+ import '../../../components/base-switch.vue2.js';
35
+ import '../../../components/base-switch.vue3.js';
36
+ import '../../../components/base-teleport.vue2.js';
37
+ import '../../../components/base-variable-column-grid.vue2.js';
38
+ import '../../../components/column-picker/base-column-picker-dropdown.vue2.js';
39
+ import '../../../components/column-picker/base-column-picker-list.vue2.js';
40
+ import '../../../components/currency/base-currency.vue2.js';
41
+ import _sfc_main$1 from '../../../components/display-click-provider.vue.js';
42
+ import '../../../components/display-emitter.vue.js';
43
+ import '../../../components/filters/labels/base-price-filter-label.vue.js';
44
+ import '../../../components/filters/labels/base-rating-filter-label.vue2.js';
45
+ import '../../../components/global-x-bus.vue.js';
46
+ import '../../../components/highlight.vue2.js';
47
+ import '../../../components/items-list.vue2.js';
48
+ import '../../../components/location-provider.vue.js';
49
+ import '../../../components/modals/base-events-modal-close.vue2.js';
50
+ import '../../../components/modals/base-events-modal-open.vue2.js';
51
+ import '../../../components/modals/base-events-modal.vue2.js';
52
+ import '../../../components/modals/base-id-modal-close.vue2.js';
53
+ import '../../../components/modals/base-id-modal-open.vue2.js';
54
+ import '../../../components/modals/base-id-modal.vue2.js';
55
+ import '../../../components/modals/base-modal.vue2.js';
56
+ import '../../../components/modals/base-modal.vue3.js';
57
+ import '../../../components/modals/close-main-modal.vue2.js';
58
+ import '../../../components/modals/main-modal.vue2.js';
59
+ import '../../../components/modals/open-main-modal.vue2.js';
60
+ import '../../../components/page-loader-button.vue2.js';
61
+ import '../../../components/page-loader-button.vue3.js';
62
+ import '../../../components/page-selector.vue2.js';
63
+ import '../../../components/page-selector.vue3.js';
64
+ import '../../../components/panels/base-header-toggle-panel.vue2.js';
65
+ import '../../../components/panels/base-header-toggle-panel.vue3.js';
66
+ import '../../../components/panels/base-id-toggle-panel-button.vue2.js';
67
+ import '../../../components/panels/base-id-toggle-panel.vue2.js';
68
+ import '../../../components/panels/base-tabs-panel.vue2.js';
69
+ import '../../../components/panels/base-tabs-panel.vue3.js';
70
+ import '../../../components/panels/base-toggle-panel.vue2.js';
71
+ import '../../../components/result/base-result-add-to-cart.vue2.js';
72
+ import '../../../components/result/base-result-current-price.vue2.js';
73
+ import '../../../components/result/base-result-image.vue2.js';
74
+ import '../../../components/result/base-result-image.vue3.js';
75
+ import '../../../components/result/base-result-link.vue2.js';
76
+ import '../../../components/result/base-result-link.vue3.js';
77
+ import '../../../components/result/base-result-previous-price.vue2.js';
78
+ import '../../../components/result/base-result-rating.vue2.js';
79
+ import '../../../components/result/base-result-rating.vue3.js';
80
+ import '../../../components/result/result-variant-selector.vue2.js';
81
+ import '../../../components/result/result-variant-selector.vue3.js';
82
+ import '../../../components/result/result-variants-provider.vue.js';
83
+ import '../../../components/scroll/base-scroll.vue2.js';
84
+ import '@empathyco/x-utils';
85
+ import 'vuex';
86
+ import '../../../plugins/x-bus.js';
87
+ import '../../../plugins/x-plugin.js';
88
+ import 'rxjs';
89
+ import SlidingPanel from '../../../components/sliding-panel.vue.js';
90
+ import '../../../components/snippet-callbacks.vue2.js';
91
+ import '../../../components/suggestions/base-suggestion.vue2.js';
92
+ import '../../../components/suggestions/base-suggestions.vue2.js';
93
+ import '../../../components/suggestions/base-suggestions.vue3.js';
94
+ import '../../../composables/create-use-device.js';
95
+ import '@vueuse/core';
96
+ import { useState } from '../../../composables/use-state.js';
97
+
98
+ var _sfc_main = defineComponent({
99
+ components: {
100
+ DisplayClickProvider: _sfc_main$1,
101
+ SlidingPanel,
102
+ },
103
+ props: {
104
+ /* The title text displayed */
105
+ title: String,
106
+ /* The classes added to the sliding panel. */
107
+ slidingPanelClasses: String,
108
+ /* The classes added to the sliding panel container. */
109
+ slidingPanelContainerClasses: String,
110
+ /* The classes added to the sliding panel buttons. */
111
+ slidingPanelButtonsClasses: String,
112
+ },
113
+ setup() {
114
+ const { suggestionsSearch, tagging } = useState('ai');
115
+ return {
116
+ suggestionsSearch,
117
+ tagging,
118
+ };
119
+ },
120
+ });
121
+
122
+ export { _sfc_main as default };
123
+ //# sourceMappingURL=ai-grouped-carousel.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-grouped-carousel2.vue.js","sources":["../../../../../src/x-modules/ai/components/ai-grouped-carousel.vue"],"sourcesContent":["<template>\n <SlidingPanel\n :class=\"slidingPanelClasses\"\n :scroll-container-class=\"slidingPanelContainerClasses\"\n :button-class=\"slidingPanelButtonsClasses\"\n :reset-on-content-change=\"false\"\n >\n <template #sliding-panel-addons=\"{ arrivedState }\">\n <slot name=\"sliding-panels-addons\" :arrived-state=\"arrivedState\" />\n </template>\n <template #sliding-panel-left-button>\n <slot name=\"sliding-panels-left-button\" />\n </template>\n <template #sliding-panel-right-button>\n <slot name=\"sliding-panels-right-button\" />\n </template>\n <ul class=\"x-ai-carousel-suggestion-results\">\n <DisplayClickProvider\n v-for=\"suggestion in suggestionsSearch\"\n :key=\"suggestion.query\"\n :tooling-display-tagging=\"tagging?.searchQueries[suggestion.query].toolingDisplayClick\"\n :tooling-add2-cart-tagging=\"tagging?.searchQueries[suggestion.query].toolingDisplayAdd2Cart\"\n result-feature=\"ai_carousel\"\n >\n <li\n v-for=\"result in suggestion.results\"\n :key=\"result.id\"\n data-test=\"ai-carousel-suggestion-result\"\n >\n <!-- @slot (required) result card -->\n <slot name=\"result\" :result=\"result\" />\n </li>\n </DisplayClickProvider>\n </ul>\n </SlidingPanel>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { DisplayClickProvider, SlidingPanel } from '../../../components'\nimport { useState } from '../../../composables'\n\nexport default defineComponent({\n components: {\n DisplayClickProvider,\n SlidingPanel,\n },\n props: {\n /* The title text displayed */\n title: String,\n /* The classes added to the sliding panel. */\n slidingPanelClasses: String,\n /* The classes added to the sliding panel container. */\n slidingPanelContainerClasses: String,\n /* The classes added to the sliding panel buttons. */\n slidingPanelButtonsClasses: String,\n },\n setup() {\n const { suggestionsSearch, tagging } = useState('ai')\n\n return {\n suggestionsSearch,\n tagging,\n }\n },\n})\n</script>\n"],"names":["DisplayClickProvider"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,gBAAe,eAAe,CAAC;AAC7B,IAAA,UAAU,EAAE;8BACVA,WAAoB;QACpB,YAAY;AACb,KAAA;AACD,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE,MAAM;;AAEb,QAAA,mBAAmB,EAAE,MAAM;;AAE3B,QAAA,4BAA4B,EAAE,MAAM;;AAEpC,QAAA,0BAA0B,EAAE,MAAM;AACnC,KAAA;IACD,KAAK,GAAA;QACH,MAAM,EAAE,iBAAiB,EAAE,OAAM,EAAE,GAAI,QAAQ,CAAC,IAAI,CAAA;QAEpD,OAAO;YACL,iBAAiB;YACjB,OAAO;SACT;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"ai-grouped-carousel.vue2.js","sources":["../../../../../src/x-modules/ai/components/ai-grouped-carousel.vue"],"sourcesContent":["<template>\n <SlidingPanel\n :class=\"slidingPanelClasses\"\n :scroll-container-class=\"slidingPanelContainerClasses\"\n :button-class=\"slidingPanelButtonsClasses\"\n :reset-on-content-change=\"false\"\n >\n <template #sliding-panel-addons=\"{ arrivedState }\">\n <slot name=\"sliding-panels-addons\" :arrived-state=\"arrivedState\" />\n </template>\n <template #sliding-panel-left-button>\n <slot name=\"sliding-panels-left-button\" />\n </template>\n <template #sliding-panel-right-button>\n <slot name=\"sliding-panels-right-button\" />\n </template>\n <ul class=\"x-ai-carousel-suggestion-results\">\n <DisplayClickProvider\n v-for=\"suggestion in suggestionsSearch\"\n :key=\"suggestion.query\"\n :tooling-display-tagging=\"tagging?.searchQueries[suggestion.query].toolingDisplayClick\"\n :tooling-add2-cart-tagging=\"tagging?.searchQueries[suggestion.query].toolingDisplayAdd2Cart\"\n result-feature=\"ai_carousel\"\n >\n <li\n v-for=\"result in suggestion.results\"\n :key=\"result.id\"\n data-test=\"ai-carousel-suggestion-result\"\n >\n <!-- @slot (required) result card -->\n <slot name=\"result\" :result=\"result\" />\n </li>\n </DisplayClickProvider>\n </ul>\n </SlidingPanel>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { DisplayClickProvider, SlidingPanel } from '../../../components'\nimport { useState } from '../../../composables'\n\nexport default defineComponent({\n components: {\n DisplayClickProvider,\n SlidingPanel,\n },\n props: {\n /* The title text displayed */\n title: String,\n /* The classes added to the sliding panel. */\n slidingPanelClasses: String,\n /* The classes added to the sliding panel container. */\n slidingPanelContainerClasses: String,\n /* The classes added to the sliding panel buttons. */\n slidingPanelButtonsClasses: String,\n },\n setup() {\n const { suggestionsSearch, tagging } = useState('ai')\n\n return {\n suggestionsSearch,\n tagging,\n }\n },\n})\n</script>\n"],"names":["DisplayClickProvider"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,gBAAe,eAAe,CAAC;AAC7B,IAAA,UAAU,EAAE;8BACVA,WAAoB;QACpB,YAAY;AACb,KAAA;AACD,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE,MAAM;;AAEb,QAAA,mBAAmB,EAAE,MAAM;;AAE3B,QAAA,4BAA4B,EAAE,MAAM;;AAEpC,QAAA,0BAA0B,EAAE,MAAM;AACnC,KAAA;IACD,KAAK,GAAA;QACH,MAAM,EAAE,iBAAiB,EAAE,OAAM,EAAE,GAAI,QAAQ,CAAC,IAAI,CAAA;QAEpD,OAAO;YACL,iBAAiB;YACjB,OAAO;SACT;IACF,CAAC;AACF,CAAA,CAAA;;;;"}