@coveo/atomic 3.33.8-pre.e3728c3548 → 3.33.8-pre.e427c1e54b

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 (523) 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 +3 -1
  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 +3 -4
  37. package/dist/atomic/components/atomic-insight-search-box.js.map +1 -1
  38. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  39. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  40. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  41. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  42. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  43. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  44. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  45. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  46. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
  47. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  48. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  49. package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
  50. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  51. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  52. package/dist/atomic/components/atomic-no-results.js +1 -1
  53. package/dist/atomic/components/atomic-numeric-facet.js +1 -2
  54. package/dist/atomic/components/atomic-numeric-facet.js.map +1 -1
  55. package/dist/atomic/components/atomic-pager.js +3 -3
  56. package/dist/atomic/components/atomic-query-error.js +1 -1
  57. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  58. package/dist/atomic/components/atomic-quickview.js +1 -1
  59. package/dist/atomic/components/atomic-recs-error.js +1 -1
  60. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  61. package/dist/atomic/components/atomic-recs-list.js +1 -1
  62. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  63. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  64. package/dist/atomic/components/atomic-relevance-inspector.js +1 -46
  65. package/dist/atomic/components/atomic-relevance-inspector.js.map +1 -1
  66. package/dist/atomic/components/atomic-relevance-inspector2.js +50 -0
  67. package/dist/atomic/components/atomic-relevance-inspector2.js.map +1 -0
  68. package/dist/atomic/components/atomic-result-children.js +1 -1
  69. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  70. package/dist/atomic/components/atomic-result-link.js +1 -1
  71. package/dist/atomic/components/atomic-result-list.js +1 -1
  72. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  73. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  74. package/dist/atomic/components/atomic-search-box-instant-results.js +2 -2
  75. package/dist/atomic/components/atomic-search-box-instant-results.js.map +1 -1
  76. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +2 -2
  77. package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +1 -1
  78. package/dist/atomic/components/atomic-search-box-recent-queries2.js +2 -2
  79. package/dist/atomic/components/atomic-search-box-recent-queries2.js.map +1 -1
  80. package/dist/atomic/components/atomic-search-box.js +16 -9
  81. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  82. package/dist/atomic/components/atomic-search-interface.d.ts +11 -0
  83. package/dist/atomic/components/atomic-search-interface.js +552 -0
  84. package/dist/atomic/components/atomic-search-interface.js.map +1 -0
  85. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  86. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  87. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  88. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  89. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  90. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  91. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  92. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  93. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  94. package/dist/atomic/components/atomic-suggestion-renderer2.js.map +1 -1
  95. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  96. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +1 -4
  97. package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +2 -2
  98. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +13 -6
  99. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.js +1 -1
  100. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions.js +1 -1
  101. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +1 -1
  102. package/dist/atomic/components/components/common/atomic-modal/atomic-modal.js +2 -0
  103. package/dist/atomic/components/components/common/layout/layout-styles-controller.js +1 -1
  104. package/dist/atomic/components/components/common/suggestions/suggestion-manager.js +1 -1
  105. package/dist/atomic/components/components/common/suggestions/{suggestions-common.js → suggestions-events.js} +16 -18
  106. package/dist/atomic/components/components/common/suggestions/suggestions-types.js +1 -0
  107. package/dist/atomic/components/components/common/suggestions/suggestions-utils.js +18 -0
  108. package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +9 -20
  109. package/dist/atomic/components/components/search/index.js +0 -1
  110. package/dist/atomic/components/components/search/lazy-index.js +0 -1
  111. package/dist/atomic/components/facet-number-input.js +2 -2
  112. package/dist/atomic/components/global/environment.js +1 -1
  113. package/dist/atomic/components/index.js.map +1 -1
  114. package/dist/atomic/components/stencil-query-suggestions.js.map +1 -1
  115. package/dist/atomic/components/stencil-suggestion-manager.js +20 -2
  116. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  117. package/dist/atomic/components/{suggestions-common.js → suggestions-events.js} +18 -20
  118. package/dist/atomic/components/suggestions-events.js.map +1 -0
  119. package/dist/atomic/components/tab-button.js +1 -1
  120. package/dist/atomic/components/tab-popover.js +1 -1
  121. package/dist/atomic/index.esm.js +1 -1
  122. package/dist/atomic/index.esm.js.map +1 -1
  123. package/dist/atomic/{p-41c5d5fa.entry.js → p-021f01d6.entry.js} +2 -2
  124. package/dist/atomic/{p-a3fa6695.entry.js → p-035f8dc8.entry.js} +2 -2
  125. package/dist/atomic/{p-33899ab5.entry.js → p-089be992.entry.js} +2 -2
  126. package/dist/atomic/{p-7dd3d72f.entry.js → p-09a3a067.entry.js} +2 -2
  127. package/dist/atomic/p-0a051b8d.js +2 -0
  128. package/dist/atomic/p-0a051b8d.js.map +1 -0
  129. package/dist/atomic/p-16f4ce98.js +2 -0
  130. package/dist/atomic/p-16f4ce98.js.map +1 -0
  131. package/dist/atomic/p-1992b245.entry.js +2 -0
  132. package/dist/atomic/{p-394c600f.entry.js → p-1d1f54a5.entry.js} +2 -2
  133. package/dist/atomic/{p-9d023f0b.entry.js → p-1ef658d8.entry.js} +2 -2
  134. package/dist/atomic/{p-10b5e0f3.entry.js → p-20341936.entry.js} +2 -2
  135. package/dist/atomic/{p-3db62800.entry.js → p-26a51a77.entry.js} +2 -2
  136. package/dist/atomic/p-26a51a77.entry.js.map +1 -0
  137. package/dist/atomic/{p-15406648.entry.js → p-2ca352f4.entry.js} +2 -2
  138. package/dist/atomic/{p-094b61d4.entry.js → p-2ce8220a.entry.js} +2 -2
  139. package/dist/atomic/{p-97e42c43.entry.js → p-31aa052e.entry.js} +2 -2
  140. package/dist/atomic/{p-7a6468a7.entry.js → p-36fab158.entry.js} +2 -2
  141. package/dist/atomic/{p-9727f36b.entry.js → p-37374964.entry.js} +2 -2
  142. package/dist/atomic/p-382fa499.entry.js +2 -0
  143. package/dist/atomic/p-382fa499.entry.js.map +1 -0
  144. package/dist/atomic/{p-7b1a3cab.entry.js → p-3a2c900c.entry.js} +2 -2
  145. package/dist/atomic/{p-f4780315.entry.js → p-3b023e83.entry.js} +2 -2
  146. package/dist/atomic/{p-0610b3e7.entry.js → p-3b20b011.entry.js} +2 -2
  147. package/dist/atomic/{p-c08f4ee6.entry.js → p-3f912e98.entry.js} +2 -2
  148. package/dist/atomic/{p-9e771351.entry.js → p-40635c2d.entry.js} +2 -2
  149. package/dist/atomic/{p-c9fe4f77.entry.js → p-43d708cb.entry.js} +2 -2
  150. package/dist/atomic/{p-3a7f1dd7.entry.js → p-45ee0f39.entry.js} +2 -2
  151. package/dist/atomic/{p-b0c50194.entry.js → p-48f57fd8.entry.js} +2 -2
  152. package/dist/atomic/{p-aed46103.entry.js → p-49c38b27.entry.js} +2 -2
  153. package/dist/atomic/p-4b7a19db.js +2 -0
  154. package/dist/atomic/p-4b7a19db.js.map +1 -0
  155. package/dist/atomic/{p-8bac9d25.entry.js → p-4c2f230f.entry.js} +2 -2
  156. package/dist/atomic/p-4c2f230f.entry.js.map +1 -0
  157. package/dist/atomic/{p-87c6c206.entry.js → p-534b6a0a.entry.js} +2 -2
  158. package/dist/atomic/{p-f0012580.entry.js → p-594488f2.entry.js} +2 -2
  159. package/dist/atomic/{p-a278ffde.entry.js → p-5f1fa581.entry.js} +2 -2
  160. package/dist/atomic/{p-8df7270f.entry.js → p-604c4085.entry.js} +2 -2
  161. package/dist/atomic/{p-d50c96c2.entry.js → p-627e1265.entry.js} +2 -2
  162. package/dist/atomic/{p-004adbb8.entry.js → p-6329ff94.entry.js} +2 -2
  163. package/dist/atomic/{p-e3af1bb4.entry.js → p-6e6d686e.entry.js} +2 -2
  164. package/dist/atomic/p-744da781.entry.js +2 -0
  165. package/dist/atomic/p-744da781.entry.js.map +1 -0
  166. package/dist/atomic/{p-e6a7e7b2.entry.js → p-7dfcd6af.entry.js} +2 -2
  167. package/dist/atomic/{p-3c823399.entry.js → p-7e2109e9.entry.js} +2 -2
  168. package/dist/atomic/{p-780170e5.entry.js → p-811d6dcb.entry.js} +2 -2
  169. package/dist/atomic/{p-9147b0db.entry.js → p-8256cd44.entry.js} +2 -2
  170. package/dist/atomic/{p-0e27d4f2.entry.js → p-83c9244a.entry.js} +2 -2
  171. package/dist/atomic/{p-867fd04d.entry.js → p-89085429.entry.js} +2 -2
  172. package/dist/atomic/{p-9349aa1a.entry.js → p-89ab44de.entry.js} +2 -2
  173. package/dist/atomic/{p-bd99fcc1.entry.js → p-939eaaac.entry.js} +2 -2
  174. package/dist/atomic/{p-9b92b4e2.entry.js → p-93e29b24.entry.js} +2 -2
  175. package/dist/atomic/{p-b6377fb6.entry.js → p-98c5b9b8.entry.js} +2 -2
  176. package/dist/atomic/{p-bf49fed3.entry.js → p-99b8d52d.entry.js} +2 -2
  177. package/dist/atomic/{p-45840906.entry.js → p-9c9b1965.entry.js} +2 -2
  178. package/dist/atomic/{p-160553ce.entry.js → p-a3efa89e.entry.js} +2 -2
  179. package/dist/atomic/{p-c538c8ac.entry.js → p-a53c7821.entry.js} +2 -2
  180. package/dist/atomic/{p-25eabe15.entry.js → p-a8882a2a.entry.js} +2 -2
  181. package/dist/atomic/{p-ce41c447.entry.js → p-ae060711.entry.js} +2 -2
  182. package/dist/atomic/p-af93b44c.js.map +1 -1
  183. package/dist/atomic/{p-b4c34553.entry.js → p-b0b17e21.entry.js} +2 -2
  184. package/dist/atomic/{p-e1c99e2e.entry.js → p-b2ff1330.entry.js} +2 -2
  185. package/dist/atomic/{p-4b4b2626.entry.js → p-b6963bae.entry.js} +2 -2
  186. package/dist/atomic/{p-9b241ca5.entry.js → p-b7063a0d.entry.js} +2 -2
  187. package/dist/atomic/{p-9b241ca5.entry.js.map → p-b7063a0d.entry.js.map} +1 -1
  188. package/dist/atomic/{p-dee60597.entry.js → p-bc0d6d3d.entry.js} +2 -2
  189. package/dist/atomic/{p-0e5dc57f.entry.js → p-c126ee6b.entry.js} +2 -2
  190. package/dist/atomic/{p-754909fe.entry.js → p-c1999888.entry.js} +2 -2
  191. package/dist/atomic/{p-1656f59a.entry.js → p-cc1eac99.entry.js} +2 -2
  192. package/dist/atomic/{p-a37fae7c.entry.js → p-d0f47b33.entry.js} +2 -2
  193. package/dist/atomic/p-d0f47b33.entry.js.map +1 -0
  194. package/dist/atomic/p-d24d34a7.entry.js +2 -0
  195. package/dist/atomic/{p-7f40e57d.entry.js → p-d364064c.entry.js} +2 -2
  196. package/dist/atomic/{p-856e858c.entry.js → p-d785121d.entry.js} +2 -2
  197. package/dist/atomic/{p-7d63bf7b.entry.js → p-d93adf52.entry.js} +2 -2
  198. package/dist/atomic/{p-2a4e9425.entry.js → p-de066001.entry.js} +2 -2
  199. package/dist/atomic/{p-8a7a23b7.entry.js → p-e162805d.entry.js} +2 -2
  200. package/dist/atomic/{p-441b1a7b.entry.js → p-e23b3334.entry.js} +2 -2
  201. package/dist/atomic/p-e2afb475.entry.js +2 -0
  202. package/dist/atomic/{p-bd32625e.entry.js → p-ea446721.entry.js} +2 -2
  203. package/dist/atomic/{p-07b6424c.entry.js → p-ee6771f1.entry.js} +2 -2
  204. package/dist/atomic/{p-abb14108.entry.js → p-f0c2dfe8.entry.js} +2 -2
  205. package/dist/atomic/{p-c23a07f5.entry.js → p-f289269f.entry.js} +2 -2
  206. package/dist/atomic/{p-d4ad7336.entry.js → p-fa8b7c4c.entry.js} +2 -2
  207. package/dist/atomic/{p-ef556803.js → p-fb8319df.js} +2 -2
  208. package/dist/atomic/{p-1c6f7489.entry.js → p-fbfe913d.entry.js} +2 -2
  209. package/dist/atomic/p-fbfe913d.entry.js.map +1 -0
  210. package/dist/atomic/p-fcf3f7d7.entry.js +2 -0
  211. package/dist/atomic/{p-6de44060.entry.js.map → p-fcf3f7d7.entry.js.map} +1 -1
  212. package/dist/atomic/{p-80683e4c.entry.js → p-fda26113.entry.js} +2 -2
  213. package/dist/atomic/{p-f936f55e.entry.js → p-fea7bf3b.entry.js} +2 -2
  214. package/dist/cjs/_index.cjs.js +5 -2
  215. package/dist/cjs/_loader.cjs.js +1 -1
  216. package/dist/cjs/{analytics-config-f89cfeca.js → analytics-config-beed9941.js} +2 -2
  217. package/dist/cjs/{analytics-config-f89cfeca.js.map → analytics-config-beed9941.js.map} +1 -1
  218. package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
  219. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  220. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  221. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
  222. package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
  223. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  224. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  225. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  226. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  227. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  228. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
  229. package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
  230. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  231. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  232. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
  233. package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
  234. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  235. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
  236. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
  237. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +1 -1
  238. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  239. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  240. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +1 -1
  241. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +1 -1
  242. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  243. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  244. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  245. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  246. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  247. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +5 -5
  248. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  249. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  250. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  251. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  252. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  253. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  254. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  255. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  256. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  257. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  258. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  259. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  260. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  261. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  262. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  263. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
  264. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -2
  265. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  266. package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
  267. package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
  268. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  269. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  270. package/dist/cjs/atomic-recs-error.cjs.entry.js +1 -1
  271. package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
  272. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  273. package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
  274. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
  275. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +2 -2
  276. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  277. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  278. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  279. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  280. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  281. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +3 -3
  282. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +1 -1
  283. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +5 -5
  284. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js.map +1 -1
  285. package/dist/cjs/atomic-search-box.cjs.entry.js +18 -10
  286. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  287. package/dist/cjs/atomic-search-interface.cjs.entry.js +511 -0
  288. package/dist/cjs/atomic-search-interface.cjs.entry.js.map +1 -0
  289. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  290. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  291. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  292. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  293. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  294. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +3 -3
  295. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  296. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js.map +1 -1
  297. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  298. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  299. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  300. package/dist/cjs/atomic.cjs.js +1 -1
  301. package/dist/cjs/index-757bc886.js +8 -4
  302. package/dist/cjs/index.cjs.js.map +1 -1
  303. package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +1 -1
  304. package/dist/cjs/{stencil-suggestion-manager-c0878ef2.js → stencil-suggestion-manager-2cba6d69.js} +4 -4
  305. package/dist/cjs/{stencil-suggestion-manager-c0878ef2.js.map → stencil-suggestion-manager-2cba6d69.js.map} +1 -1
  306. package/dist/cjs/{suggestions-common-5097a362.js → suggestions-events-63dd0640.js} +17 -21
  307. package/dist/cjs/suggestions-events-63dd0640.js.map +1 -0
  308. package/dist/cjs/suggestions-utils-61000808.js +25 -0
  309. package/dist/cjs/suggestions-utils-61000808.js.map +1 -0
  310. package/dist/cjs/version.cjs.js +2 -2
  311. package/dist/esm/_index.js +2 -1
  312. package/dist/esm/_loader.js +1 -1
  313. package/dist/esm/{analytics-config-80f5ac19.js → analytics-config-1f96f3a7.js} +2 -2
  314. package/dist/esm/{analytics-config-80f5ac19.js.map → analytics-config-1f96f3a7.js.map} +1 -1
  315. package/dist/esm/atomic-category-facet.entry.js +1 -1
  316. package/dist/esm/atomic-citation.entry.js +1 -1
  317. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  318. package/dist/esm/atomic-facet-number-input.entry.js +2 -2
  319. package/dist/esm/atomic-facet.entry.js +1 -1
  320. package/dist/esm/atomic-format-currency.entry.js +1 -1
  321. package/dist/esm/atomic-format-number.entry.js +1 -1
  322. package/dist/esm/atomic-format-unit.entry.js +1 -1
  323. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
  324. package/dist/esm/atomic-html.entry.js +1 -1
  325. package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
  326. package/dist/esm/atomic-insight-facet.entry.js +1 -1
  327. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  328. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  329. package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
  330. package/dist/esm/atomic-insight-interface.entry.js +2 -2
  331. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  332. package/dist/esm/atomic-insight-numeric-facet.entry.js +1 -1
  333. package/dist/esm/atomic-insight-pager.entry.js +3 -3
  334. package/dist/esm/atomic-insight-query-error.entry.js +1 -1
  335. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  336. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  337. package/dist/esm/atomic-insight-result-action.entry.js +1 -1
  338. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +1 -1
  339. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  340. package/dist/esm/atomic-insight-result-children.entry.js +1 -1
  341. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  342. package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
  343. package/dist/esm/atomic-insight-result.entry.js +1 -1
  344. package/dist/esm/atomic-insight-search-box.entry.js +4 -4
  345. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  346. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  347. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  348. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  349. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  350. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  351. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  352. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  353. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  354. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  355. package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
  356. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  357. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  358. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  359. package/dist/esm/atomic-load-more-results.entry.js +1 -1
  360. package/dist/esm/atomic-no-results.entry.js +1 -1
  361. package/dist/esm/atomic-numeric-facet.entry.js +1 -2
  362. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  363. package/dist/esm/atomic-pager.entry.js +3 -3
  364. package/dist/esm/atomic-query-error.entry.js +1 -1
  365. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  366. package/dist/esm/atomic-quickview.entry.js +1 -1
  367. package/dist/esm/atomic-recs-error.entry.js +1 -1
  368. package/dist/esm/atomic-recs-interface.entry.js +2 -2
  369. package/dist/esm/atomic-recs-list.entry.js +1 -1
  370. package/dist/esm/atomic-refine-modal.entry.js +1 -1
  371. package/dist/esm/atomic-refine-toggle.entry.js +1 -1
  372. package/dist/esm/atomic-relevance-inspector.entry.js +2 -2
  373. package/dist/esm/atomic-result-children.entry.js +1 -1
  374. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  375. package/dist/esm/atomic-result-link.entry.js +1 -1
  376. package/dist/esm/atomic-result-list.entry.js +1 -1
  377. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  378. package/dist/esm/atomic-search-box-instant-results.entry.js +2 -2
  379. package/dist/esm/atomic-search-box-instant-results.entry.js.map +1 -1
  380. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +3 -3
  381. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js.map +1 -1
  382. package/dist/esm/atomic-search-box.entry.js +17 -9
  383. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  384. package/dist/esm/atomic-search-interface.entry.js +507 -0
  385. package/dist/esm/atomic-search-interface.entry.js.map +1 -0
  386. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  387. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  388. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  389. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  390. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  391. package/dist/esm/atomic-stencil-facet-date-input.entry.js +3 -3
  392. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  393. package/dist/esm/atomic-suggestion-renderer.entry.js.map +1 -1
  394. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  395. package/dist/esm/atomic-tab-button.entry.js +1 -1
  396. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  397. package/dist/esm/atomic.js +1 -1
  398. package/dist/esm/index-3f35faca.js +8 -4
  399. package/dist/esm/index.js.map +1 -1
  400. package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +1 -1
  401. package/dist/esm/{stencil-suggestion-manager-486094dd.js → stencil-suggestion-manager-376f83e8.js} +2 -2
  402. package/dist/esm/{stencil-suggestion-manager-486094dd.js.map → stencil-suggestion-manager-376f83e8.js.map} +1 -1
  403. package/dist/esm/{suggestions-common-2b20db26.js → suggestions-events-b7a6f007.js} +18 -20
  404. package/dist/esm/suggestions-events-b7a6f007.js.map +1 -0
  405. package/dist/esm/suggestions-utils-591559a0.js +22 -0
  406. package/dist/esm/suggestions-utils-591559a0.js.map +1 -0
  407. package/dist/esm/version.js +2 -2
  408. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +1 -2
  409. package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +1 -2
  410. package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +1 -0
  411. package/dist/types/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.d.ts +1 -1
  412. package/dist/types/components/commerce/atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions.d.ts +1 -1
  413. package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +1 -1
  414. package/dist/types/components/common/atomic-suggestion-renderer/atomic-suggestion-renderer.d.ts +1 -1
  415. package/dist/types/components/common/suggestions/instant-item.d.ts +1 -1
  416. package/dist/types/components/common/suggestions/query-suggestions.d.ts +1 -1
  417. package/dist/types/components/common/suggestions/recent-queries.d.ts +1 -1
  418. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +1 -1
  419. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +1 -1
  420. package/dist/types/components/common/suggestions/stencil-recent-queries.d.ts +1 -1
  421. package/dist/types/components/common/suggestions/stencil-suggestion-manager.d.ts +1 -1
  422. package/dist/types/components/common/suggestions/suggestion-manager.d.ts +1 -1
  423. package/dist/types/components/common/suggestions/suggestions-events.d.ts +14 -0
  424. package/dist/types/components/common/suggestions/{suggestions-common.d.ts → suggestions-types.d.ts} +6 -16
  425. package/dist/types/components/common/suggestions/suggestions-utils.d.ts +15 -0
  426. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +2 -1
  427. package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +44 -47
  428. package/dist/types/components/search/atomic-search-interface/interfaces.d.ts +1 -2
  429. package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +1 -3
  430. package/dist/types/components/search/index.d.ts +0 -1
  431. package/dist/types/components/search/search-box-suggestions/atomic-search-box-instant-results/atomic-search-box-instant-results.d.ts +1 -1
  432. package/dist/types/components.d.ts +167 -4
  433. package/dist/types/decorators/types.d.ts +1 -1
  434. package/dist/types/index.d.ts +3 -1
  435. package/docs/atomic-docs.json +577 -14
  436. package/package.json +4 -4
  437. package/dist/atomic/components/components/search/atomic-search-interface/analytics-config.js +0 -57
  438. package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +0 -495
  439. package/dist/atomic/components/suggestions-common.js.map +0 -1
  440. package/dist/atomic/p-0edea6f9.entry.js +0 -2
  441. package/dist/atomic/p-1c6f7489.entry.js.map +0 -1
  442. package/dist/atomic/p-29fd6768.js +0 -2
  443. package/dist/atomic/p-29fd6768.js.map +0 -1
  444. package/dist/atomic/p-3db62800.entry.js.map +0 -1
  445. package/dist/atomic/p-6de44060.entry.js +0 -2
  446. package/dist/atomic/p-7601c3de.js +0 -2
  447. package/dist/atomic/p-7601c3de.js.map +0 -1
  448. package/dist/atomic/p-8bac9d25.entry.js.map +0 -1
  449. package/dist/atomic/p-97829295.entry.js +0 -2
  450. package/dist/atomic/p-a37fae7c.entry.js.map +0 -1
  451. package/dist/atomic/p-c2b4b401.entry.js +0 -2
  452. package/dist/atomic/p-fab8d5cb.entry.js +0 -2
  453. package/dist/atomic/p-fab8d5cb.entry.js.map +0 -1
  454. package/dist/cjs/suggestions-common-5097a362.js.map +0 -1
  455. package/dist/esm/suggestions-common-2b20db26.js.map +0 -1
  456. /package/dist/atomic/{p-41c5d5fa.entry.js.map → p-021f01d6.entry.js.map} +0 -0
  457. /package/dist/atomic/{p-a3fa6695.entry.js.map → p-035f8dc8.entry.js.map} +0 -0
  458. /package/dist/atomic/{p-33899ab5.entry.js.map → p-089be992.entry.js.map} +0 -0
  459. /package/dist/atomic/{p-7dd3d72f.entry.js.map → p-09a3a067.entry.js.map} +0 -0
  460. /package/dist/atomic/{p-0edea6f9.entry.js.map → p-1992b245.entry.js.map} +0 -0
  461. /package/dist/atomic/{p-394c600f.entry.js.map → p-1d1f54a5.entry.js.map} +0 -0
  462. /package/dist/atomic/{p-9d023f0b.entry.js.map → p-1ef658d8.entry.js.map} +0 -0
  463. /package/dist/atomic/{p-10b5e0f3.entry.js.map → p-20341936.entry.js.map} +0 -0
  464. /package/dist/atomic/{p-15406648.entry.js.map → p-2ca352f4.entry.js.map} +0 -0
  465. /package/dist/atomic/{p-094b61d4.entry.js.map → p-2ce8220a.entry.js.map} +0 -0
  466. /package/dist/atomic/{p-97e42c43.entry.js.map → p-31aa052e.entry.js.map} +0 -0
  467. /package/dist/atomic/{p-7a6468a7.entry.js.map → p-36fab158.entry.js.map} +0 -0
  468. /package/dist/atomic/{p-9727f36b.entry.js.map → p-37374964.entry.js.map} +0 -0
  469. /package/dist/atomic/{p-7b1a3cab.entry.js.map → p-3a2c900c.entry.js.map} +0 -0
  470. /package/dist/atomic/{p-f4780315.entry.js.map → p-3b023e83.entry.js.map} +0 -0
  471. /package/dist/atomic/{p-0610b3e7.entry.js.map → p-3b20b011.entry.js.map} +0 -0
  472. /package/dist/atomic/{p-c08f4ee6.entry.js.map → p-3f912e98.entry.js.map} +0 -0
  473. /package/dist/atomic/{p-9e771351.entry.js.map → p-40635c2d.entry.js.map} +0 -0
  474. /package/dist/atomic/{p-c9fe4f77.entry.js.map → p-43d708cb.entry.js.map} +0 -0
  475. /package/dist/atomic/{p-3a7f1dd7.entry.js.map → p-45ee0f39.entry.js.map} +0 -0
  476. /package/dist/atomic/{p-b0c50194.entry.js.map → p-48f57fd8.entry.js.map} +0 -0
  477. /package/dist/atomic/{p-aed46103.entry.js.map → p-49c38b27.entry.js.map} +0 -0
  478. /package/dist/atomic/{p-87c6c206.entry.js.map → p-534b6a0a.entry.js.map} +0 -0
  479. /package/dist/atomic/{p-f0012580.entry.js.map → p-594488f2.entry.js.map} +0 -0
  480. /package/dist/atomic/{p-a278ffde.entry.js.map → p-5f1fa581.entry.js.map} +0 -0
  481. /package/dist/atomic/{p-8df7270f.entry.js.map → p-604c4085.entry.js.map} +0 -0
  482. /package/dist/atomic/{p-d50c96c2.entry.js.map → p-627e1265.entry.js.map} +0 -0
  483. /package/dist/atomic/{p-004adbb8.entry.js.map → p-6329ff94.entry.js.map} +0 -0
  484. /package/dist/atomic/{p-e3af1bb4.entry.js.map → p-6e6d686e.entry.js.map} +0 -0
  485. /package/dist/atomic/{p-e6a7e7b2.entry.js.map → p-7dfcd6af.entry.js.map} +0 -0
  486. /package/dist/atomic/{p-3c823399.entry.js.map → p-7e2109e9.entry.js.map} +0 -0
  487. /package/dist/atomic/{p-780170e5.entry.js.map → p-811d6dcb.entry.js.map} +0 -0
  488. /package/dist/atomic/{p-9147b0db.entry.js.map → p-8256cd44.entry.js.map} +0 -0
  489. /package/dist/atomic/{p-0e27d4f2.entry.js.map → p-83c9244a.entry.js.map} +0 -0
  490. /package/dist/atomic/{p-867fd04d.entry.js.map → p-89085429.entry.js.map} +0 -0
  491. /package/dist/atomic/{p-9349aa1a.entry.js.map → p-89ab44de.entry.js.map} +0 -0
  492. /package/dist/atomic/{p-bd99fcc1.entry.js.map → p-939eaaac.entry.js.map} +0 -0
  493. /package/dist/atomic/{p-9b92b4e2.entry.js.map → p-93e29b24.entry.js.map} +0 -0
  494. /package/dist/atomic/{p-b6377fb6.entry.js.map → p-98c5b9b8.entry.js.map} +0 -0
  495. /package/dist/atomic/{p-bf49fed3.entry.js.map → p-99b8d52d.entry.js.map} +0 -0
  496. /package/dist/atomic/{p-45840906.entry.js.map → p-9c9b1965.entry.js.map} +0 -0
  497. /package/dist/atomic/{p-160553ce.entry.js.map → p-a3efa89e.entry.js.map} +0 -0
  498. /package/dist/atomic/{p-c538c8ac.entry.js.map → p-a53c7821.entry.js.map} +0 -0
  499. /package/dist/atomic/{p-25eabe15.entry.js.map → p-a8882a2a.entry.js.map} +0 -0
  500. /package/dist/atomic/{p-ce41c447.entry.js.map → p-ae060711.entry.js.map} +0 -0
  501. /package/dist/atomic/{p-b4c34553.entry.js.map → p-b0b17e21.entry.js.map} +0 -0
  502. /package/dist/atomic/{p-e1c99e2e.entry.js.map → p-b2ff1330.entry.js.map} +0 -0
  503. /package/dist/atomic/{p-4b4b2626.entry.js.map → p-b6963bae.entry.js.map} +0 -0
  504. /package/dist/atomic/{p-dee60597.entry.js.map → p-bc0d6d3d.entry.js.map} +0 -0
  505. /package/dist/atomic/{p-0e5dc57f.entry.js.map → p-c126ee6b.entry.js.map} +0 -0
  506. /package/dist/atomic/{p-754909fe.entry.js.map → p-c1999888.entry.js.map} +0 -0
  507. /package/dist/atomic/{p-1656f59a.entry.js.map → p-cc1eac99.entry.js.map} +0 -0
  508. /package/dist/atomic/{p-97829295.entry.js.map → p-d24d34a7.entry.js.map} +0 -0
  509. /package/dist/atomic/{p-7f40e57d.entry.js.map → p-d364064c.entry.js.map} +0 -0
  510. /package/dist/atomic/{p-856e858c.entry.js.map → p-d785121d.entry.js.map} +0 -0
  511. /package/dist/atomic/{p-7d63bf7b.entry.js.map → p-d93adf52.entry.js.map} +0 -0
  512. /package/dist/atomic/{p-2a4e9425.entry.js.map → p-de066001.entry.js.map} +0 -0
  513. /package/dist/atomic/{p-8a7a23b7.entry.js.map → p-e162805d.entry.js.map} +0 -0
  514. /package/dist/atomic/{p-441b1a7b.entry.js.map → p-e23b3334.entry.js.map} +0 -0
  515. /package/dist/atomic/{p-c2b4b401.entry.js.map → p-e2afb475.entry.js.map} +0 -0
  516. /package/dist/atomic/{p-bd32625e.entry.js.map → p-ea446721.entry.js.map} +0 -0
  517. /package/dist/atomic/{p-07b6424c.entry.js.map → p-ee6771f1.entry.js.map} +0 -0
  518. /package/dist/atomic/{p-abb14108.entry.js.map → p-f0c2dfe8.entry.js.map} +0 -0
  519. /package/dist/atomic/{p-c23a07f5.entry.js.map → p-f289269f.entry.js.map} +0 -0
  520. /package/dist/atomic/{p-d4ad7336.entry.js.map → p-fa8b7c4c.entry.js.map} +0 -0
  521. /package/dist/atomic/{p-ef556803.js.map → p-fb8319df.js.map} +0 -0
  522. /package/dist/atomic/{p-80683e4c.entry.js.map → p-fda26113.entry.js.map} +0 -0
  523. /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: '3813e6c34daa8106a35df99ed6cb8cbf3d00285d', fullscreen: false, source: this.source, container: this.host, isOpen: this.isOpen, close: () => this.close(), exportparts: ATOMIC_MODAL_EXPORT_PARTS }, h(SmartSnippetFeedbackModalHeader, { key: '068781ed5a59386cdd97944ec1f12bd256917cdc', i18n: this.bindings.i18n }), h(SmartSnippetFeedbackModalBody, { key: 'fb0f1ec497f69ac2c4b82b9b0777eb7f292e7482', formId: this.formId, onSubmit: (e) => this.sendFeedback(e) }, h(SmartSnippetFeebackModalOptions, { key: '8adf4f5b534d676324e2efeb7ee5d30cc5fa2b73', 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: '9127d19a2ae3750d7b1ee60f90007d2b435ed962', fullscreen: false, source: this.source, container: this.host, isOpen: this.isOpen, close: () => this.close(), exportparts: ATOMIC_MODAL_EXPORT_PARTS }, h(SmartSnippetFeedbackModalHeader, { key: '7bdbc6c7c5ca9c51bae303807c2ac5942067db06', i18n: this.bindings.i18n }), h(SmartSnippetFeedbackModalBody, { key: 'b14f845aa76c05ba5b9781a489ddccc0e2d56a7f', formId: this.formId, onSubmit: (e) => this.sendFeedback(e) }, h(SmartSnippetFeebackModalOptions, { key: 'c8c06039213307ad1843770e2b2601159d851ed3', 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: '35531471cdaafa06119e69ca7acba58ed4192bba', currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, setDetailsInputRef: (ref) => (this.detailsInputRef = ref) })), h(SmartSnippetFeedbackModalFooter, { key: 'aec1b3c43fc1cf65ed063e3c00ba9bb4716431c4', formId: this.formId, i18n: this.bindings.i18n, onClick: () => this.close() })));
