@coveo/atomic 3.33.8-pre.d407f6d205 → 3.33.8-pre.d48bdfc9a7

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 (440) 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/autoloader/index.cjs.js +2 -2
  4. package/dist/atomic/autoloader/index.esm.js +2 -2
  5. package/dist/atomic/components/_index.d.ts +2 -0
  6. package/dist/atomic/components/_index.js +1 -0
  7. package/dist/atomic/components/analytics-config.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-facet-manager.js +1 -1
  11. package/dist/atomic/components/atomic-facet.js +1 -1
  12. package/dist/atomic/components/atomic-format-currency.js +1 -1
  13. package/dist/atomic/components/atomic-format-number.js +1 -1
  14. package/dist/atomic/components/atomic-format-unit.js +1 -1
  15. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  16. package/dist/atomic/components/atomic-html2.js +1 -1
  17. package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
  18. package/dist/atomic/components/atomic-insight-facet.js +1 -1
  19. package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
  20. package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
  21. package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
  22. package/dist/atomic/components/atomic-insight-interface.js +1 -1
  23. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  24. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  25. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  26. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  27. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  28. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  29. package/dist/atomic/components/atomic-insight-result-action.js +1 -1
  30. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +1 -1
  31. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
  32. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  33. package/dist/atomic/components/atomic-insight-result-list.js +1 -1
  34. package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
  35. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  36. package/dist/atomic/components/atomic-insight-search-box.js +2 -2
  37. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  38. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  39. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  40. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  41. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  42. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  43. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  44. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  45. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
  46. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  47. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  48. package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
  49. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  50. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  51. package/dist/atomic/components/atomic-no-results.js +1 -1
  52. package/dist/atomic/components/atomic-numeric-facet.js +1 -2
  53. package/dist/atomic/components/atomic-numeric-facet.js.map +1 -1
  54. package/dist/atomic/components/atomic-pager.js +3 -3
  55. package/dist/atomic/components/atomic-query-error.js +1 -1
  56. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  57. package/dist/atomic/components/atomic-quickview.js +1 -1
  58. package/dist/atomic/components/atomic-recs-error.js +1 -1
  59. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  60. package/dist/atomic/components/atomic-recs-list.js +1 -1
  61. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  62. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  63. package/dist/atomic/components/atomic-relevance-inspector.js +1 -46
  64. package/dist/atomic/components/atomic-relevance-inspector.js.map +1 -1
  65. package/dist/atomic/components/atomic-relevance-inspector2.js +50 -0
  66. package/dist/atomic/components/atomic-relevance-inspector2.js.map +1 -0
  67. package/dist/atomic/components/atomic-result-children.js +1 -1
  68. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  69. package/dist/atomic/components/atomic-result-link.js +1 -1
  70. package/dist/atomic/components/atomic-result-list.js +1 -1
  71. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  72. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  73. package/dist/atomic/components/atomic-search-box-instant-results.js +1 -1
  74. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
  75. package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
  76. package/dist/atomic/components/atomic-search-box.js +4 -15
  77. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  78. package/dist/atomic/components/atomic-search-interface.d.ts +11 -0
  79. package/dist/atomic/components/atomic-search-interface.js +552 -0
  80. package/dist/atomic/components/atomic-search-interface.js.map +1 -0
  81. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  82. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  83. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  84. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  85. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  86. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  87. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  88. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  89. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  90. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  91. package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +50 -8
  92. package/dist/atomic/components/components/commerce/atomic-commerce-query-summary/atomic-commerce-query-summary.js +2 -2
  93. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +25 -10
  94. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +5 -12
  95. package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +9 -20
  96. package/dist/atomic/components/components/search/index.js +0 -1
  97. package/dist/atomic/components/components/search/lazy-index.js +0 -1
  98. package/dist/atomic/components/facet-number-input.js +2 -2
  99. package/dist/atomic/components/global/environment.js +1 -1
  100. package/dist/atomic/components/index.js.map +1 -1
  101. package/dist/atomic/components/tab-button.js +1 -1
  102. package/dist/atomic/components/tab-popover.js +1 -1
  103. package/dist/atomic/{p-41c5d5fa.entry.js → p-021f01d6.entry.js} +2 -2
  104. package/dist/atomic/{p-a3fa6695.entry.js → p-035f8dc8.entry.js} +2 -2
  105. package/dist/atomic/{p-67aa8d67.entry.js → p-133ee1c5.entry.js} +2 -2
  106. package/dist/atomic/p-1992b245.entry.js +2 -0
  107. package/dist/atomic/{p-9d023f0b.entry.js → p-1ef658d8.entry.js} +2 -2
  108. package/dist/atomic/{p-10b5e0f3.entry.js → p-20341936.entry.js} +2 -2
  109. package/dist/atomic/{p-3213225f.entry.js → p-26a51a77.entry.js} +2 -2
  110. package/dist/atomic/{p-8987a99f.js → p-299aff94.js} +2 -2
  111. package/dist/atomic/{p-15406648.entry.js → p-2ca352f4.entry.js} +2 -2
  112. package/dist/atomic/{p-97e42c43.entry.js → p-31aa052e.entry.js} +2 -2
  113. package/dist/atomic/{p-516b8165.entry.js → p-31f1e44e.entry.js} +2 -2
  114. package/dist/atomic/{p-3af5c567.entry.js → p-330e6e7c.entry.js} +2 -2
  115. package/dist/atomic/{p-7a6468a7.entry.js → p-36fab158.entry.js} +2 -2
  116. package/dist/atomic/{p-9727f36b.entry.js → p-37374964.entry.js} +2 -2
  117. package/dist/atomic/{p-7b1a3cab.entry.js → p-3a2c900c.entry.js} +2 -2
  118. package/dist/atomic/{p-0610b3e7.entry.js → p-3b20b011.entry.js} +2 -2
  119. package/dist/atomic/{p-ef64b06a.entry.js → p-3c8d109e.entry.js} +2 -2
  120. package/dist/atomic/{p-ef64b06a.entry.js.map → p-3c8d109e.entry.js.map} +1 -1
  121. package/dist/atomic/{p-c08f4ee6.entry.js → p-3f912e98.entry.js} +2 -2
  122. package/dist/atomic/{p-9e771351.entry.js → p-40635c2d.entry.js} +2 -2
  123. package/dist/atomic/{p-c9fe4f77.entry.js → p-43d708cb.entry.js} +2 -2
  124. package/dist/atomic/{p-b0c50194.entry.js → p-48f57fd8.entry.js} +2 -2
  125. package/dist/atomic/{p-65373475.entry.js → p-4b3d253b.entry.js} +2 -2
  126. package/dist/atomic/{p-4c30ca3e.entry.js → p-52ba404c.entry.js} +2 -2
  127. package/dist/atomic/{p-87c6c206.entry.js → p-534b6a0a.entry.js} +2 -2
  128. package/dist/atomic/{p-f0012580.entry.js → p-594488f2.entry.js} +2 -2
  129. package/dist/atomic/{p-8df7270f.entry.js → p-604c4085.entry.js} +2 -2
  130. package/dist/atomic/{p-d50c96c2.entry.js → p-627e1265.entry.js} +2 -2
  131. package/dist/atomic/{p-004adbb8.entry.js → p-6329ff94.entry.js} +2 -2
  132. package/dist/atomic/{p-e3af1bb4.entry.js → p-6e6d686e.entry.js} +2 -2
  133. package/dist/atomic/{p-45c4685e.entry.js → p-75e00690.entry.js} +2 -2
  134. package/dist/atomic/{p-8acb1466.entry.js → p-78b70622.entry.js} +2 -2
  135. package/dist/atomic/{p-4915faeb.entry.js → p-7a625c7e.entry.js} +2 -2
  136. package/dist/atomic/{p-f073a78d.entry.js → p-7b0b9e9b.entry.js} +2 -2
  137. package/dist/atomic/{p-a02b1209.entry.js → p-7b899b57.entry.js} +2 -2
  138. package/dist/atomic/{p-e6a7e7b2.entry.js → p-7dfcd6af.entry.js} +2 -2
  139. package/dist/atomic/{p-780170e5.entry.js → p-811d6dcb.entry.js} +2 -2
  140. package/dist/atomic/{p-9147b0db.entry.js → p-8256cd44.entry.js} +2 -2
  141. package/dist/atomic/{p-0e27d4f2.entry.js → p-83c9244a.entry.js} +2 -2
  142. package/dist/atomic/{p-5adbf098.entry.js → p-877d35b1.entry.js} +2 -2
  143. package/dist/atomic/{p-bd99fcc1.entry.js → p-939eaaac.entry.js} +2 -2
  144. package/dist/atomic/{p-9b92b4e2.entry.js → p-93e29b24.entry.js} +2 -2
  145. package/dist/atomic/{p-b6377fb6.entry.js → p-98c5b9b8.entry.js} +2 -2
  146. package/dist/atomic/{p-bf49fed3.entry.js → p-99b8d52d.entry.js} +2 -2
  147. package/dist/atomic/{p-160553ce.entry.js → p-a3efa89e.entry.js} +2 -2
  148. package/dist/atomic/{p-5fbfc2da.entry.js → p-a4eec5c5.entry.js} +2 -2
  149. package/dist/atomic/{p-c538c8ac.entry.js → p-a53c7821.entry.js} +2 -2
  150. package/dist/atomic/{p-be1b98a6.entry.js → p-a760d9f9.entry.js} +2 -2
  151. package/dist/atomic/{p-4e9d1f9e.entry.js → p-aa2a81fd.entry.js} +2 -2
  152. package/dist/atomic/{p-ce41c447.entry.js → p-ae060711.entry.js} +2 -2
  153. package/dist/atomic/{p-b4c34553.entry.js → p-b0b17e21.entry.js} +2 -2
  154. package/dist/atomic/{p-71bb8125.entry.js → p-b28011e6.entry.js} +2 -2
  155. package/dist/atomic/{p-e1c99e2e.entry.js → p-b2ff1330.entry.js} +2 -2
  156. package/dist/atomic/p-bbf7540f.entry.js +2 -0
  157. package/dist/atomic/p-bbf7540f.entry.js.map +1 -0
  158. package/dist/atomic/{p-dee60597.entry.js → p-bc0d6d3d.entry.js} +2 -2
  159. package/dist/atomic/{p-0e5dc57f.entry.js → p-c126ee6b.entry.js} +2 -2
  160. package/dist/atomic/{p-754909fe.entry.js → p-c1999888.entry.js} +2 -2
  161. package/dist/atomic/{p-d11b2b24.entry.js → p-c49cfa0c.entry.js} +2 -2
  162. package/dist/atomic/p-c88a3d2d.entry.js +2 -0
  163. package/dist/atomic/{p-79a9a372.entry.js.map → p-c88a3d2d.entry.js.map} +1 -1
  164. package/dist/atomic/{p-b4ad3036.entry.js → p-d00a12e9.entry.js} +2 -2
  165. package/dist/atomic/{p-00a6ab8c.entry.js → p-d0f47b33.entry.js} +2 -2
  166. package/dist/atomic/p-d24d34a7.entry.js +2 -0
  167. package/dist/atomic/{p-7f40e57d.entry.js → p-d364064c.entry.js} +2 -2
  168. package/dist/atomic/{p-856e858c.entry.js → p-d785121d.entry.js} +2 -2
  169. package/dist/atomic/{p-7d63bf7b.entry.js → p-d93adf52.entry.js} +2 -2
  170. package/dist/atomic/{p-2a4e9425.entry.js → p-de066001.entry.js} +2 -2
  171. package/dist/atomic/{p-8a7a23b7.entry.js → p-e162805d.entry.js} +2 -2
  172. package/dist/atomic/{p-441b1a7b.entry.js → p-e23b3334.entry.js} +2 -2
  173. package/dist/atomic/p-e2afb475.entry.js +2 -0
  174. package/dist/atomic/{p-bd32625e.entry.js → p-ea446721.entry.js} +2 -2
  175. package/dist/atomic/{p-07b6424c.entry.js → p-ee6771f1.entry.js} +2 -2
  176. package/dist/atomic/{p-abb14108.entry.js → p-f0c2dfe8.entry.js} +2 -2
  177. package/dist/atomic/{p-d2d22ab2.entry.js → p-f22bcb8c.entry.js} +2 -2
  178. package/dist/atomic/{p-d4ad7336.entry.js → p-fa8b7c4c.entry.js} +2 -2
  179. package/dist/atomic/{p-fb1a1e2e.entry.js → p-fbfe913d.entry.js} +2 -2
  180. package/dist/atomic/p-fcf3f7d7.entry.js +2 -0
  181. package/dist/atomic/{p-6de44060.entry.js.map → p-fcf3f7d7.entry.js.map} +1 -1
  182. package/dist/atomic/{p-f936f55e.entry.js → p-fea7bf3b.entry.js} +2 -2
  183. package/dist/cjs/_loader.cjs.js +1 -1
  184. package/dist/cjs/{analytics-config-5e54efe3.js → analytics-config-1c6feaae.js} +2 -2
  185. package/dist/cjs/{analytics-config-5e54efe3.js.map → analytics-config-1c6feaae.js.map} +1 -1
  186. package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
  187. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  188. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  189. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
  190. package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
  191. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  192. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  193. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  194. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  195. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  196. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
  197. package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
  198. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  199. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  200. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
  201. package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
  202. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  203. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
  204. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
  205. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +1 -1
  206. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  207. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  208. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +1 -1
  209. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +1 -1
  210. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  211. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  212. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  213. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  214. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  215. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
  216. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  217. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  218. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  219. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  220. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  221. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  222. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  223. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  224. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  225. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  226. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  227. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  228. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  229. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  230. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
  231. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -2
  232. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  233. package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
  234. package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
  235. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  236. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  237. package/dist/cjs/atomic-recs-error.cjs.entry.js +1 -1
  238. package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
  239. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  240. package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
  241. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
  242. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +2 -2
  243. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  244. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  245. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  246. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  247. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  248. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +1 -1
  249. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
  250. package/dist/cjs/atomic-search-box.cjs.entry.js +4 -15
  251. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  252. package/dist/cjs/atomic-search-interface.cjs.entry.js +511 -0
  253. package/dist/cjs/atomic-search-interface.cjs.entry.js.map +1 -0
  254. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  255. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  256. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  257. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  258. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  259. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +3 -3
  260. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  261. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  262. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  263. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  264. package/dist/cjs/atomic.cjs.js +1 -1
  265. package/dist/cjs/index-757bc886.js +8 -4
  266. package/dist/cjs/version.cjs.js +2 -2
  267. package/dist/esm/_loader.js +1 -1
  268. package/dist/esm/{analytics-config-92fbebf8.js → analytics-config-9fdccf9d.js} +2 -2
  269. package/dist/esm/{analytics-config-92fbebf8.js.map → analytics-config-9fdccf9d.js.map} +1 -1
  270. package/dist/esm/atomic-category-facet.entry.js +1 -1
  271. package/dist/esm/atomic-citation.entry.js +1 -1
  272. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  273. package/dist/esm/atomic-facet-number-input.entry.js +2 -2
  274. package/dist/esm/atomic-facet.entry.js +1 -1
  275. package/dist/esm/atomic-format-currency.entry.js +1 -1
  276. package/dist/esm/atomic-format-number.entry.js +1 -1
  277. package/dist/esm/atomic-format-unit.entry.js +1 -1
  278. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
  279. package/dist/esm/atomic-html.entry.js +1 -1
  280. package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
  281. package/dist/esm/atomic-insight-facet.entry.js +1 -1
  282. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  283. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  284. package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
  285. package/dist/esm/atomic-insight-interface.entry.js +2 -2
  286. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  287. package/dist/esm/atomic-insight-numeric-facet.entry.js +1 -1
  288. package/dist/esm/atomic-insight-pager.entry.js +3 -3
  289. package/dist/esm/atomic-insight-query-error.entry.js +1 -1
  290. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  291. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  292. package/dist/esm/atomic-insight-result-action.entry.js +1 -1
  293. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +1 -1
  294. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  295. package/dist/esm/atomic-insight-result-children.entry.js +1 -1
  296. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  297. package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
  298. package/dist/esm/atomic-insight-result.entry.js +1 -1
  299. package/dist/esm/atomic-insight-search-box.entry.js +2 -2
  300. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  301. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  302. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  303. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  304. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  305. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  306. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  307. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  308. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  309. package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
  310. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  311. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  312. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  313. package/dist/esm/atomic-load-more-results.entry.js +1 -1
  314. package/dist/esm/atomic-no-results.entry.js +1 -1
  315. package/dist/esm/atomic-numeric-facet.entry.js +1 -2
  316. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  317. package/dist/esm/atomic-pager.entry.js +3 -3
  318. package/dist/esm/atomic-query-error.entry.js +1 -1
  319. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  320. package/dist/esm/atomic-quickview.entry.js +1 -1
  321. package/dist/esm/atomic-recs-error.entry.js +1 -1
  322. package/dist/esm/atomic-recs-interface.entry.js +2 -2
  323. package/dist/esm/atomic-recs-list.entry.js +1 -1
  324. package/dist/esm/atomic-refine-modal.entry.js +1 -1
  325. package/dist/esm/atomic-refine-toggle.entry.js +1 -1
  326. package/dist/esm/atomic-relevance-inspector.entry.js +2 -2
  327. package/dist/esm/atomic-result-children.entry.js +1 -1
  328. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  329. package/dist/esm/atomic-result-link.entry.js +1 -1
  330. package/dist/esm/atomic-result-list.entry.js +1 -1
  331. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  332. package/dist/esm/atomic-search-box-instant-results.entry.js +1 -1
  333. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +2 -2
  334. package/dist/esm/atomic-search-box.entry.js +4 -15
  335. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  336. package/dist/esm/atomic-search-interface.entry.js +507 -0
  337. package/dist/esm/atomic-search-interface.entry.js.map +1 -0
  338. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  339. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  340. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  341. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  342. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  343. package/dist/esm/atomic-stencil-facet-date-input.entry.js +3 -3
  344. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  345. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  346. package/dist/esm/atomic-tab-button.entry.js +1 -1
  347. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  348. package/dist/esm/atomic.js +1 -1
  349. package/dist/esm/index-3f35faca.js +8 -4
  350. package/dist/esm/version.js +2 -2
  351. package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +30 -2
  352. package/dist/types/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.d.ts +1 -0
  353. package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +0 -1
  354. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +0 -1
  355. package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +44 -46
  356. package/dist/types/components/search/atomic-search-interface/interfaces.d.ts +1 -2
  357. package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +1 -3
  358. package/dist/types/components/search/index.d.ts +0 -1
  359. package/dist/types/components.d.ts +165 -2
  360. package/docs/atomic-docs.json +575 -12
  361. package/package.json +4 -4
  362. package/dist/atomic/components/components/search/atomic-search-interface/analytics-config.js +0 -57
  363. package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +0 -495
  364. package/dist/atomic/p-0edea6f9.entry.js +0 -2
  365. package/dist/atomic/p-6de44060.entry.js +0 -2
  366. package/dist/atomic/p-79a9a372.entry.js +0 -2
  367. package/dist/atomic/p-97829295.entry.js +0 -2
  368. package/dist/atomic/p-c2b4b401.entry.js +0 -2
  369. /package/dist/atomic/{p-41c5d5fa.entry.js.map → p-021f01d6.entry.js.map} +0 -0
  370. /package/dist/atomic/{p-a3fa6695.entry.js.map → p-035f8dc8.entry.js.map} +0 -0
  371. /package/dist/atomic/{p-67aa8d67.entry.js.map → p-133ee1c5.entry.js.map} +0 -0
  372. /package/dist/atomic/{p-0edea6f9.entry.js.map → p-1992b245.entry.js.map} +0 -0
  373. /package/dist/atomic/{p-9d023f0b.entry.js.map → p-1ef658d8.entry.js.map} +0 -0
  374. /package/dist/atomic/{p-10b5e0f3.entry.js.map → p-20341936.entry.js.map} +0 -0
  375. /package/dist/atomic/{p-3213225f.entry.js.map → p-26a51a77.entry.js.map} +0 -0
  376. /package/dist/atomic/{p-8987a99f.js.map → p-299aff94.js.map} +0 -0
  377. /package/dist/atomic/{p-15406648.entry.js.map → p-2ca352f4.entry.js.map} +0 -0
  378. /package/dist/atomic/{p-97e42c43.entry.js.map → p-31aa052e.entry.js.map} +0 -0
  379. /package/dist/atomic/{p-516b8165.entry.js.map → p-31f1e44e.entry.js.map} +0 -0
  380. /package/dist/atomic/{p-3af5c567.entry.js.map → p-330e6e7c.entry.js.map} +0 -0
  381. /package/dist/atomic/{p-7a6468a7.entry.js.map → p-36fab158.entry.js.map} +0 -0
  382. /package/dist/atomic/{p-9727f36b.entry.js.map → p-37374964.entry.js.map} +0 -0
  383. /package/dist/atomic/{p-7b1a3cab.entry.js.map → p-3a2c900c.entry.js.map} +0 -0
  384. /package/dist/atomic/{p-0610b3e7.entry.js.map → p-3b20b011.entry.js.map} +0 -0
  385. /package/dist/atomic/{p-c08f4ee6.entry.js.map → p-3f912e98.entry.js.map} +0 -0
  386. /package/dist/atomic/{p-9e771351.entry.js.map → p-40635c2d.entry.js.map} +0 -0
  387. /package/dist/atomic/{p-c9fe4f77.entry.js.map → p-43d708cb.entry.js.map} +0 -0
  388. /package/dist/atomic/{p-b0c50194.entry.js.map → p-48f57fd8.entry.js.map} +0 -0
  389. /package/dist/atomic/{p-65373475.entry.js.map → p-4b3d253b.entry.js.map} +0 -0
  390. /package/dist/atomic/{p-4c30ca3e.entry.js.map → p-52ba404c.entry.js.map} +0 -0
  391. /package/dist/atomic/{p-87c6c206.entry.js.map → p-534b6a0a.entry.js.map} +0 -0
  392. /package/dist/atomic/{p-f0012580.entry.js.map → p-594488f2.entry.js.map} +0 -0
  393. /package/dist/atomic/{p-8df7270f.entry.js.map → p-604c4085.entry.js.map} +0 -0
  394. /package/dist/atomic/{p-d50c96c2.entry.js.map → p-627e1265.entry.js.map} +0 -0
  395. /package/dist/atomic/{p-004adbb8.entry.js.map → p-6329ff94.entry.js.map} +0 -0
  396. /package/dist/atomic/{p-e3af1bb4.entry.js.map → p-6e6d686e.entry.js.map} +0 -0
  397. /package/dist/atomic/{p-45c4685e.entry.js.map → p-75e00690.entry.js.map} +0 -0
  398. /package/dist/atomic/{p-8acb1466.entry.js.map → p-78b70622.entry.js.map} +0 -0
  399. /package/dist/atomic/{p-4915faeb.entry.js.map → p-7a625c7e.entry.js.map} +0 -0
  400. /package/dist/atomic/{p-f073a78d.entry.js.map → p-7b0b9e9b.entry.js.map} +0 -0
  401. /package/dist/atomic/{p-a02b1209.entry.js.map → p-7b899b57.entry.js.map} +0 -0
  402. /package/dist/atomic/{p-e6a7e7b2.entry.js.map → p-7dfcd6af.entry.js.map} +0 -0
  403. /package/dist/atomic/{p-780170e5.entry.js.map → p-811d6dcb.entry.js.map} +0 -0
  404. /package/dist/atomic/{p-9147b0db.entry.js.map → p-8256cd44.entry.js.map} +0 -0
  405. /package/dist/atomic/{p-0e27d4f2.entry.js.map → p-83c9244a.entry.js.map} +0 -0
  406. /package/dist/atomic/{p-5adbf098.entry.js.map → p-877d35b1.entry.js.map} +0 -0
  407. /package/dist/atomic/{p-bd99fcc1.entry.js.map → p-939eaaac.entry.js.map} +0 -0
  408. /package/dist/atomic/{p-9b92b4e2.entry.js.map → p-93e29b24.entry.js.map} +0 -0
  409. /package/dist/atomic/{p-b6377fb6.entry.js.map → p-98c5b9b8.entry.js.map} +0 -0
  410. /package/dist/atomic/{p-bf49fed3.entry.js.map → p-99b8d52d.entry.js.map} +0 -0
  411. /package/dist/atomic/{p-160553ce.entry.js.map → p-a3efa89e.entry.js.map} +0 -0
  412. /package/dist/atomic/{p-5fbfc2da.entry.js.map → p-a4eec5c5.entry.js.map} +0 -0
  413. /package/dist/atomic/{p-c538c8ac.entry.js.map → p-a53c7821.entry.js.map} +0 -0
  414. /package/dist/atomic/{p-be1b98a6.entry.js.map → p-a760d9f9.entry.js.map} +0 -0
  415. /package/dist/atomic/{p-4e9d1f9e.entry.js.map → p-aa2a81fd.entry.js.map} +0 -0
  416. /package/dist/atomic/{p-ce41c447.entry.js.map → p-ae060711.entry.js.map} +0 -0
  417. /package/dist/atomic/{p-b4c34553.entry.js.map → p-b0b17e21.entry.js.map} +0 -0
  418. /package/dist/atomic/{p-71bb8125.entry.js.map → p-b28011e6.entry.js.map} +0 -0
  419. /package/dist/atomic/{p-e1c99e2e.entry.js.map → p-b2ff1330.entry.js.map} +0 -0
  420. /package/dist/atomic/{p-dee60597.entry.js.map → p-bc0d6d3d.entry.js.map} +0 -0
  421. /package/dist/atomic/{p-0e5dc57f.entry.js.map → p-c126ee6b.entry.js.map} +0 -0
  422. /package/dist/atomic/{p-754909fe.entry.js.map → p-c1999888.entry.js.map} +0 -0
  423. /package/dist/atomic/{p-d11b2b24.entry.js.map → p-c49cfa0c.entry.js.map} +0 -0
  424. /package/dist/atomic/{p-b4ad3036.entry.js.map → p-d00a12e9.entry.js.map} +0 -0
  425. /package/dist/atomic/{p-00a6ab8c.entry.js.map → p-d0f47b33.entry.js.map} +0 -0
  426. /package/dist/atomic/{p-97829295.entry.js.map → p-d24d34a7.entry.js.map} +0 -0
  427. /package/dist/atomic/{p-7f40e57d.entry.js.map → p-d364064c.entry.js.map} +0 -0
  428. /package/dist/atomic/{p-856e858c.entry.js.map → p-d785121d.entry.js.map} +0 -0
  429. /package/dist/atomic/{p-7d63bf7b.entry.js.map → p-d93adf52.entry.js.map} +0 -0
  430. /package/dist/atomic/{p-2a4e9425.entry.js.map → p-de066001.entry.js.map} +0 -0
  431. /package/dist/atomic/{p-8a7a23b7.entry.js.map → p-e162805d.entry.js.map} +0 -0
  432. /package/dist/atomic/{p-441b1a7b.entry.js.map → p-e23b3334.entry.js.map} +0 -0
  433. /package/dist/atomic/{p-c2b4b401.entry.js.map → p-e2afb475.entry.js.map} +0 -0
  434. /package/dist/atomic/{p-bd32625e.entry.js.map → p-ea446721.entry.js.map} +0 -0
  435. /package/dist/atomic/{p-07b6424c.entry.js.map → p-ee6771f1.entry.js.map} +0 -0
  436. /package/dist/atomic/{p-abb14108.entry.js.map → p-f0c2dfe8.entry.js.map} +0 -0
  437. /package/dist/atomic/{p-d2d22ab2.entry.js.map → p-f22bcb8c.entry.js.map} +0 -0
  438. /package/dist/atomic/{p-d4ad7336.entry.js.map → p-fa8b7c4c.entry.js.map} +0 -0
  439. /package/dist/atomic/{p-fb1a1e2e.entry.js.map → p-fbfe913d.entry.js.map} +0 -0
  440. /package/dist/atomic/{p-f936f55e.entry.js.map → p-fea7bf3b.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"file":"atomic-search-interface.js","mappings":"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","names":["AtomicSearchInterface","i18next"],"sources":["src/components/search/atomic-search-layout/search-layout.ts","src/components/search/atomic-search-interface/analytics-config.ts","src/components/search/atomic-search-interface/store.ts","src/components/search/atomic-search-interface/atomic-search-interface.pcss?tag=atomic-search-interface&encapsulation=shadow","src/components/search/atomic-search-interface/atomic-search-interface.tsx"],"sourcesContent":["import {buildCommonLayout} from '../../common/atomic-layout-section/layout';\n\nexport const layoutWebComponentTagName = 'atomic-search-layout';\nexport const containerWebComponentTagName = 'atomic-search-interface';\nexport const noResultsSelector = `${containerWebComponentTagName}-no-results`;\nexport const errorSelector = `${containerWebComponentTagName}-error`;\nexport const firstSearchExecutedSelector = `${containerWebComponentTagName}-search-executed`;\n\nexport function makeDesktopQuery(mobileBreakpoint: string) {\n return `only screen and (min-width: ${mobileBreakpoint})`;\n}\nexport function buildSearchLayout(\n element: HTMLElement,\n mobileBreakpoint: string\n) {\n return buildCommonLayout(\n element,\n mobileBreakpoint,\n layoutWebComponentTagName,\n containerWebComponentTagName,\n noResultsSelector,\n errorSelector,\n 'atomic-refine-toggle',\n 'atomic-sort-dropdown'\n );\n}\n","import type {\n AnalyticsConfiguration,\n SearchEngineConfiguration,\n} from '@coveo/headless';\nimport {\n type AnalyticsPayload,\n augmentAnalyticsConfigWithAtomicVersion,\n augmentAnalyticsConfigWithDocument,\n augmentAnalyticsWithAtomicVersion,\n augmentWithExternalMiddleware,\n getNextAnalyticsConfig,\n} from '../../common/interface/analytics-config';\nimport type {createSearchStore} from './store';\n\nexport function getAnalyticsConfig(\n searchEngineConfig: SearchEngineConfiguration,\n enabled: boolean,\n store: ReturnType<typeof createSearchStore>\n): AnalyticsConfiguration {\n switch (searchEngineConfig.analytics?.analyticsMode) {\n case 'next':\n return getNextAnalyticsConfig(searchEngineConfig, enabled);\n default:\n return getLegacyAnalyticsConfig(searchEngineConfig, enabled, store);\n }\n}\n\nfunction getLegacyAnalyticsConfig(\n searchEngineConfig: SearchEngineConfiguration,\n enabled: boolean,\n store: ReturnType<typeof createSearchStore>\n): AnalyticsConfiguration {\n const analyticsClientMiddleware = (\n event: string,\n payload: AnalyticsPayload\n ) => augmentAnalytics(event, payload, store, searchEngineConfig);\n\n const defaultConfiguration: AnalyticsConfiguration = {\n analyticsClientMiddleware,\n enabled,\n ...augmentAnalyticsConfigWithDocument(),\n };\n\n const immutableConfiguration: AnalyticsConfiguration = {\n ...augmentAnalyticsConfigWithAtomicVersion(),\n };\n\n if (searchEngineConfig.analytics) {\n return {\n ...defaultConfiguration,\n ...searchEngineConfig.analytics,\n analyticsClientMiddleware,\n ...immutableConfiguration,\n };\n }\n\n return {\n ...defaultConfiguration,\n ...immutableConfiguration,\n };\n}\n\nfunction augmentAnalytics(\n event: string,\n payload: AnalyticsPayload,\n store: ReturnType<typeof createSearchStore>,\n config: SearchEngineConfiguration\n) {\n let result = augmentWithExternalMiddleware(event, payload, config);\n result = augmentAnalyticsWithAtomicVersion(result);\n result = augmentAnalyticsWithFacetTitles(result, store);\n return result;\n}\n\nfunction augmentAnalyticsWithFacetTitles(\n payload: AnalyticsPayload,\n store: ReturnType<typeof createSearchStore>\n) {\n const allFacets = store.getAllFacets();\n const getAtomicFacetLabelOrOriginalTitle = (\n facetId: string,\n originalTitle: string\n ) => (allFacets[facetId] ? allFacets[facetId].label() : originalTitle);\n\n if (payload.facetState) {\n payload.facetState = payload.facetState.map(\n (analyticsFacetState: {id: string; title: string}) => {\n const {id, title: originalTitle} = analyticsFacetState;\n return {\n ...analyticsFacetState,\n title: getAtomicFacetLabelOrOriginalTitle(id, originalTitle),\n };\n }\n );\n }\n\n if (\n payload.customData?.facetTitle &&\n payload.customData.facetId &&\n payload.customData.facetTitle\n ) {\n payload.customData.facetTitle = getAtomicFacetLabelOrOriginalTitle(\n payload.customData.facetId,\n payload.customData.facetTitle\n );\n }\n return payload;\n}\n","import type {\n DateFacetValue,\n NumericFacetValue,\n SearchEngine,\n SortCriterion,\n} from '@coveo/headless';\nimport {DEFAULT_MOBILE_BREAKPOINT} from '../../../utils/replace-breakpoint-utils';\nimport type {\n FacetInfo,\n FacetStore,\n FacetType,\n FacetValueFormat,\n} from '../../common/facets/facet-common-store';\nimport {\n type BaseStore,\n createBaseStore,\n getFacetElements,\n type ResultListInfo,\n registerFacet,\n setLoadingFlag,\n unsetLoadingFlag,\n waitUntilAppLoaded,\n} from '../../common/interface/store';\nimport {makeDesktopQuery} from '../atomic-search-layout/search-layout';\n\nexport interface SortDropdownOption {\n tabs: {included: string[] | string; excluded: string[] | string};\n expression: string;\n criteria: SortCriterion[];\n label: string;\n}\n\ninterface FacetInfoMap {\n [facetId: string]:\n | FacetInfo\n | (FacetInfo & FacetValueFormat<NumericFacetValue>)\n | (FacetInfo & FacetValueFormat<DateFacetValue>);\n}\n\ninterface Data {\n loadingFlags: string[];\n iconAssetsPath: string;\n resultList: ResultListInfo | undefined;\n mobileBreakpoint: string;\n facets: FacetStore<FacetInfo>;\n numericFacets: FacetStore<FacetInfo & FacetValueFormat<NumericFacetValue>>;\n dateFacets: FacetStore<FacetInfo & FacetValueFormat<DateFacetValue>>;\n categoryFacets: FacetStore<FacetInfo>;\n facetElements: HTMLElement[];\n fieldsToInclude: string[];\n sortOptions: SortDropdownOption[];\n}\n\nexport type SearchStore = BaseStore<Data> & {\n unsetLoadingFlag(loadingFlag: string): void;\n setLoadingFlag(flag: string): void;\n isMobile(): boolean;\n registerFacet<T extends FacetType, U extends string>(\n facetType: T,\n data: Data[T][U] & {facetId: U; element: HTMLElement}\n ): void;\n getFacetElements(): HTMLElement[];\n waitUntilAppLoaded(callback: () => void): void;\n getUniqueIDFromEngine(engine: SearchEngine): string;\n hasLoadingFlag(loadingFlag: string): boolean;\n getAllFacets(): FacetInfoMap;\n addFieldsToInclude(fields: string[]): void;\n};\n\nexport function createSearchStore(): SearchStore {\n const store = createBaseStore<Data>({\n loadingFlags: [],\n iconAssetsPath: '',\n resultList: undefined,\n mobileBreakpoint: DEFAULT_MOBILE_BREAKPOINT,\n facets: {},\n numericFacets: {},\n dateFacets: {},\n categoryFacets: {},\n facetElements: [],\n fieldsToInclude: [],\n sortOptions: [],\n });\n\n return {\n ...store,\n\n unsetLoadingFlag(loadingFlag: string) {\n unsetLoadingFlag(store, loadingFlag);\n },\n\n setLoadingFlag(loadingFlag: string) {\n setLoadingFlag(store, loadingFlag);\n },\n\n isMobile() {\n return !window.matchMedia(makeDesktopQuery(store.state.mobileBreakpoint))\n .matches;\n },\n\n registerFacet<T extends FacetType, U extends string>(\n facetType: T,\n data: Data[T][U] & {facetId: U; element: HTMLElement}\n ) {\n registerFacet(store, facetType, data);\n },\n\n getFacetElements() {\n return getFacetElements(store);\n },\n\n waitUntilAppLoaded(callback: () => void) {\n waitUntilAppLoaded(store, callback);\n },\n\n getUniqueIDFromEngine(engine: SearchEngine): string {\n return engine.state.search.response.searchUid;\n },\n\n hasLoadingFlag(loadingFlag: string) {\n return store.state.loadingFlags.indexOf(loadingFlag) !== -1;\n },\n\n getAllFacets() {\n return {\n ...store.state.facets,\n ...store.state.dateFacets,\n ...store.state.categoryFacets,\n ...store.state.numericFacets,\n };\n },\n\n addFieldsToInclude(fields) {\n const currentFields = store.state.fieldsToInclude;\n store.state.fieldsToInclude = [...currentFields, ...fields];\n },\n };\n}\n","@import '../../../global/global.pcss';\n\n:host {\n display: block;\n height: inherit;\n width: inherit;\n & > slot {\n height: inherit;\n }\n}\n","import {markParentAsReady} from '@/src/utils/init-queue';\nimport {\n LogLevel,\n Unsubscribe,\n buildUrlManager,\n UrlManager,\n buildSearchEngine,\n SearchEngine,\n SearchEngineConfiguration,\n SearchStatus,\n buildSearchStatus,\n loadSearchConfigurationActions,\n loadQueryActions,\n EcommerceDefaultFieldsToInclude,\n loadFieldActions,\n} from '@coveo/headless';\nimport {\n Component,\n Prop,\n h,\n Listen,\n Method,\n Watch,\n Element,\n State,\n setNonce,\n} from '@stencil/core';\nimport i18next, {i18n} from 'i18next';\nimport {InitializeEvent} from '../../../utils/initialization-utils';\nimport {\n SafeStorage,\n StandaloneSearchBoxData,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {ArrayProp} from '../../../utils/props-utils';\nimport {\n StencilBaseAtomicInterface,\n CommonAtomicInterfaceHelper,\n mismatchedInterfaceAndEnginePropError,\n} from '../../common/interface/interface-common-stencil';\nimport {\n errorSelector,\n firstSearchExecutedSelector,\n noResultsSelector,\n} from '../atomic-search-layout/search-layout';\nimport {getAnalyticsConfig} from './analytics-config';\nimport type {Bindings as _Bindings} from './interfaces';\nimport {createSearchStore, SearchStore} from './store';\n\nconst FirstSearchExecutedFlag = 'firstSearchExecuted';\nexport type InitializationOptions = SearchEngineConfiguration;\nexport type Bindings = _Bindings;\n\n/**\n * The `atomic-search-interface` component is the parent to all other atomic components in a search page. It handles the headless search engine and localization configurations.\n */\n@Component({\n tag: 'atomic-search-interface',\n styleUrl: 'atomic-search-interface.pcss',\n shadow: true,\n})\nexport class AtomicSearchInterface\n implements StencilBaseAtomicInterface<SearchEngine>\n{\n private urlManager!: UrlManager;\n private searchStatus!: SearchStatus;\n private unsubscribeUrlManager: Unsubscribe = () => {};\n private unsubscribeSearchStatus: Unsubscribe = () => {};\n private initialized = false;\n private store: SearchStore;\n private commonInterfaceHelper: CommonAtomicInterfaceHelper<SearchEngine>;\n\n @Element() public host!: HTMLAtomicSearchInterfaceElement;\n\n @State() public error?: Error;\n @State() relevanceInspectorIsOpen = false;\n\n /**\n * A list of non-default fields to include in the query results.\n *\n * Specify the property as an array using a JSON string representation:\n * ```html\n * <atomic-search-interface fields-to-include='[\"fieldA\", \"fieldB\"]'></atomic-search-interface>\n * ```\n */\n @ArrayProp()\n @Prop({mutable: true})\n public fieldsToInclude: string[] | string = '[]';\n\n /**\n * The search interface [query pipeline](https://docs.coveo.com/en/180/).\n *\n * If the search interface is initialized using [`initializeWithSearchEngine`](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-search-interface/#initializewithsearchengine), the query pipeline should instead be configured in the target engine.\n */\n @Prop({reflect: true, mutable: true}) public pipeline?: string;\n\n /**\n * The search interface [search hub](https://docs.coveo.com/en/1342/).\n *\n * If the search interface is initialized using [`initializeWithSearchEngine`](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-search-interface/#initializewithsearchengine, the search hub should instead be configured in the target engine.\n */\n @Prop({reflect: true, mutable: true}) public searchHub?: string;\n\n /**\n * Whether analytics should be enabled.\n */\n @Prop({reflect: true}) public analytics = true;\n\n /**\n * The [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) identifier of the time zone to use to correctly interpret dates in the query expression, facets, and result items.\n * By default, the timezone will be [guessed](https://day.js.org/docs/en/timezone/guessing-user-timezone).\n *\n * Example: \"America/Montreal\"\n */\n @Prop({reflect: true}) public timezone?: string;\n\n /**\n * The severity level of the messages to log in the console.\n */\n @Prop({reflect: true}) public logLevel?: LogLevel;\n\n /**\n * The search interface i18next instance.\n */\n @Prop() public i18n: i18n;\n\n /**\n * The search interface language.\n */\n @Prop({reflect: true}) public language = 'en';\n\n /**\n * The search interface headless engine.\n */\n @Prop({mutable: true}) public engine?: SearchEngine;\n\n /**\n * Whether the state should be reflected in the URL parameters.\n */\n @Prop({reflect: true}) public reflectStateInUrl = true;\n\n /**\n * The CSS selector for the container where the interface will scroll back to.\n */\n @Prop({reflect: true}) public scrollContainer = 'atomic-search-interface';\n\n /**\n * The language assets path. By default, this will be a relative URL pointing to `./lang`.\n *\n * Example: \"/mypublicpath/languages\"\n *\n */\n @Prop({reflect: true}) public languageAssetsPath = './lang';\n\n /**\n * The icon assets path. By default, this will be a relative URL pointing to `./assets`.\n *\n * Example: \"/mypublicpath/icons\"\n *\n */\n @Prop({reflect: true}) public iconAssetsPath = './assets';\n\n /**\n * Whether the relevance inspector shortcut should be enabled for this interface.\n *\n * The relevance inspector can be opened by holding the Alt key (Option on Mac) while over the interface, and performing a double click.\n *\n * The relevance inspector allows to troubleshoot and debug queries.\n */\n @Prop({reflect: true}) public enableRelevanceInspector = true;\n\n /**\n * The value to set the [nonce](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) attribute to on inline script and style elements generated by this interface and its child components.\n * If your application is served with a Content Security Policy (CSP) that doesn't include the `script-src: 'unsafe-inline'` or `style-src: 'unsafe-inline'` directives,\n * you should ensure that your application server generates a new nonce on every page load and uses the generated value to set this prop and serve the corresponding CSP response headers\n * (i.e., script-src 'nonce-<YOUR_GENERATED_NONCE>' and style-src 'nonce-<YOUR_GENERATED_NONCE>').\n * Otherwise you may see console errors such as\n * - Refused to execute inline script because it violates the following Content Security Policy directive: [...]\n * - Refused to apply inline style because it violates the following Content Security Policy directive: [...].\n * @example:\n * ```html\n * <script nonce=\"<YOUR_GENERATED_NONCE>\">\n * import {setNonce} from '@coveo/atomic';\n * setNonce('<YOUR_GENERATED_NONCE>');\n * </script>\n * ```\n */\n @Prop({reflect: true}) public CspNonce?: string;\n\n private i18Initialized: Promise<void>;\n private componentWillLoadCalledPromise: Promise<void>;\n private componentWillLoadResolver: () => void;\n public constructor() {\n this.initRelevanceInspector();\n this.commonInterfaceHelper = new CommonAtomicInterfaceHelper(\n this,\n 'CoveoAtomic'\n );\n this.store = createSearchStore();\n ({\n promise: this.componentWillLoadCalledPromise,\n resolve: this.componentWillLoadResolver,\n } = Promise.withResolvers<void>());\n const {promise, resolve} = Promise.withResolvers<void>();\n this.i18Initialized = promise;\n this.i18n = i18next.createInstance(undefined, resolve);\n }\n\n public connectedCallback() {\n this.store.setLoadingFlag(FirstSearchExecutedFlag);\n this.updateMobileBreakpoint();\n }\n\n componentWillLoad() {\n if (this.CspNonce) {\n setNonce(this.CspNonce);\n }\n this.initAriaLive();\n this.initFieldsToInclude();\n this.componentWillLoadResolver();\n }\n\n public updateSearchConfiguration(\n updatedProp: 'searchHub' | 'pipeline',\n newValue: string | undefined\n ) {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n if (this.engine.state[updatedProp] === newValue) {\n return;\n }\n\n const {updateSearchConfiguration} = loadSearchConfigurationActions(\n this.engine\n );\n this.engine.dispatch(\n updateSearchConfiguration({\n [updatedProp]: newValue,\n })\n );\n }\n\n @Watch('searchHub')\n public updateSearchHub() {\n this.updateSearchConfiguration('searchHub', this.searchHub ?? 'default');\n }\n\n @Watch('pipeline')\n public updatePipeline() {\n this.updateSearchConfiguration('pipeline', this.pipeline);\n }\n\n @Watch('analytics')\n public toggleAnalytics() {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n this.commonInterfaceHelper.onAnalyticsChange();\n }\n\n @Watch('language')\n public updateLanguage() {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n const {updateSearchConfiguration} = loadSearchConfigurationActions(\n this.engine\n );\n this.engine.dispatch(\n updateSearchConfiguration({\n locale: this.language,\n })\n );\n return this.commonInterfaceHelper.onLanguageChange();\n }\n\n @Watch('iconAssetsPath')\n public updateIconAssetsPath() {\n this.store.state.iconAssetsPath = this.iconAssetsPath;\n }\n\n public disconnectedCallback() {\n this.unsubscribeUrlManager();\n this.unsubscribeSearchStatus();\n window.removeEventListener('hashchange', this.onHashChange);\n }\n\n @Listen('atomic/initializeComponent')\n public handleInitialization(event: InitializeEvent) {\n this.commonInterfaceHelper.onComponentInitializing(event);\n }\n\n @Listen('atomic/scrollToTop')\n public scrollToTop() {\n const scrollContainerElement = document.querySelector(this.scrollContainer);\n if (!scrollContainerElement) {\n this.bindings.engine.logger.warn(\n `Could not find the scroll container with the selector \"${this.scrollContainer}\". This will prevent UX interactions that require a scroll from working correctly. Please check the CSS selector in the scrollContainer option`\n );\n return;\n }\n\n scrollContainerElement.scrollIntoView({behavior: 'smooth'});\n }\n\n @Listen('atomic/relevanceInspector/close')\n public closeRelevanceInspector() {\n this.relevanceInspectorIsOpen = false;\n }\n\n /**\n * Initializes the connection with the headless search engine using options for `accessToken` (required), `organizationId` (required), `environment` (defaults to `prod`), and `renewAccessToken`.\n */\n @Method() public initialize(options: InitializationOptions) {\n return this.internalInitialization(() => this.initEngine(options));\n }\n\n /**\n * Initializes the connection with an already preconfigured [headless search engine](https://docs.coveo.com/en/headless/latest/reference/interfaces/Search.SearchEngine.html), as opposed to the `initialize` method, which will internally create a new search engine instance.\n * This bypasses the properties set on the component, such as analytics, searchHub, pipeline, language, timezone & logLevel.\n */\n @Method() public initializeWithSearchEngine(engine: SearchEngine) {\n if (this.pipeline && this.pipeline !== engine.state.pipeline) {\n console.warn(\n mismatchedInterfaceAndEnginePropError('search', 'query pipeline')\n );\n }\n if (this.searchHub && this.searchHub !== engine.state.searchHub) {\n console.warn(\n mismatchedInterfaceAndEnginePropError('search', 'search hub')\n );\n }\n return this.internalInitialization(() => (this.engine = engine));\n }\n\n /**\n *\n * Executes the first search and logs the interface load event to analytics, after initializing connection to the headless search engine.\n */\n @Method() public async executeFirstSearch() {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n if (!this.initialized) {\n console.error(\n 'You have to wait until the \"initialize\" promise is fulfilled before executing a search.',\n this.host\n );\n return;\n }\n\n const safeStorage = new SafeStorage();\n const standaloneSearchBoxData =\n safeStorage.getParsedJSON<StandaloneSearchBoxData | null>(\n StorageItems.STANDALONE_SEARCH_BOX_DATA,\n null\n );\n\n if (!standaloneSearchBoxData) {\n this.engine.executeFirstSearch();\n return;\n }\n\n safeStorage.removeItem(StorageItems.STANDALONE_SEARCH_BOX_DATA);\n const {updateQuery} = loadQueryActions(this.engine!);\n const {value, enableQuerySyntax, analytics} = standaloneSearchBoxData;\n this.engine!.dispatch(updateQuery({q: value, enableQuerySyntax}));\n this.engine.executeFirstSearchAfterStandaloneSearchBoxRedirect(analytics);\n }\n\n public get bindings(): Bindings {\n return {\n engine: this.engine!,\n i18n: this.i18n,\n store: this.store,\n interfaceElement: this.host,\n createStyleElement: () => {\n const styleTag = document.createElement('style');\n if (this.CspNonce) {\n styleTag.setAttribute('nonce', this.CspNonce);\n }\n return styleTag;\n },\n createScriptElement: () => {\n const styleTag = document.createElement('script');\n if (this.CspNonce) {\n styleTag.setAttribute('nonce', this.CspNonce);\n }\n return styleTag;\n },\n };\n }\n\n private initFieldsToInclude() {\n const fields = EcommerceDefaultFieldsToInclude.concat(this.fieldsToInclude);\n this.store.addFieldsToInclude(fields);\n }\n\n public registerFieldsToInclude() {\n this.engine?.dispatch(\n loadFieldActions(this.engine!).registerFieldsToInclude(\n this.store.state.fieldsToInclude\n )\n );\n }\n\n private updateMobileBreakpoint() {\n const breakpoint = this.host.querySelector(\n 'atomic-search-layout'\n )?.mobileBreakpoint;\n if (breakpoint) {\n this.store.state.mobileBreakpoint = breakpoint;\n }\n }\n\n private initEngine(options: InitializationOptions) {\n const searchConfig = this.getSearchConfiguration(options);\n const analyticsConfig = getAnalyticsConfig(\n options,\n this.analytics,\n this.store\n );\n try {\n this.engine = buildSearchEngine({\n configuration: {\n ...options,\n search: searchConfig,\n analytics: analyticsConfig,\n },\n loggerOptions: {\n level: this.logLevel,\n },\n });\n } catch (error) {\n this.error = error as Error;\n throw error;\n }\n }\n\n private getSearchConfiguration(options: InitializationOptions) {\n const searchConfigFromProps = {\n searchHub: this.searchHub ?? 'default',\n pipeline: this.pipeline,\n locale: this.language,\n timezone: this.timezone,\n };\n\n if (options.search) {\n return {\n ...searchConfigFromProps,\n ...options.search,\n };\n }\n\n return searchConfigFromProps;\n }\n\n private get fragment() {\n return window.location.hash.slice(1);\n }\n\n private initUrlManager() {\n if (!this.reflectStateInUrl) {\n return;\n }\n\n this.urlManager = buildUrlManager(this.engine!, {\n initialState: {fragment: this.fragment},\n });\n\n this.unsubscribeUrlManager = this.urlManager.subscribe(() =>\n this.updateHash()\n );\n\n window.addEventListener('hashchange', this.onHashChange);\n }\n\n private initAriaLive() {\n if (\n Array.from(this.host.children).some(\n (element) => element.tagName === 'ATOMIC-ARIA-LIVE'\n )\n ) {\n return;\n }\n const ariaLive = document.createElement('atomic-aria-live');\n this.host.prepend(ariaLive);\n }\n\n private initRelevanceInspector() {\n if (this.enableRelevanceInspector) {\n this.host.addEventListener('dblclick', (e) => {\n if (e.altKey) {\n this.relevanceInspectorIsOpen = !this.relevanceInspectorIsOpen;\n }\n });\n }\n }\n\n private initSearchStatus() {\n this.searchStatus = buildSearchStatus(this.engine!);\n this.unsubscribeSearchStatus = this.searchStatus.subscribe(() => {\n const hasNoResultsAfterInitialSearch =\n !this.searchStatus.state.hasResults &&\n this.searchStatus.state.firstSearchExecuted &&\n !this.searchStatus.state.hasError;\n\n this.host.classList.toggle(\n noResultsSelector,\n hasNoResultsAfterInitialSearch\n );\n\n this.host.classList.toggle(\n errorSelector,\n this.searchStatus.state.hasError\n );\n\n this.host.classList.toggle(\n firstSearchExecutedSelector,\n this.searchStatus.state.firstSearchExecuted\n );\n\n if (\n this.searchStatus.state.firstSearchExecuted &&\n this.store.hasLoadingFlag(FirstSearchExecutedFlag)\n ) {\n this.store.unsetLoadingFlag(FirstSearchExecutedFlag);\n }\n });\n }\n\n private updateHash() {\n const newFragment = this.urlManager.state.fragment;\n\n if (!this.searchStatus.state.firstSearchExecuted) {\n history.replaceState(null, document.title, `#${newFragment}`);\n this.bindings.engine.logger.info(`History replaceState #${newFragment}`);\n\n return;\n }\n\n history.pushState(null, document.title, `#${newFragment}`);\n this.bindings.engine.logger.info(`History pushState #${newFragment}`);\n }\n\n private onHashChange = () => {\n this.urlManager.synchronize(this.fragment);\n };\n\n private async internalInitialization(initEngine: () => void) {\n await this.componentWillLoadCalledPromise;\n await Promise.all([\n this.commonInterfaceHelper.onInitialization(initEngine),\n this.i18Initialized,\n ]);\n await this.updateLanguage();\n markParentAsReady(this.host);\n this.pipeline = this.engine!.state.pipeline;\n this.searchHub = this.engine!.state.searchHub;\n this.initSearchStatus();\n this.initUrlManager();\n this.initialized = true;\n }\n\n public render() {\n return [\n this.engine && this.enableRelevanceInspector && (\n <atomic-relevance-inspector\n open={this.relevanceInspectorIsOpen}\n bindings={this.bindings}\n ></atomic-relevance-inspector>\n ),\n <slot></slot>,\n ];\n }\n}\n"],"version":3}
