@empathyco/x-components 7.2.3 → 7.2.5

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 (579) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/core/index.js +3 -3
  3. package/docs/API-reference/api/x-components.featurelocation.md +1 -1
  4. package/docs/API-reference/api/x-components.queryfeature.md +1 -1
  5. package/docs/API-reference/api/x-components.resultfeature.md +1 -1
  6. package/js/components/animations/{animate-clip-path2.vue.js → animate-clip-path.vue2.js} +1 -1
  7. package/js/components/animations/animate-clip-path.vue2.js.map +1 -0
  8. package/js/components/animations/animate-clip-path.vue3.js +7 -0
  9. package/js/components/animations/animate-clip-path.vue3.js.map +1 -0
  10. package/js/components/animations/{animate-scale2.vue.js → animate-scale.vue2.js} +1 -1
  11. package/js/components/animations/animate-scale.vue2.js.map +1 -0
  12. package/js/components/animations/{animate-scale3.vue.js → animate-scale.vue3.js} +2 -2
  13. package/js/components/animations/animate-scale.vue3.js.map +1 -0
  14. package/js/components/animations/{animate-translate2.vue.js → animate-translate.vue2.js} +1 -1
  15. package/js/components/animations/animate-translate.vue2.js.map +1 -0
  16. package/js/components/animations/animate-translate.vue3.js +7 -0
  17. package/js/components/animations/animate-translate.vue3.js.map +1 -0
  18. package/js/components/animations/animate-width.vue.js +2 -2
  19. package/js/components/animations/{animate-width2.vue.js → animate-width.vue2.js} +1 -1
  20. package/js/components/animations/{animate-width2.vue.js.map → animate-width.vue2.js.map} +1 -1
  21. package/js/components/animations/{animate-width3.vue.js → animate-width.vue3.js} +1 -1
  22. package/js/components/animations/animate-width.vue3.js.map +1 -0
  23. package/js/components/animations/change-height.vue.js +2 -2
  24. package/js/components/animations/{change-height2.vue.js → change-height.vue2.js} +1 -1
  25. package/js/components/animations/{change-height2.vue.js.map → change-height.vue2.js.map} +1 -1
  26. package/js/components/animations/{change-height3.vue.js → change-height.vue3.js} +1 -1
  27. package/js/components/animations/change-height.vue3.js.map +1 -0
  28. package/js/components/animations/collapse-height.vue.js +2 -2
  29. package/js/components/animations/{collapse-height2.vue.js → collapse-height.vue2.js} +1 -1
  30. package/js/components/animations/{collapse-height2.vue.js.map → collapse-height.vue2.js.map} +1 -1
  31. package/js/components/animations/{collapse-height3.vue.js → collapse-height.vue3.js} +1 -1
  32. package/js/components/animations/collapse-height.vue3.js.map +1 -0
  33. package/js/components/animations/collapse-width.vue.js +2 -2
  34. package/js/components/animations/{collapse-width2.vue.js → collapse-width.vue2.js} +1 -1
  35. package/js/components/animations/{collapse-width2.vue.js.map → collapse-width.vue2.js.map} +1 -1
  36. package/js/components/animations/{collapse-width3.vue.js → collapse-width.vue3.js} +1 -1
  37. package/js/components/animations/collapse-width.vue3.js.map +1 -0
  38. package/js/components/animations/cross-fade.vue.js +2 -2
  39. package/js/components/animations/{cross-fade2.vue.js → cross-fade.vue2.js} +1 -1
  40. package/js/components/animations/{cross-fade2.vue.js.map → cross-fade.vue2.js.map} +1 -1
  41. package/js/components/animations/{cross-fade3.vue.js → cross-fade.vue3.js} +1 -1
  42. package/js/components/animations/cross-fade.vue3.js.map +1 -0
  43. package/js/components/animations/fade-and-slide.vue.js +2 -2
  44. package/js/components/animations/{fade-and-slide2.vue.js → fade-and-slide.vue2.js} +1 -1
  45. package/js/components/animations/{fade-and-slide2.vue.js.map → fade-and-slide.vue2.js.map} +1 -1
  46. package/js/components/animations/{fade-and-slide3.vue.js → fade-and-slide.vue3.js} +1 -1
  47. package/js/components/animations/fade-and-slide.vue3.js.map +1 -0
  48. package/js/components/animations/fade.vue.js +2 -2
  49. package/js/components/animations/{fade2.vue.js → fade.vue2.js} +1 -1
  50. package/js/components/animations/{fade2.vue.js.map → fade.vue2.js.map} +1 -1
  51. package/js/components/animations/{fade3.vue.js → fade.vue3.js} +1 -1
  52. package/js/components/animations/fade.vue3.js.map +1 -0
  53. package/js/components/animations/{no-animation2.vue.js → no-animation.vue2.js} +1 -1
  54. package/js/components/animations/no-animation.vue2.js.map +1 -0
  55. package/js/components/animations/staggered-fade-and-slide.vue.js +2 -2
  56. package/js/components/animations/{staggered-fade-and-slide2.vue.js → staggered-fade-and-slide.vue2.js} +1 -1
  57. package/js/components/animations/{staggered-fade-and-slide2.vue.js.map → staggered-fade-and-slide.vue2.js.map} +1 -1
  58. package/js/components/animations/{staggered-fade-and-slide3.vue.js → staggered-fade-and-slide.vue3.js} +1 -1
  59. package/js/components/animations/staggered-fade-and-slide.vue3.js.map +1 -0
  60. package/js/components/auto-progress-bar.vue.js +2 -2
  61. package/js/components/{auto-progress-bar2.vue.js → auto-progress-bar.vue2.js} +1 -1
  62. package/js/components/{auto-progress-bar2.vue.js.map → auto-progress-bar.vue2.js.map} +1 -1
  63. package/js/components/{auto-progress-bar3.vue.js → auto-progress-bar.vue3.js} +1 -1
  64. package/js/components/auto-progress-bar.vue3.js.map +1 -0
  65. package/js/components/base-dropdown.vue.js +2 -2
  66. package/js/components/{base-dropdown2.vue.js → base-dropdown.vue2.js} +20 -20
  67. package/js/components/{base-dropdown2.vue.js.map → base-dropdown.vue2.js.map} +1 -1
  68. package/js/components/{base-dropdown3.vue.js → base-dropdown.vue3.js} +1 -1
  69. package/js/components/base-dropdown.vue3.js.map +1 -0
  70. package/js/components/base-event-button.vue.js +1 -1
  71. package/js/components/{base-event-button2.vue.js → base-event-button.vue2.js} +1 -1
  72. package/js/components/{base-event-button2.vue.js.map → base-event-button.vue2.js.map} +1 -1
  73. package/js/components/base-grid.vue.js +2 -2
  74. package/js/components/{base-grid2.vue.js → base-grid.vue2.js} +1 -1
  75. package/js/components/{base-grid2.vue.js.map → base-grid.vue2.js.map} +1 -1
  76. package/js/components/{base-grid3.vue.js → base-grid.vue3.js} +1 -1
  77. package/js/components/base-grid.vue3.js.map +1 -0
  78. package/js/components/base-keyboard-navigation.vue.js +1 -1
  79. package/js/components/{base-keyboard-navigation2.vue.js → base-keyboard-navigation.vue2.js} +1 -1
  80. package/js/components/{base-keyboard-navigation2.vue.js.map → base-keyboard-navigation.vue2.js.map} +1 -1
  81. package/js/components/base-rating.vue.js +2 -2
  82. package/js/components/{base-rating2.vue.js → base-rating.vue2.js} +1 -1
  83. package/js/components/{base-rating2.vue.js.map → base-rating.vue2.js.map} +1 -1
  84. package/js/components/{base-rating3.vue.js → base-rating.vue3.js} +1 -1
  85. package/js/components/base-rating.vue3.js.map +1 -0
  86. package/js/components/base-slider.vue.js +2 -2
  87. package/js/components/{base-slider2.vue.js → base-slider.vue2.js} +1 -1
  88. package/js/components/{base-slider2.vue.js.map → base-slider.vue2.js.map} +1 -1
  89. package/js/components/{base-slider3.vue.js → base-slider.vue3.js} +1 -1
  90. package/js/components/base-slider.vue3.js.map +1 -0
  91. package/js/components/base-switch.vue.js +2 -2
  92. package/js/components/{base-switch2.vue.js → base-switch.vue2.js} +1 -1
  93. package/js/components/{base-switch2.vue.js.map → base-switch.vue2.js.map} +1 -1
  94. package/js/components/{base-switch3.vue.js → base-switch.vue3.js} +1 -1
  95. package/js/components/base-switch.vue3.js.map +1 -0
  96. package/js/components/base-teleport.vue.js +1 -1
  97. package/js/components/{base-teleport2.vue.js → base-teleport.vue2.js} +1 -1
  98. package/js/components/{base-teleport2.vue.js.map → base-teleport.vue2.js.map} +1 -1
  99. package/js/components/base-variable-column-grid.vue.js +1 -1
  100. package/js/components/{base-variable-column-grid2.vue.js → base-variable-column-grid.vue2.js} +1 -1
  101. package/js/components/{base-variable-column-grid2.vue.js.map → base-variable-column-grid.vue2.js.map} +1 -1
  102. package/js/components/column-picker/base-column-picker-dropdown.vue.js +1 -1
  103. package/js/components/column-picker/{base-column-picker-dropdown2.vue.js → base-column-picker-dropdown.vue2.js} +1 -1
  104. package/js/components/column-picker/{base-column-picker-dropdown2.vue.js.map → base-column-picker-dropdown.vue2.js.map} +1 -1
  105. package/js/components/column-picker/base-column-picker-list.vue.js +1 -1
  106. package/js/components/column-picker/{base-column-picker-list2.vue.js → base-column-picker-list.vue2.js} +1 -1
  107. package/js/components/column-picker/{base-column-picker-list2.vue.js.map → base-column-picker-list.vue2.js.map} +1 -1
  108. package/js/components/currency/base-currency.vue.js +1 -1
  109. package/js/components/currency/{base-currency2.vue.js → base-currency.vue2.js} +1 -1
  110. package/js/components/currency/{base-currency2.vue.js.map → base-currency.vue2.js.map} +1 -1
  111. package/js/components/{display-click-provider2.vue.js → display-click-provider.vue2.js} +1 -1
  112. package/js/components/display-click-provider.vue2.js.map +1 -0
  113. package/js/components/{display-emitter2.vue.js → display-emitter.vue2.js} +1 -1
  114. package/js/components/display-emitter.vue2.js.map +1 -0
  115. package/js/components/filters/labels/{base-price-filter-label2.vue.js → base-price-filter-label.vue2.js} +1 -1
  116. package/js/components/filters/labels/base-price-filter-label.vue2.js.map +1 -0
  117. package/js/components/filters/labels/base-rating-filter-label.vue.js +1 -1
  118. package/js/components/filters/labels/{base-rating-filter-label2.vue.js → base-rating-filter-label.vue2.js} +1 -1
  119. package/js/components/filters/labels/{base-rating-filter-label2.vue.js.map → base-rating-filter-label.vue2.js.map} +1 -1
  120. package/js/components/{global-x-bus2.vue.js → global-x-bus.vue2.js} +1 -1
  121. package/js/components/global-x-bus.vue2.js.map +1 -0
  122. package/js/components/highlight.vue.js +1 -1
  123. package/js/components/{highlight2.vue.js → highlight.vue2.js} +1 -1
  124. package/js/components/{highlight2.vue.js.map → highlight.vue2.js.map} +1 -1
  125. package/js/components/items-list.vue.js +1 -1
  126. package/js/components/{items-list2.vue.js → items-list.vue2.js} +1 -1
  127. package/js/components/{items-list2.vue.js.map → items-list.vue2.js.map} +1 -1
  128. package/js/components/{location-provider2.vue.js → location-provider.vue2.js} +1 -1
  129. package/js/components/location-provider.vue2.js.map +1 -0
  130. package/js/components/message.vue.js +17 -17
  131. package/js/components/{message2.vue.js → message.vue2.js} +1 -1
  132. package/js/components/message.vue2.js.map +1 -0
  133. package/js/components/modals/base-events-modal-close.vue.js +1 -1
  134. package/js/components/modals/{base-events-modal-close2.vue.js → base-events-modal-close.vue2.js} +1 -1
  135. package/js/components/modals/{base-events-modal-close2.vue.js.map → base-events-modal-close.vue2.js.map} +1 -1
  136. package/js/components/modals/base-events-modal-open.vue.js +1 -1
  137. package/js/components/modals/{base-events-modal-open2.vue.js → base-events-modal-open.vue2.js} +1 -1
  138. package/js/components/modals/{base-events-modal-open2.vue.js.map → base-events-modal-open.vue2.js.map} +1 -1
  139. package/js/components/modals/base-events-modal.vue.js +1 -1
  140. package/js/components/modals/{base-events-modal2.vue.js → base-events-modal.vue2.js} +1 -1
  141. package/js/components/modals/{base-events-modal2.vue.js.map → base-events-modal.vue2.js.map} +1 -1
  142. package/js/components/modals/base-id-modal-close.vue.js +1 -1
  143. package/js/components/modals/{base-id-modal-close2.vue.js → base-id-modal-close.vue2.js} +1 -1
  144. package/js/components/modals/{base-id-modal-close2.vue.js.map → base-id-modal-close.vue2.js.map} +1 -1
  145. package/js/components/modals/base-id-modal-open.vue.js +1 -1
  146. package/js/components/modals/{base-id-modal-open2.vue.js → base-id-modal-open.vue2.js} +1 -1
  147. package/js/components/modals/{base-id-modal-open2.vue.js.map → base-id-modal-open.vue2.js.map} +1 -1
  148. package/js/components/modals/base-id-modal.vue.js +1 -1
  149. package/js/components/modals/{base-id-modal2.vue.js → base-id-modal.vue2.js} +1 -1
  150. package/js/components/modals/{base-id-modal2.vue.js.map → base-id-modal.vue2.js.map} +1 -1
  151. package/js/components/modals/base-modal.vue.js +2 -2
  152. package/js/components/modals/{base-modal2.vue.js → base-modal.vue2.js} +18 -18
  153. package/js/components/modals/{base-modal2.vue.js.map → base-modal.vue2.js.map} +1 -1
  154. package/js/components/modals/{base-modal3.vue.js → base-modal.vue3.js} +1 -1
  155. package/js/components/modals/base-modal.vue3.js.map +1 -0
  156. package/js/components/modals/close-main-modal.vue.js +1 -1
  157. package/js/components/modals/{close-main-modal2.vue.js → close-main-modal.vue2.js} +1 -1
  158. package/js/components/modals/{close-main-modal2.vue.js.map → close-main-modal.vue2.js.map} +1 -1
  159. package/js/components/modals/main-modal.vue.js +1 -1
  160. package/js/components/modals/{main-modal2.vue.js → main-modal.vue2.js} +1 -1
  161. package/js/components/modals/{main-modal2.vue.js.map → main-modal.vue2.js.map} +1 -1
  162. package/js/components/modals/open-main-modal.vue.js +1 -1
  163. package/js/components/modals/{open-main-modal2.vue.js → open-main-modal.vue2.js} +1 -1
  164. package/js/components/modals/{open-main-modal2.vue.js.map → open-main-modal.vue2.js.map} +1 -1
  165. package/js/components/page-loader-button.vue.js +2 -2
  166. package/js/components/{page-loader-button2.vue.js → page-loader-button.vue2.js} +1 -1
  167. package/js/components/{page-loader-button2.vue.js.map → page-loader-button.vue2.js.map} +1 -1
  168. package/js/components/{page-loader-button3.vue.js → page-loader-button.vue3.js} +1 -1
  169. package/js/components/page-loader-button.vue3.js.map +1 -0
  170. package/js/components/page-selector.vue.js +2 -2
  171. package/js/components/{page-selector2.vue.js → page-selector.vue2.js} +1 -1
  172. package/js/components/{page-selector2.vue.js.map → page-selector.vue2.js.map} +1 -1
  173. package/js/components/{page-selector3.vue.js → page-selector.vue3.js} +1 -1
  174. package/js/components/page-selector.vue3.js.map +1 -0
  175. package/js/components/panels/base-header-toggle-panel.vue.js +2 -2
  176. package/js/components/panels/{base-header-toggle-panel2.vue.js → base-header-toggle-panel.vue2.js} +20 -20
  177. package/js/components/panels/{base-header-toggle-panel2.vue.js.map → base-header-toggle-panel.vue2.js.map} +1 -1
  178. package/js/components/panels/{base-header-toggle-panel3.vue.js → base-header-toggle-panel.vue3.js} +1 -1
  179. package/js/components/panels/base-header-toggle-panel.vue3.js.map +1 -0
  180. package/js/components/panels/base-id-toggle-panel-button.vue.js +1 -1
  181. package/js/components/panels/{base-id-toggle-panel-button2.vue.js → base-id-toggle-panel-button.vue2.js} +1 -1
  182. package/js/components/panels/{base-id-toggle-panel-button2.vue.js.map → base-id-toggle-panel-button.vue2.js.map} +1 -1
  183. package/js/components/panels/base-id-toggle-panel.vue.js +1 -1
  184. package/js/components/panels/{base-id-toggle-panel2.vue.js → base-id-toggle-panel.vue2.js} +20 -20
  185. package/js/components/panels/{base-id-toggle-panel2.vue.js.map → base-id-toggle-panel.vue2.js.map} +1 -1
  186. package/js/components/panels/base-tabs-panel.vue.js +2 -2
  187. package/js/components/panels/{base-tabs-panel2.vue.js → base-tabs-panel.vue2.js} +20 -20
  188. package/js/components/panels/{base-tabs-panel2.vue.js.map → base-tabs-panel.vue2.js.map} +1 -1
  189. package/js/components/panels/{base-tabs-panel3.vue.js → base-tabs-panel.vue3.js} +1 -1
  190. package/js/components/panels/base-tabs-panel.vue3.js.map +1 -0
  191. package/js/components/panels/base-toggle-panel.vue.js +1 -1
  192. package/js/components/panels/{base-toggle-panel2.vue.js → base-toggle-panel.vue2.js} +1 -1
  193. package/js/components/panels/{base-toggle-panel2.vue.js.map → base-toggle-panel.vue2.js.map} +1 -1
  194. package/js/components/result/base-result-add-to-cart.vue.js +1 -1
  195. package/js/components/result/{base-result-add-to-cart2.vue.js → base-result-add-to-cart.vue2.js} +1 -1
  196. package/js/components/result/{base-result-add-to-cart2.vue.js.map → base-result-add-to-cart.vue2.js.map} +1 -1
  197. package/js/components/result/base-result-current-price.vue.js +1 -1
  198. package/js/components/result/{base-result-current-price2.vue.js → base-result-current-price.vue2.js} +1 -1
  199. package/js/components/result/{base-result-current-price2.vue.js.map → base-result-current-price.vue2.js.map} +1 -1
  200. package/js/components/result/base-result-image.vue.js +2 -2
  201. package/js/components/result/{base-result-image2.vue.js → base-result-image.vue2.js} +20 -20
  202. package/js/components/result/{base-result-image2.vue.js.map → base-result-image.vue2.js.map} +1 -1
  203. package/js/components/result/{base-result-image3.vue.js → base-result-image.vue3.js} +1 -1
  204. package/js/components/result/base-result-image.vue3.js.map +1 -0
  205. package/js/components/result/base-result-link.vue.js +2 -2
  206. package/js/components/result/{base-result-link2.vue.js → base-result-link.vue2.js} +1 -1
  207. package/js/components/result/{base-result-link2.vue.js.map → base-result-link.vue2.js.map} +1 -1
  208. package/js/components/result/{base-result-link3.vue.js → base-result-link.vue3.js} +1 -1
  209. package/js/components/result/base-result-link.vue3.js.map +1 -0
  210. package/js/components/result/base-result-previous-price.vue.js +1 -1
  211. package/js/components/result/{base-result-previous-price2.vue.js → base-result-previous-price.vue2.js} +1 -1
  212. package/js/components/result/{base-result-previous-price2.vue.js.map → base-result-previous-price.vue2.js.map} +1 -1
  213. package/js/components/result/base-result-rating.vue.js +2 -2
  214. package/js/components/result/{base-result-rating2.vue.js → base-result-rating.vue2.js} +1 -1
  215. package/js/components/result/{base-result-rating2.vue.js.map → base-result-rating.vue2.js.map} +1 -1
  216. package/js/components/result/{base-result-rating3.vue.js → base-result-rating.vue3.js} +1 -1
  217. package/js/components/result/base-result-rating.vue3.js.map +1 -0
  218. package/js/components/result/result-variant-selector.vue.js +2 -2
  219. package/js/components/result/{result-variant-selector2.vue.js → result-variant-selector.vue2.js} +1 -1
  220. package/js/components/result/{result-variant-selector2.vue.js.map → result-variant-selector.vue2.js.map} +1 -1
  221. package/js/components/result/{result-variant-selector3.vue.js → result-variant-selector.vue3.js} +1 -1
  222. package/js/components/result/result-variant-selector.vue3.js.map +1 -0
  223. package/js/components/result/{result-variants-provider2.vue.js → result-variants-provider.vue2.js} +1 -1
  224. package/js/components/result/result-variants-provider.vue2.js.map +1 -0
  225. package/js/components/scroll/base-scroll.vue.js +1 -1
  226. package/js/components/scroll/{base-scroll2.vue.js → base-scroll.vue2.js} +1 -1
  227. package/js/components/scroll/{base-scroll2.vue.js.map → base-scroll.vue2.js.map} +1 -1
  228. package/js/components/sliding-panel.vue.js +2 -2
  229. package/js/components/{sliding-panel2.vue.js → sliding-panel.vue2.js} +1 -1
  230. package/js/components/{sliding-panel2.vue.js.map → sliding-panel.vue2.js.map} +1 -1
  231. package/js/components/{sliding-panel3.vue.js → sliding-panel.vue3.js} +1 -1
  232. package/js/components/sliding-panel.vue3.js.map +1 -0
  233. package/js/components/snippet-callbacks.vue.js +1 -1
  234. package/js/components/{snippet-callbacks2.vue.js → snippet-callbacks.vue2.js} +1 -1
  235. package/js/components/{snippet-callbacks2.vue.js.map → snippet-callbacks.vue2.js.map} +1 -1
  236. package/js/components/suggestions/base-suggestion.vue.js +1 -1
  237. package/js/components/suggestions/{base-suggestion2.vue.js → base-suggestion.vue2.js} +1 -1
  238. package/js/components/suggestions/{base-suggestion2.vue.js.map → base-suggestion.vue2.js.map} +1 -1
  239. package/js/components/suggestions/base-suggestions.vue.js +2 -2
  240. package/js/components/suggestions/{base-suggestions2.vue.js → base-suggestions.vue2.js} +1 -1
  241. package/js/components/suggestions/{base-suggestions2.vue.js.map → base-suggestions.vue2.js.map} +1 -1
  242. package/js/components/suggestions/{base-suggestions3.vue.js → base-suggestions.vue3.js} +1 -1
  243. package/js/components/suggestions/base-suggestions.vue3.js.map +1 -0
  244. package/js/index.js +3 -3
  245. package/js/x-modules/ai/components/ai-carousel.vue.js +2 -2
  246. package/js/x-modules/ai/components/{ai-carousel2.vue.js → ai-carousel.vue2.js} +75 -75
  247. package/js/x-modules/ai/components/{ai-carousel2.vue.js.map → ai-carousel.vue2.js.map} +1 -1
  248. package/js/x-modules/ai/components/{ai-carousel3.vue.js → ai-carousel.vue3.js} +1 -1
  249. package/js/x-modules/ai/components/ai-carousel.vue3.js.map +1 -0
  250. package/js/x-modules/ai/components/ai-grouped-carousel.vue.js +1 -1
  251. package/js/x-modules/ai/components/ai-grouped-carousel.vue2.js +123 -0
  252. package/js/x-modules/ai/components/{ai-grouped-carousel2.vue.js.map → ai-grouped-carousel.vue2.js.map} +1 -1
  253. package/js/x-modules/device/components/device-detector.vue.js +1 -1
  254. package/js/x-modules/device/components/{device-detector2.vue.js → device-detector.vue2.js} +1 -1
  255. package/js/x-modules/device/components/{device-detector2.vue.js.map → device-detector.vue2.js.map} +1 -1
  256. package/js/x-modules/empathize/components/empathize.vue.js +1 -1
  257. package/js/x-modules/empathize/components/{empathize2.vue.js → empathize.vue2.js} +82 -82
  258. package/js/x-modules/empathize/components/{empathize2.vue.js.map → empathize.vue2.js.map} +1 -1
  259. package/js/x-modules/experience-controls/components/{experience-controls2.vue.js → experience-controls.vue2.js} +1 -1
  260. package/js/x-modules/experience-controls/components/experience-controls.vue2.js.map +1 -0
  261. package/js/x-modules/extra-params/components/{extra-params2.vue.js → extra-params.vue2.js} +1 -1
  262. package/js/x-modules/extra-params/components/extra-params.vue2.js.map +1 -0
  263. package/js/x-modules/extra-params/components/{renderless-extra-param2.vue.js → renderless-extra-param.vue2.js} +1 -1
  264. package/js/x-modules/extra-params/components/renderless-extra-param.vue2.js.map +1 -0
  265. package/js/x-modules/extra-params/components/snippet-config-extra-params.vue.js +1 -1
  266. package/js/x-modules/extra-params/components/{snippet-config-extra-params2.vue.js → snippet-config-extra-params.vue2.js} +1 -1
  267. package/js/x-modules/extra-params/components/{snippet-config-extra-params2.vue.js.map → snippet-config-extra-params.vue2.js.map} +1 -1
  268. package/js/x-modules/facets/components/clear-filters.vue.js +1 -1
  269. package/js/x-modules/facets/components/{clear-filters2.vue.js → clear-filters.vue2.js} +1 -1
  270. package/js/x-modules/facets/components/{clear-filters2.vue.js.map → clear-filters.vue2.js.map} +1 -1
  271. package/js/x-modules/facets/components/facets/facets-provider.vue.js +2 -2
  272. package/js/x-modules/facets/components/facets/{facets-provider2.vue.js → facets-provider.vue2.js} +1 -1
  273. package/js/x-modules/facets/components/facets/{facets-provider2.vue.js.map → facets-provider.vue2.js.map} +1 -1
  274. package/js/x-modules/facets/components/facets/{facets-provider3.vue.js → facets-provider.vue3.js} +1 -1
  275. package/js/x-modules/facets/components/facets/facets-provider.vue3.js.map +1 -0
  276. package/js/x-modules/facets/components/facets/facets.vue.js +2 -2
  277. package/js/x-modules/facets/components/facets/{facets2.vue.js → facets.vue2.js} +1 -1
  278. package/js/x-modules/facets/components/facets/{facets2.vue.js.map → facets.vue2.js.map} +1 -1
  279. package/js/x-modules/facets/components/facets/{facets3.vue.js → facets.vue3.js} +1 -1
  280. package/js/x-modules/{extra-params/components/extra-params2.vue.js.map → facets/components/facets/facets.vue3.js.map} +1 -1
  281. package/js/x-modules/facets/components/filters/all-filter.vue.js +1 -1
  282. package/js/x-modules/facets/components/filters/{all-filter2.vue.js → all-filter.vue2.js} +1 -1
  283. package/js/x-modules/facets/components/filters/{all-filter2.vue.js.map → all-filter.vue2.js.map} +1 -1
  284. package/js/x-modules/facets/components/filters/editable-number-range-filter.vue.js +2 -2
  285. package/js/x-modules/facets/components/filters/{editable-number-range-filter2.vue.js → editable-number-range-filter.vue2.js} +1 -1
  286. package/js/x-modules/facets/components/filters/{editable-number-range-filter2.vue.js.map → editable-number-range-filter.vue2.js.map} +1 -1
  287. package/js/x-modules/facets/components/filters/{editable-number-range-filter3.vue.js → editable-number-range-filter.vue3.js} +1 -1
  288. package/js/x-modules/facets/components/filters/editable-number-range-filter.vue3.js.map +1 -0
  289. package/js/x-modules/facets/components/filters/hierarchical-filter.vue.js +1 -1
  290. package/js/x-modules/facets/components/filters/{hierarchical-filter2.vue.js → hierarchical-filter.vue2.js} +1 -1
  291. package/js/x-modules/facets/components/filters/{hierarchical-filter2.vue.js.map → hierarchical-filter.vue2.js.map} +1 -1
  292. package/js/x-modules/facets/components/filters/number-range-filter.vue.js +1 -1
  293. package/js/x-modules/facets/components/filters/{number-range-filter2.vue.js → number-range-filter.vue2.js} +1 -1
  294. package/js/x-modules/facets/components/filters/{number-range-filter2.vue.js.map → number-range-filter.vue2.js.map} +1 -1
  295. package/js/x-modules/facets/components/filters/{renderless-filter2.vue.js → renderless-filter.vue2.js} +1 -1
  296. package/js/x-modules/facets/components/filters/renderless-filter.vue2.js.map +1 -0
  297. package/js/x-modules/facets/components/filters/simple-filter.vue.js +1 -1
  298. package/js/x-modules/facets/components/filters/{simple-filter2.vue.js → simple-filter.vue2.js} +1 -1
  299. package/js/x-modules/facets/components/filters/{simple-filter2.vue.js.map → simple-filter.vue2.js.map} +1 -1
  300. package/js/x-modules/facets/components/lists/{exclude-filters-with-no-results2.vue.js → exclude-filters-with-no-results.vue2.js} +1 -1
  301. package/js/x-modules/facets/components/lists/exclude-filters-with-no-results.vue2.js.map +1 -0
  302. package/js/x-modules/facets/components/lists/filters-list.vue.js +2 -2
  303. package/js/x-modules/facets/components/lists/{filters-list2.vue.js → filters-list.vue2.js} +1 -1
  304. package/js/x-modules/facets/components/lists/{filters-list2.vue.js.map → filters-list.vue2.js.map} +1 -1
  305. package/js/x-modules/facets/components/lists/{filters-list3.vue.js → filters-list.vue3.js} +1 -1
  306. package/js/x-modules/facets/components/lists/filters-list.vue3.js.map +1 -0
  307. package/js/x-modules/facets/components/lists/filters-search.vue.js +2 -2
  308. package/js/x-modules/facets/components/lists/{filters-search2.vue.js → filters-search.vue2.js} +1 -1
  309. package/js/x-modules/facets/components/lists/{filters-search2.vue.js.map → filters-search.vue2.js.map} +1 -1
  310. package/js/x-modules/facets/components/lists/{filters-search3.vue.js → filters-search.vue3.js} +1 -1
  311. package/js/x-modules/facets/components/lists/filters-search.vue3.js.map +1 -0
  312. package/js/x-modules/facets/components/lists/selected-filters-list.vue.js +1 -1
  313. package/js/x-modules/facets/components/lists/{selected-filters-list2.vue.js → selected-filters-list.vue2.js} +1 -1
  314. package/js/x-modules/facets/components/lists/{selected-filters-list2.vue.js.map → selected-filters-list.vue2.js.map} +1 -1
  315. package/js/x-modules/facets/components/lists/{selected-filters2.vue.js → selected-filters.vue2.js} +1 -1
  316. package/js/x-modules/facets/components/lists/selected-filters.vue2.js.map +1 -0
  317. package/js/x-modules/facets/components/lists/sliced-filters.vue.js +1 -1
  318. package/js/x-modules/facets/components/lists/{sliced-filters2.vue.js → sliced-filters.vue2.js} +1 -1
  319. package/js/x-modules/facets/components/lists/{sliced-filters2.vue.js.map → sliced-filters.vue2.js.map} +1 -1
  320. package/js/x-modules/facets/components/lists/{sorted-filters2.vue.js → sorted-filters.vue2.js} +1 -1
  321. package/js/x-modules/facets/components/lists/sorted-filters.vue2.js.map +1 -0
  322. package/js/x-modules/facets/components/{preselected-filters2.vue.js → preselected-filters.vue2.js} +1 -1
  323. package/js/x-modules/facets/components/preselected-filters.vue2.js.map +1 -0
  324. package/js/x-modules/history-queries/components/clear-history-queries.vue.js +1 -1
  325. package/js/x-modules/history-queries/components/{clear-history-queries2.vue.js → clear-history-queries.vue2.js} +1 -1
  326. package/js/x-modules/history-queries/components/{clear-history-queries2.vue.js.map → clear-history-queries.vue2.js.map} +1 -1
  327. package/js/x-modules/history-queries/components/history-queries-switch.vue.js +1 -1
  328. package/js/x-modules/history-queries/components/{history-queries-switch2.vue.js → history-queries-switch.vue2.js} +1 -1
  329. package/js/x-modules/history-queries/components/{history-queries-switch2.vue.js.map → history-queries-switch.vue2.js.map} +1 -1
  330. package/js/x-modules/history-queries/components/history-queries.vue.js +1 -1
  331. package/js/x-modules/history-queries/components/{history-queries2.vue.js → history-queries.vue2.js} +1 -1
  332. package/js/x-modules/history-queries/components/{history-queries2.vue.js.map → history-queries.vue2.js.map} +1 -1
  333. package/js/x-modules/history-queries/components/history-query.vue.js +1 -1
  334. package/js/x-modules/history-queries/components/{history-query2.vue.js → history-query.vue2.js} +1 -1
  335. package/js/x-modules/history-queries/components/{history-query2.vue.js.map → history-query.vue2.js.map} +1 -1
  336. package/js/x-modules/history-queries/components/my-history.vue.js +2 -2
  337. package/js/x-modules/history-queries/components/{my-history2.vue.js → my-history.vue2.js} +1 -1
  338. package/js/x-modules/history-queries/components/{my-history2.vue.js.map → my-history.vue2.js.map} +1 -1
  339. package/js/x-modules/history-queries/components/{my-history3.vue.js → my-history.vue3.js} +1 -1
  340. package/js/x-modules/history-queries/components/my-history.vue3.js.map +1 -0
  341. package/js/x-modules/history-queries/components/remove-history-query.vue.js +1 -1
  342. package/js/x-modules/history-queries/components/{remove-history-query2.vue.js → remove-history-query.vue2.js} +1 -1
  343. package/js/x-modules/history-queries/components/{remove-history-query2.vue.js.map → remove-history-query.vue2.js.map} +1 -1
  344. package/js/x-modules/identifier-results/components/identifier-result.vue.js +1 -1
  345. package/js/x-modules/identifier-results/components/{identifier-result2.vue.js → identifier-result.vue2.js} +1 -1
  346. package/js/x-modules/identifier-results/components/{identifier-result2.vue.js.map → identifier-result.vue2.js.map} +1 -1
  347. package/js/x-modules/identifier-results/components/identifier-results.vue.js +2 -2
  348. package/js/x-modules/identifier-results/components/{identifier-results2.vue.js → identifier-results.vue2.js} +1 -1
  349. package/js/x-modules/identifier-results/components/{identifier-results2.vue.js.map → identifier-results.vue2.js.map} +1 -1
  350. package/js/x-modules/identifier-results/components/{identifier-results3.vue.js → identifier-results.vue3.js} +1 -1
  351. package/js/x-modules/identifier-results/components/identifier-results.vue3.js.map +1 -0
  352. package/js/x-modules/next-queries/components/{next-queries-list2.vue.js → next-queries-list.vue2.js} +1 -1
  353. package/js/x-modules/next-queries/components/next-queries-list.vue2.js.map +1 -0
  354. package/js/x-modules/next-queries/components/next-queries.vue.js +1 -1
  355. package/js/x-modules/next-queries/components/{next-queries2.vue.js → next-queries.vue2.js} +1 -1
  356. package/js/x-modules/next-queries/components/{next-queries2.vue.js.map → next-queries.vue2.js.map} +1 -1
  357. package/js/x-modules/next-queries/components/next-query-preview.vue.js +1 -1
  358. package/js/x-modules/next-queries/components/{next-query-preview2.vue.js → next-query-preview.vue2.js} +1 -1
  359. package/js/x-modules/next-queries/components/{next-query-preview2.vue.js.map → next-query-preview.vue2.js.map} +1 -1
  360. package/js/x-modules/next-queries/components/next-query.vue.js +1 -1
  361. package/js/x-modules/next-queries/components/{next-query2.vue.js → next-query.vue2.js} +1 -1
  362. package/js/x-modules/next-queries/components/{next-query2.vue.js.map → next-query.vue2.js.map} +1 -1
  363. package/js/x-modules/popular-searches/components/popular-search.vue.js +1 -1
  364. package/js/x-modules/popular-searches/components/{popular-search2.vue.js → popular-search.vue2.js} +1 -1
  365. package/js/x-modules/popular-searches/components/{popular-search2.vue.js.map → popular-search.vue2.js.map} +1 -1
  366. package/js/x-modules/popular-searches/components/popular-searches.vue.js +1 -1
  367. package/js/x-modules/popular-searches/components/{popular-searches2.vue.js → popular-searches.vue2.js} +1 -1
  368. package/js/x-modules/popular-searches/components/{popular-searches2.vue.js.map → popular-searches.vue2.js.map} +1 -1
  369. package/js/x-modules/queries-preview/components/query-preview-button.vue.js +1 -1
  370. package/js/x-modules/queries-preview/components/query-preview-button.vue2.js +165 -0
  371. package/js/x-modules/queries-preview/components/{query-preview-button2.vue.js.map → query-preview-button.vue2.js.map} +1 -1
  372. package/js/x-modules/queries-preview/components/query-preview-list.vue.js +2 -2
  373. package/js/x-modules/queries-preview/components/{query-preview-list2.vue.js → query-preview-list.vue2.js} +1 -1
  374. package/js/x-modules/queries-preview/components/{query-preview-list2.vue.js.map → query-preview-list.vue2.js.map} +1 -1
  375. package/js/x-modules/queries-preview/components/{query-preview-list3.vue.js → query-preview-list.vue3.js} +1 -1
  376. package/js/x-modules/queries-preview/components/query-preview-list.vue3.js.map +1 -0
  377. package/js/x-modules/queries-preview/components/query-preview.vue.js +1 -1
  378. package/js/x-modules/queries-preview/components/{query-preview2.vue.js → query-preview.vue2.js} +82 -82
  379. package/js/x-modules/queries-preview/components/{query-preview2.vue.js.map → query-preview.vue2.js.map} +1 -1
  380. package/js/x-modules/query-suggestions/components/query-suggestion.vue.js +1 -1
  381. package/js/x-modules/query-suggestions/components/{query-suggestion2.vue.js → query-suggestion.vue2.js} +1 -1
  382. package/js/x-modules/query-suggestions/components/{query-suggestion2.vue.js.map → query-suggestion.vue2.js.map} +1 -1
  383. package/js/x-modules/query-suggestions/components/query-suggestions.vue.js +1 -1
  384. package/js/x-modules/query-suggestions/components/{query-suggestions2.vue.js → query-suggestions.vue2.js} +1 -1
  385. package/js/x-modules/query-suggestions/components/{query-suggestions2.vue.js.map → query-suggestions.vue2.js.map} +1 -1
  386. package/js/x-modules/recommendations/components/recommendations.vue.js +2 -2
  387. package/js/x-modules/recommendations/components/{recommendations2.vue.js → recommendations.vue2.js} +1 -1
  388. package/js/x-modules/recommendations/components/{recommendations2.vue.js.map → recommendations.vue2.js.map} +1 -1
  389. package/js/x-modules/recommendations/components/{recommendations3.vue.js → recommendations.vue3.js} +1 -1
  390. package/js/x-modules/recommendations/components/recommendations.vue3.js.map +1 -0
  391. package/js/x-modules/related-prompts/components/related-prompt.vue.js +2 -2
  392. package/js/x-modules/related-prompts/components/{related-prompt2.vue.js → related-prompt.vue2.js} +1 -1
  393. package/js/x-modules/related-prompts/components/{related-prompt2.vue.js.map → related-prompt.vue2.js.map} +1 -1
  394. package/js/x-modules/related-prompts/components/{related-prompt3.vue.js → related-prompt.vue3.js} +1 -1
  395. package/js/x-modules/related-prompts/components/related-prompt.vue3.js.map +1 -0
  396. package/js/x-modules/related-prompts/components/{related-prompts-list2.vue.js → related-prompts-list.vue2.js} +1 -1
  397. package/js/x-modules/related-prompts/components/related-prompts-list.vue2.js.map +1 -0
  398. package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue.js +2 -2
  399. package/js/x-modules/related-prompts/components/{related-prompts-tag-list2.vue.js → related-prompts-tag-list.vue2.js} +1 -1
  400. package/js/x-modules/related-prompts/components/{related-prompts-tag-list2.vue.js.map → related-prompts-tag-list.vue2.js.map} +1 -1
  401. package/js/x-modules/related-prompts/components/{related-prompts-tag-list3.vue.js → related-prompts-tag-list.vue3.js} +1 -1
  402. package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue3.js.map +1 -0
  403. package/js/x-modules/related-tags/components/related-tag.vue.js +1 -1
  404. package/js/x-modules/related-tags/components/{related-tag2.vue.js → related-tag.vue2.js} +1 -1
  405. package/js/x-modules/related-tags/components/{related-tag2.vue.js.map → related-tag.vue2.js.map} +1 -1
  406. package/js/x-modules/related-tags/components/related-tags.vue.js +2 -2
  407. package/js/x-modules/related-tags/components/{related-tags2.vue.js → related-tags.vue2.js} +1 -1
  408. package/js/x-modules/related-tags/components/{related-tags2.vue.js.map → related-tags.vue2.js.map} +1 -1
  409. package/js/x-modules/related-tags/components/{related-tags3.vue.js → related-tags.vue3.js} +1 -1
  410. package/js/x-modules/related-tags/components/related-tags.vue3.js.map +1 -0
  411. package/js/x-modules/scroll/components/main-scroll-item.vue.js +1 -1
  412. package/js/x-modules/scroll/components/{main-scroll-item2.vue.js → main-scroll-item.vue2.js} +1 -1
  413. package/js/x-modules/scroll/components/{main-scroll-item2.vue.js.map → main-scroll-item.vue2.js.map} +1 -1
  414. package/js/x-modules/scroll/components/{main-scroll2.vue.js → main-scroll.vue2.js} +1 -1
  415. package/js/x-modules/scroll/components/main-scroll.vue2.js.map +1 -0
  416. package/js/x-modules/scroll/components/scroll-to-top.vue.js +1 -1
  417. package/js/x-modules/scroll/components/{scroll-to-top2.vue.js → scroll-to-top.vue2.js} +81 -81
  418. package/js/x-modules/scroll/components/{scroll-to-top2.vue.js.map → scroll-to-top.vue2.js.map} +1 -1
  419. package/js/x-modules/scroll/components/scroll.vue.js +1 -1
  420. package/js/x-modules/scroll/components/{scroll2.vue.js → scroll.vue2.js} +1 -1
  421. package/js/x-modules/scroll/components/{scroll2.vue.js.map → scroll.vue2.js.map} +1 -1
  422. package/js/x-modules/search/components/banner.vue.js +2 -2
  423. package/js/x-modules/search/components/{banner2.vue.js → banner.vue2.js} +1 -1
  424. package/js/x-modules/search/components/{banner2.vue.js.map → banner.vue2.js.map} +1 -1
  425. package/js/x-modules/search/components/{banner3.vue.js → banner.vue3.js} +1 -1
  426. package/js/x-modules/search/components/banner.vue3.js.map +1 -0
  427. package/js/x-modules/search/components/{banners-list2.vue.js → banners-list.vue2.js} +1 -1
  428. package/js/x-modules/search/components/banners-list.vue2.js.map +1 -0
  429. package/js/x-modules/search/components/fallback-disclaimer.vue.js +1 -1
  430. package/js/x-modules/search/components/{fallback-disclaimer2.vue.js → fallback-disclaimer.vue2.js} +1 -1
  431. package/js/x-modules/search/components/{fallback-disclaimer2.vue.js.map → fallback-disclaimer.vue2.js.map} +1 -1
  432. package/js/x-modules/search/components/partial-query-button.vue.js +1 -1
  433. package/js/x-modules/search/components/{partial-query-button2.vue.js → partial-query-button.vue2.js} +1 -1
  434. package/js/x-modules/search/components/{partial-query-button2.vue.js.map → partial-query-button.vue2.js.map} +1 -1
  435. package/js/x-modules/search/components/partial-results-list.vue.js +2 -2
  436. package/js/x-modules/search/components/{partial-results-list2.vue.js → partial-results-list.vue2.js} +1 -1
  437. package/js/x-modules/search/components/{partial-results-list2.vue.js.map → partial-results-list.vue2.js.map} +1 -1
  438. package/js/x-modules/search/components/{partial-results-list3.vue.js → partial-results-list.vue3.js} +1 -1
  439. package/js/x-modules/search/components/partial-results-list.vue3.js.map +1 -0
  440. package/js/x-modules/search/components/promoted.vue.js +2 -2
  441. package/js/x-modules/search/components/{promoted2.vue.js → promoted.vue2.js} +1 -1
  442. package/js/x-modules/search/components/{promoted2.vue.js.map → promoted.vue2.js.map} +1 -1
  443. package/js/x-modules/search/components/{promoted3.vue.js → promoted.vue3.js} +1 -1
  444. package/js/x-modules/search/components/promoted.vue3.js.map +1 -0
  445. package/js/x-modules/search/components/{promoteds-list2.vue.js → promoteds-list.vue2.js} +1 -1
  446. package/js/x-modules/search/components/promoteds-list.vue2.js.map +1 -0
  447. package/js/x-modules/search/components/redirection.vue.js +1 -1
  448. package/js/x-modules/search/components/{redirection2.vue.js → redirection.vue2.js} +1 -1
  449. package/js/x-modules/search/components/{redirection2.vue.js.map → redirection.vue2.js.map} +1 -1
  450. package/js/x-modules/search/components/{results-list2.vue.js → results-list.vue2.js} +1 -1
  451. package/js/x-modules/search/components/results-list.vue2.js.map +1 -0
  452. package/js/x-modules/search/components/sort-dropdown.vue.js +1 -1
  453. package/js/x-modules/search/components/{sort-dropdown2.vue.js → sort-dropdown.vue2.js} +1 -1
  454. package/js/x-modules/search/components/{sort-dropdown2.vue.js.map → sort-dropdown.vue2.js.map} +1 -1
  455. package/js/x-modules/search/components/sort-list.vue.js +2 -2
  456. package/js/x-modules/search/components/{sort-list2.vue.js → sort-list.vue2.js} +1 -1
  457. package/js/x-modules/search/components/{sort-list2.vue.js.map → sort-list.vue2.js.map} +1 -1
  458. package/js/x-modules/search/components/{sort-list3.vue.js → sort-list.vue3.js} +1 -1
  459. package/js/x-modules/search/components/sort-list.vue3.js.map +1 -0
  460. package/js/x-modules/search/components/sort-picker-list.vue.js +1 -1
  461. package/js/x-modules/search/components/{sort-picker-list2.vue.js → sort-picker-list.vue2.js} +1 -1
  462. package/js/x-modules/search/components/{sort-picker-list2.vue.js.map → sort-picker-list.vue2.js.map} +1 -1
  463. package/js/x-modules/search/components/spellcheck-button.vue.js +1 -1
  464. package/js/x-modules/search/components/{spellcheck-button2.vue.js → spellcheck-button.vue2.js} +1 -1
  465. package/js/x-modules/search/components/{spellcheck-button2.vue.js.map → spellcheck-button.vue2.js.map} +1 -1
  466. package/js/x-modules/search/components/spellcheck.vue.js +1 -1
  467. package/js/x-modules/search/components/{spellcheck2.vue.js → spellcheck.vue2.js} +1 -1
  468. package/js/x-modules/search/components/{spellcheck2.vue.js.map → spellcheck.vue2.js.map} +1 -1
  469. package/js/x-modules/search-box/components/clear-search-input.vue.js +1 -1
  470. package/js/x-modules/search-box/components/{clear-search-input2.vue.js → clear-search-input.vue2.js} +1 -1
  471. package/js/x-modules/search-box/components/{clear-search-input2.vue.js.map → clear-search-input.vue2.js.map} +1 -1
  472. package/js/x-modules/search-box/components/search-button.vue.js +1 -1
  473. package/js/x-modules/search-box/components/{search-button2.vue.js → search-button.vue2.js} +1 -1
  474. package/js/x-modules/search-box/components/{search-button2.vue.js.map → search-button.vue2.js.map} +1 -1
  475. package/js/x-modules/search-box/components/search-input-placeholder.vue.js +3 -3
  476. package/js/x-modules/search-box/components/{search-input-placeholder2.vue.js → search-input-placeholder.vue2.js} +2 -2
  477. package/js/x-modules/search-box/components/{search-input-placeholder2.vue.js.map → search-input-placeholder.vue2.js.map} +1 -1
  478. package/js/x-modules/search-box/components/{search-input-placeholder3.vue.js → search-input-placeholder.vue3.js} +1 -1
  479. package/js/x-modules/search-box/components/search-input-placeholder.vue3.js.map +1 -0
  480. package/js/x-modules/search-box/components/{search-input-placeholder4.vue.js → search-input-placeholder.vue4.js} +1 -1
  481. package/js/x-modules/search-box/components/search-input-placeholder.vue4.js.map +1 -0
  482. package/js/x-modules/search-box/components/search-input.vue.js +2 -2
  483. package/js/x-modules/search-box/components/{search-input2.vue.js → search-input.vue2.js} +1 -1
  484. package/js/x-modules/search-box/components/{search-input2.vue.js.map → search-input.vue2.js.map} +1 -1
  485. package/js/x-modules/search-box/components/{search-input3.vue.js → search-input.vue3.js} +1 -1
  486. package/js/x-modules/search-box/components/search-input.vue3.js.map +1 -0
  487. package/js/x-modules/semantic-queries/components/semantic-queries.vue.js +1 -1
  488. package/js/x-modules/semantic-queries/components/{semantic-queries2.vue.js → semantic-queries.vue2.js} +1 -1
  489. package/js/x-modules/semantic-queries/components/{semantic-queries2.vue.js.map → semantic-queries.vue2.js.map} +1 -1
  490. package/js/x-modules/semantic-queries/components/semantic-query.vue.js +1 -1
  491. package/js/x-modules/semantic-queries/components/{semantic-query2.vue.js → semantic-query.vue2.js} +1 -1
  492. package/js/x-modules/semantic-queries/components/{semantic-query2.vue.js.map → semantic-query.vue2.js.map} +1 -1
  493. package/js/x-modules/tagging/components/{tagging2.vue.js → tagging.vue2.js} +1 -1
  494. package/js/x-modules/tagging/components/tagging.vue2.js.map +1 -0
  495. package/js/x-modules/url/components/url-handler.vue.js +1 -1
  496. package/js/x-modules/url/components/{url-handler2.vue.js → url-handler.vue2.js} +1 -1
  497. package/js/x-modules/url/components/{url-handler2.vue.js.map → url-handler.vue2.js.map} +1 -1
  498. package/package.json +3 -3
  499. package/report/x-components.api.json +3 -3
  500. package/report/x-components.api.md +3 -3
  501. package/types/src/types/origin.d.ts +3 -3
  502. package/types/src/types/origin.d.ts.map +1 -1
  503. package/js/components/animations/animate-clip-path2.vue.js.map +0 -1
  504. package/js/components/animations/animate-clip-path3.vue.js +0 -7
  505. package/js/components/animations/animate-clip-path3.vue.js.map +0 -1
  506. package/js/components/animations/animate-scale2.vue.js.map +0 -1
  507. package/js/components/animations/animate-scale3.vue.js.map +0 -1
  508. package/js/components/animations/animate-translate2.vue.js.map +0 -1
  509. package/js/components/animations/animate-translate3.vue.js +0 -7
  510. package/js/components/animations/animate-translate3.vue.js.map +0 -1
  511. package/js/components/animations/animate-width3.vue.js.map +0 -1
  512. package/js/components/animations/change-height3.vue.js.map +0 -1
  513. package/js/components/animations/collapse-height3.vue.js.map +0 -1
  514. package/js/components/animations/collapse-width3.vue.js.map +0 -1
  515. package/js/components/animations/cross-fade3.vue.js.map +0 -1
  516. package/js/components/animations/fade-and-slide3.vue.js.map +0 -1
  517. package/js/components/animations/fade3.vue.js.map +0 -1
  518. package/js/components/animations/no-animation2.vue.js.map +0 -1
  519. package/js/components/animations/staggered-fade-and-slide3.vue.js.map +0 -1
  520. package/js/components/auto-progress-bar3.vue.js.map +0 -1
  521. package/js/components/base-dropdown3.vue.js.map +0 -1
  522. package/js/components/base-grid3.vue.js.map +0 -1
  523. package/js/components/base-rating3.vue.js.map +0 -1
  524. package/js/components/base-slider3.vue.js.map +0 -1
  525. package/js/components/base-switch3.vue.js.map +0 -1
  526. package/js/components/display-click-provider2.vue.js.map +0 -1
  527. package/js/components/display-emitter2.vue.js.map +0 -1
  528. package/js/components/filters/labels/base-price-filter-label2.vue.js.map +0 -1
  529. package/js/components/global-x-bus2.vue.js.map +0 -1
  530. package/js/components/location-provider2.vue.js.map +0 -1
  531. package/js/components/message2.vue.js.map +0 -1
  532. package/js/components/modals/base-modal3.vue.js.map +0 -1
  533. package/js/components/page-loader-button3.vue.js.map +0 -1
  534. package/js/components/page-selector3.vue.js.map +0 -1
  535. package/js/components/panels/base-header-toggle-panel3.vue.js.map +0 -1
  536. package/js/components/panels/base-tabs-panel3.vue.js.map +0 -1
  537. package/js/components/result/base-result-image3.vue.js.map +0 -1
  538. package/js/components/result/base-result-link3.vue.js.map +0 -1
  539. package/js/components/result/base-result-rating3.vue.js.map +0 -1
  540. package/js/components/result/result-variant-selector3.vue.js.map +0 -1
  541. package/js/components/result/result-variants-provider2.vue.js.map +0 -1
  542. package/js/components/sliding-panel3.vue.js.map +0 -1
  543. package/js/components/suggestions/base-suggestions3.vue.js.map +0 -1
  544. package/js/x-modules/ai/components/ai-carousel3.vue.js.map +0 -1
  545. package/js/x-modules/ai/components/ai-grouped-carousel2.vue.js +0 -123
  546. package/js/x-modules/experience-controls/components/experience-controls2.vue.js.map +0 -1
  547. package/js/x-modules/extra-params/components/renderless-extra-param2.vue.js.map +0 -1
  548. package/js/x-modules/facets/components/facets/facets-provider3.vue.js.map +0 -1
  549. package/js/x-modules/facets/components/facets/facets3.vue.js.map +0 -1
  550. package/js/x-modules/facets/components/filters/editable-number-range-filter3.vue.js.map +0 -1
  551. package/js/x-modules/facets/components/filters/renderless-filter2.vue.js.map +0 -1
  552. package/js/x-modules/facets/components/lists/exclude-filters-with-no-results2.vue.js.map +0 -1
  553. package/js/x-modules/facets/components/lists/filters-list3.vue.js.map +0 -1
  554. package/js/x-modules/facets/components/lists/filters-search3.vue.js.map +0 -1
  555. package/js/x-modules/facets/components/lists/selected-filters2.vue.js.map +0 -1
  556. package/js/x-modules/facets/components/lists/sorted-filters2.vue.js.map +0 -1
  557. package/js/x-modules/facets/components/preselected-filters2.vue.js.map +0 -1
  558. package/js/x-modules/history-queries/components/my-history3.vue.js.map +0 -1
  559. package/js/x-modules/identifier-results/components/identifier-results3.vue.js.map +0 -1
  560. package/js/x-modules/next-queries/components/next-queries-list2.vue.js.map +0 -1
  561. package/js/x-modules/queries-preview/components/query-preview-button2.vue.js +0 -165
  562. package/js/x-modules/queries-preview/components/query-preview-list3.vue.js.map +0 -1
  563. package/js/x-modules/recommendations/components/recommendations3.vue.js.map +0 -1
  564. package/js/x-modules/related-prompts/components/related-prompt3.vue.js.map +0 -1
  565. package/js/x-modules/related-prompts/components/related-prompts-list2.vue.js.map +0 -1
  566. package/js/x-modules/related-prompts/components/related-prompts-tag-list3.vue.js.map +0 -1
  567. package/js/x-modules/related-tags/components/related-tags3.vue.js.map +0 -1
  568. package/js/x-modules/scroll/components/main-scroll2.vue.js.map +0 -1
  569. package/js/x-modules/search/components/banner3.vue.js.map +0 -1
  570. package/js/x-modules/search/components/banners-list2.vue.js.map +0 -1
  571. package/js/x-modules/search/components/partial-results-list3.vue.js.map +0 -1
  572. package/js/x-modules/search/components/promoted3.vue.js.map +0 -1
  573. package/js/x-modules/search/components/promoteds-list2.vue.js.map +0 -1
  574. package/js/x-modules/search/components/results-list2.vue.js.map +0 -1
  575. package/js/x-modules/search/components/sort-list3.vue.js.map +0 -1
  576. package/js/x-modules/search-box/components/search-input-placeholder3.vue.js.map +0 -1
  577. package/js/x-modules/search-box/components/search-input-placeholder4.vue.js.map +0 -1
  578. package/js/x-modules/search-box/components/search-input3.vue.js.map +0 -1
  579. package/js/x-modules/tagging/components/tagging2.vue.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"base-result-add-to-cart2.vue.js","sources":["../../../../src/components/result/base-result-add-to-cart.vue"],"sourcesContent":["<template>\n <BaseEventButton\n :events=\"events\"\n :metadata=\"metadata\"\n class=\"x-result-add-to-cart xds:button\"\n data-test=\"result-add-to-cart\"\n >\n <!-- @slot (Required) Button content with a text, an icon or both -->\n <slot />\n </BaseEventButton>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { PropsWithType } from '../../utils/index'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport type { WireMetadata } from '../../wiring/index'\nimport { computed, defineComponent, inject } from 'vue'\nimport BaseEventButton from '../base-event-button.vue'\n\n/**\n * Renders a button with a default slot. It receives the result with the data and emits\n * {@link XEventsTypes.UserClickedResultAddToCart} to the bus on click mouse event.\n *\n * @public\n */\nexport default defineComponent({\n components: { BaseEventButton },\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n },\n setup(props) {\n /**\n * The list of additional events to be emitted by the component when user clicks the add2cart button.\n *\n * @internal\n */\n const resultAddToCartExtraEvents = inject<PropsWithType<XEventsTypes, Result>[]>(\n 'resultAddToCartExtraEvents',\n [],\n )\n\n /**\n * The metadata to be injected in the events emitted by the component.\n */\n const metadata = inject<Omit<WireMetadata, 'moduleName' | 'origin' | 'location'>>(\n 'resultAddToCartExtraEventsMetadata',\n {},\n )\n\n /**\n * The events to be emitted by the button.\n *\n * @returns Events {@link XEventsTypes} to emit.\n *\n * @public\n */\n const events = computed(() => {\n return resultAddToCartExtraEvents.reduce(\n (acc, event) => {\n acc[event] = props.result\n return acc\n },\n { UserClickedResultAddToCart: props.result } as Partial<XEventsTypes>,\n )\n })\n\n return {\n events,\n metadata,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nA list of events that the component will emit:\n\n- [`UserClickedResultAddToCart`](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 result data.\n\n## Examples\n\nRenders a button with a default slot. It receives the result with the data and emits an event\n`UserClickedResultAddToCart` to the bus on click mouse event.\n\n### Basic example\n\nThis component is a button to emit `UserClickedResultAddToCart` when clicked by the user.\n\n```vue\n<template>\n <BaseResultAddToCart :result=\"result\">\n <img src=\"./add-to-cart.svg\" alt=\"Add to cart\" />\n <span>Add to cart</span>\n </BaseResultAddToCart>\n</template>\n\n<script setup>\nimport { BaseResultAddToCart } from '@empathyco/x-components'\nconst result = {\n id: '123',\n name: 'Product name',\n price: 19.99,\n // ...other result properties\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;AAqBA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;IAC7B,UAAU,EAAE,EAAE,eAAc,EAAG;AAC/B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;AAIE;QACF,MAAM,6BAA6B,MAAM,CACvC,4BAA4B,EAC5B,EAAE,CACJ;AAEA;;AAEE;QACF,MAAM,QAAO,GAAI,MAAM,CACrB,oCAAoC,EACpC,EAAE,CACJ;AAEA;;;;;;AAME;AACF,QAAA,MAAM,MAAK,GAAI,QAAQ,CAAC,MAAI;YAC1B,OAAO,0BAA0B,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,KAAK,KAAG;AACZ,gBAAA,GAAG,CAAC,KAAK,CAAA,GAAI,KAAK,CAAC,MAAK;AACxB,gBAAA,OAAO,GAAE;YACX,CAAC,EACD,EAAE,0BAA0B,EAAE,KAAK,CAAC,MAAK,EAA4B,CACvE;AACF,QAAA,CAAC,CAAA;QAED,OAAO;YACL,MAAM;YACN,QAAQ;SACV;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"base-result-add-to-cart.vue2.js","sources":["../../../../src/components/result/base-result-add-to-cart.vue"],"sourcesContent":["<template>\n <BaseEventButton\n :events=\"events\"\n :metadata=\"metadata\"\n class=\"x-result-add-to-cart xds:button\"\n data-test=\"result-add-to-cart\"\n >\n <!-- @slot (Required) Button content with a text, an icon or both -->\n <slot />\n </BaseEventButton>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { PropsWithType } from '../../utils/index'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport type { WireMetadata } from '../../wiring/index'\nimport { computed, defineComponent, inject } from 'vue'\nimport BaseEventButton from '../base-event-button.vue'\n\n/**\n * Renders a button with a default slot. It receives the result with the data and emits\n * {@link XEventsTypes.UserClickedResultAddToCart} to the bus on click mouse event.\n *\n * @public\n */\nexport default defineComponent({\n components: { BaseEventButton },\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n },\n setup(props) {\n /**\n * The list of additional events to be emitted by the component when user clicks the add2cart button.\n *\n * @internal\n */\n const resultAddToCartExtraEvents = inject<PropsWithType<XEventsTypes, Result>[]>(\n 'resultAddToCartExtraEvents',\n [],\n )\n\n /**\n * The metadata to be injected in the events emitted by the component.\n */\n const metadata = inject<Omit<WireMetadata, 'moduleName' | 'origin' | 'location'>>(\n 'resultAddToCartExtraEventsMetadata',\n {},\n )\n\n /**\n * The events to be emitted by the button.\n *\n * @returns Events {@link XEventsTypes} to emit.\n *\n * @public\n */\n const events = computed(() => {\n return resultAddToCartExtraEvents.reduce(\n (acc, event) => {\n acc[event] = props.result\n return acc\n },\n { UserClickedResultAddToCart: props.result } as Partial<XEventsTypes>,\n )\n })\n\n return {\n events,\n metadata,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nA list of events that the component will emit:\n\n- [`UserClickedResultAddToCart`](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 result data.\n\n## Examples\n\nRenders a button with a default slot. It receives the result with the data and emits an event\n`UserClickedResultAddToCart` to the bus on click mouse event.\n\n### Basic example\n\nThis component is a button to emit `UserClickedResultAddToCart` when clicked by the user.\n\n```vue\n<template>\n <BaseResultAddToCart :result=\"result\">\n <img src=\"./add-to-cart.svg\" alt=\"Add to cart\" />\n <span>Add to cart</span>\n </BaseResultAddToCart>\n</template>\n\n<script setup>\nimport { BaseResultAddToCart } from '@empathyco/x-components'\nconst result = {\n id: '123',\n name: 'Product name',\n price: 19.99,\n // ...other result properties\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;AAqBA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;IAC7B,UAAU,EAAE,EAAE,eAAc,EAAG;AAC/B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;AAIE;QACF,MAAM,6BAA6B,MAAM,CACvC,4BAA4B,EAC5B,EAAE,CACJ;AAEA;;AAEE;QACF,MAAM,QAAO,GAAI,MAAM,CACrB,oCAAoC,EACpC,EAAE,CACJ;AAEA;;;;;;AAME;AACF,QAAA,MAAM,MAAK,GAAI,QAAQ,CAAC,MAAI;YAC1B,OAAO,0BAA0B,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,KAAK,KAAG;AACZ,gBAAA,GAAG,CAAC,KAAK,CAAA,GAAI,KAAK,CAAC,MAAK;AACxB,gBAAA,OAAO,GAAE;YACX,CAAC,EACD,EAAE,0BAA0B,EAAE,KAAK,CAAC,MAAK,EAA4B,CACvE;AACF,QAAA,CAAC,CAAA;QAED,OAAO;YACL,MAAM;YACN,QAAQ;SACV;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import _sfc_main from './base-result-current-price2.vue.js';
1
+ import _sfc_main from './base-result-current-price.vue2.js';
2
2
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, renderSlot, createBlock, createCommentVNode } from 'vue';
3
3
  import _export_sfc from '../../_virtual/_plugin-vue_export-helper.js';