48
+ } })))), h(SmartSnippetFeedbackModalDetails, { key: '662eec5d7356b9991d88312425f2575e97d77902', currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, setDetailsInputRef: (ref) => (this.detailsInputRef = ref) })), h(SmartSnippetFeedbackModalFooter, { key: '5f6427113ee0734b4d501f8201f11b32f6b3537b', 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: 'a3e1b357f9be261564cf6bf983a94f24cdf030b1', firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: hasResults }, h(SortContainer, { key: 'c8fc5dedafe1e90b7746f443733d20b3dfa84ebe' }, h(SortLabel, { key: '2d1686f57f099736c702ecd3fe91a5097b253fed', i18n: i18n, id: id }), h(SortSelect, { key: '706bc03c167b140f4a3eed4d54ca8a2c1b176563', 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: '22b5daa394826ebf4d6fb213c2e7e469aff710b9' }),
120
+ h(SortGuard, { key: '13b57531b5cbe4d96cdd8a6da8cc2e51a7cb5c09', firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: hasResults }, h(SortContainer, { key: '6669f4b0017f7bdf92b2a0310c82dc2ad9ede435' }, h(SortLabel, { key: '2fb9759cc247e03e5c00a515a3de858b7ae6e316', i18n: i18n, id: id }), h(SortSelect, { key: '451912937924b88a4c53cc07a1f4945a5ae29d90', 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: 'b7ff8bfb88f3a07462f058e5ef0bf3e41e761646' }),
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: '616f6121f997331a6c1eb8d36fe2c21755df61a7', element: this.host, error: error }));
50
+ return (h("atomic-component-error", { key: 'e6c396c032fee71b5255255fc78606a85b554c22', 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: '2342d11b22f00a65da16b242ce54088cc3cdb0f5', 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
  }
@@ -1 +1 @@
1
- {"file":"atomic-suggestion-renderer2.js","mappings":"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","names":[],"sources":["src/utils/device-utils.ts","src/components/common/atomic-suggestion-renderer/atomic-suggestion-renderer.tsx"],"sourcesContent":["export function isIOS() {\n // Source: https://stackoverflow.com/a/62094756\n const iosQuirkPresent = () => {\n const audio = new Audio();\n\n audio.volume = 0.5;\n return audio.volume === 1; // volume cannot be changed from \"1\" on iOS 12 and below\n };\n\n const isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent);\n const isAppleDevice = navigator.userAgent.includes('Macintosh');\n const isTouchScreen = navigator.maxTouchPoints >= 1; // true for iOS 13 (and hopefully beyond)\n\n return isIOS || (isAppleDevice && (isTouchScreen || iosQuirkPresent()));\n}\n\nexport function isMacOS() {\n // Source: https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform#examples\n return navigator.platform.startsWith('Mac');\n}\n\nexport function hasKeyboard() {\n return window.matchMedia('(any-hover: hover)').matches;\n}\n","import {isMacOS} from '@/src/utils/device-utils';\nimport {Component, Fragment, Host, Prop, VNode, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {SearchBoxSuggestionElement} from '../suggestions/suggestions-common';\n\n/**\n * The `atomic-suggestion-renderer` component is used to render individual suggestions. It was created to isolate\n * the rendering logic of the 'content' property of the `SearchBoxSuggestionElement` interface. This property can be Stencil\n * VNode or native Element so there must be a Stencil component to render it. For Lit components using this component, they will\n * use native Elements.\n *\n * @internal\n */\n@Component({\n tag: 'atomic-suggestion-renderer',\n shadow: false,\n})\nexport class AtomicSuggestionRenderer {\n @Prop() public i18n!: i18n;\n @Prop() public id!: string;\n @Prop() public suggestion!: SearchBoxSuggestionElement;\n @Prop() public isSelected!: boolean;\n @Prop() public side!: 'left' | 'right';\n @Prop() public index!: number;\n @Prop() public lastIndex!: number;\n @Prop() public isDoubleList!: boolean;\n @Prop() public onClick?: (e: Event) => void;\n @Prop() public onMouseOver?: (e: Event) => void;\n\n private get parts() {\n let part = 'suggestion';\n if (this.isSelected) {\n part += ' active-suggestion';\n }\n if (this.suggestion.query) {\n part += ' suggestion-with-query';\n }\n if (this.suggestion.part) {\n part += ` ${this.suggestion.part}`;\n }\n return part;\n }\n\n private get classes() {\n return `flex px-4 min-h-10 items-center text-left text-neutral-dark cursor-pointer ${\n this.isSelected ? 'bg-neutral-light' : ''\n }`;\n }\n\n private get content() {\n return this.isHTMLElement(this.suggestion.content) ? (\n <Fragment></Fragment>\n ) : (\n this.suggestion.content\n );\n }\n\n private ariaLabel(isButton: boolean) {\n const contentLabel =\n this.suggestion.ariaLabel ??\n this.suggestion.query ??\n this.i18n.t('no-title');\n\n const labelWithType =\n isMacOS() && isButton\n ? this.i18n.t('search-suggestion-button', {\n label: contentLabel,\n interpolation: {escapeValue: false},\n })\n : contentLabel;\n\n const position = this.index + 1;\n const count = this.lastIndex + 1;\n\n if (!this.isDoubleList) {\n return this.i18n.t('search-suggestion-single-list', {\n label: labelWithType,\n position,\n count,\n interpolation: {escapeValue: false},\n });\n }\n\n return this.i18n.t('search-suggestion-double-list', {\n label: labelWithType,\n position,\n count,\n side: this.i18n.t(this.side === 'left' ? 'left' : 'right'),\n interpolation: {escapeValue: false},\n });\n }\n\n private ensureContentForRenderedSuggestion(element: HTMLElement) {\n if (this.isHTMLElement(this.suggestion.content)) {\n element.replaceChildren(this.suggestion.content);\n }\n }\n\n private isHTMLElement(el: VNode | Element): el is HTMLElement {\n return el instanceof HTMLElement;\n }\n\n render() {\n const isButton = !!(this.suggestion.onSelect || this.suggestion.query);\n\n return (\n <Host class=\"contents\">\n {isButton ? (\n <button\n id={this.id}\n key={this.suggestion.key}\n part={this.parts}\n class={this.classes}\n onMouseDown={(e) => e.preventDefault()}\n onClick={(e: Event) => this.onClick?.(e)}\n onMouseOver={(e: Event) => this.onMouseOver?.(e)}\n data-query={this.suggestion.query}\n aria-label={this.ariaLabel(isButton)}\n ref={(el) => {\n if (!el) {\n return;\n }\n this.ensureContentForRenderedSuggestion(el);\n }}\n >\n {this.content}\n </button>\n ) : (\n <span\n id={this.id}\n key={this.suggestion.key}\n part={this.parts}\n class={this.classes}\n aria-label={this.ariaLabel(isButton)}\n ref={(el) => {\n if (!el) {\n return;\n }\n this.ensureContentForRenderedSuggestion(el);\n }}\n >\n {this.content}\n </span>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-suggestion-renderer2.js","mappings":"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","names":[],"sources":["src/utils/device-utils.ts","src/components/common/atomic-suggestion-renderer/atomic-suggestion-renderer.tsx"],"sourcesContent":["export function isIOS() {\n // Source: https://stackoverflow.com/a/62094756\n const iosQuirkPresent = () => {\n const audio = new Audio();\n\n audio.volume = 0.5;\n return audio.volume === 1; // volume cannot be changed from \"1\" on iOS 12 and below\n };\n\n const isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent);\n const isAppleDevice = navigator.userAgent.includes('Macintosh');\n const isTouchScreen = navigator.maxTouchPoints >= 1; // true for iOS 13 (and hopefully beyond)\n\n return isIOS || (isAppleDevice && (isTouchScreen || iosQuirkPresent()));\n}\n\nexport function isMacOS() {\n // Source: https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform#examples\n return navigator.platform.startsWith('Mac');\n}\n\nexport function hasKeyboard() {\n return window.matchMedia('(any-hover: hover)').matches;\n}\n","import {isMacOS} from '@/src/utils/device-utils';\nimport {Component, Fragment, Host, Prop, VNode, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {SearchBoxSuggestionElement} from '../suggestions/suggestions-types';\n\n/**\n * The `atomic-suggestion-renderer` component is used to render individual suggestions. It was created to isolate\n * the rendering logic of the 'content' property of the `SearchBoxSuggestionElement` interface. This property can be Stencil\n * VNode or native Element so there must be a Stencil component to render it. For Lit components using this component, they will\n * use native Elements.\n *\n * @internal\n */\n@Component({\n tag: 'atomic-suggestion-renderer',\n shadow: false,\n})\nexport class AtomicSuggestionRenderer {\n @Prop() public i18n!: i18n;\n @Prop() public id!: string;\n @Prop() public suggestion!: SearchBoxSuggestionElement;\n @Prop() public isSelected!: boolean;\n @Prop() public side!: 'left' | 'right';\n @Prop() public index!: number;\n @Prop() public lastIndex!: number;\n @Prop() public isDoubleList!: boolean;\n @Prop() public onClick?: (e: Event) => void;\n @Prop() public onMouseOver?: (e: Event) => void;\n\n private get parts() {\n let part = 'suggestion';\n if (this.isSelected) {\n part += ' active-suggestion';\n }\n if (this.suggestion.query) {\n part += ' suggestion-with-query';\n }\n if (this.suggestion.part) {\n part += ` ${this.suggestion.part}`;\n }\n return part;\n }\n\n private get classes() {\n return `flex px-4 min-h-10 items-center text-left text-neutral-dark cursor-pointer ${\n this.isSelected ? 'bg-neutral-light' : ''\n }`;\n }\n\n private get content() {\n return this.isHTMLElement(this.suggestion.content) ? (\n <Fragment></Fragment>\n ) : (\n this.suggestion.content\n );\n }\n\n private ariaLabel(isButton: boolean) {\n const contentLabel =\n this.suggestion.ariaLabel ??\n this.suggestion.query ??\n this.i18n.t('no-title');\n\n const labelWithType =\n isMacOS() && isButton\n ? this.i18n.t('search-suggestion-button', {\n label: contentLabel,\n interpolation: {escapeValue: false},\n })\n : contentLabel;\n\n const position = this.index + 1;\n const count = this.lastIndex + 1;\n\n if (!this.isDoubleList) {\n return this.i18n.t('search-suggestion-single-list', {\n label: labelWithType,\n position,\n count,\n interpolation: {escapeValue: false},\n });\n }\n\n return this.i18n.t('search-suggestion-double-list', {\n label: labelWithType,\n position,\n count,\n side: this.i18n.t(this.side === 'left' ? 'left' : 'right'),\n interpolation: {escapeValue: false},\n });\n }\n\n private ensureContentForRenderedSuggestion(element: HTMLElement) {\n if (this.isHTMLElement(this.suggestion.content)) {\n element.replaceChildren(this.suggestion.content);\n }\n }\n\n private isHTMLElement(el: VNode | Element): el is HTMLElement {\n return el instanceof HTMLElement;\n }\n\n render() {\n const isButton = !!(this.suggestion.onSelect || this.suggestion.query);\n\n return (\n <Host class=\"contents\">\n {isButton ? (\n <button\n id={this.id}\n key={this.suggestion.key}\n part={this.parts}\n class={this.classes}\n onMouseDown={(e) => e.preventDefault()}\n onClick={(e: Event) => this.onClick?.(e)}\n onMouseOver={(e: Event) => this.onMouseOver?.(e)}\n data-query={this.suggestion.query}\n aria-label={this.ariaLabel(isButton)}\n ref={(el) => {\n if (!el) {\n return;\n }\n this.ensureContentForRenderedSuggestion(el);\n }}\n >\n {this.content}\n </button>\n ) : (\n <span\n id={this.id}\n key={this.suggestion.key}\n part={this.parts}\n class={this.classes}\n aria-label={this.ariaLabel(isButton)}\n ref={(el) => {\n if (!el) {\n return;\n }\n this.ensureContentForRenderedSuggestion(el);\n }}\n >\n {this.content}\n </span>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -59,7 +59,7 @@ const AtomicTabManager$1 = /*@__PURE__*/ proxyCustomElement(class AtomicTabManag
59
59
  });
60
60
  }
61
61
  render() {
62
- return (h(Host, { key: '2e954cadaa48170cf94db467d1ba35cc308e6f8a' }, h("atomic-tab-bar", { key: '875f73ab3f5174832eef55817c38c08aea1edd07' }, h("div", { key: 'bc9c65bf34aefab76a72040f843da9aeaf5c8477', 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: '177a674f1d915777f0a4e555873f30a60cd52088' }, h("atomic-tab-bar", { key: 'a06f874f12b76dec3e0b948ce126b5224a12dabf' }, h("div", { key: '3d0b23b2daf746445ea6d7dd12c4d9c008fbfbef', 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) {
@@ -120,10 +120,7 @@ let AtomicCommerceBreadbox = class AtomicCommerceBreadbox extends LitElement {
120
120
  this.validateProps();
121
121
  }
122
122
  }
123
- firstUpdated() {
124
- this.adaptBreadcrumbs();
125
- }
126
- updateCompleted() {
123
+ updated() {
127
124
  this.adaptBreadcrumbs();
128
125
  }
129
126
  validateProps() {
@@ -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
  /**
@@ -86,7 +86,7 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
86
86
  this.urlManager.synchronize(this.fragment);
87
87
  };
88
88
  this.store = createCommerceStore(this.type);
89
- this._mobileBreakpointController = new MobileBreakpointController(this, this.store);
89
+ new MobileBreakpointController(this, this.store);
90
90
  const { promise, resolve } = Promise.withResolvers();
91
91
  this.i18Initialized = promise;
92
92
  this.i18n = i18next.createInstance(undefined, resolve);
@@ -20,12 +20,13 @@ 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";
23
24
  import { isFocusingOut, once, randomID, spreadProperties, } from '../../../utils/utils';
24
25
  import { renderSearchBoxWrapper } from '../../common/search-box/search-box-wrapper';
25
26
  import { renderSearchBoxTextArea } from '../../common/search-box/search-text-area';
26
27
  import { renderSubmitButton } from '../../common/search-box/submit-button';
27
28
  import { SuggestionManager } from '../../common/suggestions/suggestion-manager';
28
- import { elementHasQuery, } from '../../common/suggestions/suggestions-common';
29
+ import { elementHasQuery } from '../../common/suggestions/suggestions-utils';
29
30
  import '../atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products';
30
31
  import '../atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions';
31
32
  import '../atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries';
@@ -123,9 +124,6 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
123
124
  }
124
125
  connectedCallback() {
125
126
  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
- }
129
127
  this.addEventListener('atomic/searchBoxSuggestion/register', (event) => {
130
128
  const customEvent = event;
131
129
  this.searchBoxSuggestionEventsQueue.push(customEvent);
@@ -492,6 +490,14 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
492
490
  ></atomic-suggestion-renderer>
493
491
  `;
494
492
  }
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
+ }
495
501
  render() {
496
502
  this.updateBreakpoints();
497
503
  if (!this.suggestionManager.suggestions.length) {
@@ -511,7 +517,7 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
511
517
  },
512
518
  },
513
519
  })(html `${this.renderTextBox()}
514
- ${renderSubmitButton({
520
+ ${renderSubmitButton({
515
521
  props: {
516
522
  i18n: this.bindings.i18n,
517
523
  disabled: this.isSearchDisabledForEndUser,
@@ -521,7 +527,8 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
521
527
  },
522
528
  },
523
529
  })}
524
- ${this.renderSuggestions()}`)}
530
+ ${this.renderSuggestions()}`)}
531
+ ${this.renderSlotContent()}
525
532
  `;
526
533
  }
527
534
  };
@@ -9,7 +9,7 @@ import { html, LitElement, nothing, render } from 'lit';
9
9
  import { customElement, property, state } from 'lit/decorators.js';
10
10
  import { keyed } from 'lit/directives/keyed.js';
11
11
  import { getPartialInstantItemElement, getPartialInstantItemShowAllElement, renderInstantItemShowAllButton, } from "../../common/suggestions/instant-item";
12
- import { dispatchSearchBoxSuggestionsEvent, } from "../../common/suggestions/suggestions-common";
12
+ import { dispatchSearchBoxSuggestionsEvent } from "../../common/suggestions/suggestions-events";
13
13
  import { errorGuard } from "../../../decorators/error-guard";
14
14
  import { withTailwindStyles } from "../../../decorators/with-tailwind-styles.js";
15
15
  import { encodeForDomAttribute } from "../../../utils/string-utils";
@@ -8,7 +8,7 @@ import { loadQuerySuggestActions, } from '@coveo/headless/commerce';
8
8
  import { html, LitElement, nothing } from 'lit';
9
9
  import { customElement, property, state } from 'lit/decorators.js';
10
10
  import { getPartialSearchBoxSuggestionElement, renderQuerySuggestion, } from "../../common/suggestions/query-suggestions";
11
- import { dispatchSearchBoxSuggestionsEvent, } from "../../common/suggestions/suggestions-common";
11
+ import { dispatchSearchBoxSuggestionsEvent } from "../../common/suggestions/suggestions-events";
12
12
  import { errorGuard } from "../../../decorators/error-guard";
13
13
  const SearchIcon = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m6.4 0c3.5 0 6.4 2.9 6.4 6.4 0 1.4-.4 2.7-1.2 3.7l4 4c.4.4.4 1 .1 1.5l-.1.1c-.2.2-.5.3-.8.3s-.6-.1-.8-.3l-4-4c-1 .7-2.3 1.2-3.7 1.2-3.4-.1-6.3-3-6.3-6.5s2.9-6.4 6.4-6.4zm0 2.1c-2.3 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3z\"/></svg>";
14
14
  /**
@@ -12,7 +12,7 @@ import { SafeStorage, StorageItems } from "../../../utils/local-storage-utils";
12
12
  import { once } from "../../../utils/utils";
13
13
  const Clock = "<svg fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" stroke-linecap=\"round\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"8\" cy=\"8\" r=\"7.5\"/><path d=\"m8.5 4.5v4\"/><path d=\"m10.3066 10.1387-1.80932-1.5768\"/></svg>";
14
14
  import { getPartialRecentQueryClearElement, getPartialRecentQueryElement, renderRecentQuery, renderRecentQueryClear, } from '../../common/suggestions/recent-queries';
15
- import { dispatchSearchBoxSuggestionsEvent, } from '../../common/suggestions/suggestions-common';
15
+ import { dispatchSearchBoxSuggestionsEvent } from '../../common/suggestions/suggestions-events';
16
16
  /**
17
17
  * The `atomic-commerce-search-box-recent-queries` component can be added as a child of an `atomic-commerce-search-box` component, allowing for the configuration of recent query suggestions.
18
18
  */
@@ -9,6 +9,7 @@ import { customElement, property, state } from 'lit/decorators.js';
9
9
  import { createRef, ref } from 'lit/directives/ref.js';
10
10
  import { when } from 'lit/directives/when.js';
11
11
  import { booleanConverter } from "../../../converters/boolean-converter.js";
12
+ import { bindings } from "../../../decorators/bindings.js";
12
13
  import { errorGuard } from "../../../decorators/error-guard";
13
14
  import { watch } from "../../../decorators/watch.js";
14
15
  import { withTailwindStyles } from "../../../decorators/with-tailwind-styles.js";
@@ -296,6 +297,7 @@ __decorate([
296
297
  ], AtomicModal.prototype, "watchToggleOpen", null);
297
298
  AtomicModal = __decorate([
298
299
  customElement('atomic-modal'),
300
+ bindings(),
299
301
  withTailwindStyles
300
302
  ], AtomicModal);
301
303
  export { AtomicModal };
@@ -14,7 +14,7 @@ export class LayoutStylesController {
14
14
  if (!this.host.id) {
15
15
  this.host.id = randomID(this.componentPrefix);
16
16
  }
17
- this.updateStyles();
17
+ this.host.updateComplete.then(() => this.updateStyles());
18
18
  }
19
19
  /**
20
20
  * Updates the dynamic styles based on the current mobile breakpoint
@@ -2,7 +2,7 @@ import { isNullOrUndefined } from '@coveo/bueno';
2
2
  import DOMPurify from 'dompurify';
3
3
  import { debounce } from '../../../utils/debounce-utils';
4
4
  import { promiseTimeout } from '../../../utils/promise-utils';
5
- import { elementHasNoQuery, elementHasQuery, } from './suggestions-common';
5
+ import { elementHasNoQuery, elementHasQuery } from './suggestions-utils';
6
6
  export class SuggestionManager {
7
7
  constructor(ownerSearchBoxProps) {
8
8
  this.ownerSearchBoxProps = ownerSearchBoxProps;
@@ -1,5 +1,21 @@
1
1
  import { closest } from '../../../utils/dom-utils';
2
2
  import { buildCustomEvent } from '../../../utils/event-utils';
3
+ /**
4
+ * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.
5
+ *
6
+ * @param event Event sent from the registered query suggestions to the parent search box
7
+ * @param element Element on which to dispatch the event, which must be the child of a configured search box
8
+ * @param allowedSearchBoxElements Optional array of allowed search box element selectors
9
+ *
10
+ * @throws Error if the element is not a child of an allowed search box element
11
+ */
12
+ export const dispatchSearchBoxSuggestionsEvent = (event, element, allowedSearchBoxElements = searchBoxElements) => {
13
+ const interfaceElement = closest(element, searchBoxElements.join(', '));
14
+ if (!interfaceElement) {
15
+ throw new Error(`The "${element.nodeName.toLowerCase()}" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(', ')}`);
16
+ }
17
+ void dispatchSearchBoxSuggestionsEventEventually(interfaceElement, element, event);
18
+ };
3
19
  const searchBoxElements = [
4
20
  'atomic-search-box',
5
21
  'atomic-insight-search-box',
@@ -17,21 +33,3 @@ const dispatchSearchBoxSuggestionsEventEventually = async (interfaceElement, ele
17
33
  }
18
34
  element.dispatchEvent(buildCustomEvent('atomic/searchBoxSuggestion/register', event));
19
35
  };
20
- /**
21
- * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.
22
- * @param event Event sent from the registered query suggestions to the parent search box.
23
- * @param element Element on which to dispatch the event, which must be the child of a configured search box.
24
- */
25
- export const dispatchSearchBoxSuggestionsEvent = (event, element, allowedSearchBoxElements = searchBoxElements) => {
26
- const interfaceElement = closest(element, searchBoxElements.join(', '));
27
- if (!interfaceElement) {
28
- throw new Error(`The "${element.nodeName.toLowerCase()}" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(', ')}`);
29
- }
30
- void dispatchSearchBoxSuggestionsEventEventually(interfaceElement, element, event);
31
- };
32
- export function elementHasNoQuery(el) {
33
- return !el.query || el.query.trim() === '';
34
- }
35
- export function elementHasQuery(el) {
36
- return !!el.query && el.query.trim() !== '';
37
- }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Checks if a search box suggestion element has no query.
3
+ *
4
+ * @param el - The search box suggestion element to check
5
+ * @returns True if the element has no query or the query is whitespace-only
6
+ */
7
+ export function elementHasNoQuery(el) {
8
+ return !el.query || el.query.trim() === '';
9
+ }
10
+ /**
11
+ * Checks if a search box suggestion element has a query.
12
+ *
13
+ * @param el - The search box suggestion element to check
14
+ * @returns True if the element has a non-empty, non-whitespace query
15
+ */
16
+ export function elementHasQuery(el) {
17
+ return !!el.query && el.query.trim() !== '';
18
+ }
@@ -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", {