@@ -89,7 +89,7 @@ const AtomicSmartSnippetAnswer = /*@__PURE__*/ proxyCustomElement(class AtomicSm
89
89
  }), ref: (element) => element && this.bindAnalyticsToLinks(element), part: "answer", class: "margin" })));
90
90
  }
91
91
  render() {
92
- return (h(Host, { key: '70444fee1d3384fa1a413605776003ec98eafdcf' }, this.renderStyle(), this.renderContent()));
92
+ return (h(Host, { key: 'a5348601057208e867eaf3a869fd568312efcd60' }, this.renderStyle(), this.renderContent()));
93
93
  }
94
94
  get host() { return this; }
95
95
  static get style() { return AtomicSmartSnippetAnswerStyle0; }
@@ -56,11 +56,11 @@ const AtomicSmartSnippetCollapseWrapper = /*@__PURE__*/ proxyCustomElement(class
56
56
  return (h("button", { onClick: () => (this.isExpanded = !this.isExpanded), class: "text-primary mb-4 hover:underline", part: this.isExpanded ? 'show-less-button' : 'show-more-button' }, this.bindings.i18n.t(this.isExpanded ? 'show-less' : 'show-more'), h("atomic-icon", { icon: ArrowDown, class: "ml-2 w-3 align-baseline" })));
57
57
  }
