@coveo/atomic 3.28.0-pre.c758e56a2c → 3.28.0-pre.d7a2bdbfed

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 (775) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/atomic.esm.js.map +1 -1
  3. package/dist/atomic/components/_index.d.ts +12 -0
  4. package/dist/atomic/components/_index.js +6 -0
  5. package/dist/atomic/components/analytics-config.js +2 -2938
  6. package/dist/atomic/components/analytics-config.js.map +1 -1
  7. package/dist/atomic/components/atomic-aria-live2.js +1 -1
  8. package/dist/atomic/components/atomic-category-facet.js +1 -1
  9. package/dist/atomic/components/atomic-citation.js +1 -1
  10. package/dist/atomic/components/atomic-commerce-category-facet2.js +1 -1
  11. package/dist/atomic/components/atomic-commerce-no-products.d.ts +11 -0
  12. package/dist/atomic/components/atomic-commerce-no-products.js +74 -0
  13. package/dist/atomic/components/atomic-commerce-no-products.js.map +1 -0
  14. package/dist/atomic/components/atomic-commerce-numeric-facet2.js +2 -2
  15. package/dist/atomic/components/atomic-commerce-query-error.js +1 -1
  16. package/dist/atomic/components/atomic-commerce-recommendation-interface.d.ts +11 -0
  17. package/dist/atomic/components/atomic-commerce-recommendation-interface.js +209 -0
  18. package/dist/atomic/components/atomic-commerce-recommendation-interface.js.map +1 -0
  19. package/dist/atomic/components/atomic-commerce-refine-modal.js +1 -215
  20. package/dist/atomic/components/atomic-commerce-refine-modal.js.map +1 -1
  21. package/dist/atomic/components/atomic-commerce-refine-modal2.js +219 -0
  22. package/dist/atomic/components/atomic-commerce-refine-modal2.js.map +1 -0
  23. package/dist/atomic/components/atomic-commerce-refine-toggle.d.ts +11 -0
  24. package/dist/atomic/{p-852ffdb4.entry.js → components/atomic-commerce-refine-toggle.js} +144 -2
  25. package/dist/atomic/components/atomic-commerce-refine-toggle.js.map +1 -0
  26. package/dist/atomic/components/atomic-commerce-text.d.ts +11 -0
  27. package/dist/atomic/components/atomic-commerce-text.js +8 -0
  28. package/dist/atomic/components/atomic-commerce-text.js.map +1 -0
  29. package/dist/atomic/components/atomic-commerce-text2.js +60 -0
  30. package/dist/atomic/components/atomic-commerce-text2.js.map +1 -0
  31. package/dist/atomic/components/atomic-commerce-timeframe-facet2.js +1 -1
  32. package/dist/atomic/components/atomic-facet-manager.js +1 -1
  33. package/dist/atomic/components/atomic-facet.js +1 -1
  34. package/dist/atomic/components/atomic-format-currency.js +1 -1
  35. package/dist/atomic/components/atomic-format-number.js +1 -1
  36. package/dist/atomic/components/atomic-format-unit.js +1 -1
  37. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  38. package/dist/atomic/components/atomic-html2.js +1 -1
  39. package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
  40. package/dist/atomic/components/atomic-insight-facet.js +1 -1
  41. package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
  42. package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
  43. package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
  44. package/dist/atomic/components/atomic-insight-interface.js +2 -9
  45. package/dist/atomic/components/atomic-insight-interface.js.map +1 -1
  46. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  47. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  48. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  49. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  50. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  51. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  52. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
  53. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  54. package/dist/atomic/components/atomic-insight-result-list.js +1 -1
  55. package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
  56. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  57. package/dist/atomic/components/atomic-insight-search-box.js +2 -2
  58. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  59. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  60. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  61. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  62. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  63. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  64. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  65. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  66. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
  67. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  68. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  69. package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
  70. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  71. package/dist/atomic/components/atomic-layout-section.d.ts +11 -0
  72. package/dist/atomic/components/atomic-layout-section.js +35 -0
  73. package/dist/atomic/components/atomic-layout-section.js.map +1 -0
  74. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  75. package/dist/atomic/components/atomic-modal2.js +2 -2
  76. package/dist/atomic/components/atomic-no-results.js +2 -14
  77. package/dist/atomic/components/atomic-no-results.js.map +1 -1
  78. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  79. package/dist/atomic/components/atomic-pager.js +3 -3
  80. package/dist/atomic/components/atomic-product-children.js +7 -1
  81. package/dist/atomic/components/atomic-product-children.js.map +1 -1
  82. package/dist/atomic/components/atomic-product-description.js +14 -2
  83. package/dist/atomic/components/atomic-product-description.js.map +1 -1
  84. package/dist/atomic/components/atomic-product-excerpt.js +14 -2
  85. package/dist/atomic/components/atomic-product-excerpt.js.map +1 -1
  86. package/dist/atomic/components/atomic-product-link.js +13 -1
  87. package/dist/atomic/components/atomic-product-link.js.map +1 -1
  88. package/dist/atomic/components/atomic-product-price.js +1 -1
  89. package/dist/atomic/components/atomic-product-text.d.ts +11 -0
  90. package/dist/atomic/components/atomic-product-text.js +8 -0
  91. package/dist/atomic/components/atomic-product-text.js.map +1 -0
  92. package/dist/atomic/components/atomic-product-text2.js +83 -0
  93. package/dist/atomic/components/atomic-product-text2.js.map +1 -0
  94. package/dist/atomic/components/atomic-query-error.js +1 -1
  95. package/dist/atomic/components/atomic-query-summary.js +1 -1
  96. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  97. package/dist/atomic/components/atomic-quickview.js +1 -1
  98. package/dist/atomic/components/atomic-recs-error.js +1 -1
  99. package/dist/atomic/components/atomic-recs-interface.js +2 -1
  100. package/dist/atomic/components/atomic-recs-interface.js.map +1 -1
  101. package/dist/atomic/components/atomic-recs-list.js +1 -1
  102. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  103. package/dist/atomic/components/atomic-refine-toggle.js +3 -20
  104. package/dist/atomic/components/atomic-refine-toggle.js.map +1 -1
  105. package/dist/atomic/components/atomic-relevance-inspector2.js +2 -2
  106. package/dist/atomic/components/atomic-result-children.js +1 -1
  107. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  108. package/dist/atomic/components/atomic-result-link.js +1 -1
  109. package/dist/atomic/components/atomic-result-list.js +1 -1
  110. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  111. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  112. package/dist/atomic/components/atomic-result-text2.js +2 -45
  113. package/dist/atomic/components/atomic-result-text2.js.map +1 -1
  114. package/dist/atomic/components/atomic-results-per-page.js +1 -1
  115. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
  116. package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
  117. package/dist/atomic/components/atomic-search-box.js +5 -4
  118. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  119. package/dist/atomic/components/atomic-search-interface.js +2 -1
  120. package/dist/atomic/components/atomic-search-interface.js.map +1 -1
  121. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  122. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  123. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  124. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  125. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  126. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  127. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  128. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  129. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  130. package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.js +1 -1
  131. package/dist/atomic/components/components/commerce/atomic-commerce-products-per-page/atomic-commerce-products-per-page.js +1 -1
  132. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +1 -0
  133. package/dist/atomic/components/components/commerce/atomic-product-template/atomic-product-template.js +1 -4
  134. package/dist/atomic/components/components/commerce/index.js +0 -5
  135. package/dist/atomic/components/components/commerce/lazy-index.js +0 -5
  136. package/dist/atomic/components/components/common/index.js +0 -1
  137. package/dist/atomic/components/components/common/interface/interface-common.js +9 -8
  138. package/dist/atomic/components/components/common/lazy-index.js +0 -1
  139. package/dist/atomic/components/components/insight/atomic-insight-interface/store.js +0 -8
  140. package/dist/atomic/components/{stencil-expandable-text.js → expandable-text.js} +1 -1
  141. package/dist/atomic/components/expandable-text.js.map +1 -0
  142. package/dist/atomic/components/facet-date-input.js +3 -3
  143. package/dist/atomic/components/facet-number-input.js +2 -2
  144. package/dist/atomic/components/global/environment.js +1 -1
  145. package/dist/atomic/components/index.js.map +1 -1
  146. package/dist/atomic/components/interface-common-stencil.js +2941 -0
  147. package/dist/atomic/components/interface-common-stencil.js.map +1 -0
  148. package/dist/atomic/components/product-utils.js +8 -1
  149. package/dist/atomic/components/product-utils.js.map +1 -1
  150. package/dist/atomic/components/sections.js.map +1 -1
  151. package/dist/atomic/components/stencil-guard.js +23 -0
  152. package/dist/atomic/components/stencil-guard.js.map +1 -0
  153. package/dist/atomic/components/stencil-item-text-highlighted.js +49 -0
  154. package/dist/atomic/components/stencil-item-text-highlighted.js.map +1 -0
  155. package/dist/atomic/components/tab-button.js +1 -1
  156. package/dist/atomic/components/tab-popover.js +1 -1
  157. package/dist/atomic/components/{components/common/no-items/utils.js → utils2.js} +5 -1
  158. package/dist/atomic/components/utils2.js.map +1 -0
  159. package/dist/atomic/{p-f5cea23f.entry.js → p-0267a585.entry.js} +2 -2
  160. package/dist/atomic/p-0a7b0daa.entry.js +2 -0
  161. package/dist/atomic/{p-55b4fb2b.entry.js.map → p-0a7b0daa.entry.js.map} +1 -1
  162. package/dist/atomic/{p-dcded8cb.entry.js → p-0b0ea7d3.entry.js} +2 -2
  163. package/dist/atomic/{p-1326166a.entry.js → p-135be5aa.entry.js} +2 -2
  164. package/dist/atomic/p-1cb2280d.js +2 -0
  165. package/dist/atomic/p-1cb2280d.js.map +1 -0
  166. package/dist/atomic/{p-ba6a30a7.entry.js → p-1cb6a01c.entry.js} +2 -2
  167. package/dist/atomic/p-1cb6a01c.entry.js.map +1 -0
  168. package/dist/atomic/{p-f3e9a9f8.entry.js → p-1cc97adc.entry.js} +2 -2
  169. package/dist/atomic/{p-ea5d2736.entry.js → p-22a0d1b9.entry.js} +2 -2
  170. package/dist/atomic/{p-d88aec96.entry.js → p-29d27418.entry.js} +2 -2
  171. package/dist/atomic/{p-90e88505.entry.js → p-2f0cb73c.entry.js} +2 -2
  172. package/dist/atomic/p-2ff906b9.entry.js +2 -0
  173. package/dist/atomic/p-2ff906b9.entry.js.map +1 -0
  174. package/dist/atomic/{p-fb060cc0.entry.js → p-306c83ea.entry.js} +2 -2
  175. package/dist/atomic/{p-b15ca291.entry.js → p-3195fa42.entry.js} +2 -2
  176. package/dist/atomic/{p-714c5c2c.entry.js → p-32b26cd0.entry.js} +2 -2
  177. package/dist/atomic/{p-1c72983f.entry.js → p-32c90fe9.entry.js} +2 -2
  178. package/dist/atomic/p-39223a2a.entry.js +2 -0
  179. package/dist/atomic/p-39223a2a.entry.js.map +1 -0
  180. package/dist/atomic/p-39447826.entry.js +2 -0
  181. package/dist/atomic/{p-fafea879.entry.js.map → p-39447826.entry.js.map} +1 -1
  182. package/dist/atomic/{p-4e2ec64c.entry.js → p-3ec18de9.entry.js} +2 -2
  183. package/dist/atomic/{p-a010dddb.entry.js → p-3f42a2db.entry.js} +2 -2
  184. package/dist/atomic/{p-4495b132.entry.js → p-45b26cc7.entry.js} +2 -2
  185. package/dist/atomic/p-46522ee4.entry.js +2 -0
  186. package/dist/atomic/{p-50ff35f8.entry.js.map → p-46522ee4.entry.js.map} +1 -1
  187. package/dist/atomic/{p-ffb15631.entry.js → p-47ee9d37.entry.js} +2 -2
  188. package/dist/atomic/p-4e57cee1.entry.js +2 -0
  189. package/dist/atomic/{p-1429fbdb.entry.js.map → p-4e57cee1.entry.js.map} +1 -1
  190. package/dist/atomic/{p-aa4fc96f.entry.js → p-50b9a5d2.entry.js} +2 -2
  191. package/dist/atomic/{p-e25287fd.entry.js → p-51c5acfc.entry.js} +2 -2
  192. package/dist/atomic/{p-f72a0133.entry.js → p-543e811e.entry.js} +2 -2
  193. package/dist/atomic/p-57f53200.entry.js +2 -0
  194. package/dist/atomic/{p-e4f872fb.entry.js.map → p-57f53200.entry.js.map} +1 -1
  195. package/dist/atomic/{p-0df077b7.entry.js → p-59017e0a.entry.js} +2 -2
  196. package/dist/atomic/p-59017e0a.entry.js.map +1 -0
  197. package/dist/atomic/p-5cf5bb98.entry.js +2 -0
  198. package/dist/atomic/{p-2866ca4d.entry.js → p-60a9e718.entry.js} +2 -2
  199. package/dist/atomic/{p-eabb4eae.entry.js → p-66683abd.entry.js} +2 -2
  200. package/dist/atomic/{p-8b579505.entry.js → p-67315415.entry.js} +2 -2
  201. package/dist/atomic/p-67afec23.js +2 -0
  202. package/dist/atomic/p-67afec23.js.map +1 -0
  203. package/dist/atomic/p-67ef14ac.entry.js +2 -0
  204. package/dist/atomic/p-67ef14ac.entry.js.map +1 -0
  205. package/dist/atomic/{p-714ee3bb.entry.js → p-689e063d.entry.js} +2 -2
  206. package/dist/atomic/{p-f5686c7e.entry.js → p-690b5853.entry.js} +2 -2
  207. package/dist/atomic/p-6fa077f7.entry.js +2 -0
  208. package/dist/atomic/{p-b90e5ea5.entry.js.map → p-6fa077f7.entry.js.map} +1 -1
  209. package/dist/atomic/{p-ace45b24.entry.js → p-70ab347b.entry.js} +2 -2
  210. package/dist/atomic/p-733252f1.entry.js +2 -0
  211. package/dist/atomic/p-733252f1.entry.js.map +1 -0
  212. package/dist/atomic/{p-966509f8.entry.js → p-76122df5.entry.js} +2 -2
  213. package/dist/atomic/{p-f5323d5b.js → p-7cb3144b.js} +2 -2
  214. package/dist/atomic/p-7cb3144b.js.map +1 -0
  215. package/dist/atomic/{p-9ec72c3b.entry.js → p-7d1f8d9c.entry.js} +2 -2
  216. package/dist/atomic/{p-d37bb72b.entry.js → p-80dc3bab.entry.js} +2 -2
  217. package/dist/atomic/p-8392e900.entry.js +2 -0
  218. package/dist/atomic/p-8392e900.entry.js.map +1 -0
  219. package/dist/atomic/{p-6e11d4c6.entry.js → p-8d7f57d9.entry.js} +2 -2
  220. package/dist/atomic/{p-7d63f0e6.entry.js → p-8e09f796.entry.js} +2 -2
  221. package/dist/atomic/{p-a84d94cb.entry.js → p-95942ba2.entry.js} +2 -2
  222. package/dist/atomic/{p-21d55afc.entry.js → p-99604083.entry.js} +2 -2
  223. package/dist/atomic/{p-d4ec6961.entry.js → p-9a08dad7.entry.js} +2 -2
  224. package/dist/atomic/{p-03fa8481.entry.js → p-9ae88402.entry.js} +2 -2
  225. package/dist/atomic/p-9c7dbbdf.js.map +1 -1
  226. package/dist/atomic/{p-01c109cf.entry.js → p-9d2230db.entry.js} +2 -2
  227. package/dist/atomic/{p-7f5485ad.entry.js → p-9e4b1ecb.entry.js} +2 -2
  228. package/dist/atomic/{p-8074a49d.entry.js.map → p-9e4b1ecb.entry.js.map} +1 -1
  229. package/dist/atomic/{p-fac32d34.entry.js → p-9eb108c9.entry.js} +2 -2
  230. package/dist/atomic/p-a046cf06.entry.js +2 -0
  231. package/dist/atomic/p-a046cf06.entry.js.map +1 -0
  232. package/dist/atomic/{p-5a3cd055.entry.js → p-a3169f59.entry.js} +2 -2
  233. package/dist/atomic/{p-50ff35f8.entry.js → p-a772b365.entry.js} +2 -2
  234. package/dist/atomic/{p-56d6d329.entry.js.map → p-a772b365.entry.js.map} +1 -1
  235. package/dist/atomic/{p-c6f15059.entry.js → p-a8281e9b.entry.js} +2 -2
  236. package/dist/atomic/{p-4f03327d.entry.js → p-ab5eec3d.entry.js} +2 -2
  237. package/dist/atomic/{p-1aedbfbf.entry.js → p-b19a8cbb.entry.js} +2 -2
  238. package/dist/atomic/p-b1a7d837.js +2 -0
  239. package/dist/atomic/p-b1a7d837.js.map +1 -0
  240. package/dist/atomic/{p-bd32ca3c.entry.js → p-b3604b54.entry.js} +2 -2
  241. package/dist/atomic/p-b3604b54.entry.js.map +1 -0
  242. package/dist/atomic/{p-61f79055.entry.js → p-b4d47ca9.entry.js} +2 -2
  243. package/dist/atomic/{p-1e3f156e.entry.js → p-b4dfe5b2.entry.js} +2 -2
  244. package/dist/atomic/p-b747e4a9.entry.js +2 -0
  245. package/dist/atomic/{p-e4cc2a37.entry.js → p-b7824e0e.entry.js} +2 -2
  246. package/dist/atomic/p-bb081d4e.js +2 -0
  247. package/dist/atomic/p-bb081d4e.js.map +1 -0
  248. package/dist/atomic/p-bd0aa08f.entry.js +2 -0
  249. package/dist/atomic/{p-022784c5.entry.js.map → p-bd0aa08f.entry.js.map} +1 -1
  250. package/dist/atomic/p-be05ddd0.entry.js +2 -0
  251. package/dist/atomic/p-be05ddd0.entry.js.map +1 -0
  252. package/dist/atomic/{p-3632e456.entry.js → p-be13ed5c.entry.js} +2 -2
  253. package/dist/atomic/p-befca41f.entry.js +2 -0
  254. package/dist/atomic/p-befca41f.entry.js.map +1 -0
  255. package/dist/atomic/{p-2871034a.entry.js → p-bfeefcaa.entry.js} +2 -2
  256. package/dist/atomic/{p-b4b6f859.entry.js → p-c0d7b26d.entry.js} +2 -2
  257. package/dist/atomic/{p-9ef7ffc0.entry.js → p-c13d4039.entry.js} +2 -2
  258. package/dist/atomic/{p-4505f2e0.entry.js → p-c4f042ae.entry.js} +2 -2
  259. package/dist/atomic/p-c83f9cff.entry.js +2 -0
  260. package/dist/atomic/p-c83f9cff.entry.js.map +1 -0
  261. package/dist/atomic/p-cd725265.js +2 -0
  262. package/dist/atomic/{p-7d1c2ecd.js.map → p-cd725265.js.map} +1 -1
  263. package/dist/atomic/{p-faee1f57.entry.js → p-cd87574b.entry.js} +2 -2
  264. package/dist/atomic/{p-0875a7fb.entry.js → p-ce4e939b.entry.js} +2 -2
  265. package/dist/atomic/{p-1fbbed3e.entry.js → p-d1efd50f.entry.js} +2 -2
  266. package/dist/atomic/{p-7d773b22.entry.js → p-d30057a0.entry.js} +2 -2
  267. package/dist/atomic/{p-e7d5c4be.entry.js → p-d4aba9f9.entry.js} +2 -2
  268. package/dist/atomic/{p-ce1f6392.entry.js → p-d69756ae.entry.js} +2 -2
  269. package/dist/atomic/{p-08d1db60.entry.js → p-d827c148.entry.js} +2 -2
  270. package/dist/atomic/p-da578608.entry.js +2 -0
  271. package/dist/atomic/{p-852ffdb4.entry.js.map → p-da578608.entry.js.map} +1 -1
  272. package/dist/atomic/{p-d04ad3e5.entry.js → p-dd8c6bdd.entry.js} +2 -2
  273. package/dist/atomic/{p-886da915.entry.js → p-ddd52850.entry.js} +2 -2
  274. package/dist/atomic/{p-1d02a670.js → p-de00bdd6.js} +1 -1
  275. package/dist/atomic/p-de00bdd6.js.map +1 -0
  276. package/dist/atomic/{p-fecd79de.entry.js → p-e44155cc.entry.js} +2 -2
  277. package/dist/atomic/{p-c074198a.entry.js → p-e4754fd0.entry.js} +2 -2
  278. package/dist/atomic/{p-55b4fb2b.entry.js → p-e604fd29.entry.js} +2 -2
  279. package/dist/atomic/{p-27054c71.entry.js.map → p-e604fd29.entry.js.map} +1 -1
  280. package/dist/atomic/p-e80d722f.entry.js +2 -0
  281. package/dist/atomic/p-e80d722f.entry.js.map +1 -0
  282. package/dist/atomic/p-eab28672.entry.js +2 -0
  283. package/dist/atomic/p-eab28672.entry.js.map +1 -0
  284. package/dist/atomic/{p-db5285b1.entry.js → p-ec0161b7.entry.js} +2 -2
  285. package/dist/atomic/p-ec03a238.entry.js +2 -0
  286. package/dist/atomic/{p-7f5485ad.entry.js.map → p-ec03a238.entry.js.map} +1 -1
  287. package/dist/atomic/{p-eea2128f.entry.js → p-ec6bc15b.entry.js} +2 -2
  288. package/dist/atomic/{p-e37f01fc.entry.js → p-eebb168b.entry.js} +2 -2
  289. package/dist/atomic/p-f4a1bfe3.entry.js +2 -0
  290. package/dist/atomic/p-f4a1bfe3.entry.js.map +1 -0
  291. package/dist/atomic/{p-870dbeef.entry.js → p-f4b98113.entry.js} +2 -2
  292. package/dist/atomic/p-f6283657.entry.js +2 -0
  293. package/dist/atomic/{p-0df077b7.entry.js.map → p-f6283657.entry.js.map} +1 -1
  294. package/dist/atomic/{p-58268151.entry.js → p-f7f8096a.entry.js} +2 -2
  295. package/dist/atomic/{p-58268151.entry.js.map → p-f7f8096a.entry.js.map} +1 -1
  296. package/dist/atomic/{p-e988f378.js → p-f7f81710.js} +2 -2
  297. package/dist/atomic/{p-8403335e.entry.js → p-fb0bdcdb.entry.js} +2 -2
  298. package/dist/atomic/p-fb3e07e9.js +2 -0
  299. package/dist/atomic/p-fb3e07e9.js.map +1 -0
  300. package/dist/atomic/p-fbbbc454.entry.js +2 -0
  301. package/dist/atomic/p-fccb1769.js +2 -0
  302. package/dist/atomic/p-fccb1769.js.map +1 -0
  303. package/dist/atomic/{p-ebb35a4b.entry.js → p-fd9d1c3f.entry.js} +2 -2
  304. package/dist/cjs/_loader.cjs.js +1 -1
  305. package/dist/cjs/analytics-config-d9450484.js +49 -0
  306. package/dist/cjs/analytics-config-d9450484.js.map +1 -0
  307. package/dist/cjs/atomic-aria-live.cjs.entry.js +75 -0
  308. package/dist/cjs/atomic-aria-live.cjs.entry.js.map +1 -0
  309. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +3 -4
  310. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js.map +1 -1
  311. package/dist/cjs/atomic-category-facet.cjs.entry.js +3 -4
  312. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  313. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  314. package/dist/cjs/atomic-color-facet.cjs.entry.js +3 -4
  315. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  316. package/dist/cjs/{atomic-commerce-category-facet_6.cjs.entry.js → atomic-commerce-category-facet_5.cjs.entry.js} +109 -141
  317. package/dist/cjs/atomic-commerce-category-facet_5.cjs.entry.js.map +1 -0
  318. package/dist/cjs/atomic-commerce-facet-number-input_2.cjs.entry.js +149 -0
  319. package/dist/cjs/atomic-commerce-facet-number-input_2.cjs.entry.js.map +1 -0
  320. package/dist/cjs/atomic-commerce-no-products.cjs.entry.js +65 -0
  321. package/dist/cjs/atomic-commerce-no-products.cjs.entry.js.map +1 -0
  322. package/dist/cjs/atomic-commerce-query-error.cjs.entry.js +1 -1
  323. package/dist/cjs/atomic-commerce-recommendation-interface.cjs.entry.js +179 -0
  324. package/dist/cjs/atomic-commerce-recommendation-interface.cjs.entry.js.map +1 -0
  325. package/dist/cjs/atomic-commerce-refine-modal.cjs.entry.js +1 -1
  326. package/dist/cjs/atomic-commerce-refine-toggle.cjs.entry.js +74 -0
  327. package/dist/cjs/atomic-commerce-refine-toggle.cjs.entry.js.map +1 -0
  328. package/dist/cjs/atomic-commerce-text_2.cjs.entry.js +106 -0
  329. package/dist/cjs/atomic-commerce-text_2.cjs.entry.js.map +1 -0
  330. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  331. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
  332. package/dist/cjs/atomic-facet.cjs.entry.js +2 -3
  333. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  334. package/dist/cjs/atomic-focus-trap_2.cjs.entry.js +2 -2
  335. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  336. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  337. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  338. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  339. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  340. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
  341. package/dist/cjs/atomic-insight-facet.cjs.entry.js +2 -3
  342. package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
  343. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  344. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  345. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
  346. package/dist/cjs/atomic-insight-interface.cjs.entry.js +5 -12
  347. package/dist/cjs/atomic-insight-interface.cjs.entry.js.map +1 -1
  348. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  349. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +2 -3
  350. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
  351. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
  352. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +1 -1
  353. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  354. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  355. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  356. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  357. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  358. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  359. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  360. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
  361. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  362. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  363. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +5 -6
  364. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
  365. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  366. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  367. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  368. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  369. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  370. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  371. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  372. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  373. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  374. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  375. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  376. package/dist/cjs/atomic-layout-section.cjs.entry.js +18 -0
  377. package/dist/cjs/atomic-layout-section.cjs.entry.js.map +1 -0
  378. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  379. package/dist/cjs/atomic-no-results.cjs.entry.js +3 -15
  380. package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
  381. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +2 -3
  382. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  383. package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
  384. package/dist/cjs/atomic-product-description.cjs.entry.js +2 -2
  385. package/dist/cjs/atomic-product-description.cjs.entry.js.map +1 -1
  386. package/dist/cjs/atomic-product-excerpt.cjs.entry.js +2 -2
  387. package/dist/cjs/atomic-product-excerpt.cjs.entry.js.map +1 -1
  388. package/dist/cjs/atomic-product-link.cjs.entry.js +1 -1
  389. package/dist/cjs/atomic-product-numeric-field-value.cjs.entry.js +1 -1
  390. package/dist/cjs/atomic-product-price.cjs.entry.js +2 -2
  391. package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
  392. package/dist/cjs/atomic-query-summary.cjs.entry.js +1 -1
  393. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  394. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  395. package/dist/cjs/atomic-rating-facet.cjs.entry.js +3 -4
  396. package/dist/cjs/atomic-rating-facet.cjs.entry.js.map +1 -1
  397. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +3 -4
  398. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js.map +1 -1
  399. package/dist/cjs/atomic-recs-error.cjs.entry.js +1 -1
  400. package/dist/cjs/atomic-recs-interface.cjs.entry.js +7 -6
  401. package/dist/cjs/atomic-recs-interface.cjs.entry.js.map +1 -1
  402. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  403. package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
  404. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +3 -19
  405. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  406. package/dist/cjs/{atomic-aria-live_2.cjs.entry.js → atomic-relevance-inspector.cjs.entry.js} +3 -70
  407. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js.map +1 -0
  408. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  409. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  410. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  411. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  412. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  413. package/dist/cjs/atomic-result-text_2.cjs.entry.js +4 -46
  414. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  415. package/dist/cjs/atomic-results-per-page.cjs.entry.js +1 -1
  416. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
  417. package/dist/cjs/atomic-search-box.cjs.entry.js +5 -4
  418. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  419. package/dist/cjs/atomic-search-interface.cjs.entry.js +6 -5
  420. package/dist/cjs/atomic-search-interface.cjs.entry.js.map +1 -1
  421. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  422. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  423. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  424. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  425. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  426. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  427. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  428. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  429. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  430. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +5 -6
  431. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js.map +1 -1
  432. package/dist/cjs/atomic.cjs.js +1 -1
  433. package/dist/cjs/{stencil-expandable-text-80915f74.js → expandable-text-36fe9f8d.js} +1 -1
  434. package/dist/cjs/expandable-text-36fe9f8d.js.map +1 -0
  435. package/dist/cjs/{stencil-facet-header-a3dd9de0.js → facet-placeholder-ad0407f0.js} +12 -1
  436. package/dist/cjs/facet-placeholder-ad0407f0.js.map +1 -0
  437. package/dist/cjs/index-757bc886.js +34 -10
  438. package/dist/cjs/{analytics-config-d3622a33.js → interface-common-stencil-12a85cad.js} +4 -46
  439. package/dist/cjs/interface-common-stencil-12a85cad.js.map +1 -0
  440. package/dist/cjs/{product-utils-f6c780e3.js → product-utils-9507462c.js} +9 -1
  441. package/dist/cjs/product-utils-9507462c.js.map +1 -0
  442. package/dist/cjs/sections-4b4af2f8.js.map +1 -1
  443. package/dist/cjs/stencil-guard-caf49888.js +26 -0
  444. package/dist/cjs/stencil-guard-caf49888.js.map +1 -0
  445. package/dist/cjs/stencil-item-text-highlighted-91fd0fe8.js +52 -0
  446. package/dist/cjs/stencil-item-text-highlighted-91fd0fe8.js.map +1 -0
  447. package/dist/cjs/{timeframe-facet-common-d9078836.js → timeframe-facet-common-c555d20d.js} +4 -5
  448. package/dist/cjs/timeframe-facet-common-c555d20d.js.map +1 -0
  449. package/dist/cjs/utils-ca9c9aed.js +18 -0
  450. package/dist/cjs/utils-ca9c9aed.js.map +1 -0
  451. package/dist/cjs/version.cjs.js +2 -2
  452. package/dist/esm/_loader.js +1 -1
  453. package/dist/esm/analytics-config-40a361c2.js +43 -0
  454. package/dist/esm/analytics-config-40a361c2.js.map +1 -0
  455. package/dist/esm/atomic-aria-live.entry.js +71 -0
  456. package/dist/esm/atomic-aria-live.entry.js.map +1 -0
  457. package/dist/esm/atomic-automatic-facet_2.entry.js +1 -2
  458. package/dist/esm/atomic-automatic-facet_2.entry.js.map +1 -1
  459. package/dist/esm/atomic-category-facet.entry.js +2 -3
  460. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  461. package/dist/esm/atomic-citation.entry.js +1 -1
  462. package/dist/esm/atomic-color-facet.entry.js +1 -2
  463. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  464. package/dist/esm/{atomic-commerce-category-facet_6.entry.js → atomic-commerce-category-facet_5.entry.js} +109 -140
  465. package/dist/esm/atomic-commerce-category-facet_5.entry.js.map +1 -0
  466. package/dist/esm/atomic-commerce-facet-number-input_2.entry.js +144 -0
  467. package/dist/esm/atomic-commerce-facet-number-input_2.entry.js.map +1 -0
  468. package/dist/esm/atomic-commerce-no-products.entry.js +61 -0
  469. package/dist/esm/atomic-commerce-no-products.entry.js.map +1 -0
  470. package/dist/esm/atomic-commerce-query-error.entry.js +1 -1
  471. package/dist/esm/atomic-commerce-recommendation-interface.entry.js +175 -0
  472. package/dist/esm/atomic-commerce-recommendation-interface.entry.js.map +1 -0
  473. package/dist/esm/atomic-commerce-refine-modal.entry.js +1 -1
  474. package/dist/esm/atomic-commerce-refine-toggle.entry.js +70 -0
  475. package/dist/esm/atomic-commerce-refine-toggle.entry.js.map +1 -0
  476. package/dist/esm/atomic-commerce-text_2.entry.js +101 -0
  477. package/dist/esm/atomic-commerce-text_2.entry.js.map +1 -0
  478. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  479. package/dist/esm/atomic-facet-number-input.entry.js +2 -2
  480. package/dist/esm/atomic-facet.entry.js +2 -3
  481. package/dist/esm/atomic-facet.entry.js.map +1 -1
  482. package/dist/esm/atomic-focus-trap_2.entry.js +2 -2
  483. package/dist/esm/atomic-format-currency.entry.js +1 -1
  484. package/dist/esm/atomic-format-number.entry.js +1 -1
  485. package/dist/esm/atomic-format-unit.entry.js +1 -1
  486. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
  487. package/dist/esm/atomic-html.entry.js +1 -1
  488. package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
  489. package/dist/esm/atomic-insight-facet.entry.js +2 -3
  490. package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
  491. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  492. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  493. package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
  494. package/dist/esm/atomic-insight-interface.entry.js +3 -10
  495. package/dist/esm/atomic-insight-interface.entry.js.map +1 -1
  496. package/dist/esm/atomic-insight-no-results.entry.js +2 -2
  497. package/dist/esm/atomic-insight-numeric-facet.entry.js +2 -3
  498. package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
  499. package/dist/esm/atomic-insight-pager.entry.js +3 -3
  500. package/dist/esm/atomic-insight-query-error.entry.js +1 -1
  501. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  502. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  503. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  504. package/dist/esm/atomic-insight-result-children.entry.js +1 -1
  505. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  506. package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
  507. package/dist/esm/atomic-insight-result.entry.js +1 -1
  508. package/dist/esm/atomic-insight-search-box.entry.js +2 -2
  509. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  510. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  511. package/dist/esm/atomic-insight-timeframe-facet.entry.js +5 -6
  512. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
  513. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  514. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  515. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  516. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  517. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  518. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  519. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  520. package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
  521. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  522. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  523. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  524. package/dist/esm/atomic-layout-section.entry.js +14 -0
  525. package/dist/esm/atomic-layout-section.entry.js.map +1 -0
  526. package/dist/esm/atomic-load-more-results.entry.js +1 -1
  527. package/dist/esm/atomic-no-results.entry.js +3 -15
  528. package/dist/esm/atomic-no-results.entry.js.map +1 -1
  529. package/dist/esm/atomic-numeric-facet.entry.js +2 -3
  530. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  531. package/dist/esm/atomic-pager.entry.js +3 -3
  532. package/dist/esm/atomic-product-description.entry.js +1 -1
  533. package/dist/esm/atomic-product-description.entry.js.map +1 -1
  534. package/dist/esm/atomic-product-excerpt.entry.js +1 -1
  535. package/dist/esm/atomic-product-excerpt.entry.js.map +1 -1
  536. package/dist/esm/atomic-product-link.entry.js +1 -1
  537. package/dist/esm/atomic-product-numeric-field-value.entry.js +1 -1
  538. package/dist/esm/atomic-product-price.entry.js +2 -2
  539. package/dist/esm/atomic-query-error.entry.js +1 -1
  540. package/dist/esm/atomic-query-summary.entry.js +1 -1
  541. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  542. package/dist/esm/atomic-quickview.entry.js +1 -1
  543. package/dist/esm/atomic-rating-facet.entry.js +1 -2
  544. package/dist/esm/atomic-rating-facet.entry.js.map +1 -1
  545. package/dist/esm/atomic-rating-range-facet.entry.js +1 -2
  546. package/dist/esm/atomic-rating-range-facet.entry.js.map +1 -1
  547. package/dist/esm/atomic-recs-error.entry.js +1 -1
  548. package/dist/esm/atomic-recs-interface.entry.js +3 -2
  549. package/dist/esm/atomic-recs-interface.entry.js.map +1 -1
  550. package/dist/esm/atomic-recs-list.entry.js +1 -1
  551. package/dist/esm/atomic-refine-modal.entry.js +1 -1
  552. package/dist/esm/atomic-refine-toggle.entry.js +4 -20
  553. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  554. package/dist/esm/{atomic-aria-live_2.entry.js → atomic-relevance-inspector.entry.js} +5 -71
  555. package/dist/esm/atomic-relevance-inspector.entry.js.map +1 -0
  556. package/dist/esm/atomic-result-children.entry.js +1 -1
  557. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  558. package/dist/esm/atomic-result-link.entry.js +1 -1
  559. package/dist/esm/atomic-result-list.entry.js +1 -1
  560. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  561. package/dist/esm/atomic-result-text_2.entry.js +3 -45
  562. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  563. package/dist/esm/atomic-results-per-page.entry.js +1 -1
  564. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +2 -2
  565. package/dist/esm/atomic-search-box.entry.js +5 -4
  566. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  567. package/dist/esm/atomic-search-interface.entry.js +2 -1
  568. package/dist/esm/atomic-search-interface.entry.js.map +1 -1
  569. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  570. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  571. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  572. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  573. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  574. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  575. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  576. package/dist/esm/atomic-tab-button.entry.js +1 -1
  577. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  578. package/dist/esm/atomic-timeframe-facet.entry.js +5 -6
  579. package/dist/esm/atomic-timeframe-facet.entry.js.map +1 -1
  580. package/dist/esm/atomic.js +1 -1
  581. package/dist/esm/{stencil-expandable-text-957d599c.js → expandable-text-4eebe177.js} +1 -1
  582. package/dist/esm/expandable-text-4eebe177.js.map +1 -0
  583. package/dist/esm/{stencil-facet-header-8a22d37d.js → facet-placeholder-1ed55384.js} +12 -2
  584. package/dist/esm/facet-placeholder-1ed55384.js.map +1 -0
  585. package/dist/esm/index-3f35faca.js +34 -10
  586. package/dist/esm/{analytics-config-9367c413.js → interface-common-stencil-0c6e5ba8.js} +4 -42
  587. package/dist/esm/interface-common-stencil-0c6e5ba8.js.map +1 -0
  588. package/dist/esm/{product-utils-85109d2e.js → product-utils-8348689f.js} +9 -2
  589. package/dist/esm/product-utils-8348689f.js.map +1 -0
  590. package/dist/esm/sections-ae00b53a.js.map +1 -1
  591. package/dist/esm/stencil-guard-9329c8cd.js +23 -0
  592. package/dist/esm/stencil-guard-9329c8cd.js.map +1 -0
  593. package/dist/esm/stencil-item-text-highlighted-0e1c6c08.js +49 -0
  594. package/dist/esm/stencil-item-text-highlighted-0e1c6c08.js.map +1 -0
  595. package/dist/esm/{stencil-tips-be95482d.js → stencil-tips-06e9b3c2.js} +2 -2
  596. package/dist/esm/{stencil-tips-be95482d.js.map → stencil-tips-06e9b3c2.js.map} +1 -1
  597. package/dist/esm/{timeframe-facet-common-e16ae647.js → timeframe-facet-common-987f9f89.js} +2 -3
  598. package/dist/esm/timeframe-facet-common-987f9f89.js.map +1 -0
  599. package/dist/esm/utils-bd51f737.js +16 -0
  600. package/dist/esm/utils-bd51f737.js.map +1 -0
  601. package/dist/esm/version.js +2 -2
  602. package/dist/types/components/commerce/atomic-commerce-layout/atomic-commerce-layout.d.ts +1 -1
  603. package/dist/types/components/commerce/atomic-commerce-no-products/atomic-commerce-no-products.d.ts +6 -15
  604. package/dist/types/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.d.ts +45 -63
  605. package/dist/types/components/commerce/atomic-commerce-refine-toggle/atomic-commerce-refine-toggle.d.ts +8 -14
  606. package/dist/types/components/commerce/atomic-commerce-text/atomic-commerce-text.d.ts +5 -13
  607. package/dist/types/components/commerce/atomic-product-description/atomic-product-description.d.ts +1 -1
  608. package/dist/types/components/commerce/atomic-product-excerpt/atomic-product-excerpt.d.ts +1 -1
  609. package/dist/types/components/commerce/atomic-product-template/atomic-product-template.d.ts +1 -4
  610. package/dist/types/components/commerce/atomic-product-text/atomic-product-text.d.ts +15 -29
  611. package/dist/types/components/commerce/index.d.ts +0 -5
  612. package/dist/types/components/common/atomic-layout-section/atomic-layout-section.d.ts +2 -11
  613. package/dist/types/components/common/atomic-layout-section/sections.d.ts +1 -2
  614. package/dist/types/components/common/expandable-text/expandable-text.d.ts +4 -4
  615. package/dist/types/components/common/index.d.ts +0 -1
  616. package/dist/types/components/common/interface/interface-common.d.ts +2 -1
  617. package/dist/types/components/common/items-per-page/label.d.ts +2 -2
  618. package/dist/types/components/common/no-items/container.d.ts +2 -2
  619. package/dist/types/components/common/no-items/magnifying-glass.d.ts +2 -2
  620. package/dist/types/components/common/refine-modal/button.d.ts +1 -1
  621. package/dist/types/components/insight/atomic-insight-interface/store.d.ts +0 -4
  622. package/dist/types/components.d.ts +302 -6
  623. package/dist/types/utils/functional-component-utils.d.ts +0 -3
  624. package/docs/atomic-docs.json +801 -37
  625. package/package.json +3 -3
  626. package/dist/atomic/components/components/commerce/atomic-commerce-no-products/atomic-commerce-no-products.js +0 -95
  627. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +0 -235
  628. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.tw.css.js +0 -2
  629. package/dist/atomic/components/components/commerce/atomic-commerce-refine-toggle/atomic-commerce-refine-toggle.js +0 -84
  630. package/dist/atomic/components/components/commerce/atomic-commerce-refine-toggle/atomic-commerce-refine-toggle.tw.css.js +0 -2
  631. package/dist/atomic/components/components/commerce/atomic-commerce-text/atomic-commerce-text.js +0 -54
  632. package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +0 -135
  633. package/dist/atomic/components/components/commerce/product-template-component-utils/error.js +0 -6
  634. package/dist/atomic/components/components/commerce/product-template-component-utils/product-utils.js +0 -35
  635. package/dist/atomic/components/components/common/atomic-layout-section/atomic-layout-section.js +0 -31
  636. package/dist/atomic/components/components/common/item-text/field-warning.js +0 -6
  637. package/dist/atomic/components/components/common/item-text/item-text-fallback.js +0 -15
  638. package/dist/atomic/components/components/common/item-text/item-text-highlighted.js +0 -17
  639. package/dist/atomic/components/components/common/item-text/render-highlights.js +0 -13
  640. package/dist/atomic/components/components/common/no-items/container.js +0 -7
  641. package/dist/atomic/components/components/common/no-items/guard.js +0 -11
  642. package/dist/atomic/components/components/common/no-items/magnifying-glass.js +0 -11
  643. package/dist/atomic/components/components/common/no-items/no-items.js +0 -30
  644. package/dist/atomic/components/components/common/no-items/tips.js +0 -8
  645. package/dist/atomic/components/components/common/refine-modal/button.js +0 -14
  646. package/dist/atomic/components/components/common/refine-modal/guard.js +0 -23
  647. package/dist/atomic/components/stencil-expandable-text.js.map +0 -1
  648. package/dist/atomic/components/utils/object-utils.js +0 -13
  649. package/dist/atomic/p-022784c5.entry.js +0 -2
  650. package/dist/atomic/p-06037ffe.entry.js +0 -2
  651. package/dist/atomic/p-06037ffe.entry.js.map +0 -1
  652. package/dist/atomic/p-1429fbdb.entry.js +0 -2
  653. package/dist/atomic/p-1d02a670.js.map +0 -1
  654. package/dist/atomic/p-27054c71.entry.js +0 -2
  655. package/dist/atomic/p-3025e992.entry.js +0 -2
  656. package/dist/atomic/p-56d6d329.entry.js +0 -2
  657. package/dist/atomic/p-7555ad6d.js +0 -2
  658. package/dist/atomic/p-7555ad6d.js.map +0 -1
  659. package/dist/atomic/p-7d1c2ecd.js +0 -2
  660. package/dist/atomic/p-8074a49d.entry.js +0 -2
  661. package/dist/atomic/p-a1c4ac09.js +0 -2
  662. package/dist/atomic/p-a1c4ac09.js.map +0 -1
  663. package/dist/atomic/p-a3f0aaf4.js +0 -2
  664. package/dist/atomic/p-a3f0aaf4.js.map +0 -1
  665. package/dist/atomic/p-b0f8c3ae.entry.js +0 -2
  666. package/dist/atomic/p-b700e040.entry.js +0 -2
  667. package/dist/atomic/p-b700e040.entry.js.map +0 -1
  668. package/dist/atomic/p-b90e5ea5.entry.js +0 -2
  669. package/dist/atomic/p-ba6a30a7.entry.js.map +0 -1
  670. package/dist/atomic/p-bb10a380.entry.js +0 -2
  671. package/dist/atomic/p-bb10a380.entry.js.map +0 -1
  672. package/dist/atomic/p-bd32ca3c.entry.js.map +0 -1
  673. package/dist/atomic/p-c46d5a44.entry.js +0 -2
  674. package/dist/atomic/p-c46d5a44.entry.js.map +0 -1
  675. package/dist/atomic/p-d5d0a472.entry.js +0 -2
  676. package/dist/atomic/p-d5d0a472.entry.js.map +0 -1
  677. package/dist/atomic/p-d76c5232.entry.js +0 -2
  678. package/dist/atomic/p-e4f872fb.entry.js +0 -2
  679. package/dist/atomic/p-e6f377c8.entry.js +0 -2
  680. package/dist/atomic/p-e6f377c8.entry.js.map +0 -1
  681. package/dist/atomic/p-f1bbe060.entry.js +0 -2
  682. package/dist/atomic/p-f1bbe060.entry.js.map +0 -1
  683. package/dist/atomic/p-f5323d5b.js.map +0 -1
  684. package/dist/atomic/p-fafea879.entry.js +0 -2
  685. package/dist/cjs/analytics-config-d3622a33.js.map +0 -1
  686. package/dist/cjs/atomic-aria-live_2.cjs.entry.js.map +0 -1
  687. package/dist/cjs/atomic-commerce-category-facet_6.cjs.entry.js.map +0 -1
  688. package/dist/cjs/atomic-commerce-facets.cjs.entry.js +0 -120
  689. package/dist/cjs/atomic-commerce-facets.cjs.entry.js.map +0 -1
  690. package/dist/cjs/facet-placeholder-0111f0f1.js +0 -17
  691. package/dist/cjs/facet-placeholder-0111f0f1.js.map +0 -1
  692. package/dist/cjs/product-utils-f6c780e3.js.map +0 -1
  693. package/dist/cjs/stencil-expandable-text-80915f74.js.map +0 -1
  694. package/dist/cjs/stencil-facet-header-a3dd9de0.js.map +0 -1
  695. package/dist/cjs/timeframe-facet-common-d9078836.js.map +0 -1
  696. package/dist/esm/analytics-config-9367c413.js.map +0 -1
  697. package/dist/esm/atomic-aria-live_2.entry.js.map +0 -1
  698. package/dist/esm/atomic-commerce-category-facet_6.entry.js.map +0 -1
  699. package/dist/esm/atomic-commerce-facets.entry.js +0 -116
  700. package/dist/esm/atomic-commerce-facets.entry.js.map +0 -1
  701. package/dist/esm/facet-placeholder-ecbe6e6f.js +0 -15
  702. package/dist/esm/facet-placeholder-ecbe6e6f.js.map +0 -1
  703. package/dist/esm/product-utils-85109d2e.js.map +0 -1
  704. package/dist/esm/stencil-expandable-text-957d599c.js.map +0 -1
  705. package/dist/esm/stencil-facet-header-8a22d37d.js.map +0 -1
  706. package/dist/esm/timeframe-facet-common-e16ae647.js.map +0 -1
  707. package/dist/types/components/common/expandable-text/stencil-expandable-text.d.ts +0 -13
  708. /package/dist/atomic/{p-f5cea23f.entry.js.map → p-0267a585.entry.js.map} +0 -0
  709. /package/dist/atomic/{p-dcded8cb.entry.js.map → p-0b0ea7d3.entry.js.map} +0 -0
  710. /package/dist/atomic/{p-1326166a.entry.js.map → p-135be5aa.entry.js.map} +0 -0
  711. /package/dist/atomic/{p-f3e9a9f8.entry.js.map → p-1cc97adc.entry.js.map} +0 -0
  712. /package/dist/atomic/{p-ea5d2736.entry.js.map → p-22a0d1b9.entry.js.map} +0 -0
  713. /package/dist/atomic/{p-d88aec96.entry.js.map → p-29d27418.entry.js.map} +0 -0
  714. /package/dist/atomic/{p-90e88505.entry.js.map → p-2f0cb73c.entry.js.map} +0 -0
  715. /package/dist/atomic/{p-fb060cc0.entry.js.map → p-306c83ea.entry.js.map} +0 -0
  716. /package/dist/atomic/{p-b15ca291.entry.js.map → p-3195fa42.entry.js.map} +0 -0
  717. /package/dist/atomic/{p-714c5c2c.entry.js.map → p-32b26cd0.entry.js.map} +0 -0
  718. /package/dist/atomic/{p-1c72983f.entry.js.map → p-32c90fe9.entry.js.map} +0 -0
  719. /package/dist/atomic/{p-4e2ec64c.entry.js.map → p-3ec18de9.entry.js.map} +0 -0
  720. /package/dist/atomic/{p-a010dddb.entry.js.map → p-3f42a2db.entry.js.map} +0 -0
  721. /package/dist/atomic/{p-4495b132.entry.js.map → p-45b26cc7.entry.js.map} +0 -0
  722. /package/dist/atomic/{p-ffb15631.entry.js.map → p-47ee9d37.entry.js.map} +0 -0
  723. /package/dist/atomic/{p-aa4fc96f.entry.js.map → p-50b9a5d2.entry.js.map} +0 -0
  724. /package/dist/atomic/{p-e25287fd.entry.js.map → p-51c5acfc.entry.js.map} +0 -0
  725. /package/dist/atomic/{p-f72a0133.entry.js.map → p-543e811e.entry.js.map} +0 -0
  726. /package/dist/atomic/{p-d76c5232.entry.js.map → p-5cf5bb98.entry.js.map} +0 -0
  727. /package/dist/atomic/{p-2866ca4d.entry.js.map → p-60a9e718.entry.js.map} +0 -0
  728. /package/dist/atomic/{p-eabb4eae.entry.js.map → p-66683abd.entry.js.map} +0 -0
  729. /package/dist/atomic/{p-8b579505.entry.js.map → p-67315415.entry.js.map} +0 -0
  730. /package/dist/atomic/{p-714ee3bb.entry.js.map → p-689e063d.entry.js.map} +0 -0
  731. /package/dist/atomic/{p-f5686c7e.entry.js.map → p-690b5853.entry.js.map} +0 -0
  732. /package/dist/atomic/{p-ace45b24.entry.js.map → p-70ab347b.entry.js.map} +0 -0
  733. /package/dist/atomic/{p-966509f8.entry.js.map → p-76122df5.entry.js.map} +0 -0
  734. /package/dist/atomic/{p-9ec72c3b.entry.js.map → p-7d1f8d9c.entry.js.map} +0 -0
  735. /package/dist/atomic/{p-d37bb72b.entry.js.map → p-80dc3bab.entry.js.map} +0 -0
  736. /package/dist/atomic/{p-6e11d4c6.entry.js.map → p-8d7f57d9.entry.js.map} +0 -0
  737. /package/dist/atomic/{p-7d63f0e6.entry.js.map → p-8e09f796.entry.js.map} +0 -0
  738. /package/dist/atomic/{p-a84d94cb.entry.js.map → p-95942ba2.entry.js.map} +0 -0
  739. /package/dist/atomic/{p-21d55afc.entry.js.map → p-99604083.entry.js.map} +0 -0
  740. /package/dist/atomic/{p-d4ec6961.entry.js.map → p-9a08dad7.entry.js.map} +0 -0
  741. /package/dist/atomic/{p-03fa8481.entry.js.map → p-9ae88402.entry.js.map} +0 -0
  742. /package/dist/atomic/{p-01c109cf.entry.js.map → p-9d2230db.entry.js.map} +0 -0
  743. /package/dist/atomic/{p-fac32d34.entry.js.map → p-9eb108c9.entry.js.map} +0 -0
  744. /package/dist/atomic/{p-5a3cd055.entry.js.map → p-a3169f59.entry.js.map} +0 -0
  745. /package/dist/atomic/{p-c6f15059.entry.js.map → p-a8281e9b.entry.js.map} +0 -0
  746. /package/dist/atomic/{p-4f03327d.entry.js.map → p-ab5eec3d.entry.js.map} +0 -0
  747. /package/dist/atomic/{p-1aedbfbf.entry.js.map → p-b19a8cbb.entry.js.map} +0 -0
  748. /package/dist/atomic/{p-61f79055.entry.js.map → p-b4d47ca9.entry.js.map} +0 -0
  749. /package/dist/atomic/{p-1e3f156e.entry.js.map → p-b4dfe5b2.entry.js.map} +0 -0
  750. /package/dist/atomic/{p-3025e992.entry.js.map → p-b747e4a9.entry.js.map} +0 -0
  751. /package/dist/atomic/{p-e4cc2a37.entry.js.map → p-b7824e0e.entry.js.map} +0 -0
  752. /package/dist/atomic/{p-3632e456.entry.js.map → p-be13ed5c.entry.js.map} +0 -0
  753. /package/dist/atomic/{p-2871034a.entry.js.map → p-bfeefcaa.entry.js.map} +0 -0
  754. /package/dist/atomic/{p-b4b6f859.entry.js.map → p-c0d7b26d.entry.js.map} +0 -0
  755. /package/dist/atomic/{p-9ef7ffc0.entry.js.map → p-c13d4039.entry.js.map} +0 -0
  756. /package/dist/atomic/{p-4505f2e0.entry.js.map → p-c4f042ae.entry.js.map} +0 -0
  757. /package/dist/atomic/{p-faee1f57.entry.js.map → p-cd87574b.entry.js.map} +0 -0
  758. /package/dist/atomic/{p-0875a7fb.entry.js.map → p-ce4e939b.entry.js.map} +0 -0
  759. /package/dist/atomic/{p-1fbbed3e.entry.js.map → p-d1efd50f.entry.js.map} +0 -0
  760. /package/dist/atomic/{p-7d773b22.entry.js.map → p-d30057a0.entry.js.map} +0 -0
  761. /package/dist/atomic/{p-e7d5c4be.entry.js.map → p-d4aba9f9.entry.js.map} +0 -0
  762. /package/dist/atomic/{p-ce1f6392.entry.js.map → p-d69756ae.entry.js.map} +0 -0
  763. /package/dist/atomic/{p-08d1db60.entry.js.map → p-d827c148.entry.js.map} +0 -0
  764. /package/dist/atomic/{p-d04ad3e5.entry.js.map → p-dd8c6bdd.entry.js.map} +0 -0
  765. /package/dist/atomic/{p-886da915.entry.js.map → p-ddd52850.entry.js.map} +0 -0
  766. /package/dist/atomic/{p-fecd79de.entry.js.map → p-e44155cc.entry.js.map} +0 -0
  767. /package/dist/atomic/{p-c074198a.entry.js.map → p-e4754fd0.entry.js.map} +0 -0
  768. /package/dist/atomic/{p-db5285b1.entry.js.map → p-ec0161b7.entry.js.map} +0 -0
  769. /package/dist/atomic/{p-eea2128f.entry.js.map → p-ec6bc15b.entry.js.map} +0 -0
  770. /package/dist/atomic/{p-e37f01fc.entry.js.map → p-eebb168b.entry.js.map} +0 -0
  771. /package/dist/atomic/{p-870dbeef.entry.js.map → p-f4b98113.entry.js.map} +0 -0
  772. /package/dist/atomic/{p-e988f378.js.map → p-f7f81710.js.map} +0 -0
  773. /package/dist/atomic/{p-8403335e.entry.js.map → p-fb0bdcdb.entry.js.map} +0 -0
  774. /package/dist/atomic/{p-b0f8c3ae.entry.js.map → p-fbbbc454.entry.js.map} +0 -0
  775. /package/dist/atomic/{p-ebb35a4b.entry.js.map → p-fd9d1c3f.entry.js.map} +0 -0