4
4
 
@@ -54,4 +54,4 @@ var _sfc_main = defineComponent({
54
54
  });
55
55
 
56
56
  export { _sfc_main as default };
57
- //# sourceMappingURL=base-result-current-price2.vue.js.map
57
+ //# sourceMappingURL=base-result-current-price.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-result-current-price2.vue.js","sources":["../../../../src/components/result/base-result-current-price.vue"],"sourcesContent":["<template>\n <div :class=\"dynamicClasses\" class=\"x-result-current-price\" data-test=\"result-current-price\">\n <!--\n @slot Base currency item\n @binding {result} result - Result data\n -->\n <slot :result=\"result\">\n <BaseCurrency\n v-if=\"result.price?.value\"\n :value=\"result.price.value\"\n :currency=\"currency\"\n :format=\"format\"\n />\n </slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { VueCSSClasses } from '../../utils/types'\nimport { computed, defineComponent } from 'vue'\nimport BaseCurrency from '../currency/base-currency.vue'\n\n/**\n * Component that renders the {@link @empathyco/x-types#Result} current price\n * that may or may not be on sale.\n *\n * @public\n */\nexport default defineComponent({\n components: { BaseCurrency },\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n /**\n * Optional value coming from https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes.\n *\n * @public\n */\n currency: String,\n /**\n * The currency format possibilities from Intl.NumberFormatOptions.\n * Allows customization of decimal places, grouping, etc.\n *\n * @public\n */\n format: {\n type: Object as PropType<Omit<Intl.NumberFormatOptions, 'currency' | 'style'>>,\n default: () => ({}),\n },\n },\n setup(props) {\n /**\n * Dynamic CSS classes to add to the root element of this component.\n *\n * @returns A booleans dictionary where each key is the class name to add,\n * and the boolean value tells if it should be added or not.\n * @internal\n */\n const dynamicClasses = computed<VueCSSClasses>(() => ({\n 'x-result-current-price--on-sale': props.result.price?.hasDiscount ?? false,\n }))\n\n return {\n dynamicClasses,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\n### Basic example\n\nThis component shows the current price formatted. You can provide the `currency` and `format`\nproperties to customize the display.\n\n```vue\n<template>\n <BaseResultCurrentPrice :result=\"result\" currency=\"USD\" />\n</template>\n\n<script setup>\nimport { BaseResultCurrentPrice } from '@empathyco/x-components'\nconst result = {\n price: { value: 123.45, hasDiscount: false },\n // ...other result properties\n}\n</script>\n```\n\n### Customizing format\n\nYou can customize the number formatting using the `format` prop with `Intl.NumberFormatOptions`:\n\n```vue\n<template>\n <BaseResultCurrentPrice\n :result=\"result\"\n currency=\"EUR\"\n :format=\"{ minimumFractionDigits: 2, maximumFractionDigits: 2 }\"\n />\n</template>\n\n<script setup>\nimport { BaseResultCurrentPrice } from '@empathyco/x-components'\nconst result = {\n price: { value: 123.456, hasDiscount: false },\n // ...other result properties\n}\n</script>\n```\n\n### Overriding default slot\n\n```vue\n<template>\n <BaseResultCurrentPrice :result=\"result\">\n <span class=\"custom-base-result-current-price\">{{ result.price.value }}</span>\n </BaseResultCurrentPrice>\n</template>\n\n<script setup>\nimport { BaseResultCurrentPrice } from '@empathyco/x-components'\nconst result = {\n price: { value: 123.45, hasDiscount: false },\n // ...other result properties\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;AAwBA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;IAC7B,UAAU,EAAE,EAAE,YAAW,EAAG;AAC5B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD;;;;AAIE;AACF,QAAA,QAAQ,EAAE,MAAM;AAChB;;;;;AAKE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAAwE;AAC9E,YAAA,OAAO,EAAE,OAAO,EAAE,CAAC;AACpB,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;;;AAME;AACF,QAAA,MAAM,cAAa,GAAI,QAAQ,CAAgB,OAAO;YACpD,iCAAiC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,WAAU,IAAK,KAAK;AAC5E,SAAA,CAAC,CAAA;QAEF,OAAO;YACL,cAAc;SAChB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"base-result-current-price.vue2.js","sources":["../../../../src/components/result/base-result-current-price.vue"],"sourcesContent":["<template>\n <div :class=\"dynamicClasses\" class=\"x-result-current-price\" data-test=\"result-current-price\">\n <!--\n @slot Base currency item\n @binding {result} result - Result data\n -->\n <slot :result=\"result\">\n <BaseCurrency\n v-if=\"result.price?.value\"\n :value=\"result.price.value\"\n :currency=\"currency\"\n :format=\"format\"\n />\n </slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { VueCSSClasses } from '../../utils/types'\nimport { computed, defineComponent } from 'vue'\nimport BaseCurrency from '../currency/base-currency.vue'\n\n/**\n * Component that renders the {@link @empathyco/x-types#Result} current price\n * that may or may not be on sale.\n *\n * @public\n */\nexport default defineComponent({\n components: { BaseCurrency },\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n /**\n * Optional value coming from https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes.\n *\n * @public\n */\n currency: String,\n /**\n * The currency format possibilities from Intl.NumberFormatOptions.\n * Allows customization of decimal places, grouping, etc.\n *\n * @public\n */\n format: {\n type: Object as PropType<Omit<Intl.NumberFormatOptions, 'currency' | 'style'>>,\n default: () => ({}),\n },\n },\n setup(props) {\n /**\n * Dynamic CSS classes to add to the root element of this component.\n *\n * @returns A booleans dictionary where each key is the class name to add,\n * and the boolean value tells if it should be added or not.\n * @internal\n */\n const dynamicClasses = computed<VueCSSClasses>(() => ({\n 'x-result-current-price--on-sale': props.result.price?.hasDiscount ?? false,\n }))\n\n return {\n dynamicClasses,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\n### Basic example\n\nThis component shows the current price formatted. You can provide the `currency` and `format`\nproperties to customize the display.\n\n```vue\n<template>\n <BaseResultCurrentPrice :result=\"result\" currency=\"USD\" />\n</template>\n\n<script setup>\nimport { BaseResultCurrentPrice } from '@empathyco/x-components'\nconst result = {\n price: { value: 123.45, hasDiscount: false },\n // ...other result properties\n}\n</script>\n```\n\n### Customizing format\n\nYou can customize the number formatting using the `format` prop with `Intl.NumberFormatOptions`:\n\n```vue\n<template>\n <BaseResultCurrentPrice\n :result=\"result\"\n currency=\"EUR\"\n :format=\"{ minimumFractionDigits: 2, maximumFractionDigits: 2 }\"\n />\n</template>\n\n<script setup>\nimport { BaseResultCurrentPrice } from '@empathyco/x-components'\nconst result = {\n price: { value: 123.456, hasDiscount: false },\n // ...other result properties\n}\n</script>\n```\n\n### Overriding default slot\n\n```vue\n<template>\n <BaseResultCurrentPrice :result=\"result\">\n <span class=\"custom-base-result-current-price\">{{ result.price.value }}</span>\n </BaseResultCurrentPrice>\n</template>\n\n<script setup>\nimport { BaseResultCurrentPrice } from '@empathyco/x-components'\nconst result = {\n price: { value: 123.45, hasDiscount: false },\n // ...other result properties\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;AAwBA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;IAC7B,UAAU,EAAE,EAAE,YAAW,EAAG;AAC5B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD;;;;AAIE;AACF,QAAA,QAAQ,EAAE,MAAM;AAChB;;;;;AAKE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAAwE;AAC9E,YAAA,OAAO,EAAE,OAAO,EAAE,CAAC;AACpB,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;;;AAME;AACF,QAAA,MAAM,cAAa,GAAI,QAAQ,CAAgB,OAAO;YACpD,iCAAiC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,WAAU,IAAK,KAAK;AAC5E,SAAA,CAAC,CAAA;QAEF,OAAO;YACL,cAAc;SAChB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -1,6 +1,6 @@
1
- import _sfc_main from './base-result-image2.vue.js';
1
+ import _sfc_main from './base-result-image.vue2.js';
2
2
  import { openBlock, createElementBlock, normalizeStyle, createCommentVNode, createBlock, resolveDynamicComponent, withCtx, renderSlot } from 'vue';