58
58
  render() {
59
- return (h(Host, { key: 'f54077986855f352d54274719926b720d67666f4', class: this.fullHeight || !this.shouldRenderButton
59
+ return (h(Host, { key: 'e7e07c36fcb394b85cca875ba778ed0040cd34c6', class: this.fullHeight || !this.shouldRenderButton
60
60
  ? this.isExpanded
61
61
  ? 'expanded'
62
62
  : ''
63
- : 'invisible' }, h("div", { key: '50da7008c14259a00157127af608164375ac6fee', part: "smart-snippet-collapse-wrapper", class: "block overflow-hidden" }, h("slot", { key: 'c6e9c1299180b61315c6727ff44f594b55d73843' })), this.shouldRenderButton && this.renderButton()));
63
+ : 'invisible' }, h("div", { key: 'b91217dc798f3bad5041f6518ee4de6338dd77cf', part: "smart-snippet-collapse-wrapper", class: "block overflow-hidden" }, h("slot", { key: 'fe7073c94e352af68dafd1141d7c55ac3cf9a0ab' })), this.shouldRenderButton && this.renderButton()));
64
64
  }
65
65
  get host() { return this; }
66
66
  static get style() { return AtomicSmartSnippetCollapseWrapperStyle0; }
@@ -87,7 +87,7 @@ const AtomicSmartSnippetExpandableAnswer = /*@__PURE__*/ proxyCustomElement(clas
87
87
  return (h("button", { onClick: () => this.isExpanded ? this.collapse.emit() : this.expand.emit(), class: "text-primary mb-4 hover:underline", part: this.isExpanded ? 'show-less-button' : 'show-more-button' }, this.bindings.i18n.t(this.isExpanded ? 'show-less' : 'show-more'), h("atomic-icon", { icon: ArrowDown, class: "ml-2 w-3 align-baseline" })));
88
88
  }