@@ -79,15 +79,15 @@ const AtomicPager = class {
79
79
  });
80
80
  }
81
81
  render() {
82
- return (index.h(stencilPagerGuard.PagerGuard, { key: 'a1a0a05219c1122c416df6ae8261838b612c9fb9', hasError: this.searchStatusState.hasError, hasItems: this.searchStatusState.hasResults, isAppLoaded: this.isAppLoaded }, index.h(stencilPagerNavigation.PagerNavigation, { key: '74276a370ea7aabcc691aede26339bd160e52d66', i18n: this.bindings.i18n }, index.h(stencilPagerNavigation.PagerPreviousButton, { key: '4df538ddfec1e35580cbbeb45ce6a660a0216e7f', icon: this.previousButtonIcon, disabled: !this.pagerState.hasPreviousPage, i18n: this.bindings.i18n, onClick: () => {
82
+ return (index.h(stencilPagerGuard.PagerGuard, { key: '369f78fa1cb09522f21da7c46c1d570e69e4ef1b', hasError: this.searchStatusState.hasError, hasItems: this.searchStatusState.hasResults, isAppLoaded: this.isAppLoaded }, index.h(stencilPagerNavigation.PagerNavigation, { key: 'bfed460dcdab8375525ea1e9851960c0c9bd82ab', i18n: this.bindings.i18n }, index.h(stencilPagerNavigation.PagerPreviousButton, { key: '53af0bb4f467e2008aad68f1adf05650176f0b24', icon: this.previousButtonIcon, disabled: !this.pagerState.hasPreviousPage, i18n: this.bindings.i18n, onClick: () => {
83
83
  this.pager.previousPage();
84
84
  this.focusOnFirstResultAndScrollToTop();
85
- } }), index.h(stencilPagerNavigation.PagerPageButtons, { key: '7d220df9f2a8d956fa56360272daa447d4309b09', i18n: this.bindings.i18n }, this.pagerState.currentPages.map((pageNumber) => {
85
+ } }), index.h(stencilPagerNavigation.PagerPageButtons, { key: '8612ffe46a0861b9daf9cf3501a59a5c1a4bc294', i18n: this.bindings.i18n }, this.pagerState.currentPages.map((pageNumber) => {
86
86
  return (index.h(stencilPagerNavigation.PagerPageButton, { isSelected: this.pager.isCurrentPage(pageNumber), ariaLabel: this.bindings.i18n.t('page-number', { pageNumber }), onChecked: () => {
87
87
  this.pager.selectPage(pageNumber);
88
88
  this.focusOnFirstResultAndScrollToTop();
89
89
  }, page: pageNumber, groupName: this.radioGroupName, text: pageNumber.toLocaleString(this.bindings.i18n.language) }));
90
- })), index.h(stencilPagerNavigation.PagerNextButton, { key: '84764f9dbdaa8f2e074bffd4514534f4d45415b8', icon: this.nextButtonIcon, disabled: !this.pagerState.hasNextPage, i18n: this.bindings.i18n, onClick: () => {
90
+ })), index.h(stencilPagerNavigation.PagerNextButton, { key: 'be9ea2d1da6809f24b9f3988d27acf19f3c0ae42', icon: this.nextButtonIcon, disabled: !this.pagerState.hasNextPage, i18n: this.bindings.i18n, onClick: () => {
91
91
  this.pager.nextPage();
92
92
  this.focusOnFirstResultAndScrollToTop();
93
93
  } }))));
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-757bc886.js');
6
6
  const bueno = require('@coveo/bueno');
7
7
  const initializationUtils = require('./initialization-utils-62dc9852.js');
8
- const stencilExpandableText = require('./stencil-expandable-text-80915f74.js');
8
+ const expandableText = require('./expandable-text-36fe9f8d.js');
9
9
  const stencilProductTemplateDecorators = require('./stencil-product-template-decorators-8c9cf847.js');
10
10
  require('./dom-utils-d4790328.js');
11
11
  require('./event-utils-9bfcf3c5.js');
@@ -96,7 +96,7 @@ const AtomicProductDescription = class {
96
96
  if (!productDescription) {
97
97
  return index.h(initializationUtils.Hidden, null);
98
98
  }
99
- return (index.h(stencilExpandableText.ExpandableText, { isExpanded: this.isExpanded, isTruncated: this.isTruncated, truncateAfter: this.truncateAfter, onToggleExpand: (e) => this.onToggleExpand(e), showMoreLabel: this.bindings.i18n.t('show-more'), showLessLabel: this.bindings.i18n.t('show-less'), isCollapsible: this.isCollapsible }, index.h("atomic-product-text", { field: this.field })));
99
+ return (index.h(expandableText.ExpandableText, { isExpanded: this.isExpanded, isTruncated: this.isTruncated, truncateAfter: this.truncateAfter, onToggleExpand: (e) => this.onToggleExpand(e), showMoreLabel: this.bindings.i18n.t('show-more'), showLessLabel: this.bindings.i18n.t('show-less'), isCollapsible: this.isCollapsible }, index.h("atomic-product-text", { field: this.field })));
100
100
  }
101
101
  get hostElement() { return index.getElement(this); }
102
102
  };
@@ -1 +1 @@
1
- {"file":"atomic-product-description.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA,MAAM,2BAA2B,GAAG,wUAAwU,CAAC;AAC7W,uCAAe,2BAA2B;;;;;;;;;;;;MCuB7B,wBAAwB;IA+BnC;;QArBiB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;;;;QAQtB,kBAAa,GAAkB,GAAG,CAAC;;;;QAKnC,UAAK,GAAsC,cAAc,CAAC;;;;QAK1D,kBAAa,GAAG,IAAI,CAAC;0BAnBN,KAAK;2BACJ,KAAK;6BAQU,GAAG;qBAKS,cAAc;6BAKzC,IAAI;QAGjC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,IACE,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EACrE;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa;QACnB,IAAIA,YAAM,CAAC;YACT,aAAa,EAAE,IAAIC,iBAAW,CAAC;gBAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C,CAAC;YACF,KAAK,EAAE,IAAIA,iBAAW,CAAC;gBACrB,WAAW,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;aAChD,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CACnD,kBAAkB,CACD,CAAC;QACpB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACnD;KACF;IAEO,cAAc,CAAC,CAAc;QACnC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,eAAe,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAEM,MAAM;QACX,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAE5D,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAOC,QAACC,0BAAM,OAAG,CAAC;SACnB;QAED,QACED,QAACE,oCAAc,IACb,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,aAAa,IAEjCF,iCAAqB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAwB,CAC/C,EACjB;KACH;;;AAjG4B;IAA5BG,sCAAkB,EAAE;0DAAoC;AAC/B;IAAzBC,+CAAc,EAAE;yDAA2B;;;;;","names":["Schema","StringValue","h","Hidden","ExpandableText","InitializeBindings","ProductContext"],"sources":["src/components/commerce/atomic-product-description/atomic-product-description.pcss?tag=atomic-product-description","src/components/commerce/atomic-product-description/atomic-product-description.tsx"],"sourcesContent":["@import '../../common/expandable-text/expandable-text.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {Product} from '@coveo/headless/commerce';\nimport {Component, State, h, Element, Prop} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n ExpandableText,\n TruncateAfter,\n} from '../../common/expandable-text/stencil-expandable-text';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {ProductContext} from '../product-template-component-utils/stencil-product-template-decorators';\n\n/**\n * @alpha\n * The `atomic-product-description` component renders the description of a product.\n */\n@Component({\n tag: 'atomic-product-description',\n styleUrl: 'atomic-product-description.pcss',\n shadow: false,\n})\nexport class AtomicProductDescription\n implements InitializableComponent<CommerceBindings>\n{\n @InitializeBindings() public bindings!: CommerceBindings;\n @ProductContext() private product!: Product;\n\n @Element() hostElement!: HTMLElement;\n\n public error!: Error;\n\n @State() private isExpanded = false;\n @State() private isTruncated = false;\n\n private descriptionText!: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The number of lines after which the product description should be truncated. A value of \"none\" will disable truncation.\n */\n @Prop() public truncateAfter: TruncateAfter = '2';\n\n /**\n * The name of the description field to use.\n */\n @Prop() public field: 'ec_description' | 'ec_shortdesc' = 'ec_shortdesc';\n\n /**\n * Whether the description should be collapsible after being expanded.\n */\n @Prop() public isCollapsible = true;\n\n constructor() {\n this.resizeObserver = new ResizeObserver(() => {\n if (\n this.descriptionText &&\n this.descriptionText.scrollHeight > this.descriptionText.clientHeight\n ) {\n this.isTruncated = true;\n } else {\n this.isTruncated = false;\n }\n });\n this.validateProps();\n }\n\n private validateProps() {\n new Schema({\n truncateAfter: new StringValue({\n constrainTo: ['none', '1', '2', '3', '4'],\n }),\n field: new StringValue({\n constrainTo: ['ec_shortdesc', 'ec_description'],\n }),\n }).validate({\n truncateAfter: this.truncateAfter,\n field: this.field,\n });\n }\n\n componentDidLoad() {\n this.descriptionText = this.hostElement.querySelector(\n '.expandable-text'\n ) as HTMLDivElement;\n if (this.descriptionText) {\n this.resizeObserver.observe(this.descriptionText);\n }\n }\n\n private onToggleExpand(e?: MouseEvent) {\n if (e) {\n e.stopPropagation();\n }\n\n this.isExpanded = !this.isExpanded;\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n public render() {\n const productDescription = this.product[this.field] ?? null;\n\n if (!productDescription) {\n return <Hidden />;\n }\n\n return (\n <ExpandableText\n isExpanded={this.isExpanded}\n isTruncated={this.isTruncated}\n truncateAfter={this.truncateAfter}\n onToggleExpand={(e) => this.onToggleExpand(e)}\n showMoreLabel={this.bindings.i18n.t('show-more')}\n showLessLabel={this.bindings.i18n.t('show-less')}\n isCollapsible={this.isCollapsible}\n >\n <atomic-product-text field={this.field}></atomic-product-text>\n </ExpandableText>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-product-description.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA,MAAM,2BAA2B,GAAG,wUAAwU,CAAC;AAC7W,uCAAe,2BAA2B;;;;;;;;;;;;MCuB7B,wBAAwB;IA+BnC;;QArBiB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;;;;QAQtB,kBAAa,GAAkB,GAAG,CAAC;;;;QAKnC,UAAK,GAAsC,cAAc,CAAC;;;;QAK1D,kBAAa,GAAG,IAAI,CAAC;0BAnBN,KAAK;2BACJ,KAAK;6BAQU,GAAG;qBAKS,cAAc;6BAKzC,IAAI;QAGjC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,IACE,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EACrE;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa;QACnB,IAAIA,YAAM,CAAC;YACT,aAAa,EAAE,IAAIC,iBAAW,CAAC;gBAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C,CAAC;YACF,KAAK,EAAE,IAAIA,iBAAW,CAAC;gBACrB,WAAW,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;aAChD,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CACnD,kBAAkB,CACD,CAAC;QACpB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACnD;KACF;IAEO,cAAc,CAAC,CAAc;QACnC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,eAAe,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAEM,MAAM;QACX,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAE5D,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAOC,QAACC,0BAAM,OAAG,CAAC;SACnB;QAED,QACED,QAACE,6BAAc,IACb,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,aAAa,IAEjCF,iCAAqB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAwB,CAC/C,EACjB;KACH;;;AAjG4B;IAA5BG,sCAAkB,EAAE;0DAAoC;AAC/B;IAAzBC,+CAAc,EAAE;yDAA2B;;;;;","names":["Schema","StringValue","h","Hidden","ExpandableText","InitializeBindings","ProductContext"],"sources":["src/components/commerce/atomic-product-description/atomic-product-description.pcss?tag=atomic-product-description","src/components/commerce/atomic-product-description/atomic-product-description.tsx"],"sourcesContent":["@import '../../common/expandable-text/expandable-text.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {Product} from '@coveo/headless/commerce';\nimport {Component, State, h, Element, Prop} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n ExpandableText,\n TruncateAfter,\n} from '../../common/expandable-text/expandable-text';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {ProductContext} from '../product-template-component-utils/stencil-product-template-decorators';\n\n/**\n * @alpha\n * The `atomic-product-description` component renders the description of a product.\n */\n@Component({\n tag: 'atomic-product-description',\n styleUrl: 'atomic-product-description.pcss',\n shadow: false,\n})\nexport class AtomicProductDescription\n implements InitializableComponent<CommerceBindings>\n{\n @InitializeBindings() public bindings!: CommerceBindings;\n @ProductContext() private product!: Product;\n\n @Element() hostElement!: HTMLElement;\n\n public error!: Error;\n\n @State() private isExpanded = false;\n @State() private isTruncated = false;\n\n private descriptionText!: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The number of lines after which the product description should be truncated. A value of \"none\" will disable truncation.\n */\n @Prop() public truncateAfter: TruncateAfter = '2';\n\n /**\n * The name of the description field to use.\n */\n @Prop() public field: 'ec_description' | 'ec_shortdesc' = 'ec_shortdesc';\n\n /**\n * Whether the description should be collapsible after being expanded.\n */\n @Prop() public isCollapsible = true;\n\n constructor() {\n this.resizeObserver = new ResizeObserver(() => {\n if (\n this.descriptionText &&\n this.descriptionText.scrollHeight > this.descriptionText.clientHeight\n ) {\n this.isTruncated = true;\n } else {\n this.isTruncated = false;\n }\n });\n this.validateProps();\n }\n\n private validateProps() {\n new Schema({\n truncateAfter: new StringValue({\n constrainTo: ['none', '1', '2', '3', '4'],\n }),\n field: new StringValue({\n constrainTo: ['ec_shortdesc', 'ec_description'],\n }),\n }).validate({\n truncateAfter: this.truncateAfter,\n field: this.field,\n });\n }\n\n componentDidLoad() {\n this.descriptionText = this.hostElement.querySelector(\n '.expandable-text'\n ) as HTMLDivElement;\n if (this.descriptionText) {\n this.resizeObserver.observe(this.descriptionText);\n }\n }\n\n private onToggleExpand(e?: MouseEvent) {\n if (e) {\n e.stopPropagation();\n }\n\n this.isExpanded = !this.isExpanded;\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n public render() {\n const productDescription = this.product[this.field] ?? null;\n\n if (!productDescription) {\n return <Hidden />;\n }\n\n return (\n <ExpandableText\n isExpanded={this.isExpanded}\n isTruncated={this.isTruncated}\n truncateAfter={this.truncateAfter}\n onToggleExpand={(e) => this.onToggleExpand(e)}\n showMoreLabel={this.bindings.i18n.t('show-more')}\n showLessLabel={this.bindings.i18n.t('show-less')}\n isCollapsible={this.isCollapsible}\n >\n <atomic-product-text field={this.field}></atomic-product-text>\n </ExpandableText>\n );\n }\n}\n"],"version":3}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-757bc886.js');
6
6
  const bueno = require('@coveo/bueno');
7
7
  const initializationUtils = require('./initialization-utils-62dc9852.js');
8
- const stencilExpandableText = require('./stencil-expandable-text-80915f74.js');
8
+ const expandableText = require('./expandable-text-36fe9f8d.js');
9
9
  const stencilProductTemplateDecorators = require('./stencil-product-template-decorators-8c9cf847.js');
10
10
  require('./dom-utils-d4790328.js');
11
11
  require('./event-utils-9bfcf3c5.js');
@@ -87,7 +87,7 @@ const AtomicProductExcerpt = class {
87
87
  if (!productExcerpt) {
88
88
  return index.h(initializationUtils.Hidden, null);
89
89
  }
90
- return (index.h(stencilExpandableText.ExpandableText, { isExpanded: this.isExpanded, isTruncated: this.isTruncated, truncateAfter: this.truncateAfter, onToggleExpand: (e) => this.onToggleExpand(e), showMoreLabel: this.bindings.i18n.t('show-more'), showLessLabel: this.bindings.i18n.t('show-less'), isCollapsible: this.isCollapsible }, index.h("atomic-product-text", { field: "excerpt" })));
90
+ return (index.h(expandableText.ExpandableText, { isExpanded: this.isExpanded, isTruncated: this.isTruncated, truncateAfter: this.truncateAfter, onToggleExpand: (e) => this.onToggleExpand(e), showMoreLabel: this.bindings.i18n.t('show-more'), showLessLabel: this.bindings.i18n.t('show-less'), isCollapsible: this.isCollapsible }, index.h("atomic-product-text", { field: "excerpt" })));
91
91
  }
92
92
  get hostElement() { return index.getElement(this); }
93
93
  };
@@ -1 +1 @@
1
- {"file":"atomic-product-excerpt.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA,MAAM,uBAAuB,GAAG,wUAAwU,CAAC;AACzW,mCAAe,uBAAuB;;;;;;;;;;;;MCuBzB,oBAAoB;IA0B/B;;QAhBiB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;;;;QAQtB,kBAAa,GAAkB,GAAG,CAAC;;;;QAKnC,kBAAa,GAAG,KAAK,CAAC;0BAdP,KAAK;2BACJ,KAAK;6BAQU,GAAG;6BAKlB,KAAK;QAGlC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,IACE,IAAI,CAAC,WAAW;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAC7D;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa;QACnB,IAAIA,YAAM,CAAC;YACT,aAAa,EAAE,IAAIC,iBAAW,CAAC;gBAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/C,kBAAkB,CACD,CAAC;QACpB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/C;KACF;IAEO,cAAc,CAAC,CAAc;QACnC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,eAAe,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAEM,MAAM;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QAEvD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAOC,QAACC,0BAAM,OAAG,CAAC;SACnB;QAED,QACED,QAACE,oCAAc,IACb,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,aAAa,IAEjCF,iCAAqB,KAAK,EAAC,SAAS,GAAuB,CAC5C,EACjB;KACH;;;AAxF4B;IAA5BG,sCAAkB,EAAE;sDAAoC;AAC/B;IAAzBC,+CAAc,EAAE;qDAA2B;;;;;","names":["Schema","StringValue","h","Hidden","ExpandableText","InitializeBindings","ProductContext"],"sources":["src/components/commerce/atomic-product-excerpt/atomic-product-excerpt.pcss?tag=atomic-product-excerpt","src/components/commerce/atomic-product-excerpt/atomic-product-excerpt.tsx"],"sourcesContent":["@import '../../common/expandable-text/expandable-text.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {Product} from '@coveo/headless/commerce';\nimport {Component, State, h, Element, Prop} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n ExpandableText,\n TruncateAfter,\n} from '../../common/expandable-text/stencil-expandable-text';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {ProductContext} from '../product-template-component-utils/stencil-product-template-decorators';\n\n/**\n * @alpha\n * The `atomic-product-excerpt` component renders the excerpt of a product generated at query time.\n */\n@Component({\n tag: 'atomic-product-excerpt',\n styleUrl: 'atomic-product-excerpt.pcss',\n shadow: false,\n})\nexport class AtomicProductExcerpt\n implements InitializableComponent<CommerceBindings>\n{\n @InitializeBindings() public bindings!: CommerceBindings;\n @ProductContext() private product!: Product;\n\n @Element() hostElement!: HTMLElement;\n\n public error!: Error;\n\n @State() private isExpanded = false;\n @State() private isTruncated = false;\n\n private excerptText!: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The number of lines after which the product excerpt should be truncated. A value of \"none\" will disable truncation.\n */\n @Prop() public truncateAfter: TruncateAfter = '2';\n\n /**\n * Whether the excerpt should be collapsible after being expanded.\n */\n @Prop() public isCollapsible = false;\n\n constructor() {\n this.resizeObserver = new ResizeObserver(() => {\n if (\n this.excerptText &&\n this.excerptText.scrollHeight > this.excerptText.offsetHeight\n ) {\n this.isTruncated = true;\n } else {\n this.isTruncated = false;\n }\n });\n this.validateProps();\n }\n\n private validateProps() {\n new Schema({\n truncateAfter: new StringValue({\n constrainTo: ['none', '1', '2', '3', '4'],\n }),\n }).validate({\n truncateAfter: this.truncateAfter,\n });\n }\n\n componentDidLoad() {\n this.excerptText = this.hostElement.querySelector(\n '.expandable-text'\n ) as HTMLDivElement;\n if (this.excerptText) {\n this.resizeObserver.observe(this.excerptText);\n }\n }\n\n private onToggleExpand(e?: MouseEvent) {\n if (e) {\n e.stopPropagation();\n }\n\n this.isExpanded = !this.isExpanded;\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n public render() {\n const productExcerpt = this.product['excerpt'] ?? null;\n\n if (!productExcerpt) {\n return <Hidden />;\n }\n\n return (\n <ExpandableText\n isExpanded={this.isExpanded}\n isTruncated={this.isTruncated}\n truncateAfter={this.truncateAfter}\n onToggleExpand={(e) => this.onToggleExpand(e)}\n showMoreLabel={this.bindings.i18n.t('show-more')}\n showLessLabel={this.bindings.i18n.t('show-less')}\n isCollapsible={this.isCollapsible}\n >\n <atomic-product-text field=\"excerpt\"></atomic-product-text>\n </ExpandableText>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-product-excerpt.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA,MAAM,uBAAuB,GAAG,wUAAwU,CAAC;AACzW,mCAAe,uBAAuB;;;;;;;;;;;;MCuBzB,oBAAoB;IA0B/B;;QAhBiB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;;;;QAQtB,kBAAa,GAAkB,GAAG,CAAC;;;;QAKnC,kBAAa,GAAG,KAAK,CAAC;0BAdP,KAAK;2BACJ,KAAK;6BAQU,GAAG;6BAKlB,KAAK;QAGlC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,IACE,IAAI,CAAC,WAAW;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAC7D;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa;QACnB,IAAIA,YAAM,CAAC;YACT,aAAa,EAAE,IAAIC,iBAAW,CAAC;gBAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/C,kBAAkB,CACD,CAAC;QACpB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/C;KACF;IAEO,cAAc,CAAC,CAAc;QACnC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,eAAe,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAEM,MAAM;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QAEvD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAOC,QAACC,0BAAM,OAAG,CAAC;SACnB;QAED,QACED,QAACE,6BAAc,IACb,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,aAAa,IAEjCF,iCAAqB,KAAK,EAAC,SAAS,GAAuB,CAC5C,EACjB;KACH;;;AAxF4B;IAA5BG,sCAAkB,EAAE;sDAAoC;AAC/B;IAAzBC,+CAAc,EAAE;qDAA2B;;;;;","names":["Schema","StringValue","h","Hidden","ExpandableText","InitializeBindings","ProductContext"],"sources":["src/components/commerce/atomic-product-excerpt/atomic-product-excerpt.pcss?tag=atomic-product-excerpt","src/components/commerce/atomic-product-excerpt/atomic-product-excerpt.tsx"],"sourcesContent":["@import '../../common/expandable-text/expandable-text.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {Product} from '@coveo/headless/commerce';\nimport {Component, State, h, Element, Prop} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n ExpandableText,\n TruncateAfter,\n} from '../../common/expandable-text/expandable-text';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {ProductContext} from '../product-template-component-utils/stencil-product-template-decorators';\n\n/**\n * @alpha\n * The `atomic-product-excerpt` component renders the excerpt of a product generated at query time.\n */\n@Component({\n tag: 'atomic-product-excerpt',\n styleUrl: 'atomic-product-excerpt.pcss',\n shadow: false,\n})\nexport class AtomicProductExcerpt\n implements InitializableComponent<CommerceBindings>\n{\n @InitializeBindings() public bindings!: CommerceBindings;\n @ProductContext() private product!: Product;\n\n @Element() hostElement!: HTMLElement;\n\n public error!: Error;\n\n @State() private isExpanded = false;\n @State() private isTruncated = false;\n\n private excerptText!: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The number of lines after which the product excerpt should be truncated. A value of \"none\" will disable truncation.\n */\n @Prop() public truncateAfter: TruncateAfter = '2';\n\n /**\n * Whether the excerpt should be collapsible after being expanded.\n */\n @Prop() public isCollapsible = false;\n\n constructor() {\n this.resizeObserver = new ResizeObserver(() => {\n if (\n this.excerptText &&\n this.excerptText.scrollHeight > this.excerptText.offsetHeight\n ) {\n this.isTruncated = true;\n } else {\n this.isTruncated = false;\n }\n });\n this.validateProps();\n }\n\n private validateProps() {\n new Schema({\n truncateAfter: new StringValue({\n constrainTo: ['none', '1', '2', '3', '4'],\n }),\n }).validate({\n truncateAfter: this.truncateAfter,\n });\n }\n\n componentDidLoad() {\n this.excerptText = this.hostElement.querySelector(\n '.expandable-text'\n ) as HTMLDivElement;\n if (this.excerptText) {\n this.resizeObserver.observe(this.excerptText);\n }\n }\n\n private onToggleExpand(e?: MouseEvent) {\n if (e) {\n e.stopPropagation();\n }\n\n this.isExpanded = !this.isExpanded;\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n public render() {\n const productExcerpt = this.product['excerpt'] ?? null;\n\n if (!productExcerpt) {\n return <Hidden />;\n }\n\n return (\n <ExpandableText\n isExpanded={this.isExpanded}\n isTruncated={this.isTruncated}\n truncateAfter={this.truncateAfter}\n onToggleExpand={(e) => this.onToggleExpand(e)}\n showMoreLabel={this.bindings.i18n.t('show-more')}\n showLessLabel={this.bindings.i18n.t('show-less')}\n isCollapsible={this.isCollapsible}\n >\n <atomic-product-text field=\"excerpt\"></atomic-product-text>\n </ExpandableText>\n );\n }\n}\n"],"version":3}
@@ -9,7 +9,7 @@ const initializationUtils = require('./initialization-utils-62dc9852.js');
9
9
  const slotUtils = require('./slot-utils-948feedc.js');
10
10
  const attributesSlot = require('./attributes-slot-5799cb5b.js');
11
11
  const itemLink = require('./item-link-3844789d.js');
12
- const productUtils = require('./product-utils-f6c780e3.js');
12
+ const productUtils = require('./product-utils-9507462c.js');
13
13
  const stencilProductTemplateDecorators = require('./stencil-product-template-decorators-8c9cf847.js');
14
14
  require('./dom-utils-d4790328.js');
15
15
  require('./init-queue-a18aa323.js');
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-757bc886.js');
6
6
  const initializationUtils = require('./initialization-utils-62dc9852.js');
7
7
  const formatCommon = require('./format-common-4aa8aa88.js');
8
- const productUtils = require('./product-utils-f6c780e3.js');
8
+ const productUtils = require('./product-utils-9507462c.js');
9
9
  const stencilProductTemplateDecorators = require('./stencil-product-template-decorators-8c9cf847.js');
10
10
  require('./dom-utils-d4790328.js');
11
11
  require('./event-utils-9bfcf3c5.js');
@@ -6,7 +6,7 @@ const index = require('./index-757bc886.js');
6
6
  const commerce = require('@coveo/headless/commerce');
7
7
  const initializationUtils = require('./initialization-utils-62dc9852.js');
8
8
  const formatCommon = require('./format-common-4aa8aa88.js');
9
- const productUtils = require('./product-utils-f6c780e3.js');
9
+ const productUtils = require('./product-utils-9507462c.js');
10
10
  const stencilProductTemplateDecorators = require('./stencil-product-template-decorators-8c9cf847.js');
11
11
  require('./dom-utils-d4790328.js');
12
12
  require('./event-utils-9bfcf3c5.js');
@@ -72,7 +72,7 @@ const AtomicProductPrice = class {
72
72
  const originalPrice = this.hasPromotionalPrice
73
73
  ? this.getFormattedValue('ec_price')
74
74
  : null;
75
- return (index.h(index.Host, { key: '9163587a18db5b9b6a7392a040909777a6563788', class: "flex flex-wrap gap-1" }, index.h("div", { key: '9de27efbfd2f4992e4a6d34c6883436da514014e', class: `truncate break-keep ${this.hasPromotionalPrice && 'text-error'}` }, mainPrice), index.h("div", { key: '68e10214b24a41cf4b3acb56ad13bf249d10195d', class: 'original-price content-center truncate text-xl break-keep line-through' +
75
+ return (index.h(index.Host, { key: '9be7690a20f179aebcb2ef1330406cf4c0840011', class: "flex flex-wrap gap-1" }, index.h("div", { key: '17f08914229562dbf5fc52a99980d6e7130c83a5', class: `truncate break-keep ${this.hasPromotionalPrice && 'text-error'}` }, mainPrice), index.h("div", { key: 'b70aa6768a3d75b7bce253102326b63d683ea879', class: 'original-price content-center truncate text-xl break-keep line-through' +
76
76
  (!originalPrice ? ' invisible' : '') }, originalPrice ?? '​')));
77
77
  }
78
78
  };
@@ -49,7 +49,7 @@ const AtomicQueryError = class {
49
49
  if (hasError) {
50
50
  this.ariaMessage = stencilLink.getAriaMessageFromErrorType(i18n, organizationId, url, error?.type);
51
51
  }
52
- return (index.h(stencilLink.QueryErrorGuard, { key: '16fae316377d8317a5325a97e67d528e411521e5', hasError: hasError }, index.h(stencilLink.QueryErrorContainer, { key: '9239a0be4402ec86685d3755ea2d9a9fb479fa42' }, index.h(stencilLink.QueryErrorIcon, { key: '100e73d4312ab8fc08cb12e4414b2f23bb1a5e57', errorType: error?.type }), index.h(stencilLink.QueryErrorTitle, { key: 'b463f088cccc6e3bb15b810ac41084672f9881a7', errorType: error?.type, i18n: i18n, organizationId: organizationId }), index.h(stencilLink.QueryErrorDescription, { key: '69c22a00480ce75f484afb17a2ce0434cf06b31e', i18n: i18n, organizationId: organizationId, url: url, errorType: error?.type }), index.h(stencilLink.QueryErrorShowMore, { key: '3179e977649fc688e41a6b2776bb70e97fc642e1', link: index.h(stencilLink.QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), index.h(stencilLink.QueryErrorDetails, { key: '4894f5b51a9b20d9ca2d54c2e9fdafd87c342343', error: error, show: this.showMoreInfo }))));
52
+ return (index.h(stencilLink.QueryErrorGuard, { key: '35a365a208b92b8fd42190d0914c55941836a0d5', hasError: hasError }, index.h(stencilLink.QueryErrorContainer, { key: '4a9df9c210520543e6dd28dde603d92ef51eb12d' }, index.h(stencilLink.QueryErrorIcon, { key: '5acc15d972298c51b9a35899c72b21ec9921071f', errorType: error?.type }), index.h(stencilLink.QueryErrorTitle, { key: '69c204454af76de98e2ae5af3c480e28d9bcfd3f', errorType: error?.type, i18n: i18n, organizationId: organizationId }), index.h(stencilLink.QueryErrorDescription, { key: '5bc6f621410459203d5577024abcd2e017a24f77', i18n: i18n, organizationId: organizationId, url: url, errorType: error?.type }), index.h(stencilLink.QueryErrorShowMore, { key: 'c560a6af5df7c51424b647eacae1f66f29d94295', link: index.h(stencilLink.QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), index.h(stencilLink.QueryErrorDetails, { key: '9d1e8c102af5b43904b5dafad4f6e0c043a916d9', error: error, show: this.showMoreInfo }))));
53
53
  }
54
54
  };
55
55
  __decorate([
@@ -49,7 +49,7 @@ const AtomicQuerySummary = class {
49
49
  isLoading,
50
50
  });
51
51
  this.ariaMessage = ariaLiveMessage;
52
- return (index.h(stencilUtils.QuerySummaryGuard, { key: '82abb15ae097cd649486835432c424aa2d39c2a8', firstSearchExecuted: firstSearchExecuted, hasResults: hasResults, hasError: hasError }, index.h(stencilUtils.QuerySummaryContainer, { key: '88fa607e0bf3f8821213ce75b279488b83a555e2' }, index.h(jsxUtils.LocalizedString, { key: i18nKey, i18n: this.bindings.i18n, params: highlights, count: total }), index.h("span", { key: 'e23ff3b136b949ddf626ba9f96350ceb24d9bff1', class: "hidden", part: "duration" }, "\u00A0", index.h(jsxUtils.LocalizedString, { key: "in-seconds", i18n: this.bindings.i18n, params: {
52
+ return (index.h(stencilUtils.QuerySummaryGuard, { key: '605587e02c8d39c87b0cebcf5877321d3a2a6824', firstSearchExecuted: firstSearchExecuted, hasResults: hasResults, hasError: hasError }, index.h(stencilUtils.QuerySummaryContainer, { key: '33948c83706caaf66a119cbf967e2d394313e42c' }, index.h(jsxUtils.LocalizedString, { key: i18nKey, i18n: this.bindings.i18n, params: highlights, count: total }), index.h("span", { key: 'cac5b48031278d323209bc35b478ee0f05e57a4a', class: "hidden", part: "duration" }, "\u00A0", index.h(jsxUtils.LocalizedString, { key: "in-seconds", i18n: this.bindings.i18n, params: {
53
53
  count: durationInSeconds.toLocaleString(this.bindings.i18n.language),
54
54
  } })))));
55
55
  }
@@ -581,7 +581,7 @@ const AtomicQuickviewModal = class {
581
581
  });
582
582
  }
583
583
  render() {
584
- return (index.h("atomic-modal", { key: '6ca6e97c63ec34f353b4bd85eb0837a4c8e40e5f', fullscreen: this.bindings.store.isMobile(), class: 'atomic-quickview-modal', isOpen: this.isOpen, close: () => this.onClose(), exportparts: exportParts.ATOMIC_MODAL_EXPORT_PARTS }, this.renderHeader(), this.renderBody(), this.renderFooter()));
584
+ return (index.h("atomic-modal", { key: '56bf44efabfda516af231dd2eb3004e52285aafe', fullscreen: this.bindings.store.isMobile(), class: 'atomic-quickview-modal', isOpen: this.isOpen, close: () => this.onClose(), exportparts: exportParts.ATOMIC_MODAL_EXPORT_PARTS }, this.renderHeader(), this.renderBody(), this.renderFooter()));
585
585
  }
586
586
  static get watchers() { return {
587
587
  "highlightKeywords": ["watchHighlightKeywords"]
@@ -117,7 +117,7 @@ const AtomicQuickview = class {
117
117
  }
118
118
  render() {
119
119
  if (this.quickviewState.resultHasPreview) {
120
- return (index.h(stencilButton.Button, { key: '38c4136e81d52c0785e8423c01b9b5470da584d7', part: "button", title: this.bindings.i18n.t('quickview'), style: "outline-primary", class: "p-2", onClick: (event) => this.onClick(event), ref: this.focusTarget.setTarget }, index.h("atomic-icon", { key: '7b786b4628e6d2b78e87866b1dbb9952bfd9cfbf', part: "icon", class: "flex w-5 justify-center", icon: quickview.QuickviewIcon })));
120
+ return (index.h(stencilButton.Button, { key: 'bf02d4c04582bf6fea9e5bb4094942e4bedbcf57', part: "button", title: this.bindings.i18n.t('quickview'), style: "outline-primary", class: "p-2", onClick: (event) => this.onClick(event), ref: this.focusTarget.setTarget }, index.h("atomic-icon", { key: '8383eda6ce892806f43dde2128b74c700fe4be88', part: "icon", class: "flex w-5 justify-center", icon: quickview.QuickviewIcon })));
121
121
  }
122
122
  }
123
123
  };
@@ -10,8 +10,7 @@ const initializationUtils = require('./initialization-utils-62dc9852.js');
10
10
  const propsUtils = require('./props-utils-66dfcd3a.js');
11
11
  const stencilAccessibilityUtils = require('./stencil-accessibility-utils-a5d1a814.js');
12
12
  const dependsOn = require('./depends-on-0d4e4f15.js');
13
- const stencilFacetHeader = require('./stencil-facet-header-a3dd9de0.js');
14
- const facetPlaceholder = require('./facet-placeholder-0111f0f1.js');
13
+ const facetPlaceholder = require('./facet-placeholder-ad0407f0.js');
15
14
  const stencilFacetValueCheckbox = require('./stencil-facet-value-checkbox-3554634d.js');
16
15
  const stencilFacetValueLink = require('./stencil-facet-value-link-e81ec312.js');
17
16
  const stencilFacetValuesGroup = require('./stencil-facet-values-group-07b50fc0.js');
@@ -274,7 +273,7 @@ const AtomicRatingFacet = class {
274
273
  return (index.h(atomicRating.Rating, { i18n: this.bindings.i18n, numberOfTotalIcons: this.maxValueInIndex, numberOfActiveIcons: facetValue.start, icon: this.icon }));
275
274
  }
276
275
  renderHeader() {
277
- return (index.h(stencilFacetHeader.FacetHeader, { i18n: this.bindings.i18n, label: this.label, onClearFilters: () => {
276
+ return (index.h(facetPlaceholder.FacetHeader, { i18n: this.bindings.i18n, label: this.label, onClearFilters: () => {
278
277
  this.focusTarget.focusAfterSearch();
279
278
  this.facet.deselectAll();
280
279
  }, numberOfActiveValues: this.numberOfSelectedValues, isCollapsed: this.isCollapsed, headingLevel: this.headingLevel, onToggleCollapse: () => (this.isCollapsed = !this.isCollapsed), headerRef: (el) => this.focusTarget.setTarget(el) }));
@@ -311,7 +310,7 @@ const AtomicRatingFacet = class {
311
310
  if (!this.valuesToRender.length) {
312
311
  return index.h(initializationUtils.Hidden, null);
313
312
  }
314
- return (index.h(stencilFacetHeader.FacetContainer, null, this.renderHeader(), !this.isCollapsed && this.renderValues()));
313
+ return (index.h(facetPlaceholder.FacetContainer, null, this.renderHeader(), !this.isCollapsed && this.renderValues()));
315
314
  }
316
315
  get host() { return index.getElement(this); }
317
316
  };
@@ -1 +1 @@
1
- {"file":"atomic-rating-facet.entry.cjs.js","mappings":"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","names":["Star","FocusTargetController","Schema","StringValue","buildSearchStatus","buildTabManager","buildNumericFacet","initializePopover","buildFacetConditionsManager","parseDependsOn","buildNumericRange","h","Rating","FacetHeader","FacetValueCheckbox","FacetValueLink","FacetValuesGroup","Hidden","FacetPlaceholder","FacetContainer","InitializeBindings","BindStateToController","ArrayProp","MapProp"],"sources":["src/components/search/facets/atomic-rating-facet/atomic-rating-facet.pcss?tag=atomic-rating-facet&encapsulation=shadow","src/components/search/facets/atomic-rating-facet/atomic-rating-facet.tsx"],"sourcesContent":["@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-value-checkbox/facet-value-checkbox.pcss';\n@import '../../../common/atomic-rating/atomic-rating.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {\n NumericFacet,\n buildNumericFacet,\n NumericFacetState,\n NumericFacetOptions,\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n NumericFacetValue,\n NumericRangeRequest,\n buildNumericRange,\n buildFacetConditionsManager,\n FacetConditionsManager,\n FacetValueRequest,\n CategoryFacetValueRequest,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, VNode, Element} from '@stencil/core';\nimport Star from '../../../../images/star.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {Rating} from '../../../common/atomic-rating/atomic-rating';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/facet-placeholder';\nimport {FacetValueCheckbox} from '../../../common/facets/facet-value-checkbox/stencil-facet-value-checkbox';\nimport {FacetValueLink} from '../../../common/facets/facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (e.g., number of occurrences).\n * An `atomic-rating-facet` displays a facet of the results for the current query as ratings.\n * It only supports numeric fields.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and toggles to expand or collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part values - The facet values container.\n * @part value-count - The facet value count, common for all displays.\n * @part value-rating - The facet value rating, common for all displays.\n * @part value-rating-icon - The individual star icons used in the rating display.\n *\n * @part value-checkbox - The facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-checked - The checked facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-label - The facet value checkbox clickable label, available when display is 'checkbox'.\n * @part value-checkbox-icon - The facet value checkbox icon, available when display is 'checkbox'.\n * @part value-link - The facet value when display is 'link'.\n * @part value-link-selected - The selected facet value when display is 'link'.\n */\n@Component({\n tag: 'atomic-rating-facet',\n styleUrl: 'atomic-rating-facet.pcss',\n shadow: true,\n})\nexport class AtomicRatingFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facet!: NumericFacet;\n private dependenciesManager?: FacetConditionsManager;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: NumericFacetState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * The number of options to display in the facet. If `maxValueInIndex` isn't specified, it will be assumed that this is also the maximum number of rating icons.\n */\n @Prop({reflect: true}) public numberOfIntervals = 5;\n /**\n * The maximum value in the field's index and the number of rating icons to display in the facet. If not assigned a value, this property will default to the same value as `numberOfIntervals`.\n */\n @Prop({reflect: true}) public maxValueInIndex = this.numberOfIntervals;\n /**\n * The minimum value of the field.\n */\n @Prop({reflect: true}) public minValueInIndex = 1;\n /**\n * Whether to display the facet values as checkboxes (multiple selection) or links (single selection).\n * Possible values are 'checkbox' and 'link'.\n */\n @Prop({reflect: true}) public displayValuesAs: 'checkbox' | 'link' =\n 'checkbox';\n /**\n * The SVG icon to use to display the rating.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly.\n *\n * When using a custom icon, at least part of your icon should have the color set to `fill=\"currentColor\"`.\n * This part of the SVG will take on the colors set in the following [variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties):\n *\n * - `--atomic-rating-icon-active-color`\n * - `--atomic-rating-icon-inactive-color`\n\n */\n @Prop({reflect: true}) public icon = Star;\n /**\n * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n */\n @Prop({reflect: true}) public injectionDepth = 1000;\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-rating-facet\n * depends-on-abc\n * ...\n * ></atomic-rating-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-rating-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-rating-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n private headerFocus?: FocusTargetController;\n\n private get focusTarget(): FocusTargetController {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\n private validateProps() {\n new Schema({\n displayValuesAs: new StringValue({constrainTo: ['checkbox', 'link']}),\n }).validate({\n displayValuesAs: this.displayValuesAs,\n });\n }\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This is could lead to unexpected behaviors.'\n );\n }\n this.validateProps();\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.initializeFacet();\n this.initializeDependenciesManager();\n }\n\n private initializeFacet() {\n const options: NumericFacetOptions = {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfIntervals,\n currentValues: this.generateCurrentValues(),\n sortCriteria: 'descending',\n generateAutomaticRanges: false,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n this.facet = buildNumericFacet(this.bindings.engine, {options});\n this.facetId = this.facet.state.facetId;\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n this.bindings.store.registerFacet('numericFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n content: (value) => this.ratingContent(value),\n });\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.valuesToRender.length,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.dependenciesManager?.stopWatching();\n }\n private get isHidden() {\n return (\n this.searchStatusState.hasError ||\n !this.facet.state.enabled ||\n !this.valuesToRender.length\n );\n }\n\n private get scaleFactor() {\n return this.maxValueInIndex / this.numberOfIntervals;\n }\n\n private get numberOfSelectedValues() {\n return this.facetState.values.filter(({state}) => state === 'selected')\n .length;\n }\n\n private initializeDependenciesManager() {\n this.dependenciesManager = buildFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n FacetValueRequest | CategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n private generateCurrentValues() {\n const currentValues: NumericRangeRequest[] = [];\n for (let i = this.minValueInIndex; i <= this.numberOfIntervals; i++) {\n currentValues.push(\n buildNumericRange({\n start: Math.round(i * this.scaleFactor * 100) / 100,\n end: Math.round((i + 1) * this.scaleFactor * 100) / 100,\n endInclusive: false,\n })\n );\n }\n return currentValues;\n }\n\n private formatFacetValue(facetValue: NumericFacetValue) {\n if (facetValue.start === this.maxValueInIndex) {\n return this.bindings.i18n.t('stars-only', {count: facetValue.start});\n }\n return this.bindings.i18n.t('stars', {\n count: facetValue.start,\n max: this.maxValueInIndex,\n });\n }\n\n private ratingContent(facetValue: NumericFacetValue) {\n return (\n <Rating\n i18n={this.bindings.i18n}\n numberOfTotalIcons={this.maxValueInIndex}\n numberOfActiveIcons={facetValue.start}\n icon={this.icon}\n ></Rating>\n );\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.label}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderValue(facetValue: NumericFacetValue, onClick: () => void) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n const shouldBeDimmed = this.facetState.hasActiveValues && !isSelected;\n switch (this.displayValuesAs) {\n case 'checkbox':\n return (\n <FacetValueCheckbox\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n >\n {this.ratingContent(facetValue)}\n </FacetValueCheckbox>\n );\n case 'link':\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n class={shouldBeDimmed ? 'opacity-80' : undefined}\n >\n {this.ratingContent(facetValue)}\n </FacetValueLink>\n );\n }\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup i18n={this.bindings.i18n} label={this.label}>\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) =>\n this.renderValue(value, () =>\n this.displayValuesAs === 'link'\n ? this.facet.toggleSingleSelect(value)\n : this.facet.toggleSelect(value)\n )\n )\n );\n }\n\n private get valuesToRender() {\n return this.facet.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n );\n }\n\n public render() {\n if (this.searchStatusState.hasError || !this.facet.state.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!this.searchStatusState.firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.numberOfIntervals}\n isCollapsed={this.isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.valuesToRender.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && this.renderValues()}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-rating-facet.entry.cjs.js","mappings":"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","names":["Star","FocusTargetController","Schema","StringValue","buildSearchStatus","buildTabManager","buildNumericFacet","initializePopover","buildFacetConditionsManager","parseDependsOn","buildNumericRange","h","Rating","FacetHeader","FacetValueCheckbox","FacetValueLink","FacetValuesGroup","Hidden","FacetPlaceholder","FacetContainer","InitializeBindings","BindStateToController","ArrayProp","MapProp"],"sources":["src/components/search/facets/atomic-rating-facet/atomic-rating-facet.pcss?tag=atomic-rating-facet&encapsulation=shadow","src/components/search/facets/atomic-rating-facet/atomic-rating-facet.tsx"],"sourcesContent":["@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-value-checkbox/facet-value-checkbox.pcss';\n@import '../../../common/atomic-rating/atomic-rating.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {\n NumericFacet,\n buildNumericFacet,\n NumericFacetState,\n NumericFacetOptions,\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n NumericFacetValue,\n NumericRangeRequest,\n buildNumericRange,\n buildFacetConditionsManager,\n FacetConditionsManager,\n FacetValueRequest,\n CategoryFacetValueRequest,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, VNode, Element} from '@stencil/core';\nimport Star from '../../../../images/star.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {Rating} from '../../../common/atomic-rating/atomic-rating';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/facet-placeholder';\nimport {FacetValueCheckbox} from '../../../common/facets/facet-value-checkbox/stencil-facet-value-checkbox';\nimport {FacetValueLink} from '../../../common/facets/facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (e.g., number of occurrences).\n * An `atomic-rating-facet` displays a facet of the results for the current query as ratings.\n * It only supports numeric fields.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and toggles to expand or collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part values - The facet values container.\n * @part value-count - The facet value count, common for all displays.\n * @part value-rating - The facet value rating, common for all displays.\n * @part value-rating-icon - The individual star icons used in the rating display.\n *\n * @part value-checkbox - The facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-checked - The checked facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-label - The facet value checkbox clickable label, available when display is 'checkbox'.\n * @part value-checkbox-icon - The facet value checkbox icon, available when display is 'checkbox'.\n * @part value-link - The facet value when display is 'link'.\n * @part value-link-selected - The selected facet value when display is 'link'.\n */\n@Component({\n tag: 'atomic-rating-facet',\n styleUrl: 'atomic-rating-facet.pcss',\n shadow: true,\n})\nexport class AtomicRatingFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facet!: NumericFacet;\n private dependenciesManager?: FacetConditionsManager;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: NumericFacetState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * The number of options to display in the facet. If `maxValueInIndex` isn't specified, it will be assumed that this is also the maximum number of rating icons.\n */\n @Prop({reflect: true}) public numberOfIntervals = 5;\n /**\n * The maximum value in the field's index and the number of rating icons to display in the facet. If not assigned a value, this property will default to the same value as `numberOfIntervals`.\n */\n @Prop({reflect: true}) public maxValueInIndex = this.numberOfIntervals;\n /**\n * The minimum value of the field.\n */\n @Prop({reflect: true}) public minValueInIndex = 1;\n /**\n * Whether to display the facet values as checkboxes (multiple selection) or links (single selection).\n * Possible values are 'checkbox' and 'link'.\n */\n @Prop({reflect: true}) public displayValuesAs: 'checkbox' | 'link' =\n 'checkbox';\n /**\n * The SVG icon to use to display the rating.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly.\n *\n * When using a custom icon, at least part of your icon should have the color set to `fill=\"currentColor\"`.\n * This part of the SVG will take on the colors set in the following [variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties):\n *\n * - `--atomic-rating-icon-active-color`\n * - `--atomic-rating-icon-inactive-color`\n\n */\n @Prop({reflect: true}) public icon = Star;\n /**\n * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n */\n @Prop({reflect: true}) public injectionDepth = 1000;\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-rating-facet\n * depends-on-abc\n * ...\n * ></atomic-rating-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-rating-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-rating-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n private headerFocus?: FocusTargetController;\n\n private get focusTarget(): FocusTargetController {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\n private validateProps() {\n new Schema({\n displayValuesAs: new StringValue({constrainTo: ['checkbox', 'link']}),\n }).validate({\n displayValuesAs: this.displayValuesAs,\n });\n }\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This is could lead to unexpected behaviors.'\n );\n }\n this.validateProps();\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.initializeFacet();\n this.initializeDependenciesManager();\n }\n\n private initializeFacet() {\n const options: NumericFacetOptions = {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfIntervals,\n currentValues: this.generateCurrentValues(),\n sortCriteria: 'descending',\n generateAutomaticRanges: false,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n this.facet = buildNumericFacet(this.bindings.engine, {options});\n this.facetId = this.facet.state.facetId;\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n this.bindings.store.registerFacet('numericFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n content: (value) => this.ratingContent(value),\n });\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.valuesToRender.length,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.dependenciesManager?.stopWatching();\n }\n private get isHidden() {\n return (\n this.searchStatusState.hasError ||\n !this.facet.state.enabled ||\n !this.valuesToRender.length\n );\n }\n\n private get scaleFactor() {\n return this.maxValueInIndex / this.numberOfIntervals;\n }\n\n private get numberOfSelectedValues() {\n return this.facetState.values.filter(({state}) => state === 'selected')\n .length;\n }\n\n private initializeDependenciesManager() {\n this.dependenciesManager = buildFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n FacetValueRequest | CategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n private generateCurrentValues() {\n const currentValues: NumericRangeRequest[] = [];\n for (let i = this.minValueInIndex; i <= this.numberOfIntervals; i++) {\n currentValues.push(\n buildNumericRange({\n start: Math.round(i * this.scaleFactor * 100) / 100,\n end: Math.round((i + 1) * this.scaleFactor * 100) / 100,\n endInclusive: false,\n })\n );\n }\n return currentValues;\n }\n\n private formatFacetValue(facetValue: NumericFacetValue) {\n if (facetValue.start === this.maxValueInIndex) {\n return this.bindings.i18n.t('stars-only', {count: facetValue.start});\n }\n return this.bindings.i18n.t('stars', {\n count: facetValue.start,\n max: this.maxValueInIndex,\n });\n }\n\n private ratingContent(facetValue: NumericFacetValue) {\n return (\n <Rating\n i18n={this.bindings.i18n}\n numberOfTotalIcons={this.maxValueInIndex}\n numberOfActiveIcons={facetValue.start}\n icon={this.icon}\n ></Rating>\n );\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.label}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderValue(facetValue: NumericFacetValue, onClick: () => void) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n const shouldBeDimmed = this.facetState.hasActiveValues && !isSelected;\n switch (this.displayValuesAs) {\n case 'checkbox':\n return (\n <FacetValueCheckbox\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n >\n {this.ratingContent(facetValue)}\n </FacetValueCheckbox>\n );\n case 'link':\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n class={shouldBeDimmed ? 'opacity-80' : undefined}\n >\n {this.ratingContent(facetValue)}\n </FacetValueLink>\n );\n }\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup i18n={this.bindings.i18n} label={this.label}>\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) =>\n this.renderValue(value, () =>\n this.displayValuesAs === 'link'\n ? this.facet.toggleSingleSelect(value)\n : this.facet.toggleSelect(value)\n )\n )\n );\n }\n\n private get valuesToRender() {\n return this.facet.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n );\n }\n\n public render() {\n if (this.searchStatusState.hasError || !this.facet.state.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!this.searchStatusState.firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.numberOfIntervals}\n isCollapsed={this.isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.valuesToRender.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && this.renderValues()}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
@@ -9,8 +9,7 @@ const initializationUtils = require('./initialization-utils-62dc9852.js');
9
9
  const propsUtils = require('./props-utils-66dfcd3a.js');
10
10
  const stencilAccessibilityUtils = require('./stencil-accessibility-utils-a5d1a814.js');
11
11
  const dependsOn = require('./depends-on-0d4e4f15.js');
12
- const stencilFacetHeader = require('./stencil-facet-header-a3dd9de0.js');
13
- const facetPlaceholder = require('./facet-placeholder-0111f0f1.js');
12
+ const facetPlaceholder = require('./facet-placeholder-ad0407f0.js');
14
13
  const stencilFacetValueLink = require('./stencil-facet-value-link-e81ec312.js');
15
14
  const stencilFacetValuesGroup = require('./stencil-facet-values-group-07b50fc0.js');
16
15
  const popoverType = require('./popover-type-b1385b27.js');
@@ -260,7 +259,7 @@ const AtomicRatingRangeFacet = class {
260
259
  return (index.h("div", { class: "flex items-center" }, index.h(atomicRating.Rating, { i18n: this.bindings.i18n, numberOfTotalIcons: this.maxValueInIndex, numberOfActiveIcons: facetValue.start, icon: this.icon }), this.renderLabelText(facetValue)));
261
260
  }
262
261
  renderHeader() {
263
- return (index.h(stencilFacetHeader.FacetHeader, { i18n: this.bindings.i18n, label: this.label, onClearFilters: () => {
262
+ return (index.h(facetPlaceholder.FacetHeader, { i18n: this.bindings.i18n, label: this.label, onClearFilters: () => {
264
263
  this.focusTarget.focusAfterSearch();
265
264
  this.facet.deselectAll();
266
265
  }, numberOfActiveValues: this.numberOfSelectedValues, isCollapsed: this.isCollapsed, headingLevel: this.headingLevel, onToggleCollapse: () => (this.isCollapsed = !this.isCollapsed), headerRef: (el) => this.focusTarget.setTarget(el) }));
@@ -292,7 +291,7 @@ const AtomicRatingRangeFacet = class {
292
291
  if (!this.valuesToRender.length) {
293
292
  return index.h(initializationUtils.Hidden, null);
294
293
  }
295
- return (index.h(stencilFacetHeader.FacetContainer, null, this.renderHeader(), !this.isCollapsed && this.renderValues()));
294
+ return (index.h(facetPlaceholder.FacetContainer, null, this.renderHeader(), !this.isCollapsed && this.renderValues()));
296
295
  }
297
296
  get host() { return index.getElement(this); }
298
297
  };
@@ -1 +1 @@
1
- {"file":"atomic-rating-range-facet.entry.cjs.js","mappings":"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","names":["Star","FocusTargetController","buildSearchStatus","buildTabManager","buildNumericFacet","initializePopover","buildFacetConditionsManager","parseDependsOn","buildNumericRange","h","Rating","FacetHeader","FacetValueLink","FacetValuesGroup","Hidden","FacetPlaceholder","FacetContainer","InitializeBindings","BindStateToController","ArrayProp","MapProp"],"sources":["src/components/search/facets/atomic-rating-range-facet/atomic-rating-range-facet.pcss?tag=atomic-rating-range-facet&encapsulation=shadow","src/components/search/facets/atomic-rating-range-facet/atomic-rating-range-facet.tsx"],"sourcesContent":["@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/atomic-rating/atomic-rating.pcss';\n","import {\n NumericFacet,\n buildNumericFacet,\n NumericFacetState,\n NumericFacetOptions,\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n NumericFacetValue,\n NumericRangeRequest,\n buildNumericRange,\n buildFacetConditionsManager,\n FacetConditionsManager,\n FacetValueRequest,\n CategoryFacetValueRequest,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, VNode, Element} from '@stencil/core';\nimport Star from '../../../../images/star.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {Rating} from '../../../common/atomic-rating/atomic-rating';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/facet-placeholder';\nimport {FacetValueLink} from '../../../common/facets/facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (e.g., number of occurrences).\n * An `atomic-rating-range-facet` displays a facet of the results for the current query as ratings.\n * It only supports numeric fields.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and toggles to expand or collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part values - The facet values container.\n * @part value-label - The facet value label, common for all displays.\n * @part value-count - The facet value count, common for all displays.\n * @part value-rating - The facet value rating, common for all displays.\n * @part value-rating-icon - The individual star icons used in the rating display.\n *\n * @part value-link - The facet value when display is 'link'.\n * @part value-link-selected - The selected facet value when display is 'link'.\n * @part value-box - The facet value when display is 'box'.\n * @part value-box-selected - The selected facet value when display is 'box'.\n */\n@Component({\n tag: 'atomic-rating-range-facet',\n styleUrl: 'atomic-rating-range-facet.pcss',\n shadow: true,\n})\nexport class AtomicRatingRangeFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facet!: NumericFacet;\n private dependenciesManager?: FacetConditionsManager;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: NumericFacetState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * The number of options to display in the facet. If `maxValueInIndex` isn't specified, it will be assumed that this is also the maximum number of rating icons.\n */\n @Prop({reflect: true}) public numberOfIntervals = 5;\n /**\n * The maximum value in the field's index and the number of rating icons to display in the facet. This property will default to the same value as `numberOfIntervals`, if not assigned a value.\n */\n @Prop({reflect: true}) public maxValueInIndex = this.numberOfIntervals;\n /**\n * The minimum value of the field.\n */\n @Prop({reflect: true}) public minValueInIndex = 1;\n /**\n * The SVG icon to use to display the rating.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly.\n *\n * When using a custom icon, at least part of your icon should have the color set to `fill=\"currentColor\"`.\n * This part of the SVG will take on the colors set in the following [variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties):\n *\n * - `--atomic-rating-icon-active-color`\n * - `--atomic-rating-icon-inactive-color`\n */\n @Prop({reflect: true}) public icon = Star;\n /**\n * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n * Default: `1000`\n */\n @Prop({reflect: true}) public injectionDepth = 1000;\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-rating-range-facet\n * depends-on-abc\n * ...\n * ></atomic-rating-range-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-rating-range-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-rating-range-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n private headerFocus?: FocusTargetController;\n\n private get focusTarget() {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This is could lead to unexpected behaviors.'\n );\n }\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.initializeFacet();\n this.initializeDependenciesManager();\n }\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.dependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return (\n !this.valuesToRender.length ||\n this.searchStatusState.hasError ||\n !this.facet.state.enabled\n );\n }\n\n private initializeFacet() {\n const options: NumericFacetOptions = {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfIntervals,\n currentValues: this.generateCurrentValues(),\n sortCriteria: 'descending',\n generateAutomaticRanges: false,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n this.facet = buildNumericFacet(this.bindings.engine, {options});\n this.facetId = this.facet.state.facetId;\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n this.bindings.store.registerFacet('numericFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n content: (value) => this.ratingContent(value),\n });\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.valuesToRender.length,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n }\n\n private get scaleFactor() {\n return this.maxValueInIndex / this.numberOfIntervals;\n }\n\n private get numberOfSelectedValues() {\n return this.facetState.values.filter(({state}) => state === 'selected')\n .length;\n }\n\n private initializeDependenciesManager() {\n this.dependenciesManager = buildFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n FacetValueRequest | CategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n private generateCurrentValues() {\n const currentValues: NumericRangeRequest[] = [];\n for (let i = this.minValueInIndex; i <= this.numberOfIntervals; i++) {\n currentValues.push(\n buildNumericRange({\n start: Math.round(i * this.scaleFactor * 100) / 100,\n end: Math.round(this.maxValueInIndex * 100) / 100,\n endInclusive: true,\n })\n );\n }\n return currentValues;\n }\n\n private formatFacetValue(facetValue: NumericFacetValue) {\n if (facetValue.start === this.maxValueInIndex) {\n return this.bindings.i18n.t('stars-only', {\n count: facetValue.start,\n });\n }\n return this.bindings.i18n.t('stars-range', {\n value: facetValue.start,\n count: this.maxValueInIndex,\n });\n }\n\n private ratingContent(facetValue: NumericFacetValue) {\n return (\n <div class=\"flex items-center\">\n <Rating\n i18n={this.bindings.i18n}\n numberOfTotalIcons={this.maxValueInIndex}\n numberOfActiveIcons={facetValue.start}\n icon={this.icon}\n ></Rating>\n {this.renderLabelText(facetValue)}\n </div>\n );\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.label}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderLabelText(facetValue: NumericFacetValue) {\n return (\n <span\n part=\"value-label\"\n class={`group-focus:text-primary group-hover:text-primary ml-1 flex items-center truncate ${\n facetValue.state === 'selected' ? 'font-bold' : ''\n }`}\n >\n {facetValue.start === this.maxValueInIndex ? (\n <span>{this.bindings.i18n.t('only')}</span>\n ) : (\n this.bindings.i18n.t('and-up')\n )}\n </span>\n );\n }\n\n private renderValue(facetValue: NumericFacetValue, onClick: () => void) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n >\n {this.ratingContent(facetValue)}\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup i18n={this.bindings.i18n} label={this.label}>\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) =>\n this.renderValue(value, () => this.facet.toggleSingleSelect(value))\n )\n );\n }\n\n private get valuesToRender() {\n return this.facet.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n );\n }\n\n public render() {\n if (this.searchStatusState.hasError || !this.facet.state.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!this.searchStatusState.firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.numberOfIntervals}\n isCollapsed={this.isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.valuesToRender.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && this.renderValues()}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-rating-range-facet.entry.cjs.js","mappings":"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","names":["Star","FocusTargetController","buildSearchStatus","buildTabManager","buildNumericFacet","initializePopover","buildFacetConditionsManager","parseDependsOn","buildNumericRange","h","Rating","FacetHeader","FacetValueLink","FacetValuesGroup","Hidden","FacetPlaceholder","FacetContainer","InitializeBindings","BindStateToController","ArrayProp","MapProp"],"sources":["src/components/search/facets/atomic-rating-range-facet/atomic-rating-range-facet.pcss?tag=atomic-rating-range-facet&encapsulation=shadow","src/components/search/facets/atomic-rating-range-facet/atomic-rating-range-facet.tsx"],"sourcesContent":["@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/atomic-rating/atomic-rating.pcss';\n","import {\n NumericFacet,\n buildNumericFacet,\n NumericFacetState,\n NumericFacetOptions,\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n NumericFacetValue,\n NumericRangeRequest,\n buildNumericRange,\n buildFacetConditionsManager,\n FacetConditionsManager,\n FacetValueRequest,\n CategoryFacetValueRequest,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, VNode, Element} from '@stencil/core';\nimport Star from '../../../../images/star.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {Rating} from '../../../common/atomic-rating/atomic-rating';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/facet-placeholder';\nimport {FacetValueLink} from '../../../common/facets/facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (e.g., number of occurrences).\n * An `atomic-rating-range-facet` displays a facet of the results for the current query as ratings.\n * It only supports numeric fields.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and toggles to expand or collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part values - The facet values container.\n * @part value-label - The facet value label, common for all displays.\n * @part value-count - The facet value count, common for all displays.\n * @part value-rating - The facet value rating, common for all displays.\n * @part value-rating-icon - The individual star icons used in the rating display.\n *\n * @part value-link - The facet value when display is 'link'.\n * @part value-link-selected - The selected facet value when display is 'link'.\n * @part value-box - The facet value when display is 'box'.\n * @part value-box-selected - The selected facet value when display is 'box'.\n */\n@Component({\n tag: 'atomic-rating-range-facet',\n styleUrl: 'atomic-rating-range-facet.pcss',\n shadow: true,\n})\nexport class AtomicRatingRangeFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facet!: NumericFacet;\n private dependenciesManager?: FacetConditionsManager;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: NumericFacetState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * The number of options to display in the facet. If `maxValueInIndex` isn't specified, it will be assumed that this is also the maximum number of rating icons.\n */\n @Prop({reflect: true}) public numberOfIntervals = 5;\n /**\n * The maximum value in the field's index and the number of rating icons to display in the facet. This property will default to the same value as `numberOfIntervals`, if not assigned a value.\n */\n @Prop({reflect: true}) public maxValueInIndex = this.numberOfIntervals;\n /**\n * The minimum value of the field.\n */\n @Prop({reflect: true}) public minValueInIndex = 1;\n /**\n * The SVG icon to use to display the rating.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly.\n *\n * When using a custom icon, at least part of your icon should have the color set to `fill=\"currentColor\"`.\n * This part of the SVG will take on the colors set in the following [variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties):\n *\n * - `--atomic-rating-icon-active-color`\n * - `--atomic-rating-icon-inactive-color`\n */\n @Prop({reflect: true}) public icon = Star;\n /**\n * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n * Default: `1000`\n */\n @Prop({reflect: true}) public injectionDepth = 1000;\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-rating-range-facet\n * depends-on-abc\n * ...\n * ></atomic-rating-range-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-rating-range-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-rating-range-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n private headerFocus?: FocusTargetController;\n\n private get focusTarget() {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This is could lead to unexpected behaviors.'\n );\n }\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.initializeFacet();\n this.initializeDependenciesManager();\n }\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.dependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return (\n !this.valuesToRender.length ||\n this.searchStatusState.hasError ||\n !this.facet.state.enabled\n );\n }\n\n private initializeFacet() {\n const options: NumericFacetOptions = {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfIntervals,\n currentValues: this.generateCurrentValues(),\n sortCriteria: 'descending',\n generateAutomaticRanges: false,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n this.facet = buildNumericFacet(this.bindings.engine, {options});\n this.facetId = this.facet.state.facetId;\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n this.bindings.store.registerFacet('numericFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n content: (value) => this.ratingContent(value),\n });\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.valuesToRender.length,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n }\n\n private get scaleFactor() {\n return this.maxValueInIndex / this.numberOfIntervals;\n }\n\n private get numberOfSelectedValues() {\n return this.facetState.values.filter(({state}) => state === 'selected')\n .length;\n }\n\n private initializeDependenciesManager() {\n this.dependenciesManager = buildFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n FacetValueRequest | CategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n private generateCurrentValues() {\n const currentValues: NumericRangeRequest[] = [];\n for (let i = this.minValueInIndex; i <= this.numberOfIntervals; i++) {\n currentValues.push(\n buildNumericRange({\n start: Math.round(i * this.scaleFactor * 100) / 100,\n end: Math.round(this.maxValueInIndex * 100) / 100,\n endInclusive: true,\n })\n );\n }\n return currentValues;\n }\n\n private formatFacetValue(facetValue: NumericFacetValue) {\n if (facetValue.start === this.maxValueInIndex) {\n return this.bindings.i18n.t('stars-only', {\n count: facetValue.start,\n });\n }\n return this.bindings.i18n.t('stars-range', {\n value: facetValue.start,\n count: this.maxValueInIndex,\n });\n }\n\n private ratingContent(facetValue: NumericFacetValue) {\n return (\n <div class=\"flex items-center\">\n <Rating\n i18n={this.bindings.i18n}\n numberOfTotalIcons={this.maxValueInIndex}\n numberOfActiveIcons={facetValue.start}\n icon={this.icon}\n ></Rating>\n {this.renderLabelText(facetValue)}\n </div>\n );\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.label}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderLabelText(facetValue: NumericFacetValue) {\n return (\n <span\n part=\"value-label\"\n class={`group-focus:text-primary group-hover:text-primary ml-1 flex items-center truncate ${\n facetValue.state === 'selected' ? 'font-bold' : ''\n }`}\n >\n {facetValue.start === this.maxValueInIndex ? (\n <span>{this.bindings.i18n.t('only')}</span>\n ) : (\n this.bindings.i18n.t('and-up')\n )}\n </span>\n );\n }\n\n private renderValue(facetValue: NumericFacetValue, onClick: () => void) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n >\n {this.ratingContent(facetValue)}\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup i18n={this.bindings.i18n} label={this.label}>\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) =>\n this.renderValue(value, () => this.facet.toggleSingleSelect(value))\n )\n );\n }\n\n private get valuesToRender() {\n return this.facet.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n );\n }\n\n public render() {\n if (this.searchStatusState.hasError || !this.facet.state.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!this.searchStatusState.firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.numberOfIntervals}\n isCollapsed={this.isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.valuesToRender.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && this.renderValues()}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
@@ -51,7 +51,7 @@ const AtomicRecsError = class {
51
51
  if (hasError) {
52
52
  this.ariaMessage = stencilLink.getAriaMessageFromErrorType(i18n, organizationId, url, error?.type);
53
53
  }
54
- return (index.h(stencilLink.QueryErrorGuard, { key: 'bccc63276f8ca2a4097a890f4cbf72ab0b39d957', hasError: hasError }, index.h(stencilLink.QueryErrorContainer, { key: 'e258ebd8d886ff319c4c88f75c8bd2e715bfe770' }, index.h(stencilLink.QueryErrorIcon, { key: '8d830fce6482a07ea0b6697ec49f32007ffc90a6', errorType: error?.type }), index.h(stencilLink.QueryErrorTitle, { key: 'cf7854bfd2555a0251f2aab7927716ea3f4bbb15', i18n: i18n, organizationId: organizationId }), index.h(stencilLink.QueryErrorDescription, { key: '43c4990d87208e91d97b1c8f34e895b8f2f59c43', i18n: i18n, organizationId: organizationId, url: url }), index.h(stencilLink.QueryErrorShowMore, { key: '5d4d111cb22db254921808eb0bc8e5c219f1d212', link: index.h(stencilLink.QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), index.h(stencilLink.QueryErrorDetails, { key: '95ea4a814566487ff34282f949afa7b58d776488', error: error, show: this.showMoreInfo }))));
54
+ return (index.h(stencilLink.QueryErrorGuard, { key: '1dca8ab41bdb8a71f1936cf1751fb6017c7c9fad', hasError: hasError }, index.h(stencilLink.QueryErrorContainer, { key: '711d860dbc6085ed9d3f03fd254865826c9fb897' }, index.h(stencilLink.QueryErrorIcon, { key: '35a3e19666aa1e38cd41ad11503c56ba0b926ce8', errorType: error?.type }), index.h(stencilLink.QueryErrorTitle, { key: '6987ab69f7a8a87a5615ccc8cde9c2a34db48e91', i18n: i18n, organizationId: organizationId }), index.h(stencilLink.QueryErrorDescription, { key: '368140552841c3094bb81c469f58dc59bc1341b7', i18n: i18n, organizationId: organizationId, url: url }), index.h(stencilLink.QueryErrorShowMore, { key: '9f13261f6873e200f96c2a39fa4da506e7f762f8', link: index.h(stencilLink.QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), index.h(stencilLink.QueryErrorDetails, { key: 'da03ee81b4af216551f847592b4c49d478f35d50', error: error, show: this.showMoreInfo }))));
55
55
  }
56
56
  };
57
57
  __decorate([
@@ -5,13 +5,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-757bc886.js');
6
6
  const initQueue = require('./init-queue-a18aa323.js');
7
7
  const recommendation = require('@coveo/headless/recommendation');
8
- const analyticsConfig = require('./analytics-config-d3622a33.js');
8
+ const interfaceCommonStencil = require('./interface-common-stencil-12a85cad.js');
9
9
  const propsUtils = require('./props-utils-66dfcd3a.js');
10
+ const analyticsConfig = require('./analytics-config-d9450484.js');
10
11
  const store = require('./store-116fd400.js');
12
+ require('@coveo/headless');
11
13
  require('./dayjs.min-8b80e6d1.js');
12
14
  require('./_commonjsHelpers-b3309d7b.js');
13
15
  require('./purify-85b542e2.js');
14
- require('@coveo/headless');
15
16
  require('@coveo/bueno');
16
17
  require('./utils-b6642872.js');
17
18
 
@@ -130,14 +131,14 @@ const AtomicRecsInterface = class {
130
131
  this.languageAssetsPath = './lang';
131
132
  this.iconAssetsPath = './assets';
132
133
  this.CspNonce = undefined;
133
- this.commonInterfaceHelper = new analyticsConfig.CommonAtomicInterfaceHelper(this, 'CoveoAtomicRecs');
134
+ this.commonInterfaceHelper = new interfaceCommonStencil.CommonAtomicInterfaceHelper(this, 'CoveoAtomicRecs');
134
135
  ({
135
136
  promise: this.componentWillLoadCalledPromise,
136
137
  resolve: this.componentWillLoadResolver,
137
138
  } = Promise.withResolvers());
138
139
  const { promise, resolve } = Promise.withResolvers();
139
140
  this.i18Initialized = promise;
140
- this.i18n = analyticsConfig.instance.createInstance(undefined, resolve);
141
+ this.i18n = interfaceCommonStencil.instance.createInstance(undefined, resolve);
141
142
  }
142
143
  get bindings() {
143
144
  return {
@@ -168,10 +169,10 @@ const AtomicRecsInterface = class {
168
169
  */
169
170
  initializeWithRecommendationEngine(engine) {
170
171
  if (this.pipeline && this.pipeline !== engine.state.pipeline) {
171
- console.warn(analyticsConfig.mismatchedInterfaceAndEnginePropError('recommendation', 'query pipeline'));
172
+ console.warn(interfaceCommonStencil.mismatchedInterfaceAndEnginePropError('recommendation', 'query pipeline'));
172
173
  }
173
174
  if (this.searchHub && this.searchHub !== engine.state.searchHub) {
174
- console.warn(analyticsConfig.mismatchedInterfaceAndEnginePropError('recommendation', 'search hub'));
175
+ console.warn(interfaceCommonStencil.mismatchedInterfaceAndEnginePropError('recommendation', 'search hub'));
175
176
  }
176
177
  return this.internalInitialization(() => (this.engine = engine));
177
178
  }