@empathyco/x-components 7.2.1 → 7.2.3

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 (597) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/core/index.js +3 -3
  3. package/docs/API-reference/api/x-adapter-platform.browseendpointadapter.md +13 -0
  4. package/docs/API-reference/api/x-adapter-platform.browserequestmapper.md +13 -0
  5. package/docs/API-reference/api/x-adapter-platform.browserequestschema.md +13 -0
  6. package/docs/API-reference/api/x-adapter-platform.browseresponsemapper.md +13 -0
  7. package/docs/API-reference/api/x-adapter-platform.browseresponseschema.md +13 -0
  8. package/docs/API-reference/api/x-adapter-platform.md +55 -0
  9. package/docs/API-reference/api/x-types.browsablerequest.browsefield.md +11 -0
  10. package/docs/API-reference/api/x-types.browsablerequest.browsevalue.md +11 -0
  11. package/docs/API-reference/api/x-types.browsablerequest.md +73 -0
  12. package/docs/API-reference/api/x-types.browserequest.md +15 -0
  13. package/docs/API-reference/api/x-types.browseresponse.banners.md +11 -0
  14. package/docs/API-reference/api/x-types.browseresponse.browsetagging.md +11 -0
  15. package/docs/API-reference/api/x-types.browseresponse.displaybrowsetagging.md +11 -0
  16. package/docs/API-reference/api/x-types.browseresponse.facets.md +11 -0
  17. package/docs/API-reference/api/x-types.browseresponse.md +187 -0
  18. package/docs/API-reference/api/x-types.browseresponse.promoteds.md +11 -0
  19. package/docs/API-reference/api/x-types.browseresponse.results.md +11 -0
  20. package/docs/API-reference/api/x-types.browseresponse.stats.md +11 -0
  21. package/docs/API-reference/api/x-types.browseresponse.totalresults.md +11 -0
  22. package/docs/API-reference/api/x-types.md +33 -0
  23. package/js/components/animations/{animate-clip-path.vue2.js → animate-clip-path2.vue.js} +1 -1
  24. package/js/components/animations/animate-clip-path2.vue.js.map +1 -0
  25. package/js/components/animations/animate-clip-path3.vue.js +7 -0
  26. package/js/components/animations/animate-clip-path3.vue.js.map +1 -0
  27. package/js/components/animations/{animate-scale.vue2.js → animate-scale2.vue.js} +1 -1
  28. package/js/components/animations/animate-scale2.vue.js.map +1 -0
  29. package/js/components/animations/{animate-scale.vue3.js → animate-scale3.vue.js} +2 -2
  30. package/js/components/animations/animate-scale3.vue.js.map +1 -0
  31. package/js/components/animations/{animate-translate.vue2.js → animate-translate2.vue.js} +1 -1
  32. package/js/components/animations/animate-translate2.vue.js.map +1 -0
  33. package/js/components/animations/animate-translate3.vue.js +7 -0
  34. package/js/components/animations/animate-translate3.vue.js.map +1 -0
  35. package/js/components/animations/animate-width.vue.js +2 -2
  36. package/js/components/animations/{animate-width.vue2.js → animate-width2.vue.js} +1 -1
  37. package/js/components/animations/{animate-width.vue2.js.map → animate-width2.vue.js.map} +1 -1
  38. package/js/components/animations/{animate-width.vue3.js → animate-width3.vue.js} +1 -1
  39. package/js/components/animations/animate-width3.vue.js.map +1 -0
  40. package/js/components/animations/change-height.vue.js +2 -2
  41. package/js/components/animations/{change-height.vue2.js → change-height2.vue.js} +1 -1
  42. package/js/components/animations/{change-height.vue2.js.map → change-height2.vue.js.map} +1 -1
  43. package/js/components/animations/{change-height.vue3.js → change-height3.vue.js} +1 -1
  44. package/js/components/animations/change-height3.vue.js.map +1 -0
  45. package/js/components/animations/collapse-height.vue.js +2 -2
  46. package/js/components/animations/{collapse-height.vue2.js → collapse-height2.vue.js} +1 -1
  47. package/js/components/animations/{collapse-height.vue2.js.map → collapse-height2.vue.js.map} +1 -1
  48. package/js/components/animations/{collapse-height.vue3.js → collapse-height3.vue.js} +1 -1
  49. package/js/components/animations/collapse-height3.vue.js.map +1 -0
  50. package/js/components/animations/collapse-width.vue.js +2 -2
  51. package/js/components/animations/{collapse-width.vue2.js → collapse-width2.vue.js} +1 -1
  52. package/js/components/animations/{collapse-width.vue2.js.map → collapse-width2.vue.js.map} +1 -1
  53. package/js/components/animations/{collapse-width.vue3.js → collapse-width3.vue.js} +1 -1
  54. package/js/components/animations/collapse-width3.vue.js.map +1 -0
  55. package/js/components/animations/cross-fade.vue.js +2 -2
  56. package/js/components/animations/{cross-fade.vue2.js → cross-fade2.vue.js} +1 -1
  57. package/js/components/animations/{cross-fade.vue2.js.map → cross-fade2.vue.js.map} +1 -1
  58. package/js/components/animations/{cross-fade.vue3.js → cross-fade3.vue.js} +1 -1
  59. package/js/components/animations/cross-fade3.vue.js.map +1 -0
  60. package/js/components/animations/fade-and-slide.vue.js +2 -2
  61. package/js/components/animations/{fade-and-slide.vue2.js → fade-and-slide2.vue.js} +1 -1
  62. package/js/components/animations/{fade-and-slide.vue2.js.map → fade-and-slide2.vue.js.map} +1 -1
  63. package/js/components/animations/{fade-and-slide.vue3.js → fade-and-slide3.vue.js} +1 -1
  64. package/js/components/animations/fade-and-slide3.vue.js.map +1 -0
  65. package/js/components/animations/fade.vue.js +2 -2
  66. package/js/components/animations/{fade.vue2.js → fade2.vue.js} +1 -1
  67. package/js/components/animations/{fade.vue2.js.map → fade2.vue.js.map} +1 -1
  68. package/js/components/animations/{fade.vue3.js → fade3.vue.js} +1 -1
  69. package/js/components/animations/fade3.vue.js.map +1 -0
  70. package/js/components/animations/{no-animation.vue2.js → no-animation2.vue.js} +1 -1
  71. package/js/components/animations/no-animation2.vue.js.map +1 -0
  72. package/js/components/animations/staggered-fade-and-slide.vue.js +2 -2
  73. package/js/components/animations/{staggered-fade-and-slide.vue2.js → staggered-fade-and-slide2.vue.js} +1 -1
  74. package/js/components/animations/{staggered-fade-and-slide.vue2.js.map → staggered-fade-and-slide2.vue.js.map} +1 -1
  75. package/js/components/animations/{staggered-fade-and-slide.vue3.js → staggered-fade-and-slide3.vue.js} +1 -1
  76. package/js/components/animations/staggered-fade-and-slide3.vue.js.map +1 -0
  77. package/js/components/auto-progress-bar.vue.js +2 -2
  78. package/js/components/{auto-progress-bar.vue2.js → auto-progress-bar2.vue.js} +1 -1
  79. package/js/components/{auto-progress-bar.vue2.js.map → auto-progress-bar2.vue.js.map} +1 -1
  80. package/js/components/{auto-progress-bar.vue3.js → auto-progress-bar3.vue.js} +1 -1
  81. package/js/components/auto-progress-bar3.vue.js.map +1 -0
  82. package/js/components/base-dropdown.vue.js +2 -2
  83. package/js/components/{base-dropdown.vue2.js → base-dropdown2.vue.js} +20 -20
  84. package/js/components/{base-dropdown.vue2.js.map → base-dropdown2.vue.js.map} +1 -1
  85. package/js/components/{base-dropdown.vue3.js → base-dropdown3.vue.js} +1 -1
  86. package/js/components/base-dropdown3.vue.js.map +1 -0
  87. package/js/components/base-event-button.vue.js +1 -1
  88. package/js/components/{base-event-button.vue2.js → base-event-button2.vue.js} +1 -1
  89. package/js/components/{base-event-button.vue2.js.map → base-event-button2.vue.js.map} +1 -1
  90. package/js/components/base-grid.vue.js +2 -2
  91. package/js/components/{base-grid.vue2.js → base-grid2.vue.js} +1 -1
  92. package/js/components/{base-grid.vue2.js.map → base-grid2.vue.js.map} +1 -1
  93. package/js/components/{base-grid.vue3.js → base-grid3.vue.js} +1 -1
  94. package/js/components/base-grid3.vue.js.map +1 -0
  95. package/js/components/base-keyboard-navigation.vue.js +1 -1
  96. package/js/components/{base-keyboard-navigation.vue2.js → base-keyboard-navigation2.vue.js} +1 -1
  97. package/js/components/{base-keyboard-navigation.vue2.js.map → base-keyboard-navigation2.vue.js.map} +1 -1
  98. package/js/components/base-rating.vue.js +2 -2
  99. package/js/components/{base-rating.vue2.js → base-rating2.vue.js} +1 -1
  100. package/js/components/{base-rating.vue2.js.map → base-rating2.vue.js.map} +1 -1
  101. package/js/components/{base-rating.vue3.js → base-rating3.vue.js} +1 -1
  102. package/js/components/base-rating3.vue.js.map +1 -0
  103. package/js/components/base-slider.vue.js +2 -2
  104. package/js/components/{base-slider.vue2.js → base-slider2.vue.js} +1 -1
  105. package/js/components/{base-slider.vue2.js.map → base-slider2.vue.js.map} +1 -1
  106. package/js/components/{base-slider.vue3.js → base-slider3.vue.js} +1 -1
  107. package/js/components/base-slider3.vue.js.map +1 -0
  108. package/js/components/base-switch.vue.js +2 -2
  109. package/js/components/{base-switch.vue2.js → base-switch2.vue.js} +1 -1
  110. package/js/components/{base-switch.vue2.js.map → base-switch2.vue.js.map} +1 -1
  111. package/js/components/{base-switch.vue3.js → base-switch3.vue.js} +1 -1
  112. package/js/components/base-switch3.vue.js.map +1 -0
  113. package/js/components/base-teleport.vue.js +1 -1
  114. package/js/components/{base-teleport.vue2.js → base-teleport2.vue.js} +1 -1
  115. package/js/components/{base-teleport.vue2.js.map → base-teleport2.vue.js.map} +1 -1
  116. package/js/components/base-variable-column-grid.vue.js +1 -1
  117. package/js/components/{base-variable-column-grid.vue2.js → base-variable-column-grid2.vue.js} +1 -1
  118. package/js/components/{base-variable-column-grid.vue2.js.map → base-variable-column-grid2.vue.js.map} +1 -1
  119. package/js/components/column-picker/base-column-picker-dropdown.vue.js +1 -1
  120. package/js/components/column-picker/{base-column-picker-dropdown.vue2.js → base-column-picker-dropdown2.vue.js} +1 -1
  121. package/js/components/column-picker/{base-column-picker-dropdown.vue2.js.map → base-column-picker-dropdown2.vue.js.map} +1 -1
  122. package/js/components/column-picker/base-column-picker-list.vue.js +1 -1
  123. package/js/components/column-picker/{base-column-picker-list.vue2.js → base-column-picker-list2.vue.js} +1 -1
  124. package/js/components/column-picker/{base-column-picker-list.vue2.js.map → base-column-picker-list2.vue.js.map} +1 -1
  125. package/js/components/currency/base-currency.vue.js +1 -1
  126. package/js/components/currency/{base-currency.vue2.js → base-currency2.vue.js} +1 -1
  127. package/js/components/currency/{base-currency.vue2.js.map → base-currency2.vue.js.map} +1 -1
  128. package/js/components/{display-click-provider.vue2.js → display-click-provider2.vue.js} +1 -1
  129. package/js/components/display-click-provider2.vue.js.map +1 -0
  130. package/js/components/{display-emitter.vue2.js → display-emitter2.vue.js} +1 -1
  131. package/js/components/display-emitter2.vue.js.map +1 -0
  132. package/js/components/filters/labels/{base-price-filter-label.vue2.js → base-price-filter-label2.vue.js} +1 -1
  133. package/js/components/filters/labels/base-price-filter-label2.vue.js.map +1 -0
  134. package/js/components/filters/labels/base-rating-filter-label.vue.js +1 -1
  135. package/js/components/filters/labels/{base-rating-filter-label.vue2.js → base-rating-filter-label2.vue.js} +1 -1
  136. package/js/components/filters/labels/{base-rating-filter-label.vue2.js.map → base-rating-filter-label2.vue.js.map} +1 -1
  137. package/js/components/{global-x-bus.vue2.js → global-x-bus2.vue.js} +1 -1
  138. package/js/components/global-x-bus2.vue.js.map +1 -0
  139. package/js/components/highlight.vue.js +1 -1
  140. package/js/components/{highlight.vue2.js → highlight2.vue.js} +1 -1
  141. package/js/components/{highlight.vue2.js.map → highlight2.vue.js.map} +1 -1
  142. package/js/components/items-list.vue.js +1 -1
  143. package/js/components/{items-list.vue2.js → items-list2.vue.js} +1 -1
  144. package/js/components/{items-list.vue2.js.map → items-list2.vue.js.map} +1 -1
  145. package/js/components/{location-provider.vue2.js → location-provider2.vue.js} +1 -1
  146. package/js/components/location-provider2.vue.js.map +1 -0
  147. package/js/components/message.vue.js +17 -17
  148. package/js/components/{message.vue2.js → message2.vue.js} +1 -1
  149. package/js/components/message2.vue.js.map +1 -0
  150. package/js/components/modals/base-events-modal-close.vue.js +1 -1
  151. package/js/components/modals/{base-events-modal-close.vue2.js → base-events-modal-close2.vue.js} +1 -1
  152. package/js/components/modals/{base-events-modal-close.vue2.js.map → base-events-modal-close2.vue.js.map} +1 -1
  153. package/js/components/modals/base-events-modal-open.vue.js +1 -1
  154. package/js/components/modals/{base-events-modal-open.vue2.js → base-events-modal-open2.vue.js} +1 -1
  155. package/js/components/modals/{base-events-modal-open.vue2.js.map → base-events-modal-open2.vue.js.map} +1 -1
  156. package/js/components/modals/base-events-modal.vue.js +1 -1
  157. package/js/components/modals/{base-events-modal.vue2.js → base-events-modal2.vue.js} +1 -1
  158. package/js/components/modals/{base-events-modal.vue2.js.map → base-events-modal2.vue.js.map} +1 -1
  159. package/js/components/modals/base-id-modal-close.vue.js +1 -1
  160. package/js/components/modals/{base-id-modal-close.vue2.js → base-id-modal-close2.vue.js} +1 -1
  161. package/js/components/modals/{base-id-modal-close.vue2.js.map → base-id-modal-close2.vue.js.map} +1 -1
  162. package/js/components/modals/base-id-modal-open.vue.js +1 -1
  163. package/js/components/modals/{base-id-modal-open.vue2.js → base-id-modal-open2.vue.js} +1 -1
  164. package/js/components/modals/{base-id-modal-open.vue2.js.map → base-id-modal-open2.vue.js.map} +1 -1
  165. package/js/components/modals/base-id-modal.vue.js +1 -1
  166. package/js/components/modals/{base-id-modal.vue2.js → base-id-modal2.vue.js} +1 -1
  167. package/js/components/modals/{base-id-modal.vue2.js.map → base-id-modal2.vue.js.map} +1 -1
  168. package/js/components/modals/base-modal.vue.js +2 -2
  169. package/js/components/modals/{base-modal.vue2.js → base-modal2.vue.js} +18 -18
  170. package/js/components/modals/{base-modal.vue2.js.map → base-modal2.vue.js.map} +1 -1
  171. package/js/components/modals/{base-modal.vue3.js → base-modal3.vue.js} +1 -1
  172. package/js/components/modals/base-modal3.vue.js.map +1 -0
  173. package/js/components/modals/close-main-modal.vue.js +1 -1
  174. package/js/components/modals/{close-main-modal.vue2.js → close-main-modal2.vue.js} +1 -1
  175. package/js/components/modals/{close-main-modal.vue2.js.map → close-main-modal2.vue.js.map} +1 -1
  176. package/js/components/modals/main-modal.vue.js +1 -1
  177. package/js/components/modals/{main-modal.vue2.js → main-modal2.vue.js} +1 -1
  178. package/js/components/modals/{main-modal.vue2.js.map → main-modal2.vue.js.map} +1 -1
  179. package/js/components/modals/open-main-modal.vue.js +1 -1
  180. package/js/components/modals/{open-main-modal.vue2.js → open-main-modal2.vue.js} +1 -1
  181. package/js/components/modals/{open-main-modal.vue2.js.map → open-main-modal2.vue.js.map} +1 -1
  182. package/js/components/page-loader-button.vue.js +2 -2
  183. package/js/components/{page-loader-button.vue2.js → page-loader-button2.vue.js} +1 -1
  184. package/js/components/{page-loader-button.vue2.js.map → page-loader-button2.vue.js.map} +1 -1
  185. package/js/components/{page-loader-button.vue3.js → page-loader-button3.vue.js} +1 -1
  186. package/js/components/page-loader-button3.vue.js.map +1 -0
  187. package/js/components/page-selector.vue.js +2 -2
  188. package/js/components/{page-selector.vue2.js → page-selector2.vue.js} +1 -1
  189. package/js/components/{page-selector.vue2.js.map → page-selector2.vue.js.map} +1 -1
  190. package/js/components/{page-selector.vue3.js → page-selector3.vue.js} +1 -1
  191. package/js/components/page-selector3.vue.js.map +1 -0
  192. package/js/components/panels/base-header-toggle-panel.vue.js +2 -2
  193. package/js/components/panels/{base-header-toggle-panel.vue2.js → base-header-toggle-panel2.vue.js} +20 -20
  194. package/js/components/panels/{base-header-toggle-panel.vue2.js.map → base-header-toggle-panel2.vue.js.map} +1 -1
  195. package/js/components/panels/{base-header-toggle-panel.vue3.js → base-header-toggle-panel3.vue.js} +1 -1
  196. package/js/components/panels/base-header-toggle-panel3.vue.js.map +1 -0
  197. package/js/components/panels/base-id-toggle-panel-button.vue.js +1 -1
  198. package/js/components/panels/{base-id-toggle-panel-button.vue2.js → base-id-toggle-panel-button2.vue.js} +1 -1
  199. package/js/components/panels/{base-id-toggle-panel-button.vue2.js.map → base-id-toggle-panel-button2.vue.js.map} +1 -1
  200. package/js/components/panels/base-id-toggle-panel.vue.js +1 -1
  201. package/js/components/panels/{base-id-toggle-panel.vue2.js → base-id-toggle-panel2.vue.js} +20 -20
  202. package/js/components/panels/{base-id-toggle-panel.vue2.js.map → base-id-toggle-panel2.vue.js.map} +1 -1
  203. package/js/components/panels/base-tabs-panel.vue.js +2 -2
  204. package/js/components/panels/{base-tabs-panel.vue2.js → base-tabs-panel2.vue.js} +20 -20
  205. package/js/components/panels/{base-tabs-panel.vue2.js.map → base-tabs-panel2.vue.js.map} +1 -1
  206. package/js/components/panels/{base-tabs-panel.vue3.js → base-tabs-panel3.vue.js} +1 -1
  207. package/js/components/panels/base-tabs-panel3.vue.js.map +1 -0
  208. package/js/components/panels/base-toggle-panel.vue.js +1 -1
  209. package/js/components/panels/{base-toggle-panel.vue2.js → base-toggle-panel2.vue.js} +1 -1
  210. package/js/components/panels/{base-toggle-panel.vue2.js.map → base-toggle-panel2.vue.js.map} +1 -1
  211. package/js/components/result/base-result-add-to-cart.vue.js +1 -1
  212. package/js/components/result/{base-result-add-to-cart.vue2.js → base-result-add-to-cart2.vue.js} +1 -1
  213. package/js/components/result/{base-result-add-to-cart.vue2.js.map → base-result-add-to-cart2.vue.js.map} +1 -1
  214. package/js/components/result/base-result-current-price.vue.js +1 -1
  215. package/js/components/result/{base-result-current-price.vue2.js → base-result-current-price2.vue.js} +1 -1
  216. package/js/components/result/{base-result-current-price.vue2.js.map → base-result-current-price2.vue.js.map} +1 -1
  217. package/js/components/result/base-result-image.vue.js +2 -2
  218. package/js/components/result/{base-result-image.vue2.js → base-result-image2.vue.js} +20 -20
  219. package/js/components/result/{base-result-image.vue2.js.map → base-result-image2.vue.js.map} +1 -1
  220. package/js/components/result/{base-result-image.vue3.js → base-result-image3.vue.js} +1 -1
  221. package/js/components/result/base-result-image3.vue.js.map +1 -0
  222. package/js/components/result/base-result-link.vue.js +2 -2
  223. package/js/components/result/{base-result-link.vue2.js → base-result-link2.vue.js} +1 -1
  224. package/js/components/result/{base-result-link.vue2.js.map → base-result-link2.vue.js.map} +1 -1
  225. package/js/components/result/{base-result-link.vue3.js → base-result-link3.vue.js} +1 -1
  226. package/js/components/result/base-result-link3.vue.js.map +1 -0
  227. package/js/components/result/base-result-previous-price.vue.js +1 -1
  228. package/js/components/result/{base-result-previous-price.vue2.js → base-result-previous-price2.vue.js} +1 -1
  229. package/js/components/result/{base-result-previous-price.vue2.js.map → base-result-previous-price2.vue.js.map} +1 -1
  230. package/js/components/result/base-result-rating.vue.js +2 -2
  231. package/js/components/result/{base-result-rating.vue2.js → base-result-rating2.vue.js} +1 -1
  232. package/js/components/result/{base-result-rating.vue2.js.map → base-result-rating2.vue.js.map} +1 -1
  233. package/js/components/result/{base-result-rating.vue3.js → base-result-rating3.vue.js} +1 -1
  234. package/js/components/result/base-result-rating3.vue.js.map +1 -0
  235. package/js/components/result/result-variant-selector.vue.js +2 -2
  236. package/js/components/result/{result-variant-selector.vue2.js → result-variant-selector2.vue.js} +1 -1
  237. package/js/components/result/{result-variant-selector.vue2.js.map → result-variant-selector2.vue.js.map} +1 -1
  238. package/js/components/result/{result-variant-selector.vue3.js → result-variant-selector3.vue.js} +1 -1
  239. package/js/components/result/result-variant-selector3.vue.js.map +1 -0
  240. package/js/components/result/{result-variants-provider.vue2.js → result-variants-provider2.vue.js} +1 -1
  241. package/js/components/result/result-variants-provider2.vue.js.map +1 -0
  242. package/js/components/scroll/base-scroll.vue.js +1 -1
  243. package/js/components/scroll/{base-scroll.vue2.js → base-scroll2.vue.js} +1 -1
  244. package/js/components/scroll/{base-scroll.vue2.js.map → base-scroll2.vue.js.map} +1 -1
  245. package/js/components/sliding-panel.vue.js +2 -2
  246. package/js/components/{sliding-panel.vue2.js → sliding-panel2.vue.js} +1 -1
  247. package/js/components/{sliding-panel.vue2.js.map → sliding-panel2.vue.js.map} +1 -1
  248. package/js/components/{sliding-panel.vue3.js → sliding-panel3.vue.js} +1 -1
  249. package/js/components/sliding-panel3.vue.js.map +1 -0
  250. package/js/components/snippet-callbacks.vue.js +1 -1
  251. package/js/components/{snippet-callbacks.vue2.js → snippet-callbacks2.vue.js} +1 -1
  252. package/js/components/{snippet-callbacks.vue2.js.map → snippet-callbacks2.vue.js.map} +1 -1
  253. package/js/components/suggestions/base-suggestion.vue.js +1 -1
  254. package/js/components/suggestions/{base-suggestion.vue2.js → base-suggestion2.vue.js} +1 -1
  255. package/js/components/suggestions/{base-suggestion.vue2.js.map → base-suggestion2.vue.js.map} +1 -1
  256. package/js/components/suggestions/base-suggestions.vue.js +2 -2
  257. package/js/components/suggestions/{base-suggestions.vue2.js → base-suggestions2.vue.js} +1 -1
  258. package/js/components/suggestions/{base-suggestions.vue2.js.map → base-suggestions2.vue.js.map} +1 -1
  259. package/js/components/suggestions/{base-suggestions.vue3.js → base-suggestions3.vue.js} +1 -1
  260. package/js/components/suggestions/base-suggestions3.vue.js.map +1 -0
  261. package/js/index.js +3 -3
  262. package/js/x-modules/ai/components/ai-carousel.vue.js +2 -2
  263. package/js/x-modules/ai/components/{ai-carousel.vue2.js → ai-carousel2.vue.js} +75 -75
  264. package/js/x-modules/ai/components/{ai-carousel.vue2.js.map → ai-carousel2.vue.js.map} +1 -1
  265. package/js/x-modules/ai/components/{ai-carousel.vue3.js → ai-carousel3.vue.js} +1 -1
  266. package/js/x-modules/ai/components/ai-carousel3.vue.js.map +1 -0
  267. package/js/x-modules/ai/components/ai-grouped-carousel.vue.js +1 -1
  268. package/js/x-modules/ai/components/ai-grouped-carousel2.vue.js +123 -0
  269. package/js/x-modules/ai/components/{ai-grouped-carousel.vue2.js.map → ai-grouped-carousel2.vue.js.map} +1 -1
  270. package/js/x-modules/device/components/device-detector.vue.js +1 -1
  271. package/js/x-modules/device/components/{device-detector.vue2.js → device-detector2.vue.js} +1 -1
  272. package/js/x-modules/device/components/{device-detector.vue2.js.map → device-detector2.vue.js.map} +1 -1
  273. package/js/x-modules/empathize/components/empathize.vue.js +1 -1
  274. package/js/x-modules/empathize/components/{empathize.vue2.js → empathize2.vue.js} +82 -82
  275. package/js/x-modules/empathize/components/{empathize.vue2.js.map → empathize2.vue.js.map} +1 -1
  276. package/js/x-modules/experience-controls/components/{experience-controls.vue2.js → experience-controls2.vue.js} +1 -1
  277. package/js/x-modules/experience-controls/components/experience-controls2.vue.js.map +1 -0
  278. package/js/x-modules/extra-params/components/{extra-params.vue2.js → extra-params2.vue.js} +1 -1
  279. package/js/x-modules/{facets/components/facets/facets.vue3.js.map → extra-params/components/extra-params2.vue.js.map} +1 -1
  280. package/js/x-modules/extra-params/components/{renderless-extra-param.vue2.js → renderless-extra-param2.vue.js} +1 -1
  281. package/js/x-modules/extra-params/components/renderless-extra-param2.vue.js.map +1 -0
  282. package/js/x-modules/extra-params/components/snippet-config-extra-params.vue.js +1 -1
  283. package/js/x-modules/extra-params/components/{snippet-config-extra-params.vue2.js → snippet-config-extra-params2.vue.js} +1 -1
  284. package/js/x-modules/extra-params/components/{snippet-config-extra-params.vue2.js.map → snippet-config-extra-params2.vue.js.map} +1 -1
  285. package/js/x-modules/facets/components/clear-filters.vue.js +1 -1
  286. package/js/x-modules/facets/components/{clear-filters.vue2.js → clear-filters2.vue.js} +1 -1
  287. package/js/x-modules/facets/components/{clear-filters.vue2.js.map → clear-filters2.vue.js.map} +1 -1
  288. package/js/x-modules/facets/components/facets/facets-provider.vue.js +2 -2
  289. package/js/x-modules/facets/components/facets/{facets-provider.vue2.js → facets-provider2.vue.js} +1 -1
  290. package/js/x-modules/facets/components/facets/{facets-provider.vue2.js.map → facets-provider2.vue.js.map} +1 -1
  291. package/js/x-modules/facets/components/facets/{facets-provider.vue3.js → facets-provider3.vue.js} +1 -1
  292. package/js/x-modules/facets/components/facets/facets-provider3.vue.js.map +1 -0
  293. package/js/x-modules/facets/components/facets/facets.vue.js +2 -2
  294. package/js/x-modules/facets/components/facets/{facets.vue2.js → facets2.vue.js} +1 -1
  295. package/js/x-modules/facets/components/facets/{facets.vue2.js.map → facets2.vue.js.map} +1 -1
  296. package/js/x-modules/facets/components/facets/{facets.vue3.js → facets3.vue.js} +1 -1
  297. package/js/x-modules/facets/components/facets/facets3.vue.js.map +1 -0
  298. package/js/x-modules/facets/components/filters/all-filter.vue.js +1 -1
  299. package/js/x-modules/facets/components/filters/{all-filter.vue2.js → all-filter2.vue.js} +1 -1
  300. package/js/x-modules/facets/components/filters/{all-filter.vue2.js.map → all-filter2.vue.js.map} +1 -1
  301. package/js/x-modules/facets/components/filters/editable-number-range-filter.vue.js +2 -2
  302. package/js/x-modules/facets/components/filters/{editable-number-range-filter.vue2.js → editable-number-range-filter2.vue.js} +1 -1
  303. package/js/x-modules/facets/components/filters/{editable-number-range-filter.vue2.js.map → editable-number-range-filter2.vue.js.map} +1 -1
  304. package/js/x-modules/facets/components/filters/{editable-number-range-filter.vue3.js → editable-number-range-filter3.vue.js} +1 -1
  305. package/js/x-modules/facets/components/filters/editable-number-range-filter3.vue.js.map +1 -0
  306. package/js/x-modules/facets/components/filters/hierarchical-filter.vue.js +1 -1
  307. package/js/x-modules/facets/components/filters/{hierarchical-filter.vue2.js → hierarchical-filter2.vue.js} +1 -1
  308. package/js/x-modules/facets/components/filters/{hierarchical-filter.vue2.js.map → hierarchical-filter2.vue.js.map} +1 -1
  309. package/js/x-modules/facets/components/filters/number-range-filter.vue.js +1 -1
  310. package/js/x-modules/facets/components/filters/{number-range-filter.vue2.js → number-range-filter2.vue.js} +1 -1
  311. package/js/x-modules/facets/components/filters/{number-range-filter.vue2.js.map → number-range-filter2.vue.js.map} +1 -1
  312. package/js/x-modules/facets/components/filters/{renderless-filter.vue2.js → renderless-filter2.vue.js} +1 -1
  313. package/js/x-modules/facets/components/filters/renderless-filter2.vue.js.map +1 -0
  314. package/js/x-modules/facets/components/filters/simple-filter.vue.js +1 -1
  315. package/js/x-modules/facets/components/filters/{simple-filter.vue2.js → simple-filter2.vue.js} +1 -1
  316. package/js/x-modules/facets/components/filters/{simple-filter.vue2.js.map → simple-filter2.vue.js.map} +1 -1
  317. package/js/x-modules/facets/components/lists/{exclude-filters-with-no-results.vue2.js → exclude-filters-with-no-results2.vue.js} +1 -1
  318. package/js/x-modules/facets/components/lists/exclude-filters-with-no-results2.vue.js.map +1 -0
  319. package/js/x-modules/facets/components/lists/filters-list.vue.js +2 -2
  320. package/js/x-modules/facets/components/lists/{filters-list.vue2.js → filters-list2.vue.js} +1 -1
  321. package/js/x-modules/facets/components/lists/{filters-list.vue2.js.map → filters-list2.vue.js.map} +1 -1
  322. package/js/x-modules/facets/components/lists/{filters-list.vue3.js → filters-list3.vue.js} +1 -1
  323. package/js/x-modules/facets/components/lists/filters-list3.vue.js.map +1 -0
  324. package/js/x-modules/facets/components/lists/filters-search.vue.js +2 -2
  325. package/js/x-modules/facets/components/lists/{filters-search.vue2.js → filters-search2.vue.js} +1 -1
  326. package/js/x-modules/facets/components/lists/{filters-search.vue2.js.map → filters-search2.vue.js.map} +1 -1
  327. package/js/x-modules/facets/components/lists/{filters-search.vue3.js → filters-search3.vue.js} +1 -1
  328. package/js/x-modules/facets/components/lists/filters-search3.vue.js.map +1 -0
  329. package/js/x-modules/facets/components/lists/selected-filters-list.vue.js +1 -1
  330. package/js/x-modules/facets/components/lists/{selected-filters-list.vue2.js → selected-filters-list2.vue.js} +1 -1
  331. package/js/x-modules/facets/components/lists/{selected-filters-list.vue2.js.map → selected-filters-list2.vue.js.map} +1 -1
  332. package/js/x-modules/facets/components/lists/{selected-filters.vue2.js → selected-filters2.vue.js} +1 -1
  333. package/js/x-modules/facets/components/lists/selected-filters2.vue.js.map +1 -0
  334. package/js/x-modules/facets/components/lists/sliced-filters.vue.js +1 -1
  335. package/js/x-modules/facets/components/lists/{sliced-filters.vue2.js → sliced-filters2.vue.js} +1 -1
  336. package/js/x-modules/facets/components/lists/{sliced-filters.vue2.js.map → sliced-filters2.vue.js.map} +1 -1
  337. package/js/x-modules/facets/components/lists/{sorted-filters.vue2.js → sorted-filters2.vue.js} +1 -1
  338. package/js/x-modules/facets/components/lists/sorted-filters2.vue.js.map +1 -0
  339. package/js/x-modules/facets/components/{preselected-filters.vue2.js → preselected-filters2.vue.js} +1 -1
  340. package/js/x-modules/facets/components/preselected-filters2.vue.js.map +1 -0
  341. package/js/x-modules/history-queries/components/clear-history-queries.vue.js +1 -1
  342. package/js/x-modules/history-queries/components/{clear-history-queries.vue2.js → clear-history-queries2.vue.js} +1 -1
  343. package/js/x-modules/history-queries/components/{clear-history-queries.vue2.js.map → clear-history-queries2.vue.js.map} +1 -1
  344. package/js/x-modules/history-queries/components/history-queries-switch.vue.js +1 -1
  345. package/js/x-modules/history-queries/components/{history-queries-switch.vue2.js → history-queries-switch2.vue.js} +1 -1
  346. package/js/x-modules/history-queries/components/{history-queries-switch.vue2.js.map → history-queries-switch2.vue.js.map} +1 -1
  347. package/js/x-modules/history-queries/components/history-queries.vue.js +1 -1
  348. package/js/x-modules/history-queries/components/{history-queries.vue2.js → history-queries2.vue.js} +1 -1
  349. package/js/x-modules/history-queries/components/{history-queries.vue2.js.map → history-queries2.vue.js.map} +1 -1
  350. package/js/x-modules/history-queries/components/history-query.vue.js +1 -1
  351. package/js/x-modules/history-queries/components/{history-query.vue2.js → history-query2.vue.js} +1 -1
  352. package/js/x-modules/history-queries/components/{history-query.vue2.js.map → history-query2.vue.js.map} +1 -1
  353. package/js/x-modules/history-queries/components/my-history.vue.js +2 -2
  354. package/js/x-modules/history-queries/components/{my-history.vue2.js → my-history2.vue.js} +1 -1
  355. package/js/x-modules/history-queries/components/{my-history.vue2.js.map → my-history2.vue.js.map} +1 -1
  356. package/js/x-modules/history-queries/components/{my-history.vue3.js → my-history3.vue.js} +1 -1
  357. package/js/x-modules/history-queries/components/my-history3.vue.js.map +1 -0
  358. package/js/x-modules/history-queries/components/remove-history-query.vue.js +1 -1
  359. package/js/x-modules/history-queries/components/{remove-history-query.vue2.js → remove-history-query2.vue.js} +1 -1
  360. package/js/x-modules/history-queries/components/{remove-history-query.vue2.js.map → remove-history-query2.vue.js.map} +1 -1
  361. package/js/x-modules/identifier-results/components/identifier-result.vue.js +1 -1
  362. package/js/x-modules/identifier-results/components/{identifier-result.vue2.js → identifier-result2.vue.js} +1 -1
  363. package/js/x-modules/identifier-results/components/{identifier-result.vue2.js.map → identifier-result2.vue.js.map} +1 -1
  364. package/js/x-modules/identifier-results/components/identifier-results.vue.js +2 -2
  365. package/js/x-modules/identifier-results/components/{identifier-results.vue2.js → identifier-results2.vue.js} +1 -1
  366. package/js/x-modules/identifier-results/components/{identifier-results.vue2.js.map → identifier-results2.vue.js.map} +1 -1
  367. package/js/x-modules/identifier-results/components/{identifier-results.vue3.js → identifier-results3.vue.js} +1 -1
  368. package/js/x-modules/identifier-results/components/identifier-results3.vue.js.map +1 -0
  369. package/js/x-modules/next-queries/components/{next-queries-list.vue2.js → next-queries-list2.vue.js} +1 -1
  370. package/js/x-modules/next-queries/components/next-queries-list2.vue.js.map +1 -0
  371. package/js/x-modules/next-queries/components/next-queries.vue.js +1 -1
  372. package/js/x-modules/next-queries/components/{next-queries.vue2.js → next-queries2.vue.js} +1 -1
  373. package/js/x-modules/next-queries/components/{next-queries.vue2.js.map → next-queries2.vue.js.map} +1 -1
  374. package/js/x-modules/next-queries/components/next-query-preview.vue.js +1 -1
  375. package/js/x-modules/next-queries/components/{next-query-preview.vue2.js → next-query-preview2.vue.js} +1 -1
  376. package/js/x-modules/next-queries/components/{next-query-preview.vue2.js.map → next-query-preview2.vue.js.map} +1 -1
  377. package/js/x-modules/next-queries/components/next-query.vue.js +1 -1
  378. package/js/x-modules/next-queries/components/{next-query.vue2.js → next-query2.vue.js} +1 -1
  379. package/js/x-modules/next-queries/components/{next-query.vue2.js.map → next-query2.vue.js.map} +1 -1
  380. package/js/x-modules/popular-searches/components/popular-search.vue.js +1 -1
  381. package/js/x-modules/popular-searches/components/{popular-search.vue2.js → popular-search2.vue.js} +1 -1
  382. package/js/x-modules/popular-searches/components/{popular-search.vue2.js.map → popular-search2.vue.js.map} +1 -1
  383. package/js/x-modules/popular-searches/components/popular-searches.vue.js +1 -1
  384. package/js/x-modules/popular-searches/components/{popular-searches.vue2.js → popular-searches2.vue.js} +1 -1
  385. package/js/x-modules/popular-searches/components/{popular-searches.vue2.js.map → popular-searches2.vue.js.map} +1 -1
  386. package/js/x-modules/queries-preview/components/query-preview-button.vue.js +1 -1
  387. package/js/x-modules/queries-preview/components/query-preview-button2.vue.js +165 -0
  388. package/js/x-modules/queries-preview/components/{query-preview-button.vue2.js.map → query-preview-button2.vue.js.map} +1 -1
  389. package/js/x-modules/queries-preview/components/query-preview-list.vue.js +2 -2
  390. package/js/x-modules/queries-preview/components/{query-preview-list.vue2.js → query-preview-list2.vue.js} +1 -1
  391. package/js/x-modules/queries-preview/components/{query-preview-list.vue2.js.map → query-preview-list2.vue.js.map} +1 -1
  392. package/js/x-modules/queries-preview/components/{query-preview-list.vue3.js → query-preview-list3.vue.js} +1 -1
  393. package/js/x-modules/queries-preview/components/query-preview-list3.vue.js.map +1 -0
  394. package/js/x-modules/queries-preview/components/query-preview.vue.js +1 -1
  395. package/js/x-modules/queries-preview/components/{query-preview.vue2.js → query-preview2.vue.js} +82 -82
  396. package/js/x-modules/queries-preview/components/{query-preview.vue2.js.map → query-preview2.vue.js.map} +1 -1
  397. package/js/x-modules/query-suggestions/components/query-suggestion.vue.js +1 -1
  398. package/js/x-modules/query-suggestions/components/{query-suggestion.vue2.js → query-suggestion2.vue.js} +1 -1
  399. package/js/x-modules/query-suggestions/components/{query-suggestion.vue2.js.map → query-suggestion2.vue.js.map} +1 -1
  400. package/js/x-modules/query-suggestions/components/query-suggestions.vue.js +1 -1
  401. package/js/x-modules/query-suggestions/components/{query-suggestions.vue2.js → query-suggestions2.vue.js} +1 -1
  402. package/js/x-modules/query-suggestions/components/{query-suggestions.vue2.js.map → query-suggestions2.vue.js.map} +1 -1
  403. package/js/x-modules/recommendations/components/recommendations.vue.js +2 -2
  404. package/js/x-modules/recommendations/components/{recommendations.vue2.js → recommendations2.vue.js} +1 -1
  405. package/js/x-modules/recommendations/components/{recommendations.vue2.js.map → recommendations2.vue.js.map} +1 -1
  406. package/js/x-modules/recommendations/components/{recommendations.vue3.js → recommendations3.vue.js} +1 -1
  407. package/js/x-modules/recommendations/components/recommendations3.vue.js.map +1 -0
  408. package/js/x-modules/related-prompts/components/related-prompt.vue.js +2 -2
  409. package/js/x-modules/related-prompts/components/{related-prompt.vue2.js → related-prompt2.vue.js} +1 -1
  410. package/js/x-modules/related-prompts/components/{related-prompt.vue2.js.map → related-prompt2.vue.js.map} +1 -1
  411. package/js/x-modules/related-prompts/components/{related-prompt.vue3.js → related-prompt3.vue.js} +1 -1
  412. package/js/x-modules/related-prompts/components/related-prompt3.vue.js.map +1 -0
  413. package/js/x-modules/related-prompts/components/{related-prompts-list.vue2.js → related-prompts-list2.vue.js} +1 -1
  414. package/js/x-modules/related-prompts/components/related-prompts-list2.vue.js.map +1 -0
  415. package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue.js +2 -2
  416. package/js/x-modules/related-prompts/components/{related-prompts-tag-list.vue2.js → related-prompts-tag-list2.vue.js} +1 -1
  417. package/js/x-modules/related-prompts/components/{related-prompts-tag-list.vue2.js.map → related-prompts-tag-list2.vue.js.map} +1 -1
  418. package/js/x-modules/related-prompts/components/{related-prompts-tag-list.vue3.js → related-prompts-tag-list3.vue.js} +1 -1
  419. package/js/x-modules/related-prompts/components/related-prompts-tag-list3.vue.js.map +1 -0
  420. package/js/x-modules/related-tags/components/related-tag.vue.js +1 -1
  421. package/js/x-modules/related-tags/components/{related-tag.vue2.js → related-tag2.vue.js} +1 -1
  422. package/js/x-modules/related-tags/components/{related-tag.vue2.js.map → related-tag2.vue.js.map} +1 -1
  423. package/js/x-modules/related-tags/components/related-tags.vue.js +2 -2
  424. package/js/x-modules/related-tags/components/{related-tags.vue2.js → related-tags2.vue.js} +1 -1
  425. package/js/x-modules/related-tags/components/{related-tags.vue2.js.map → related-tags2.vue.js.map} +1 -1
  426. package/js/x-modules/related-tags/components/{related-tags.vue3.js → related-tags3.vue.js} +1 -1
  427. package/js/x-modules/related-tags/components/related-tags3.vue.js.map +1 -0
  428. package/js/x-modules/scroll/components/main-scroll-item.vue.js +1 -1
  429. package/js/x-modules/scroll/components/{main-scroll-item.vue2.js → main-scroll-item2.vue.js} +1 -1
  430. package/js/x-modules/scroll/components/{main-scroll-item.vue2.js.map → main-scroll-item2.vue.js.map} +1 -1
  431. package/js/x-modules/scroll/components/{main-scroll.vue2.js → main-scroll2.vue.js} +1 -1
  432. package/js/x-modules/scroll/components/main-scroll2.vue.js.map +1 -0
  433. package/js/x-modules/scroll/components/scroll-to-top.vue.js +1 -1
  434. package/js/x-modules/scroll/components/{scroll-to-top.vue2.js → scroll-to-top2.vue.js} +81 -81
  435. package/js/x-modules/scroll/components/{scroll-to-top.vue2.js.map → scroll-to-top2.vue.js.map} +1 -1
  436. package/js/x-modules/scroll/components/scroll.vue.js +1 -1
  437. package/js/x-modules/scroll/components/{scroll.vue2.js → scroll2.vue.js} +1 -1
  438. package/js/x-modules/scroll/components/{scroll.vue2.js.map → scroll2.vue.js.map} +1 -1
  439. package/js/x-modules/search/components/banner.vue.js +2 -2
  440. package/js/x-modules/search/components/{banner.vue2.js → banner2.vue.js} +1 -1
  441. package/js/x-modules/search/components/{banner.vue2.js.map → banner2.vue.js.map} +1 -1
  442. package/js/x-modules/search/components/{banner.vue3.js → banner3.vue.js} +1 -1
  443. package/js/x-modules/search/components/banner3.vue.js.map +1 -0
  444. package/js/x-modules/search/components/{banners-list.vue2.js → banners-list2.vue.js} +1 -1
  445. package/js/x-modules/search/components/banners-list2.vue.js.map +1 -0
  446. package/js/x-modules/search/components/fallback-disclaimer.vue.js +1 -1
  447. package/js/x-modules/search/components/{fallback-disclaimer.vue2.js → fallback-disclaimer2.vue.js} +1 -1
  448. package/js/x-modules/search/components/{fallback-disclaimer.vue2.js.map → fallback-disclaimer2.vue.js.map} +1 -1
  449. package/js/x-modules/search/components/partial-query-button.vue.js +1 -1
  450. package/js/x-modules/search/components/{partial-query-button.vue2.js → partial-query-button2.vue.js} +1 -1
  451. package/js/x-modules/search/components/{partial-query-button.vue2.js.map → partial-query-button2.vue.js.map} +1 -1
  452. package/js/x-modules/search/components/partial-results-list.vue.js +2 -2
  453. package/js/x-modules/search/components/{partial-results-list.vue2.js → partial-results-list2.vue.js} +1 -1
  454. package/js/x-modules/search/components/{partial-results-list.vue2.js.map → partial-results-list2.vue.js.map} +1 -1
  455. package/js/x-modules/search/components/{partial-results-list.vue3.js → partial-results-list3.vue.js} +1 -1
  456. package/js/x-modules/search/components/partial-results-list3.vue.js.map +1 -0
  457. package/js/x-modules/search/components/promoted.vue.js +2 -2
  458. package/js/x-modules/search/components/{promoted.vue2.js → promoted2.vue.js} +1 -1
  459. package/js/x-modules/search/components/{promoted.vue2.js.map → promoted2.vue.js.map} +1 -1
  460. package/js/x-modules/search/components/{promoted.vue3.js → promoted3.vue.js} +1 -1
  461. package/js/x-modules/search/components/promoted3.vue.js.map +1 -0
  462. package/js/x-modules/search/components/{promoteds-list.vue2.js → promoteds-list2.vue.js} +1 -1
  463. package/js/x-modules/search/components/promoteds-list2.vue.js.map +1 -0
  464. package/js/x-modules/search/components/redirection.vue.js +1 -1
  465. package/js/x-modules/search/components/{redirection.vue2.js → redirection2.vue.js} +1 -1
  466. package/js/x-modules/search/components/{redirection.vue2.js.map → redirection2.vue.js.map} +1 -1
  467. package/js/x-modules/search/components/{results-list.vue2.js → results-list2.vue.js} +1 -1
  468. package/js/x-modules/search/components/results-list2.vue.js.map +1 -0
  469. package/js/x-modules/search/components/sort-dropdown.vue.js +1 -1
  470. package/js/x-modules/search/components/{sort-dropdown.vue2.js → sort-dropdown2.vue.js} +1 -1
  471. package/js/x-modules/search/components/{sort-dropdown.vue2.js.map → sort-dropdown2.vue.js.map} +1 -1
  472. package/js/x-modules/search/components/sort-list.vue.js +2 -2
  473. package/js/x-modules/search/components/{sort-list.vue2.js → sort-list2.vue.js} +1 -1
  474. package/js/x-modules/search/components/{sort-list.vue2.js.map → sort-list2.vue.js.map} +1 -1
  475. package/js/x-modules/search/components/{sort-list.vue3.js → sort-list3.vue.js} +1 -1
  476. package/js/x-modules/search/components/sort-list3.vue.js.map +1 -0
  477. package/js/x-modules/search/components/sort-picker-list.vue.js +1 -1
  478. package/js/x-modules/search/components/{sort-picker-list.vue2.js → sort-picker-list2.vue.js} +1 -1
  479. package/js/x-modules/search/components/{sort-picker-list.vue2.js.map → sort-picker-list2.vue.js.map} +1 -1
  480. package/js/x-modules/search/components/spellcheck-button.vue.js +1 -1
  481. package/js/x-modules/search/components/{spellcheck-button.vue2.js → spellcheck-button2.vue.js} +1 -1
  482. package/js/x-modules/search/components/{spellcheck-button.vue2.js.map → spellcheck-button2.vue.js.map} +1 -1
  483. package/js/x-modules/search/components/spellcheck.vue.js +1 -1
  484. package/js/x-modules/search/components/{spellcheck.vue2.js → spellcheck2.vue.js} +1 -1
  485. package/js/x-modules/search/components/{spellcheck.vue2.js.map → spellcheck2.vue.js.map} +1 -1
  486. package/js/x-modules/search-box/components/clear-search-input.vue.js +1 -1
  487. package/js/x-modules/search-box/components/{clear-search-input.vue2.js → clear-search-input2.vue.js} +1 -1
  488. package/js/x-modules/search-box/components/{clear-search-input.vue2.js.map → clear-search-input2.vue.js.map} +1 -1
  489. package/js/x-modules/search-box/components/search-button.vue.js +1 -1
  490. package/js/x-modules/search-box/components/{search-button.vue2.js → search-button2.vue.js} +1 -1
  491. package/js/x-modules/search-box/components/{search-button.vue2.js.map → search-button2.vue.js.map} +1 -1
  492. package/js/x-modules/search-box/components/search-input-placeholder.vue.js +3 -3
  493. package/js/x-modules/search-box/components/{search-input-placeholder.vue2.js → search-input-placeholder2.vue.js} +2 -2
  494. package/js/x-modules/search-box/components/{search-input-placeholder.vue2.js.map → search-input-placeholder2.vue.js.map} +1 -1
  495. package/js/x-modules/search-box/components/{search-input-placeholder.vue3.js → search-input-placeholder3.vue.js} +1 -1
  496. package/js/x-modules/search-box/components/search-input-placeholder3.vue.js.map +1 -0
  497. package/js/x-modules/search-box/components/{search-input-placeholder.vue4.js → search-input-placeholder4.vue.js} +1 -1
  498. package/js/x-modules/search-box/components/search-input-placeholder4.vue.js.map +1 -0
  499. package/js/x-modules/search-box/components/search-input.vue.js +2 -2
  500. package/js/x-modules/search-box/components/{search-input.vue2.js → search-input2.vue.js} +1 -1
  501. package/js/x-modules/search-box/components/{search-input.vue2.js.map → search-input2.vue.js.map} +1 -1
  502. package/js/x-modules/search-box/components/{search-input.vue3.js → search-input3.vue.js} +1 -1
  503. package/js/x-modules/search-box/components/search-input3.vue.js.map +1 -0
  504. package/js/x-modules/semantic-queries/components/semantic-queries.vue.js +1 -1
  505. package/js/x-modules/semantic-queries/components/{semantic-queries.vue2.js → semantic-queries2.vue.js} +1 -1
  506. package/js/x-modules/semantic-queries/components/{semantic-queries.vue2.js.map → semantic-queries2.vue.js.map} +1 -1
  507. package/js/x-modules/semantic-queries/components/semantic-query.vue.js +1 -1
  508. package/js/x-modules/semantic-queries/components/{semantic-query.vue2.js → semantic-query2.vue.js} +1 -1
  509. package/js/x-modules/semantic-queries/components/{semantic-query.vue2.js.map → semantic-query2.vue.js.map} +1 -1
  510. package/js/x-modules/tagging/components/{tagging.vue2.js → tagging2.vue.js} +1 -1
  511. package/js/x-modules/tagging/components/tagging2.vue.js.map +1 -0
  512. package/js/x-modules/url/components/url-handler.vue.js +1 -1
  513. package/js/x-modules/url/components/{url-handler.vue2.js → url-handler2.vue.js} +1 -1
  514. package/js/x-modules/url/components/{url-handler.vue2.js.map → url-handler2.vue.js.map} +1 -1
  515. package/package.json +23 -23
  516. package/report/tsdoc-metadata.json +1 -1
  517. package/report/x-adapter-platform.api.json +251 -1
  518. package/report/x-components.api.json +1 -1
  519. package/report/x-types.api.json +426 -1
  520. package/types/src/x-modules/related-prompts/components/related-prompts-tag-list.vue.d.ts.map +1 -1
  521. package/js/components/animations/animate-clip-path.vue2.js.map +0 -1
  522. package/js/components/animations/animate-clip-path.vue3.js +0 -7
  523. package/js/components/animations/animate-clip-path.vue3.js.map +0 -1
  524. package/js/components/animations/animate-scale.vue2.js.map +0 -1
  525. package/js/components/animations/animate-scale.vue3.js.map +0 -1
  526. package/js/components/animations/animate-translate.vue2.js.map +0 -1
  527. package/js/components/animations/animate-translate.vue3.js +0 -7
  528. package/js/components/animations/animate-translate.vue3.js.map +0 -1
  529. package/js/components/animations/animate-width.vue3.js.map +0 -1
  530. package/js/components/animations/change-height.vue3.js.map +0 -1
  531. package/js/components/animations/collapse-height.vue3.js.map +0 -1
  532. package/js/components/animations/collapse-width.vue3.js.map +0 -1
  533. package/js/components/animations/cross-fade.vue3.js.map +0 -1
  534. package/js/components/animations/fade-and-slide.vue3.js.map +0 -1
  535. package/js/components/animations/fade.vue3.js.map +0 -1
  536. package/js/components/animations/no-animation.vue2.js.map +0 -1
  537. package/js/components/animations/staggered-fade-and-slide.vue3.js.map +0 -1
  538. package/js/components/auto-progress-bar.vue3.js.map +0 -1
  539. package/js/components/base-dropdown.vue3.js.map +0 -1
  540. package/js/components/base-grid.vue3.js.map +0 -1
  541. package/js/components/base-rating.vue3.js.map +0 -1
  542. package/js/components/base-slider.vue3.js.map +0 -1
  543. package/js/components/base-switch.vue3.js.map +0 -1
  544. package/js/components/display-click-provider.vue2.js.map +0 -1
  545. package/js/components/display-emitter.vue2.js.map +0 -1
  546. package/js/components/filters/labels/base-price-filter-label.vue2.js.map +0 -1
  547. package/js/components/global-x-bus.vue2.js.map +0 -1
  548. package/js/components/location-provider.vue2.js.map +0 -1
  549. package/js/components/message.vue2.js.map +0 -1
  550. package/js/components/modals/base-modal.vue3.js.map +0 -1
  551. package/js/components/page-loader-button.vue3.js.map +0 -1
  552. package/js/components/page-selector.vue3.js.map +0 -1
  553. package/js/components/panels/base-header-toggle-panel.vue3.js.map +0 -1
  554. package/js/components/panels/base-tabs-panel.vue3.js.map +0 -1
  555. package/js/components/result/base-result-image.vue3.js.map +0 -1
  556. package/js/components/result/base-result-link.vue3.js.map +0 -1
  557. package/js/components/result/base-result-rating.vue3.js.map +0 -1
  558. package/js/components/result/result-variant-selector.vue3.js.map +0 -1
  559. package/js/components/result/result-variants-provider.vue2.js.map +0 -1
  560. package/js/components/sliding-panel.vue3.js.map +0 -1
  561. package/js/components/suggestions/base-suggestions.vue3.js.map +0 -1
  562. package/js/x-modules/ai/components/ai-carousel.vue3.js.map +0 -1
  563. package/js/x-modules/ai/components/ai-grouped-carousel.vue2.js +0 -123
  564. package/js/x-modules/experience-controls/components/experience-controls.vue2.js.map +0 -1
  565. package/js/x-modules/extra-params/components/extra-params.vue2.js.map +0 -1
  566. package/js/x-modules/extra-params/components/renderless-extra-param.vue2.js.map +0 -1
  567. package/js/x-modules/facets/components/facets/facets-provider.vue3.js.map +0 -1
  568. package/js/x-modules/facets/components/filters/editable-number-range-filter.vue3.js.map +0 -1
  569. package/js/x-modules/facets/components/filters/renderless-filter.vue2.js.map +0 -1
  570. package/js/x-modules/facets/components/lists/exclude-filters-with-no-results.vue2.js.map +0 -1
  571. package/js/x-modules/facets/components/lists/filters-list.vue3.js.map +0 -1
  572. package/js/x-modules/facets/components/lists/filters-search.vue3.js.map +0 -1
  573. package/js/x-modules/facets/components/lists/selected-filters.vue2.js.map +0 -1
  574. package/js/x-modules/facets/components/lists/sorted-filters.vue2.js.map +0 -1
  575. package/js/x-modules/facets/components/preselected-filters.vue2.js.map +0 -1
  576. package/js/x-modules/history-queries/components/my-history.vue3.js.map +0 -1
  577. package/js/x-modules/identifier-results/components/identifier-results.vue3.js.map +0 -1
  578. package/js/x-modules/next-queries/components/next-queries-list.vue2.js.map +0 -1
  579. package/js/x-modules/queries-preview/components/query-preview-button.vue2.js +0 -165
  580. package/js/x-modules/queries-preview/components/query-preview-list.vue3.js.map +0 -1
  581. package/js/x-modules/recommendations/components/recommendations.vue3.js.map +0 -1
  582. package/js/x-modules/related-prompts/components/related-prompt.vue3.js.map +0 -1
  583. package/js/x-modules/related-prompts/components/related-prompts-list.vue2.js.map +0 -1
  584. package/js/x-modules/related-prompts/components/related-prompts-tag-list.vue3.js.map +0 -1
  585. package/js/x-modules/related-tags/components/related-tags.vue3.js.map +0 -1
  586. package/js/x-modules/scroll/components/main-scroll.vue2.js.map +0 -1
  587. package/js/x-modules/search/components/banner.vue3.js.map +0 -1
  588. package/js/x-modules/search/components/banners-list.vue2.js.map +0 -1
  589. package/js/x-modules/search/components/partial-results-list.vue3.js.map +0 -1
  590. package/js/x-modules/search/components/promoted.vue3.js.map +0 -1
  591. package/js/x-modules/search/components/promoteds-list.vue2.js.map +0 -1
  592. package/js/x-modules/search/components/results-list.vue2.js.map +0 -1
  593. package/js/x-modules/search/components/sort-list.vue3.js.map +0 -1
  594. package/js/x-modules/search-box/components/search-input-placeholder.vue3.js.map +0 -1
  595. package/js/x-modules/search-box/components/search-input-placeholder.vue4.js.map +0 -1
  596. package/js/x-modules/search-box/components/search-input.vue3.js.map +0 -1
  597. package/js/x-modules/tagging/components/tagging.vue2.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"redirection.vue2.js","sources":["../../../../../src/x-modules/search/components/redirection.vue"],"sourcesContent":["<template>\n <div v-if=\"redirection && slots.default\" class=\"x-redirection\" data-test=\"redirection\">\n <slot v-bind=\"{ redirection, redirect, abortRedirect, isRedirecting, delayInSeconds }\" />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { Redirection as RedirectionModel } from '@empathyco/x-types'\nimport type { PropType, Ref } from 'vue'\nimport type { XEvent } from '../../../wiring/events.types'\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { searchXModule } from '../x-module'\n\n/**\n * A redirection is a component that sends the user to a link in the website. It is helpful when\n * there are queries like `help`, `shipping costs`, `my account`, where a link to a section in the\n * website will be more helpful than the set of results returned.\n *\n * @public\n */\nexport default defineComponent({\n name: 'Redirection',\n xModule: searchXModule.name,\n props: {\n /**\n * The redirection mode. Auto for auto redirection and manual for an user interaction.\n *\n * @public\n */\n mode: {\n type: String as PropType<'auto' | 'manual'>,\n default: 'auto',\n },\n /**\n * The waiting time in seconds until the redirection is made.\n *\n * @remarks this delay only works in auto mode.\n *\n * @public\n */\n delayInSeconds: {\n type: Number,\n default: 0,\n },\n },\n setup(props, { slots }) {\n const $x = use$x()\n\n const { redirections } = useState('search')\n\n /**\n * List of events to stop the animation.\n */\n const eventsToStopAnimation: XEvent[] = [\n 'UserAcceptedAQuery',\n 'UserClearedQuery',\n 'UserSelectedARelatedTag',\n ]\n\n /**\n * The timeout id, used to cancel the redirection.\n *\n * @internal\n */\n const timeoutId: Ref<number> = ref(0)\n\n /**\n * Boolean flag which indicates if the redirection is running.\n *\n * @public\n */\n const isRedirecting = ref(true)\n\n /**\n * Computed property which returns the first recommendation of the state, if any returns null.\n *\n * @returns The first redirection of the state.\n *\n * @internal\n */\n const redirection = computed((): RedirectionModel | null => redirections?.value[0] ?? null)\n\n /**\n * Stops the animation if the user search another query.\n *\n * @internal\n */\n const cancelRedirect = () => {\n clearTimeout(timeoutId.value)\n isRedirecting.value = false\n }\n\n eventsToStopAnimation.forEach(event => $x.on(event, false).subscribe(cancelRedirect))\n\n /**\n * Dispatches the redirection, updating the url.\n *\n * @public\n */\n const redirect = () => {\n clearTimeout(timeoutId.value)\n $x.emit('UserClickedARedirection', redirection.value!)\n window.location.replace(redirection.value!.url)\n }\n\n /**\n * Stops the redirection, emitting `UserClickedAbortARedirection` event.\n *\n * @public\n */\n const abortRedirect = () => {\n cancelRedirect()\n $x.emit('UserClickedAbortARedirection')\n }\n\n /**\n * Watcher function which adds a setTimeout to the redirect method is the component\n * is in auto mode and there are redirections.\n *\n * @internal\n */\n watch(\n redirections,\n () => {\n isRedirecting.value = true\n if (props.mode === 'auto' && redirection.value) {\n timeoutId.value = window.setTimeout(redirect, props.delayInSeconds * 1000)\n }\n },\n { immediate: true },\n )\n\n return {\n redirection,\n redirect,\n abortRedirect,\n isRedirecting,\n slots,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following events:\n\n- [`UserClickedARedirection`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n after the user clicks the redirection button.\n- [`UserClickedAbortARedirection`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n after the user clicks the abort redirection button.\n\n## Play with the component\n\nIn this example, a query has been searched in the search input resulting in a case where the\nresponse has a redirection.\n\nA text box appears below the search box indicating that you're going to be redirected to another\nweb page.\n\nThis component has two modes:\n\n- Auto mode means that the redirection will occur after a certain number of seconds passed as a\n property.\n- If the value is 0 the redirection will be instant.\n- Manual mode means that the user has to click the redirect button or nothing will happen.\n\n_Type any term in the input field to try it out!_\n\n```vue\n<template>\n <Redirection #default=\"{ redirection, redirect, abortRedirect }\">\n <span>In a few seconds you're going to be redirected!</span>\n <span>{{ redirection.url }}</span>\n <button @click=\"redirect\">Redirect now!</button>\n <button @click=\"abortRedirect\">Abort redirection!</button>\n </Redirection>\n</template>\n\n<script setup>\nimport { Redirection } from '@empathyco/x-components/search'\n</script>\n```\n\n## Extending the component\n\nComponents behaviour can be changed, in this example the mode of the component will be manual\nforcing the user to accept the redirection\n\n```vue\n<template>\n <Redirection mode=\"manual\" #default=\"{ redirection, redirect }\">\n <span>{{ redirection.url }}</span>\n <button @click=\"redirect\">Redirect now!</button>\n </Redirection>\n</template>\n\n<script setup>\nimport { Redirection } from '@empathyco/x-components/search'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAeA;;;;;;AAME;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,aAAa,CAAC,IAAI;AAC3B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,MAAqC;AAC3C,YAAA,OAAO,EAAE,MAAM;AAChB,SAAA;AACD;;;;;;AAME;AACF,QAAA,cAAc,EAAE;AACd,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAE,EAAE,KAAI,EAAG,EAAA;AACpB,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;QAEjB,MAAM,EAAE,YAAW,EAAE,GAAI,QAAQ,CAAC,QAAQ,CAAA;AAE1C;;AAEE;AACF,QAAA,MAAM,qBAAqB,GAAa;YACtC,oBAAoB;YACpB,kBAAkB;YAClB,yBAAyB;SAC3B;AAEA;;;;AAIE;AACF,QAAA,MAAM,SAAS,GAAgB,GAAG,CAAC,CAAC,CAAA;AAEpC;;;;AAIE;AACF,QAAA,MAAM,aAAY,GAAI,GAAG,CAAC,IAAI,CAAA;AAE9B;;;;;;AAME;AACF,QAAA,MAAM,WAAU,GAAI,QAAQ,CAAC,MAA+B,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA,IAAK,IAAI,CAAA;AAE1F;;;;AAIE;QACF,MAAM,iBAAiB,MAAI;AACzB,YAAA,YAAY,CAAC,SAAS,CAAC,KAAK,CAAA;AAC5B,YAAA,aAAa,CAAC,QAAQ,KAAI;AAC5B,QAAA,CAAA;QAEA,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;AAEpF;;;;AAIE;QACF,MAAM,QAAO,GAAI,MAAI;AACnB,YAAA,YAAY,CAAC,SAAS,CAAC,KAAK,CAAA;YAC5B,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,WAAW,CAAC,KAAM,CAAA;YACrD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,KAAM,CAAC,GAAG,CAAA;AAChD,QAAA,CAAA;AAEA;;;;AAIE;QACF,MAAM,gBAAgB,MAAI;AACxB,YAAA,cAAc,EAAC;AACf,YAAA,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAA;AACxC,QAAA,CAAA;AAEA;;;;;AAKE;AACF,QAAA,KAAK,CACH,YAAY,EACZ,MAAI;AACF,YAAA,aAAa,CAAC,KAAI,GAAI,IAAG;YACzB,IAAI,KAAK,CAAC,SAAS,MAAK,IAAK,WAAW,CAAC,KAAK,EAAE;AAC9C,gBAAA,SAAS,CAAC,KAAI,GAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAa,GAAI,IAAI,CAAA;YAC3E;AACF,QAAA,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,CACrB;QAEA,OAAO;YACL,WAAW;YACX,QAAQ;YACR,aAAa;YACb,aAAa;YACb,KAAK;SACP;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"redirection2.vue.js","sources":["../../../../../src/x-modules/search/components/redirection.vue"],"sourcesContent":["<template>\n <div v-if=\"redirection && slots.default\" class=\"x-redirection\" data-test=\"redirection\">\n <slot v-bind=\"{ redirection, redirect, abortRedirect, isRedirecting, delayInSeconds }\" />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport type { Redirection as RedirectionModel } from '@empathyco/x-types'\nimport type { PropType, Ref } from 'vue'\nimport type { XEvent } from '../../../wiring/events.types'\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { searchXModule } from '../x-module'\n\n/**\n * A redirection is a component that sends the user to a link in the website. It is helpful when\n * there are queries like `help`, `shipping costs`, `my account`, where a link to a section in the\n * website will be more helpful than the set of results returned.\n *\n * @public\n */\nexport default defineComponent({\n name: 'Redirection',\n xModule: searchXModule.name,\n props: {\n /**\n * The redirection mode. Auto for auto redirection and manual for an user interaction.\n *\n * @public\n */\n mode: {\n type: String as PropType<'auto' | 'manual'>,\n default: 'auto',\n },\n /**\n * The waiting time in seconds until the redirection is made.\n *\n * @remarks this delay only works in auto mode.\n *\n * @public\n */\n delayInSeconds: {\n type: Number,\n default: 0,\n },\n },\n setup(props, { slots }) {\n const $x = use$x()\n\n const { redirections } = useState('search')\n\n /**\n * List of events to stop the animation.\n */\n const eventsToStopAnimation: XEvent[] = [\n 'UserAcceptedAQuery',\n 'UserClearedQuery',\n 'UserSelectedARelatedTag',\n ]\n\n /**\n * The timeout id, used to cancel the redirection.\n *\n * @internal\n */\n const timeoutId: Ref<number> = ref(0)\n\n /**\n * Boolean flag which indicates if the redirection is running.\n *\n * @public\n */\n const isRedirecting = ref(true)\n\n /**\n * Computed property which returns the first recommendation of the state, if any returns null.\n *\n * @returns The first redirection of the state.\n *\n * @internal\n */\n const redirection = computed((): RedirectionModel | null => redirections?.value[0] ?? null)\n\n /**\n * Stops the animation if the user search another query.\n *\n * @internal\n */\n const cancelRedirect = () => {\n clearTimeout(timeoutId.value)\n isRedirecting.value = false\n }\n\n eventsToStopAnimation.forEach(event => $x.on(event, false).subscribe(cancelRedirect))\n\n /**\n * Dispatches the redirection, updating the url.\n *\n * @public\n */\n const redirect = () => {\n clearTimeout(timeoutId.value)\n $x.emit('UserClickedARedirection', redirection.value!)\n window.location.replace(redirection.value!.url)\n }\n\n /**\n * Stops the redirection, emitting `UserClickedAbortARedirection` event.\n *\n * @public\n */\n const abortRedirect = () => {\n cancelRedirect()\n $x.emit('UserClickedAbortARedirection')\n }\n\n /**\n * Watcher function which adds a setTimeout to the redirect method is the component\n * is in auto mode and there are redirections.\n *\n * @internal\n */\n watch(\n redirections,\n () => {\n isRedirecting.value = true\n if (props.mode === 'auto' && redirection.value) {\n timeoutId.value = window.setTimeout(redirect, props.delayInSeconds * 1000)\n }\n },\n { immediate: true },\n )\n\n return {\n redirection,\n redirect,\n abortRedirect,\n isRedirecting,\n slots,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following events:\n\n- [`UserClickedARedirection`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n after the user clicks the redirection button.\n- [`UserClickedAbortARedirection`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n after the user clicks the abort redirection button.\n\n## Play with the component\n\nIn this example, a query has been searched in the search input resulting in a case where the\nresponse has a redirection.\n\nA text box appears below the search box indicating that you're going to be redirected to another\nweb page.\n\nThis component has two modes:\n\n- Auto mode means that the redirection will occur after a certain number of seconds passed as a\n property.\n- If the value is 0 the redirection will be instant.\n- Manual mode means that the user has to click the redirect button or nothing will happen.\n\n_Type any term in the input field to try it out!_\n\n```vue\n<template>\n <Redirection #default=\"{ redirection, redirect, abortRedirect }\">\n <span>In a few seconds you're going to be redirected!</span>\n <span>{{ redirection.url }}</span>\n <button @click=\"redirect\">Redirect now!</button>\n <button @click=\"abortRedirect\">Abort redirection!</button>\n </Redirection>\n</template>\n\n<script setup>\nimport { Redirection } from '@empathyco/x-components/search'\n</script>\n```\n\n## Extending the component\n\nComponents behaviour can be changed, in this example the mode of the component will be manual\nforcing the user to accept the redirection\n\n```vue\n<template>\n <Redirection mode=\"manual\" #default=\"{ redirection, redirect }\">\n <span>{{ redirection.url }}</span>\n <button @click=\"redirect\">Redirect now!</button>\n </Redirection>\n</template>\n\n<script setup>\nimport { Redirection } from '@empathyco/x-components/search'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAeA;;;;;;AAME;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,aAAa,CAAC,IAAI;AAC3B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,MAAqC;AAC3C,YAAA,OAAO,EAAE,MAAM;AAChB,SAAA;AACD;;;;;;AAME;AACF,QAAA,cAAc,EAAE;AACd,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAE,EAAE,KAAI,EAAG,EAAA;AACpB,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;QAEjB,MAAM,EAAE,YAAW,EAAE,GAAI,QAAQ,CAAC,QAAQ,CAAA;AAE1C;;AAEE;AACF,QAAA,MAAM,qBAAqB,GAAa;YACtC,oBAAoB;YACpB,kBAAkB;YAClB,yBAAyB;SAC3B;AAEA;;;;AAIE;AACF,QAAA,MAAM,SAAS,GAAgB,GAAG,CAAC,CAAC,CAAA;AAEpC;;;;AAIE;AACF,QAAA,MAAM,aAAY,GAAI,GAAG,CAAC,IAAI,CAAA;AAE9B;;;;;;AAME;AACF,QAAA,MAAM,WAAU,GAAI,QAAQ,CAAC,MAA+B,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA,IAAK,IAAI,CAAA;AAE1F;;;;AAIE;QACF,MAAM,iBAAiB,MAAI;AACzB,YAAA,YAAY,CAAC,SAAS,CAAC,KAAK,CAAA;AAC5B,YAAA,aAAa,CAAC,QAAQ,KAAI;AAC5B,QAAA,CAAA;QAEA,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;AAEpF;;;;AAIE;QACF,MAAM,QAAO,GAAI,MAAI;AACnB,YAAA,YAAY,CAAC,SAAS,CAAC,KAAK,CAAA;YAC5B,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,WAAW,CAAC,KAAM,CAAA;YACrD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,KAAM,CAAC,GAAG,CAAA;AAChD,QAAA,CAAA;AAEA;;;;AAIE;QACF,MAAM,gBAAgB,MAAI;AACxB,YAAA,cAAc,EAAC;AACf,YAAA,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAA;AACxC,QAAA,CAAA;AAEA;;;;;AAKE;AACF,QAAA,KAAK,CACH,YAAY,EACZ,MAAI;AACF,YAAA,aAAa,CAAC,KAAI,GAAI,IAAG;YACzB,IAAI,KAAK,CAAC,SAAS,MAAK,IAAK,WAAW,CAAC,KAAK,EAAE;AAC9C,gBAAA,SAAS,CAAC,KAAI,GAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAa,GAAI,IAAI,CAAA;YAC3E;AACF,QAAA,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,CACrB;QAEA,OAAO;YACL,WAAW;YACX,QAAQ;YACR,aAAa;YACb,aAAa;YACb,KAAK;SACP;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -3,4 +3,4 @@ import _sfc_main from './results-list.vue.js';
3
3
 
4
4
 
5
5
  export { _sfc_main as default };
6
- //# sourceMappingURL=results-list.vue2.js.map
6
+ //# sourceMappingURL=results-list2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"results-list2.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,4 +1,4 @@
1
- import _sfc_main from './sort-dropdown.vue2.js';
1
+ import _sfc_main from './sort-dropdown2.vue.js';
2
2
  import { resolveComponent, openBlock, createBlock, withCtx, renderSlot, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString } from 'vue';
3
3
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
4
4
 
@@ -50,4 +50,4 @@ var _sfc_main = defineComponent({
50
50
  });
51
51
 
52
52
  export { _sfc_main as default };
53
- //# sourceMappingURL=sort-dropdown.vue2.js.map
53
+ //# sourceMappingURL=sort-dropdown2.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort-dropdown.vue2.js","sources":["../../../../../src/x-modules/search/components/sort-dropdown.vue"],"sourcesContent":["<template>\n <BaseDropdown\n ref=\"rootRef\"\n :items=\"items\"\n :model-value=\"selectedSort\"\n :animation=\"animation\"\n class=\"x-sort-dropdown\"\n data-test=\"sort-dropdown\"\n aria-label=\"Select sorting\"\n @update:model-value=\"emitUserClickedASort\"\n >\n <template #toggle=\"{ isOpen, item }\">\n <!--\n @slot Used to render the contents of the dropdown toggle button. If not provided, it uses\n the item slot as fallback.\n @binding {Sort} item - The sort data to render.\n @binding {boolean} isOpen - True if the dropdown is opened, and false if it is closed.\n -->\n <slot v-bind=\"{ isOpen, item }\" name=\"toggle\">{{ item }}</slot>\n </template>\n <template #item=\"{ item, isHighlighted, isSelected }\">\n <!--\n @slot (required) Used to render each one of the items content, and as fallback\n for the toggle button content slot if it is not provided.\n @binding {Sort} item - Sort to render\n @binding {boolean} isHighlighted - True when the item has the focus.\n @binding {boolean} isSelected - True when the item is selected.\n -->\n <slot v-bind=\"{ item, isHighlighted, isSelected }\" name=\"item\">{{ item }}</slot>\n </template>\n </BaseDropdown>\n</template>\n\n<script lang=\"ts\">\nimport type { Sort } from '@empathyco/x-types'\nimport type { Component, PropType } from 'vue'\nimport { defineComponent, ref, watch } from 'vue'\n\nimport BaseDropdown from '../../../components/base-dropdown.vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { searchXModule } from '../x-module'\n\n/**\n * The `SortDropdown` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n */\nexport default defineComponent({\n name: 'SortDropdown',\n xModule: searchXModule.name,\n components: { BaseDropdown },\n props: {\n /** The list of possible sort values. */\n items: {\n type: Array as PropType<Sort[]>,\n required: true,\n },\n /** The transition to use for opening and closing the dropdown. */\n animation: [String, Object] as PropType<string | Component>,\n },\n emits: ['change'],\n setup(_, { emit }) {\n const $x = use$x()\n\n const { sort: selectedSort } = useState('search')\n const rootRef = ref<typeof BaseDropdown>()\n\n watch(selectedSort, (value: Sort) => $x.emit('SelectedSortProvided', value), {\n immediate: true,\n })\n\n /**\n * Emits the events related to the selection of a sort value.\n *\n * @remarks `(rootRef.value as any)?.$el` because rollup-plugin-vue understands\n * `ref<typeof BaseDropdown>` as VueConstructor which doesn't contain $el.\n *\n * @param sort - The selected sort.\n */\n function emitUserClickedASort(sort: Sort) {\n $x.emit('UserClickedASort', sort, { target: (rootRef.value as any)?.$el })\n emit('change', sort)\n }\n\n return {\n emitUserClickedASort,\n rootRef,\n selectedSort,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Sort Dropdown\n\nThe `SortDropdown` component can be used to change the way the search results are ordered.\n\nTo do so, the list of valid sort values has to be provided using the `items` prop. These are the\nvalues that can be received then in the `SearchAdapter`.\n\nThe component also optionally accepts the selected sort, which can be set using the `v-model` prop.\nThis prop allows changing programmatically the selected sort, as it will be synced with the store\nimmediately. If this prop is not provided, the first item from the `items` prop will be the one\nselected by default.\n\nThis component also allows customizing both the toggle button and each one of the possible sort\nvalues. This can be done with the `toggle` and `item` slots.\n\n## Events\n\nThis component emits 2 different events:\n\n- [`SelectedSortProvided`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n To sync the selected sort with the store state value. This event is emitted as soon as the list of\n items is received, whenever this list changes if there is no provided value, and when the provided\n value changes.\n- [`UserClickedASort`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n As its name suggests, the event is emitted after the user clicks one of the sort options. This does\n not mean that the sort has changed, only that the user has clicked it.\n\n## Examples\n\n### Only providing the list of items\n\n```vue\n<template>\n <SortDropdown :items=\"sortValues\">\n <template #toggle=\"{ item, isOpen }\">{{ item }} {{ isOpen ? '🔼' : '🔽' }}</template>\n <template #item=\"{ item, isHighlighted, isSelected }\">\n <span v-if=\"isSelected\">✅</span>\n <span v-if=\"isHighlighted\">🟢</span>\n {{ item }}\n </template>\n </SortDropdown>\n</template>\n\n<script setup>\nimport { SortDropdown } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n\n### Providing also the selected value\n\n```vue\n<template>\n <SortDropdown v-model=\"selectedSort\" :items=\"sortValues\">\n <template #toggle=\"{ item, isOpen }\">{{ item }} {{ isOpen ? '🔼' : '🔽' }}</template>\n <template #item=\"{ item, isHighlighted, isSelected }\">\n <span v-if=\"isSelected\">✅</span>\n <span v-if=\"isHighlighted\">🟢</span>\n {{ item }}\n </template>\n </SortDropdown>\n</template>\n\n<script setup>\nimport { SortDropdown } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst selectedSort = ref('Price asc')\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;AA2CA;;;AAGE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,aAAa,CAAC,IAAI;IAC3B,UAAU,EAAE,EAAE,YAAW,EAAG;AAC5B,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,KAAyB;AAC/B,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;;AAED,QAAA,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAiC;AAC5D,KAAA;IACD,KAAK,EAAE,CAAC,QAAQ,CAAC;AACjB,IAAA,KAAK,CAAC,CAAC,EAAE,EAAE,IAAG,EAAG,EAAA;AACf,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;QAEjB,MAAM,EAAE,IAAI,EAAE,YAAW,KAAM,QAAQ,CAAC,QAAQ,CAAA;AAChD,QAAA,MAAM,OAAM,GAAI,GAAG,EAAsB;AAEzC,QAAA,KAAK,CAAC,YAAY,EAAE,CAAC,KAAW,KAAK,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE;AAC3E,YAAA,SAAS,EAAE,IAAI;AAChB,SAAA,CAAA;AAED;;;;;;;AAOE;QACF,SAAS,oBAAoB,CAAC,IAAU,EAAA;AACtC,YAAA,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,EAAE,MAAM,EAAG,OAAO,CAAC,KAAa,EAAE,KAAK,CAAA;AACzE,YAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAA;QACrB;QAEA,OAAO;YACL,oBAAoB;YACpB,OAAO;YACP,YAAY;SACd;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"sort-dropdown2.vue.js","sources":["../../../../../src/x-modules/search/components/sort-dropdown.vue"],"sourcesContent":["<template>\n <BaseDropdown\n ref=\"rootRef\"\n :items=\"items\"\n :model-value=\"selectedSort\"\n :animation=\"animation\"\n class=\"x-sort-dropdown\"\n data-test=\"sort-dropdown\"\n aria-label=\"Select sorting\"\n @update:model-value=\"emitUserClickedASort\"\n >\n <template #toggle=\"{ isOpen, item }\">\n <!--\n @slot Used to render the contents of the dropdown toggle button. If not provided, it uses\n the item slot as fallback.\n @binding {Sort} item - The sort data to render.\n @binding {boolean} isOpen - True if the dropdown is opened, and false if it is closed.\n -->\n <slot v-bind=\"{ isOpen, item }\" name=\"toggle\">{{ item }}</slot>\n </template>\n <template #item=\"{ item, isHighlighted, isSelected }\">\n <!--\n @slot (required) Used to render each one of the items content, and as fallback\n for the toggle button content slot if it is not provided.\n @binding {Sort} item - Sort to render\n @binding {boolean} isHighlighted - True when the item has the focus.\n @binding {boolean} isSelected - True when the item is selected.\n -->\n <slot v-bind=\"{ item, isHighlighted, isSelected }\" name=\"item\">{{ item }}</slot>\n </template>\n </BaseDropdown>\n</template>\n\n<script lang=\"ts\">\nimport type { Sort } from '@empathyco/x-types'\nimport type { Component, PropType } from 'vue'\nimport { defineComponent, ref, watch } from 'vue'\n\nimport BaseDropdown from '../../../components/base-dropdown.vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { searchXModule } from '../x-module'\n\n/**\n * The `SortDropdown` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n */\nexport default defineComponent({\n name: 'SortDropdown',\n xModule: searchXModule.name,\n components: { BaseDropdown },\n props: {\n /** The list of possible sort values. */\n items: {\n type: Array as PropType<Sort[]>,\n required: true,\n },\n /** The transition to use for opening and closing the dropdown. */\n animation: [String, Object] as PropType<string | Component>,\n },\n emits: ['change'],\n setup(_, { emit }) {\n const $x = use$x()\n\n const { sort: selectedSort } = useState('search')\n const rootRef = ref<typeof BaseDropdown>()\n\n watch(selectedSort, (value: Sort) => $x.emit('SelectedSortProvided', value), {\n immediate: true,\n })\n\n /**\n * Emits the events related to the selection of a sort value.\n *\n * @remarks `(rootRef.value as any)?.$el` because rollup-plugin-vue understands\n * `ref<typeof BaseDropdown>` as VueConstructor which doesn't contain $el.\n *\n * @param sort - The selected sort.\n */\n function emitUserClickedASort(sort: Sort) {\n $x.emit('UserClickedASort', sort, { target: (rootRef.value as any)?.$el })\n emit('change', sort)\n }\n\n return {\n emitUserClickedASort,\n rootRef,\n selectedSort,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Sort Dropdown\n\nThe `SortDropdown` component can be used to change the way the search results are ordered.\n\nTo do so, the list of valid sort values has to be provided using the `items` prop. These are the\nvalues that can be received then in the `SearchAdapter`.\n\nThe component also optionally accepts the selected sort, which can be set using the `v-model` prop.\nThis prop allows changing programmatically the selected sort, as it will be synced with the store\nimmediately. If this prop is not provided, the first item from the `items` prop will be the one\nselected by default.\n\nThis component also allows customizing both the toggle button and each one of the possible sort\nvalues. This can be done with the `toggle` and `item` slots.\n\n## Events\n\nThis component emits 2 different events:\n\n- [`SelectedSortProvided`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n To sync the selected sort with the store state value. This event is emitted as soon as the list of\n items is received, whenever this list changes if there is no provided value, and when the provided\n value changes.\n- [`UserClickedASort`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n As its name suggests, the event is emitted after the user clicks one of the sort options. This does\n not mean that the sort has changed, only that the user has clicked it.\n\n## Examples\n\n### Only providing the list of items\n\n```vue\n<template>\n <SortDropdown :items=\"sortValues\">\n <template #toggle=\"{ item, isOpen }\">{{ item }} {{ isOpen ? '🔼' : '🔽' }}</template>\n <template #item=\"{ item, isHighlighted, isSelected }\">\n <span v-if=\"isSelected\">✅</span>\n <span v-if=\"isHighlighted\">🟢</span>\n {{ item }}\n </template>\n </SortDropdown>\n</template>\n\n<script setup>\nimport { SortDropdown } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n\n### Providing also the selected value\n\n```vue\n<template>\n <SortDropdown v-model=\"selectedSort\" :items=\"sortValues\">\n <template #toggle=\"{ item, isOpen }\">{{ item }} {{ isOpen ? '🔼' : '🔽' }}</template>\n <template #item=\"{ item, isHighlighted, isSelected }\">\n <span v-if=\"isSelected\">✅</span>\n <span v-if=\"isHighlighted\">🟢</span>\n {{ item }}\n </template>\n </SortDropdown>\n</template>\n\n<script setup>\nimport { SortDropdown } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst selectedSort = ref('Price asc')\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;AA2CA;;;AAGE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,aAAa,CAAC,IAAI;IAC3B,UAAU,EAAE,EAAE,YAAW,EAAG;AAC5B,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,KAAyB;AAC/B,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;;AAED,QAAA,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAiC;AAC5D,KAAA;IACD,KAAK,EAAE,CAAC,QAAQ,CAAC;AACjB,IAAA,KAAK,CAAC,CAAC,EAAE,EAAE,IAAG,EAAG,EAAA;AACf,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;QAEjB,MAAM,EAAE,IAAI,EAAE,YAAW,KAAM,QAAQ,CAAC,QAAQ,CAAA;AAChD,QAAA,MAAM,OAAM,GAAI,GAAG,EAAsB;AAEzC,QAAA,KAAK,CAAC,YAAY,EAAE,CAAC,KAAW,KAAK,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE;AAC3E,YAAA,SAAS,EAAE,IAAI;AAChB,SAAA,CAAA;AAED;;;;;;;AAOE;QACF,SAAS,oBAAoB,CAAC,IAAU,EAAA;AACtC,YAAA,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,EAAE,MAAM,EAAG,OAAO,CAAC,KAAa,EAAE,KAAK,CAAA;AACzE,YAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAA;QACrB;QAEA,OAAO;YACL,oBAAoB;YACpB,OAAO;YACP,YAAY;SACd;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -1,6 +1,6 @@
1
- import _sfc_main from './sort-list.vue2.js';
1
+ import _sfc_main from './sort-list2.vue.js';
2
2
  import { resolveComponent, openBlock, createBlock, resolveDynamicComponent, withCtx, createElementBlock, Fragment, renderList, normalizeClass, createVNode, renderSlot, mergeProps, createTextVNode, toDisplayString } from 'vue';
3
- import './sort-list.vue3.js';
3
+ import './sort-list3.vue.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) {
@@ -51,4 +51,4 @@ var _sfc_main = defineComponent({
51
51
  });
52
52
 
53
53
  export { _sfc_main as default };
54
- //# sourceMappingURL=sort-list.vue2.js.map
54
+ //# sourceMappingURL=sort-list2.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort-list.vue2.js","sources":["../../../../../src/x-modules/search/components/sort-list.vue"],"sourcesContent":["<template>\n <component :is=\"animation\" tag=\"ul\" class=\"x-option-list x-sort-list\" data-test=\"sort-list\">\n <li\n v-for=\"{ item, cssClasses, event } in listItems\"\n :key=\"item\"\n :class=\"cssClasses\"\n class=\"x-option-list__item x-sort-list__item\"\n >\n <BaseEventButton\n class=\"x-sort-list__button xds:button\"\n data-test=\"x-sort-button\"\n :events=\"event\"\n >\n <slot v-bind=\"{ item, isSelected: item === selectedSort }\">\n {{ item }}\n </slot>\n </BaseEventButton>\n </li>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { Sort } from '@empathyco/x-types'\nimport type { Component, PropType } from 'vue'\nimport type { VueCSSClasses } from '../../../utils/types'\nimport type { XEventsTypes } from '../../../wiring/events.types'\nimport { computed, defineComponent, watch } from 'vue'\nimport BaseEventButton from '../../../components/base-event-button.vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { searchXModule } from '../x-module'\n\n/**\n * Sort list item options.\n */\ninterface SortListItem {\n item: Sort\n cssClasses: VueCSSClasses\n event: Partial<XEventsTypes>\n}\n\n/**\n * The `SortList` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n */\nexport default defineComponent({\n name: 'SortList',\n xModule: searchXModule.name,\n components: { BaseEventButton },\n props: {\n /** The list of possible sort values. */\n items: {\n type: Array as PropType<Sort[]>,\n required: true,\n },\n /** The transition to use for rendering the list. */\n animation: {\n type: [String, Object] as PropType<string | Component>,\n default: () => 'ul',\n },\n },\n setup(props) {\n const $x = use$x()\n\n const { sort: selectedSort } = useState('search')\n\n watch(selectedSort, (value: Sort) => $x.emit('SelectedSortProvided', value), {\n immediate: true,\n })\n\n /**\n * Sort list items.\n *\n * @returns A list of items with their css class and the event associate to it.\n */\n const listItems = computed<SortListItem[]>(() =>\n props.items.map(item => ({\n item,\n cssClasses: {\n 'x-sort-list__item--is-selected': item === selectedSort.value,\n 'x-option-list__item--is-selected': item === selectedSort.value,\n },\n event: { UserClickedASort: item },\n })),\n )\n\n return {\n listItems,\n selectedSort,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-sort-list {\n list-style-type: none;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Sort List\n\nThe `SortList` component can be used to change the way the search results are ordered.\n\nTo do so, the list of valid sort values has to be provided using the `items` prop. These are the\nvalues that can then be received in the `SearchAdapter`.\n\nThe component also optionally accepts the selected sort, which can be set using the `v-model` prop.\nThis prop allows changing programmatically the selected sort, as it will be synced with the store\nimmediately. If this prop is not provided, the first item from the `items` prop will be the one\nselected by default.\n\nThis component also allows customizing each one of the possible sort values. This can be done with\nthe default slot.\n\n## Events\n\nThis component emits 2 different events:\n\n- [`SelectedSortProvided`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n To sync the selected sort with the store state value. This event is emitted as soon as the list of\n items is received, whenever this list changes if there is no provided value, and when the provided\n value changes.\n- [`UserClickedASort`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n As its name suggests, the event is emitted after the user clicks one of the sort options. This does\n not mean that the sort has changed, only that the user has clicked it.\n\n## Examples\n\n### Only providing the list of items\n\n```vue\n<template>\n <SortList :items=\"sortValues\">\n <template #default=\"{ item, isSelected }\">Item: {{ item }}</template>\n </SortList>\n</template>\n\n<script setup>\nimport { SortList } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n\n### Providing also the selected value\n\n```vue\n<template>\n <SortList v-model=\"selectedSort\" :items=\"sortValues\">\n <template #default=\"{ item, isSelected }\">\n <span v-if=\"isSelected\">✅</span>\n {{ item }}\n </template>\n </SortList>\n</template>\n\n<script setup>\nimport { SortList } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst selectedSort = ref('Price asc')\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;AAyCA;;;AAGE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,aAAa,CAAC,IAAI;IAC3B,UAAU,EAAE,EAAE,eAAc,EAAG;AAC/B,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,KAAyB;AAC/B,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;;AAED,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAiC;AACtD,YAAA,OAAO,EAAE,MAAM,IAAI;AACpB,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;QAEjB,MAAM,EAAE,IAAI,EAAE,YAAW,KAAM,QAAQ,CAAC,QAAQ,CAAA;AAEhD,QAAA,KAAK,CAAC,YAAY,EAAE,CAAC,KAAW,KAAK,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE;AAC3E,YAAA,SAAS,EAAE,IAAI;AAChB,SAAA,CAAA;AAED;;;;AAIE;AACF,QAAA,MAAM,SAAQ,GAAI,QAAQ,CAAiB,MACzC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAG,KAAM;YACvB,IAAI;AACJ,YAAA,UAAU,EAAE;AACV,gBAAA,gCAAgC,EAAE,IAAG,KAAM,YAAY,CAAC,KAAK;AAC7D,gBAAA,kCAAkC,EAAE,IAAG,KAAM,YAAY,CAAC,KAAK;AAChE,aAAA;AACD,YAAA,KAAK,EAAE,EAAE,gBAAgB,EAAE,IAAG,EAAG;SAClC,CAAC,CAAC,CACL;QAEA,OAAO;YACL,SAAS;YACT,YAAY;SACd;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"sort-list2.vue.js","sources":["../../../../../src/x-modules/search/components/sort-list.vue"],"sourcesContent":["<template>\n <component :is=\"animation\" tag=\"ul\" class=\"x-option-list x-sort-list\" data-test=\"sort-list\">\n <li\n v-for=\"{ item, cssClasses, event } in listItems\"\n :key=\"item\"\n :class=\"cssClasses\"\n class=\"x-option-list__item x-sort-list__item\"\n >\n <BaseEventButton\n class=\"x-sort-list__button xds:button\"\n data-test=\"x-sort-button\"\n :events=\"event\"\n >\n <slot v-bind=\"{ item, isSelected: item === selectedSort }\">\n {{ item }}\n </slot>\n </BaseEventButton>\n </li>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { Sort } from '@empathyco/x-types'\nimport type { Component, PropType } from 'vue'\nimport type { VueCSSClasses } from '../../../utils/types'\nimport type { XEventsTypes } from '../../../wiring/events.types'\nimport { computed, defineComponent, watch } from 'vue'\nimport BaseEventButton from '../../../components/base-event-button.vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { searchXModule } from '../x-module'\n\n/**\n * Sort list item options.\n */\ninterface SortListItem {\n item: Sort\n cssClasses: VueCSSClasses\n event: Partial<XEventsTypes>\n}\n\n/**\n * The `SortList` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n */\nexport default defineComponent({\n name: 'SortList',\n xModule: searchXModule.name,\n components: { BaseEventButton },\n props: {\n /** The list of possible sort values. */\n items: {\n type: Array as PropType<Sort[]>,\n required: true,\n },\n /** The transition to use for rendering the list. */\n animation: {\n type: [String, Object] as PropType<string | Component>,\n default: () => 'ul',\n },\n },\n setup(props) {\n const $x = use$x()\n\n const { sort: selectedSort } = useState('search')\n\n watch(selectedSort, (value: Sort) => $x.emit('SelectedSortProvided', value), {\n immediate: true,\n })\n\n /**\n * Sort list items.\n *\n * @returns A list of items with their css class and the event associate to it.\n */\n const listItems = computed<SortListItem[]>(() =>\n props.items.map(item => ({\n item,\n cssClasses: {\n 'x-sort-list__item--is-selected': item === selectedSort.value,\n 'x-option-list__item--is-selected': item === selectedSort.value,\n },\n event: { UserClickedASort: item },\n })),\n )\n\n return {\n listItems,\n selectedSort,\n }\n },\n})\n</script>\n\n<style lang=\"css\" scoped>\n.x-sort-list {\n list-style-type: none;\n}\n</style>\n\n<docs lang=\"mdx\">\n## Sort List\n\nThe `SortList` component can be used to change the way the search results are ordered.\n\nTo do so, the list of valid sort values has to be provided using the `items` prop. These are the\nvalues that can then be received in the `SearchAdapter`.\n\nThe component also optionally accepts the selected sort, which can be set using the `v-model` prop.\nThis prop allows changing programmatically the selected sort, as it will be synced with the store\nimmediately. If this prop is not provided, the first item from the `items` prop will be the one\nselected by default.\n\nThis component also allows customizing each one of the possible sort values. This can be done with\nthe default slot.\n\n## Events\n\nThis component emits 2 different events:\n\n- [`SelectedSortProvided`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n To sync the selected sort with the store state value. This event is emitted as soon as the list of\n items is received, whenever this list changes if there is no provided value, and when the provided\n value changes.\n- [`UserClickedASort`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n As its name suggests, the event is emitted after the user clicks one of the sort options. This does\n not mean that the sort has changed, only that the user has clicked it.\n\n## Examples\n\n### Only providing the list of items\n\n```vue\n<template>\n <SortList :items=\"sortValues\">\n <template #default=\"{ item, isSelected }\">Item: {{ item }}</template>\n </SortList>\n</template>\n\n<script setup>\nimport { SortList } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n\n### Providing also the selected value\n\n```vue\n<template>\n <SortList v-model=\"selectedSort\" :items=\"sortValues\">\n <template #default=\"{ item, isSelected }\">\n <span v-if=\"isSelected\">✅</span>\n {{ item }}\n </template>\n </SortList>\n</template>\n\n<script setup>\nimport { SortList } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst selectedSort = ref('Price asc')\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;AAyCA;;;AAGE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,aAAa,CAAC,IAAI;IAC3B,UAAU,EAAE,EAAE,eAAc,EAAG;AAC/B,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,KAAyB;AAC/B,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;;AAED,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAiC;AACtD,YAAA,OAAO,EAAE,MAAM,IAAI;AACpB,SAAA;AACF,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;QAEjB,MAAM,EAAE,IAAI,EAAE,YAAW,KAAM,QAAQ,CAAC,QAAQ,CAAA;AAEhD,QAAA,KAAK,CAAC,YAAY,EAAE,CAAC,KAAW,KAAK,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE;AAC3E,YAAA,SAAS,EAAE,IAAI;AAChB,SAAA,CAAA;AAED;;;;AAIE;AACF,QAAA,MAAM,SAAQ,GAAI,QAAQ,CAAiB,MACzC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAG,KAAM;YACvB,IAAI;AACJ,YAAA,UAAU,EAAE;AACV,gBAAA,gCAAgC,EAAE,IAAG,KAAM,YAAY,CAAC,KAAK;AAC7D,gBAAA,kCAAkC,EAAE,IAAG,KAAM,YAAY,CAAC,KAAK;AAChE,aAAA;AACD,YAAA,KAAK,EAAE,EAAE,gBAAgB,EAAE,IAAG,EAAG;SAClC,CAAC,CAAC,CACL;QAEA,OAAO;YACL,SAAS;YACT,YAAY;SACd;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -4,4 +4,4 @@ var css = ".x-sort-list[data-v-834b0328]{list-style-type:none}";
4
4
  injectCss(css);
5
5
 
6
6
  export { css };
7
- //# sourceMappingURL=sort-list.vue3.js.map
7
+ //# sourceMappingURL=sort-list3.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-list3.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,4 +1,4 @@
1
- import _sfc_main from './sort-picker-list.vue2.js';
1
+ import _sfc_main from './sort-picker-list2.vue.js';
2
2
  import { resolveComponent, openBlock, createBlock, resolveDynamicComponent, withCtx, createElementBlock, Fragment, renderList, normalizeClass, renderSlot, mergeProps, createTextVNode, toDisplayString } from 'vue';
3
3
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
4
4
 
@@ -52,4 +52,4 @@ var _sfc_main = defineComponent({
52
52
  });
53
53
 
54
54
  export { _sfc_main as default };
55
- //# sourceMappingURL=sort-picker-list.vue2.js.map
55
+ //# sourceMappingURL=sort-picker-list2.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort-picker-list.vue2.js","sources":["../../../../../src/x-modules/search/components/sort-picker-list.vue"],"sourcesContent":["<template>\n <component\n :is=\"animation\"\n tag=\"div\"\n class=\"x-sort-picker-list\"\n data-test=\"sort-picker\"\n role=\"list\"\n >\n <BaseEventButton\n v-for=\"{ item, cssClasses, event } in listItems\"\n :key=\"item\"\n :class=\"[cssClasses, buttonClass]\"\n data-test=\"sort-picker-button\"\n :events=\"event\"\n :aria-pressed=\"item === selectedSort || null\"\n role=\"listitem\"\n >\n <slot v-bind=\"{ item, isSelected: item === selectedSort }\">\n {{ item }}\n </slot>\n </BaseEventButton>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { Sort } from '@empathyco/x-types'\nimport type { Component, PropType } from 'vue'\nimport type { SortPickerItem } from './sort-picker-list.types'\nimport { computed, defineComponent, watch } from 'vue'\nimport BaseEventButton from '../../../components/base-event-button.vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { searchXModule } from '../x-module'\n\n/**\n * The `SortPickerList` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n */\nexport default defineComponent({\n name: 'SortPickerList',\n xModule: searchXModule.name,\n components: { BaseEventButton },\n props: {\n /** The list of possible sort values. */\n items: {\n type: Array as PropType<Sort[]>,\n required: true,\n },\n /** The transition to use for rendering the list. */\n animation: {\n type: [String, Object] as PropType<string | Component>,\n default: () => 'div',\n },\n /** Class inherited by each sort button. */\n buttonClass: String,\n },\n setup(props) {\n const $x = use$x()\n\n const { sort: selectedSort } = useState('search')\n\n watch(selectedSort, (value: Sort) => $x.emit('SelectedSortProvided', value), {\n immediate: true,\n })\n\n /**\n * Sort list items.\n *\n * @returns A list of items with their css class and the event associate to it.\n */\n const listItems = computed<SortPickerItem[]>(() =>\n props.items.map(item => ({\n item,\n cssClasses: {\n 'xds:selected': item === selectedSort.value,\n },\n event: { UserClickedASort: item },\n })),\n )\n\n return {\n listItems,\n selectedSort,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Sort Picker List\n\nThe `SortPickerList` component can be used to change the way the search results are ordered.\n\nTo do so, the list of valid sort values has to be provided using the `items` prop. These are the\nvalues that can then be received in the `SearchAdapter`.\n\nThe component also optionally accepts the selected sort, which can be set using the `v-model` prop.\nThis prop allows changing programmatically the selected sort, as it will be synced with the store\nimmediately. If this prop is not provided, the first item from the `items` prop will be the one\nselected by default.\n\nThis component also allows customizing each one of the possible sort values. This can be done with\nthe default slot.\n\n## Events\n\nThis component emits 2 different events:\n\n- [`SelectedSortProvided`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n To sync the selected sort with the store state value. This event is emitted as soon as the list of\n items is received, whenever this list changes if there is no provided value, and when the provided\n value changes.\n- [`UserClickedASort`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n As its name suggests, the event is emitted after the user clicks one of the sort options. This does\n not mean that the sort has changed, only that the user has clicked it.\n\n## Examples\n\n### Only providing the list of items\n\n```vue\n<template>\n <SortPickerList :items=\"sortValues\">\n <template #default=\"{ item, isSelected }\">Item: {{ item }}</template>\n </SortPickerList>\n</template>\n\n<script setup>\nimport { SortPickerList } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n\n### Providing also the selected value\n\n```vue\n<template>\n <SortPickerList v-model=\"selectedSort\" :items=\"sortValues\">\n <template #default=\"{ item, isSelected }\">\n <span v-if=\"isSelected\">✅</span>\n {{ item }}\n </template>\n </SortPickerList>\n</template>\n\n<script setup>\nimport { SortPickerList } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst selectedSort = ref('Price asc')\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n\n### Customizing the items with classes\n\nThe `buttonClass` prop can be used to add classes to the sort items.\n\n```vue\n<template>\n <SortPickerList :items=\"sortValues\" buttonClass=\"x-button-outlined\" />\n</template>\n\n<script setup>\nimport { SortPickerList } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;AAkCA;;;AAGE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,aAAa,CAAC,IAAI;IAC3B,UAAU,EAAE,EAAE,eAAc,EAAG;AAC/B,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,KAAyB;AAC/B,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;;AAED,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAiC;AACtD,YAAA,OAAO,EAAE,MAAM,KAAK;AACrB,SAAA;;AAED,QAAA,WAAW,EAAE,MAAM;AACpB,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;QAEjB,MAAM,EAAE,IAAI,EAAE,YAAW,KAAM,QAAQ,CAAC,QAAQ,CAAA;AAEhD,QAAA,KAAK,CAAC,YAAY,EAAE,CAAC,KAAW,KAAK,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE;AAC3E,YAAA,SAAS,EAAE,IAAI;AAChB,SAAA,CAAA;AAED;;;;AAIE;AACF,QAAA,MAAM,YAAY,QAAQ,CAAmB,MAC3C,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAG,KAAM;YACvB,IAAI;AACJ,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,IAAG,KAAM,YAAY,CAAC,KAAK;AAC5C,aAAA;AACD,YAAA,KAAK,EAAE,EAAE,gBAAgB,EAAE,IAAG,EAAG;SAClC,CAAC,CAAC,CACL;QAEA,OAAO;YACL,SAAS;YACT,YAAY;SACd;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"sort-picker-list2.vue.js","sources":["../../../../../src/x-modules/search/components/sort-picker-list.vue"],"sourcesContent":["<template>\n <component\n :is=\"animation\"\n tag=\"div\"\n class=\"x-sort-picker-list\"\n data-test=\"sort-picker\"\n role=\"list\"\n >\n <BaseEventButton\n v-for=\"{ item, cssClasses, event } in listItems\"\n :key=\"item\"\n :class=\"[cssClasses, buttonClass]\"\n data-test=\"sort-picker-button\"\n :events=\"event\"\n :aria-pressed=\"item === selectedSort || null\"\n role=\"listitem\"\n >\n <slot v-bind=\"{ item, isSelected: item === selectedSort }\">\n {{ item }}\n </slot>\n </BaseEventButton>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { Sort } from '@empathyco/x-types'\nimport type { Component, PropType } from 'vue'\nimport type { SortPickerItem } from './sort-picker-list.types'\nimport { computed, defineComponent, watch } from 'vue'\nimport BaseEventButton from '../../../components/base-event-button.vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { searchXModule } from '../x-module'\n\n/**\n * The `SortPickerList` component allows user to select the search results order. This component\n * also allows to change the selected sort programmatically.\n */\nexport default defineComponent({\n name: 'SortPickerList',\n xModule: searchXModule.name,\n components: { BaseEventButton },\n props: {\n /** The list of possible sort values. */\n items: {\n type: Array as PropType<Sort[]>,\n required: true,\n },\n /** The transition to use for rendering the list. */\n animation: {\n type: [String, Object] as PropType<string | Component>,\n default: () => 'div',\n },\n /** Class inherited by each sort button. */\n buttonClass: String,\n },\n setup(props) {\n const $x = use$x()\n\n const { sort: selectedSort } = useState('search')\n\n watch(selectedSort, (value: Sort) => $x.emit('SelectedSortProvided', value), {\n immediate: true,\n })\n\n /**\n * Sort list items.\n *\n * @returns A list of items with their css class and the event associate to it.\n */\n const listItems = computed<SortPickerItem[]>(() =>\n props.items.map(item => ({\n item,\n cssClasses: {\n 'xds:selected': item === selectedSort.value,\n },\n event: { UserClickedASort: item },\n })),\n )\n\n return {\n listItems,\n selectedSort,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Sort Picker List\n\nThe `SortPickerList` component can be used to change the way the search results are ordered.\n\nTo do so, the list of valid sort values has to be provided using the `items` prop. These are the\nvalues that can then be received in the `SearchAdapter`.\n\nThe component also optionally accepts the selected sort, which can be set using the `v-model` prop.\nThis prop allows changing programmatically the selected sort, as it will be synced with the store\nimmediately. If this prop is not provided, the first item from the `items` prop will be the one\nselected by default.\n\nThis component also allows customizing each one of the possible sort values. This can be done with\nthe default slot.\n\n## Events\n\nThis component emits 2 different events:\n\n- [`SelectedSortProvided`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n To sync the selected sort with the store state value. This event is emitted as soon as the list of\n items is received, whenever this list changes if there is no provided value, and when the provided\n value changes.\n- [`UserClickedASort`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n As its name suggests, the event is emitted after the user clicks one of the sort options. This does\n not mean that the sort has changed, only that the user has clicked it.\n\n## Examples\n\n### Only providing the list of items\n\n```vue\n<template>\n <SortPickerList :items=\"sortValues\">\n <template #default=\"{ item, isSelected }\">Item: {{ item }}</template>\n </SortPickerList>\n</template>\n\n<script setup>\nimport { SortPickerList } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n\n### Providing also the selected value\n\n```vue\n<template>\n <SortPickerList v-model=\"selectedSort\" :items=\"sortValues\">\n <template #default=\"{ item, isSelected }\">\n <span v-if=\"isSelected\">✅</span>\n {{ item }}\n </template>\n </SortPickerList>\n</template>\n\n<script setup>\nimport { SortPickerList } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst selectedSort = ref('Price asc')\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n\n### Customizing the items with classes\n\nThe `buttonClass` prop can be used to add classes to the sort items.\n\n```vue\n<template>\n <SortPickerList :items=\"sortValues\" buttonClass=\"x-button-outlined\" />\n</template>\n\n<script setup>\nimport { SortPickerList } from '@empathyco/x-components/search'\nimport { ref } from 'vue'\n\nconst sortValues = ref(['Relevance', 'Price asc', 'Price desc'])\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;AAkCA;;;AAGE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,aAAa,CAAC,IAAI;IAC3B,UAAU,EAAE,EAAE,eAAc,EAAG;AAC/B,IAAA,KAAK,EAAE;;AAEL,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,KAAyB;AAC/B,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;;AAED,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAiC;AACtD,YAAA,OAAO,EAAE,MAAM,KAAK;AACrB,SAAA;;AAED,QAAA,WAAW,EAAE,MAAM;AACpB,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;QAEjB,MAAM,EAAE,IAAI,EAAE,YAAW,KAAM,QAAQ,CAAC,QAAQ,CAAA;AAEhD,QAAA,KAAK,CAAC,YAAY,EAAE,CAAC,KAAW,KAAK,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE;AAC3E,YAAA,SAAS,EAAE,IAAI;AAChB,SAAA,CAAA;AAED;;;;AAIE;AACF,QAAA,MAAM,YAAY,QAAQ,CAAmB,MAC3C,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAG,KAAM;YACvB,IAAI;AACJ,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,IAAG,KAAM,YAAY,CAAC,KAAK;AAC5C,aAAA;AACD,YAAA,KAAK,EAAE,EAAE,gBAAgB,EAAE,IAAG,EAAG;SAClC,CAAC,CAAC,CACL;QAEA,OAAO;YACL,SAAS;YACT,YAAY;SACd;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import _sfc_main from './spellcheck-button.vue2.js';
1
+ import _sfc_main from './spellcheck-button2.vue.js';
2
2
  import { openBlock, createElementBlock, renderSlot, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString, createCommentVNode } from 'vue';
3
3
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
4
4
 
@@ -50,4 +50,4 @@ var _sfc_main = defineComponent({
50
50
  });
51
51
 
52
52
  export { _sfc_main as default };
53
- //# sourceMappingURL=spellcheck-button.vue2.js.map
53
+ //# sourceMappingURL=spellcheck-button2.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spellcheck-button.vue2.js","sources":["../../../../../src/x-modules/search/components/spellcheck-button.vue"],"sourcesContent":["<template>\n <button\n v-if=\"spellcheckedQuery\"\n ref=\"el\"\n class=\"x-spellcheck-button\"\n data-test=\"set-spellcheck\"\n @click=\"emitEvents\"\n >\n <slot v-bind=\"{ spellcheckedQuery }\">{{ spellcheckedQuery }}</slot>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport type { WireMetadata } from '../../../wiring/wiring.types'\nimport { defineComponent, ref } from 'vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { searchXModule } from '../x-module'\n\n/**\n * A button that when pressed emits the {@link XEventsTypes.UserAcceptedAQuery}\n * and {@link XEventsTypes.UserAcceptedSpellcheckQuery} events, expressing the user\n * intention to set the spellchecked query.\n *\n * @public\n */\nexport default defineComponent({\n name: 'SpellcheckButton',\n xModule: searchXModule.name,\n setup() {\n const $x = use$x()\n\n const el = ref<HTMLElement>()\n\n /**\n * The spellcheckedQuery from the search state.\n *\n * @public\n */\n const { spellcheckedQuery } = useState('search')\n\n /**\n * Generates the {@link WireMetadata} object omitting the moduleName.\n *\n * @returns The {@link WireMetadata} object omitting the moduleName.\n * @internal\n */\n const createEventMetadata = (): Omit<WireMetadata, 'moduleName'> => ({\n target: el.value as HTMLElement,\n feature: 'spellcheck',\n })\n\n /**\n * Emits events when the button is clicked.\n *\n * @public\n */\n const emitEvents = () => {\n $x.emit('UserAcceptedAQuery', spellcheckedQuery.value as string, createEventMetadata())\n $x.emit(\n 'UserAcceptedSpellcheckQuery',\n spellcheckedQuery.value as string,\n createEventMetadata(),\n )\n }\n\n return {\n el,\n spellcheckedQuery,\n emitEvents,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits 2 different events:\n\n- [`UserAcceptedAQuery`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the spellchecked query\n data.\n- [`UserAcceptedSpellcheckQuery`](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 spellchecked query\n data.\n\n## Examples\n\n### Basic example\n\nThe component sets the current spellcheckedQuery as the new query and emits the `UserAcceptedAQuery`\nand `UserAcceptedSpellcheckQuery` events.\n\n```vue\n<template>\n <SpellcheckButton />\n</template>\n\n<script setup>\nimport { SpellcheckButton } from '@empathyco/x-components/search'\n</script>\n```\n\n### Customizing its contents\n\n```vue\n<template>\n <SpellcheckButton>\n <template #default=\"{ spellcheckedQuery }\">\n <span class=\"x-spellcheck__text\">\n Set the Spellcheck as the new query: {{ spellcheckedQuery }}!\n </span>\n </template>\n </SpellcheckButton>\n</template>\n\n<script setup>\nimport { SpellcheckButton } from '@empathyco/x-components/search'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAmBA;;;;;;AAME;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,aAAa,CAAC,IAAI;IAC3B,KAAK,GAAA;AACH,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB,QAAA,MAAM,EAAC,GAAI,GAAG,EAAc;AAE5B;;;;AAIE;QACF,MAAM,EAAE,iBAAgB,KAAM,QAAQ,CAAC,QAAQ,CAAA;AAE/C;;;;;AAKE;AACF,QAAA,MAAM,mBAAkB,GAAI,OAAyC;YACnE,MAAM,EAAE,EAAE,CAAC,KAAoB;AAC/B,YAAA,OAAO,EAAE,YAAY;AACtB,SAAA,CAAA;AAED;;;;AAIE;QACF,MAAM,UAAS,GAAI,MAAI;AACrB,YAAA,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,KAAe,EAAE,mBAAmB,EAAE,CAAA;AACtF,YAAA,EAAE,CAAC,IAAI,CACL,6BAA6B,EAC7B,iBAAiB,CAAC,KAAe,EACjC,mBAAmB,EAAE,CACvB;AACF,QAAA,CAAA;QAEA,OAAO;YACL,EAAE;YACF,iBAAiB;YACjB,UAAU;SACZ;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"spellcheck-button2.vue.js","sources":["../../../../../src/x-modules/search/components/spellcheck-button.vue"],"sourcesContent":["<template>\n <button\n v-if=\"spellcheckedQuery\"\n ref=\"el\"\n class=\"x-spellcheck-button\"\n data-test=\"set-spellcheck\"\n @click=\"emitEvents\"\n >\n <slot v-bind=\"{ spellcheckedQuery }\">{{ spellcheckedQuery }}</slot>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport type { WireMetadata } from '../../../wiring/wiring.types'\nimport { defineComponent, ref } from 'vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { searchXModule } from '../x-module'\n\n/**\n * A button that when pressed emits the {@link XEventsTypes.UserAcceptedAQuery}\n * and {@link XEventsTypes.UserAcceptedSpellcheckQuery} events, expressing the user\n * intention to set the spellchecked query.\n *\n * @public\n */\nexport default defineComponent({\n name: 'SpellcheckButton',\n xModule: searchXModule.name,\n setup() {\n const $x = use$x()\n\n const el = ref<HTMLElement>()\n\n /**\n * The spellcheckedQuery from the search state.\n *\n * @public\n */\n const { spellcheckedQuery } = useState('search')\n\n /**\n * Generates the {@link WireMetadata} object omitting the moduleName.\n *\n * @returns The {@link WireMetadata} object omitting the moduleName.\n * @internal\n */\n const createEventMetadata = (): Omit<WireMetadata, 'moduleName'> => ({\n target: el.value as HTMLElement,\n feature: 'spellcheck',\n })\n\n /**\n * Emits events when the button is clicked.\n *\n * @public\n */\n const emitEvents = () => {\n $x.emit('UserAcceptedAQuery', spellcheckedQuery.value as string, createEventMetadata())\n $x.emit(\n 'UserAcceptedSpellcheckQuery',\n spellcheckedQuery.value as string,\n createEventMetadata(),\n )\n }\n\n return {\n el,\n spellcheckedQuery,\n emitEvents,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits 2 different events:\n\n- [`UserAcceptedAQuery`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):\n the event is emitted after the user clicks the button. The event payload is the spellchecked query\n data.\n- [`UserAcceptedSpellcheckQuery`](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 spellchecked query\n data.\n\n## Examples\n\n### Basic example\n\nThe component sets the current spellcheckedQuery as the new query and emits the `UserAcceptedAQuery`\nand `UserAcceptedSpellcheckQuery` events.\n\n```vue\n<template>\n <SpellcheckButton />\n</template>\n\n<script setup>\nimport { SpellcheckButton } from '@empathyco/x-components/search'\n</script>\n```\n\n### Customizing its contents\n\n```vue\n<template>\n <SpellcheckButton>\n <template #default=\"{ spellcheckedQuery }\">\n <span class=\"x-spellcheck__text\">\n Set the Spellcheck as the new query: {{ spellcheckedQuery }}!\n </span>\n </template>\n </SpellcheckButton>\n</template>\n\n<script setup>\nimport { SpellcheckButton } from '@empathyco/x-components/search'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAmBA;;;;;;AAME;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,aAAa,CAAC,IAAI;IAC3B,KAAK,GAAA;AACH,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB,QAAA,MAAM,EAAC,GAAI,GAAG,EAAc;AAE5B;;;;AAIE;QACF,MAAM,EAAE,iBAAgB,KAAM,QAAQ,CAAC,QAAQ,CAAA;AAE/C;;;;;AAKE;AACF,QAAA,MAAM,mBAAkB,GAAI,OAAyC;YACnE,MAAM,EAAE,EAAE,CAAC,KAAoB;AAC/B,YAAA,OAAO,EAAE,YAAY;AACtB,SAAA,CAAA;AAED;;;;AAIE;QACF,MAAM,UAAS,GAAI,MAAI;AACrB,YAAA,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,KAAe,EAAE,mBAAmB,EAAE,CAAA;AACtF,YAAA,EAAE,CAAC,IAAI,CACL,6BAA6B,EAC7B,iBAAiB,CAAC,KAAe,EACjC,mBAAmB,EAAE,CACvB;AACF,QAAA,CAAA;QAEA,OAAO;YACL,EAAE;YACF,iBAAiB;YACjB,UAAU;SACZ;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import _sfc_main from './spellcheck.vue2.js';
1
+ import _sfc_main from './spellcheck2.vue.js';
2
2
  import { openBlock, createElementBlock, renderSlot, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString, createCommentVNode } from 'vue';
3
3
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
4
4
 
@@ -30,4 +30,4 @@ var _sfc_main = defineComponent({
30
30
  });
31
31
 
32
32
  export { _sfc_main as default };
33
- //# sourceMappingURL=spellcheck.vue2.js.map
33
+ //# sourceMappingURL=spellcheck2.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spellcheck.vue2.js","sources":["../../../../../src/x-modules/search/components/spellcheck.vue"],"sourcesContent":["<template>\n <div v-if=\"spellcheckedQuery\" class=\"x-spellcheck\" data-test=\"spellcheck\">\n <slot v-bind=\"{ query, spellcheckedQuery }\">{{ query }} - {{ spellcheckedQuery }}</slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useState } from '../../../composables/use-state'\nimport { searchXModule } from '../x-module'\n\n/**\n * The `Spellcheck` component allows to inform the user with a friendly message that he\n * might have misspelled the search query. This message can be set using the default slot\n * of the component, which gives access to the searched query using the `query` scope property,\n * and the spellchecked query proposal, using the `spellcheckedQuery` scope property.\n *\n * The component will only render itself if the `spellcheckedQuery` property has value.\n *\n * @public\n */\nexport default defineComponent({\n name: 'Spellcheck',\n xModule: searchXModule.name,\n setup() {\n /**\n * The query and the spellcheckedQuery from the search state.\n *\n * @public\n */\n const { query, spellcheckedQuery } = useState('search')\n\n return {\n query,\n spellcheckedQuery,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\nThis default spellcheck component expects a query and a spellcheckedQuery to render and pass to its\ndefault slot.\n\nThis two props should be show like a message comparing them.\n\n### Basic usage\n\n```vue\n<template>\n <Spellcheck />\n</template>\n\n<script setup>\nimport { Spellcheck } from '@empathyco/x-components/search'\n</script>\n```\n\n### Customizing its contents\n\n```vue\n<template>\n <Spellcheck>\n <template #default=\"{ query, spellcheckedQuery }\">\n No results found for '{{ query }}'. We show you results for '{{ spellcheckedQuery }}'\n </template>\n </Spellcheck>\n</template>\n\n<script setup>\nimport { Spellcheck } from '@empathyco/x-components/search'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;AAWA;;;;;;;;;AASE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,aAAa,CAAC,IAAI;IAC3B,KAAK,GAAA;AACH;;;;AAIE;QACF,MAAM,EAAE,KAAK,EAAE,iBAAgB,EAAE,GAAI,QAAQ,CAAC,QAAQ,CAAA;QAEtD,OAAO;YACL,KAAK;YACL,iBAAiB;SACnB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"spellcheck2.vue.js","sources":["../../../../../src/x-modules/search/components/spellcheck.vue"],"sourcesContent":["<template>\n <div v-if=\"spellcheckedQuery\" class=\"x-spellcheck\" data-test=\"spellcheck\">\n <slot v-bind=\"{ query, spellcheckedQuery }\">{{ query }} - {{ spellcheckedQuery }}</slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useState } from '../../../composables/use-state'\nimport { searchXModule } from '../x-module'\n\n/**\n * The `Spellcheck` component allows to inform the user with a friendly message that he\n * might have misspelled the search query. This message can be set using the default slot\n * of the component, which gives access to the searched query using the `query` scope property,\n * and the spellchecked query proposal, using the `spellcheckedQuery` scope property.\n *\n * The component will only render itself if the `spellcheckedQuery` property has value.\n *\n * @public\n */\nexport default defineComponent({\n name: 'Spellcheck',\n xModule: searchXModule.name,\n setup() {\n /**\n * The query and the spellcheckedQuery from the search state.\n *\n * @public\n */\n const { query, spellcheckedQuery } = useState('search')\n\n return {\n query,\n spellcheckedQuery,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Examples\n\nThis default spellcheck component expects a query and a spellcheckedQuery to render and pass to its\ndefault slot.\n\nThis two props should be show like a message comparing them.\n\n### Basic usage\n\n```vue\n<template>\n <Spellcheck />\n</template>\n\n<script setup>\nimport { Spellcheck } from '@empathyco/x-components/search'\n</script>\n```\n\n### Customizing its contents\n\n```vue\n<template>\n <Spellcheck>\n <template #default=\"{ query, spellcheckedQuery }\">\n No results found for '{{ query }}'. We show you results for '{{ spellcheckedQuery }}'\n </template>\n </Spellcheck>\n</template>\n\n<script setup>\nimport { Spellcheck } from '@empathyco/x-components/search'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;AAWA;;;;;;;;;AASE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,aAAa,CAAC,IAAI;IAC3B,KAAK,GAAA;AACH;;;;AAIE;QACF,MAAM,EAAE,KAAK,EAAE,iBAAgB,EAAE,GAAI,QAAQ,CAAC,QAAQ,CAAA;QAEtD,OAAO;YACL,KAAK;YACL,iBAAiB;SACnB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import _sfc_main from './clear-search-input.vue2.js';
1
+ import _sfc_main from './clear-search-input2.vue.js';
2
2
  import { resolveComponent, openBlock, createBlock, normalizeClass, withCtx, renderSlot, createTextVNode } from 'vue';
3
3
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
4
4
 
@@ -40,4 +40,4 @@ var _sfc_main = defineComponent({
40
40
  });
41
41
 
42
42
  export { _sfc_main as default };
43
- //# sourceMappingURL=clear-search-input.vue2.js.map
43
+ //# sourceMappingURL=clear-search-input2.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clear-search-input.vue2.js","sources":["../../../../../src/x-modules/search-box/components/clear-search-input.vue"],"sourcesContent":["<template>\n <BaseEventButton\n class=\"x-clear-search-input\"\n :class=\"dynamicClasses\"\n :events=\"clearSearchInputEvents\"\n data-test=\"clear-search-input\"\n >\n <!-- @slot _Required_. Button content (text, icon, or both) -->\n <slot>✕</slot>\n </BaseEventButton>\n</template>\n\n<script lang=\"ts\">\nimport type { VueCSSClasses } from '../../../utils/types'\nimport { computed, defineComponent, ref } from 'vue'\nimport BaseEventButton from '../../../components/base-event-button.vue'\nimport { useState } from '../../../composables/use-state'\nimport { searchBoxXModule } from '../x-module'\n\n/**\n * This component renders a button to delete the current query.\n *\n * @remarks\n * A button that when pressed emits the {@link SearchBoxXEvents.UserPressedClearSearchBoxButton}\n * and {@link SearchBoxXEvents.UserClearedQuery} events, expressing the user intention to clear\n * the current query.\n * It also adds `x-clear-search-input--has-empty-query` as class when there is no query.\n *\n * @public\n */\nexport default defineComponent({\n name: 'ClearSearchInput',\n components: { BaseEventButton },\n xModule: searchBoxXModule.name,\n setup() {\n const { query } = useState('searchBox')\n\n /**\n * The events dictionary that are going to be emitted when the button is pressed.\n *\n * @internal\n */\n const clearSearchInputEvents = ref({\n UserPressedClearSearchBoxButton: undefined,\n })\n\n const isQueryEmpty = computed(() => query.value.length === 0)\n\n const dynamicClasses = computed<VueCSSClasses>(() => ({\n 'x-clear-search-input--has-empty-query': isQueryEmpty.value,\n }))\n\n return {\n dynamicClasses,\n clearSearchInputEvents,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following events:\n\n- [`UserPressedClearSearchBoxButton`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n- [`UserClearedQuery`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n\n## See it in action\n\nHere a basic example of how the clear button is rendered.\n\n_Type any term in the input field and then click the Clear button to try it out!_\n\n```vue live\n<template>\n <div style=\"display: flex;\">\n <SearchInput />\n <ClearSearchInput />\n </div>\n</template>\n\n<script setup>\nimport { ClearSearchInput, SearchInput } from '@empathyco/x-components/search-box'\n</script>\n```\n\n### Play with default slot\n\nIn this example, a custom text is passed in the default slot instead of the default text to\ncustomize the button content.\n\n_Click the icon button to try it out!_\n\n```vue live\n<template>\n <ClearSearchInput>Clear</ClearSearchInput>\n</template>\n\n<script setup>\nimport { ClearSearchInput } from '@empathyco/x-components/search-box'\n</script>\n```\n\n### Play with events\n\nIn this example, the `UserPressedClearSearchBoxButton` event is implemented, triggering the message\n“clear” when the clear search input button is clicked.\n\n_Click the Clear button to try it out!_\n\n```vue live\n<template>\n <div>\n <ClearSearchInput @UserPressedClearSearchBoxButton=\"message = 'clear'\">Clear</ClearSearchInput>\n {{ message }}\n </div>\n</template>\n\n<script setup>\nimport { ClearSearchInput } from '@empathyco/x-components/search-box'\nimport { ref } from 'vue'\n\nconst message = ref('')\n</script>\n```\n\n## Extending the component\n\nComponents can be combined and communicate with each other. Commonly, the `ClearSearchInput`\ncomponent communicates with the [`SearchInput`](./search-input.md), deleting the search term\nentered.\n\n_Type any term in the input field and then click the icon button to try it out!_\n\n```vue live\n<template>\n <div style=\"display: flex;\">\n <SearchInput />\n <ClearSearchInput />\n </div>\n</template>\n\n<script setup>\nimport { SearchInput, ClearSearchInput } from '@empathyco/x-components/search-box'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAmBA;;;;;;;;;;AAUE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,kBAAkB;IACxB,UAAU,EAAE,EAAE,eAAc,EAAG;IAC/B,OAAO,EAAE,gBAAgB,CAAC,IAAI;IAC9B,KAAK,GAAA;QACH,MAAM,EAAE,KAAI,EAAE,GAAI,QAAQ,CAAC,WAAW,CAAA;AAEtC;;;;AAIE;QACF,MAAM,sBAAqB,GAAI,GAAG,CAAC;AACjC,YAAA,+BAA+B,EAAE,SAAS;AAC3C,SAAA,CAAA;AAED,QAAA,MAAM,YAAW,GAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAK,KAAM,CAAC,CAAA;AAE5D,QAAA,MAAM,cAAa,GAAI,QAAQ,CAAgB,OAAO;YACpD,uCAAuC,EAAE,YAAY,CAAC,KAAK;AAC5D,SAAA,CAAC,CAAA;QAEF,OAAO;YACL,cAAc;YACd,sBAAsB;SACxB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"clear-search-input2.vue.js","sources":["../../../../../src/x-modules/search-box/components/clear-search-input.vue"],"sourcesContent":["<template>\n <BaseEventButton\n class=\"x-clear-search-input\"\n :class=\"dynamicClasses\"\n :events=\"clearSearchInputEvents\"\n data-test=\"clear-search-input\"\n >\n <!-- @slot _Required_. Button content (text, icon, or both) -->\n <slot>✕</slot>\n </BaseEventButton>\n</template>\n\n<script lang=\"ts\">\nimport type { VueCSSClasses } from '../../../utils/types'\nimport { computed, defineComponent, ref } from 'vue'\nimport BaseEventButton from '../../../components/base-event-button.vue'\nimport { useState } from '../../../composables/use-state'\nimport { searchBoxXModule } from '../x-module'\n\n/**\n * This component renders a button to delete the current query.\n *\n * @remarks\n * A button that when pressed emits the {@link SearchBoxXEvents.UserPressedClearSearchBoxButton}\n * and {@link SearchBoxXEvents.UserClearedQuery} events, expressing the user intention to clear\n * the current query.\n * It also adds `x-clear-search-input--has-empty-query` as class when there is no query.\n *\n * @public\n */\nexport default defineComponent({\n name: 'ClearSearchInput',\n components: { BaseEventButton },\n xModule: searchBoxXModule.name,\n setup() {\n const { query } = useState('searchBox')\n\n /**\n * The events dictionary that are going to be emitted when the button is pressed.\n *\n * @internal\n */\n const clearSearchInputEvents = ref({\n UserPressedClearSearchBoxButton: undefined,\n })\n\n const isQueryEmpty = computed(() => query.value.length === 0)\n\n const dynamicClasses = computed<VueCSSClasses>(() => ({\n 'x-clear-search-input--has-empty-query': isQueryEmpty.value,\n }))\n\n return {\n dynamicClasses,\n clearSearchInputEvents,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following events:\n\n- [`UserPressedClearSearchBoxButton`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n- [`UserClearedQuery`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n\n## See it in action\n\nHere a basic example of how the clear button is rendered.\n\n_Type any term in the input field and then click the Clear button to try it out!_\n\n```vue live\n<template>\n <div style=\"display: flex;\">\n <SearchInput />\n <ClearSearchInput />\n </div>\n</template>\n\n<script setup>\nimport { ClearSearchInput, SearchInput } from '@empathyco/x-components/search-box'\n</script>\n```\n\n### Play with default slot\n\nIn this example, a custom text is passed in the default slot instead of the default text to\ncustomize the button content.\n\n_Click the icon button to try it out!_\n\n```vue live\n<template>\n <ClearSearchInput>Clear</ClearSearchInput>\n</template>\n\n<script setup>\nimport { ClearSearchInput } from '@empathyco/x-components/search-box'\n</script>\n```\n\n### Play with events\n\nIn this example, the `UserPressedClearSearchBoxButton` event is implemented, triggering the message\n“clear” when the clear search input button is clicked.\n\n_Click the Clear button to try it out!_\n\n```vue live\n<template>\n <div>\n <ClearSearchInput @UserPressedClearSearchBoxButton=\"message = 'clear'\">Clear</ClearSearchInput>\n {{ message }}\n </div>\n</template>\n\n<script setup>\nimport { ClearSearchInput } from '@empathyco/x-components/search-box'\nimport { ref } from 'vue'\n\nconst message = ref('')\n</script>\n```\n\n## Extending the component\n\nComponents can be combined and communicate with each other. Commonly, the `ClearSearchInput`\ncomponent communicates with the [`SearchInput`](./search-input.md), deleting the search term\nentered.\n\n_Type any term in the input field and then click the icon button to try it out!_\n\n```vue live\n<template>\n <div style=\"display: flex;\">\n <SearchInput />\n <ClearSearchInput />\n </div>\n</template>\n\n<script setup>\nimport { SearchInput, ClearSearchInput } from '@empathyco/x-components/search-box'\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAmBA;;;;;;;;;;AAUE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,kBAAkB;IACxB,UAAU,EAAE,EAAE,eAAc,EAAG;IAC/B,OAAO,EAAE,gBAAgB,CAAC,IAAI;IAC9B,KAAK,GAAA;QACH,MAAM,EAAE,KAAI,EAAE,GAAI,QAAQ,CAAC,WAAW,CAAA;AAEtC;;;;AAIE;QACF,MAAM,sBAAqB,GAAI,GAAG,CAAC;AACjC,YAAA,+BAA+B,EAAE,SAAS;AAC3C,SAAA,CAAA;AAED,QAAA,MAAM,YAAW,GAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAK,KAAM,CAAC,CAAA;AAE5D,QAAA,MAAM,cAAa,GAAI,QAAQ,CAAgB,OAAO;YACpD,uCAAuC,EAAE,YAAY,CAAC,KAAK;AAC5D,SAAA,CAAC,CAAA;QAEF,OAAO;YACL,cAAc;YACd,sBAAsB;SACxB;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import _sfc_main from './search-button.vue2.js';
1
+ import _sfc_main from './search-button2.vue.js';
2
2
  import { openBlock, createElementBlock, normalizeClass, renderSlot, createElementVNode } from 'vue';
3
3
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
4
4
 
@@ -56,4 +56,4 @@ var _sfc_main = defineComponent({
56
56
  });
57
57
 
58
58
  export { _sfc_main as default };
59
- //# sourceMappingURL=search-button.vue2.js.map
59
+ //# sourceMappingURL=search-button2.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-button.vue2.js","sources":["../../../../../src/x-modules/search-box/components/search-button.vue"],"sourcesContent":["<template>\n <button\n ref=\"buttonRef\"\n class=\"x-search-button xds:button\"\n :class=\"dynamicClasses\"\n data-test=\"search-button\"\n @click=\"emitEvents\"\n >\n <!-- @slot _Required_. Button content (text, icon, or both) -->\n <slot><span class=\"xds:icon\">⌕</span></slot>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport type { VueCSSClasses } from '../../../utils/types'\nimport type { WireMetadata } from '../../../wiring/wiring.types'\nimport { computed, defineComponent, ref } from 'vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { searchBoxXModule } from '../x-module'\n\n/**\n * This component renders a button to submit the query.\n *\n * @remarks\n * If query is not empty, it emits {@link XEventsTypes.UserAcceptedAQuery} and\n * {@link SearchBoxXEvents.UserPressedSearchButton} events with the query as payload.\n * It also adds `x-search-button--has-empty-query` as class when there is no query.\n *\n * @public\n */\nexport default defineComponent({\n name: 'SearchButton',\n xModule: searchBoxXModule.name,\n setup() {\n const $x = use$x()\n\n const buttonRef = ref<HTMLElement | null>(null)\n\n const { query } = useState('searchBox')\n\n const isQueryEmpty = computed(() => query.value.length === 0)\n\n const dynamicClasses = computed<VueCSSClasses>(() => ({\n 'x-search-button--has-empty-query': isQueryEmpty.value,\n }))\n\n /**\n * Generates the {@link WireMetadata} object omitting the moduleName.\n *\n * @returns The {@link WireMetadata} object omitting the moduleName.\n * @internal\n */\n function createEventMetadata(): Omit<WireMetadata, 'moduleName'> {\n return {\n target: buttonRef.value,\n feature: 'search_box',\n }\n }\n\n /**\n * Emits events when the button is clicked.\n *\n * @public\n */\n function emitEvents() {\n if (!isQueryEmpty.value) {\n $x.emit('UserAcceptedAQuery', query.value, createEventMetadata())\n $x.emit('UserPressedSearchButton', query.value, createEventMetadata())\n }\n }\n\n return {\n dynamicClasses,\n buttonRef,\n emitEvents,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following events:\n\n- [`UserAcceptedAQuery`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n- [`UserPressedSearchButton`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n\n<!-- prettier-ignore-start -->\n:::warning\nNote that no events are emitted if the query is empty.\n:::\n<!-- prettier-ignore-end -->\n\n## Dynamic classes\n\n`SearchButton` uses the `x-search-button--has-empty-query` dynamic CSS class to modify the HTML\nbutton style when the query is empty.\n\n## See it in action\n\nIn this example, a clickable button is rendered.\n\n_Click the Search button to try it out!_\n\n```vue live\n<template>\n <SearchButton />\n</template>\n\n<script setup>\nimport { SearchButton } from '@empathyco/x-components/search-box'\n</script>\n```\n\n### Play with default slot\n\nHere text is passed in the default slot instead of an icon to customize the button content.\n\n_Click the icon button to try it out!_\n\n```vue live\n<template>\n <SearchButton>Search</SearchButton>\n</template>\n\n<script setup>\nimport { SearchButton } from '@empathyco/x-components/search-box'\n</script>\n```\n\n### Play with events\n\nIn this example, the `UserPressedSearchButton` event has been implemented so that when you enter a\nsearch term and click the Search button, the search term is displayed as a message.\n\n_Type any term in the input field and then click the Search button to try it out!_\n\n```vue live\n<template>\n <div>\n <div style=\"display: flex;\">\n <SearchInput />\n <SearchButton\n @UserPressedSearchButton=\"\n query => {\n message = query\n }\n \"\n />\n </div>\n {{ message }}\n </div>\n</template>\n\n<script setup>\nimport { SearchInput, SearchButton } from '@empathyco/x-components/search-box'\nimport { ref } from 'vue'\n\nconst message = ref('')\n</script>\n```\n\n## Extending the component\n\nComponents can be combined and communicate with each other. Commonly, the `SearchButton` component\ncommunicates with the [`SearchInput`](./search-input.md) to submit the query. In this example, when\nyou enter a search term and click the Search button, the “Looking for results” message is displayed.\n\n_Type any term in the input field and then click the Search button to try it out!_\n\n```vue live\n<template>\n <div>\n <div style=\"display: flex;\">\n <SearchInput />\n <SearchButton\n @UserAcceptedAQuery=\"\n () => {\n message = 'looking for results'\n }\n \"\n >Search</SearchButton\n >\n </div>\n {{ message }}\n </div>\n</template>\n\n<script setup>\nimport { SearchButton, SearchInput } from '@empathyco/x-components/search-box'\nimport { ref } from 'vue'\n\nconst message = ref('')\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAqBA;;;;;;;;;AASE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,gBAAgB,CAAC,IAAI;IAC9B,KAAK,GAAA;AACH,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB,QAAA,MAAM,SAAQ,GAAI,GAAG,CAAqB,IAAI,CAAA;QAE9C,MAAM,EAAE,KAAI,EAAE,GAAI,QAAQ,CAAC,WAAW,CAAA;AAEtC,QAAA,MAAM,YAAW,GAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAK,KAAM,CAAC,CAAA;AAE5D,QAAA,MAAM,cAAa,GAAI,QAAQ,CAAgB,OAAO;YACpD,kCAAkC,EAAE,YAAY,CAAC,KAAK;AACvD,SAAA,CAAC,CAAA;AAEF;;;;;AAKE;AACF,QAAA,SAAS,mBAAmB,GAAA;YAC1B,OAAO;gBACL,MAAM,EAAE,SAAS,CAAC,KAAK;AACvB,gBAAA,OAAO,EAAE,YAAY;aACvB;QACF;AAEA;;;;AAIE;AACF,QAAA,SAAS,UAAU,GAAA;AACjB,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;AACvB,gBAAA,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAA;AAChE,gBAAA,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAA;YACvE;QACF;QAEA,OAAO;YACL,cAAc;YACd,SAAS;YACT,UAAU;SACZ;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"search-button2.vue.js","sources":["../../../../../src/x-modules/search-box/components/search-button.vue"],"sourcesContent":["<template>\n <button\n ref=\"buttonRef\"\n class=\"x-search-button xds:button\"\n :class=\"dynamicClasses\"\n data-test=\"search-button\"\n @click=\"emitEvents\"\n >\n <!-- @slot _Required_. Button content (text, icon, or both) -->\n <slot><span class=\"xds:icon\">⌕</span></slot>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport type { VueCSSClasses } from '../../../utils/types'\nimport type { WireMetadata } from '../../../wiring/wiring.types'\nimport { computed, defineComponent, ref } from 'vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { searchBoxXModule } from '../x-module'\n\n/**\n * This component renders a button to submit the query.\n *\n * @remarks\n * If query is not empty, it emits {@link XEventsTypes.UserAcceptedAQuery} and\n * {@link SearchBoxXEvents.UserPressedSearchButton} events with the query as payload.\n * It also adds `x-search-button--has-empty-query` as class when there is no query.\n *\n * @public\n */\nexport default defineComponent({\n name: 'SearchButton',\n xModule: searchBoxXModule.name,\n setup() {\n const $x = use$x()\n\n const buttonRef = ref<HTMLElement | null>(null)\n\n const { query } = useState('searchBox')\n\n const isQueryEmpty = computed(() => query.value.length === 0)\n\n const dynamicClasses = computed<VueCSSClasses>(() => ({\n 'x-search-button--has-empty-query': isQueryEmpty.value,\n }))\n\n /**\n * Generates the {@link WireMetadata} object omitting the moduleName.\n *\n * @returns The {@link WireMetadata} object omitting the moduleName.\n * @internal\n */\n function createEventMetadata(): Omit<WireMetadata, 'moduleName'> {\n return {\n target: buttonRef.value,\n feature: 'search_box',\n }\n }\n\n /**\n * Emits events when the button is clicked.\n *\n * @public\n */\n function emitEvents() {\n if (!isQueryEmpty.value) {\n $x.emit('UserAcceptedAQuery', query.value, createEventMetadata())\n $x.emit('UserPressedSearchButton', query.value, createEventMetadata())\n }\n }\n\n return {\n dynamicClasses,\n buttonRef,\n emitEvents,\n }\n },\n})\n</script>\n\n<docs lang=\"mdx\">\n## Events\n\nThis component emits the following events:\n\n- [`UserAcceptedAQuery`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n- [`UserPressedSearchButton`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts)\n\n<!-- prettier-ignore-start -->\n:::warning\nNote that no events are emitted if the query is empty.\n:::\n<!-- prettier-ignore-end -->\n\n## Dynamic classes\n\n`SearchButton` uses the `x-search-button--has-empty-query` dynamic CSS class to modify the HTML\nbutton style when the query is empty.\n\n## See it in action\n\nIn this example, a clickable button is rendered.\n\n_Click the Search button to try it out!_\n\n```vue live\n<template>\n <SearchButton />\n</template>\n\n<script setup>\nimport { SearchButton } from '@empathyco/x-components/search-box'\n</script>\n```\n\n### Play with default slot\n\nHere text is passed in the default slot instead of an icon to customize the button content.\n\n_Click the icon button to try it out!_\n\n```vue live\n<template>\n <SearchButton>Search</SearchButton>\n</template>\n\n<script setup>\nimport { SearchButton } from '@empathyco/x-components/search-box'\n</script>\n```\n\n### Play with events\n\nIn this example, the `UserPressedSearchButton` event has been implemented so that when you enter a\nsearch term and click the Search button, the search term is displayed as a message.\n\n_Type any term in the input field and then click the Search button to try it out!_\n\n```vue live\n<template>\n <div>\n <div style=\"display: flex;\">\n <SearchInput />\n <SearchButton\n @UserPressedSearchButton=\"\n query => {\n message = query\n }\n \"\n />\n </div>\n {{ message }}\n </div>\n</template>\n\n<script setup>\nimport { SearchInput, SearchButton } from '@empathyco/x-components/search-box'\nimport { ref } from 'vue'\n\nconst message = ref('')\n</script>\n```\n\n## Extending the component\n\nComponents can be combined and communicate with each other. Commonly, the `SearchButton` component\ncommunicates with the [`SearchInput`](./search-input.md) to submit the query. In this example, when\nyou enter a search term and click the Search button, the “Looking for results” message is displayed.\n\n_Type any term in the input field and then click the Search button to try it out!_\n\n```vue live\n<template>\n <div>\n <div style=\"display: flex;\">\n <SearchInput />\n <SearchButton\n @UserAcceptedAQuery=\"\n () => {\n message = 'looking for results'\n }\n \"\n >Search</SearchButton\n >\n </div>\n {{ message }}\n </div>\n</template>\n\n<script setup>\nimport { SearchButton, SearchInput } from '@empathyco/x-components/search-box'\nimport { ref } from 'vue'\n\nconst message = ref('')\n</script>\n```\n</docs>\n"],"names":[],"mappings":";;;;;AAqBA;;;;;;;;;AASE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,gBAAgB,CAAC,IAAI;IAC9B,KAAK,GAAA;AACH,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB,QAAA,MAAM,SAAQ,GAAI,GAAG,CAAqB,IAAI,CAAA;QAE9C,MAAM,EAAE,KAAI,EAAE,GAAI,QAAQ,CAAC,WAAW,CAAA;AAEtC,QAAA,MAAM,YAAW,GAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAK,KAAM,CAAC,CAAA;AAE5D,QAAA,MAAM,cAAa,GAAI,QAAQ,CAAgB,OAAO;YACpD,kCAAkC,EAAE,YAAY,CAAC,KAAK;AACvD,SAAA,CAAC,CAAA;AAEF;;;;;AAKE;AACF,QAAA,SAAS,mBAAmB,GAAA;YAC1B,OAAO;gBACL,MAAM,EAAE,SAAS,CAAC,KAAK;AACvB,gBAAA,OAAO,EAAE,YAAY;aACvB;QACF;AAEA;;;;AAIE;AACF,QAAA,SAAS,UAAU,GAAA;AACjB,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;AACvB,gBAAA,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAA;AAChE,gBAAA,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAA;YACvE;QACF;QAEA,OAAO;YACL,cAAc;YACd,SAAS;YACT,UAAU;SACZ;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -1,7 +1,7 @@
1
- import _sfc_main from './search-input-placeholder.vue2.js';
1
+ import _sfc_main from './search-input-placeholder2.vue.js';
2
2
  import { openBlock, createBlock, resolveDynamicComponent, withCtx, createElementBlock, toDisplayString, createCommentVNode } from 'vue';
3
- import './search-input-placeholder.vue3.js';
4
- import './search-input-placeholder.vue4.js';
3
+ import './search-input-placeholder3.vue.js';
4
+ import './search-input-placeholder4.vue.js';
5
5
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
6
6
 
7
7
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, ref, computed, watch, onBeforeUnmount, h } from 'vue';
2
2
  import _sfc_main$1 from '../../../components/animations/animate-translate.vue.js';