89
89
  render() {
90
- return (h("div", { key: '19443f9310f0a6705f7f55eb74f7383ae7ff98bf', class: this.isExpanded ? 'expanded' : '' }, this.renderAnswer(), this.renderButton()));
90
+ return (h("div", { key: '429c0365f32c8bec74fb304441ac201c2968d32b', class: this.isExpanded ? 'expanded' : '' }, this.renderAnswer(), this.renderButton()));
91
91
  }
92
92
  get host() { return this; }
93
93
  static get watchers() { return {
@@ -43,9 +43,9 @@ const AtomicSmartSnippetFeedbackModal = /*@__PURE__*/ proxyCustomElement(class A
43
43
  }
44
44
  render() {
45
45
  updateBreakpoints(this.host);
46
- return (h("atomic-modal", { key: '9915bc71b6329068bc8a3731971a793946762f39', fullscreen: false, source: this.source, container: this.host, isOpen: this.isOpen, close: () => this.close(), exportparts: ATOMIC_MODAL_EXPORT_PARTS }, h(SmartSnippetFeedbackModalHeader, { key: '385350607264cd3a0dce273b18eec02909220384', i18n: this.bindings.i18n }), h(SmartSnippetFeedbackModalBody, { key: 'e1a01e0df35dbaf9da6891c825ad5e5e1e6bc534', formId: this.formId, onSubmit: (e) => this.sendFeedback(e) }, h(SmartSnippetFeebackModalOptions, { key: 'd92a6395c26802cfafbcbd50fb1b2cd86bb907de', i18n: this.bindings.i18n }, smartSnippetFeedbackOptions.map(({ id, localeKey, correspondingAnswer }) => (h(SmartSnippetFeedbackModalOption, { correspondingAnswer: correspondingAnswer, currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, id: id, localeKey: localeKey, onChange: () => {
46
+ return (h("atomic-modal", { key: 'e859100c1a2aa70056f471123e6363953a8c978f', fullscreen: false, source: this.source, container: this.host, isOpen: this.isOpen, close: () => this.close(), exportparts: ATOMIC_MODAL_EXPORT_PARTS }, h(SmartSnippetFeedbackModalHeader, { key: '6f154e3e306f5fe14e724a7cc1124581c4ad50db', i18n: this.bindings.i18n }), h(SmartSnippetFeedbackModalBody, { key: '0c7aa2809a41f9725324d19d93a121e30995c322', formId: this.formId, onSubmit: (e) => this.sendFeedback(e) }, h(SmartSnippetFeebackModalOptions, { key: '7ea41f9ade73d9e28909ea5eb4d29fa277d6b762', i18n: this.bindings.i18n }, smartSnippetFeedbackOptions.map(({ id, localeKey, correspondingAnswer }) => (h(SmartSnippetFeedbackModalOption, { correspondingAnswer: correspondingAnswer, currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, id: id, localeKey: localeKey, onChange: () => {
47
47
  this.currentAnswer = correspondingAnswer;
48
- } })))), h(SmartSnippetFeedbackModalDetails, { key: '6dfe87c931bc44d202d78c5a800936aa733b89de', currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, setDetailsInputRef: (ref) => (this.detailsInputRef = ref) })), h(SmartSnippetFeedbackModalFooter, { key: '86f51c71ade3a7e360ce5c000e45939e8744ade4', formId: this.formId, i18n: this.bindings.i18n, onClick: () => this.close() })));
48
+ } })))), h(SmartSnippetFeedbackModalDetails, { key: 'bb2bcce38f8b554e24df782edfc3bbfd2b997588', currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, setDetailsInputRef: (ref) => (this.detailsInputRef = ref) })), h(SmartSnippetFeedbackModalFooter, { key: '2803172d081d52cda72b8c22b2a3b206d3b7cb23', formId: this.formId, i18n: this.bindings.i18n, onClick: () => this.close() })));
49
49
  }
50
50
  close() {
51
51
  this.isOpen = false;
@@ -33,7 +33,7 @@ const AtomicSmartSnippetSource = /*@__PURE__*/ proxyCustomElement(class AtomicSm
33
33
  }
34
34
  }
35
35
  render() {
36
- return (h(Host, { key: '01141ee8feb5120848bdd8932943a34c4cc39314' }, h(LinkWithItemAnalytics, { key: '824f2a0b8166ff4f785c2c03e68e4a8e57f96df8', title: this.source.clickUri, href: this.source.clickUri, className: "block truncate", part: "source-url", attributes: this.anchorAttributes, onSelect: () => this.selectSource.emit(), onBeginDelayedSelect: () => this.beginDelayedSelectSource.emit(), onCancelPendingSelect: () => this.cancelPendingSelectSource.emit() }, this.source.clickUri), h(LinkWithItemAnalytics, { key: '509f68c6ccc999f50522cfc7c24e6ee90e0974f2', title: this.source.title, href: this.source.clickUri, attributes: this.anchorAttributes, className: "block", part: "source-title", onSelect: () => this.selectSource.emit(), onBeginDelayedSelect: () => this.beginDelayedSelectSource.emit(), onCancelPendingSelect: () => this.cancelPendingSelectSource.emit() }, h("atomic-result-text", { field: "title", default: "no-title", key: this.source.uniqueId }))));
36
+ return (h(Host, { key: '59e4530510fba9cd6a01049619dac8ed298d2ad0' }, h(LinkWithItemAnalytics, { key: '543fe4d96b6653157f1e62e069b45b0b25d586f7', title: this.source.clickUri, href: this.source.clickUri, className: "block truncate", part: "source-url", attributes: this.anchorAttributes, onSelect: () => this.selectSource.emit(), onBeginDelayedSelect: () => this.beginDelayedSelectSource.emit(), onCancelPendingSelect: () => this.cancelPendingSelectSource.emit() }, this.source.clickUri), h(LinkWithItemAnalytics, { key: 'd306acd763bc7e5540196848317a365aed1fa3d8', title: this.source.title, href: this.source.clickUri, attributes: this.anchorAttributes, className: "block", part: "source-title", onSelect: () => this.selectSource.emit(), onBeginDelayedSelect: () => this.beginDelayedSelectSource.emit(), onCancelPendingSelect: () => this.cancelPendingSelectSource.emit() }, h("atomic-result-text", { field: "title", default: "no-title", key: this.source.uniqueId }))));
37
37
  }
38
38
  }, [0, "atomic-smart-snippet-source", {
39
39
  "source": [1040],
@@ -117,8 +117,8 @@ const AtomicSortDropdown$1 = /*@__PURE__*/ proxyCustomElement(class AtomicSortDr
117
117
  const { hasError, hasResults, firstSearchExecuted } = this.searchStatusState;
118
118
  const { bindings: { i18n }, id, } = this;
119
119
  return [
120
- h(SortGuard, { key: '0669c3a8c7067eef9ba5c178a5f4d12752f8b085', firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: hasResults }, h(SortContainer, { key: '6eb9cc11bb18013dfd384b809e6e72d2177cbe60' }, h(SortLabel, { key: '4573530fcd7c614b7ed1d3dbb8f4ad5617477ee3', i18n: i18n, id: id }), h(SortSelect, { key: 'a5ee4b55058679c63fb628337c33d1db192cf481', i18n: i18n, id: id, onSelect: (evt) => this.select(evt) }, this.options.map(({ label, criteria, expression }) => (h(SortOption, { i18n: i18n, label: label, selected: this.sort.isSortedBy(criteria), value: expression })))))),
121
- h("slot", { key: '39a0d6e53adfe877b5f677d4cf9b0ff9177f84e8' }),
120
+ h(SortGuard, { key: 'de3cefc2f8ba7dacb299dd569ca97d4d93a54249', firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: hasResults }, h(SortContainer, { key: '5a7296ed5a7f379509399ef260a344210c17ff34' }, h(SortLabel, { key: '1448eb9996a0b6a2df55f9ce880cd54c3312640d', i18n: i18n, id: id }), h(SortSelect, { key: '273f27873cfb73092eb7d98ef742536f3bb5fac5', i18n: i18n, id: id, onSelect: (evt) => this.select(evt) }, this.options.map(({ label, criteria, expression }) => (h(SortOption, { i18n: i18n, label: label, selected: this.sort.isSortedBy(criteria), value: expression })))))),
121
+ h("slot", { key: 'd1058cd5f4e28bca8816e6987ec2f3a72b2d4825' }),
122
122
  ];
123
123
  }
124
124
  get host() { return this; }
@@ -47,7 +47,7 @@ const AtomicSortExpression$1 = /*@__PURE__*/ proxyCustomElement(class AtomicSort
47
47
  const dropdownComponent = 'atomic-sort-dropdown';
48
48
  if (!this.host.closest(dropdownComponent)) {
49
49
  const error = new Error(`The "${this.host.nodeName.toLowerCase()}" component has to be used inside an ${dropdownComponent} element.`);
50
- return (h("atomic-component-error", { key: '4e946fe770ef49fc6346f0bc247db856fd38ba68', element: this.host, error: error }));
50
+ return (h("atomic-component-error", { key: 'c0181fed2562ac8d51cba8d9a2395ab3fc431295', element: this.host, error: error }));
51
51
  }
52
52
  }
53
53
  get host() { return this; }
@@ -66,13 +66,13 @@ const FacetDateInput = /*@__PURE__*/ proxyCustomElement(class FacetDateInput ext
66
66
  // Fallback for Safari < 14.1, date with format yyyy-mm-dd over 1400 (API limit)
67
67
  const pattern = '^(1[4-9]\\d{2}|2\\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$';
68
68
  const range = this.rangeGetter();
69
- return (h("form", { key: '60acc60ec8b30e3eaa4d0e2e1426732925ff352c', class: "mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2", onSubmit: (e) => {
69
+ return (h("form", { key: 'a9115a4868e39afbdb588fa0f3454d02308e36f5', class: "mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2", onSubmit: (e) => {
70
70
  e.preventDefault();
71
71
  this.apply();
72
72
  return false;
73
- } }, h("label", { key: 'a43bd6b7f3ae352a7592e9de3390e5b8e180cb29', part: "input-label", class: labelClasses, htmlFor: `${this.facetId}_start` }, startLabel, ":"), h("input", { key: '7908bdd17fb8d035d2b75ab02417b13cd1516bd2', id: `${this.facetId}_start`, part: "input-start", type: "date", ref: (ref) => (this.startRef = ref), class: inputClasses, "aria-label": startAria, placeholder: placeholder, pattern: pattern, required: true,
73
+ } }, h("label", { key: '4d3bcb4549ba5cd003d5284831001830e3ac272f', part: "input-label", class: labelClasses, htmlFor: `${this.facetId}_start` }, startLabel, ":"), h("input", { key: '98cc6ca7a7a9a33f777998806259d3a9fa495bb1', id: `${this.facetId}_start`, part: "input-start", type: "date", ref: (ref) => (this.startRef = ref), class: inputClasses, "aria-label": startAria, placeholder: placeholder, pattern: pattern, required: true,
74
74
  // API/Index minimum supported date
75
- min: this.min || this.formattedDateValue('1401-01-01'), max: this.end ? this.formattedDateValue(this.end) : this.max, value: this.formattedDateValue(range?.start), onInput: (e) => (this.start = parseDate(e.target.value).toDate()) }), h("label", { key: 'd5d35be72e99ae7488fae004a61682d597ab7d7f', part: "input-label", class: labelClasses, htmlFor: `${this.facetId}_end` }, endLabel, ":"), h("input", { key: 'b6b30c327c78cecef22c0b6eeec8cbf29b1d711a', id: `${this.facetId}_end`, part: "input-end", type: "date", ref: (ref) => (this.endRef = ref), class: inputClasses, "aria-label": endAria, placeholder: placeholder, pattern: pattern, required: true, min: this.formattedDateValue(this.start) || this.min, max: this.max, value: this.formattedDateValue(range?.end), onInput: (e) => (this.end = parseDate(e.target.value).toDate()) }), h(Button, { key: 'd0b34163e43a90cf982155bf7eeb315212c9e1d2', style: "outline-primary", type: "submit", part: "input-apply-button", class: "col-span-2 truncate p-2.5", ariaLabel: applyAria, text: apply })));
75
+ min: this.min || this.formattedDateValue('1401-01-01'), max: this.end ? this.formattedDateValue(this.end) : this.max, value: this.formattedDateValue(range?.start), onInput: (e) => (this.start = parseDate(e.target.value).toDate()) }), h("label", { key: 'fee1acc37402670ca45818b9a5da6062ed0b4218', part: "input-label", class: labelClasses, htmlFor: `${this.facetId}_end` }, endLabel, ":"), h("input", { key: 'cc3dd617c4d0fb7f8dbb2573bdcc30762aded812', id: `${this.facetId}_end`, part: "input-end", type: "date", ref: (ref) => (this.endRef = ref), class: inputClasses, "aria-label": endAria, placeholder: placeholder, pattern: pattern, required: true, min: this.formattedDateValue(this.start) || this.min, max: this.max, value: this.formattedDateValue(range?.end), onInput: (e) => (this.end = parseDate(e.target.value).toDate()) }), h(Button, { key: 'd5e7426fc8fa1594c533a96f96faa07fce2e2d95', style: "outline-primary", type: "submit", part: "input-apply-button", class: "col-span-2 truncate p-2.5", ariaLabel: applyAria, text: apply })));
76
76
  }
77
77
  }, [0, "atomic-stencil-facet-date-input", {
78
78
  "bindings": [16],
@@ -80,7 +80,7 @@ const AtomicSuggestionRenderer = /*@__PURE__*/ proxyCustomElement(class AtomicSu
80
80
  }
81
81
  render() {
82
82
  const isButton = !!(this.suggestion.onSelect || this.suggestion.query);
83
- return (h(Host, { key: 'c332ae13efeac08cbbad4bdb4d86f15f3400ea60', class: "contents" }, isButton ? (h("button", { id: this.id, key: this.suggestion.key, part: this.parts, class: this.classes, onMouseDown: (e) => e.preventDefault(), onClick: (e) => this.onClick?.(e), onMouseOver: (e) => this.onMouseOver?.(e), "data-query": this.suggestion.query, "aria-label": this.ariaLabel(isButton), ref: (el) => {
83
+ return (h(Host, { key: 'a9f2b556d76e7ff77bcf7e6288191b14ce33fd21', class: "contents" }, isButton ? (h("button", { id: this.id, key: this.suggestion.key, part: this.parts, class: this.classes, onMouseDown: (e) => e.preventDefault(), onClick: (e) => this.onClick?.(e), onMouseOver: (e) => this.onMouseOver?.(e), "data-query": this.suggestion.query, "aria-label": this.ariaLabel(isButton), ref: (el) => {
84
84
  if (!el) {
85
85
  return;
86
86
  }
@@ -59,7 +59,7 @@ const AtomicTabManager$1 = /*@__PURE__*/ proxyCustomElement(class AtomicTabManag
59
59
  });
60
60
  }
61
61
  render() {
62
- return (h(Host, { key: 'ea60f4179a268319ba97570f95d6881c379c8b18' }, h("atomic-tab-bar", { key: 'ea83347d794b2f83b70706bdfc4240286c27d71e' }, h("div", { key: '9d9e588d7a4b7012f43419f3edae786b177498cc', role: "list", "aria-label": "tab-area", part: "tab-area", class: "border-neutral mb-2 flex w-full flex-row border-b" }, this.tabs.map((tab) => (h("atomic-tab-button", { active: this.tabManagerState.activeTab === tab.name, label: this.bindings.i18n.t(tab.label, {
62
+ return (h(Host, { key: 'abd272be633c8913b9c64f3b20d529373e7ca08c' }, h("atomic-tab-bar", { key: 'd21406c4e28a1a4fecd2986d97aa292f0cfd48a9' }, h("div", { key: '6a0375f62e5a178cec1737108984ac1e497370bd', role: "list", "aria-label": "tab-area", part: "tab-area", class: "border-neutral mb-2 flex w-full flex-row border-b" }, this.tabs.map((tab) => (h("atomic-tab-button", { active: this.tabManagerState.activeTab === tab.name, label: this.bindings.i18n.t(tab.label, {
63
63
  defaultValue: tab.label,
64
64
  }), select: () => {
65
65
  if (!tab.tabController.state.isActive) {
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { buildCommerceEngine, buildContext, buildProductListing, buildSearch, VERSION as HEADLESS_VERSION, loadConfigurationActions, loadQueryActions, } from '@coveo/headless/commerce';
7
+ import { buildCommerceEngine, buildContext, buildProductListing, buildSearch, VERSION as HEADLESS_VERSION, loadConfigurationActions, loadContextActions, loadQueryActions, } from '@coveo/headless/commerce';
8
8
  import { provide } from '@lit/context';
9
9
  import i18next from 'i18next';
10
10
  import { css, html, LitElement } from 'lit';
@@ -58,7 +58,7 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
58
58
  */
59
59
  this.reflectStateInUrl = true;
60
60
  /**
61
- * Whether to disable state reflection in the URL parameters.
61
+ * Disable state reflection in the URL parameters.
62
62
  */
63
63
  this.disableStateReflectionInUrl = false;
64
64
  /**
@@ -144,6 +144,41 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
144
144
  this.searchOrListing.executeFirstRequest();
145
145
  }
146
146
  }
147
+ /**
148
+ * Updates the locale settings for the commerce interface and headless commerce
149
+ * engine. Only the provided parameters will be updated.
150
+ *
151
+ * Calling this method affects the localization of the interface as well as
152
+ * the catalog configuration being used by the Commerce API. If the resulting
153
+ * language-country-currency combination matches no existing catalog
154
+ * configuration in your Coveo organization, requests made through the
155
+ * commerce engine will start failing.
156
+ *
157
+ * @param language - (Optional) The IETF language code tag (e.g., `en`).
158
+ * @param country - (Optional) The ISO-3166-1 country tag (e.g., `US`).
159
+ * @param currency - (Optional) The ISO-4217 currency code (e.g., `USD`).
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * interface.updateLocale('fr', 'CA', 'CAD');
164
+ * ```
165
+ */
166
+ updateLocale(language, country, currency) {
167
+ if (!this.interfaceController.engineIsCreated(this.engine) ||
168
+ !this.context) {
169
+ return;
170
+ }
171
+ language && this.interfaceController.onLanguageChange(language);
172
+ if (this.isNewLocale(language, country, currency)) {
173
+ const { setContext } = loadContextActions(this.engine);
174
+ this.engine.dispatch(setContext({
175
+ ...this.context.state,
176
+ ...(language && { language }),
177
+ ...(country && { country }),
178
+ ...(currency && { currency }),
179
+ }));
180
+ }
181
+ }
147
182
  toggleAnalytics() {
148
183
  this.interfaceController.onAnalyticsChange();
149
184
  }
@@ -157,11 +192,10 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
157
192
  !this.context) {
158
193
  return;
159
194
  }
160
- // TODO - KIT-4993: Add temporary deprecation warning.
195
+ this.engine.logger.warn('The `language` property will be removed in the next major version of Atomic (v4). Rather than using this property, set the initial language through the engine configuration when calling `initialize` or `initializeWithEngine`, and update the language as needed using the `updateLocale` method.');
161
196
  this.context.setLanguage(this.language);
162
197
  return this.interfaceController.onLanguageChange();
163
198
  }
164
- // TODO - KIT-4993: Add updateLocale public method.
165
199
  disconnectedCallback() {
166
200
  super.disconnectedCallback();
167
201
  if (typeof this.unsubscribeUrlManager === 'function') {
@@ -211,11 +245,11 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
211
245
  throw error;
212
246
  }
213
247
  }
214
- // TODO - KIT-4993: Adjust.
215
248
  initLanguage() {
216
- if (!this.language) {
217
- this.language = this.context.state.language;
249
+ if (!this.context || this.language) {
250
+ return;
218
251
  }
252
+ this.interfaceController.onLanguageChange(this.context.state.language);
219
253
  }
220
254
  initRequestStatus() {
221
255
  this.searchOrListing =
@@ -257,7 +291,7 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
257
291
  this.i18Initialized,
258
292
  ]);
259
293
  this.initContext();
260
- this.updateLanguage();
294
+ this.updateLanguage(); // TODO - (v4) KIT-4365: Remove.
261
295
  this.bindings = this.getBindings();
262
296
  markParentAsReady(this);
263
297
  this.initRequestStatus();
@@ -267,6 +301,14 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
267
301
  this.initUrlManager();
268
302
  this.initialized = true;
269
303
  }
304
+ isNewLocale(language, country, currency) {
305
+ if (!this.context) {
306
+ return false;
307
+ }
308
+ return ((language && language !== this.context.state.language) ||
309
+ (country && country !== this.context.state.country) ||
310
+ (currency && currency !== this.context.state.currency));
311
+ }
270
312
  // TODO - (v4) KIT-4991: Make private.
271
313
  scrollToTop() {
272
314
  const scrollContainerElement = document.querySelector(this.scrollContainer);
@@ -37,7 +37,7 @@ let AtomicCommerceQuerySummary = class AtomicCommerceQuerySummary extends LitEle
37
37
  this.listingOrSearchSummary = controller.summary();
38
38
  }
39
39
  render() {
40
- const { firstProduct, firstRequestExecuted, lastProduct, totalNumberOfProducts, hasProducts, hasError, } = this.listingOrSearchSummaryState;
40
+ const { firstProduct, firstRequestExecuted, lastProduct, totalNumberOfProducts, hasProducts, hasError, isLoading, } = this.listingOrSearchSummaryState;
41
41
  const { i18nKey, highlights, ariaLiveMessage } = getProductQuerySummaryI18nParameters({
42
42
  first: firstProduct,
43
43
  last: lastProduct,
@@ -46,7 +46,7 @@ let AtomicCommerceQuerySummary = class AtomicCommerceQuerySummary extends LitEle
46
46
  : '',
47
47
  total: totalNumberOfProducts,
48
48
  i18n: this.bindings.i18n,
49
- isLoading: false,
49
+ isLoading,
50
50
  });
51
51
  this.ariaMessage.message = ariaLiveMessage;
52
52
  return html `${renderQuerySummaryGuard({
@@ -50,6 +50,9 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
50
50
  *
51
51
  */
52
52
  this.iconAssetsPath = './assets';
53
+ // TODO - KIT-4994: Add disableAnalytics property that defaults to false.
54
+ // TODO - KIT-4994: Deprecate in favor of disableAnalytics property.
55
+ // TODO - (v4) KIT-4990: Remove.
53
56
  /**
54
57
  * Whether to enable analytics.
55
58
  */
@@ -104,13 +107,15 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
104
107
  return;
105
108
  }
106
109
  language && this.interfaceController.onLanguageChange(language);
107
- const { setContext } = loadContextActions(this.engine);
108
- this.engine.dispatch(setContext({
109
- ...this.context.state,
110
- ...(language && { language }),
111
- ...(country && { country }),
112
- ...(currency && { currency }),
113
- }));
110
+ if (this.isNewLocale(language, country, currency)) {
111
+ const { setContext } = loadContextActions(this.engine);
112
+ this.engine.dispatch(setContext({
113
+ ...this.context.state,
114
+ ...(language && { language }),
115
+ ...(country && { country }),
116
+ ...(currency && { currency }),
117
+ }));
118
+ }
114
119
  }
115
120
  toggleAnalytics() {
116
121
  this.interfaceController.onAnalyticsChange();
@@ -118,6 +123,7 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
118
123
  updateIconAssetsPath() {
119
124
  this.store.state.iconAssetsPath = this.iconAssetsPath;
120
125
  }
126
+ // TODO - (v4) KIT-4365: Remove.
121
127
  async updateLanguage() {
122
128
  if (!this.interfaceController.engineIsCreated(this.engine) ||
123
129
  !this.language ||
@@ -150,7 +156,7 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
150
156
  this.i18Initialized,
151
157
  ]);
152
158
  this.initContext();
153
- this.language && this.updateLanguage();
159
+ this.updateLanguage();
154
160
  this.bindings = this.getBindings();
155
161
  markParentAsReady(this);
156
162
  this.initLanguage();
@@ -167,9 +173,18 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
167
173
  };
168
174
  }
169
175
  initLanguage() {
170
- if (!this.language) {
171
- this.interfaceController.onLanguageChange(this.context.state.language);
176
+ if (!this.context || this.language) {
177
+ return;
178
+ }
179
+ this.interfaceController.onLanguageChange(this.context.state.language);
180
+ }
181
+ isNewLocale(language, country, currency) {
182
+ if (!this.context) {
183
+ return false;
172
184
  }
185
+ return ((language && language !== this.context.state.language) ||
186
+ (country && country !== this.context.state.country) ||
187
+ (currency && currency !== this.context.state.currency));
173
188
  }
174
189
  };
175
190
  AtomicCommerceRecommendationInterface.styles = [
@@ -20,7 +20,6 @@ import { AriaLiveRegionController } from "../../../utils/accessibility-utils";
20
20
  import { hasKeyboard, isMacOS } from "../../../utils/device-utils";
21
21
  import { SafeStorage, StorageItems, } from "../../../utils/local-storage-utils";
22
22
  import { updateBreakpoints } from "../../../utils/replace-breakpoint-utils";
23
- import { getDefaultSlotFromHost } from "../../../utils/slot-utils";
24
23
  import { isFocusingOut, once, randomID, spreadProperties, } from '../../../utils/utils';
25
24
  import { renderSearchBoxWrapper } from '../../common/search-box/search-box-wrapper';
26
25
  import { renderSearchBoxTextArea } from '../../common/search-box/search-text-area';
@@ -124,6 +123,9 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
124
123
  }
125
124
  connectedCallback() {
126
125
  super.connectedCallback();
126
+ if (this.children.length === 0) {
127
+ this.replaceChildren(document.createElement('atomic-commerce-search-box-recent-queries'), document.createElement('atomic-commerce-search-box-query-suggestions'));
128
+ }
127
129
  this.addEventListener('atomic/searchBoxSuggestion/register', (event) => {
128
130
  const customEvent = event;
129
131
  this.searchBoxSuggestionEventsQueue.push(customEvent);
@@ -490,14 +492,6 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
490
492
  ></atomic-suggestion-renderer>
491
493
  `;
492
494
  }
493
- renderSlotContent() {
494
- const hasDefaultSlot = !!getDefaultSlotFromHost(this);
495
- if (hasDefaultSlot) {
496
- return html `<slot></slot>`;
497
- }
498
- return html `<atomic-commerce-search-box-recent-queries></atomic-commerce-search-box-recent-queries>
499
- <atomic-commerce-search-box-query-suggestions></atomic-commerce-search-box-query-suggestions>`;
500
- }
501
495
  render() {
502
496
  this.updateBreakpoints();
503
497
  if (!this.suggestionManager.suggestions.length) {
@@ -517,7 +511,7 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
517
511
  },
518
512
  },
519
513
  })(html `${this.renderTextBox()}
520
- ${renderSubmitButton({
514
+ ${renderSubmitButton({
521
515
  props: {
522
516
  i18n: this.bindings.i18n,
523
517
  disabled: this.isSearchDisabledForEndUser,
@@ -527,8 +521,7 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
527
521
  },
528
522
  },
529
523
  })}
530
- ${this.renderSuggestions()}`)}
531
- ${this.renderSlotContent()}
524
+ ${this.renderSuggestions()}`)}
532
525
  `;
533
526
  }
534
527
  };
@@ -4,13 +4,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { LitElement } from 'lit';
7
+ import { LitElement, unsafeCSS } from 'lit';
8
8
  import { customElement, property, state } from 'lit/decorators.js';
9
- import { LayoutStylesController } from "../../common/layout/layout-styles-controller";
10
- import { watch } from "../../../decorators/watch";
11
9
  import { ChildrenUpdateCompleteMixin } from "../../../mixins/children-update-complete-mixin";
12
10
  import { LightDomMixin } from "../../../mixins/light-dom";
13
- import { DEFAULT_MOBILE_BREAKPOINT } from "../../../utils/replace-breakpoint-utils";
11
+ import { randomID } from "../../../utils/utils";
12
+ import { DEFAULT_MOBILE_BREAKPOINT } from '../../../utils/replace-breakpoint-utils';
14
13
  import styles from './atomic-search-layout.tw.css';
15
14
  import { buildSearchLayout } from './search-layout';
16
15
  /**
@@ -28,22 +27,15 @@ let AtomicSearchLayout = class AtomicSearchLayout extends LightDomMixin(Children
28
27
  * E.g., 800px, 65rem.
29
28
  */
30
29
  this.mobileBreakpoint = DEFAULT_MOBILE_BREAKPOINT;
31
- this.layoutStylesController = new LayoutStylesController(this, buildSearchLayout, 'atomic-search-layout-');
30
+ }
31
+ async addStyles() {
32
+ await this.getUpdateComplete();
33
+ this.injectStyles(unsafeCSS(buildSearchLayout(this, this.mobileBreakpoint)));
32
34
  }
33
35
  connectedCallback() {
34
36
  super.connectedCallback();
35
- this.emitBreakpointChangeEvent();
36
- }
37
- emitBreakpointChangeEvent() {
38
- this.dispatchEvent(new CustomEvent('atomic-layout-breakpoint-change', {
39
- detail: { breakpoint: this.mobileBreakpoint },
40
- bubbles: true,
41
- composed: true,
42
- }));
43
- }
44
- onMobileBreakpointChange() {
45
- this.layoutStylesController.updateStyles();
46
- this.emitBreakpointChangeEvent();
37
+ this.id = randomID('atomic-search-layout-');
38
+ this.addStyles();
47
39
  }
48
40
  };
49
41
  AtomicSearchLayout.styles = [styles];
@@ -53,9 +45,6 @@ __decorate([
53
45
  __decorate([
54
46
  property({ type: String, reflect: true, attribute: 'mobile-breakpoint' })
55
47
  ], AtomicSearchLayout.prototype, "mobileBreakpoint", void 0);
56
- __decorate([
57
- watch('mobileBreakpoint')
58
- ], AtomicSearchLayout.prototype, "onMobileBreakpointChange", null);
59
48
  AtomicSearchLayout = __decorate([
60
49
  customElement('atomic-search-layout')
61
50
  ], AtomicSearchLayout);
@@ -1,5 +1,4 @@
1
1
  // Auto-generated file
2
2
  export { AtomicQuerySummary } from './atomic-query-summary/atomic-query-summary.js';
3
3
  export { AtomicResultsPerPage } from './atomic-results-per-page/atomic-results-per-page.js';
4
- export { AtomicSearchInterface } from './atomic-search-interface/atomic-search-interface.js';
5
4
  export { AtomicSearchLayout } from './atomic-search-layout/atomic-search-layout.js';
@@ -2,6 +2,5 @@
2
2
  export default {
3
3
  'atomic-query-summary': async () => await import('./atomic-query-summary/atomic-query-summary.js'),
4
4
  'atomic-results-per-page': async () => await import('./atomic-results-per-page/atomic-results-per-page.js'),
5
- 'atomic-search-interface': async () => await import('./atomic-search-interface/atomic-search-interface.js'),
6
5
  'atomic-search-layout': async () => await import('./atomic-search-layout/atomic-search-layout.js'),
7
6
  };
@@ -42,11 +42,11 @@ const FacetNumberInput = /*@__PURE__*/ proxyCustomElement(class FacetNumberInput
42
42
  const inputClasses = 'p-2.5 input-primary placeholder-neutral-dark min-w-0 mr-1';
43
43
  const labelClasses = 'text-neutral-dark text-sm';
44
44
  const step = this.type === 'integer' ? '1' : 'any';
45
- return (h("form", { key: '3afc8c27aad7fc2f3f280a8e5305dfdbc5291f74', class: "mt-4 gap-y-0.5 px-2", part: "input-form", onSubmit: (e) => {
45
+ return (h("form", { key: '085a1d3beb08ea5fb4af741c2856060ddfe21cb0', class: "mt-4 gap-y-0.5 px-2", part: "input-form", onSubmit: (e) => {
46
46
  e.preventDefault();
47
47
  this.apply();
48
48
  return false;
49
- } }, h("label", { key: '9749444397b017e575f1cbc598ef8d4e440dc8b0', part: "label-start", class: labelClasses, htmlFor: `${this.filterState.facetId}_start` }, minText), h("input", { key: '94b1e3e64ec6ef14aff52ecf8e18c52bc987c7a7', part: "input-start", id: `${this.filterState.facetId}_start`, type: "number", step: step, ref: (ref) => (this.startRef = ref), class: inputClasses, "aria-label": minAria, required: true, min: Number.MIN_SAFE_INTEGER, max: this.end, value: this.filterState.range?.start, onInput: (e) => (this.start = e.target.valueAsNumber) }), h("label", { key: '89da4fb4747fb9d0cba5251dd3972677867301de', part: "label-end", class: labelClasses, htmlFor: `${this.filterState.facetId}_end` }, maxText), h("input", { key: '17813e5183986382376d765716ed60bff74de98c', part: "input-end", id: `${this.filterState.facetId}_end`, type: "number", step: step, ref: (ref) => (this.endRef = ref), class: inputClasses, "aria-label": maxAria, required: true, min: this.start, max: Number.MAX_SAFE_INTEGER, value: this.filterState.range?.end, onInput: (e) => (this.end = e.target.valueAsNumber) }), h(Button, { key: 'a98a7d0b356bb5c3eeec2512d96fd5bedc3605a6', style: "outline-primary", type: "submit", part: "input-apply-button", class: "flex-none truncate p-2.5", ariaLabel: applyAria, text: apply })));
49
+ } }, h("label", { key: 'e512e8ba8a9c50fdeea5e4aa28839a6a45c33315', part: "label-start", class: labelClasses, htmlFor: `${this.filterState.facetId}_start` }, minText), h("input", { key: '9573f0e91f52b4be8a8125be85547ee90258e27c', part: "input-start", id: `${this.filterState.facetId}_start`, type: "number", step: step, ref: (ref) => (this.startRef = ref), class: inputClasses, "aria-label": minAria, required: true, min: Number.MIN_SAFE_INTEGER, max: this.end, value: this.filterState.range?.start, onInput: (e) => (this.start = e.target.valueAsNumber) }), h("label", { key: 'db739b28b33e3d480a056e8e86266167d72c619f', part: "label-end", class: labelClasses, htmlFor: `${this.filterState.facetId}_end` }, maxText), h("input", { key: 'ac9b23ed6dfd74a5b8d17dd267dc1e4980ec475b', part: "input-end", id: `${this.filterState.facetId}_end`, type: "number", step: step, ref: (ref) => (this.endRef = ref), class: inputClasses, "aria-label": maxAria, required: true, min: this.start, max: Number.MAX_SAFE_INTEGER, value: this.filterState.range?.end, onInput: (e) => (this.end = e.target.valueAsNumber) }), h(Button, { key: 'bda58c0d3de64935383484edeceadcd7c4576bd4', style: "outline-primary", type: "submit", part: "input-apply-button", class: "flex-none truncate p-2.5", ariaLabel: applyAria, text: apply })));
50
50
  }
51
51
  static get style() { return AtomicFacetNumberInputStyle0; }
52
52
  }, [0, "atomic-facet-number-input", {
@@ -3,7 +3,7 @@ function getWindow() {
3
3
  }
4
4
  export function getAtomicEnvironment(headlessVersion) {
5
5
  return {
6
- version: "3.33.8-pre.d407f6d205",
6
+ version: "3.33.8-pre.d48bdfc9a7",
7
7
  headlessVersion,
8
8
  };
9
9
  }