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

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 (745) 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 +13 -1
  83. package/dist/atomic/components/atomic-product-description.js.map +1 -1
  84. package/dist/atomic/components/atomic-product-excerpt.js +13 -1
  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/facet-date-input.js +3 -3
  141. package/dist/atomic/components/facet-number-input.js +2 -2
  142. package/dist/atomic/components/global/environment.js +1 -1
  143. package/dist/atomic/components/index.js.map +1 -1
  144. package/dist/atomic/components/interface-common-stencil.js +2941 -0
  145. package/dist/atomic/components/interface-common-stencil.js.map +1 -0
  146. package/dist/atomic/components/product-utils.js +8 -1
  147. package/dist/atomic/components/product-utils.js.map +1 -1
  148. package/dist/atomic/components/sections.js.map +1 -1
  149. package/dist/atomic/components/stencil-guard.js +23 -0
  150. package/dist/atomic/components/stencil-guard.js.map +1 -0
  151. package/dist/atomic/components/stencil-item-text-highlighted.js +49 -0
  152. package/dist/atomic/components/stencil-item-text-highlighted.js.map +1 -0
  153. package/dist/atomic/components/tab-button.js +1 -1
  154. package/dist/atomic/components/tab-popover.js +1 -1
  155. package/dist/atomic/components/{components/common/no-items/utils.js → utils2.js} +5 -1
  156. package/dist/atomic/components/utils2.js.map +1 -0
  157. package/dist/atomic/{p-f5cea23f.entry.js → p-0267a585.entry.js} +2 -2
  158. package/dist/atomic/p-0a7b0daa.entry.js +2 -0
  159. package/dist/atomic/{p-55b4fb2b.entry.js.map → p-0a7b0daa.entry.js.map} +1 -1
  160. package/dist/atomic/{p-dcded8cb.entry.js → p-0b0ea7d3.entry.js} +2 -2
  161. package/dist/atomic/{p-1326166a.entry.js → p-135be5aa.entry.js} +2 -2
  162. package/dist/atomic/p-1cb2280d.js +2 -0
  163. package/dist/atomic/p-1cb2280d.js.map +1 -0
  164. package/dist/atomic/{p-f3e9a9f8.entry.js → p-1cc97adc.entry.js} +2 -2
  165. package/dist/atomic/{p-ea5d2736.entry.js → p-22a0d1b9.entry.js} +2 -2
  166. package/dist/atomic/{p-d88aec96.entry.js → p-29d27418.entry.js} +2 -2
  167. package/dist/atomic/{p-90e88505.entry.js → p-2f0cb73c.entry.js} +2 -2
  168. package/dist/atomic/p-2ff906b9.entry.js +2 -0
  169. package/dist/atomic/p-2ff906b9.entry.js.map +1 -0
  170. package/dist/atomic/{p-fb060cc0.entry.js → p-306c83ea.entry.js} +2 -2
  171. package/dist/atomic/{p-b15ca291.entry.js → p-3195fa42.entry.js} +2 -2
  172. package/dist/atomic/{p-714c5c2c.entry.js → p-32b26cd0.entry.js} +2 -2
  173. package/dist/atomic/{p-1c72983f.entry.js → p-32c90fe9.entry.js} +2 -2
  174. package/dist/atomic/p-39223a2a.entry.js +2 -0
  175. package/dist/atomic/p-39223a2a.entry.js.map +1 -0
  176. package/dist/atomic/p-39447826.entry.js +2 -0
  177. package/dist/atomic/{p-fafea879.entry.js.map → p-39447826.entry.js.map} +1 -1
  178. package/dist/atomic/p-3cc601ad.entry.js +2 -0
  179. package/dist/atomic/p-3cc601ad.entry.js.map +1 -0
  180. package/dist/atomic/{p-4e2ec64c.entry.js → p-3ec18de9.entry.js} +2 -2
  181. package/dist/atomic/{p-a010dddb.entry.js → p-3f42a2db.entry.js} +2 -2
  182. package/dist/atomic/{p-4495b132.entry.js → p-45b26cc7.entry.js} +2 -2
  183. package/dist/atomic/p-46522ee4.entry.js +2 -0
  184. package/dist/atomic/{p-50ff35f8.entry.js.map → p-46522ee4.entry.js.map} +1 -1
  185. package/dist/atomic/{p-ffb15631.entry.js → p-47ee9d37.entry.js} +2 -2
  186. package/dist/atomic/p-4e57cee1.entry.js +2 -0
  187. package/dist/atomic/{p-1429fbdb.entry.js.map → p-4e57cee1.entry.js.map} +1 -1
  188. package/dist/atomic/{p-aa4fc96f.entry.js → p-50b9a5d2.entry.js} +2 -2
  189. package/dist/atomic/{p-e25287fd.entry.js → p-51c5acfc.entry.js} +2 -2
  190. package/dist/atomic/{p-f72a0133.entry.js → p-543e811e.entry.js} +2 -2
  191. package/dist/atomic/p-57f53200.entry.js +2 -0
  192. package/dist/atomic/{p-e4f872fb.entry.js.map → p-57f53200.entry.js.map} +1 -1
  193. package/dist/atomic/{p-0df077b7.entry.js → p-59017e0a.entry.js} +2 -2
  194. package/dist/atomic/p-59017e0a.entry.js.map +1 -0
  195. package/dist/atomic/p-5cf5bb98.entry.js +2 -0
  196. package/dist/atomic/p-5e73a3e8.js +2 -0
  197. package/dist/atomic/p-5e73a3e8.js.map +1 -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-ace45b24.entry.js → p-70ab347b.entry.js} +2 -2
  208. package/dist/atomic/p-733252f1.entry.js +2 -0
  209. package/dist/atomic/p-733252f1.entry.js.map +1 -0
  210. package/dist/atomic/{p-966509f8.entry.js → p-76122df5.entry.js} +2 -2
  211. package/dist/atomic/{p-9ec72c3b.entry.js → p-7d1f8d9c.entry.js} +2 -2
  212. package/dist/atomic/{p-f5323d5b.js → p-7ed31f46.js} +2 -2
  213. package/dist/atomic/p-7ed31f46.js.map +1 -0
  214. package/dist/atomic/{p-d37bb72b.entry.js → p-80dc3bab.entry.js} +2 -2
  215. package/dist/atomic/p-8392e900.entry.js +2 -0
  216. package/dist/atomic/p-8392e900.entry.js.map +1 -0
  217. package/dist/atomic/{p-6e11d4c6.entry.js → p-8d7f57d9.entry.js} +2 -2
  218. package/dist/atomic/{p-7d63f0e6.entry.js → p-8e09f796.entry.js} +2 -2
  219. package/dist/atomic/{p-a84d94cb.entry.js → p-95942ba2.entry.js} +2 -2
  220. package/dist/atomic/{p-21d55afc.entry.js → p-99604083.entry.js} +2 -2
  221. package/dist/atomic/{p-d4ec6961.entry.js → p-9a08dad7.entry.js} +2 -2
  222. package/dist/atomic/{p-03fa8481.entry.js → p-9ae88402.entry.js} +2 -2
  223. package/dist/atomic/p-9c7dbbdf.js.map +1 -1
  224. package/dist/atomic/{p-01c109cf.entry.js → p-9d2230db.entry.js} +2 -2
  225. package/dist/atomic/{p-fac32d34.entry.js → p-9eb108c9.entry.js} +2 -2
  226. package/dist/atomic/p-a046cf06.entry.js +2 -0
  227. package/dist/atomic/p-a046cf06.entry.js.map +1 -0
  228. package/dist/atomic/{p-5a3cd055.entry.js → p-a3169f59.entry.js} +2 -2
  229. package/dist/atomic/{p-50ff35f8.entry.js → p-a772b365.entry.js} +2 -2
  230. package/dist/atomic/{p-56d6d329.entry.js.map → p-a772b365.entry.js.map} +1 -1
  231. package/dist/atomic/{p-c6f15059.entry.js → p-a8281e9b.entry.js} +2 -2
  232. package/dist/atomic/{p-4f03327d.entry.js → p-ab5eec3d.entry.js} +2 -2
  233. package/dist/atomic/{p-1aedbfbf.entry.js → p-b19a8cbb.entry.js} +2 -2
  234. package/dist/atomic/p-b1a7d837.js +2 -0
  235. package/dist/atomic/p-b1a7d837.js.map +1 -0
  236. package/dist/atomic/{p-61f79055.entry.js → p-b4d47ca9.entry.js} +2 -2
  237. package/dist/atomic/{p-1e3f156e.entry.js → p-b4dfe5b2.entry.js} +2 -2
  238. package/dist/atomic/p-b747e4a9.entry.js +2 -0
  239. package/dist/atomic/{p-e4cc2a37.entry.js → p-b7824e0e.entry.js} +2 -2
  240. package/dist/atomic/p-bb081d4e.js +2 -0
  241. package/dist/atomic/p-bb081d4e.js.map +1 -0
  242. package/dist/atomic/p-bd0aa08f.entry.js +2 -0
  243. package/dist/atomic/{p-022784c5.entry.js.map → p-bd0aa08f.entry.js.map} +1 -1
  244. package/dist/atomic/{p-3632e456.entry.js → p-be13ed5c.entry.js} +2 -2
  245. package/dist/atomic/p-befca41f.entry.js +2 -0
  246. package/dist/atomic/p-befca41f.entry.js.map +1 -0
  247. package/dist/atomic/{p-2871034a.entry.js → p-bfeefcaa.entry.js} +2 -2
  248. package/dist/atomic/p-c0b3720d.entry.js +2 -0
  249. package/dist/atomic/p-c0b3720d.entry.js.map +1 -0
  250. package/dist/atomic/{p-b4b6f859.entry.js → p-c0d7b26d.entry.js} +2 -2
  251. package/dist/atomic/{p-9ef7ffc0.entry.js → p-c13d4039.entry.js} +2 -2
  252. package/dist/atomic/{p-4505f2e0.entry.js → p-c4f042ae.entry.js} +2 -2
  253. package/dist/atomic/p-c83f9cff.entry.js +2 -0
  254. package/dist/atomic/p-c83f9cff.entry.js.map +1 -0
  255. package/dist/atomic/p-cd725265.js +2 -0
  256. package/dist/atomic/{p-7d1c2ecd.js.map → p-cd725265.js.map} +1 -1
  257. package/dist/atomic/{p-faee1f57.entry.js → p-cd87574b.entry.js} +2 -2
  258. package/dist/atomic/{p-0875a7fb.entry.js → p-ce4e939b.entry.js} +2 -2
  259. package/dist/atomic/{p-1fbbed3e.entry.js → p-d1efd50f.entry.js} +2 -2
  260. package/dist/atomic/{p-7d773b22.entry.js → p-d30057a0.entry.js} +2 -2
  261. package/dist/atomic/{p-e7d5c4be.entry.js → p-d4aba9f9.entry.js} +2 -2
  262. package/dist/atomic/{p-ce1f6392.entry.js → p-d69756ae.entry.js} +2 -2
  263. package/dist/atomic/{p-08d1db60.entry.js → p-d827c148.entry.js} +2 -2
  264. package/dist/atomic/p-da578608.entry.js +2 -0
  265. package/dist/atomic/{p-852ffdb4.entry.js.map → p-da578608.entry.js.map} +1 -1
  266. package/dist/atomic/{p-d04ad3e5.entry.js → p-dd8c6bdd.entry.js} +2 -2
  267. package/dist/atomic/{p-886da915.entry.js → p-ddd52850.entry.js} +2 -2
  268. package/dist/atomic/{p-fecd79de.entry.js → p-e44155cc.entry.js} +2 -2
  269. package/dist/atomic/{p-7f5485ad.entry.js → p-e46517e9.entry.js} +2 -2
  270. package/dist/atomic/{p-8074a49d.entry.js.map → p-e46517e9.entry.js.map} +1 -1
  271. package/dist/atomic/{p-c074198a.entry.js → p-e4754fd0.entry.js} +2 -2
  272. package/dist/atomic/{p-55b4fb2b.entry.js → p-e604fd29.entry.js} +2 -2
  273. package/dist/atomic/{p-27054c71.entry.js.map → p-e604fd29.entry.js.map} +1 -1
  274. package/dist/atomic/p-eab28672.entry.js +2 -0
  275. package/dist/atomic/p-eab28672.entry.js.map +1 -0
  276. package/dist/atomic/{p-db5285b1.entry.js → p-ec0161b7.entry.js} +2 -2
  277. package/dist/atomic/p-ec03a238.entry.js +2 -0
  278. package/dist/atomic/{p-7f5485ad.entry.js.map → p-ec03a238.entry.js.map} +1 -1
  279. package/dist/atomic/{p-eea2128f.entry.js → p-ec6bc15b.entry.js} +2 -2
  280. package/dist/atomic/{p-e37f01fc.entry.js → p-eebb168b.entry.js} +2 -2
  281. package/dist/atomic/p-f4a1bfe3.entry.js +2 -0
  282. package/dist/atomic/p-f4a1bfe3.entry.js.map +1 -0
  283. package/dist/atomic/{p-870dbeef.entry.js → p-f4b98113.entry.js} +2 -2
  284. package/dist/atomic/p-f6283657.entry.js +2 -0
  285. package/dist/atomic/{p-0df077b7.entry.js.map → p-f6283657.entry.js.map} +1 -1
  286. package/dist/atomic/p-f68cee5d.entry.js +2 -0
  287. package/dist/atomic/{p-b90e5ea5.entry.js.map → p-f68cee5d.entry.js.map} +1 -1
  288. package/dist/atomic/{p-58268151.entry.js → p-f7f8096a.entry.js} +2 -2
  289. package/dist/atomic/{p-58268151.entry.js.map → p-f7f8096a.entry.js.map} +1 -1
  290. package/dist/atomic/{p-e988f378.js → p-f7f81710.js} +2 -2
  291. package/dist/atomic/{p-8403335e.entry.js → p-fb0bdcdb.entry.js} +2 -2
  292. package/dist/atomic/p-fb3e07e9.js +2 -0
  293. package/dist/atomic/p-fb3e07e9.js.map +1 -0
  294. package/dist/atomic/p-fbbbc454.entry.js +2 -0
  295. package/dist/atomic/{p-ebb35a4b.entry.js → p-fd9d1c3f.entry.js} +2 -2
  296. package/dist/cjs/_loader.cjs.js +1 -1
  297. package/dist/cjs/analytics-config-f82932e2.js +49 -0
  298. package/dist/cjs/analytics-config-f82932e2.js.map +1 -0
  299. package/dist/cjs/atomic-aria-live.cjs.entry.js +75 -0
  300. package/dist/cjs/atomic-aria-live.cjs.entry.js.map +1 -0
  301. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +3 -4
  302. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js.map +1 -1
  303. package/dist/cjs/atomic-category-facet.cjs.entry.js +3 -4
  304. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  305. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  306. package/dist/cjs/atomic-color-facet.cjs.entry.js +3 -4
  307. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  308. package/dist/cjs/{atomic-commerce-category-facet_6.cjs.entry.js → atomic-commerce-category-facet_5.cjs.entry.js} +109 -141
  309. package/dist/cjs/atomic-commerce-category-facet_5.cjs.entry.js.map +1 -0
  310. package/dist/cjs/atomic-commerce-facet-number-input_2.cjs.entry.js +149 -0
  311. package/dist/cjs/atomic-commerce-facet-number-input_2.cjs.entry.js.map +1 -0
  312. package/dist/cjs/atomic-commerce-no-products.cjs.entry.js +65 -0
  313. package/dist/cjs/atomic-commerce-no-products.cjs.entry.js.map +1 -0
  314. package/dist/cjs/atomic-commerce-query-error.cjs.entry.js +1 -1
  315. package/dist/cjs/atomic-commerce-recommendation-interface.cjs.entry.js +179 -0
  316. package/dist/cjs/atomic-commerce-recommendation-interface.cjs.entry.js.map +1 -0
  317. package/dist/cjs/atomic-commerce-refine-modal.cjs.entry.js +1 -1
  318. package/dist/cjs/atomic-commerce-refine-toggle.cjs.entry.js +74 -0
  319. package/dist/cjs/atomic-commerce-refine-toggle.cjs.entry.js.map +1 -0
  320. package/dist/cjs/atomic-commerce-text_2.cjs.entry.js +106 -0
  321. package/dist/cjs/atomic-commerce-text_2.cjs.entry.js.map +1 -0
  322. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  323. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
  324. package/dist/cjs/atomic-facet.cjs.entry.js +2 -3
  325. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  326. package/dist/cjs/atomic-focus-trap_2.cjs.entry.js +2 -2
  327. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  328. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  329. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  330. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  331. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  332. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
  333. package/dist/cjs/atomic-insight-facet.cjs.entry.js +2 -3
  334. package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
  335. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  336. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  337. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
  338. package/dist/cjs/atomic-insight-interface.cjs.entry.js +5 -12
  339. package/dist/cjs/atomic-insight-interface.cjs.entry.js.map +1 -1
  340. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  341. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +2 -3
  342. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
  343. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
  344. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +1 -1
  345. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  346. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  347. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  348. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  349. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  350. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  351. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  352. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
  353. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  354. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  355. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +5 -6
  356. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
  357. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  358. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  359. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  360. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  361. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  362. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  363. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  364. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  365. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  366. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  367. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  368. package/dist/cjs/atomic-layout-section.cjs.entry.js +18 -0
  369. package/dist/cjs/atomic-layout-section.cjs.entry.js.map +1 -0
  370. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  371. package/dist/cjs/atomic-no-results.cjs.entry.js +3 -15
  372. package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
  373. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +2 -3
  374. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  375. package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
  376. package/dist/cjs/atomic-product-link.cjs.entry.js +1 -1
  377. package/dist/cjs/atomic-product-numeric-field-value.cjs.entry.js +1 -1
  378. package/dist/cjs/atomic-product-price.cjs.entry.js +2 -2
  379. package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
  380. package/dist/cjs/atomic-query-summary.cjs.entry.js +1 -1
  381. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  382. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  383. package/dist/cjs/atomic-rating-facet.cjs.entry.js +3 -4
  384. package/dist/cjs/atomic-rating-facet.cjs.entry.js.map +1 -1
  385. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +3 -4
  386. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js.map +1 -1
  387. package/dist/cjs/atomic-recs-error.cjs.entry.js +1 -1
  388. package/dist/cjs/atomic-recs-interface.cjs.entry.js +7 -6
  389. package/dist/cjs/atomic-recs-interface.cjs.entry.js.map +1 -1
  390. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  391. package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
  392. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +3 -19
  393. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  394. package/dist/cjs/{atomic-aria-live_2.cjs.entry.js → atomic-relevance-inspector.cjs.entry.js} +3 -70
  395. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js.map +1 -0
  396. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  397. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  398. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  399. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  400. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  401. package/dist/cjs/atomic-result-text_2.cjs.entry.js +4 -46
  402. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  403. package/dist/cjs/atomic-results-per-page.cjs.entry.js +1 -1
  404. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
  405. package/dist/cjs/atomic-search-box.cjs.entry.js +5 -4
  406. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  407. package/dist/cjs/atomic-search-interface.cjs.entry.js +6 -5
  408. package/dist/cjs/atomic-search-interface.cjs.entry.js.map +1 -1
  409. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  410. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  411. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  412. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  413. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  414. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  415. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  416. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  417. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  418. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +5 -6
  419. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js.map +1 -1
  420. package/dist/cjs/atomic.cjs.js +1 -1
  421. package/dist/cjs/{stencil-facet-header-a3dd9de0.js → facet-placeholder-ad0407f0.js} +12 -1
  422. package/dist/cjs/facet-placeholder-ad0407f0.js.map +1 -0
  423. package/dist/cjs/index-757bc886.js +34 -10
  424. package/dist/cjs/{analytics-config-d3622a33.js → interface-common-stencil-98f073f6.js} +4 -46
  425. package/dist/cjs/interface-common-stencil-98f073f6.js.map +1 -0
  426. package/dist/cjs/{product-utils-f6c780e3.js → product-utils-9507462c.js} +9 -1
  427. package/dist/cjs/product-utils-9507462c.js.map +1 -0
  428. package/dist/cjs/sections-4b4af2f8.js.map +1 -1
  429. package/dist/cjs/stencil-guard-caf49888.js +26 -0
  430. package/dist/cjs/stencil-guard-caf49888.js.map +1 -0
  431. package/dist/cjs/stencil-item-text-highlighted-91fd0fe8.js +52 -0
  432. package/dist/cjs/stencil-item-text-highlighted-91fd0fe8.js.map +1 -0
  433. package/dist/cjs/{timeframe-facet-common-d9078836.js → timeframe-facet-common-c555d20d.js} +4 -5
  434. package/dist/cjs/timeframe-facet-common-c555d20d.js.map +1 -0
  435. package/dist/cjs/utils-ca9c9aed.js +18 -0
  436. package/dist/cjs/utils-ca9c9aed.js.map +1 -0
  437. package/dist/cjs/version.cjs.js +2 -2
  438. package/dist/esm/_loader.js +1 -1
  439. package/dist/esm/analytics-config-253004a0.js +43 -0
  440. package/dist/esm/analytics-config-253004a0.js.map +1 -0
  441. package/dist/esm/atomic-aria-live.entry.js +71 -0
  442. package/dist/esm/atomic-aria-live.entry.js.map +1 -0
  443. package/dist/esm/atomic-automatic-facet_2.entry.js +1 -2
  444. package/dist/esm/atomic-automatic-facet_2.entry.js.map +1 -1
  445. package/dist/esm/atomic-category-facet.entry.js +2 -3
  446. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  447. package/dist/esm/atomic-citation.entry.js +1 -1
  448. package/dist/esm/atomic-color-facet.entry.js +1 -2
  449. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  450. package/dist/esm/{atomic-commerce-category-facet_6.entry.js → atomic-commerce-category-facet_5.entry.js} +109 -140
  451. package/dist/esm/atomic-commerce-category-facet_5.entry.js.map +1 -0
  452. package/dist/esm/atomic-commerce-facet-number-input_2.entry.js +144 -0
  453. package/dist/esm/atomic-commerce-facet-number-input_2.entry.js.map +1 -0
  454. package/dist/esm/atomic-commerce-no-products.entry.js +61 -0
  455. package/dist/esm/atomic-commerce-no-products.entry.js.map +1 -0
  456. package/dist/esm/atomic-commerce-query-error.entry.js +1 -1
  457. package/dist/esm/atomic-commerce-recommendation-interface.entry.js +175 -0
  458. package/dist/esm/atomic-commerce-recommendation-interface.entry.js.map +1 -0
  459. package/dist/esm/atomic-commerce-refine-modal.entry.js +1 -1
  460. package/dist/esm/atomic-commerce-refine-toggle.entry.js +70 -0
  461. package/dist/esm/atomic-commerce-refine-toggle.entry.js.map +1 -0
  462. package/dist/esm/atomic-commerce-text_2.entry.js +101 -0
  463. package/dist/esm/atomic-commerce-text_2.entry.js.map +1 -0
  464. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  465. package/dist/esm/atomic-facet-number-input.entry.js +2 -2
  466. package/dist/esm/atomic-facet.entry.js +2 -3
  467. package/dist/esm/atomic-facet.entry.js.map +1 -1
  468. package/dist/esm/atomic-focus-trap_2.entry.js +2 -2
  469. package/dist/esm/atomic-format-currency.entry.js +1 -1
  470. package/dist/esm/atomic-format-number.entry.js +1 -1
  471. package/dist/esm/atomic-format-unit.entry.js +1 -1
  472. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
  473. package/dist/esm/atomic-html.entry.js +1 -1
  474. package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
  475. package/dist/esm/atomic-insight-facet.entry.js +2 -3
  476. package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
  477. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  478. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  479. package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
  480. package/dist/esm/atomic-insight-interface.entry.js +3 -10
  481. package/dist/esm/atomic-insight-interface.entry.js.map +1 -1
  482. package/dist/esm/atomic-insight-no-results.entry.js +2 -2
  483. package/dist/esm/atomic-insight-numeric-facet.entry.js +2 -3
  484. package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
  485. package/dist/esm/atomic-insight-pager.entry.js +3 -3
  486. package/dist/esm/atomic-insight-query-error.entry.js +1 -1
  487. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  488. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  489. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  490. package/dist/esm/atomic-insight-result-children.entry.js +1 -1
  491. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  492. package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
  493. package/dist/esm/atomic-insight-result.entry.js +1 -1
  494. package/dist/esm/atomic-insight-search-box.entry.js +2 -2
  495. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  496. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  497. package/dist/esm/atomic-insight-timeframe-facet.entry.js +5 -6
  498. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
  499. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  500. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  501. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  502. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  503. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  504. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  505. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  506. package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
  507. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  508. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  509. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  510. package/dist/esm/atomic-layout-section.entry.js +14 -0
  511. package/dist/esm/atomic-layout-section.entry.js.map +1 -0
  512. package/dist/esm/atomic-load-more-results.entry.js +1 -1
  513. package/dist/esm/atomic-no-results.entry.js +3 -15
  514. package/dist/esm/atomic-no-results.entry.js.map +1 -1
  515. package/dist/esm/atomic-numeric-facet.entry.js +2 -3
  516. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  517. package/dist/esm/atomic-pager.entry.js +3 -3
  518. package/dist/esm/atomic-product-link.entry.js +1 -1
  519. package/dist/esm/atomic-product-numeric-field-value.entry.js +1 -1
  520. package/dist/esm/atomic-product-price.entry.js +2 -2
  521. package/dist/esm/atomic-query-error.entry.js +1 -1
  522. package/dist/esm/atomic-query-summary.entry.js +1 -1
  523. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  524. package/dist/esm/atomic-quickview.entry.js +1 -1
  525. package/dist/esm/atomic-rating-facet.entry.js +1 -2
  526. package/dist/esm/atomic-rating-facet.entry.js.map +1 -1
  527. package/dist/esm/atomic-rating-range-facet.entry.js +1 -2
  528. package/dist/esm/atomic-rating-range-facet.entry.js.map +1 -1
  529. package/dist/esm/atomic-recs-error.entry.js +1 -1
  530. package/dist/esm/atomic-recs-interface.entry.js +3 -2
  531. package/dist/esm/atomic-recs-interface.entry.js.map +1 -1
  532. package/dist/esm/atomic-recs-list.entry.js +1 -1
  533. package/dist/esm/atomic-refine-modal.entry.js +1 -1
  534. package/dist/esm/atomic-refine-toggle.entry.js +4 -20
  535. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  536. package/dist/esm/{atomic-aria-live_2.entry.js → atomic-relevance-inspector.entry.js} +5 -71
  537. package/dist/esm/atomic-relevance-inspector.entry.js.map +1 -0
  538. package/dist/esm/atomic-result-children.entry.js +1 -1
  539. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  540. package/dist/esm/atomic-result-link.entry.js +1 -1
  541. package/dist/esm/atomic-result-list.entry.js +1 -1
  542. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  543. package/dist/esm/atomic-result-text_2.entry.js +3 -45
  544. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  545. package/dist/esm/atomic-results-per-page.entry.js +1 -1
  546. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +2 -2
  547. package/dist/esm/atomic-search-box.entry.js +5 -4
  548. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  549. package/dist/esm/atomic-search-interface.entry.js +2 -1
  550. package/dist/esm/atomic-search-interface.entry.js.map +1 -1
  551. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  552. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  553. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  554. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  555. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  556. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  557. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  558. package/dist/esm/atomic-tab-button.entry.js +1 -1
  559. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  560. package/dist/esm/atomic-timeframe-facet.entry.js +5 -6
  561. package/dist/esm/atomic-timeframe-facet.entry.js.map +1 -1
  562. package/dist/esm/atomic.js +1 -1
  563. package/dist/esm/{stencil-facet-header-8a22d37d.js → facet-placeholder-1ed55384.js} +12 -2
  564. package/dist/esm/facet-placeholder-1ed55384.js.map +1 -0
  565. package/dist/esm/index-3f35faca.js +34 -10
  566. package/dist/esm/{analytics-config-9367c413.js → interface-common-stencil-4bb4d80c.js} +4 -42
  567. package/dist/esm/interface-common-stencil-4bb4d80c.js.map +1 -0
  568. package/dist/esm/{product-utils-85109d2e.js → product-utils-8348689f.js} +9 -2
  569. package/dist/esm/product-utils-8348689f.js.map +1 -0
  570. package/dist/esm/sections-ae00b53a.js.map +1 -1
  571. package/dist/esm/stencil-guard-9329c8cd.js +23 -0
  572. package/dist/esm/stencil-guard-9329c8cd.js.map +1 -0
  573. package/dist/esm/stencil-item-text-highlighted-0e1c6c08.js +49 -0
  574. package/dist/esm/stencil-item-text-highlighted-0e1c6c08.js.map +1 -0
  575. package/dist/esm/{stencil-tips-be95482d.js → stencil-tips-06e9b3c2.js} +2 -2
  576. package/dist/esm/{stencil-tips-be95482d.js.map → stencil-tips-06e9b3c2.js.map} +1 -1
  577. package/dist/esm/{timeframe-facet-common-e16ae647.js → timeframe-facet-common-987f9f89.js} +2 -3
  578. package/dist/esm/timeframe-facet-common-987f9f89.js.map +1 -0
  579. package/dist/esm/utils-bd51f737.js +16 -0
  580. package/dist/esm/utils-bd51f737.js.map +1 -0
  581. package/dist/esm/version.js +2 -2
  582. package/dist/types/components/commerce/atomic-commerce-layout/atomic-commerce-layout.d.ts +1 -1
  583. package/dist/types/components/commerce/atomic-commerce-no-products/atomic-commerce-no-products.d.ts +6 -15
  584. package/dist/types/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.d.ts +45 -63
  585. package/dist/types/components/commerce/atomic-commerce-refine-toggle/atomic-commerce-refine-toggle.d.ts +8 -14
  586. package/dist/types/components/commerce/atomic-commerce-text/atomic-commerce-text.d.ts +5 -13
  587. package/dist/types/components/commerce/atomic-product-template/atomic-product-template.d.ts +1 -4
  588. package/dist/types/components/commerce/atomic-product-text/atomic-product-text.d.ts +15 -29
  589. package/dist/types/components/commerce/index.d.ts +0 -5
  590. package/dist/types/components/common/atomic-layout-section/atomic-layout-section.d.ts +2 -11
  591. package/dist/types/components/common/atomic-layout-section/sections.d.ts +1 -2
  592. package/dist/types/components/common/index.d.ts +0 -1
  593. package/dist/types/components/common/interface/interface-common.d.ts +2 -1
  594. package/dist/types/components/common/items-per-page/label.d.ts +2 -2
  595. package/dist/types/components/common/no-items/container.d.ts +2 -2
  596. package/dist/types/components/common/no-items/magnifying-glass.d.ts +2 -2
  597. package/dist/types/components/common/refine-modal/button.d.ts +1 -1
  598. package/dist/types/components/insight/atomic-insight-interface/store.d.ts +0 -4
  599. package/dist/types/components.d.ts +300 -4
  600. package/dist/types/utils/functional-component-utils.d.ts +0 -3
  601. package/docs/atomic-docs.json +795 -31
  602. package/package.json +3 -3
  603. package/dist/atomic/components/components/commerce/atomic-commerce-no-products/atomic-commerce-no-products.js +0 -95
  604. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +0 -235
  605. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.tw.css.js +0 -2
  606. package/dist/atomic/components/components/commerce/atomic-commerce-refine-toggle/atomic-commerce-refine-toggle.js +0 -84
  607. package/dist/atomic/components/components/commerce/atomic-commerce-refine-toggle/atomic-commerce-refine-toggle.tw.css.js +0 -2
  608. package/dist/atomic/components/components/commerce/atomic-commerce-text/atomic-commerce-text.js +0 -54
  609. package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +0 -135
  610. package/dist/atomic/components/components/commerce/product-template-component-utils/error.js +0 -6
  611. package/dist/atomic/components/components/commerce/product-template-component-utils/product-utils.js +0 -35
  612. package/dist/atomic/components/components/common/atomic-layout-section/atomic-layout-section.js +0 -31
  613. package/dist/atomic/components/components/common/item-text/field-warning.js +0 -6
  614. package/dist/atomic/components/components/common/item-text/item-text-fallback.js +0 -15
  615. package/dist/atomic/components/components/common/item-text/item-text-highlighted.js +0 -17
  616. package/dist/atomic/components/components/common/item-text/render-highlights.js +0 -13
  617. package/dist/atomic/components/components/common/no-items/container.js +0 -7
  618. package/dist/atomic/components/components/common/no-items/guard.js +0 -11
  619. package/dist/atomic/components/components/common/no-items/magnifying-glass.js +0 -11
  620. package/dist/atomic/components/components/common/no-items/no-items.js +0 -30
  621. package/dist/atomic/components/components/common/no-items/tips.js +0 -8
  622. package/dist/atomic/components/components/common/refine-modal/button.js +0 -14
  623. package/dist/atomic/components/components/common/refine-modal/guard.js +0 -23
  624. package/dist/atomic/components/utils/object-utils.js +0 -13
  625. package/dist/atomic/p-022784c5.entry.js +0 -2
  626. package/dist/atomic/p-06037ffe.entry.js +0 -2
  627. package/dist/atomic/p-06037ffe.entry.js.map +0 -1
  628. package/dist/atomic/p-1429fbdb.entry.js +0 -2
  629. package/dist/atomic/p-27054c71.entry.js +0 -2
  630. package/dist/atomic/p-3025e992.entry.js +0 -2
  631. package/dist/atomic/p-56d6d329.entry.js +0 -2
  632. package/dist/atomic/p-7555ad6d.js +0 -2
  633. package/dist/atomic/p-7555ad6d.js.map +0 -1
  634. package/dist/atomic/p-7d1c2ecd.js +0 -2
  635. package/dist/atomic/p-8074a49d.entry.js +0 -2
  636. package/dist/atomic/p-a1c4ac09.js +0 -2
  637. package/dist/atomic/p-a1c4ac09.js.map +0 -1
  638. package/dist/atomic/p-a3f0aaf4.js +0 -2
  639. package/dist/atomic/p-a3f0aaf4.js.map +0 -1
  640. package/dist/atomic/p-b0f8c3ae.entry.js +0 -2
  641. package/dist/atomic/p-b700e040.entry.js +0 -2
  642. package/dist/atomic/p-b700e040.entry.js.map +0 -1
  643. package/dist/atomic/p-b90e5ea5.entry.js +0 -2
  644. package/dist/atomic/p-bb10a380.entry.js +0 -2
  645. package/dist/atomic/p-bb10a380.entry.js.map +0 -1
  646. package/dist/atomic/p-c46d5a44.entry.js +0 -2
  647. package/dist/atomic/p-c46d5a44.entry.js.map +0 -1
  648. package/dist/atomic/p-d5d0a472.entry.js +0 -2
  649. package/dist/atomic/p-d5d0a472.entry.js.map +0 -1
  650. package/dist/atomic/p-d76c5232.entry.js +0 -2
  651. package/dist/atomic/p-e4f872fb.entry.js +0 -2
  652. package/dist/atomic/p-e6f377c8.entry.js +0 -2
  653. package/dist/atomic/p-e6f377c8.entry.js.map +0 -1
  654. package/dist/atomic/p-f1bbe060.entry.js +0 -2
  655. package/dist/atomic/p-f1bbe060.entry.js.map +0 -1
  656. package/dist/atomic/p-f5323d5b.js.map +0 -1
  657. package/dist/atomic/p-fafea879.entry.js +0 -2
  658. package/dist/cjs/analytics-config-d3622a33.js.map +0 -1
  659. package/dist/cjs/atomic-aria-live_2.cjs.entry.js.map +0 -1
  660. package/dist/cjs/atomic-commerce-category-facet_6.cjs.entry.js.map +0 -1
  661. package/dist/cjs/atomic-commerce-facets.cjs.entry.js +0 -120
  662. package/dist/cjs/atomic-commerce-facets.cjs.entry.js.map +0 -1
  663. package/dist/cjs/facet-placeholder-0111f0f1.js +0 -17
  664. package/dist/cjs/facet-placeholder-0111f0f1.js.map +0 -1
  665. package/dist/cjs/product-utils-f6c780e3.js.map +0 -1
  666. package/dist/cjs/stencil-facet-header-a3dd9de0.js.map +0 -1
  667. package/dist/cjs/timeframe-facet-common-d9078836.js.map +0 -1
  668. package/dist/esm/analytics-config-9367c413.js.map +0 -1
  669. package/dist/esm/atomic-aria-live_2.entry.js.map +0 -1
  670. package/dist/esm/atomic-commerce-category-facet_6.entry.js.map +0 -1
  671. package/dist/esm/atomic-commerce-facets.entry.js +0 -116
  672. package/dist/esm/atomic-commerce-facets.entry.js.map +0 -1
  673. package/dist/esm/facet-placeholder-ecbe6e6f.js +0 -15
  674. package/dist/esm/facet-placeholder-ecbe6e6f.js.map +0 -1
  675. package/dist/esm/product-utils-85109d2e.js.map +0 -1
  676. package/dist/esm/stencil-facet-header-8a22d37d.js.map +0 -1
  677. package/dist/esm/timeframe-facet-common-e16ae647.js.map +0 -1
  678. /package/dist/atomic/{p-f5cea23f.entry.js.map → p-0267a585.entry.js.map} +0 -0
  679. /package/dist/atomic/{p-dcded8cb.entry.js.map → p-0b0ea7d3.entry.js.map} +0 -0
  680. /package/dist/atomic/{p-1326166a.entry.js.map → p-135be5aa.entry.js.map} +0 -0
  681. /package/dist/atomic/{p-f3e9a9f8.entry.js.map → p-1cc97adc.entry.js.map} +0 -0
  682. /package/dist/atomic/{p-ea5d2736.entry.js.map → p-22a0d1b9.entry.js.map} +0 -0
  683. /package/dist/atomic/{p-d88aec96.entry.js.map → p-29d27418.entry.js.map} +0 -0
  684. /package/dist/atomic/{p-90e88505.entry.js.map → p-2f0cb73c.entry.js.map} +0 -0
  685. /package/dist/atomic/{p-fb060cc0.entry.js.map → p-306c83ea.entry.js.map} +0 -0
  686. /package/dist/atomic/{p-b15ca291.entry.js.map → p-3195fa42.entry.js.map} +0 -0
  687. /package/dist/atomic/{p-714c5c2c.entry.js.map → p-32b26cd0.entry.js.map} +0 -0
  688. /package/dist/atomic/{p-1c72983f.entry.js.map → p-32c90fe9.entry.js.map} +0 -0
  689. /package/dist/atomic/{p-4e2ec64c.entry.js.map → p-3ec18de9.entry.js.map} +0 -0
  690. /package/dist/atomic/{p-a010dddb.entry.js.map → p-3f42a2db.entry.js.map} +0 -0
  691. /package/dist/atomic/{p-4495b132.entry.js.map → p-45b26cc7.entry.js.map} +0 -0
  692. /package/dist/atomic/{p-ffb15631.entry.js.map → p-47ee9d37.entry.js.map} +0 -0
  693. /package/dist/atomic/{p-aa4fc96f.entry.js.map → p-50b9a5d2.entry.js.map} +0 -0
  694. /package/dist/atomic/{p-e25287fd.entry.js.map → p-51c5acfc.entry.js.map} +0 -0
  695. /package/dist/atomic/{p-f72a0133.entry.js.map → p-543e811e.entry.js.map} +0 -0
  696. /package/dist/atomic/{p-d76c5232.entry.js.map → p-5cf5bb98.entry.js.map} +0 -0
  697. /package/dist/atomic/{p-2866ca4d.entry.js.map → p-60a9e718.entry.js.map} +0 -0
  698. /package/dist/atomic/{p-eabb4eae.entry.js.map → p-66683abd.entry.js.map} +0 -0
  699. /package/dist/atomic/{p-8b579505.entry.js.map → p-67315415.entry.js.map} +0 -0
  700. /package/dist/atomic/{p-714ee3bb.entry.js.map → p-689e063d.entry.js.map} +0 -0
  701. /package/dist/atomic/{p-f5686c7e.entry.js.map → p-690b5853.entry.js.map} +0 -0
  702. /package/dist/atomic/{p-ace45b24.entry.js.map → p-70ab347b.entry.js.map} +0 -0
  703. /package/dist/atomic/{p-966509f8.entry.js.map → p-76122df5.entry.js.map} +0 -0
  704. /package/dist/atomic/{p-9ec72c3b.entry.js.map → p-7d1f8d9c.entry.js.map} +0 -0
  705. /package/dist/atomic/{p-d37bb72b.entry.js.map → p-80dc3bab.entry.js.map} +0 -0
  706. /package/dist/atomic/{p-6e11d4c6.entry.js.map → p-8d7f57d9.entry.js.map} +0 -0
  707. /package/dist/atomic/{p-7d63f0e6.entry.js.map → p-8e09f796.entry.js.map} +0 -0
  708. /package/dist/atomic/{p-a84d94cb.entry.js.map → p-95942ba2.entry.js.map} +0 -0
  709. /package/dist/atomic/{p-21d55afc.entry.js.map → p-99604083.entry.js.map} +0 -0
  710. /package/dist/atomic/{p-d4ec6961.entry.js.map → p-9a08dad7.entry.js.map} +0 -0
  711. /package/dist/atomic/{p-03fa8481.entry.js.map → p-9ae88402.entry.js.map} +0 -0
  712. /package/dist/atomic/{p-01c109cf.entry.js.map → p-9d2230db.entry.js.map} +0 -0
  713. /package/dist/atomic/{p-fac32d34.entry.js.map → p-9eb108c9.entry.js.map} +0 -0
  714. /package/dist/atomic/{p-5a3cd055.entry.js.map → p-a3169f59.entry.js.map} +0 -0
  715. /package/dist/atomic/{p-c6f15059.entry.js.map → p-a8281e9b.entry.js.map} +0 -0
  716. /package/dist/atomic/{p-4f03327d.entry.js.map → p-ab5eec3d.entry.js.map} +0 -0
  717. /package/dist/atomic/{p-1aedbfbf.entry.js.map → p-b19a8cbb.entry.js.map} +0 -0
  718. /package/dist/atomic/{p-61f79055.entry.js.map → p-b4d47ca9.entry.js.map} +0 -0
  719. /package/dist/atomic/{p-1e3f156e.entry.js.map → p-b4dfe5b2.entry.js.map} +0 -0
  720. /package/dist/atomic/{p-3025e992.entry.js.map → p-b747e4a9.entry.js.map} +0 -0
  721. /package/dist/atomic/{p-e4cc2a37.entry.js.map → p-b7824e0e.entry.js.map} +0 -0
  722. /package/dist/atomic/{p-3632e456.entry.js.map → p-be13ed5c.entry.js.map} +0 -0
  723. /package/dist/atomic/{p-2871034a.entry.js.map → p-bfeefcaa.entry.js.map} +0 -0
  724. /package/dist/atomic/{p-b4b6f859.entry.js.map → p-c0d7b26d.entry.js.map} +0 -0
  725. /package/dist/atomic/{p-9ef7ffc0.entry.js.map → p-c13d4039.entry.js.map} +0 -0
  726. /package/dist/atomic/{p-4505f2e0.entry.js.map → p-c4f042ae.entry.js.map} +0 -0
  727. /package/dist/atomic/{p-faee1f57.entry.js.map → p-cd87574b.entry.js.map} +0 -0
  728. /package/dist/atomic/{p-0875a7fb.entry.js.map → p-ce4e939b.entry.js.map} +0 -0
  729. /package/dist/atomic/{p-1fbbed3e.entry.js.map → p-d1efd50f.entry.js.map} +0 -0
  730. /package/dist/atomic/{p-7d773b22.entry.js.map → p-d30057a0.entry.js.map} +0 -0
  731. /package/dist/atomic/{p-e7d5c4be.entry.js.map → p-d4aba9f9.entry.js.map} +0 -0
  732. /package/dist/atomic/{p-ce1f6392.entry.js.map → p-d69756ae.entry.js.map} +0 -0
  733. /package/dist/atomic/{p-08d1db60.entry.js.map → p-d827c148.entry.js.map} +0 -0
  734. /package/dist/atomic/{p-d04ad3e5.entry.js.map → p-dd8c6bdd.entry.js.map} +0 -0
  735. /package/dist/atomic/{p-886da915.entry.js.map → p-ddd52850.entry.js.map} +0 -0
  736. /package/dist/atomic/{p-fecd79de.entry.js.map → p-e44155cc.entry.js.map} +0 -0
  737. /package/dist/atomic/{p-c074198a.entry.js.map → p-e4754fd0.entry.js.map} +0 -0
  738. /package/dist/atomic/{p-db5285b1.entry.js.map → p-ec0161b7.entry.js.map} +0 -0
  739. /package/dist/atomic/{p-eea2128f.entry.js.map → p-ec6bc15b.entry.js.map} +0 -0
  740. /package/dist/atomic/{p-e37f01fc.entry.js.map → p-eebb168b.entry.js.map} +0 -0
  741. /package/dist/atomic/{p-870dbeef.entry.js.map → p-f4b98113.entry.js.map} +0 -0
  742. /package/dist/atomic/{p-e988f378.js.map → p-f7f81710.js.map} +0 -0
  743. /package/dist/atomic/{p-8403335e.entry.js.map → p-fb0bdcdb.entry.js.map} +0 -0
  744. /package/dist/atomic/{p-b0f8c3ae.entry.js.map → p-fbbbc454.entry.js.map} +0 -0
  745. /package/dist/atomic/{p-ebb35a4b.entry.js.map → p-fd9d1c3f.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"file":"atomic-aria-live.atomic-relevance-inspector.entry.cjs.js","mappings":"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","names":["buildDebouncedQueue","randomID","h","Host","Button","getOrganizationEndpoint"],"sources":["src/components/search/atomic-search-interface/atomic-aria-live.tsx","src/components/search/atomic-relevance-inspector/atomic-relevance-inspector.pcss?tag=atomic-relevance-inspector&encapsulation=shadow","src/components/search/atomic-relevance-inspector/atomic-relevance-inspector.tsx"],"sourcesContent":["import {\n Component,\n h,\n State,\n Element,\n Method,\n Listen,\n Host,\n} from '@stencil/core';\nimport {buildDebouncedQueue} from '../../../utils/debounce-utils';\nimport {FindAriaLiveEventArgs} from '../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../utils/utils';\n\ntype Regions = {[regionName: string]: {assertive: boolean; message: string}};\n\n/**\n * The `atomic-aria-live` component notifies screen readers of changes in the search interface.\n */\n@Component({\n tag: 'atomic-aria-live',\n shadow: false,\n})\nexport class AtomicAriaLive {\n @Element() private host!: HTMLAtomicAriaLiveElement;\n @State() private regions: Readonly<Regions> = {};\n\n private messagesQueue = buildDebouncedQueue({delay: 500});\n private id!: string;\n\n @Listen('atomic/accessibility/findAriaLive', {target: 'document'})\n protected onFindAriaLive({detail: args}: CustomEvent<FindAriaLiveEventArgs>) {\n if (!args.element || !this.isInSearchInterface) {\n args.element = this.host;\n }\n }\n\n private get isInSearchInterface() {\n let element: Element | null = this.host;\n while (element) {\n if (element.tagName === 'ATOMIC-SEARCH-INTERFACE') {\n return true;\n }\n element = element.parentElement;\n }\n return false;\n }\n\n connectedCallback() {\n this.id = randomID('atomic-aria-live-');\n }\n\n /**\n * @internal\n */\n @Method()\n public async updateMessage(\n region: string,\n message: string,\n assertive: boolean\n ) {\n const updateRegion = () =>\n (this.regions = {...this.regions, [region]: {assertive, message}});\n\n if (message) {\n this.messagesQueue.enqueue(updateRegion, region);\n } else {\n this.messagesQueue.cancelActionIfQueued(region);\n updateRegion();\n }\n }\n\n /**\n * @internal\n */\n @Method()\n public async registerRegion(region: string, assertive: boolean) {\n if (region in this.regions) {\n return;\n }\n this.regions = {...this.regions, [region]: {assertive, message: ''}};\n }\n\n public disconnectedCallback() {\n this.messagesQueue.clear();\n }\n\n public render() {\n return (\n <Host\n style={{\n position: 'absolute',\n display: 'block',\n height: '0',\n overflow: 'hidden',\n margin: '0',\n }}\n >\n {Object.entries(this.regions).map(\n ([regionName, {assertive, message}]) => (\n <div\n key={regionName}\n id={`${this.id}-${regionName}`}\n aria-live={assertive ? 'assertive' : 'polite'}\n role=\"status\"\n >\n {message}\n </div>\n )\n )}\n </Host>\n );\n }\n}\n","@import '../../../global/global.pcss';\n","import {getOrganizationEndpoint} from '@coveo/headless';\nimport {Component, h, Prop, Event, EventEmitter} from '@stencil/core';\nimport {Button} from '../../common/stencil-button';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-relevance-inspector` component is used internally to offer insight on search page relevance, as well as information to help troubleshoot issues during development.\n */\n@Component({\n tag: 'atomic-relevance-inspector',\n styleUrl: 'atomic-relevance-inspector.pcss',\n shadow: true,\n})\nexport class AtomicRelevanceInspector {\n /**\n * The Atomic interface bindings, namely the headless search engine and i18n instances.\n */\n @Prop() bindings!: Bindings;\n\n @Prop({reflect: true}) open = false;\n\n @Event({eventName: 'atomic/relevanceInspector/close'})\n closeRelevanceInspector: EventEmitter<null> | undefined;\n\n public render() {\n return (\n <atomic-modal\n exportparts=\"footer\"\n isOpen={this.open}\n close={() => {\n this.closeRelevanceInspector?.emit();\n }}\n >\n <p slot=\"header\">Open the relevance inspector</p>\n <p slot=\"body\">\n The Relevance Inspector will open in the Coveo Administration Console.\n </p>\n <div slot=\"footer\" class=\"flex w-full items-center justify-end\">\n <Button\n style=\"outline-primary\"\n class=\"mr-2 p-2\"\n onClick={() => this.closeRelevanceInspector?.emit()}\n >\n Ignore\n </Button>\n <a\n class=\"btn-primary p-2\"\n target=\"_blank\"\n href={this.adminHref}\n onClick={() => this.closeRelevanceInspector?.emit()}\n >\n Open\n </a>\n </div>\n </atomic-modal>\n );\n }\n\n private get adminHref() {\n const {organizationId, environment} =\n this.bindings.engine.state.configuration;\n\n const admin = getOrganizationEndpoint(organizationId, environment, 'admin');\n const {searchResponseId} = this.bindings.engine.state.search;\n return `${admin}/admin/#/${organizationId}/search/relevanceInspector/${searchResponseId}`;\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"atomic-commerce-category-facet.atomic-commerce-facet.atomic-commerce-facet-number-input.atomic-commerce-numeric-facet.atomic-commerce-timeframe-facet.atomic-facet-date-input.entry.cjs.js","mappings":"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","names":["announceFacetSearchResultsWithAriaLive","initializePopover","FocusTargetController","shouldUpdateFacetSearchComponent","h","FacetHeader","FacetSearchInput","CategoryFacetTreeValueContainer","CategoryFacetAllCategoryButton","CategoryFacetParentAsTreeContainer","CategoryFacetParentButton","getFieldValueCaption","CategoryFacetParentValueLink","CategoryFacetChildrenAsTreeContainer","CategoryFacetChildValueLink","CategoryFacetSearchResultsContainer","CategoryFacetSearchValue","FacetSearchMatches","FacetShowMoreLess","FacetGuard","FacetContainer","shouldDisplaySearchResults","Fragment","FacetValuesGroup","__decorate","InitializeBindings","BindStateToController","AriaLiveRegion","FacetSearchInputGuard","FacetSearchValue","FacetValue","isUndefined","Button","buildContext","defaultCurrencyFormatter","defaultNumberFormatter","NumericFacetValuesContainer","NumericFacetValueLink","shouldDisplayInputForFacetRange","deserializeRelativeDate","parseDate","FacetValueLink","FacetValueLabelHighlight","buildDateRange"],"sources":["src/components/commerce/facets/atomic-commerce-category-facet/atomic-commerce-category-facet.pcss?tag=atomic-commerce-category-facet&encapsulation=shadow","src/components/commerce/facets/atomic-commerce-category-facet/atomic-commerce-category-facet.tsx","src/components/commerce/facets/atomic-commerce-facet/atomic-commerce-facet.pcss?tag=atomic-commerce-facet&encapsulation=shadow","src/components/commerce/facets/atomic-commerce-facet/atomic-commerce-facet.tsx","src/components/commerce/facets/facet-number-input/atomic-commerce-facet-number-input.pcss?tag=atomic-commerce-facet-number-input","src/components/commerce/facets/facet-number-input/atomic-commerce-facet-number-input.tsx","src/components/commerce/facets/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.pcss?tag=atomic-commerce-numeric-facet&encapsulation=shadow","src/components/commerce/facets/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.tsx","src/components/commerce/facets/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.pcss?tag=atomic-commerce-timeframe-facet&encapsulation=shadow","src/components/commerce/facets/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.tsx","src/components/common/facets/facet-date-input/facet-date-input.tsx"],"sourcesContent":["@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-search/facet-search.pcss';\n\n[part~='active-parent'] {\n @apply pl-9;\n}\n\n[part~='parents'] [part~='values'] {\n @apply pl-9;\n}\n\n[part~='all-categories-button'],\n[part~='parent-button'] {\n @apply relative flex w-full items-center py-2.5 pr-2 pl-7 text-left;\n}\n\n[part~='back-arrow'] {\n @apply absolute left-1 h-5 w-5;\n}\n","import {\n CategoryFacetState,\n CategoryFacetValue,\n CategoryFacet,\n SearchSummaryState,\n ProductListingSummaryState,\n Summary,\n} from '@coveo/headless/commerce';\nimport {Component, h, State, Prop, Element, Fragment} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {\n AriaLiveRegion,\n FocusTargetController,\n} from '../../../../utils/stencil-accessibility-utils';\nimport {CategoryFacetAllCategoryButton} from '../../../common/facets/category-facet/all-categories-button';\nimport {CategoryFacetChildValueLink} from '../../../common/facets/category-facet/child-value-link';\nimport {CategoryFacetChildrenAsTreeContainer} from '../../../common/facets/category-facet/children-as-tree-container';\nimport {CategoryFacetParentAsTreeContainer} from '../../../common/facets/category-facet/parent-as-tree-container';\nimport {CategoryFacetParentButton} from '../../../common/facets/category-facet/parent-button';\nimport {CategoryFacetParentValueLink} from '../../../common/facets/category-facet/parent-value-link';\nimport {CategoryFacetSearchResultsContainer} from '../../../common/facets/category-facet/search-results-container';\nimport {CategoryFacetSearchValue} from '../../../common/facets/category-facet/search-value';\nimport {CategoryFacetTreeValueContainer} from '../../../common/facets/category-facet/value-as-tree-container';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {announceFacetSearchResultsWithAriaLive} from '../../../common/facets/facet-search/facet-search-aria-live';\nimport {\n shouldUpdateFacetSearchComponent,\n shouldDisplaySearchResults,\n} from '../../../common/facets/facet-search/facet-search-utils';\nimport {FacetSearchInput} from '../../../common/facets/facet-search/stencil-facet-search-input';\nimport {FacetSearchMatches} from '../../../common/facets/facet-search/stencil-facet-search-matches';\nimport {FacetShowMoreLess} from '../../../common/facets/facet-show-more-less/stencil-facet-show-more-less';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-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-commerce-category-facet` displays a facet of values in a browsable, hierarchical fashion.\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 allows to expand/collapse the facet.\n * @part label-button-icon - The label button icon.\n *\n * @part search-wrapper - The search box wrapper.\n * @part search-input - The search box input.\n * @part search-icon - The search box submit button.\n * @part search-clear-button - The button to clear the search box of input.\n * @part more-matches - The label indicating there are more matches for the current facet search query.\n * @part no-matches - The label indicating there are no matches for the current facet search query.\n * @part matches-query - The highlighted query inside the matches labels.\n * @part search-results - The search results container.\n * @part search-result - The search result value.\n * @part search-result-path - The search result path.\n * @part search-highlight - The highlighted query inside the facet values.\n *\n * @part parents - The container surrounding the whole hierarchy of values.\n * @part sub-parents - The container surrounding a sub-hierarchy of values.\n * @part values - The container surrounding either the children of the active value or the values at the base.\n * @part all-categories-button - The \"View all\" button displayed first within the parents.\n * @part parent-button - The clickable parent button displayed first within sub-parents.\n * @part active-parent - The clickable active parent displayed first within the last sub-parents.\n * @part value-link - The clickable value displayed first within values.\n * @part back-arrow - The back arrow displayed before the clickable parents.\n * @part value-label - The facet value label within a value button.\n * @part value-count - The facet value count within a value button.\n * @part leaf-value - A facet value with no child value.\n * @part node-value - A facet value with child values.\n *\n * @part show-more - The show more results button.\n * @part show-less - The show less results button.\n * @part show-more-less-icon - The icons of the show more & show less buttons.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-category-facet',\n styleUrl: 'atomic-commerce-category-facet.pcss',\n shadow: true,\n})\nexport class AtomicCommerceCategoryFacet\n implements InitializableComponent<Bindings>\n{\n @InitializeBindings() public bindings!: Bindings;\n @Element() private host!: HTMLElement;\n\n /**\n * The summary controller instance.\n */\n @Prop() summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n /**\n * The category facet controller instance.\n */\n @Prop() public facet!: CategoryFacet;\n /**\n * Specifies whether the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The field identifier for this facet.\n */\n @Prop({reflect: true}) field?: string;\n\n @State()\n public facetState!: CategoryFacetState;\n\n @BindStateToController('summary')\n @State()\n public summaryState!: SearchSummaryState | ProductListingSummaryState;\n\n @State() public error!: Error;\n\n private resultIndexToFocusOnShowMore = 0;\n private showLessFocus?: FocusTargetController;\n private showMoreFocus?: FocusTargetController;\n private headerFocus?: FocusTargetController;\n private activeValueFocus?: FocusTargetController;\n private unsubscribeFacetController?: () => void | undefined;\n\n @AriaLiveRegion('facet-search')\n protected facetSearchAriaMessage!: string;\n\n public initialize() {\n if (!this.facet) {\n return;\n }\n\n this.ensureSubscribed();\n announceFacetSearchResultsWithAriaLive(\n this.facet,\n this.displayName,\n (msg) => (this.facetSearchAriaMessage = msg),\n this.bindings.i18n\n );\n\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.displayName),\n facetId: this.facetState.facetId,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.facetState.values.length,\n numberOfActiveValues: () => (this.facetState.hasActiveValues ? 1 : 0),\n });\n }\n\n private get displayName() {\n return this.facetState?.displayName || 'no-label';\n }\n\n private get focusTargets() {\n if (!this.showLessFocus) {\n this.showLessFocus = new FocusTargetController(this);\n }\n if (!this.showMoreFocus) {\n this.showMoreFocus = new FocusTargetController(this);\n }\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n if (!this.activeValueFocus) {\n this.activeValueFocus = new FocusTargetController(this);\n }\n\n return {\n showLessFocus: this.showLessFocus,\n showMoreFocus: this.showMoreFocus,\n headerFocus: this.headerFocus,\n activeValueFocus: this.activeValueFocus,\n };\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.unsubscribeFacetController?.();\n this.unsubscribeFacetController = undefined;\n }\n\n public connectedCallback(): void {\n this.ensureSubscribed();\n }\n\n private get isHidden() {\n return (\n this.summaryState.hasError ||\n (!this.facetState.values.length &&\n !this.facetState.selectedValueAncestry?.length)\n );\n }\n\n public componentShouldUpdate(\n next: unknown,\n prev: unknown,\n propName: keyof AtomicCommerceCategoryFacet\n ) {\n if (\n this.isCategoryFacetState(prev, propName) &&\n this.isCategoryFacetState(next, propName)\n ) {\n return shouldUpdateFacetSearchComponent(\n next.facetSearch,\n prev.facetSearch\n );\n }\n return true;\n }\n\n private get hasParents() {\n return !!this.facetState.selectedValueAncestry?.length;\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.displayName}\n numberOfActiveValues={\n this.facetState.hasActiveValues && this.isCollapsed ? 1 : 0\n }\n isCollapsed={this.isCollapsed}\n headingLevel={0}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n onClearFilters={() => {\n this.focusTargets.headerFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n headerRef={(header) => {\n this.focusTargets.headerFocus.setTarget(header);\n if (!this.hasParents) {\n this.focusTargets.activeValueFocus.setTarget(header);\n }\n }}\n ></FacetHeader>\n );\n }\n\n private renderSearchInput() {\n return (\n <FacetSearchInput\n i18n={this.bindings.i18n}\n label={this.displayName}\n query={this.facetState.facetSearch.query}\n onChange={(value: string) => {\n if (value === '') {\n this.facet.facetSearch.clear();\n return;\n }\n this.facet.facetSearch.updateText(value);\n this.facet.facetSearch.search();\n }}\n onClear={() => this.facet.facetSearch.clear()}\n ></FacetSearchInput>\n );\n }\n\n private renderValuesTree(parents: CategoryFacetValue[], isRoot: boolean) {\n if (!this.hasParents) {\n return this.renderChildren();\n }\n\n if (isRoot) {\n return (\n <CategoryFacetTreeValueContainer>\n <CategoryFacetAllCategoryButton\n i18n={this.bindings.i18n}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n />\n <CategoryFacetParentAsTreeContainer isTopLevel={false}>\n {this.renderValuesTree(parents, false)}\n </CategoryFacetParentAsTreeContainer>\n </CategoryFacetTreeValueContainer>\n );\n }\n\n if (parents.length > 1) {\n const parentValue = parents[0];\n\n return (\n <CategoryFacetTreeValueContainer>\n <CategoryFacetParentButton\n facetValue={parentValue}\n field={this.facetState?.field}\n i18n={this.bindings.i18n}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.toggleSelect(parentValue);\n }}\n />\n <CategoryFacetParentAsTreeContainer isTopLevel={false}>\n {this.renderValuesTree(parents.slice(1), false)}\n </CategoryFacetParentAsTreeContainer>\n </CategoryFacetTreeValueContainer>\n );\n }\n\n const activeParent = parents[0];\n const activeParentDisplayValue = getFieldValueCaption(\n this.facetState?.field,\n activeParent.value,\n this.bindings.i18n\n );\n\n return (\n <CategoryFacetParentValueLink\n displayValue={activeParentDisplayValue}\n numberOfResults={activeParent.numberOfResults}\n i18n={this.bindings.i18n}\n isLeafValue={activeParent.isLeafValue}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n searchQuery={this.facetState.facetSearch.query}\n setRef={(el) => this.focusTargets.activeValueFocus.setTarget(el)}\n >\n <CategoryFacetChildrenAsTreeContainer>\n {this.renderChildren()}\n </CategoryFacetChildrenAsTreeContainer>\n </CategoryFacetParentValueLink>\n );\n }\n\n private renderChild(\n facetValue: CategoryFacetValue,\n isShowLessFocusTarget: boolean,\n isShowMoreFocusTarget: boolean\n ) {\n const displayValue = getFieldValueCaption(\n this.facetState?.field,\n facetValue.value,\n this.bindings.i18n\n );\n const isSelected = facetValue.state === 'selected';\n return (\n <CategoryFacetChildValueLink\n displayValue={displayValue}\n i18n={this.bindings.i18n}\n isLeafValue={facetValue.isLeafValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.toggleSelect(facetValue);\n }}\n searchQuery={this.facetState.facetSearch.query}\n setRef={(element) => {\n isShowLessFocusTarget &&\n this.focusTargets.showLessFocus.setTarget(element);\n isShowMoreFocusTarget &&\n this.focusTargets.showMoreFocus.setTarget(element);\n }}\n ></CategoryFacetChildValueLink>\n );\n }\n\n private renderChildren() {\n const {values, selectedValueAncestry, hasActiveValues} = this.facetState;\n const nextValues = hasActiveValues ? selectedValueAncestry : values;\n\n const children = nextValues?.length\n ? hasActiveValues\n ? nextValues[nextValues.length - 1].children\n : nextValues\n : [];\n\n return children.map((value, i) =>\n this.renderChild(value, i === 0, i === this.resultIndexToFocusOnShowMore)\n );\n }\n\n private renderSearchResults() {\n return (\n <CategoryFacetSearchResultsContainer>\n {this.facetState.facetSearch.values.map((value) => (\n <CategoryFacetSearchValue\n value={value}\n field={this.facetState?.field}\n i18n={this.bindings.i18n}\n searchQuery={this.facetState.facetSearch.query}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.facetSearch.select(value);\n }}\n ></CategoryFacetSearchValue>\n ))}\n </CategoryFacetSearchResultsContainer>\n );\n }\n\n private renderMatches() {\n return (\n <FacetSearchMatches\n i18n={this.bindings.i18n}\n query={this.facetState.facetSearch.query}\n numberOfMatches={this.facetState.facetSearch.values.length}\n hasMoreMatches={this.facetState.facetSearch.moreValuesAvailable}\n ></FacetSearchMatches>\n );\n }\n\n private renderShowMoreLess() {\n return (\n <div class={this.hasParents ? 'pl-9' : ''}>\n <FacetShowMoreLess\n label={this.displayName}\n i18n={this.bindings.i18n}\n onShowMore={() => {\n this.resultIndexToFocusOnShowMore = this.facetState.values.length;\n this.focusTargets.showMoreFocus.focusAfterSearch();\n this.facet.showMoreValues();\n }}\n onShowLess={() => {\n this.focusTargets.showLessFocus.focusAfterSearch();\n this.facet.showLessValues();\n }}\n canShowLessValues={this.facetState.canShowLessValues}\n canShowMoreValues={this.facetState.canShowMoreValues}\n ></FacetShowMoreLess>\n </div>\n );\n }\n\n private isCategoryFacetState(\n state: unknown,\n propName: string\n ): state is CategoryFacetState {\n return (\n propName === 'facetState' &&\n typeof (state as CategoryFacetState)?.facetId === 'string'\n );\n }\n\n public render() {\n const {\n bindings: {i18n},\n facetState: {facetSearch, selectedValueAncestry, values},\n } = this;\n\n const {hasError, firstRequestExecuted} = this.summaryState;\n\n return (\n <FacetGuard\n enabled={true}\n firstSearchExecuted={firstRequestExecuted}\n hasError={hasError}\n hasResults={values.length > 0}\n >\n {\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && [\n this.renderSearchInput(),\n shouldDisplaySearchResults(facetSearch) ? (\n <Fragment>\n {facetSearch.values.length ? (\n <FacetValuesGroup\n i18n={i18n}\n label={this.displayName}\n query={facetSearch.query}\n >\n {this.renderSearchResults()}\n </FacetValuesGroup>\n ) : (\n <div class=\"mt-3\"></div>\n )}\n {this.renderMatches()}\n </Fragment>\n ) : (\n <Fragment>\n <FacetValuesGroup i18n={i18n} label={this.displayName}>\n {this.hasParents ? (\n <CategoryFacetParentAsTreeContainer\n isTopLevel={true}\n className=\"mt-3\"\n >\n {selectedValueAncestry &&\n this.renderValuesTree(selectedValueAncestry, true)}\n </CategoryFacetParentAsTreeContainer>\n ) : (\n <CategoryFacetChildrenAsTreeContainer className=\"mt-3\">\n {this.renderChildren()}\n </CategoryFacetChildrenAsTreeContainer>\n )}\n </FacetValuesGroup>\n {this.renderShowMoreLess()}\n </Fragment>\n ),\n ]}\n </FacetContainer>\n }\n </FacetGuard>\n );\n }\n\n private ensureSubscribed() {\n if (this.unsubscribeFacetController) {\n return;\n }\n this.unsubscribeFacetController = this.facet.subscribe(\n () => (this.facetState = this.facet.state)\n );\n }\n}\n","@import '../../../../global/global.pcss';\n@import '../../../common/facets/facet-search/facet-search.pcss';\n@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-value-checkbox/facet-value-checkbox.pcss';\n@import '../../../common/facets/facet-value-exclude/facet-value-exclude.pcss';\n@import '../../../common/facets/facet-value-box/facet-value-box.pcss';\n","import {\n ProductListingSummaryState,\n RegularFacet,\n RegularFacetState,\n SearchSummaryState,\n Summary,\n} from '@coveo/headless/commerce';\nimport {\n Component,\n h,\n State,\n Prop,\n Element,\n VNode,\n Fragment,\n} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {\n AriaLiveRegion,\n FocusTargetController,\n} from '../../../../utils/stencil-accessibility-utils';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {announceFacetSearchResultsWithAriaLive} from '../../../common/facets/facet-search/facet-search-aria-live';\nimport {\n shouldDisplaySearchResults,\n shouldUpdateFacetSearchComponent,\n} from '../../../common/facets/facet-search/facet-search-utils';\nimport {FacetSearchInput} from '../../../common/facets/facet-search/stencil-facet-search-input';\nimport {FacetSearchInputGuard} from '../../../common/facets/facet-search/stencil-facet-search-input-guard';\nimport {FacetSearchMatches} from '../../../common/facets/facet-search/stencil-facet-search-matches';\nimport {FacetSearchValue} from '../../../common/facets/facet-search/stencil-facet-search-value';\nimport {FacetShowMoreLess} from '../../../common/facets/facet-show-more-less/stencil-facet-show-more-less';\nimport {\n FacetValueProps,\n FacetValue,\n} from '../../../common/facets/facet-value/stencil-facet-value';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\n\n/**\n * The `atomic-commerce-facet` component renders a commerce facet that the end user can interact with to filter products.\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 allows to expand/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 search-wrapper - The search box wrapper.\n * @part search-input - The search box input.\n * @part search-icon - The search box submit button.\n * @part search-clear-button - The button to clear the search box of input.\n * @part more-matches - The label indicating there are more matches for the current facet search query.\n * @part no-matches - The label indicating there are no matches for the current facet search query.\n * @part matches-query - The highlighted query inside the matches labels.\n * @part search-highlight - The highlighted query inside the facet values.\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 *\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 * @part value-box - The facet value when display is 'box'.\n * @part value-box-selected - The selected facet value when display is 'box'.\n * @part value-exclude-button - The button to exclude a facet value, available when display is 'checkbox'.\n *\n * @part show-more - The show more results button.\n * @part show-less - The show less results button.\n * @part show-more-less-icon - The icons of the show more & show less buttons.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-facet',\n styleUrl: 'atomic-commerce-facet.pcss',\n shadow: true,\n})\nexport class AtomicCommerceFacet implements InitializableComponent<Bindings> {\n @InitializeBindings() public bindings!: Bindings;\n @Element() private host!: HTMLElement;\n\n /**\n * The Summary controller instance.\n */\n @Prop() summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n /**\n * The facet controller instance.\n */\n @Prop() public facet!: RegularFacet;\n /**\n * Specifies whether the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The field identifier for this facet.\n */\n @Prop({reflect: true}) field?: string;\n\n @State()\n public facetState!: RegularFacetState;\n\n @BindStateToController('summary')\n @State()\n public summaryState!: SearchSummaryState | ProductListingSummaryState;\n\n @State() public error!: Error;\n\n private showLessFocus?: FocusTargetController;\n private showMoreFocus?: FocusTargetController;\n private headerFocus?: FocusTargetController;\n private unsubscribeFacetController?: () => void | undefined;\n\n @AriaLiveRegion('facet-search')\n protected facetSearchAriaMessage!: string;\n\n public initialize() {\n if (!this.facet) {\n return;\n }\n this.ensureSubscribed();\n this.initAriaLive();\n this.initPopover();\n }\n\n public connectedCallback(): void {\n this.ensureSubscribed();\n }\n\n public disconnectedCallback(): void {\n this.unsubscribeFacetController?.();\n this.unsubscribeFacetController = undefined;\n }\n\n public componentShouldUpdate(\n next: unknown,\n prev: unknown,\n propName: keyof AtomicCommerceFacet\n ) {\n if (\n this.isFacetState(prev, propName) &&\n this.isFacetState(next, propName)\n ) {\n return shouldUpdateFacetSearchComponent(\n next.facetSearch,\n prev.facetSearch\n );\n }\n return true;\n }\n\n public render() {\n if (!this.facet) {\n return;\n }\n const {hasError, firstRequestExecuted} = this.summaryState;\n return (\n <FacetGuard\n enabled={true}\n hasError={hasError}\n firstSearchExecuted={firstRequestExecuted}\n hasResults={this.facetState.values.length > 0}\n >\n {\n <FacetContainer>\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.displayName}\n onClearFilters={() => {\n this.focusTargets.header.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.activeValues.length}\n isCollapsed={this.isCollapsed}\n headingLevel={0}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTargets.header.setTarget(el)}\n ></FacetHeader>\n {this.renderBody()}\n </FacetContainer>\n }\n </FacetGuard>\n );\n }\n\n private renderBody() {\n if (this.isCollapsed) {\n return;\n }\n return (\n <Fragment>\n <FacetSearchInputGuard\n canShowMoreValues={this.facetState.canShowMoreValues}\n numberOfDisplayedValues={this.facetState.values.length}\n withSearch={true}\n >\n <FacetSearchInput\n i18n={this.bindings.i18n}\n label={this.displayName}\n onChange={(value) => {\n if (value === '') {\n this.facet.facetSearch.clear();\n return;\n }\n this.facet.facetSearch.updateText(value);\n this.facet.facetSearch.search();\n }}\n onClear={() => this.facet.facetSearch.clear()}\n query={this.facetState.facetSearch.query}\n />\n </FacetSearchInputGuard>\n {shouldDisplaySearchResults(this.facetState.facetSearch)\n ? [this.renderSearchResults(), this.renderMatches()]\n : [this.renderValues(), this.renderShowMoreLess()]}\n </Fragment>\n );\n }\n\n private renderValuesContainer(children: VNode[], query?: string) {\n return (\n <FacetValuesGroup\n i18n={this.bindings.i18n}\n label={this.displayName}\n query={query}\n >\n <ul part=\"values\" class=\"mt-3\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderSearchResults() {\n return this.renderValuesContainer(\n this.facetState.facetSearch.values.map((value) => (\n <FacetSearchValue\n {...this.facetValueProps}\n facetCount={value.count}\n onExclude={() => this.facet.facetSearch.exclude(value)}\n onSelect={() => this.facet.facetSearch.select(value)}\n facetValue={value.rawValue}\n />\n ))\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.facetState.values.map((value, i) => {\n const shouldFocusOnShowLessAfterInteraction = i === 0;\n const shouldFocusOnShowMoreAfterInteraction = i === 0;\n\n return (\n <FacetValue\n {...this.facetValueProps}\n facetCount={value.numberOfResults}\n onExclude={() => this.facet.toggleExclude(value)}\n onSelect={() => this.facet.toggleSelect(value)}\n facetValue={value.value}\n facetState={value.state}\n setRef={(btn) => {\n if (shouldFocusOnShowLessAfterInteraction) {\n this.showLessFocus?.setTarget(btn);\n }\n if (shouldFocusOnShowMoreAfterInteraction) {\n this.showMoreFocus?.setTarget(btn);\n }\n }}\n />\n );\n })\n );\n }\n\n private renderShowMoreLess() {\n return (\n <FacetShowMoreLess\n label={this.displayName}\n i18n={this.bindings.i18n}\n onShowMore={() => {\n this.focusTargets.showMore.focusAfterSearch();\n this.facet.showMoreValues();\n }}\n onShowLess={() => {\n this.focusTargets.showLess.focusAfterSearch();\n this.facet.showLessValues();\n }}\n canShowMoreValues={this.facetState.canShowMoreValues}\n canShowLessValues={this.facetState.canShowLessValues}\n ></FacetShowMoreLess>\n );\n }\n\n private renderMatches() {\n return (\n <FacetSearchMatches\n i18n={this.bindings.i18n}\n query={this.facetState.facetSearch.query}\n numberOfMatches={this.facetState.facetSearch.values.length}\n hasMoreMatches={this.facetState.facetSearch.moreValuesAvailable}\n ></FacetSearchMatches>\n );\n }\n\n private get activeValues() {\n return this.facetState.values.filter(({state}) => state !== 'idle');\n }\n\n private get displayName() {\n return this.facetState.displayName || 'no-label';\n }\n\n private get facetValueProps(): Pick<\n FacetValueProps,\n | 'facetSearchQuery'\n | 'enableExclusion'\n | 'field'\n | 'i18n'\n | 'displayValuesAs'\n > {\n return {\n facetSearchQuery: this.facetState.facetSearch.query,\n displayValuesAs: 'checkbox',\n enableExclusion: false,\n field: this.facetState.field,\n i18n: this.bindings.i18n,\n };\n }\n\n private get isHidden() {\n return !this.facetState.values.length;\n }\n\n private initPopover() {\n initializePopover(this.host, {\n ...this.facetInfo,\n hasValues: () => !!this.facetState.values.length,\n numberOfActiveValues: () => this.activeValues.length,\n });\n }\n\n private initAriaLive() {\n announceFacetSearchResultsWithAriaLive(\n this.facet,\n this.displayName,\n (msg) => (this.facetSearchAriaMessage = msg),\n this.bindings.i18n\n );\n }\n\n private get facetInfo(): FacetInfo {\n return {\n label: () => this.bindings.i18n.t(this.displayName),\n facetId: this.facetState.facetId,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n }\n\n private get focusTargets(): {\n showLess: FocusTargetController;\n showMore: FocusTargetController;\n header: FocusTargetController;\n } {\n if (!this.showLessFocus) {\n this.showLessFocus = new FocusTargetController(this);\n }\n if (!this.showMoreFocus) {\n this.showMoreFocus = new FocusTargetController(this);\n }\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n\n return {\n showLess: this.showLessFocus,\n showMore: this.showMoreFocus,\n header: this.headerFocus,\n };\n }\n\n private isFacetState(\n state: unknown,\n propName: string\n ): state is RegularFacetState {\n return (\n propName === 'facetState' &&\n typeof (state as RegularFacetState)?.facetId === 'string'\n );\n }\n\n private ensureSubscribed() {\n if (this.unsubscribeFacetController) {\n return;\n }\n this.unsubscribeFacetController = this.facet.subscribe(\n () => (this.facetState = this.facet.state)\n );\n }\n}\n","[part='input-form'] {\n display: grid;\n grid-template-areas:\n 'label-start label-end .'\n 'input-start input-end apply-button';\n grid-template-columns: 1fr 1fr auto;\n}\n\n[part='label-start'] {\n grid-area: label-start;\n}\n[part='label-end'] {\n grid-area: label-end;\n}\n[part='input-start'] {\n grid-area: input-start;\n}\n[part='input-end'] {\n grid-area: input-end;\n}\n\n[part='input-apply-button'] {\n grid-area: apply-button;\n}\n","import {isUndefined} from '@coveo/bueno';\nimport {NumericFacet} from '@coveo/headless/commerce';\nimport {Component, h, Prop, Event, EventEmitter, State} from '@stencil/core';\nimport {Button} from '../../../common/stencil-button';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\n\nexport type Range = {start: number; end: number};\n\n/**\n * Internal component made to be integrated in a NumericFacet.\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-facet-number-input',\n styleUrl: 'atomic-commerce-facet-number-input.pcss',\n shadow: false,\n})\nexport class AtomicCommerceFacetNumberInput {\n private startRef!: HTMLInputElement;\n private endRef!: HTMLInputElement;\n\n @State() private start?: number;\n @State() private end?: number;\n\n @Prop() public bindings!: Bindings;\n @Prop() public label!: string;\n @Prop() public range?: Range;\n @Prop() public facet!: NumericFacet;\n\n @Event({\n eventName: 'atomic/numberInputApply',\n })\n private applyInput!: EventEmitter;\n\n public connectedCallback() {\n this.start = this.range?.start;\n this.end = this.range?.end;\n }\n\n private apply() {\n if (!this.startRef.validity.valid || !this.endRef.validity.valid) {\n return;\n }\n\n this.applyInput.emit({\n start: this.start,\n end: this.end,\n });\n }\n\n private get absoluteMinimum(): number {\n const {field} = this.facet.state;\n const isPriceField = ['ec_price', 'ec_promo_price'].includes(field);\n return isPriceField ? 0 : Number.MIN_SAFE_INTEGER;\n }\n\n private get minimumInputValue(): number {\n return isUndefined(this.start) ? this.absoluteMinimum : this.start;\n }\n\n private get maximumInputValue() {\n return isUndefined(this.end) ? Number.MAX_SAFE_INTEGER : this.end;\n }\n\n render() {\n const {facetId} = this.facet.state;\n const label = this.bindings.i18n.t(this.label);\n const minText = this.bindings.i18n.t('min');\n const maxText = this.bindings.i18n.t('max');\n const minAria = this.bindings.i18n.t('number-input-minimum', {label});\n const maxAria = this.bindings.i18n.t('number-input-maximum', {label});\n const apply = this.bindings.i18n.t('apply');\n const applyAria = this.bindings.i18n.t('number-input-apply', {label});\n\n const inputClasses =\n 'p-2.5 input-primary placeholder-neutral-dark min-w-0 mr-1';\n const labelClasses = 'text-neutral-dark text-sm';\n const step = 'any';\n\n return (\n <form\n class=\"mt-4 gap-y-0.5 px-2\"\n part=\"input-form\"\n onSubmit={(e) => {\n e.preventDefault();\n this.apply();\n return false;\n }}\n >\n <label\n part=\"label-start\"\n class={labelClasses}\n htmlFor={`${facetId}_start`}\n >\n {minText}\n </label>\n <input\n part=\"input-start\"\n id={`${facetId}_start`}\n type=\"number\"\n step={step}\n ref={(ref) => (this.startRef = ref!)}\n class={inputClasses}\n aria-label={minAria}\n required\n min={this.absoluteMinimum}\n max={this.maximumInputValue}\n value={this.range?.start}\n onInput={(e) =>\n (this.start = (e.target as HTMLInputElement).valueAsNumber)\n }\n />\n <label part=\"label-end\" class={labelClasses} htmlFor={`${facetId}_end`}>\n {maxText}\n </label>\n <input\n part=\"input-end\"\n id={`${facetId}_end`}\n type=\"number\"\n step={step}\n ref={(ref) => (this.endRef = ref!)}\n class={inputClasses}\n aria-label={maxAria}\n required\n min={this.minimumInputValue}\n max={Number.MAX_SAFE_INTEGER}\n value={this.range?.end}\n onInput={(e) =>\n (this.end = (e.target as HTMLInputElement).valueAsNumber)\n }\n />\n <Button\n style=\"outline-primary\"\n type=\"submit\"\n part=\"input-apply-button\"\n class=\"flex-none truncate p-2.5\"\n ariaLabel={applyAria}\n text={apply}\n ></Button>\n </form>\n );\n }\n}\n","@import '../../../common/facets/numeric-facet-common.pcss';\n","import {\n NumericFacet,\n NumericFacetState,\n NumericRangeRequest,\n ProductListingSummaryState,\n SearchSummaryState,\n Summary,\n Context,\n ContextState,\n buildContext,\n} from '@coveo/headless/commerce';\nimport {Component, Element, h, Listen, Prop, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {NumericFacetValueLink} from '../../../common/facets/numeric-facet/value-link';\nimport {NumericFacetValuesContainer} from '../../../common/facets/numeric-facet/values-container';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from '../../../common/facets/stencil-facet-common';\nimport {\n defaultCurrencyFormatter,\n defaultNumberFormatter,\n} from '../../../common/formats/format-common';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\nimport type {Range} from '../facet-number-input/atomic-commerce-facet-number-input';\n\n/**\n * The `atomic-commerce-numeric-facet` component is responsible for rendering a commerce facet that allows the user to filter products using numeric ranges.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-numeric-facet',\n styleUrl: './atomic-commerce-numeric-facet.pcss',\n shadow: true,\n})\nexport class AtomicCommerceNumericFacet\n implements InitializableComponent<Bindings>\n{\n @InitializeBindings() public bindings!: Bindings;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: NumericFacetState;\n\n @BindStateToController('summary')\n @State()\n public summaryState!: SearchSummaryState | ProductListingSummaryState;\n\n public context!: Context;\n @BindStateToController('context') contextState!: ContextState;\n\n @State() public error!: Error;\n\n private manualRanges: (NumericRangeRequest & {label?: string})[] = [];\n\n /**\n * The Summary controller instance.\n */\n @Prop() summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n /**\n * The numeric facet controller instance.\n */\n @Prop({reflect: true}) public facet!: NumericFacet;\n /**\n * Specifies whether the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The field identifier for this facet.\n */\n @Prop({reflect: true}) field?: 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\n private unsubscribeFacetController?: () => void | undefined;\n\n public initialize() {\n if (!this.facet) {\n return;\n }\n\n this.context = buildContext(this.bindings.engine);\n this.ensureSubscribed();\n this.registerFacetToStore();\n }\n\n public connectedCallback() {\n this.ensureSubscribed();\n }\n\n public disconnectedCallback() {\n this.unsubscribeFacetController?.();\n this.unsubscribeFacetController = undefined;\n }\n\n private get formatter() {\n if (this.field === 'ec_price' || this.field === 'ec_promo_price') {\n return defaultCurrencyFormatter(this.contextState.currency);\n }\n return defaultNumberFormatter;\n }\n\n private registerFacetToStore() {\n const {facetId} = this.facetState;\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.displayName),\n facetId: facetId,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n }\n\n @Listen('atomic/numberInputApply')\n public applyNumberInput({detail}: CustomEvent<Range>) {\n const {start, end} = detail;\n this.facet.setRanges([\n {\n start,\n end,\n endInclusive: true,\n state: 'selected',\n },\n ]);\n }\n\n public render() {\n const {\n bindings: {i18n},\n } = this;\n const {firstRequestExecuted, hasError} = this.summaryState;\n return (\n <FacetGuard\n enabled={true}\n firstSearchExecuted={firstRequestExecuted}\n hasError={hasError}\n hasResults={this.shouldRenderFacet}\n >\n {\n <FacetContainer>\n <FacetHeader\n i18n={i18n}\n label={this.displayName}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={0}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n />\n {!this.isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && (\n <atomic-commerce-facet-number-input\n bindings={this.bindings}\n label={this.displayName}\n facet={this.facet}\n range={this.facetState.manualRange}\n ></atomic-commerce-facet-number-input>\n ),\n ]}\n </FacetContainer>\n }\n </FacetGuard>\n );\n }\n\n private renderValues() {\n const {\n manualRanges,\n displayName,\n bindings: {\n i18n,\n engine: {logger},\n },\n formatter,\n } = this;\n\n return (\n <NumericFacetValuesContainer i18n={i18n} label={displayName}>\n {this.valuesToRender.map((value) => (\n <NumericFacetValueLink\n formatter={formatter}\n displayValuesAs={'checkbox'}\n facetValue={value}\n field={this.facetState.field}\n i18n={i18n}\n logger={logger}\n manualRanges={manualRanges}\n onClick={() => this.facet.toggleSelect(value)}\n />\n ))}\n </NumericFacetValuesContainer>\n );\n }\n\n private get displayName() {\n return this.facetState.displayName || 'no-label';\n }\n\n private get numberOfSelectedValues() {\n return (\n this.facetState.values.filter(({state}) => state === 'selected').length ||\n 0\n );\n }\n\n private get hasInputRange() {\n return !!this.facetState.manualRange || this.summaryState.isLoading;\n }\n\n private get shouldRenderValues() {\n return !this.hasInputRange && !!this.valuesToRender.length;\n }\n\n private get valuesToRender() {\n return (\n this.facetState.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderInput() {\n const {\n firstRequestExecuted: firstSearchExecuted,\n hasError,\n isLoading,\n hasProducts: hasResults,\n } = this.summaryState;\n return shouldDisplayInputForFacetRange({\n hasInputRange: this.hasInputRange,\n searchStatusState: {\n firstSearchExecuted,\n hasError,\n hasResults,\n isLoading,\n },\n facetValues: this.facetState.values,\n hasInput: true,\n });\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get hasValues() {\n if (this.facetState.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private ensureSubscribed() {\n if (this.unsubscribeFacetController) {\n return;\n }\n this.unsubscribeFacetController = this.facet.subscribe(\n () => (this.facetState = this.facet.state)\n );\n }\n}\n","@import '../../../common/facets/facet-common.pcss';\n","import {\n DateFacet,\n DateFilterRange,\n deserializeRelativeDate,\n DateFacetValue,\n DateFacetState,\n DateRangeRequest,\n SearchSummaryState,\n ProductListingSummaryState,\n Summary,\n} from '@coveo/headless/commerce';\nimport {Component, Element, h, Listen, Prop, State, VNode} from '@stencil/core';\nimport {parseDate} from '../../../../utils/date-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {FacetValueLabelHighlight} from '../../../common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight';\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 {shouldDisplayInputForFacetRange} from '../../../common/facets/stencil-facet-common';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results.\n * An `atomic-commerce-timeframe-facet` displays a facet of the results for the current query as date intervals.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-timeframe-facet',\n styleUrl: './atomic-commerce-timeframe-facet.pcss',\n shadow: true,\n})\nexport class AtomicCommerceTimeframeFacet\n implements InitializableComponent<Bindings>\n{\n @InitializeBindings() public bindings!: Bindings;\n @Element() private host!: HTMLElement;\n\n /**\n * The summary controller instance.\n */\n @Prop() summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n /**\n * The date facet controller instance.\n */\n @Prop() public facet!: DateFacet;\n /**\n * Specifies whether the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The field identifier for this facet.\n */\n @Prop({reflect: true}) field?: string;\n\n @State()\n public facetState!: DateFacetState;\n\n @BindStateToController('summary')\n @State()\n public summaryState!: SearchSummaryState | ProductListingSummaryState;\n\n @State() public error!: Error;\n\n @State() private inputRange?: DateFilterRange;\n\n private headerFocus?: FocusTargetController;\n\n private get displayName() {\n return this.facetState.displayName || 'no-label';\n }\n\n private get focusTarget(): FocusTargetController {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\n\n private unsubscribeFacetController?: () => void | undefined;\n\n public initialize() {\n if (!this.facet) {\n return;\n }\n this.ensureSubscribed();\n this.registerFacetToStore();\n }\n\n public connectedCallback(): void {\n this.ensureSubscribed();\n }\n\n @Listen('atomic/dateInputApply')\n public applyDateInput({detail}: CustomEvent<DateFilterRange>) {\n this.inputRange = {start: detail.start, end: detail.end};\n }\n\n private get valuesToRender() {\n return (\n this.facetState.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderValues() {\n return !this.hasInputRange && !!this.valuesToRender.length;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get shouldRenderInput() {\n const {\n firstRequestExecuted: firstSearchExecuted,\n hasError,\n isLoading,\n hasProducts: hasResults,\n } = this.summaryState;\n return shouldDisplayInputForFacetRange({\n hasInputRange: this.hasInputRange,\n searchStatusState: {\n firstSearchExecuted,\n hasError,\n hasResults,\n isLoading,\n },\n facetValues: this.facetState.values || [],\n hasInput: true,\n });\n }\n\n private get hasValues() {\n if (this.facetState.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private get numberOfSelectedValues() {\n if (this.hasInputRange) {\n return 1;\n }\n\n return (\n this.facetState.values.filter(({state}) => state === 'selected').length ||\n 0\n );\n }\n\n private get hasInputRange() {\n return !!this.inputRange;\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.unsubscribeFacetController?.();\n this.unsubscribeFacetController = undefined;\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet;\n }\n\n private resetRange() {\n this.inputRange = undefined;\n this.facet.setRanges([]);\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.displayName),\n facetId: this.facetState.facetId,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n }\n\n private formatFacetValue(facetValue: DateFacetValue) {\n try {\n const startDate = deserializeRelativeDate(facetValue.start);\n const relativeDate =\n startDate.period === 'past'\n ? startDate\n : deserializeRelativeDate(facetValue.end);\n\n return this.bindings.i18n.t(\n `${relativeDate.period}-${relativeDate.unit}`,\n {\n count: relativeDate.amount,\n }\n );\n } catch (error) {\n return this.bindings.i18n.t('to', {\n start: parseDate(facetValue.start).format('YYYY-MM-DD'),\n end: parseDate(facetValue.end).format('YYYY-MM-DD'),\n });\n }\n }\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) => this.renderValue(value))\n );\n }\n\n private renderValue(facetValue: DateFacetValue) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n const isExcluded = facetValue.state === 'excluded';\n return (\n <FacetValueLink\n displayValue={displayValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n i18n={this.bindings.i18n}\n onClick={() => this.facet.toggleSingleSelect(facetValue)}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup i18n={this.bindings.i18n} label={this.displayName}>\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.displayName}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n if (this.hasInputRange) {\n this.resetRange();\n return;\n }\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={0}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderDateInput() {\n return (\n <atomic-facet-date-input\n bindings={this.bindings}\n label={this.displayName}\n rangeGetter={() => this.inputRange}\n facetId={this.facetState.facetId}\n rangeSetter={({start, end, endInclusive}: DateRangeRequest) => {\n this.facet.setRanges([\n {\n start,\n end,\n endInclusive,\n state: 'selected',\n },\n ]);\n }}\n ></atomic-facet-date-input>\n );\n }\n\n public render() {\n const {hasError, firstRequestExecuted} = this.summaryState;\n\n return (\n <FacetGuard\n enabled={true}\n firstSearchExecuted={firstRequestExecuted}\n hasError={hasError}\n hasResults={this.shouldRenderFacet}\n >\n {\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && this.renderDateInput(),\n ]}\n </FacetContainer>\n }\n </FacetGuard>\n );\n }\n\n private ensureSubscribed() {\n if (this.unsubscribeFacetController) {\n return;\n }\n this.unsubscribeFacetController = this.facet.subscribe(\n () => (this.facetState = this.facet.state)\n );\n }\n}\n","import {\n buildDateRange,\n DateFilterRange,\n DateRangeRequest,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Event, EventEmitter} from '@stencil/core';\nimport {parseDate} from '../../../../utils/date-utils';\nimport {Button} from '../../../common/stencil-button';\nimport {AnyBindings} from '../../interface/bindings';\n\n/**\n * Internal component made to be integrated in a TimeframeFacet.\n * @internal\n */\n@Component({\n tag: 'atomic-facet-date-input',\n shadow: false,\n})\nexport class FacetDateInput {\n @State() private start?: Date;\n @State() private end?: Date;\n private startRef!: HTMLInputElement;\n private endRef!: HTMLInputElement;\n\n @Prop() public bindings!: AnyBindings;\n @Prop() public rangeGetter!: () => DateFilterRange | undefined;\n @Prop() public rangeSetter!: (range: DateRangeRequest) => void;\n @Prop() public facetId!: string;\n @Prop() public label!: string;\n @Prop() public min?: string;\n @Prop() public max?: string;\n\n @Event({\n eventName: 'atomic/dateInputApply',\n })\n private applyInput!: EventEmitter;\n\n public connectedCallback() {\n const range = this.rangeGetter();\n this.start = range ? parseDate(range.start).toDate() : undefined;\n this.end = range ? parseDate(range.end).toDate() : undefined;\n }\n public componentDidUpdate() {\n if (!this.startRef.value && !this.endRef.value) {\n this.startRef.min = this.min || this.formattedDateValue('1401-01-01');\n this.endRef.max = this.max || '';\n this.startRef.max = this.max || '';\n this.endRef.min = this.min || '';\n }\n }\n\n private apply() {\n if (!this.startRef.validity.valid || !this.endRef.validity.valid) {\n return;\n }\n\n this.applyInput.emit({\n start: this.start,\n end: this.end,\n });\n\n const rangeRequest = buildDateRange({\n start: this.start!,\n end: this.end!.setHours(23, 59, 59, 999),\n });\n\n this.rangeSetter(rangeRequest);\n }\n\n private formattedDateValue(date?: string | Date) {\n if (!date) {\n return '';\n }\n return parseDate(date).format('YYYY-MM-DD');\n }\n\n render() {\n const label = this.bindings.i18n.t(this.label);\n const startLabel = this.bindings.i18n.t('start');\n const endLabel = this.bindings.i18n.t('end');\n const startAria = this.bindings.i18n.t('date-input-start', {label});\n const endAria = this.bindings.i18n.t('date-input-end', {label});\n const apply = this.bindings.i18n.t('apply');\n const applyAria = this.bindings.i18n.t('date-input-apply', {label});\n\n const inputClasses = 'input-primary p-2.5';\n const labelClasses = 'text-neutral-dark self-center';\n\n const placeholder = 'yyyy-mm-dd';\n // Fallback for Safari < 14.1, date with format yyyy-mm-dd over 1400 (API limit)\n const pattern =\n '^(1[4-9]\\\\d{2}|2\\\\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01])$';\n\n const range = this.rangeGetter();\n\n return (\n <form\n class=\"mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2\"\n onSubmit={(e) => {\n e.preventDefault();\n this.apply();\n return false;\n }}\n >\n <label\n part=\"input-label\"\n class={labelClasses}\n htmlFor={`${this.facetId}_start`}\n >\n {startLabel}:\n </label>\n <input\n id={`${this.facetId}_start`}\n part=\"input-start\"\n type=\"date\"\n ref={(ref) => (this.startRef = ref!)}\n class={inputClasses}\n aria-label={startAria}\n placeholder={placeholder}\n pattern={pattern}\n required\n // API/Index minimum supported date\n min={this.min || this.formattedDateValue('1401-01-01')}\n max={this.end ? this.formattedDateValue(this.end) : this.max}\n value={this.formattedDateValue(range?.start)}\n onInput={(e) =>\n (this.start = parseDate(\n (e.target as HTMLInputElement).value\n ).toDate())\n }\n />\n <label\n part=\"input-label\"\n class={labelClasses}\n htmlFor={`${this.facetId}_end`}\n >\n {endLabel}:\n </label>\n <input\n id={`${this.facetId}_end`}\n part=\"input-end\"\n type=\"date\"\n ref={(ref) => (this.endRef = ref!)}\n class={inputClasses}\n aria-label={endAria}\n placeholder={placeholder}\n pattern={pattern}\n required\n min={this.formattedDateValue(this.start) || this.min}\n max={this.max}\n value={this.formattedDateValue(range?.end)}\n onInput={(e) =>\n (this.end = parseDate(\n (e.target as HTMLInputElement).value\n ).toDate())\n }\n />\n <Button\n style=\"outline-primary\"\n type=\"submit\"\n part=\"input-apply-button\"\n class=\"col-span-2 truncate p-2.5\"\n ariaLabel={applyAria}\n text={apply}\n ></Button>\n </form>\n );\n }\n}\n"],"version":3}
@@ -1,120 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-757bc886.js');
6
- const bueno = require('@coveo/bueno');
7
- const commerce = require('@coveo/headless/commerce');
8
- const initializationUtils = require('./initialization-utils-62dc9852.js');
9
- const facetPlaceholder = require('./facet-placeholder-0111f0f1.js');
10
- const store = require('./store-116fd400.js');
11
- require('./dom-utils-d4790328.js');
12
- require('./event-utils-9bfcf3c5.js');
13
- require('./init-queue-a18aa323.js');
14
- require('./initialization-lit-stencil-common-utils-24279cfa.js');
15
- require('./utils-b6642872.js');
16
- require('./purify-85b542e2.js');
17
- require('./_commonjsHelpers-b3309d7b.js');
18
-
19
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
20
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
21
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
22
- r = Reflect.decorate(decorators, target, key, desc);
23
- else
24
- for (var i = decorators.length - 1; i >= 0; i--)
25
- if (d = decorators[i])
26
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
27
- return c > 3 && r && Object.defineProperty(target, key, r), r;
28
- };
29
- const AtomicCommerceFacets = class {
30
- constructor(hostRef) {
31
- index.registerInstance(this, hostRef);
32
- /**
33
- * The maximum number of facets to expand.
34
- * Remaining facets are automatically collapsed.
35
- *
36
- * Using the value `0` collapses all facets.
37
- * Using the value `-1` disables the feature and keeps all facets expanded.
38
- */
39
- this.collapseFacetsAfter = 4;
40
- this.isAppLoaded = false;
41
- this.collapseFacetsAfter = 4;
42
- this.facetGeneratorState = undefined;
43
- this.error = undefined;
44
- this.isAppLoaded = false;
45
- }
46
- initialize() {
47
- this.validateProps();
48
- const { engine } = this.bindings;
49
- const controller = this.controllerBuilder(engine);
50
- this.facetGenerator = controller.facetGenerator();
51
- this.summary = controller.summary();
52
- store.createAppLoadedListener(this.bindings.store, (isAppLoaded) => {
53
- this.isAppLoaded = isAppLoaded;
54
- });
55
- }
56
- isProductListing() {
57
- return this.bindings.interfaceElement.type === 'product-listing';
58
- }
59
- get controllerBuilder() {
60
- return this.isProductListing() ? commerce.buildProductListing : commerce.buildSearch;
61
- }
62
- validateProps() {
63
- new bueno.Schema({
64
- collapseFacetAfter: new bueno.NumberValue({ min: -1, required: true }),
65
- }).validate({
66
- collapseFacetAfter: this.collapseFacetsAfter,
67
- });
68
- }
69
- shouldCollapseFacet(index) {
70
- if (this.collapseFacetsAfter === -1) {
71
- return false;
72
- }
73
- return this.collapseFacetsAfter
74
- ? index + 1 > this.collapseFacetsAfter
75
- : true;
76
- }
77
- render() {
78
- if (!this.isAppLoaded) {
79
- return [...Array.from({ length: this.collapseFacetsAfter })].map(() => (index.h(facetPlaceholder.FacetPlaceholder, { isCollapsed: false, numberOfValues: 8 })));
80
- }
81
- return (index.h(index.Fragment, null, this.facetGenerator.facets.map((facet, index$1) => {
82
- if (facet.state.values.length === 0) {
83
- return;
84
- }
85
- const props = () => ({
86
- isCollapsed: this.shouldCollapseFacet(index$1),
87
- summary: this.summary,
88
- facet: facet,
89
- field: facet.state.field,
90
- key: facet.state.facetId,
91
- });
92
- switch (facet.state.type) {
93
- case 'regular':
94
- return (index.h("atomic-commerce-facet", { ...props() }));
95
- case 'numericalRange':
96
- return (index.h("atomic-commerce-numeric-facet", { ...props() }));
97
- case 'dateRange':
98
- return (index.h("atomic-commerce-timeframe-facet", { ...props() }));
99
- case 'hierarchical':
100
- return (index.h("atomic-commerce-category-facet", { ...props() }));
101
- default: {
102
- // TODO COMHUB-291 support location facet
103
- this.bindings.engine.logger.warn('Unexpected facet type.');
104
- return;
105
- }
106
- }
107
- })));
108
- }
109
- get host() { return index.getElement(this); }
110
- };
111
- __decorate([
112
- initializationUtils.InitializeBindings()
113
- ], AtomicCommerceFacets.prototype, "bindings", void 0);
114
- __decorate([
115
- initializationUtils.BindStateToController('facetGenerator')
116
- ], AtomicCommerceFacets.prototype, "facetGeneratorState", void 0);
117
-
118
- exports.atomic_commerce_facets = AtomicCommerceFacets;
119
-
120
- //# sourceMappingURL=atomic-commerce-facets.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"atomic-commerce-facets.entry.cjs.js","mappings":"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","names":["createAppLoadedListener","buildProductListing","buildSearch","Schema","NumberValue","h","FacetPlaceholder","Fragment","index","InitializeBindings","BindStateToController"],"sources":["src/components/commerce/facets/atomic-commerce-facets/atomic-commerce-facets.tsx"],"sourcesContent":["import {NumberValue, Schema} from '@coveo/bueno';\nimport {\n RegularFacet,\n CategoryFacet,\n DateFacet,\n NumericFacet,\n FacetGeneratorState,\n buildProductListing,\n buildSearch,\n FacetGenerator,\n Summary,\n SearchSummaryState,\n ProductListingSummaryState,\n} from '@coveo/headless/commerce';\nimport {Component, h, Element, State, Prop, Fragment} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/facet-placeholder';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\n\n/**\n * The `atomic-commerce-facets` component automatically renders commerce facets based on the Commerce API response.\n * Unlike regular facets, which require explicit definition and request in the query, the `atomic-commerce-facets` component dynamically generates facets.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-facets',\n shadow: false,\n})\nexport class AtomicCommerceFacets implements InitializableComponent<Bindings> {\n @InitializeBindings() public bindings!: Bindings;\n public facetGenerator!: FacetGenerator;\n public summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n @Element() host!: HTMLElement;\n\n /**\n * The maximum number of facets to expand.\n * Remaining facets are automatically collapsed.\n *\n * Using the value `0` collapses all facets.\n * Using the value `-1` disables the feature and keeps all facets expanded.\n */\n @Prop({reflect: true}) public collapseFacetsAfter = 4;\n\n @BindStateToController('facetGenerator')\n @State()\n public facetGeneratorState!: FacetGeneratorState;\n\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n public initialize() {\n this.validateProps();\n const {engine} = this.bindings;\n const controller = this.controllerBuilder(engine);\n this.facetGenerator = controller.facetGenerator();\n this.summary = controller.summary();\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n private isProductListing() {\n return this.bindings.interfaceElement.type === 'product-listing';\n }\n\n private get controllerBuilder() {\n return this.isProductListing() ? buildProductListing : buildSearch;\n }\n\n private validateProps() {\n new Schema({\n collapseFacetAfter: new NumberValue({min: -1, required: true}),\n }).validate({\n collapseFacetAfter: this.collapseFacetsAfter,\n });\n }\n\n private shouldCollapseFacet(index: number): boolean {\n if (this.collapseFacetsAfter === -1) {\n return false;\n }\n return this.collapseFacetsAfter\n ? index + 1 > this.collapseFacetsAfter\n : true;\n }\n\n public render() {\n if (!this.isAppLoaded) {\n return [...Array.from({length: this.collapseFacetsAfter})].map(() => (\n <FacetPlaceholder isCollapsed={false} numberOfValues={8} />\n ));\n }\n return (\n <Fragment>\n {this.facetGenerator.facets.map((facet, index) => {\n if (facet.state.values.length === 0) {\n return;\n }\n\n const props = <T,>() => ({\n isCollapsed: this.shouldCollapseFacet(index),\n summary: this.summary,\n facet: facet as T,\n field: facet.state.field,\n key: facet.state.facetId,\n });\n\n switch (facet.state.type) {\n case 'regular':\n return (\n <atomic-commerce-facet\n {...props<RegularFacet>()}\n ></atomic-commerce-facet>\n );\n case 'numericalRange':\n return (\n <atomic-commerce-numeric-facet\n {...props<NumericFacet>()}\n ></atomic-commerce-numeric-facet>\n );\n case 'dateRange':\n return (\n <atomic-commerce-timeframe-facet\n {...props<DateFacet>()}\n ></atomic-commerce-timeframe-facet>\n );\n case 'hierarchical':\n return (\n <atomic-commerce-category-facet\n {...props<CategoryFacet>()}\n ></atomic-commerce-category-facet>\n );\n default: {\n // TODO COMHUB-291 support location facet\n this.bindings.engine.logger.warn('Unexpected facet type.');\n return;\n }\n }\n })}\n </Fragment>\n );\n }\n}\n"],"version":3}
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- const index = require('./index-757bc886.js');
4
-
5
- const FacetPlaceholder = ({ numberOfValues, isCollapsed, }) => {
6
- const facetValues = [];
7
- for (let i = 0; i < numberOfValues; i++) {
8
- facetValues.push(index.h("div", { class: "bg-neutral mt-4 flex h-5", style: { width: '100%', opacity: '0.5' } }));
9
- }
10
- return (index.h("div", { part: "placeholder", class: "bg-background border-neutral mb-4 animate-pulse rounded-lg border p-7", "aria-hidden": "true" },
11
- index.h("div", { class: "bg-neutral h-8 rounded", style: { width: '75%' } }),
12
- !isCollapsed && index.h("div", { class: "mt-7" }, facetValues)));
13
- };
14
-
15
- exports.FacetPlaceholder = FacetPlaceholder;
16
-
17
- //# sourceMappingURL=facet-placeholder-0111f0f1.js.map
@@ -1 +0,0 @@
1
- {"file":"facet-placeholder-0111f0f1.js","mappings":";;;;MAOa,gBAAgB,GAA+C,CAAC,EAC3E,cAAc,EACd,WAAW,GACZ;IACC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;QACvC,WAAW,CAAC,IAAI,CACdA,iBACE,KAAK,EAAC,0BAA0B,EAChC,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAC,GACjC,CACR,CAAC;KACH;IAED,QACEA,iBACE,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,uEAAuE,iBACjE,MAAM;QAElBA,iBAAK,KAAK,EAAC,wBAAwB,EAAC,KAAK,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,GAAQ;QAChE,CAAC,WAAW,IAAIA,iBAAK,KAAK,EAAC,MAAM,IAAE,WAAW,CAAO,CAClD,EACN;AACJ;;;;","names":["h"],"sources":["src/components/common/facets/facet-placeholder/facet-placeholder.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\nexport interface FacetPlaceholderProps {\n numberOfValues: number;\n isCollapsed: boolean;\n}\n\nexport const FacetPlaceholder: FunctionalComponent<FacetPlaceholderProps> = ({\n numberOfValues,\n isCollapsed,\n}) => {\n const facetValues = [];\n for (let i = 0; i < numberOfValues; i++) {\n facetValues.push(\n <div\n class=\"bg-neutral mt-4 flex h-5\"\n style={{width: '100%', opacity: '0.5'}}\n ></div>\n );\n }\n\n return (\n <div\n part=\"placeholder\"\n class=\"bg-background border-neutral mb-4 animate-pulse rounded-lg border p-7\"\n aria-hidden=\"true\"\n >\n <div class=\"bg-neutral h-8 rounded\" style={{width: '75%'}}></div>\n {!isCollapsed && <div class=\"mt-7\">{facetValues}</div>}\n </div>\n );\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"product-utils-f6c780e3.js","mappings":";;;;;;SAKgB,UAAU,CAAC,OAAgB,EAAE,KAAa;IACxD,MAAM,KAAK,GAAGA,gCAAuB,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzE,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IACD,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;QAC/B,MAAM,IAAIC,0BAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC9C;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;SAee,8BAA8B,CAC5C,QAAgB,EAChB,OAAgB,EAChB,QAA0B;IAE1B,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAa;QAClD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAGC,0BAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAC9C,QAAQ,GAAGA,0BAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACzB,GAAG,GAAG,6DAA6D,OAAO,CAAC,WAAW,+CAA+C,CACtI,CAAC;YACF,OAAO,EAAE,CAAC;SACX;QAED,OAAO,QAAQ,CAAC;KACjB,CAAC,CAAC;AACL;;;;;","names":["ProductTemplatesHelpers","FieldValueIsNaNError","readFromObject"],"sources":["src/components/commerce/product-template-component-utils/product-utils.ts"],"sourcesContent":["import {readFromObject} from '@/src/utils/object-utils';\nimport {Product, ProductTemplatesHelpers} from '@coveo/headless/commerce';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {FieldValueIsNaNError} from './error';\n\nexport function parseValue(product: Product, field: string) {\n const value = ProductTemplatesHelpers.getProductProperty(product, field);\n if (value === null) {\n return null;\n }\n const valueAsNumber = parseFloat(`${value}`);\n if (Number.isNaN(valueAsNumber)) {\n throw new FieldValueIsNaNError(field, value);\n }\n return valueAsNumber;\n}\n\nexport function getStringValueFromProductOrNull(\n product: Product,\n field: string\n) {\n const value = ProductTemplatesHelpers.getProductProperty(product, field);\n\n if (typeof value !== 'string' || value.trim() === '') {\n return null;\n }\n\n return value;\n}\n\nexport function buildStringTemplateFromProduct(\n template: string,\n product: Product,\n bindings: CommerceBindings\n) {\n return template.replace(/\\${(.*?)}/g, (value: string) => {\n const key = value.substring(2, value.length - 1);\n let newValue = readFromObject(product, key);\n if (!newValue && typeof window !== 'undefined') {\n newValue = readFromObject(window, key);\n }\n\n if (!newValue) {\n bindings.engine.logger.warn(\n `${key} used in the href template is undefined for this product: ${product.permanentid} and could not be found in the window object.`\n );\n return '';\n }\n\n return newValue;\n });\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"stencil-facet-header-a3dd9de0.js","mappings":";;;;;;;;;MAEa,cAAc,GAAwB,CAAC,CAAC,EAAE,QAAQ,MAC7DA,iBAAK,KAAK,EAAC,oDAAoD,EAAC,IAAI,EAAC,OAAO,IACzE,QAAQ,CACL;;MCcK,WAAW,GAA0C,CAAC,KAAK;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE;QACjD,KAAK,EAAE,KAAK,CAAC,oBAAoB;KAClC,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,EAAE;QACnE,KAAK,EAAE,KAAK,CAAC,oBAAoB;QACjC,KAAK;KACN,CAAC,CAAC;IAEH,OAAO;QACLA,QAACC,oBAAM,IACL,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,cAAc,EACnB,KAAK,EAAC,sEAAsE,EAC5E,SAAS,EAAE,KAAK,CAAC,WAAW,GAAG,WAAW,GAAG,aAAa,EAC1D,OAAO,EAAE,MAAM,KAAK,CAAC,gBAAgB,EAAE,EACvC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,EAC7C,GAAG,EAAE,KAAK,CAAC,SAAS;YAEpBD,QAACE,sBAAO,IAAC,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAC,UAAU,IACjD,KAAK,CACE;YACVF,yBACE,IAAI,EAAC,mBAAmB,EACxB,KAAK,EAAC,+BAA+B,EACrC,IAAI,EAAE,KAAK,CAAC,WAAW,GAAGG,kCAAe,GAAGC,uBAAY,GAC3C,CACR;QACT,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,KACpDJ,QAACC,oBAAM,IACL,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,cAAc,EACnB,KAAK,EAAC,4CAA4C,EAClD,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,MAAM,KAAK,CAAC,cAAe,EAAE;YAEtCD,yBACE,IAAI,EAAC,mBAAmB,EACxB,KAAK,EAAC,cAAc,EACpB,IAAI,EAAEK,eAAS,GACF;YACfL,sBAAO,YAAY,CAAQ,CACpB,CACV;KACF,CAAC;AACJ;;;;;","names":["h","Button","Heading","ArrowBottomIcon","ArrowTopIcon","CloseIcon"],"sources":["src/components/common/facets/facet-container/stencil-facet-container.tsx","src/components/common/facets/facet-header/stencil-facet-header.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\nexport const FacetContainer: FunctionalComponent = (_, children) => (\n <div class=\"bg-background border-neutral rounded-lg border p-4\" part=\"facet\">\n {children}\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport ArrowBottomIcon from '../../../../images/arrow-bottom-rounded.svg';\nimport ArrowTopIcon from '../../../../images/arrow-top-rounded.svg';\nimport CloseIcon from '../../../../images/close.svg';\nimport {Button} from '../../stencil-button';\nimport {Heading} from '../../stencil-heading';\n\nexport interface FacetHeaderProps {\n i18n: i18n;\n label: string;\n numberOfActiveValues: number;\n isCollapsed: boolean;\n headingLevel: number;\n onToggleCollapse(): void;\n onClearFilters?(): void;\n headerRef?: (element?: HTMLButtonElement) => void;\n}\n\nexport const FacetHeader: FunctionalComponent<FacetHeaderProps> = (props) => {\n const label = props.i18n.t(props.label);\n const expandFacet = props.i18n.t('expand-facet', {label});\n const collapseFacet = props.i18n.t('collapse-facet', {label});\n const clearFilters = props.i18n.t('clear-filters', {\n count: props.numberOfActiveValues,\n });\n const clearFiltersForFacet = props.i18n.t('clear-filters-for-facet', {\n count: props.numberOfActiveValues,\n label,\n });\n\n return [\n <Button\n style=\"text-transparent\"\n part=\"label-button\"\n class=\"flex w-full justify-between rounded-none px-2 py-1 text-lg font-bold\"\n ariaLabel={props.isCollapsed ? expandFacet : collapseFacet}\n onClick={() => props.onToggleCollapse()}\n ariaExpanded={(!props.isCollapsed).toString()}\n ref={props.headerRef}\n >\n <Heading level={props.headingLevel} class=\"truncate\">\n {label}\n </Heading>\n <atomic-icon\n part=\"label-button-icon\"\n class=\"ml-4 w-3 shrink-0 self-center\"\n icon={props.isCollapsed ? ArrowBottomIcon : ArrowTopIcon}\n ></atomic-icon>\n </Button>,\n props.onClearFilters && props.numberOfActiveValues > 0 && (\n <Button\n style=\"text-primary\"\n part=\"clear-button\"\n class=\"flex max-w-full items-baseline p-2 text-sm\"\n ariaLabel={clearFiltersForFacet}\n onClick={() => props.onClearFilters!()}\n >\n <atomic-icon\n part=\"clear-button-icon\"\n class=\"mr-1 h-2 w-2\"\n icon={CloseIcon}\n ></atomic-icon>\n <span>{clearFilters}</span>\n </Button>\n ),\n ];\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"timeframe-facet-common-d9078836.js","mappings":"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","names":["randomID","shouldDisplayInputForFacetRange","initializePopover","getFieldValueCaption","parseDate","h","FacetValueLink","FacetValueLabelHighlight","FacetValuesGroup","FacetHeader","Hidden","FacetPlaceholder","FacetContainer"],"sources":["src/components/common/facets/timeframe-facet-common.tsx"],"sourcesContent":["import {FocusTargetController} from '@/src/utils/stencil-accessibility-utils';\nimport {\n DateFacet,\n DateFacetValue,\n DateFilter,\n DateRangeOptions,\n DateRangeRequest,\n FacetConditionsManager,\n RangeFacetSortCriterion,\n RelativeDate,\n RelativeDatePeriod,\n RelativeDateUnit,\n SearchStatusState,\n} from '@coveo/headless';\nimport {h, VNode} from '@stencil/core';\nimport {parseDate} from '../../../utils/date-utils';\nimport {getFieldValueCaption} from '../../../utils/field-utils';\nimport {randomID} from '../../../utils/utils';\nimport {InsightBindings} from '../../insight/atomic-insight-interface/atomic-insight-interface';\nimport {Bindings as SearchBindings} from '../../search/atomic-search-interface/atomic-search-interface';\nimport {Hidden} from '../stencil-hidden';\nimport {FacetInfo} from './facet-common-store';\nimport {FacetContainer} from './facet-container/stencil-facet-container';\nimport {FacetHeader} from './facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from './facet-placeholder/facet-placeholder';\nimport {FacetValueLabelHighlight} from './facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from './facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from './facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from './popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from './stencil-facet-common';\n\nexport interface Timeframe {\n period: RelativeDatePeriod;\n unit?: RelativeDateUnit;\n amount?: number;\n label?: string;\n}\n\ninterface TimeframeFacetCommonOptions {\n facetId?: string;\n host: HTMLElement;\n bindings: SearchBindings | InsightBindings;\n label: string;\n field: string;\n headingLevel: number;\n dependsOn: Record<string, string>;\n withDatePicker: boolean;\n setFacetId(id: string): string;\n getSearchStatusState(): SearchStatusState;\n buildDependenciesManager(facetId: string): FacetConditionsManager;\n deserializeRelativeDate(date: string): RelativeDate;\n buildDateRange(config: DateRangeOptions): DateRangeRequest;\n initializeFacetForDatePicker(): DateFacet;\n initializeFacetForDateRange(values: DateRangeRequest[]): DateFacet;\n initializeFilter(): DateFilter;\n min?: string;\n max?: string;\n sortCriteria: RangeFacetSortCriterion;\n}\n\ninterface TimeframeFacetCommonRenderProps {\n hasError: boolean;\n firstSearchExecuted: boolean;\n isCollapsed: boolean;\n headerFocus: FocusTargetController;\n onToggleCollapse: () => boolean;\n}\n\nexport class TimeframeFacetCommon {\n private facetId?: string;\n private facetForDatePicker?: DateFacet;\n private facetForDateRange?: DateFacet;\n private filter?: DateFilter;\n private manualTimeframes: Timeframe[] = [];\n private facetForDateRangeDependenciesManager?: FacetConditionsManager;\n private facetForDatePickerDependenciesManager?: FacetConditionsManager;\n private filterDependenciesManager?: FacetConditionsManager;\n\n constructor(private props: TimeframeFacetCommonOptions) {\n this.facetId = this.determineFacetId;\n this.props.setFacetId(this.facetId);\n\n this.manualTimeframes = this.getManualTimeframes();\n\n // Initialize two facets: One that is actually used to display values for end users, which only exists\n // if we need to display something to the end user (ie: timeframes > 0)\n\n // A second facet is initialized only to verify the results count. It is never used to display results to end user.\n // It serves as a way to determine if the input should be rendered or not, independent of the ranges configured in the component\n if (this.manualTimeframes.length > 0) {\n this.facetForDateRange = this.props.initializeFacetForDateRange(\n this.currentValues\n );\n }\n\n if (this.props.withDatePicker) {\n this.facetForDatePicker = this.props.initializeFacetForDatePicker();\n this.facetForDatePickerDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDatePicker.state.facetId\n );\n this.filter = this.props.initializeFilter();\n }\n\n if (this.facetForDateRange) {\n this.facetForDateRangeDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDateRange?.state.facetId\n );\n }\n\n if (this.filter) {\n this.filterDependenciesManager = this.props.buildDependenciesManager(\n this.filter?.state.facetId\n );\n }\n\n this.registerFacetToStore();\n }\n\n private get determineFacetId() {\n if (this.props.facetId) {\n return this.props.facetId;\n }\n\n if (this.props.bindings.store.state.dateFacets[this.props.field]) {\n return randomID(`${this.props.field}_`);\n }\n\n return this.props.field;\n }\n\n private get enabled() {\n return (\n this.facetForDateRange?.state.enabled ??\n this.filter?.state.enabled ??\n true\n );\n }\n\n private get valuesToRender() {\n return (\n this.facetForDateRange?.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderValues() {\n return !this.hasInputRange && !!this.valuesToRender.length;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get shouldRenderInput() {\n return shouldDisplayInputForFacetRange({\n hasInput: this.props.withDatePicker,\n hasInputRange: this.hasInputRange,\n searchStatusState: this.props.getSearchStatusState(),\n facetValues: this.facetForDatePicker?.state?.values || [],\n });\n }\n\n private get hasValues() {\n if (this.facetForDatePicker?.state.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private get numberOfSelectedValues() {\n if (this.filter?.state?.range) {\n return 1;\n }\n\n return (\n this.facetForDateRange?.state.values.filter(\n ({state}) => state === 'selected'\n ).length || 0\n );\n }\n\n private get hasInputRange() {\n return !!this.filter?.state.range;\n }\n\n public get currentValues(): DateRangeRequest[] {\n return this.manualTimeframes.map(({period, amount, unit}) =>\n period === 'past'\n ? this.props.buildDateRange({\n start: {period, unit, amount},\n end: {period: 'now'},\n })\n : this.props.buildDateRange({\n start: {period: 'now'},\n end: {period, unit, amount},\n })\n );\n }\n\n public disconnectedCallback() {\n if (this.props.host.isConnected) {\n return;\n }\n this.facetForDateRangeDependenciesManager?.stopWatching();\n this.facetForDatePickerDependenciesManager?.stopWatching();\n this.filterDependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet || !this.enabled;\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.props.bindings.i18n.t(this.props.label),\n facetId: this.facetId!,\n element: this.props.host,\n isHidden: () => this.isHidden,\n };\n\n this.props.bindings.store.registerFacet('dateFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n });\n\n initializePopover(this.props.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n\n if (this.filter) {\n this.props.bindings.store.state.dateFacets[this.filter.state.facetId] =\n this.props.bindings.store.state.dateFacets[this.facetId!];\n }\n }\n\n private getManualTimeframes(): Timeframe[] {\n return Array.from(this.props.host.querySelectorAll('atomic-timeframe')).map(\n ({label, amount, unit, period}) => ({\n label,\n amount,\n unit,\n period,\n })\n );\n }\n\n private formatFacetValue(facetValue: DateFacetValue) {\n try {\n const startDate = this.props.deserializeRelativeDate(facetValue.start);\n const relativeDate =\n startDate.period === 'past'\n ? startDate\n : this.props.deserializeRelativeDate(facetValue.end);\n const timeframe = this.getManualTimeframes().find(\n (timeframe) =>\n timeframe.period === relativeDate.period &&\n timeframe.unit === relativeDate.unit &&\n timeframe.amount === relativeDate.amount\n );\n\n if (timeframe?.label) {\n return getFieldValueCaption(\n this.props.field,\n timeframe.label,\n this.props.bindings.i18n\n );\n }\n return this.props.bindings.i18n.t(\n `${relativeDate.period}-${relativeDate.unit}`,\n {\n count: relativeDate.amount,\n }\n );\n } catch (error) {\n return this.props.bindings.i18n.t('to', {\n start: parseDate(facetValue.start).format('YYYY-MM-DD'),\n end: parseDate(facetValue.end).format('YYYY-MM-DD'),\n });\n }\n }\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) => this.renderValue(value))\n );\n }\n private renderValue(facetValue: DateFacetValue) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n const isExcluded = facetValue.state === 'excluded';\n return (\n <FacetValueLink\n displayValue={displayValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n i18n={this.props.bindings.i18n}\n onClick={() => this.facetForDateRange!.toggleSingleSelect(facetValue)}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n >\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderHeader(\n isCollapsed: boolean,\n headerFocus: FocusTargetController,\n onToggleCollapse: () => void\n ) {\n return (\n <FacetHeader\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n onClearFilters={() => {\n headerFocus.focusAfterSearch();\n if (this.filter?.state.range) {\n this.filter?.clear();\n return;\n }\n this.facetForDateRange?.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={isCollapsed}\n headingLevel={this.props.headingLevel}\n onToggleCollapse={onToggleCollapse}\n headerRef={(el) => headerFocus.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderDateInput() {\n return (\n <atomic-facet-date-input\n min={this.props.min}\n max={this.props.max}\n bindings={this.props.bindings}\n label={this.props.label}\n facetId={this.filter!.state!.facetId}\n rangeGetter={() => this.filter!.state.range}\n rangeSetter={(request: DateRangeRequest) => {\n this.filter!.setRange(request);\n }}\n ></atomic-facet-date-input>\n );\n }\n\n public render({\n hasError,\n firstSearchExecuted,\n isCollapsed,\n headerFocus,\n onToggleCollapse,\n }: TimeframeFacetCommonRenderProps) {\n if (hasError || !this.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.currentValues.length}\n isCollapsed={isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.shouldRenderFacet) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader(isCollapsed, headerFocus, onToggleCollapse)}\n {!isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && this.renderDateInput(),\n ]}\n </FacetContainer>\n );\n }\n}\n"],"version":3}