3
- import '../../../components/animations/animate-translate.vue2.js';
3
+ import '../../../components/animations/animate-translate2.vue.js';
4
4
  import { use$x } from '../../../composables/use-_x.js';
5
5
  import { useState } from '../../../composables/use-state.js';
6
6
  import { AnimationProp } from '../../../types/animation-prop.js';
@@ -183,4 +183,4 @@ var _sfc_main = defineComponent({
183
183
  });
184
184
 
185
185
  export { _sfc_main as default };
186
- //# sourceMappingURL=search-input-placeholder.vue2.js.map
186
+ //# sourceMappingURL=search-input-placeholder2.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-input-placeholder.vue2.js","sources":["../../../../../src/x-modules/search-box/components/search-input-placeholder.vue"],"sourcesContent":["<template>\n <component\n :is=\"animation\"\n v-if=\"isVisible\"\n class=\"x-search-input-placeholder xds:input-placeholder\"\n mode=\"out-in\"\n >\n <span :key=\"message\" data-test=\"search-input-placeholder\">\n {{ message }}\n </span>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport { computed, defineComponent, h, onBeforeUnmount, ref, watch } from 'vue'\nimport AnimateTranslate from '../../../components/animations/animate-translate.vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { AnimationProp } from '../../../types'\nimport { searchBoxXModule } from '../x-module'\n\n/**.\n * This component renders an animated placeholder for the search input in the shape of a list of\n * iterating messages that can be configured to happen always or only when hovering the input\n *\n * @public\n */\nexport default defineComponent({\n name: 'SearchInputPlaceholder',\n xModule: searchBoxXModule.name,\n props: {\n /**\n * List of messages to animate.\n *\n * @public\n */\n messages: {\n type: Array as PropType<string[]>,\n required: true,\n },\n /**\n * Animation component used for the messages.\n *\n * @public\n */\n animation: {\n type: AnimationProp,\n default: () => h(AnimateTranslate, { animationOrigin: 'bottom-to-top' }),\n },\n /**\n * Time in milliseconds during which each message is visible.\n *\n * @public\n */\n animationIntervalMs: {\n type: Number,\n default: 1500,\n },\n /**\n * Whether the messages animation is active only when hovering the search input or always.\n *\n * @public\n */\n animateOnlyOnHover: Boolean,\n },\n setup(props) {\n const $x = use$x()\n\n /**.\n * The search box written query\n *\n * @internal\n */\n const { query } = useState('searchBox')\n\n /**.\n * The search box hover status\n *\n * @internal\n */\n const isSearchBoxHovered = ref(false)\n\n /**.\n * The search box focus status\n *\n * @internal\n */\n const isSearchBoxFocused = ref(false)\n\n /**\n * The index used to point to the current animation message in the list.\n *\n * @internal\n */\n const animationMessageIndex = ref(0)\n\n /**\n * The interval used for the animation.\n *\n * @internal\n */\n const animationInterval = ref<number | undefined>(undefined)\n\n /**\n * The visibility state of the component.\n *\n * @returns The visibility state based on the search input state (query & focus).\n *\n * @internal\n */\n const isVisible = computed((): boolean => !query.value && !isSearchBoxFocused.value)\n\n /**\n * The animation state of the component.\n *\n * @returns Whether the animation is active or not.\n *\n * @internal\n */\n const isBeingAnimated = computed(\n (): boolean => isVisible.value && (!props.animateOnlyOnHover || isSearchBoxHovered.value),\n )\n\n /**\n * The current placeholder message.\n *\n * @returns The message to display as placeholder at any moment.\n *\n * @internal\n */\n const message = computed((): string | undefined =>\n isBeingAnimated.value ? props.messages[animationMessageIndex.value] : props.messages[0],\n )\n\n /**\n * Clears the interval used for the animation.\n *\n * @internal\n */\n const stopAnimationInterval = (): void => {\n if (animationInterval.value) {\n clearInterval(animationInterval.value)\n animationInterval.value = undefined\n }\n }\n\n /**\n * Increments animation message index; if the new index exceeds the messages list length, it is\n * reset to 0.\n *\n * @internal\n */\n const incrementAnimationMessageIndex = (): void => {\n animationMessageIndex.value = (animationMessageIndex.value + 1) % props.messages.length\n }\n\n $x.on('UserHoveredInSearchBox', false).subscribe(() => (isSearchBoxHovered.value = true))\n\n $x.on('UserHoveredOutSearchBox', false).subscribe(() => (isSearchBoxHovered.value = false))\n\n $x.on('UserFocusedSearchBox', false).subscribe(() => (isSearchBoxFocused.value = true))\n\n $x.on('UserBlurredSearchBox', false).subscribe(() => (isSearchBoxFocused.value = false))\n\n /**\n * Starts or stops the animation depending on the current animation state.\n *\n * @internal\n */\n const resetAnimation = (): void => {\n stopAnimationInterval()\n if (isBeingAnimated.value) {\n animationInterval.value = window.setInterval((): void => {\n incrementAnimationMessageIndex()\n }, props.animationIntervalMs)\n }\n }\n\n watch(() => 'animationIntervalMs', resetAnimation)\n\n /**\n * Resets the animation message index to zero.\n *\n * @internal\n */\n const resetAnimationMessageIndex = (): void => {\n animationMessageIndex.value = 0\n }\n\n watch(\n () => props.messages,\n () => {\n resetAnimationMessageIndex()\n resetAnimation()\n },\n { deep: true },\n )\n\n /**\n * Sets the animation message index with the right value for the next future iteration when the\n * current one stops,assuring the user will see always a new message on each animation state\n * change.\n *\n * @internal\n */\n watch(\n isBeingAnimated,\n () => {\n if (!isBeingAnimated.value) {\n if (props.animateOnlyOnHover) {\n resetAnimationMessageIndex()\n }\n incrementAnimationMessageIndex()\n }\n resetAnimation()\n },\n { immediate: true },\n )\n\n onBeforeUnmount(() => {\n stopAnimationInterval()\n })\n\n return {\n isVisible,\n message,\n }\n },\n})\n</script>\n\n<style lang=\"css\">\n.x-search-input-placeholder-container {\n position: relative;\n}\n</style>\n\n<style lang=\"css\" scoped>\n.x-search-input-placeholder {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n pointer-events: none;\n}\n</style>\n\n<docs lang=\"mdx\">\n## See it in action\n\nHere a basic example of how the animated search input placeholder is rendered.\n\n```vue live\n<template>\n <div style=\"position: relative; overflow: hidden;\">\n <SearchInputPlaceholder\n style=\"position: absolute; height: 100%; pointer-events: none;\"\n :messages=\"placeholderMessages\"\n />\n <SearchInput />\n </div>\n</template>\n\n<script setup>\nimport { SearchInput, SearchInputPlaceholder } from '@empathyco/x-components/search-box'\nimport { ref } from 'vue'\n\nconst placeholderMessages = ref([\n 'Find shirts',\n 'Find shoes',\n 'Find watches',\n 'Find handbags',\n 'Find sunglasses',\n])\n</script>\n```\n\n### Animating only on hover\n\nIn this example, the placeholder is configured to animate only when the user hovers in the search\ninput, showing the first message of the array the rest of the time.\n\n```vue live\n<template>\n <div style=\"position: relative; overflow: hidden;\">\n <SearchInputPlaceholder\n style=\"position: absolute; height: 100%; pointer-events: none;\"\n :messages=\"placeholderMessages\"\n :animate-only-on-hover=\"true\"\n />\n <SearchInput />\n </div>\n</template>\n\n<script setup>\nimport { SearchInput, SearchInputPlaceholder } from '@empathyco/x-components/search-box'\nimport { ref } from 'vue'\n\nconst placeholderMessages = ref([\n 'Find shirts',\n 'Find shoes',\n 'Find watches',\n 'Find handbags',\n 'Find sunglasses',\n])\n</script>\n```\n</docs>\n"],"names":["AnimateTranslate"],"mappings":";;;;;;;;AAsBA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,gBAAgB,CAAC,IAAI;AAC9B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,KAA2B;AACjC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD;;;;AAIE;AACF,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,OAAO,EAAE,MAAM,CAAC,CAACA,WAAgB,EAAE,EAAE,eAAe,EAAE,eAAc,EAAG,CAAC;AACzE,SAAA;AACD;;;;AAIE;AACF,QAAA,mBAAmB,EAAE;AACnB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD;;;;AAIE;AACF,QAAA,kBAAkB,EAAE,OAAO;AAC5B,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB;;;;AAIE;QACF,MAAM,EAAE,KAAI,EAAE,GAAI,QAAQ,CAAC,WAAW,CAAA;AAEtC;;;;AAIE;AACF,QAAA,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAA;AAEpC;;;;AAIE;AACF,QAAA,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAA;AAEpC;;;;AAIE;AACF,QAAA,MAAM,qBAAoB,GAAI,GAAG,CAAC,CAAC,CAAA;AAEnC;;;;AAIE;AACF,QAAA,MAAM,iBAAgB,GAAI,GAAG,CAAqB,SAAS,CAAA;AAE3D;;;;;;AAME;AACF,QAAA,MAAM,SAAQ,GAAI,QAAQ,CAAC,MAAe,CAAC,KAAK,CAAC,KAAI,IAAK,CAAC,kBAAkB,CAAC,KAAK,CAAA;AAEnF;;;;;;AAME;QACF,MAAM,eAAc,GAAI,QAAQ,CAC9B,MAAe,SAAS,CAAC,KAAI,KAAM,CAAC,KAAK,CAAC,kBAAiB,IAAK,kBAAkB,CAAC,KAAK,CAAC,CAC3F;AAEA;;;;;;AAME;AACF,QAAA,MAAM,OAAM,GAAI,QAAQ,CAAC,MACvB,eAAe,CAAC,KAAI,GAAI,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CACzF;AAEA;;;;AAIE;QACF,MAAM,qBAAoB,GAAI,MAAU;AACtC,YAAA,IAAI,iBAAiB,CAAC,KAAK,EAAE;AAC3B,gBAAA,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAA;AACrC,gBAAA,iBAAiB,CAAC,KAAI,GAAI,SAAQ;YACpC;AACF,QAAA,CAAA;AAEA;;;;;AAKE;QACF,MAAM,iCAAiC,MAAU;AAC/C,YAAA,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAI,GAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAK;AACxF,QAAA,CAAA;QAEA,EAAE,CAAC,EAAE,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,kBAAkB,CAAC,KAAI,GAAI,IAAI,CAAC,CAAA;QAExF,EAAE,CAAC,EAAE,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,kBAAkB,CAAC,QAAQ,KAAK,CAAC,CAAA;QAE1F,EAAE,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,kBAAkB,CAAC,KAAI,GAAI,IAAI,CAAC,CAAA;QAEtF,EAAE,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,kBAAkB,CAAC,QAAQ,KAAK,CAAC,CAAA;AAEvF;;;;AAIE;QACF,MAAM,cAAa,GAAI,MAAU;AAC/B,YAAA,qBAAqB,EAAC;AACtB,YAAA,IAAI,eAAe,CAAC,KAAK,EAAE;gBACzB,iBAAiB,CAAC,KAAI,GAAI,MAAM,CAAC,WAAW,CAAC,MAAU;AACrD,oBAAA,8BAA8B,EAAC;AACjC,gBAAA,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAA;YAC9B;AACF,QAAA,CAAA;QAEA,KAAK,CAAC,MAAM,qBAAqB,EAAE,cAAc,CAAA;AAEjD;;;;AAIE;QACF,MAAM,0BAAyB,GAAI,MAAU;AAC3C,YAAA,qBAAqB,CAAC,KAAI,GAAI,CAAA;AAChC,QAAA,CAAA;QAEA,KAAK,CACH,MAAM,KAAK,CAAC,QAAQ,EACpB,MAAI;AACF,YAAA,0BAA0B,EAAC;AAC3B,YAAA,cAAc,EAAC;AACjB,QAAA,CAAC,EACD,EAAE,IAAI,EAAE,IAAG,EAAG,CAChB;AAEA;;;;;;AAME;AACF,QAAA,KAAK,CACH,eAAe,EACf,MAAI;AACF,YAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AAC1B,gBAAA,IAAI,KAAK,CAAC,kBAAkB,EAAE;AAC5B,oBAAA,0BAA0B,EAAC;gBAC7B;AACA,gBAAA,8BAA8B,EAAC;YACjC;AACA,YAAA,cAAc,EAAC;AACjB,QAAA,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,CACrB;QAEA,eAAe,CAAC,MAAI;AAClB,YAAA,qBAAqB,EAAC;AACxB,QAAA,CAAC,CAAA;QAED,OAAO;YACL,SAAS;YACT,OAAO;SACT;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"search-input-placeholder2.vue.js","sources":["../../../../../src/x-modules/search-box/components/search-input-placeholder.vue"],"sourcesContent":["<template>\n <component\n :is=\"animation\"\n v-if=\"isVisible\"\n class=\"x-search-input-placeholder xds:input-placeholder\"\n mode=\"out-in\"\n >\n <span :key=\"message\" data-test=\"search-input-placeholder\">\n {{ message }}\n </span>\n </component>\n</template>\n\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport { computed, defineComponent, h, onBeforeUnmount, ref, watch } from 'vue'\nimport AnimateTranslate from '../../../components/animations/animate-translate.vue'\nimport { use$x } from '../../../composables/use-$x'\nimport { useState } from '../../../composables/use-state'\nimport { AnimationProp } from '../../../types'\nimport { searchBoxXModule } from '../x-module'\n\n/**.\n * This component renders an animated placeholder for the search input in the shape of a list of\n * iterating messages that can be configured to happen always or only when hovering the input\n *\n * @public\n */\nexport default defineComponent({\n name: 'SearchInputPlaceholder',\n xModule: searchBoxXModule.name,\n props: {\n /**\n * List of messages to animate.\n *\n * @public\n */\n messages: {\n type: Array as PropType<string[]>,\n required: true,\n },\n /**\n * Animation component used for the messages.\n *\n * @public\n */\n animation: {\n type: AnimationProp,\n default: () => h(AnimateTranslate, { animationOrigin: 'bottom-to-top' }),\n },\n /**\n * Time in milliseconds during which each message is visible.\n *\n * @public\n */\n animationIntervalMs: {\n type: Number,\n default: 1500,\n },\n /**\n * Whether the messages animation is active only when hovering the search input or always.\n *\n * @public\n */\n animateOnlyOnHover: Boolean,\n },\n setup(props) {\n const $x = use$x()\n\n /**.\n * The search box written query\n *\n * @internal\n */\n const { query } = useState('searchBox')\n\n /**.\n * The search box hover status\n *\n * @internal\n */\n const isSearchBoxHovered = ref(false)\n\n /**.\n * The search box focus status\n *\n * @internal\n */\n const isSearchBoxFocused = ref(false)\n\n /**\n * The index used to point to the current animation message in the list.\n *\n * @internal\n */\n const animationMessageIndex = ref(0)\n\n /**\n * The interval used for the animation.\n *\n * @internal\n */\n const animationInterval = ref<number | undefined>(undefined)\n\n /**\n * The visibility state of the component.\n *\n * @returns The visibility state based on the search input state (query & focus).\n *\n * @internal\n */\n const isVisible = computed((): boolean => !query.value && !isSearchBoxFocused.value)\n\n /**\n * The animation state of the component.\n *\n * @returns Whether the animation is active or not.\n *\n * @internal\n */\n const isBeingAnimated = computed(\n (): boolean => isVisible.value && (!props.animateOnlyOnHover || isSearchBoxHovered.value),\n )\n\n /**\n * The current placeholder message.\n *\n * @returns The message to display as placeholder at any moment.\n *\n * @internal\n */\n const message = computed((): string | undefined =>\n isBeingAnimated.value ? props.messages[animationMessageIndex.value] : props.messages[0],\n )\n\n /**\n * Clears the interval used for the animation.\n *\n * @internal\n */\n const stopAnimationInterval = (): void => {\n if (animationInterval.value) {\n clearInterval(animationInterval.value)\n animationInterval.value = undefined\n }\n }\n\n /**\n * Increments animation message index; if the new index exceeds the messages list length, it is\n * reset to 0.\n *\n * @internal\n */\n const incrementAnimationMessageIndex = (): void => {\n animationMessageIndex.value = (animationMessageIndex.value + 1) % props.messages.length\n }\n\n $x.on('UserHoveredInSearchBox', false).subscribe(() => (isSearchBoxHovered.value = true))\n\n $x.on('UserHoveredOutSearchBox', false).subscribe(() => (isSearchBoxHovered.value = false))\n\n $x.on('UserFocusedSearchBox', false).subscribe(() => (isSearchBoxFocused.value = true))\n\n $x.on('UserBlurredSearchBox', false).subscribe(() => (isSearchBoxFocused.value = false))\n\n /**\n * Starts or stops the animation depending on the current animation state.\n *\n * @internal\n */\n const resetAnimation = (): void => {\n stopAnimationInterval()\n if (isBeingAnimated.value) {\n animationInterval.value = window.setInterval((): void => {\n incrementAnimationMessageIndex()\n }, props.animationIntervalMs)\n }\n }\n\n watch(() => 'animationIntervalMs', resetAnimation)\n\n /**\n * Resets the animation message index to zero.\n *\n * @internal\n */\n const resetAnimationMessageIndex = (): void => {\n animationMessageIndex.value = 0\n }\n\n watch(\n () => props.messages,\n () => {\n resetAnimationMessageIndex()\n resetAnimation()\n },\n { deep: true },\n )\n\n /**\n * Sets the animation message index with the right value for the next future iteration when the\n * current one stops,assuring the user will see always a new message on each animation state\n * change.\n *\n * @internal\n */\n watch(\n isBeingAnimated,\n () => {\n if (!isBeingAnimated.value) {\n if (props.animateOnlyOnHover) {\n resetAnimationMessageIndex()\n }\n incrementAnimationMessageIndex()\n }\n resetAnimation()\n },\n { immediate: true },\n )\n\n onBeforeUnmount(() => {\n stopAnimationInterval()\n })\n\n return {\n isVisible,\n message,\n }\n },\n})\n</script>\n\n<style lang=\"css\">\n.x-search-input-placeholder-container {\n position: relative;\n}\n</style>\n\n<style lang=\"css\" scoped>\n.x-search-input-placeholder {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n pointer-events: none;\n}\n</style>\n\n<docs lang=\"mdx\">\n## See it in action\n\nHere a basic example of how the animated search input placeholder is rendered.\n\n```vue live\n<template>\n <div style=\"position: relative; overflow: hidden;\">\n <SearchInputPlaceholder\n style=\"position: absolute; height: 100%; pointer-events: none;\"\n :messages=\"placeholderMessages\"\n />\n <SearchInput />\n </div>\n</template>\n\n<script setup>\nimport { SearchInput, SearchInputPlaceholder } from '@empathyco/x-components/search-box'\nimport { ref } from 'vue'\n\nconst placeholderMessages = ref([\n 'Find shirts',\n 'Find shoes',\n 'Find watches',\n 'Find handbags',\n 'Find sunglasses',\n])\n</script>\n```\n\n### Animating only on hover\n\nIn this example, the placeholder is configured to animate only when the user hovers in the search\ninput, showing the first message of the array the rest of the time.\n\n```vue live\n<template>\n <div style=\"position: relative; overflow: hidden;\">\n <SearchInputPlaceholder\n style=\"position: absolute; height: 100%; pointer-events: none;\"\n :messages=\"placeholderMessages\"\n :animate-only-on-hover=\"true\"\n />\n <SearchInput />\n </div>\n</template>\n\n<script setup>\nimport { SearchInput, SearchInputPlaceholder } from '@empathyco/x-components/search-box'\nimport { ref } from 'vue'\n\nconst placeholderMessages = ref([\n 'Find shirts',\n 'Find shoes',\n 'Find watches',\n 'Find handbags',\n 'Find sunglasses',\n])\n</script>\n```\n</docs>\n"],"names":["AnimateTranslate"],"mappings":";;;;;;;;AAsBA;;;;;AAKE;AACF,gBAAe,eAAe,CAAC;AAC7B,IAAA,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,gBAAgB,CAAC,IAAI;AAC9B,IAAA,KAAK,EAAE;AACL;;;;AAIE;AACF,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,KAA2B;AACjC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD;;;;AAIE;AACF,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,OAAO,EAAE,MAAM,CAAC,CAACA,WAAgB,EAAE,EAAE,eAAe,EAAE,eAAc,EAAG,CAAC;AACzE,SAAA;AACD;;;;AAIE;AACF,QAAA,mBAAmB,EAAE;AACnB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD;;;;AAIE;AACF,QAAA,kBAAkB,EAAE,OAAO;AAC5B,KAAA;AACD,IAAA,KAAK,CAAC,KAAK,EAAA;AACT,QAAA,MAAM,EAAC,GAAI,KAAK,EAAC;AAEjB;;;;AAIE;QACF,MAAM,EAAE,KAAI,EAAE,GAAI,QAAQ,CAAC,WAAW,CAAA;AAEtC;;;;AAIE;AACF,QAAA,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAA;AAEpC;;;;AAIE;AACF,QAAA,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAA;AAEpC;;;;AAIE;AACF,QAAA,MAAM,qBAAoB,GAAI,GAAG,CAAC,CAAC,CAAA;AAEnC;;;;AAIE;AACF,QAAA,MAAM,iBAAgB,GAAI,GAAG,CAAqB,SAAS,CAAA;AAE3D;;;;;;AAME;AACF,QAAA,MAAM,SAAQ,GAAI,QAAQ,CAAC,MAAe,CAAC,KAAK,CAAC,KAAI,IAAK,CAAC,kBAAkB,CAAC,KAAK,CAAA;AAEnF;;;;;;AAME;QACF,MAAM,eAAc,GAAI,QAAQ,CAC9B,MAAe,SAAS,CAAC,KAAI,KAAM,CAAC,KAAK,CAAC,kBAAiB,IAAK,kBAAkB,CAAC,KAAK,CAAC,CAC3F;AAEA;;;;;;AAME;AACF,QAAA,MAAM,OAAM,GAAI,QAAQ,CAAC,MACvB,eAAe,CAAC,KAAI,GAAI,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CACzF;AAEA;;;;AAIE;QACF,MAAM,qBAAoB,GAAI,MAAU;AACtC,YAAA,IAAI,iBAAiB,CAAC,KAAK,EAAE;AAC3B,gBAAA,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAA;AACrC,gBAAA,iBAAiB,CAAC,KAAI,GAAI,SAAQ;YACpC;AACF,QAAA,CAAA;AAEA;;;;;AAKE;QACF,MAAM,iCAAiC,MAAU;AAC/C,YAAA,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAI,GAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAK;AACxF,QAAA,CAAA;QAEA,EAAE,CAAC,EAAE,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,kBAAkB,CAAC,KAAI,GAAI,IAAI,CAAC,CAAA;QAExF,EAAE,CAAC,EAAE,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,kBAAkB,CAAC,QAAQ,KAAK,CAAC,CAAA;QAE1F,EAAE,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,kBAAkB,CAAC,KAAI,GAAI,IAAI,CAAC,CAAA;QAEtF,EAAE,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,kBAAkB,CAAC,QAAQ,KAAK,CAAC,CAAA;AAEvF;;;;AAIE;QACF,MAAM,cAAa,GAAI,MAAU;AAC/B,YAAA,qBAAqB,EAAC;AACtB,YAAA,IAAI,eAAe,CAAC,KAAK,EAAE;gBACzB,iBAAiB,CAAC,KAAI,GAAI,MAAM,CAAC,WAAW,CAAC,MAAU;AACrD,oBAAA,8BAA8B,EAAC;AACjC,gBAAA,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAA;YAC9B;AACF,QAAA,CAAA;QAEA,KAAK,CAAC,MAAM,qBAAqB,EAAE,cAAc,CAAA;AAEjD;;;;AAIE;QACF,MAAM,0BAAyB,GAAI,MAAU;AAC3C,YAAA,qBAAqB,CAAC,KAAI,GAAI,CAAA;AAChC,QAAA,CAAA;QAEA,KAAK,CACH,MAAM,KAAK,CAAC,QAAQ,EACpB,MAAI;AACF,YAAA,0BAA0B,EAAC;AAC3B,YAAA,cAAc,EAAC;AACjB,QAAA,CAAC,EACD,EAAE,IAAI,EAAE,IAAG,EAAG,CAChB;AAEA;;;;;;AAME;AACF,QAAA,KAAK,CACH,eAAe,EACf,MAAI;AACF,YAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AAC1B,gBAAA,IAAI,KAAK,CAAC,kBAAkB,EAAE;AAC5B,oBAAA,0BAA0B,EAAC;gBAC7B;AACA,gBAAA,8BAA8B,EAAC;YACjC;AACA,YAAA,cAAc,EAAC;AACjB,QAAA,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,CACrB;QAEA,eAAe,CAAC,MAAI;AAClB,YAAA,qBAAqB,EAAC;AACxB,QAAA,CAAC,CAAA;QAED,OAAO;YACL,SAAS;YACT,OAAO;SACT;IACF,CAAC;AACF,CAAA,CAAA;;;;"}
@@ -4,4 +4,4 @@ var css = ".x-search-input-placeholder-container{position:relative}";
4
4
  injectCss(css);
5
5
 
6
6
  export { css };
7
- //# sourceMappingURL=search-input-placeholder.vue3.js.map
7
+ //# sourceMappingURL=search-input-placeholder3.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-input-placeholder3.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -4,4 +4,4 @@ var css = ".x-search-input-placeholder[data-v-db4f79d1]{align-items:center;displ
4
4
  injectCss(css);
5
5
 
6
6
  export { css };
7
- //# sourceMappingURL=search-input-placeholder.vue4.js.map
7
+ //# sourceMappingURL=search-input-placeholder4.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-input-placeholder4.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,6 +1,6 @@
1
- import _sfc_main from './search-input.vue2.js';
1
+ import _sfc_main from './search-input2.vue.js';
2
2
  import { openBlock, createElementBlock, withKeys, withModifiers } from 'vue';
3
- import './search-input.vue3.js';
3
+ import './search-input3.vue.js';
4
4
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
5
5
 
6
6
  const _hoisted_1 = ["maxlength", "value"];
@@ -225,4 +225,4 @@ var _sfc_main = defineComponent({
225
225
  });
226
226
 
227
227
  export { _sfc_main as default };
228
- //# sourceMappingURL=search-input.vue2.js.map
228
+ //# sourceMappingURL=search-input2.vue.js.map