3
- import './base-result-image3.vue.js';
3
+ import './base-result-image.vue3.js';
4
4
  import _export_sfc from '../../_virtual/_plugin-vue_export-helper.js';
5
5
 
6
6
  const _hoisted_1 = ["src"];
@@ -1,25 +1,25 @@
1
1
  import { defineComponent, ref, watch, computed } from 'vue';
2
2
  import { AnimationProp } from '../../types/animation-prop.js';
3
- import '../animations/animate-clip-path2.vue.js';
4
- import '../animations/animate-scale2.vue.js';
5
- import '../animations/animate-translate2.vue.js';
6
- import '../animations/animate-width2.vue.js';
7
- import '../animations/animate-width3.vue.js';
8
- import '../animations/change-height2.vue.js';
9
- import '../animations/change-height3.vue.js';
10
- import '../animations/collapse-height2.vue.js';
11
- import '../animations/collapse-height3.vue.js';
12
- import '../animations/collapse-width2.vue.js';
13
- import '../animations/collapse-width3.vue.js';
14
- import '../animations/cross-fade2.vue.js';
15
- import '../animations/cross-fade3.vue.js';
16
- import '../animations/fade-and-slide2.vue.js';
17
- import '../animations/fade-and-slide3.vue.js';
18
- import '../animations/fade2.vue.js';
19
- import '../animations/fade3.vue.js';
3
+ import '../animations/animate-clip-path.vue2.js';
4
+ import '../animations/animate-scale.vue2.js';
5
+ import '../animations/animate-translate.vue2.js';
6
+ import '../animations/animate-width.vue2.js';
7
+ import '../animations/animate-width.vue3.js';
8
+ import '../animations/change-height.vue2.js';
9
+ import '../animations/change-height.vue3.js';
10
+ import '../animations/collapse-height.vue2.js';
11
+ import '../animations/collapse-height.vue3.js';
12
+ import '../animations/collapse-width.vue2.js';
13
+ import '../animations/collapse-width.vue3.js';
14
+ import '../animations/cross-fade.vue2.js';
15
+ import '../animations/cross-fade.vue3.js';
16
+ import '../animations/fade-and-slide.vue2.js';
17
+ import '../animations/fade-and-slide.vue3.js';
18
+ import '../animations/fade.vue2.js';
19
+ import '../animations/fade.vue3.js';
20
20
  import _sfc_main$1 from '../animations/no-animation.vue.js';
21
- import '../animations/staggered-fade-and-slide2.vue.js';
22
- import '../animations/staggered-fade-and-slide3.vue.js';
21
+ import '../animations/staggered-fade-and-slide.vue2.js';
22
+ import '../animations/staggered-fade-and-slide.vue3.js';
23
23
 
24
24
  /**
25
25
  * Component to be reused that renders an `<img>`.
@@ -176,4 +176,4 @@ var _sfc_main = defineComponent({
176
176
  });
177
177
 
178
178
  export { _sfc_main as default };
179
- //# sourceMappingURL=base-result-image2.vue.js.map
179
+ //# sourceMappingURL=base-result-image.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-result-image2.vue.js","sources":["../../../../src/components/result/base-result-image.vue"],"sourcesContent":["<template>\n <!-- This is a div because using a picture causes the onload event of the image to fire twice. -->\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events -->\n <div\n class=\"x-result-picture xds:picture\"\n data-test=\"result-picture\"\n @mouseenter.once=\"userHasHoveredImage = true\"\n @mouseenter=\"isHovering = true\"\n @mouseleave=\"isHovering = false\"\n >\n <img\n v-if=\"shouldLoadNextImage\"\n loading=\"lazy\"\n :src=\"pendingImages[0]\"\n :style=\"loaderStyles\"\n class=\"xds:picture-image\"\n data-test=\"result-picture-loader\"\n alt=\"\"\n role=\"presentation\"\n @load=\"flagImageLoaded\"\n @error=\"flagImageAsFailed\"\n />\n <component :is=\"animation\" class=\"xds:picture-image\" :appear=\"false\">\n <!-- @slot Fallback image content. It will be rendered when all the images failed -->\n <slot v-if=\"!loadedImages.length && !pendingImages.length\" name=\"fallback\" />\n\n <!-- @slot Loading image content. It will be rendered while the real image is not loaded -->\n <slot v-else-if=\"!loadedImages.length\" name=\"placeholder\" />\n\n <img\n v-else\n :key=\"imageSrc\"\n :alt=\"result.name\"\n :src=\"imageSrc\"\n class=\"x-result-picture-image\"\n data-test=\"result-picture-image\"\n />\n </component>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType, Ref, StyleValue } from 'vue'\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { AnimationProp } from '../../types'\nimport { NoAnimation } from '../animations'\n\n/**\n * Component to be reused that renders an `<img>`.\n *\n * @public\n */\nexport default defineComponent({\n name: 'BaseResultImage',\n props: {\n /** (Required) The {@link @empathyco/x-types#Result} information. */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n /**\n * Animation to use when switching between the placeholder, the loaded image, or the failed\n * image fallback.\n */\n loadAnimation: {\n type: AnimationProp,\n default: () => NoAnimation,\n },\n /** Animation to use when switching between the loaded image and the hover image. */\n hoverAnimation: {\n type: AnimationProp,\n },\n /**\n * Indicates if the next valid image should be displayed on hover.\n *\n * @public\n */\n showNextImageOnHover: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n /**\n * Copy of the images of the result.\n *\n * It is used as a queue of images to load, once an image loads/fails to load, it is removed\n * from this array.\n *\n * @internal\n */\n const pendingImages: Ref<string[]> = ref([])\n\n /**\n * Contains the images that have been loaded successfully.\n *\n * @internal\n */\n const loadedImages: Ref<string[]> = ref([])\n\n /**\n * Indicates if the user is hovering the image.\n *\n * @internal\n */\n const isHovering = ref(false)\n\n /**\n * Indicates if the user has hovered the image.\n *\n * @internal\n */\n const userHasHoveredImage = ref(false)\n\n /**\n * Styles to use inline in the image loader, to prevent override from CSS\n *\n * @internal\n */\n const loaderStyles: StyleValue = {\n // csstype issue: https://github.com/frenic/csstype/issues/160\n position: 'absolute !important' as 'absolute',\n top: '0 !important' as '0',\n left: '0 !important' as '0',\n width: '100% !important' as '100%',\n height: '100% !important' as '100%',\n pointerEvents: 'none !important' as 'none',\n visibility: 'hidden !important' as 'hidden',\n }\n\n /**\n * Initializes images state and resets when the result's images change.\n *\n * @internal\n */\n watch(\n () => props.result.images,\n () => {\n pendingImages.value = [...(props.result.images ?? [])]\n loadedImages.value = pendingImages.value.filter(image => loadedImages.value.includes(image))\n },\n { immediate: true },\n )\n\n /**\n * Animation to be used.\n *\n * @returns The animation to be used, taking into account if the user has hovered the image.\n *\n * @internal\n */\n const animation = computed(() => {\n return userHasHoveredImage.value\n ? (props.hoverAnimation ?? props.loadAnimation)\n : props.loadAnimation\n })\n\n /**\n * Gets the src from the result image.\n *\n * @returns The result image src.\n *\n * @internal\n */\n const imageSrc = computed(() => {\n return loadedImages.value[\n !props.showNextImageOnHover || !isHovering.value ? 0 : loadedImages.value.length - 1\n ]\n })\n\n /**\n * Indicates if the loader should try to load the next image.\n *\n * @returns True if it should try to load the next image.\n *\n * @internal\n */\n const shouldLoadNextImage = computed(() => {\n const numImagesToLoad = props.showNextImageOnHover && userHasHoveredImage.value ? 2 : 1\n return !!pendingImages.value.length && loadedImages.value.length < numImagesToLoad\n })\n\n /**\n * Sets an image as failed.\n *\n * @internal\n */\n const flagImageAsFailed = () => {\n pendingImages.value.shift()\n }\n\n /**\n * Sets an image as loaded.\n *\n * @internal\n */\n const flagImageLoaded = () => {\n const image = pendingImages.value.shift()\n if (image) {\n loadedImages.value.push(image)\n }\n }\n\n return {\n pendingImages,\n loadedImages,\n isHovering,\n userHasHoveredImage,\n loaderStyles,\n animation,\n imageSrc,\n shouldLoadNextImage,\n flagImageAsFailed,\n flagImageLoaded,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-result-picture {\n position: relative;\n min-width: 1px;\n min-height: 1px;\n}\n\n.x-result-picture-image {\n max-width: 100%;\n max-height: 100%;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Examples\n\n### Basic example\n\nThis component is for the result image. It may be part of the search result page, recommendations or\nother section which needs to include results.\n\nThe result prop is required. It will render a `<img/>` with the result image:\n\n```vue\n<template>\n <BaseResultImage :result=\"result\" />\n</template>\n\n<script setup>\nimport { BaseResultImage } from '@empathyco/x-components'\nconst result = {\n name: 'Jacket',\n images: ['https://some-image-url.com/image1.jpg'],\n}\n</script>\n```\n\n### Showing the next image on hover\n\nIf a result has multiple images, it can show the next one on hover.\n\n```vue\n<template>\n <BaseResultImage :result=\"result\" showNextImageOnHover />\n</template>\n\n<script setup>\nimport { BaseResultImage } from '@empathyco/x-components'\nconst result = {\n name: 'Jacket',\n images: ['https://some-image-url.com/image1.jpg', 'https://some-image-url.com/image2.jpg'],\n}\n</script>\n```\n\n### Customizing slots content\n\nFallback and placeholder contents can be customized.\n\nThe fallback slot allows you to replace the content of the fallback image.\n\nThe other slot is called `placeholder`, and allows you to set the image that its going to be\ndisplayed while the real one is loaded.\n\n```vue\n<template>\n <BaseResultImage :result=\"result\">\n <template #placeholder>\n <img alt=\"Placeholder image\" src=\"./placeholder-image.svg\" />\n </template>\n <template #fallback>\n <img alt=\"Fallback image\" src=\"./fallback-image.svg\" />\n </template>\n </BaseResultImage>\n</template>\n\n<script setup>\nimport { BaseResultImage } from '@empathyco/x-components'\nconst result = {\n name: 'Jacket',\n images: ['https://some-image-url.com/image1.jpg'],\n}\n</script>\n```\n\n### Customizing the animations\n\nTwo animations can be used in this component.\n\nThe `loadAnimation` is used to transition between the placeholder, the fallback and the image.\n\nThe `hoverAnimation` is used to transition between the image and the hover image, if the\n`showNextImageOnHover` prop is `true`.\n\n`hoverAnimation` will default to `loadAnimation` if it is not provided.\n\n```vue\n<template>\n <BaseResultImage\n :result=\"result\"\n :loadAnimation=\"loadAnimation\"\n :hoverAnimation=\"hoverAnimation\"\n showNextImageOnHover\n />\n</template>\n\n<script setup>\nimport { BaseResultImage } from '@empathyco/x-components'\nimport { CrossFade, CollapseHeight } from '@empathyco/x-components/animations'\nconst loadAnimation = CrossFade\nconst hoverAnimation = CollapseHeight\nconst result = {\n name: 'Jacket',\n images: ['https://some-image-url.com/image1.jpg', 'https://some-image-url.com/image2.jpg'],\n}\n</script>\n```\n</docs>\n"],"names":["NoAnimation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgDA;;;;AAIE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,KAAK,EAAE;;AAEL,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD;;;AAGE;AACF,QAAA,aAAa,EAAE;AACb,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,OAAO,EAAE,MAAMA,WAAW;AAC3B,SAAA;;AAED,QAAA,cAAc,EAAE;AACd,YAAA,IAAI,EAAE,aAAa;AACpB,SAAA;AACD;;;;AAIE;AACF,QAAA,oBAAoB,EAAE;AACpB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;;;;AAOE;AACF,QAAA,MAAM,aAAa,GAAkB,GAAG,CAAC,EAAE,CAAA;AAE3C;;;;AAIE;AACF,QAAA,MAAM,YAAY,GAAkB,GAAG,CAAC,EAAE,CAAA;AAE1C;;;;AAIE;AACF,QAAA,MAAM,UAAS,GAAI,GAAG,CAAC,KAAK,CAAA;AAE5B;;;;AAIE;AACF,QAAA,MAAM,sBAAsB,GAAG,CAAC,KAAK,CAAA;AAErC;;;;AAIE;AACF,QAAA,MAAM,YAAY,GAAe;;AAE/B,YAAA,QAAQ,EAAE,qBAAmC;AAC7C,YAAA,GAAG,EAAE,cAAqB;AAC1B,YAAA,IAAI,EAAE,cAAqB;AAC3B,YAAA,KAAK,EAAE,iBAA2B;AAClC,YAAA,MAAM,EAAE,iBAA2B;AACnC,YAAA,aAAa,EAAE,iBAA2B;AAC1C,YAAA,UAAU,EAAE,mBAA+B;SAC7C;AAEA;;;;AAIE;QACF,KAAK,CACH,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,EACzB,MAAI;AACF,YAAA,aAAa,CAAC,KAAI,GAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;YACrD,YAAY,CAAC,KAAI,GAAI,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAI,IAAK,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC7F,QAAA,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,CACrB;AAEA;;;;;;AAME;AACF,QAAA,MAAM,SAAQ,GAAI,QAAQ,CAAC,MAAI;YAC7B,OAAO,mBAAmB,CAAC;mBACtB,KAAK,CAAC,cAAa,IAAK,KAAK,CAAC,aAAa;AAC9C,kBAAE,KAAK,CAAC,aAAY;AACxB,QAAA,CAAC,CAAA;AAED;;;;;;AAME;AACF,QAAA,MAAM,QAAO,GAAI,QAAQ,CAAC,MAAI;AAC5B,YAAA,OAAO,YAAY,CAAC,KAAK,CACvB,CAAC,KAAK,CAAC,oBAAmB,IAAK,CAAC,UAAU,CAAC,KAAI,GAAI,CAAA,GAAI,YAAY,CAAC,KAAK,CAAC,SAAS,CAAA,CACrF;AACF,QAAA,CAAC,CAAA;AAED;;;;;;AAME;AACF,QAAA,MAAM,mBAAkB,GAAI,QAAQ,CAAC,MAAI;AACvC,YAAA,MAAM,eAAc,GAAI,KAAK,CAAC,oBAAmB,IAAK,mBAAmB,CAAC,KAAI,GAAI,IAAI,CAAA;AACtF,YAAA,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,MAAK,IAAK,YAAY,CAAC,KAAK,CAAC,MAAK,GAAI,eAAc;AACnF,QAAA,CAAC,CAAA;AAED;;;;AAIE;QACF,MAAM,iBAAgB,GAAI,MAAI;AAC5B,YAAA,aAAa,CAAC,KAAK,CAAC,KAAK,EAAC;AAC5B,QAAA,CAAA;AAEA;;;;AAIE;QACF,MAAM,kBAAkB,MAAI;YAC1B,MAAM,KAAI,GAAI,aAAa,CAAC,KAAK,CAAC,KAAK,EAAC;YACxC,IAAI,KAAK,EAAE;AACT,gBAAA,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAA;YAC/B;AACF,QAAA,CAAA;QAEA,OAAO;YACL,aAAa;YACb,YAAY;YACZ,UAAU;YACV,mBAAmB;YACnB,YAAY;YACZ,SAAS;YACT,QAAQ;YACR,mBAAmB;YACnB,iBAAiB;YACjB,eAAe;SACjB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"base-result-image.vue2.js","sources":["../../../../src/components/result/base-result-image.vue"],"sourcesContent":["<template>\n <!-- This is a div because using a picture causes the onload event of the image to fire twice. -->\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events -->\n <div\n class=\"x-result-picture xds:picture\"\n data-test=\"result-picture\"\n @mouseenter.once=\"userHasHoveredImage = true\"\n @mouseenter=\"isHovering = true\"\n @mouseleave=\"isHovering = false\"\n >\n <img\n v-if=\"shouldLoadNextImage\"\n loading=\"lazy\"\n :src=\"pendingImages[0]\"\n :style=\"loaderStyles\"\n class=\"xds:picture-image\"\n data-test=\"result-picture-loader\"\n alt=\"\"\n role=\"presentation\"\n @load=\"flagImageLoaded\"\n @error=\"flagImageAsFailed\"\n />\n <component :is=\"animation\" class=\"xds:picture-image\" :appear=\"false\">\n <!-- @slot Fallback image content. It will be rendered when all the images failed -->\n <slot v-if=\"!loadedImages.length && !pendingImages.length\" name=\"fallback\" />\n\n <!-- @slot Loading image content. It will be rendered while the real image is not loaded -->\n <slot v-else-if=\"!loadedImages.length\" name=\"placeholder\" />\n\n <img\n v-else\n :key=\"imageSrc\"\n :alt=\"result.name\"\n :src=\"imageSrc\"\n class=\"x-result-picture-image\"\n data-test=\"result-picture-image\"\n />\n </component>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType, Ref, StyleValue } from 'vue'\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { AnimationProp } from '../../types'\nimport { NoAnimation } from '../animations'\n\n/**\n * Component to be reused that renders an `<img>`.\n *\n * @public\n */\nexport default defineComponent({\n name: 'BaseResultImage',\n props: {\n /** (Required) The {@link @empathyco/x-types#Result} information. */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n /**\n * Animation to use when switching between the placeholder, the loaded image, or the failed\n * image fallback.\n */\n loadAnimation: {\n type: AnimationProp,\n default: () => NoAnimation,\n },\n /** Animation to use when switching between the loaded image and the hover image. */\n hoverAnimation: {\n type: AnimationProp,\n },\n /**\n * Indicates if the next valid image should be displayed on hover.\n *\n * @public\n */\n showNextImageOnHover: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n /**\n * Copy of the images of the result.\n *\n * It is used as a queue of images to load, once an image loads/fails to load, it is removed\n * from this array.\n *\n * @internal\n */\n const pendingImages: Ref<string[]> = ref([])\n\n /**\n * Contains the images that have been loaded successfully.\n *\n * @internal\n */\n const loadedImages: Ref<string[]> = ref([])\n\n /**\n * Indicates if the user is hovering the image.\n *\n * @internal\n */\n const isHovering = ref(false)\n\n /**\n * Indicates if the user has hovered the image.\n *\n * @internal\n */\n const userHasHoveredImage = ref(false)\n\n /**\n * Styles to use inline in the image loader, to prevent override from CSS\n *\n * @internal\n */\n const loaderStyles: StyleValue = {\n // csstype issue: https://github.com/frenic/csstype/issues/160\n position: 'absolute !important' as 'absolute',\n top: '0 !important' as '0',\n left: '0 !important' as '0',\n width: '100% !important' as '100%',\n height: '100% !important' as '100%',\n pointerEvents: 'none !important' as 'none',\n visibility: 'hidden !important' as 'hidden',\n }\n\n /**\n * Initializes images state and resets when the result's images change.\n *\n * @internal\n */\n watch(\n () => props.result.images,\n () => {\n pendingImages.value = [...(props.result.images ?? [])]\n loadedImages.value = pendingImages.value.filter(image => loadedImages.value.includes(image))\n },\n { immediate: true },\n )\n\n /**\n * Animation to be used.\n *\n * @returns The animation to be used, taking into account if the user has hovered the image.\n *\n * @internal\n */\n const animation = computed(() => {\n return userHasHoveredImage.value\n ? (props.hoverAnimation ?? props.loadAnimation)\n : props.loadAnimation\n })\n\n /**\n * Gets the src from the result image.\n *\n * @returns The result image src.\n *\n * @internal\n */\n const imageSrc = computed(() => {\n return loadedImages.value[\n !props.showNextImageOnHover || !isHovering.value ? 0 : loadedImages.value.length - 1\n ]\n })\n\n /**\n * Indicates if the loader should try to load the next image.\n *\n * @returns True if it should try to load the next image.\n *\n * @internal\n */\n const shouldLoadNextImage = computed(() => {\n const numImagesToLoad = props.showNextImageOnHover && userHasHoveredImage.value ? 2 : 1\n return !!pendingImages.value.length && loadedImages.value.length < numImagesToLoad\n })\n\n /**\n * Sets an image as failed.\n *\n * @internal\n */\n const flagImageAsFailed = () => {\n pendingImages.value.shift()\n }\n\n /**\n * Sets an image as loaded.\n *\n * @internal\n */\n const flagImageLoaded = () => {\n const image = pendingImages.value.shift()\n if (image) {\n loadedImages.value.push(image)\n }\n }\n\n return {\n pendingImages,\n loadedImages,\n isHovering,\n userHasHoveredImage,\n loaderStyles,\n animation,\n imageSrc,\n shouldLoadNextImage,\n flagImageAsFailed,\n flagImageLoaded,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-result-picture {\n position: relative;\n min-width: 1px;\n min-height: 1px;\n}\n\n.x-result-picture-image {\n max-width: 100%;\n max-height: 100%;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Examples\n\n### Basic example\n\nThis component is for the result image. It may be part of the search result page, recommendations or\nother section which needs to include results.\n\nThe result prop is required. It will render a `<img/>` with the result image:\n\n```vue\n<template>\n <BaseResultImage :result=\"result\" />\n</template>\n\n<script setup>\nimport { BaseResultImage } from '@empathyco/x-components'\nconst result = {\n name: 'Jacket',\n images: ['https://some-image-url.com/image1.jpg'],\n}\n</script>\n```\n\n### Showing the next image on hover\n\nIf a result has multiple images, it can show the next one on hover.\n\n```vue\n<template>\n <BaseResultImage :result=\"result\" showNextImageOnHover />\n</template>\n\n<script setup>\nimport { BaseResultImage } from '@empathyco/x-components'\nconst result = {\n name: 'Jacket',\n images: ['https://some-image-url.com/image1.jpg', 'https://some-image-url.com/image2.jpg'],\n}\n</script>\n```\n\n### Customizing slots content\n\nFallback and placeholder contents can be customized.\n\nThe fallback slot allows you to replace the content of the fallback image.\n\nThe other slot is called `placeholder`, and allows you to set the image that its going to be\ndisplayed while the real one is loaded.\n\n```vue\n<template>\n <BaseResultImage :result=\"result\">\n <template #placeholder>\n <img alt=\"Placeholder image\" src=\"./placeholder-image.svg\" />\n </template>\n <template #fallback>\n <img alt=\"Fallback image\" src=\"./fallback-image.svg\" />\n </template>\n </BaseResultImage>\n</template>\n\n<script setup>\nimport { BaseResultImage } from '@empathyco/x-components'\nconst result = {\n name: 'Jacket',\n images: ['https://some-image-url.com/image1.jpg'],\n}\n</script>\n```\n\n### Customizing the animations\n\nTwo animations can be used in this component.\n\nThe `loadAnimation` is used to transition between the placeholder, the fallback and the image.\n\nThe `hoverAnimation` is used to transition between the image and the hover image, if the\n`showNextImageOnHover` prop is `true`.\n\n`hoverAnimation` will default to `loadAnimation` if it is not provided.\n\n```vue\n<template>\n <BaseResultImage\n :result=\"result\"\n :loadAnimation=\"loadAnimation\"\n :hoverAnimation=\"hoverAnimation\"\n showNextImageOnHover\n />\n</template>\n\n<script setup>\nimport { BaseResultImage } from '@empathyco/x-components'\nimport { CrossFade, CollapseHeight } from '@empathyco/x-components/animations'\nconst loadAnimation = CrossFade\nconst hoverAnimation = CollapseHeight\nconst result = {\n name: 'Jacket',\n images: ['https://some-image-url.com/image1.jpg', 'https://some-image-url.com/image2.jpg'],\n}\n</script>\n```\n</docs>\n"],"names":["NoAnimation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgDA;;;;AAIE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,KAAK,EAAE;;AAEL,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD;;;AAGE;AACF,QAAA,aAAa,EAAE;AACb,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,OAAO,EAAE,MAAMA,WAAW;AAC3B,SAAA;;AAED,QAAA,cAAc,EAAE;AACd,YAAA,IAAI,EAAE,aAAa;AACpB,SAAA;AACD;;;;AAIE;AACF,QAAA,oBAAoB,EAAE;AACpB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT;;;;;;;AAOE;AACF,QAAA,MAAM,aAAa,GAAkB,GAAG,CAAC,EAAE,CAAA;AAE3C;;;;AAIE;AACF,QAAA,MAAM,YAAY,GAAkB,GAAG,CAAC,EAAE,CAAA;AAE1C;;;;AAIE;AACF,QAAA,MAAM,UAAS,GAAI,GAAG,CAAC,KAAK,CAAA;AAE5B;;;;AAIE;AACF,QAAA,MAAM,sBAAsB,GAAG,CAAC,KAAK,CAAA;AAErC;;;;AAIE;AACF,QAAA,MAAM,YAAY,GAAe;;AAE/B,YAAA,QAAQ,EAAE,qBAAmC;AAC7C,YAAA,GAAG,EAAE,cAAqB;AAC1B,YAAA,IAAI,EAAE,cAAqB;AAC3B,YAAA,KAAK,EAAE,iBAA2B;AAClC,YAAA,MAAM,EAAE,iBAA2B;AACnC,YAAA,aAAa,EAAE,iBAA2B;AAC1C,YAAA,UAAU,EAAE,mBAA+B;SAC7C;AAEA;;;;AAIE;QACF,KAAK,CACH,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,EACzB,MAAI;AACF,YAAA,aAAa,CAAC,KAAI,GAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;YACrD,YAAY,CAAC,KAAI,GAAI,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAI,IAAK,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC7F,QAAA,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,CACrB;AAEA;;;;;;AAME;AACF,QAAA,MAAM,SAAQ,GAAI,QAAQ,CAAC,MAAI;YAC7B,OAAO,mBAAmB,CAAC;mBACtB,KAAK,CAAC,cAAa,IAAK,KAAK,CAAC,aAAa;AAC9C,kBAAE,KAAK,CAAC,aAAY;AACxB,QAAA,CAAC,CAAA;AAED;;;;;;AAME;AACF,QAAA,MAAM,QAAO,GAAI,QAAQ,CAAC,MAAI;AAC5B,YAAA,OAAO,YAAY,CAAC,KAAK,CACvB,CAAC,KAAK,CAAC,oBAAmB,IAAK,CAAC,UAAU,CAAC,KAAI,GAAI,CAAA,GAAI,YAAY,CAAC,KAAK,CAAC,SAAS,CAAA,CACrF;AACF,QAAA,CAAC,CAAA;AAED;;;;;;AAME;AACF,QAAA,MAAM,mBAAkB,GAAI,QAAQ,CAAC,MAAI;AACvC,YAAA,MAAM,eAAc,GAAI,KAAK,CAAC,oBAAmB,IAAK,mBAAmB,CAAC,KAAI,GAAI,IAAI,CAAA;AACtF,YAAA,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,MAAK,IAAK,YAAY,CAAC,KAAK,CAAC,MAAK,GAAI,eAAc;AACnF,QAAA,CAAC,CAAA;AAED;;;;AAIE;QACF,MAAM,iBAAgB,GAAI,MAAI;AAC5B,YAAA,aAAa,CAAC,KAAK,CAAC,KAAK,EAAC;AAC5B,QAAA,CAAA;AAEA;;;;AAIE;QACF,MAAM,kBAAkB,MAAI;YAC1B,MAAM,KAAI,GAAI,aAAa,CAAC,KAAK,CAAC,KAAK,EAAC;YACxC,IAAI,KAAK,EAAE;AACT,gBAAA,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAA;YAC/B;AACF,QAAA,CAAA;QAEA,OAAO;YACL,aAAa;YACb,YAAY;YACZ,UAAU;YACV,mBAAmB;YACnB,YAAY;YACZ,SAAS;YACT,QAAQ;YACR,mBAAmB;YACnB,iBAAiB;YACjB,eAAe;SACjB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -4,4 +4,4 @@ var css = ".x-result-picture[data-v-17531567]{min-height:1px;min-width:1px;posit
4
4
  injectCss(css);
5
5
 
6
6
  export { css };
7
- //# sourceMappingURL=base-result-image3.vue.js.map
7
+ //# sourceMappingURL=base-result-image.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-result-image.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,6 +1,6 @@
1
- import _sfc_main from './base-result-link2.vue.js';
1
+ import _sfc_main from './base-result-link.vue2.js';
2
2
  import { openBlock, createElementBlock, withModifiers, renderSlot } from 'vue';
3
- import './base-result-link3.vue.js';
3
+ import './base-result-link.vue3.js';
4
4
  import _export_sfc from '../../_virtual/_plugin-vue_export-helper.js';
5
5
 
6
6
  const _hoisted_1 = ["href"];
@@ -72,4 +72,4 @@ var _sfc_main = defineComponent({
72
72
  });
73
73
 
74
74
  export { _sfc_main as default };
75
- //# sourceMappingURL=base-result-link2.vue.js.map
75
+ //# sourceMappingURL=base-result-link.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-result-link2.vue.js","sources":["../../../../src/components/result/base-result-link.vue"],"sourcesContent":["<template>\n <a\n :ref=\"el\"\n :href=\"result.url\"\n class=\"x-result-link\"\n data-test=\"result-link\"\n @click=\"emitUserClickedAResult\"\n @click.right=\"emitUserClickedAResult\"\n @click.middle=\"emitUserClickedAResult\"\n >\n <!--\n @slot (Required) Link content with a text, an image, another component or both\n @binding {Result} result - Result data\n -->\n <slot :result=\"result\" />\n </a>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { PropsWithType } from '../../utils/types'\nimport type { WireMetadata } from '../../wiring'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport { defineComponent, inject, ref } from 'vue'\nimport { use$x } from '../../composables/index'\n\n/**\n * Component to be reused that renders an `<a>` wrapping the result contents.\n *\n * @remarks\n * It has the logic to emit {@link XEventsTypes.UserClickedAResult} to the bus on click mouse\n * events. Additionally, this component may be injected other events to be emitted on click\n * event, so, depending on where it's used its father component may provide this events.\n *\n * @public\n */\nexport default defineComponent({\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n },\n setup(props) {\n const $x = use$x()\n\n /**\n * The rendered DOM element.\n *\n * @internal\n */\n const el = ref()\n\n /**\n * The list of additional events to be emitted by the component when user clicks the link.\n *\n * @internal\n */\n const resultClickExtraEvents = inject<PropsWithType<XEventsTypes, Result>[]>(\n 'resultClickExtraEvents',\n [],\n )\n\n /**\n * The metadata to be injected in the events emitted by the component. This component can emit\n * have extra events so this record pairs each event to its metadata.\n */\n const resultLinkMetadataPerEvent = inject<\n // TODO: Refactor this inject key to the constants when doing EMP-909\n Partial<\n Record<\n PropsWithType<XEventsTypes, Result>,\n Omit<WireMetadata, 'moduleName' | 'origin' | 'location'>\n >\n >\n >('resultLinkMetadataPerEvent', {})\n\n /**\n * Emits the {@link XEventsTypes.UserClickedAResult} when user clicks on the result, and also\n * additional events if have been injected in the component.\n *\n * @internal\n */\n const emitUserClickedAResult = (): void => {\n $x.emit('UserClickedAResult', props.result, {\n target: el.value!,\n ...resultLinkMetadataPerEvent.UserClickedAResult,\n })\n resultClickExtraEvents.forEach(event => {\n $x.emit(event, props.result, { target: el.value!, ...resultLinkMetadataPerEvent[event] })\n })\n }\n\n return {\n el,\n emitUserClickedAResult,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-result-link {\n text-decoration: none;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following event:\n\n- [`UserClickedAResult`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n\nThe component can emit more events on click using the `resultClickExtraEvents` prop.\n\n## Examples\n\nThis component is a wrapper for the result contents (images, name, price...). It may be part of the\nsearch result page, recommendations or other section which needs to include results.\n\nAdditionally, this component may be injected other events to be emitted on click event, so,\ndepending where it's used its father component may provide these events.\n\nThe result prop is required. It will render an anchor element with the href to the result URL:\n\n```vue\n<template>\n <BaseResultLink :result=\"result\">\n <template #default=\"{ result }\">\n <img :src=\"result.images[0]\" alt=\"Result image\" />\n <span>{{ result.name }}</span>\n </template>\n </BaseResultLink>\n</template>\n\n<script setup>\nimport { BaseResultLink } from '@empathyco/x-components'\nconst result = {\n name: 'Jacket',\n url: 'https://shop.com/jacket',\n images: ['https://shop.com/jacket.jpg'],\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;;;AA2BA;;;;;;;;;AASE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB;;;;AAIE;AACF,QAAA,MAAM,KAAK,GAAG,EAAC;AAEf;;;;AAIE;QACF,MAAM,sBAAqB,GAAI,MAAM,CACnC,wBAAwB,EACxB,EAAE,CACJ;AAEA;;;AAGE;QACF,MAAM,0BAAyB,GAAI,MAAM,CAQvC,4BAA4B,EAAE,EAAE,CAAA;AAElC;;;;;AAKE;QACF,MAAM,sBAAqB,GAAI,MAAU;YACvC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,EAAE;gBAC1C,MAAM,EAAE,EAAE,CAAC,KAAM;gBACjB,GAAG,0BAA0B,CAAC,kBAAkB;AACjD,aAAA,CAAA;AACD,YAAA,sBAAsB,CAAC,OAAO,CAAC,KAAI,IAAG;gBACpC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,KAAM,EAAE,GAAG,0BAA0B,CAAC,KAAK,GAAG,CAAA;AAC1F,YAAA,CAAC,CAAA;AACH,QAAA,CAAA;QAEA,OAAO;YACL,EAAE;YACF,sBAAsB;SACxB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"base-result-link.vue2.js","sources":["../../../../src/components/result/base-result-link.vue"],"sourcesContent":["<template>\n <a\n :ref=\"el\"\n :href=\"result.url\"\n class=\"x-result-link\"\n data-test=\"result-link\"\n @click=\"emitUserClickedAResult\"\n @click.right=\"emitUserClickedAResult\"\n @click.middle=\"emitUserClickedAResult\"\n >\n <!--\n @slot (Required) Link content with a text, an image, another component or both\n @binding {Result} result - Result data\n -->\n <slot :result=\"result\" />\n </a>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport type { PropsWithType } from '../../utils/types'\nimport type { WireMetadata } from '../../wiring'\nimport type { XEventsTypes } from '../../wiring/events.types'\nimport { defineComponent, inject, ref } from 'vue'\nimport { use$x } from '../../composables/index'\n\n/**\n * Component to be reused that renders an `<a>` wrapping the result contents.\n *\n * @remarks\n * It has the logic to emit {@link XEventsTypes.UserClickedAResult} to the bus on click mouse\n * events. Additionally, this component may be injected other events to be emitted on click\n * event, so, depending on where it's used its father component may provide this events.\n *\n * @public\n */\nexport default defineComponent({\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n },\n setup(props) {\n const $x = use$x()\n\n /**\n * The rendered DOM element.\n *\n * @internal\n */\n const el = ref()\n\n /**\n * The list of additional events to be emitted by the component when user clicks the link.\n *\n * @internal\n */\n const resultClickExtraEvents = inject<PropsWithType<XEventsTypes, Result>[]>(\n 'resultClickExtraEvents',\n [],\n )\n\n /**\n * The metadata to be injected in the events emitted by the component. This component can emit\n * have extra events so this record pairs each event to its metadata.\n */\n const resultLinkMetadataPerEvent = inject<\n // TODO: Refactor this inject key to the constants when doing EMP-909\n Partial<\n Record<\n PropsWithType<XEventsTypes, Result>,\n Omit<WireMetadata, 'moduleName' | 'origin' | 'location'>\n >\n >\n >('resultLinkMetadataPerEvent', {})\n\n /**\n * Emits the {@link XEventsTypes.UserClickedAResult} when user clicks on the result, and also\n * additional events if have been injected in the component.\n *\n * @internal\n */\n const emitUserClickedAResult = (): void => {\n $x.emit('UserClickedAResult', props.result, {\n target: el.value!,\n ...resultLinkMetadataPerEvent.UserClickedAResult,\n })\n resultClickExtraEvents.forEach(event => {\n $x.emit(event, props.result, { target: el.value!, ...resultLinkMetadataPerEvent[event] })\n })\n }\n\n return {\n el,\n emitUserClickedAResult,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-result-link {\n text-decoration: none;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following event:\n\n- [`UserClickedAResult`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n\nThe component can emit more events on click using the `resultClickExtraEvents` prop.\n\n## Examples\n\nThis component is a wrapper for the result contents (images, name, price...). It may be part of the\nsearch result page, recommendations or other section which needs to include results.\n\nAdditionally, this component may be injected other events to be emitted on click event, so,\ndepending where it's used its father component may provide these events.\n\nThe result prop is required. It will render an anchor element with the href to the result URL:\n\n```vue\n<template>\n <BaseResultLink :result=\"result\">\n <template #default=\"{ result }\">\n <img :src=\"result.images[0]\" alt=\"Result image\" />\n <span>{{ result.name }}</span>\n </template>\n </BaseResultLink>\n</template>\n\n<script setup>\nimport { BaseResultLink } from '@empathyco/x-components'\nconst result = {\n name: 'Jacket',\n url: 'https://shop.com/jacket',\n images: ['https://shop.com/jacket.jpg'],\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;;;AA2BA;;;;;;;;;AASE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB;;;;AAIE;AACF,QAAA,MAAM,KAAK,GAAG,EAAC;AAEf;;;;AAIE;QACF,MAAM,sBAAqB,GAAI,MAAM,CACnC,wBAAwB,EACxB,EAAE,CACJ;AAEA;;;AAGE;QACF,MAAM,0BAAyB,GAAI,MAAM,CAQvC,4BAA4B,EAAE,EAAE,CAAA;AAElC;;;;;AAKE;QACF,MAAM,sBAAqB,GAAI,MAAU;YACvC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,EAAE;gBAC1C,MAAM,EAAE,EAAE,CAAC,KAAM;gBACjB,GAAG,0BAA0B,CAAC,kBAAkB;AACjD,aAAA,CAAA;AACD,YAAA,sBAAsB,CAAC,OAAO,CAAC,KAAI,IAAG;gBACpC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,KAAM,EAAE,GAAG,0BAA0B,CAAC,KAAK,GAAG,CAAA;AAC1F,YAAA,CAAC,CAAA;AACH,QAAA,CAAA;QAEA,OAAO;YACL,EAAE;YACF,sBAAsB;SACxB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -4,4 +4,4 @@ var css = ".x-result-link[data-v-4d589f60]{text-decoration:none}";
4
4
  injectCss(css);
5
5
 
6
6
  export { css };
7
- //# sourceMappingURL=base-result-link3.vue.js.map
7
+ //# sourceMappingURL=base-result-link.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-result-link.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,4 +1,4 @@
1
- import _sfc_main from './base-result-previous-price2.vue.js';
1
+ import _sfc_main from './base-result-previous-price.vue2.js';
2
2
  import { resolveComponent, openBlock, createElementBlock, renderSlot, createBlock, createCommentVNode } from 'vue';
3
3
  import _export_sfc from '../../_virtual/_plugin-vue_export-helper.js';
4
4
 
@@ -38,4 +38,4 @@ var _sfc_main = defineComponent({
38
38
  });
39
39
 
40
40
  export { _sfc_main as default };
41
- //# sourceMappingURL=base-result-previous-price2.vue.js.map
41
+ //# sourceMappingURL=base-result-previous-price.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-result-previous-price2.vue.js","sources":["../../../../src/components/result/base-result-previous-price.vue"],"sourcesContent":["<template>\n <div\n v-if=\"result.price?.hasDiscount\"\n class=\"x-result-previous-price\"\n data-test=\"result-previous-price\"\n >\n <!--\n @slot Base currency item\n @binding {result} result - Result data\n -->\n <slot :result=\"result\">\n <BaseCurrency\n v-if=\"result.price?.originalValue\"\n :value=\"result.price.originalValue\"\n :currency=\"currency\"\n :format=\"format\"\n />\n </slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport { defineComponent } from 'vue'\nimport BaseCurrency from '../currency/base-currency.vue'\n\n/**\n * Component that renders the {@link @empathyco/x-types#Result} previous price.\n *\n * @public\n */\nexport default defineComponent({\n components: { BaseCurrency },\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n /**\n * Optional value coming from https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes.\n *\n * @public\n */\n currency: String,\n /**\n * The currency format possibilities from Intl.NumberFormatOptions.\n * Allows customization of decimal places, grouping, etc.\n *\n * @public\n */\n format: {\n type: Object as PropType<Omit<Intl.NumberFormatOptions, 'currency' | 'style'>>,\n default: () => ({}),\n },\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\n### Basic example\n\nThis component shows the previous price formatted if it has discount. The component has optional\n`currency` and `format` props to customize the display.\n\n```vue\n<template>\n <BaseResultPreviousPrice :result=\"result\" currency=\"USD\" />\n</template>\n\n<script setup>\nimport { BaseResultPreviousPrice } from '@empathyco/x-components'\n\nconst result = {\n price: { originalValue: 199.99, hasDiscount: true },\n // ...other result properties\n}\n</script>\n```\n\n### Customizing format\n\nYou can customize the number formatting using the `format` prop with `Intl.NumberFormatOptions`:\n\n```vue\n<template>\n <BaseResultPreviousPrice\n :result=\"result\"\n currency=\"EUR\"\n :format=\"{ minimumFractionDigits: 2, maximumFractionDigits: 2 }\"\n />\n</template>\n\n<script setup>\nimport { BaseResultPreviousPrice } from '@empathyco/x-components'\n\nconst result = {\n price: { originalValue: 199.99, hasDiscount: true },\n // ...other result properties\n}\n</script>\n```\n\n### Overriding default slot\n\n```vue\n<template>\n <BaseResultPreviousPrice :result=\"result\">\n <span class=\"custom-base-result-previous-price\">{{ result.price.originalValue }}</span>\n </BaseResultPreviousPrice>\n</template>\n\n<script setup>\nimport { BaseResultPreviousPrice } from '@empathyco/x-components'\n\nconst result = {\n price: { originalValue: 199.99, hasDiscount: true },\n // ...other result properties\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;AA2BA;;;;AAIE;AACF,gBAAe,eAAe,CAAC;IAC7B,UAAU,EAAE,EAAE,YAAW,EAAG;AAC5B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD;;;;AAIE;AACF,QAAA,QAAQ,EAAE,MAAM;AAChB;;;;;AAKE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAAwE;AAC9E,YAAA,OAAO,EAAE,OAAO,EAAE,CAAC;AACpB,SAAA;AACF,KAAA;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"base-result-previous-price.vue2.js","sources":["../../../../src/components/result/base-result-previous-price.vue"],"sourcesContent":["<template>\n <div\n v-if=\"result.price?.hasDiscount\"\n class=\"x-result-previous-price\"\n data-test=\"result-previous-price\"\n >\n <!--\n @slot Base currency item\n @binding {result} result - Result data\n -->\n <slot :result=\"result\">\n <BaseCurrency\n v-if=\"result.price?.originalValue\"\n :value=\"result.price.originalValue\"\n :currency=\"currency\"\n :format=\"format\"\n />\n </slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport { defineComponent } from 'vue'\nimport BaseCurrency from '../currency/base-currency.vue'\n\n/**\n * Component that renders the {@link @empathyco/x-types#Result} previous price.\n *\n * @public\n */\nexport default defineComponent({\n components: { BaseCurrency },\n props: {\n /**\n * (Required) The {@link @empathyco/x-types#Result} information.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n /**\n * Optional value coming from https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes.\n *\n * @public\n */\n currency: String,\n /**\n * The currency format possibilities from Intl.NumberFormatOptions.\n * Allows customization of decimal places, grouping, etc.\n *\n * @public\n */\n format: {\n type: Object as PropType<Omit<Intl.NumberFormatOptions, 'currency' | 'style'>>,\n default: () => ({}),\n },\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\n### Basic example\n\nThis component shows the previous price formatted if it has discount. The component has optional\n`currency` and `format` props to customize the display.\n\n```vue\n<template>\n <BaseResultPreviousPrice :result=\"result\" currency=\"USD\" />\n</template>\n\n<script setup>\nimport { BaseResultPreviousPrice } from '@empathyco/x-components'\n\nconst result = {\n price: { originalValue: 199.99, hasDiscount: true },\n // ...other result properties\n}\n</script>\n```\n\n### Customizing format\n\nYou can customize the number formatting using the `format` prop with `Intl.NumberFormatOptions`:\n\n```vue\n<template>\n <BaseResultPreviousPrice\n :result=\"result\"\n currency=\"EUR\"\n :format=\"{ minimumFractionDigits: 2, maximumFractionDigits: 2 }\"\n />\n</template>\n\n<script setup>\nimport { BaseResultPreviousPrice } from '@empathyco/x-components'\n\nconst result = {\n price: { originalValue: 199.99, hasDiscount: true },\n // ...other result properties\n}\n</script>\n```\n\n### Overriding default slot\n\n```vue\n<template>\n <BaseResultPreviousPrice :result=\"result\">\n <span class=\"custom-base-result-previous-price\">{{ result.price.originalValue }}</span>\n </BaseResultPreviousPrice>\n</template>\n\n<script setup>\nimport { BaseResultPreviousPrice } from '@empathyco/x-components'\n\nconst result = {\n price: { originalValue: 199.99, hasDiscount: true },\n // ...other result properties\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;AA2BA;;;;AAIE;AACF,gBAAe,eAAe,CAAC;IAC7B,UAAU,EAAE,EAAE,YAAW,EAAG;AAC5B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD;;;;AAIE;AACF,QAAA,QAAQ,EAAE,MAAM;AAChB;;;;;AAKE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAAwE;AAC9E,YAAA,OAAO,EAAE,OAAO,EAAE,CAAC;AACpB,SAAA;AACF,KAAA;AACF,CAAA,CAAA;;;;"}
@@ -1,6 +1,6 @@
1
- import _sfc_main from './base-result-rating2.vue.js';
1
+ import _sfc_main from './base-result-rating.vue2.js';
2
2
  import { resolveComponent, openBlock, createBlock, resolveDynamicComponent, withCtx, renderSlot, createVNode, mergeProps, createCommentVNode } from 'vue';
3
- import './base-result-rating3.vue.js';
3
+ import './base-result-rating.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) {
@@ -60,4 +60,4 @@ var _sfc_main = defineComponent({
60
60
  });
61
61
 
62
62
  export { _sfc_main as default };
63
- //# sourceMappingURL=base-result-rating2.vue.js.map
63
+ //# sourceMappingURL=base-result-rating.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-result-rating2.vue.js","sources":["../../../../src/components/result/base-result-rating.vue"],"sourcesContent":["<template>\n <component\n :is=\"link ? 'a' : 'div'\"\n v-if=\"result.rating && result.rating.value\"\n :ref=\"el\"\n :href=\"link\"\n class=\"x-result-rating\"\n data-test=\"result-rating\"\n @click=\"emitClickedEvent\"\n >\n <!--\n @slot To override the whole content\n -->\n <slot :rating=\"result.rating.value\" :result=\"result\">\n <BaseRating :value=\"result.rating.value\" v-bind=\"$attrs\">\n <template #empty-icon>\n <!--\n @slot The content to render as empty icon\n -->\n <slot name=\"empty-icon\" />\n </template>\n\n <template #filled-icon>\n <!--\n @slot The content to render as filled icon\n -->\n <slot name=\"filled-icon\" />\n </template>\n </BaseRating>\n </slot>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport { defineComponent, ref } from 'vue'\nimport { use$x } from '../../composables/index'\nimport BaseRating from '../base-rating.vue'\n\n/**\n * This component renders a {@link BaseRating} for a result passed as prop.\n *\n * @public\n */\nexport default defineComponent({\n components: {\n BaseRating,\n },\n inheritAttrs: false,\n props: {\n /**\n * The {@link @empathyco/x-types#Result} to render its rating.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n\n /**\n * A link to redirect when rating is clicked.\n *\n * @public\n */\n link: {\n type: String,\n },\n },\n setup(props) {\n const $x = use$x()\n\n const el = ref<HTMLElement | null>()\n\n /**\n * Emits the `UserClickedAResultRating` event when user clicks this component, with the\n * {@link @empathyco/x-types#Result} as payload.\n *\n * @internal\n */\n const emitClickedEvent = (): void => {\n $x.emit('UserClickedAResultRating', props.result, {\n target: el.value!,\n })\n }\n\n return {\n el,\n emitClickedEvent,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-result-rating {\n color: inherit;\n text-decoration: none;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following events:\n\n- [`UserClickedAResultRating`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n\n## Examples\n\n### Basic example\n\n```vue\n<template>\n <BaseResultRating :result=\"result\" />\n</template>\n\n<script setup>\nimport { BaseResultRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\n</script>\n```\n\n### Play with props\n\n#### Custom max value\n\nIn this example, the result rating has been configured to 6 as maximum value using the prop `max`.\n\n```vue\n<template>\n <BaseResultRating :result=\"result\" :max=\"6\" />\n</template>\n\n<script setup>\nimport { BaseResultRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\n</script>\n```\n\n#### With link\n\nIn this example, the result rating has been configured with a link to redirect when is clicked.\n\n```vue\n<template>\n <BaseResultRating :result=\"result\" link=\"https://empathy.co/\" />\n</template>\n\n<script setup>\nimport { BaseResultRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\n</script>\n```\n\n### Play with events\n\nIn this example, a message has been added to be shown when the result rating is clicked.\n\n```vue\n<template>\n <BaseResultRating :result=\"result\" @UserClickedAResultRating=\"logUserClickedRating\" />\n</template>\n\n<script setup>\nimport { BaseResultRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\nfunction logUserClickedRating(result) {\n console.log('User clickedRating of this result:', result)\n}\n</script>\n```\n\n## Extending the component\n\n### Custom icons with slots\n\nThe rendered icons for rating can be configured through slots. Keep in mind that the icons for both\nstates (filled and empty), must have the same size make component work properly.\n\n```vue\n<template>\n <BaseResultRating :result=\"result\">\n <template #filled-icon>❤️</template>\n <template #empty-icon>🤍</template>\n </BaseResultRating>\n</template>\n\n<script setup>\nimport { BaseResultRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\n</script>\n```\n\n### Override all content\n\nIt is possible to override all the content of the component to show your own rating but keeping the\nlink and event behaviour:\n\n```vue\n<template>\n <BaseResultRating :result=\"result\" #default=\"{ rating, result }\">\n <span v-for=\"star in rating\" :key=\"star\">⭐️</span>\n <span>{{ result.name }}</span>\n </BaseResultRating>\n</template>\n\n<script setup>\nimport { BaseResultRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\n</script>\n```\n\n### Reuse BaseRating\n\nIt is also possible to reuse our rating component:\n\n```vue\n<template>\n <BaseResultRating :result=\"result\" #default=\"{ rating, result }\">\n <BaseRating :value=\"rating\" />\n <span>{{ result.name }}</span>\n </BaseResultRating>\n</template>\n\n<script setup>\nimport { BaseResultRating, BaseRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;;;;AAwCA;;;;AAIE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,UAAU,EAAE;QACV,UAAU;AACX,KAAA;AACD,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AAED;;;;AAIE;AACF,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,MAAM;AACb,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB,QAAA,MAAM,EAAC,GAAI,GAAG,EAAqB;AAEnC;;;;;AAKE;QACF,MAAM,gBAAe,GAAI,MAAU;YACjC,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,MAAM,EAAE;gBAChD,MAAM,EAAE,EAAE,CAAC,KAAM;AAClB,aAAA,CAAA;AACH,QAAA,CAAA;QAEA,OAAO;YACL,EAAE;YACF,gBAAgB;SAClB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"base-result-rating.vue2.js","sources":["../../../../src/components/result/base-result-rating.vue"],"sourcesContent":["<template>\n <component\n :is=\"link ? 'a' : 'div'\"\n v-if=\"result.rating && result.rating.value\"\n :ref=\"el\"\n :href=\"link\"\n class=\"x-result-rating\"\n data-test=\"result-rating\"\n @click=\"emitClickedEvent\"\n >\n <!--\n @slot To override the whole content\n -->\n <slot :rating=\"result.rating.value\" :result=\"result\">\n <BaseRating :value=\"result.rating.value\" v-bind=\"$attrs\">\n <template #empty-icon>\n <!--\n @slot The content to render as empty icon\n -->\n <slot name=\"empty-icon\" />\n </template>\n\n <template #filled-icon>\n <!--\n @slot The content to render as filled icon\n -->\n <slot name=\"filled-icon\" />\n </template>\n </BaseRating>\n </slot>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { Result } from '@empathyco/x-types'\nimport type { PropType } from 'vue'\nimport { defineComponent, ref } from 'vue'\nimport { use$x } from '../../composables/index'\nimport BaseRating from '../base-rating.vue'\n\n/**\n * This component renders a {@link BaseRating} for a result passed as prop.\n *\n * @public\n */\nexport default defineComponent({\n components: {\n BaseRating,\n },\n inheritAttrs: false,\n props: {\n /**\n * The {@link @empathyco/x-types#Result} to render its rating.\n *\n * @public\n */\n result: {\n type: Object as PropType<Result>,\n required: true,\n },\n\n /**\n * A link to redirect when rating is clicked.\n *\n * @public\n */\n link: {\n type: String,\n },\n },\n setup(props) {\n const $x = use$x()\n\n const el = ref<HTMLElement | null>()\n\n /**\n * Emits the `UserClickedAResultRating` event when user clicks this component, with the\n * {@link @empathyco/x-types#Result} as payload.\n *\n * @internal\n */\n const emitClickedEvent = (): void => {\n $x.emit('UserClickedAResultRating', props.result, {\n target: el.value!,\n })\n }\n\n return {\n el,\n emitClickedEvent,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-result-rating {\n color: inherit;\n text-decoration: none;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following events:\n\n- [`UserClickedAResultRating`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n\n## Examples\n\n### Basic example\n\n```vue\n<template>\n <BaseResultRating :result=\"result\" />\n</template>\n\n<script setup>\nimport { BaseResultRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\n</script>\n```\n\n### Play with props\n\n#### Custom max value\n\nIn this example, the result rating has been configured to 6 as maximum value using the prop `max`.\n\n```vue\n<template>\n <BaseResultRating :result=\"result\" :max=\"6\" />\n</template>\n\n<script setup>\nimport { BaseResultRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\n</script>\n```\n\n#### With link\n\nIn this example, the result rating has been configured with a link to redirect when is clicked.\n\n```vue\n<template>\n <BaseResultRating :result=\"result\" link=\"https://empathy.co/\" />\n</template>\n\n<script setup>\nimport { BaseResultRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\n</script>\n```\n\n### Play with events\n\nIn this example, a message has been added to be shown when the result rating is clicked.\n\n```vue\n<template>\n <BaseResultRating :result=\"result\" @UserClickedAResultRating=\"logUserClickedRating\" />\n</template>\n\n<script setup>\nimport { BaseResultRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\nfunction logUserClickedRating(result) {\n console.log('User clickedRating of this result:', result)\n}\n</script>\n```\n\n## Extending the component\n\n### Custom icons with slots\n\nThe rendered icons for rating can be configured through slots. Keep in mind that the icons for both\nstates (filled and empty), must have the same size make component work properly.\n\n```vue\n<template>\n <BaseResultRating :result=\"result\">\n <template #filled-icon>❤️</template>\n <template #empty-icon>🤍</template>\n </BaseResultRating>\n</template>\n\n<script setup>\nimport { BaseResultRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\n</script>\n```\n\n### Override all content\n\nIt is possible to override all the content of the component to show your own rating but keeping the\nlink and event behaviour:\n\n```vue\n<template>\n <BaseResultRating :result=\"result\" #default=\"{ rating, result }\">\n <span v-for=\"star in rating\" :key=\"star\">⭐️</span>\n <span>{{ result.name }}</span>\n </BaseResultRating>\n</template>\n\n<script setup>\nimport { BaseResultRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\n</script>\n```\n\n### Reuse BaseRating\n\nIt is also possible to reuse our rating component:\n\n```vue\n<template>\n <BaseResultRating :result=\"result\" #default=\"{ rating, result }\">\n <BaseRating :value=\"rating\" />\n <span>{{ result.name }}</span>\n </BaseResultRating>\n</template>\n\n<script setup>\nimport { BaseResultRating, BaseRating } from '@empathyco/x-components'\nconst result = {\n id: 1,\n name: 'Result with rating',\n rating: { value: 3 },\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;;;;AAwCA;;;;AAIE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,UAAU,EAAE;QACV,UAAU;AACX,KAAA;AACD,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAA0B;AAChC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AAED;;;;AAIE;AACF,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,MAAM;AACb,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB,QAAA,MAAM,EAAC,GAAI,GAAG,EAAqB;AAEnC;;;;;AAKE;QACF,MAAM,gBAAe,GAAI,MAAU;YACjC,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,MAAM,EAAE;gBAChD,MAAM,EAAE,EAAE,CAAC,KAAM;AAClB,aAAA,CAAA;AACH,QAAA,CAAA;QAEA,OAAO;YACL,EAAE;YACF,gBAAgB;SAClB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -4,4 +4,4 @@ var css = ".x-result-rating[data-v-3b457066]{color:inherit;text-decoration:none}
4
4
  injectCss(css);
5
5
 
6
6
  export { css };
7
- //# sourceMappingURL=base-result-rating3.vue.js.map
7
+ //# sourceMappingURL=base-result-rating.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-result-rating.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,6 +1,6 @@
1
- import _sfc_main from './result-variant-selector2.vue.js';
1
+ import _sfc_main from './result-variant-selector.vue2.js';
2
2
  import { openBlock, createElementBlock, Fragment, renderList, normalizeClass, renderSlot, createElementVNode, createTextVNode, toDisplayString, createCommentVNode } from 'vue';
3
- import './result-variant-selector3.vue.js';
3
+ import './result-variant-selector.vue3.js';
4
4
  import _export_sfc from '../../_virtual/_plugin-vue_export-helper.js';
5
5
 
6
6
  const _hoisted_1 = {
@@ -89,4 +89,4 @@ var _sfc_main = defineComponent({
89
89
  });
90
90
 
91
91
  export { _sfc_main as default };
92
- //# sourceMappingURL=result-variant-selector2.vue.js.map
92
+ //# sourceMappingURL=result-variant-selector.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"result-variant-selector2.vue.js","sources":["../../../../src/components/result/result-variant-selector.vue"],"sourcesContent":["<template>\n <ul v-if=\"result && variants\" class=\"x-result-variant-selector__list\" data-test=\"variants-list\">\n <li\n v-for=\"(variant, index) in variants\"\n :key=\"index\"\n class=\"x-result-variant-selector__item\"\n :class=\"{ 'x-result-variant-selector__item--is-selected': variantIsSelected(variant) }\"\n data-test=\"variant-item\"\n >\n <!--\n @slot Variant item\n @binding {ResultVariant} variant - The variant item\n @binding {boolean} isSelected - Indicates if the variant is selected\n @binding {() => void} selectVariant - Callback to select the variant\n -->\n <slot\n name=\"variant\"\n :variant=\"variant\"\n :is-selected=\"variantIsSelected(variant)\"\n :select-variant=\"() => selectVariant(variant)\"\n >\n <button data-test=\"variant-button\" class=\"x-button\" @click=\"selectVariant(variant)\">\n <!--\n @slot Variant content\n @binding {ResultVariant} variant - The variant item\n @binding {boolean} isSelected - Indicates if the variant is selected\n -->\n <slot name=\"variant-content\" :variant=\"variant\" :is-selected=\"variantIsSelected(variant)\">\n {{ variant }}\n </slot>\n </button>\n </slot>\n </li>\n </ul>\n</template>\n\n<script lang=\"ts\">\nimport type { Result, ResultVariant } from '@empathyco/x-types'\nimport type { Ref } from 'vue'\nimport { computed, defineComponent, inject } from 'vue'\nimport {\n RESULT_WITH_VARIANTS_KEY,\n SELECT_RESULT_VARIANT_KEY,\n SELECTED_VARIANTS_KEY,\n} from '../decorators/injection.consts'\n\n/**\n * Component to show and select the available variants of a product for a given nest level.\n * TODO: Log warning on mount when result is not injected.\n *\n * @public\n */\nexport default defineComponent({\n name: 'ResultVariantSelector',\n props: {\n /** The nest level of the variants to be rendered. */\n level: {\n type: Number,\n default: 0,\n },\n },\n setup(props, { slots }) {\n /**\n * Callback to be called when a variant is selected.\n *\n * @public\n * @returns The 'selectResultVariant' injection key.\n */\n const selectResultVariant = inject<(variant: ResultVariant, level?: number) => void>(\n SELECT_RESULT_VARIANT_KEY as string,\n )\n\n /** The original result, used to retrieve the available variants for the level. */\n const result = inject<Ref<Result>>(RESULT_WITH_VARIANTS_KEY as string)\n\n /** Array containing the selected variants. */\n const selectedVariants = inject<Ref<ResultVariant[]>>(SELECTED_VARIANTS_KEY as string)\n\n /**\n * It retrieves the available variants from the result.\n *\n * @returns - The variants of the result for the current level.\n */\n const variants = computed<ResultVariant[] | undefined>(() => {\n if (props.level === 0) {\n return result!.value?.variants\n }\n return selectedVariants!.value[props.level - 1]?.variants\n })\n\n /**\n * Gets the selected variant of the current level.\n *\n * @returns - The selected variant.\n */\n const selectedVariant = computed<ResultVariant | undefined>(() =>\n variants.value?.find(variant => variant === selectedVariants!.value[props.level]),\n )\n\n /**\n * Calls the provided method to select a variant.\n *\n * @param variant - Variant to select.\n */\n const selectVariant = (variant: ResultVariant) => {\n selectResultVariant!(variant, props.level)\n }\n\n /**\n * Checks if a variant is selected.\n *\n * @param variant - Variant to check.\n * @returns True if the variant is selected, false if not.\n */\n const variantIsSelected = (variant: ResultVariant) => {\n return selectedVariant.value === variant\n }\n\n /**\n * Render function to execute the `default` slot, binding `slotsProps` and getting only the\n * first `vNode` to avoid Fragments and Text root nodes.\n * If there are no result or variants, nothing is rendered.\n *\n * @remarks `slotProps` must be values without Vue reactivity and located inside the\n * render-function to update the binding data properly.\n *\n * @returns The root `vNode` of the `default` slot or empty string if there are\n * no result or variants.\n */\n function renderDefaultSlot() {\n const slotProps = {\n variants: variants.value,\n selectedVariant: selectedVariant.value,\n selectVariant,\n }\n return result && variants.value ? slots.default?.(slotProps)[0] : ''\n }\n\n /* Hack to render through a render-function, the `default` slot or, in its absence,\n the component itself. It is the alternative for the NoElement antipattern. */\n const componentProps = { result, variants, variantIsSelected, selectVariant }\n return (slots.default ? renderDefaultSlot : componentProps) as typeof componentProps\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-result-variant-selector__list {\n display: flex;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component does not emit any events.\n\n## Examples\n\n### Basic usage\n\nThis component must be used as a child of `ResultVariantsProvider`.\n\nAlso, this component is intended to be used overwriting the content with the slots.\n\nBy default it will render a list of buttons containing the available variants.\n\nThis component only has a required `level` prop, that indicates the level of the variants to be\nrendered.\n\n```vue\n<template>\n <ResultVariantsProvider :result=\"result\">\n <p>Result name: {{ result.name }}</p>\n\n <h1>Select color</h1>\n <ResultVariantSelector :level=\"0\" />\n\n <h1>Select size</h1>\n <ResultVariantSelector :level=\"1\" />\n </ResultVariantsProvider>\n</template>\n\n<script setup>\nimport { ResultVariantsProvider, ResultVariantSelector } from '@empathyco/x-components'\nconst result = {\n id: 'jacket',\n modelName: 'Result',\n type: 'Product',\n isWishlisted: false,\n identifier: { value: 'jacket' },\n images: [],\n name: 'jacket',\n price: { hasDiscount: false, originalValue: 10, value: 10 },\n url: '/products/jacket',\n variants: [\n {\n name: 'red',\n variants: [{ name: 'red XL' }, { name: 'red L' }],\n },\n {\n name: 'blue',\n variants: [{ name: 'blue S' }, { name: 'blue M' }, { name: 'blue L' }],\n },\n ],\n}\n</script>\n```\n\n### Play with the default slot\n\nYou can customize the list using the default slot:\n\n```vue\n<template>\n <ResultVariantsProvider :result=\"result\">\n <ResultVariantSelector :level=\"0\" #default=\"{ variants, selectedVariant, selectVariant }\">\n <div>\n <p v-if=\"selectedVariant\">Selected variant: {{ selectedVariant.name }}</p>\n <ul class=\"x-flex\">\n <li v-for=\"(variant, index) in variants\" :key=\"index\">\n <button @click=\"selectVariant(variant)\">{{ variant.name }}</button>\n </li>\n </ul>\n </div>\n </ResultVariantSelector>\n </ResultVariantsProvider>\n</template>\n\n<script setup>\nimport { ResultVariantsProvider, ResultVariantSelector } from '@empathyco/x-components'\nconst result = {\n id: 'jacket',\n modelName: 'Result',\n type: 'Product',\n isWishlisted: false,\n identifier: { value: 'jacket' },\n images: [],\n name: 'jacket',\n price: { hasDiscount: false, originalValue: 10, value: 10 },\n url: '/products/jacket',\n variants: [{ name: 'red' }, { name: 'blue' }],\n}\n</script>\n```\n\n### Play with variant-slot\n\nYou can customize the variant item using the `variant` slot:\n\n```vue\n<template>\n <ResultVariantsProvider :result=\"result\">\n <ResultVariantSelector :level=\"0\" #variant=\"{ variant, isSelected, selectVariant }\">\n <div>\n <button @click=\"selectVariant\">\n {{ variant.name }}\n <span v-if=\"isSelected\">SELECTED!</span>\n </button>\n </div>\n </ResultVariantSelector>\n </ResultVariantsProvider>\n</template>\n\n<script setup>\nimport { ResultVariantsProvider, ResultVariantSelector } from '@empathyco/x-components'\nconst result = {\n id: 'jacket',\n modelName: 'Result',\n type: 'Product',\n isWishlisted: false,\n identifier: { value: 'jacket' },\n images: [],\n name: 'jacket',\n price: { hasDiscount: false, originalValue: 10, value: 10 },\n url: '/products/jacket',\n variants: [{ name: 'red' }, { name: 'blue' }],\n}\n</script>\n```\n\n### Play with variant-content slot\n\nYou can customize the content of the default variant button using the `variant-content` slot:\n\n```vue\n<template>\n <ResultVariantsProvider :result=\"result\">\n <ResultVariantSelector #variant-content=\"{ variant, isSelected }\">\n <div>\n {{ variant.name }}\n <span v-if=\"isSelected\">SELECTED!</span>\n </div>\n </ResultVariantSelector>\n </ResultVariantsProvider>\n</template>\n\n<script setup>\nimport { ResultVariantsProvider, ResultVariantSelector } from '@empathyco/x-components'\nconst result = {\n id: 'jacket',\n modelName: 'Result',\n type: 'Product',\n isWishlisted: false,\n identifier: { value: 'jacket' },\n images: [],\n name: 'jacket',\n price: { hasDiscount: false, originalValue: 10, value: 10 },\n url: '/products/jacket',\n variants: [{ name: 'red' }, { name: 'blue' }],\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;AA8CA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAE,EAAE,KAAI,EAAG,EAAA;AACpB;;;;;AAKE;AACF,QAAA,MAAM,mBAAkB,GAAI,MAAM,CAChC,yBAAmC,CACrC;;AAGA,QAAA,MAAM,MAAK,GAAI,MAAM,CAAc,wBAAkC,CAAA;;AAGrE,QAAA,MAAM,gBAAe,GAAI,MAAM,CAAuB,qBAA+B,CAAA;AAErF;;;;AAIE;AACF,QAAA,MAAM,QAAO,GAAI,QAAQ,CAA8B,MAAI;AACzD,YAAA,IAAI,KAAK,CAAC,KAAI,KAAM,CAAC,EAAE;AACrB,gBAAA,OAAO,MAAO,CAAC,KAAK,EAAE,QAAO;YAC/B;AACA,YAAA,OAAO,gBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAO;AAC1D,QAAA,CAAC,CAAA;AAED;;;;AAIE;AACF,QAAA,MAAM,eAAc,GAAI,QAAQ,CAA4B,MAC1D,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAM,IAAK,OAAM,KAAM,gBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACnF;AAEA;;;;AAIE;AACF,QAAA,MAAM,aAAY,GAAI,CAAC,OAAsB,KAAG;AAC9C,YAAA,mBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAA;AAC3C,QAAA,CAAA;AAEA;;;;;AAKE;AACF,QAAA,MAAM,iBAAgB,GAAI,CAAC,OAAsB,KAAG;AAClD,YAAA,OAAO,eAAe,CAAC,KAAI,KAAM,OAAM;AACzC,QAAA,CAAA;AAEA;;;;;;;;;;AAUE;AACF,QAAA,SAAS,iBAAiB,GAAA;AACxB,YAAA,MAAM,YAAY;gBAChB,QAAQ,EAAE,QAAQ,CAAC,KAAK;gBACxB,eAAe,EAAE,eAAe,CAAC,KAAK;gBACtC,aAAa;aACf;YACA,OAAO,MAAK,IAAK,QAAQ,CAAC,KAAI,GAAI,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA,GAAI,EAAC;QACrE;AAEA;AAC+E;QAC/E,MAAM,cAAa,GAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAY,EAAE;AAC5E,QAAA,QAAQ,KAAK,CAAC,OAAM,GAAI,iBAAgB,GAAI,cAAc;IAC5D,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"result-variant-selector.vue2.js","sources":["../../../../src/components/result/result-variant-selector.vue"],"sourcesContent":["<template>\n <ul v-if=\"result && variants\" class=\"x-result-variant-selector__list\" data-test=\"variants-list\">\n <li\n v-for=\"(variant, index) in variants\"\n :key=\"index\"\n class=\"x-result-variant-selector__item\"\n :class=\"{ 'x-result-variant-selector__item--is-selected': variantIsSelected(variant) }\"\n data-test=\"variant-item\"\n >\n <!--\n @slot Variant item\n @binding {ResultVariant} variant - The variant item\n @binding {boolean} isSelected - Indicates if the variant is selected\n @binding {() => void} selectVariant - Callback to select the variant\n -->\n <slot\n name=\"variant\"\n :variant=\"variant\"\n :is-selected=\"variantIsSelected(variant)\"\n :select-variant=\"() => selectVariant(variant)\"\n >\n <button data-test=\"variant-button\" class=\"x-button\" @click=\"selectVariant(variant)\">\n <!--\n @slot Variant content\n @binding {ResultVariant} variant - The variant item\n @binding {boolean} isSelected - Indicates if the variant is selected\n -->\n <slot name=\"variant-content\" :variant=\"variant\" :is-selected=\"variantIsSelected(variant)\">\n {{ variant }}\n </slot>\n </button>\n </slot>\n </li>\n </ul>\n</template>\n\n<script lang=\"ts\">\nimport type { Result, ResultVariant } from '@empathyco/x-types'\nimport type { Ref } from 'vue'\nimport { computed, defineComponent, inject } from 'vue'\nimport {\n RESULT_WITH_VARIANTS_KEY,\n SELECT_RESULT_VARIANT_KEY,\n SELECTED_VARIANTS_KEY,\n} from '../decorators/injection.consts'\n\n/**\n * Component to show and select the available variants of a product for a given nest level.\n * TODO: Log warning on mount when result is not injected.\n *\n * @public\n */\nexport default defineComponent({\n name: 'ResultVariantSelector',\n props: {\n /** The nest level of the variants to be rendered. */\n level: {\n type: Number,\n default: 0,\n },\n },\n setup(props, { slots }) {\n /**\n * Callback to be called when a variant is selected.\n *\n * @public\n * @returns The 'selectResultVariant' injection key.\n */\n const selectResultVariant = inject<(variant: ResultVariant, level?: number) => void>(\n SELECT_RESULT_VARIANT_KEY as string,\n )\n\n /** The original result, used to retrieve the available variants for the level. */\n const result = inject<Ref<Result>>(RESULT_WITH_VARIANTS_KEY as string)\n\n /** Array containing the selected variants. */\n const selectedVariants = inject<Ref<ResultVariant[]>>(SELECTED_VARIANTS_KEY as string)\n\n /**\n * It retrieves the available variants from the result.\n *\n * @returns - The variants of the result for the current level.\n */\n const variants = computed<ResultVariant[] | undefined>(() => {\n if (props.level === 0) {\n return result!.value?.variants\n }\n return selectedVariants!.value[props.level - 1]?.variants\n })\n\n /**\n * Gets the selected variant of the current level.\n *\n * @returns - The selected variant.\n */\n const selectedVariant = computed<ResultVariant | undefined>(() =>\n variants.value?.find(variant => variant === selectedVariants!.value[props.level]),\n )\n\n /**\n * Calls the provided method to select a variant.\n *\n * @param variant - Variant to select.\n */\n const selectVariant = (variant: ResultVariant) => {\n selectResultVariant!(variant, props.level)\n }\n\n /**\n * Checks if a variant is selected.\n *\n * @param variant - Variant to check.\n * @returns True if the variant is selected, false if not.\n */\n const variantIsSelected = (variant: ResultVariant) => {\n return selectedVariant.value === variant\n }\n\n /**\n * Render function to execute the `default` slot, binding `slotsProps` and getting only the\n * first `vNode` to avoid Fragments and Text root nodes.\n * If there are no result or variants, nothing is rendered.\n *\n * @remarks `slotProps` must be values without Vue reactivity and located inside the\n * render-function to update the binding data properly.\n *\n * @returns The root `vNode` of the `default` slot or empty string if there are\n * no result or variants.\n */\n function renderDefaultSlot() {\n const slotProps = {\n variants: variants.value,\n selectedVariant: selectedVariant.value,\n selectVariant,\n }\n return result && variants.value ? slots.default?.(slotProps)[0] : ''\n }\n\n /* Hack to render through a render-function, the `default` slot or, in its absence,\n the component itself. It is the alternative for the NoElement antipattern. */\n const componentProps = { result, variants, variantIsSelected, selectVariant }\n return (slots.default ? renderDefaultSlot : componentProps) as typeof componentProps\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-result-variant-selector__list {\n display: flex;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component does not emit any events.\n\n## Examples\n\n### Basic usage\n\nThis component must be used as a child of `ResultVariantsProvider`.\n\nAlso, this component is intended to be used overwriting the content with the slots.\n\nBy default it will render a list of buttons containing the available variants.\n\nThis component only has a required `level` prop, that indicates the level of the variants to be\nrendered.\n\n```vue\n<template>\n <ResultVariantsProvider :result=\"result\">\n <p>Result name: {{ result.name }}</p>\n\n <h1>Select color</h1>\n <ResultVariantSelector :level=\"0\" />\n\n <h1>Select size</h1>\n <ResultVariantSelector :level=\"1\" />\n </ResultVariantsProvider>\n</template>\n\n<script setup>\nimport { ResultVariantsProvider, ResultVariantSelector } from '@empathyco/x-components'\nconst result = {\n id: 'jacket',\n modelName: 'Result',\n type: 'Product',\n isWishlisted: false,\n identifier: { value: 'jacket' },\n images: [],\n name: 'jacket',\n price: { hasDiscount: false, originalValue: 10, value: 10 },\n url: '/products/jacket',\n variants: [\n {\n name: 'red',\n variants: [{ name: 'red XL' }, { name: 'red L' }],\n },\n {\n name: 'blue',\n variants: [{ name: 'blue S' }, { name: 'blue M' }, { name: 'blue L' }],\n },\n ],\n}\n</script>\n```\n\n### Play with the default slot\n\nYou can customize the list using the default slot:\n\n```vue\n<template>\n <ResultVariantsProvider :result=\"result\">\n <ResultVariantSelector :level=\"0\" #default=\"{ variants, selectedVariant, selectVariant }\">\n <div>\n <p v-if=\"selectedVariant\">Selected variant: {{ selectedVariant.name }}</p>\n <ul class=\"x-flex\">\n <li v-for=\"(variant, index) in variants\" :key=\"index\">\n <button @click=\"selectVariant(variant)\">{{ variant.name }}</button>\n </li>\n </ul>\n </div>\n </ResultVariantSelector>\n </ResultVariantsProvider>\n</template>\n\n<script setup>\nimport { ResultVariantsProvider, ResultVariantSelector } from '@empathyco/x-components'\nconst result = {\n id: 'jacket',\n modelName: 'Result',\n type: 'Product',\n isWishlisted: false,\n identifier: { value: 'jacket' },\n images: [],\n name: 'jacket',\n price: { hasDiscount: false, originalValue: 10, value: 10 },\n url: '/products/jacket',\n variants: [{ name: 'red' }, { name: 'blue' }],\n}\n</script>\n```\n\n### Play with variant-slot\n\nYou can customize the variant item using the `variant` slot:\n\n```vue\n<template>\n <ResultVariantsProvider :result=\"result\">\n <ResultVariantSelector :level=\"0\" #variant=\"{ variant, isSelected, selectVariant }\">\n <div>\n <button @click=\"selectVariant\">\n {{ variant.name }}\n <span v-if=\"isSelected\">SELECTED!</span>\n </button>\n </div>\n </ResultVariantSelector>\n </ResultVariantsProvider>\n</template>\n\n<script setup>\nimport { ResultVariantsProvider, ResultVariantSelector } from '@empathyco/x-components'\nconst result = {\n id: 'jacket',\n modelName: 'Result',\n type: 'Product',\n isWishlisted: false,\n identifier: { value: 'jacket' },\n images: [],\n name: 'jacket',\n price: { hasDiscount: false, originalValue: 10, value: 10 },\n url: '/products/jacket',\n variants: [{ name: 'red' }, { name: 'blue' }],\n}\n</script>\n```\n\n### Play with variant-content slot\n\nYou can customize the content of the default variant button using the `variant-content` slot:\n\n```vue\n<template>\n <ResultVariantsProvider :result=\"result\">\n <ResultVariantSelector #variant-content=\"{ variant, isSelected }\">\n <div>\n {{ variant.name }}\n <span v-if=\"isSelected\">SELECTED!</span>\n </div>\n </ResultVariantSelector>\n </ResultVariantsProvider>\n</template>\n\n<script setup>\nimport { ResultVariantsProvider, ResultVariantSelector } from '@empathyco/x-components'\nconst result = {\n id: 'jacket',\n modelName: 'Result',\n type: 'Product',\n isWishlisted: false,\n identifier: { value: 'jacket' },\n images: [],\n name: 'jacket',\n price: { hasDiscount: false, originalValue: 10, value: 10 },\n url: '/products/jacket',\n variants: [{ name: 'red' }, { name: 'blue' }],\n}\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;AA8CA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAE,EAAE,KAAI,EAAG,EAAA;AACpB;;;;;AAKE;AACF,QAAA,MAAM,mBAAkB,GAAI,MAAM,CAChC,yBAAmC,CACrC;;AAGA,QAAA,MAAM,MAAK,GAAI,MAAM,CAAc,wBAAkC,CAAA;;AAGrE,QAAA,MAAM,gBAAe,GAAI,MAAM,CAAuB,qBAA+B,CAAA;AAErF;;;;AAIE;AACF,QAAA,MAAM,QAAO,GAAI,QAAQ,CAA8B,MAAI;AACzD,YAAA,IAAI,KAAK,CAAC,KAAI,KAAM,CAAC,EAAE;AACrB,gBAAA,OAAO,MAAO,CAAC,KAAK,EAAE,QAAO;YAC/B;AACA,YAAA,OAAO,gBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAO;AAC1D,QAAA,CAAC,CAAA;AAED;;;;AAIE;AACF,QAAA,MAAM,eAAc,GAAI,QAAQ,CAA4B,MAC1D,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAM,IAAK,OAAM,KAAM,gBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACnF;AAEA;;;;AAIE;AACF,QAAA,MAAM,aAAY,GAAI,CAAC,OAAsB,KAAG;AAC9C,YAAA,mBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAA;AAC3C,QAAA,CAAA;AAEA;;;;;AAKE;AACF,QAAA,MAAM,iBAAgB,GAAI,CAAC,OAAsB,KAAG;AAClD,YAAA,OAAO,eAAe,CAAC,KAAI,KAAM,OAAM;AACzC,QAAA,CAAA;AAEA;;;;;;;;;;AAUE;AACF,QAAA,SAAS,iBAAiB,GAAA;AACxB,YAAA,MAAM,YAAY;gBAChB,QAAQ,EAAE,QAAQ,CAAC,KAAK;gBACxB,eAAe,EAAE,eAAe,CAAC,KAAK;gBACtC,aAAa;aACf;YACA,OAAO,MAAK,IAAK,QAAQ,CAAC,KAAI,GAAI,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA,GAAI,EAAC;QACrE;AAEA;AAC+E;QAC/E,MAAM,cAAa,GAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAY,EAAE;AAC5E,QAAA,QAAQ,KAAK,CAAC,OAAM,GAAI,iBAAgB,GAAI,cAAc;IAC5D,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -4,4 +4,4 @@ var css = ".x-result-variant-selector__list[data-v-004fb86a]{display:flex}";
4
4
  injectCss(css);
5
5
 
6
6
  export { css };
7
- //# sourceMappingURL=result-variant-selector3.vue.js.map
7
+ //# sourceMappingURL=result-variant-selector.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-variant-selector.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -3,4 +3,4 @@ import _sfc_main from './result-variants-provider.vue.js';
3
3
 
4
4
 
5
5
  export { _sfc_main as default };
6
- //# sourceMappingURL=result-variants-provider2.vue.js.map
6
+ //# sourceMappingURL=result-variants-provider.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-variants-provider.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,4 +1,4 @@
1
- import _sfc_main from './base-scroll2.vue.js';
1
+ import _sfc_main from './base-scroll.vue2.js';
2
2
  import { openBlock, createElementBlock, renderSlot } from 'vue';
3
3
  import _export_sfc from '../../_virtual/_plugin-vue_export-helper.js';
4
4
 
@@ -83,4 +83,4 @@ var _sfc_main = defineComponent({
83
83
  });
84
84
 
85
85
  export { _sfc_main as default };
86
- //# sourceMappingURL=base-scroll2.vue.js.map
86
+ //# sourceMappingURL=base-scroll.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-scroll2.vue.js","sources":["../../../../src/components/scroll/base-scroll.vue"],"sourcesContent":["<template>\n <div\n ref=\"baseScrollEl\"\n class=\"x-base-scroll xds:scroll\"\n data-test=\"base-scroll\"\n @scroll=\"throttledStoreScrollData\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { PropType, SetupContext } from 'vue'\nimport type { XEvent } from '../../wiring/events.types'\nimport { defineComponent, ref } from 'vue'\nimport { useScroll } from './use-scroll'\n\n/**\n * Base scroll component that depending on the user interactivity emits different events for\n * knowing when the user scrolls, the direction of scroll and if user reaches the start or end.\n *\n * @public\n */\nexport default defineComponent({\n name: 'BaseScroll',\n props: {\n /**\n * Distance to the end of the scroll that when reached will emit the\n * `scroll:about-to-end` event.\n *\n * @public\n */\n distanceToBottom: {\n type: Number,\n default: 100,\n },\n /**\n * Positive vertical distance to still consider that the element is the first one visible.\n * For example, if set to 100, after scrolling 100 pixels, the first rendered element\n * will still be considered the first one.\n */\n firstElementThresholdPx: {\n type: Number,\n default: 100,\n },\n /**\n * Time duration to ignore the subsequent scroll events after an emission.\n * Higher values will decrease events precision but can prevent performance issues.\n *\n * @public\n */\n throttleMs: {\n type: Number,\n default: 100,\n },\n /**\n * If true (default), sets the scroll position to the top when certain events are emitted.\n *\n * @public\n */\n resetOnChange: {\n type: Boolean,\n default: true,\n },\n /**\n * List of events that should reset the scroll when emitted.\n *\n * @public\n */\n resetOn: {\n type: [String, Array] as PropType<XEvent | XEvent[]>,\n default: () => [\n 'SearchBoxQueryChanged',\n 'SortChanged',\n 'SelectedFiltersChanged',\n 'SelectedFiltersForRequestChanged',\n 'SelectedRelatedTagsChanged',\n 'UserChangedExtraParams',\n ],\n },\n },\n emits: [\n 'scroll',\n 'scroll:at-start',\n 'scroll:almost-at-end',\n 'scroll:at-end',\n 'scroll:direction-change',\n ],\n setup(props, context) {\n const baseScrollEl = ref<HTMLElement>()\n\n const { throttledStoreScrollData } = useScroll(\n props,\n context as SetupContext<any>,\n baseScrollEl,\n )\n\n return {\n throttledStoreScrollData,\n baseScrollEl,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\n### Basic usage\n\nThis is a highly configurable component that manages the scroll state of an element and emits events\nfor scroll position, direction, when reaching the start or end, and when about reaching the end.\n\n```vue\n<template>\n <BaseScroll\n @scroll=\"onScroll\"\n @scroll:direction-change=\"onDirectionChange\"\n @scroll:at-start=\"onAtStart\"\n @scroll:almost-at-end=\"onAlmostAtEnd\"\n @scroll:at-end=\"onAtEnd\"\n :throttleMs=\"1000\"\n :distanceToBottom=\"200\"\n >\n <div class=\"content-scroll\">\n <span>content1</span>\n <span>content2</span>\n </div>\n </BaseScroll>\n</template>\n\n<script setup>\nimport { BaseScroll } from '@empathyco/x-components'\nfunction onScroll(position) {\n console.log('scroll', position)\n}\nfunction onDirectionChange(direction) {\n console.log('scroll:direction-change', direction)\n}\nfunction onAtStart() {\n console.log('scroll:at-start')\n}\nfunction onAlmostAtEnd(distance) {\n console.log('scroll:almost-at-end', distance)\n}\nfunction onAtEnd() {\n console.log('scroll:at-end')\n}\n</script>\n```\n\n### Avoid reset scroll on query change\n\nSet `resetOnChange` to `false` to prevent scroll reset on query change (default is `true`).\n\n```vue\n<template>\n <BaseScroll @scroll=\"onScroll\" :resetOnChange=\"false\">\n <div class=\"content-scroll\">\n <span>content1</span>\n <span>content2</span>\n </div>\n </BaseScroll>\n</template>\n\n<script setup>\nimport { BaseScroll } from '@empathyco/x-components'\nfunction onScroll(position) {\n console.log('scroll', position)\n}\n</script>\n```\n\n### Reset scroll\n\nConfigure which events reset the scroll position using the `resetOn` prop.\n\n```vue\n<template>\n <BaseScroll @scroll=\"onScroll\" :resetOn=\"resetScrollEvents\">\n <div class=\"content-scroll\">\n <span>content1</span>\n <span>content2</span>\n </div>\n </BaseScroll>\n</template>\n\n<script setup>\nimport { BaseScroll } from '@empathyco/x-components'\nconst resetScrollEvents = ['UserAcceptedAQuery']\nfunction onScroll(position) {\n console.log('scroll', position)\n}\n</script>\n```\n\n## Vue Events\n\n- `scroll`: emitted after the user scrolls in this container. Payload: scroll top distance in pixels.\n- `scroll:direction-change`: emitted when the user changes the scroll direction. Payload: new direction.\n- `scroll:at-start`: emitted when the user scrolls to the initial position.\n- `scroll:almost-at-end`: emitted when the user is about to reach the bottom.\n- `scroll:at-end`: emitted when the user has reached the bottom.\n</docs>\n"],"names":[],"mappings":";;;AAiBA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,KAAK,EAAE;AACL;;;;;AAKE;AACF,QAAA,gBAAgB,EAAE;AAChB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,GAAG;AACb,SAAA;AACD;;;;AAIE;AACF,QAAA,uBAAuB,EAAE;AACvB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,GAAG;AACb,SAAA;AACD;;;;;AAKE;AACF,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,GAAG;AACb,SAAA;AACD;;;;AAIE;AACF,QAAA,aAAa,EAAE;AACb,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD;;;;AAIE;AACF,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAgC;YACpD,OAAO,EAAE,MAAM;gBACb,uBAAuB;gBACvB,aAAa;gBACb,wBAAwB;gBACxB,kCAAkC;gBAClC,4BAA4B;gBAC5B,wBAAwB;AACzB,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,KAAK,EAAE;QACL,QAAQ;QACR,iBAAiB;QACjB,sBAAsB;QACtB,eAAe;QACf,yBAAyB;AAC1B,KAAA;IACD,KAAK,CAAC,KAAK,EAAE,OAAO,EAAA;AAClB,QAAA,MAAM,YAAW,GAAI,GAAG,EAAc;AAEtC,QAAA,MAAM,EAAE,wBAAuB,EAAE,GAAI,SAAS,CAC5C,KAAK,EACL,OAA4B,EAC5B,YAAY,CACd;QAEA,OAAO;YACL,wBAAwB;YACxB,YAAY;SACd;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"base-scroll.vue2.js","sources":["../../../../src/components/scroll/base-scroll.vue"],"sourcesContent":["<template>\n <div\n ref=\"baseScrollEl\"\n class=\"x-base-scroll xds:scroll\"\n data-test=\"base-scroll\"\n @scroll=\"throttledStoreScrollData\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { PropType, SetupContext } from 'vue'\nimport type { XEvent } from '../../wiring/events.types'\nimport { defineComponent, ref } from 'vue'\nimport { useScroll } from './use-scroll'\n\n/**\n * Base scroll component that depending on the user interactivity emits different events for\n * knowing when the user scrolls, the direction of scroll and if user reaches the start or end.\n *\n * @public\n */\nexport default defineComponent({\n name: 'BaseScroll',\n props: {\n /**\n * Distance to the end of the scroll that when reached will emit the\n * `scroll:about-to-end` event.\n *\n * @public\n */\n distanceToBottom: {\n type: Number,\n default: 100,\n },\n /**\n * Positive vertical distance to still consider that the element is the first one visible.\n * For example, if set to 100, after scrolling 100 pixels, the first rendered element\n * will still be considered the first one.\n */\n firstElementThresholdPx: {\n type: Number,\n default: 100,\n },\n /**\n * Time duration to ignore the subsequent scroll events after an emission.\n * Higher values will decrease events precision but can prevent performance issues.\n *\n * @public\n */\n throttleMs: {\n type: Number,\n default: 100,\n },\n /**\n * If true (default), sets the scroll position to the top when certain events are emitted.\n *\n * @public\n */\n resetOnChange: {\n type: Boolean,\n default: true,\n },\n /**\n * List of events that should reset the scroll when emitted.\n *\n * @public\n */\n resetOn: {\n type: [String, Array] as PropType<XEvent | XEvent[]>,\n default: () => [\n 'SearchBoxQueryChanged',\n 'SortChanged',\n 'SelectedFiltersChanged',\n 'SelectedFiltersForRequestChanged',\n 'SelectedRelatedTagsChanged',\n 'UserChangedExtraParams',\n ],\n },\n },\n emits: [\n 'scroll',\n 'scroll:at-start',\n 'scroll:almost-at-end',\n 'scroll:at-end',\n 'scroll:direction-change',\n ],\n setup(props, context) {\n const baseScrollEl = ref<HTMLElement>()\n\n const { throttledStoreScrollData } = useScroll(\n props,\n context as SetupContext<any>,\n baseScrollEl,\n )\n\n return {\n throttledStoreScrollData,\n baseScrollEl,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\n### Basic usage\n\nThis is a highly configurable component that manages the scroll state of an element and emits events\nfor scroll position, direction, when reaching the start or end, and when about reaching the end.\n\n```vue\n<template>\n <BaseScroll\n @scroll=\"onScroll\"\n @scroll:direction-change=\"onDirectionChange\"\n @scroll:at-start=\"onAtStart\"\n @scroll:almost-at-end=\"onAlmostAtEnd\"\n @scroll:at-end=\"onAtEnd\"\n :throttleMs=\"1000\"\n :distanceToBottom=\"200\"\n >\n <div class=\"content-scroll\">\n <span>content1</span>\n <span>content2</span>\n </div>\n </BaseScroll>\n</template>\n\n<script setup>\nimport { BaseScroll } from '@empathyco/x-components'\nfunction onScroll(position) {\n console.log('scroll', position)\n}\nfunction onDirectionChange(direction) {\n console.log('scroll:direction-change', direction)\n}\nfunction onAtStart() {\n console.log('scroll:at-start')\n}\nfunction onAlmostAtEnd(distance) {\n console.log('scroll:almost-at-end', distance)\n}\nfunction onAtEnd() {\n console.log('scroll:at-end')\n}\n</script>\n```\n\n### Avoid reset scroll on query change\n\nSet `resetOnChange` to `false` to prevent scroll reset on query change (default is `true`).\n\n```vue\n<template>\n <BaseScroll @scroll=\"onScroll\" :resetOnChange=\"false\">\n <div class=\"content-scroll\">\n <span>content1</span>\n <span>content2</span>\n </div>\n </BaseScroll>\n</template>\n\n<script setup>\nimport { BaseScroll } from '@empathyco/x-components'\nfunction onScroll(position) {\n console.log('scroll', position)\n}\n</script>\n```\n\n### Reset scroll\n\nConfigure which events reset the scroll position using the `resetOn` prop.\n\n```vue\n<template>\n <BaseScroll @scroll=\"onScroll\" :resetOn=\"resetScrollEvents\">\n <div class=\"content-scroll\">\n <span>content1</span>\n <span>content2</span>\n </div>\n </BaseScroll>\n</template>\n\n<script setup>\nimport { BaseScroll } from '@empathyco/x-components'\nconst resetScrollEvents = ['UserAcceptedAQuery']\nfunction onScroll(position) {\n console.log('scroll', position)\n}\n</script>\n```\n\n## Vue Events\n\n- `scroll`: emitted after the user scrolls in this container. Payload: scroll top distance in pixels.\n- `scroll:direction-change`: emitted when the user changes the scroll direction. Payload: new direction.\n- `scroll:at-start`: emitted when the user scrolls to the initial position.\n- `scroll:almost-at-end`: emitted when the user is about to reach the bottom.\n- `scroll:at-end`: emitted when the user has reached the bottom.\n</docs>\n"],"names":[],"mappings":";;;AAiBA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,KAAK,EAAE;AACL;;;;;AAKE;AACF,QAAA,gBAAgB,EAAE;AAChB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,GAAG;AACb,SAAA;AACD;;;;AAIE;AACF,QAAA,uBAAuB,EAAE;AACvB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,GAAG;AACb,SAAA;AACD;;;;;AAKE;AACF,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,GAAG;AACb,SAAA;AACD;;;;AAIE;AACF,QAAA,aAAa,EAAE;AACb,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD;;;;AAIE;AACF,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAgC;YACpD,OAAO,EAAE,MAAM;gBACb,uBAAuB;gBACvB,aAAa;gBACb,wBAAwB;gBACxB,kCAAkC;gBAClC,4BAA4B;gBAC5B,wBAAwB;AACzB,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,KAAK,EAAE;QACL,QAAQ;QACR,iBAAiB;QACjB,sBAAsB;QACtB,eAAe;QACf,yBAAyB;AAC1B,KAAA;IACD,KAAK,CAAC,KAAK,EAAE,OAAO,EAAA;AAClB,QAAA,MAAM,YAAW,GAAI,GAAG,EAAc;AAEtC,QAAA,MAAM,EAAE,wBAAuB,EAAE,GAAI,SAAS,CAC5C,KAAK,EACL,OAA4B,EAC5B,YAAY,CACd;QAEA,OAAO;YACL,wBAAwB;YACxB,YAAY;SACd;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -1,6 +1,6 @@
1
- import _sfc_main from './sliding-panel2.vue.js';
1
+ import _sfc_main from './sliding-panel.vue2.js';
2
2
  import { openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, Fragment, createTextVNode, createCommentVNode } from 'vue';
3
- import './sliding-panel3.vue.js';
3
+ import './sliding-panel.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) {
@@ -82,4 +82,4 @@ var _sfc_main = defineComponent({
82
82
  });
83
83
 
84
84
  export { _sfc_main as default };
85
- //# sourceMappingURL=sliding-panel2.vue.js.map
85
+ //# sourceMappingURL=sliding-panel.vue2.js.map