@coveo/atomic 3.33.8-pre.a6a23b4390 → 3.33.8-pre.adbf7397e2

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 (525) 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 +0 -2
  6. package/dist/atomic/components/_index.js +1 -3
  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 +4 -3
  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 +2 -1
  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 +46 -1
  65. package/dist/atomic/components/atomic-relevance-inspector.js.map +1 -1
  66. package/dist/atomic/components/atomic-result-children.js +1 -1
  67. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  68. package/dist/atomic/components/atomic-result-link.js +1 -1
  69. package/dist/atomic/components/atomic-result-list.js +1 -1
  70. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  71. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  72. package/dist/atomic/components/atomic-search-box-instant-results.js +2 -2
  73. package/dist/atomic/components/atomic-search-box-instant-results.js.map +1 -1
  74. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +2 -2
  75. package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +1 -1
  76. package/dist/atomic/components/atomic-search-box-recent-queries2.js +2 -2
  77. package/dist/atomic/components/atomic-search-box-recent-queries2.js.map +1 -1
  78. package/dist/atomic/components/atomic-search-box.js +6 -5
  79. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  80. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  81. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  82. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  83. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  84. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  85. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  86. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  87. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  88. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  89. package/dist/atomic/components/atomic-suggestion-renderer2.js.map +1 -1
  90. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  91. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +21 -11
  92. package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +2 -7
  93. package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.js +19 -10
  94. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +1 -1
  95. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.js +1 -1
  96. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions.js +1 -1
  97. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +1 -1
  98. package/dist/atomic/components/components/common/layout/layout-styles-controller.js +40 -0
  99. package/dist/atomic/components/components/common/layout/mobile-breakpoint-controller.js +26 -0
  100. package/dist/atomic/components/components/common/suggestions/suggestion-manager.js +1 -1
  101. package/dist/atomic/components/components/common/suggestions/{suggestions-events.js → suggestions-common.js} +18 -16
  102. package/dist/atomic/components/components/search/atomic-search-interface/analytics-config.js +57 -0
  103. package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +493 -0
  104. package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +20 -9
  105. package/dist/atomic/components/components/search/index.js +1 -0
  106. package/dist/atomic/components/components/search/lazy-index.js +1 -0
  107. package/dist/atomic/components/facet-number-input.js +2 -2
  108. package/dist/atomic/components/global/environment.js +1 -1
  109. package/dist/atomic/components/index.js.map +1 -1
  110. package/dist/atomic/components/stencil-query-suggestions.js.map +1 -1
  111. package/dist/atomic/components/stencil-suggestion-manager.js +2 -20
  112. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  113. package/dist/atomic/components/{suggestions-events.js → suggestions-common.js} +20 -18
  114. package/dist/atomic/components/suggestions-common.js.map +1 -0
  115. package/dist/atomic/components/tab-button.js +1 -1
  116. package/dist/atomic/components/tab-popover.js +1 -1
  117. package/dist/atomic/index.esm.js +1 -1
  118. package/dist/atomic/index.esm.js.map +1 -1
  119. package/dist/atomic/{p-6329ff94.entry.js → p-004adbb8.entry.js} +2 -2
  120. package/dist/atomic/{p-f5cc5a8f.entry.js → p-05530e9e.entry.js} +2 -2
  121. package/dist/atomic/{p-3b20b011.entry.js → p-0610b3e7.entry.js} +2 -2
  122. package/dist/atomic/{p-ee6771f1.entry.js → p-07b6424c.entry.js} +2 -2
  123. package/dist/atomic/{p-7a625c7e.entry.js → p-094b61d4.entry.js} +2 -2
  124. package/dist/atomic/{p-83c9244a.entry.js → p-0e27d4f2.entry.js} +2 -2
  125. package/dist/atomic/{p-c126ee6b.entry.js → p-0e5dc57f.entry.js} +2 -2
  126. package/dist/atomic/p-0edea6f9.entry.js +2 -0
  127. package/dist/atomic/{p-20341936.entry.js → p-10b5e0f3.entry.js} +2 -2
  128. package/dist/atomic/{p-2ca352f4.entry.js → p-15406648.entry.js} +2 -2
  129. package/dist/atomic/{p-a3efa89e.entry.js → p-160553ce.entry.js} +2 -2
  130. package/dist/atomic/{p-fbfe913d.entry.js → p-1c6f7489.entry.js} +2 -2
  131. package/dist/atomic/p-1c6f7489.entry.js.map +1 -0
  132. package/dist/atomic/{p-78b70622.entry.js → p-25eabe15.entry.js} +2 -2
  133. package/dist/atomic/p-29fd6768.js +2 -0
  134. package/dist/atomic/p-29fd6768.js.map +1 -0
  135. package/dist/atomic/{p-de066001.entry.js → p-2a4e9425.entry.js} +2 -2
  136. package/dist/atomic/{p-c88a3d2d.entry.js → p-2d27675d.entry.js} +2 -2
  137. package/dist/atomic/p-2d27675d.entry.js.map +1 -0
  138. package/dist/atomic/{p-75e00690.entry.js → p-33899ab5.entry.js} +2 -2
  139. package/dist/atomic/{p-7b899b57.entry.js → p-394c600f.entry.js} +2 -2
  140. package/dist/atomic/{p-a760d9f9.entry.js → p-3c823399.entry.js} +2 -2
  141. package/dist/atomic/{p-26a51a77.entry.js → p-3db62800.entry.js} +2 -2
  142. package/dist/atomic/p-3db62800.entry.js.map +1 -0
  143. package/dist/atomic/{p-021f01d6.entry.js → p-41c5d5fa.entry.js} +2 -2
  144. package/dist/atomic/{p-e23b3334.entry.js → p-441b1a7b.entry.js} +2 -2
  145. package/dist/atomic/{p-330e6e7c.entry.js → p-45840906.entry.js} +2 -2
  146. package/dist/atomic/{p-f22bcb8c.entry.js → p-4b4b2626.entry.js} +2 -2
  147. package/dist/atomic/{p-8813e3fe.js → p-5100a30e.js} +2 -2
  148. package/dist/atomic/p-6de44060.entry.js +2 -0
  149. package/dist/atomic/{p-fcf3f7d7.entry.js.map → p-6de44060.entry.js.map} +1 -1
  150. package/dist/atomic/{p-c1999888.entry.js → p-754909fe.entry.js} +2 -2
  151. package/dist/atomic/p-7601c3de.js +2 -0
  152. package/dist/atomic/p-7601c3de.js.map +1 -0
  153. package/dist/atomic/{p-811d6dcb.entry.js → p-780170e5.entry.js} +2 -2
  154. package/dist/atomic/{p-36fab158.entry.js → p-7a6468a7.entry.js} +2 -2
  155. package/dist/atomic/{p-3a2c900c.entry.js → p-7b1a3cab.entry.js} +2 -2
  156. package/dist/atomic/{p-d93adf52.entry.js → p-7d63bf7b.entry.js} +2 -2
  157. package/dist/atomic/{p-4b3d253b.entry.js → p-7dd3d72f.entry.js} +2 -2
  158. package/dist/atomic/{p-d364064c.entry.js → p-7f40e57d.entry.js} +2 -2
  159. package/dist/atomic/{p-c49cfa0c.entry.js → p-80683e4c.entry.js} +2 -2
  160. package/dist/atomic/{p-984b2c0c.entry.js → p-843c195c.entry.js} +2 -2
  161. package/dist/atomic/{p-d785121d.entry.js → p-856e858c.entry.js} +2 -2
  162. package/dist/atomic/{p-b28011e6.entry.js → p-867fd04d.entry.js} +2 -2
  163. package/dist/atomic/{p-534b6a0a.entry.js → p-87c6c206.entry.js} +2 -2
  164. package/dist/atomic/{p-e162805d.entry.js → p-8a7a23b7.entry.js} +2 -2
  165. package/dist/atomic/{p-31f1e44e.entry.js → p-8bac9d25.entry.js} +2 -2
  166. package/dist/atomic/p-8bac9d25.entry.js.map +1 -0
  167. package/dist/atomic/{p-604c4085.entry.js → p-8df7270f.entry.js} +2 -2
  168. package/dist/atomic/{p-8256cd44.entry.js → p-9147b0db.entry.js} +2 -2
  169. package/dist/atomic/{p-aa2a81fd.entry.js → p-9349aa1a.entry.js} +2 -2
  170. package/dist/atomic/{p-37374964.entry.js → p-9727f36b.entry.js} +2 -2
  171. package/dist/atomic/p-97829295.entry.js +2 -0
  172. package/dist/atomic/{p-31aa052e.entry.js → p-97e42c43.entry.js} +2 -2
  173. package/dist/atomic/{p-3c8d109e.entry.js → p-9b241ca5.entry.js} +2 -2
  174. package/dist/atomic/{p-3c8d109e.entry.js.map → p-9b241ca5.entry.js.map} +1 -1
  175. package/dist/atomic/{p-93e29b24.entry.js → p-9b92b4e2.entry.js} +2 -2
  176. package/dist/atomic/{p-1ef658d8.entry.js → p-9d023f0b.entry.js} +2 -2
  177. package/dist/atomic/{p-40635c2d.entry.js → p-9e771351.entry.js} +2 -2
  178. package/dist/atomic/{p-d00a12e9.entry.js → p-a278ffde.entry.js} +2 -2
  179. package/dist/atomic/{p-d0f47b33.entry.js → p-a37fae7c.entry.js} +2 -2
  180. package/dist/atomic/p-a37fae7c.entry.js.map +1 -0
  181. package/dist/atomic/{p-035f8dc8.entry.js → p-a3fa6695.entry.js} +2 -2
  182. package/dist/atomic/{p-f0c2dfe8.entry.js → p-abb14108.entry.js} +2 -2
  183. package/dist/atomic/{p-52ba404c.entry.js → p-aed46103.entry.js} +2 -2
  184. package/dist/atomic/p-af93b44c.js.map +1 -1
  185. package/dist/atomic/{p-48f57fd8.entry.js → p-b0c50194.entry.js} +2 -2
  186. package/dist/atomic/{p-b0b17e21.entry.js → p-b4c34553.entry.js} +2 -2
  187. package/dist/atomic/{p-98c5b9b8.entry.js → p-b6377fb6.entry.js} +2 -2
  188. package/dist/atomic/{p-ea446721.entry.js → p-bd32625e.entry.js} +2 -2
  189. package/dist/atomic/{p-939eaaac.entry.js → p-bd99fcc1.entry.js} +2 -2
  190. package/dist/atomic/{p-99b8d52d.entry.js → p-bf49fed3.entry.js} +2 -2
  191. package/dist/atomic/{p-3f912e98.entry.js → p-c08f4ee6.entry.js} +2 -2
  192. package/dist/atomic/{p-7b0b9e9b.entry.js → p-c23a07f5.entry.js} +2 -2
  193. package/dist/atomic/p-c2b4b401.entry.js +2 -0
  194. package/dist/atomic/{p-a53c7821.entry.js → p-c538c8ac.entry.js} +2 -2
  195. package/dist/atomic/{p-43d708cb.entry.js → p-c9fe4f77.entry.js} +2 -2
  196. package/dist/atomic/{p-ae060711.entry.js → p-ce41c447.entry.js} +2 -2
  197. package/dist/atomic/{p-fa8b7c4c.entry.js → p-d4ad7336.entry.js} +2 -2
  198. package/dist/atomic/{p-627e1265.entry.js → p-d50c96c2.entry.js} +2 -2
  199. package/dist/atomic/{p-bc0d6d3d.entry.js → p-dee60597.entry.js} +2 -2
  200. package/dist/atomic/{p-b2ff1330.entry.js → p-e1c99e2e.entry.js} +2 -2
  201. package/dist/atomic/{p-6e6d686e.entry.js → p-e3af1bb4.entry.js} +2 -2
  202. package/dist/atomic/{p-7dfcd6af.entry.js → p-e6a7e7b2.entry.js} +2 -2
  203. package/dist/atomic/{p-594488f2.entry.js → p-f0012580.entry.js} +2 -2
  204. package/dist/atomic/{p-877d35b1.entry.js → p-f4780315.entry.js} +2 -2
  205. package/dist/atomic/{p-fea7bf3b.entry.js → p-f936f55e.entry.js} +2 -2
  206. package/dist/cjs/_index.cjs.js +2 -5
  207. package/dist/cjs/_loader.cjs.js +1 -1
  208. package/dist/cjs/{analytics-config-6f3e02b2.js → analytics-config-438befe9.js} +2 -2
  209. package/dist/cjs/{analytics-config-6f3e02b2.js.map → analytics-config-438befe9.js.map} +1 -1
  210. package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
  211. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  212. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  213. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
  214. package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
  215. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  216. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  217. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  218. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  219. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  220. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
  221. package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
  222. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  223. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  224. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
  225. package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
  226. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  227. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
  228. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
  229. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +1 -1
  230. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  231. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  232. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +1 -1
  233. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +1 -1
  234. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  235. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  236. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  237. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  238. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  239. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +5 -5
  240. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  241. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  242. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  243. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  244. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  245. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  246. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  247. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  248. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  249. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  250. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  251. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  252. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  253. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  254. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  255. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
  256. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +2 -1
  257. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  258. package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
  259. package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
  260. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  261. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  262. package/dist/cjs/atomic-recs-error.cjs.entry.js +1 -1
  263. package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
  264. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  265. package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
  266. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
  267. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +2 -2
  268. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  269. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  270. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  271. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  272. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  273. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +3 -3
  274. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +1 -1
  275. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +5 -5
  276. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js.map +1 -1
  277. package/dist/cjs/atomic-search-box.cjs.entry.js +7 -7
  278. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  279. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  280. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  281. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  282. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  283. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  284. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +3 -3
  285. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  286. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js.map +1 -1
  287. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  288. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  289. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  290. package/dist/cjs/atomic.cjs.js +1 -1
  291. package/dist/cjs/index-757bc886.js +4 -8
  292. package/dist/cjs/index.cjs.js.map +1 -1
  293. package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +1 -1
  294. package/dist/cjs/{stencil-suggestion-manager-2cba6d69.js → stencil-suggestion-manager-c0878ef2.js} +4 -4
  295. package/dist/cjs/{stencil-suggestion-manager-2cba6d69.js.map → stencil-suggestion-manager-c0878ef2.js.map} +1 -1
  296. package/dist/cjs/{suggestions-events-63dd0640.js → suggestions-common-5097a362.js} +21 -17
  297. package/dist/cjs/suggestions-common-5097a362.js.map +1 -0
  298. package/dist/cjs/version.cjs.js +2 -2
  299. package/dist/esm/_index.js +1 -2
  300. package/dist/esm/_loader.js +1 -1
  301. package/dist/esm/{analytics-config-27f339e8.js → analytics-config-d6a24455.js} +2 -2
  302. package/dist/esm/{analytics-config-27f339e8.js.map → analytics-config-d6a24455.js.map} +1 -1
  303. package/dist/esm/atomic-category-facet.entry.js +1 -1
  304. package/dist/esm/atomic-citation.entry.js +1 -1
  305. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  306. package/dist/esm/atomic-facet-number-input.entry.js +2 -2
  307. package/dist/esm/atomic-facet.entry.js +1 -1
  308. package/dist/esm/atomic-format-currency.entry.js +1 -1
  309. package/dist/esm/atomic-format-number.entry.js +1 -1
  310. package/dist/esm/atomic-format-unit.entry.js +1 -1
  311. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
  312. package/dist/esm/atomic-html.entry.js +1 -1
  313. package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
  314. package/dist/esm/atomic-insight-facet.entry.js +1 -1
  315. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  316. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  317. package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
  318. package/dist/esm/atomic-insight-interface.entry.js +2 -2
  319. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  320. package/dist/esm/atomic-insight-numeric-facet.entry.js +1 -1
  321. package/dist/esm/atomic-insight-pager.entry.js +3 -3
  322. package/dist/esm/atomic-insight-query-error.entry.js +1 -1
  323. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  324. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  325. package/dist/esm/atomic-insight-result-action.entry.js +1 -1
  326. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +1 -1
  327. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  328. package/dist/esm/atomic-insight-result-children.entry.js +1 -1
  329. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  330. package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
  331. package/dist/esm/atomic-insight-result.entry.js +1 -1
  332. package/dist/esm/atomic-insight-search-box.entry.js +4 -4
  333. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  334. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  335. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  336. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  337. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  338. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  339. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  340. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  341. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  342. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  343. package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
  344. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  345. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  346. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  347. package/dist/esm/atomic-load-more-results.entry.js +1 -1
  348. package/dist/esm/atomic-no-results.entry.js +1 -1
  349. package/dist/esm/atomic-numeric-facet.entry.js +2 -1
  350. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  351. package/dist/esm/atomic-pager.entry.js +3 -3
  352. package/dist/esm/atomic-query-error.entry.js +1 -1
  353. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  354. package/dist/esm/atomic-quickview.entry.js +1 -1
  355. package/dist/esm/atomic-recs-error.entry.js +1 -1
  356. package/dist/esm/atomic-recs-interface.entry.js +2 -2
  357. package/dist/esm/atomic-recs-list.entry.js +1 -1
  358. package/dist/esm/atomic-refine-modal.entry.js +1 -1
  359. package/dist/esm/atomic-refine-toggle.entry.js +1 -1
  360. package/dist/esm/atomic-relevance-inspector.entry.js +2 -2
  361. package/dist/esm/atomic-result-children.entry.js +1 -1
  362. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  363. package/dist/esm/atomic-result-link.entry.js +1 -1
  364. package/dist/esm/atomic-result-list.entry.js +1 -1
  365. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  366. package/dist/esm/atomic-search-box-instant-results.entry.js +2 -2
  367. package/dist/esm/atomic-search-box-instant-results.entry.js.map +1 -1
  368. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +3 -3
  369. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js.map +1 -1
  370. package/dist/esm/atomic-search-box.entry.js +6 -6
  371. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  372. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  373. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  374. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  375. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  376. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  377. package/dist/esm/atomic-stencil-facet-date-input.entry.js +3 -3
  378. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  379. package/dist/esm/atomic-suggestion-renderer.entry.js.map +1 -1
  380. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  381. package/dist/esm/atomic-tab-button.entry.js +1 -1
  382. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  383. package/dist/esm/atomic.js +1 -1
  384. package/dist/esm/index-3f35faca.js +4 -8
  385. package/dist/esm/index.js.map +1 -1
  386. package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +1 -1
  387. package/dist/esm/{stencil-suggestion-manager-376f83e8.js → stencil-suggestion-manager-486094dd.js} +2 -2
  388. package/dist/esm/{stencil-suggestion-manager-376f83e8.js.map → stencil-suggestion-manager-486094dd.js.map} +1 -1
  389. package/dist/esm/{suggestions-events-b7a6f007.js → suggestions-common-2b20db26.js} +20 -18
  390. package/dist/esm/suggestions-common-2b20db26.js.map +1 -0
  391. package/dist/esm/version.js +2 -2
  392. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +3 -1
  393. package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +1 -1
  394. package/dist/types/components/commerce/atomic-commerce-layout/atomic-commerce-layout.d.ts +3 -3
  395. package/dist/types/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.d.ts +1 -1
  396. package/dist/types/components/commerce/atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions.d.ts +1 -1
  397. package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +1 -1
  398. package/dist/types/components/common/atomic-suggestion-renderer/atomic-suggestion-renderer.d.ts +1 -1
  399. package/dist/types/components/common/layout/layout-styles-controller.d.ts +22 -0
  400. package/dist/types/components/common/layout/mobile-breakpoint-controller.d.ts +18 -0
  401. package/dist/types/components/common/suggestions/instant-item.d.ts +1 -1
  402. package/dist/types/components/common/suggestions/query-suggestions.d.ts +1 -1
  403. package/dist/types/components/common/suggestions/recent-queries.d.ts +1 -1
  404. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +1 -1
  405. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +1 -1
  406. package/dist/types/components/common/suggestions/stencil-recent-queries.d.ts +1 -1
  407. package/dist/types/components/common/suggestions/stencil-suggestion-manager.d.ts +1 -1
  408. package/dist/types/components/common/suggestions/suggestion-manager.d.ts +1 -1
  409. package/dist/types/components/common/suggestions/{suggestions-types.d.ts → suggestions-common.d.ts} +16 -6
  410. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +1 -1
  411. package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +46 -44
  412. package/dist/types/components/search/atomic-search-interface/interfaces.d.ts +2 -1
  413. package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +3 -1
  414. package/dist/types/components/search/index.d.ts +1 -0
  415. package/dist/types/components/search/search-box-suggestions/atomic-search-box-instant-results/atomic-search-box-instant-results.d.ts +1 -1
  416. package/dist/types/components.d.ts +4 -167
  417. package/dist/types/decorators/types.d.ts +1 -1
  418. package/dist/types/index.d.ts +1 -3
  419. package/docs/atomic-docs.json +14 -577
  420. package/package.json +4 -4
  421. package/dist/atomic/components/atomic-relevance-inspector2.js +0 -50
  422. package/dist/atomic/components/atomic-relevance-inspector2.js.map +0 -1
  423. package/dist/atomic/components/atomic-search-interface.d.ts +0 -11
  424. package/dist/atomic/components/atomic-search-interface.js +0 -552
  425. package/dist/atomic/components/atomic-search-interface.js.map +0 -1
  426. package/dist/atomic/components/components/common/suggestions/suggestions-types.js +0 -1
  427. package/dist/atomic/components/components/common/suggestions/suggestions-utils.js +0 -18
  428. package/dist/atomic/components/suggestions-events.js.map +0 -1
  429. package/dist/atomic/p-0a051b8d.js +0 -2
  430. package/dist/atomic/p-0a051b8d.js.map +0 -1
  431. package/dist/atomic/p-16f4ce98.js +0 -2
  432. package/dist/atomic/p-16f4ce98.js.map +0 -1
  433. package/dist/atomic/p-1992b245.entry.js +0 -2
  434. package/dist/atomic/p-26a51a77.entry.js.map +0 -1
  435. package/dist/atomic/p-2ea486bd.entry.js +0 -2
  436. package/dist/atomic/p-2ea486bd.entry.js.map +0 -1
  437. package/dist/atomic/p-31f1e44e.entry.js.map +0 -1
  438. package/dist/atomic/p-4b7a19db.js +0 -2
  439. package/dist/atomic/p-4b7a19db.js.map +0 -1
  440. package/dist/atomic/p-c88a3d2d.entry.js.map +0 -1
  441. package/dist/atomic/p-d0f47b33.entry.js.map +0 -1
  442. package/dist/atomic/p-d24d34a7.entry.js +0 -2
  443. package/dist/atomic/p-e2afb475.entry.js +0 -2
  444. package/dist/atomic/p-fbfe913d.entry.js.map +0 -1
  445. package/dist/atomic/p-fcf3f7d7.entry.js +0 -2
  446. package/dist/cjs/atomic-search-interface.cjs.entry.js +0 -511
  447. package/dist/cjs/atomic-search-interface.cjs.entry.js.map +0 -1
  448. package/dist/cjs/suggestions-events-63dd0640.js.map +0 -1
  449. package/dist/cjs/suggestions-utils-61000808.js +0 -25
  450. package/dist/cjs/suggestions-utils-61000808.js.map +0 -1
  451. package/dist/esm/atomic-search-interface.entry.js +0 -507
  452. package/dist/esm/atomic-search-interface.entry.js.map +0 -1
  453. package/dist/esm/suggestions-events-b7a6f007.js.map +0 -1
  454. package/dist/esm/suggestions-utils-591559a0.js +0 -22
  455. package/dist/esm/suggestions-utils-591559a0.js.map +0 -1
  456. package/dist/types/components/common/suggestions/suggestions-events.d.ts +0 -14
  457. package/dist/types/components/common/suggestions/suggestions-utils.d.ts +0 -15
  458. /package/dist/atomic/{p-6329ff94.entry.js.map → p-004adbb8.entry.js.map} +0 -0
  459. /package/dist/atomic/{p-f5cc5a8f.entry.js.map → p-05530e9e.entry.js.map} +0 -0
  460. /package/dist/atomic/{p-3b20b011.entry.js.map → p-0610b3e7.entry.js.map} +0 -0
  461. /package/dist/atomic/{p-ee6771f1.entry.js.map → p-07b6424c.entry.js.map} +0 -0
  462. /package/dist/atomic/{p-7a625c7e.entry.js.map → p-094b61d4.entry.js.map} +0 -0
  463. /package/dist/atomic/{p-83c9244a.entry.js.map → p-0e27d4f2.entry.js.map} +0 -0
  464. /package/dist/atomic/{p-c126ee6b.entry.js.map → p-0e5dc57f.entry.js.map} +0 -0
  465. /package/dist/atomic/{p-1992b245.entry.js.map → p-0edea6f9.entry.js.map} +0 -0
  466. /package/dist/atomic/{p-20341936.entry.js.map → p-10b5e0f3.entry.js.map} +0 -0
  467. /package/dist/atomic/{p-2ca352f4.entry.js.map → p-15406648.entry.js.map} +0 -0
  468. /package/dist/atomic/{p-a3efa89e.entry.js.map → p-160553ce.entry.js.map} +0 -0
  469. /package/dist/atomic/{p-78b70622.entry.js.map → p-25eabe15.entry.js.map} +0 -0
  470. /package/dist/atomic/{p-de066001.entry.js.map → p-2a4e9425.entry.js.map} +0 -0
  471. /package/dist/atomic/{p-75e00690.entry.js.map → p-33899ab5.entry.js.map} +0 -0
  472. /package/dist/atomic/{p-7b899b57.entry.js.map → p-394c600f.entry.js.map} +0 -0
  473. /package/dist/atomic/{p-a760d9f9.entry.js.map → p-3c823399.entry.js.map} +0 -0
  474. /package/dist/atomic/{p-021f01d6.entry.js.map → p-41c5d5fa.entry.js.map} +0 -0
  475. /package/dist/atomic/{p-e23b3334.entry.js.map → p-441b1a7b.entry.js.map} +0 -0
  476. /package/dist/atomic/{p-330e6e7c.entry.js.map → p-45840906.entry.js.map} +0 -0
  477. /package/dist/atomic/{p-f22bcb8c.entry.js.map → p-4b4b2626.entry.js.map} +0 -0
  478. /package/dist/atomic/{p-8813e3fe.js.map → p-5100a30e.js.map} +0 -0
  479. /package/dist/atomic/{p-c1999888.entry.js.map → p-754909fe.entry.js.map} +0 -0
  480. /package/dist/atomic/{p-811d6dcb.entry.js.map → p-780170e5.entry.js.map} +0 -0
  481. /package/dist/atomic/{p-36fab158.entry.js.map → p-7a6468a7.entry.js.map} +0 -0
  482. /package/dist/atomic/{p-3a2c900c.entry.js.map → p-7b1a3cab.entry.js.map} +0 -0
  483. /package/dist/atomic/{p-d93adf52.entry.js.map → p-7d63bf7b.entry.js.map} +0 -0
  484. /package/dist/atomic/{p-4b3d253b.entry.js.map → p-7dd3d72f.entry.js.map} +0 -0
  485. /package/dist/atomic/{p-d364064c.entry.js.map → p-7f40e57d.entry.js.map} +0 -0
  486. /package/dist/atomic/{p-c49cfa0c.entry.js.map → p-80683e4c.entry.js.map} +0 -0
  487. /package/dist/atomic/{p-984b2c0c.entry.js.map → p-843c195c.entry.js.map} +0 -0
  488. /package/dist/atomic/{p-d785121d.entry.js.map → p-856e858c.entry.js.map} +0 -0
  489. /package/dist/atomic/{p-b28011e6.entry.js.map → p-867fd04d.entry.js.map} +0 -0
  490. /package/dist/atomic/{p-534b6a0a.entry.js.map → p-87c6c206.entry.js.map} +0 -0
  491. /package/dist/atomic/{p-e162805d.entry.js.map → p-8a7a23b7.entry.js.map} +0 -0
  492. /package/dist/atomic/{p-604c4085.entry.js.map → p-8df7270f.entry.js.map} +0 -0
  493. /package/dist/atomic/{p-8256cd44.entry.js.map → p-9147b0db.entry.js.map} +0 -0
  494. /package/dist/atomic/{p-aa2a81fd.entry.js.map → p-9349aa1a.entry.js.map} +0 -0
  495. /package/dist/atomic/{p-37374964.entry.js.map → p-9727f36b.entry.js.map} +0 -0
  496. /package/dist/atomic/{p-d24d34a7.entry.js.map → p-97829295.entry.js.map} +0 -0
  497. /package/dist/atomic/{p-31aa052e.entry.js.map → p-97e42c43.entry.js.map} +0 -0
  498. /package/dist/atomic/{p-93e29b24.entry.js.map → p-9b92b4e2.entry.js.map} +0 -0
  499. /package/dist/atomic/{p-1ef658d8.entry.js.map → p-9d023f0b.entry.js.map} +0 -0
  500. /package/dist/atomic/{p-40635c2d.entry.js.map → p-9e771351.entry.js.map} +0 -0
  501. /package/dist/atomic/{p-d00a12e9.entry.js.map → p-a278ffde.entry.js.map} +0 -0
  502. /package/dist/atomic/{p-035f8dc8.entry.js.map → p-a3fa6695.entry.js.map} +0 -0
  503. /package/dist/atomic/{p-f0c2dfe8.entry.js.map → p-abb14108.entry.js.map} +0 -0
  504. /package/dist/atomic/{p-52ba404c.entry.js.map → p-aed46103.entry.js.map} +0 -0
  505. /package/dist/atomic/{p-48f57fd8.entry.js.map → p-b0c50194.entry.js.map} +0 -0
  506. /package/dist/atomic/{p-b0b17e21.entry.js.map → p-b4c34553.entry.js.map} +0 -0
  507. /package/dist/atomic/{p-98c5b9b8.entry.js.map → p-b6377fb6.entry.js.map} +0 -0
  508. /package/dist/atomic/{p-ea446721.entry.js.map → p-bd32625e.entry.js.map} +0 -0
  509. /package/dist/atomic/{p-939eaaac.entry.js.map → p-bd99fcc1.entry.js.map} +0 -0
  510. /package/dist/atomic/{p-99b8d52d.entry.js.map → p-bf49fed3.entry.js.map} +0 -0
  511. /package/dist/atomic/{p-3f912e98.entry.js.map → p-c08f4ee6.entry.js.map} +0 -0
  512. /package/dist/atomic/{p-7b0b9e9b.entry.js.map → p-c23a07f5.entry.js.map} +0 -0
  513. /package/dist/atomic/{p-e2afb475.entry.js.map → p-c2b4b401.entry.js.map} +0 -0
  514. /package/dist/atomic/{p-a53c7821.entry.js.map → p-c538c8ac.entry.js.map} +0 -0
  515. /package/dist/atomic/{p-43d708cb.entry.js.map → p-c9fe4f77.entry.js.map} +0 -0
  516. /package/dist/atomic/{p-ae060711.entry.js.map → p-ce41c447.entry.js.map} +0 -0
  517. /package/dist/atomic/{p-fa8b7c4c.entry.js.map → p-d4ad7336.entry.js.map} +0 -0
  518. /package/dist/atomic/{p-627e1265.entry.js.map → p-d50c96c2.entry.js.map} +0 -0
  519. /package/dist/atomic/{p-bc0d6d3d.entry.js.map → p-dee60597.entry.js.map} +0 -0
  520. /package/dist/atomic/{p-b2ff1330.entry.js.map → p-e1c99e2e.entry.js.map} +0 -0
  521. /package/dist/atomic/{p-6e6d686e.entry.js.map → p-e3af1bb4.entry.js.map} +0 -0
  522. /package/dist/atomic/{p-7dfcd6af.entry.js.map → p-e6a7e7b2.entry.js.map} +0 -0
  523. /package/dist/atomic/{p-594488f2.entry.js.map → p-f0012580.entry.js.map} +0 -0
  524. /package/dist/atomic/{p-877d35b1.entry.js.map → p-f4780315.entry.js.map} +0 -0
  525. /package/dist/atomic/{p-fea7bf3b.entry.js.map → p-f936f55e.entry.js.map} +0 -0
@@ -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: 'a9115a4868e39afbdb588fa0f3454d02308e36f5', class: "mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2", onSubmit: (e) => {
69
+ return (h("form", { key: '60acc60ec8b30e3eaa4d0e2e1426732925ff352c', 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: '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,
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,
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: '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 })));
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 })));
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: '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) => {
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) => {
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-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}
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}
@@ -59,7 +59,7 @@ const AtomicTabManager$1 = /*@__PURE__*/ proxyCustomElement(class AtomicTabManag
59
59
  });
60
60
  }
61
61
  render() {
62
- return (h(Host, { key: 'abd272be633c8913b9c64f3b20d529373e7ca08c' }, h("atomic-tab-bar", { key: 'd21406c4e28a1a4fecd2986d97aa292f0cfd48a9' }, h("div", { key: '6a0375f62e5a178cec1737108984ac1e497370bd', role: "list", "aria-label": "tab-area", part: "tab-area", class: "border-neutral mb-2 flex w-full flex-row border-b" }, this.tabs.map((tab) => (h("atomic-tab-button", { active: this.tabManagerState.activeTab === tab.name, label: this.bindings.i18n.t(tab.label, {
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, {
63
63
  defaultValue: tab.label,
64
64
  }), select: () => {
65
65
  if (!tab.tabController.state.isActive) {
@@ -115,23 +115,33 @@ let AtomicCommerceBreadbox = class AtomicCommerceBreadbox extends LitElement {
115
115
  this.breadcrumbShowMoreFocus = new FocusTargetController(this, this.bindings);
116
116
  this.breadcrumbShowLessFocus = new FocusTargetController(this, this.bindings);
117
117
  }
118
- updated(changedProperties) {
119
- super.updated(changedProperties);
118
+ willUpdate(changedProperties) {
120
119
  if (changedProperties.has('pathLimit')) {
121
120
  this.validateProps();
122
121
  }
122
+ }
123
+ firstUpdated() {
124
+ this.adaptBreadcrumbs();
125
+ }
126
+ updateCompleted() {
123
127
  this.adaptBreadcrumbs();
124
128
  }
125
129
  validateProps() {
126
- new Schema({
127
- pathLimit: new NumberValue({
128
- default: 3,
129
- min: 1,
130
- required: false,
131
- }),
132
- }).validate({
133
- pathLimit: this.pathLimit,
134
- });
130
+ try {
131
+ new Schema({
132
+ pathLimit: new NumberValue({
133
+ default: 3,
134
+ min: 1,
135
+ required: false,
136
+ }),
137
+ }).validate({
138
+ pathLimit: this.pathLimit,
139
+ });
140
+ }
141
+ catch (error) {
142
+ this.error = error;
143
+ return;
144
+ }
135
145
  }
136
146
  disconnectedCallback() {
137
147
  this.resizeObserver?.disconnect();
@@ -9,6 +9,7 @@ import { provide } from '@lit/context';
9
9
  import i18next from 'i18next';
10
10
  import { css, html, LitElement } from 'lit';
11
11
  import { customElement, property, state } from 'lit/decorators.js';
12
+ import { MobileBreakpointController } from "../../common/layout/mobile-breakpoint-controller";
12
13
  import { booleanConverter } from "../../../converters/boolean-converter";
13
14
  import { errorGuard } from "../../../decorators/error-guard";
14
15
  import { watch } from "../../../decorators/watch";
@@ -85,6 +86,7 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
85
86
  this.urlManager.synchronize(this.fragment);
86
87
  };
87
88
  this.store = createCommerceStore(this.type);
89
+ this._mobileBreakpointController = new MobileBreakpointController(this, this.store);
88
90
  const { promise, resolve } = Promise.withResolvers();
89
91
  this.i18Initialized = promise;
90
92
  this.i18n = i18next.createInstance(undefined, resolve);
@@ -92,7 +94,6 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
92
94
  connectedCallback() {
93
95
  super.connectedCallback();
94
96
  this.store.setLoadingFlag(FirstRequestExecutedFlag);
95
- this.updateMobileBreakpoint();
96
97
  this.addEventListener('atomic/initializeComponent', this.handleInitialization);
97
98
  this.addEventListener('atomic/scrollToTop', this.scrollToTop);
98
99
  }
@@ -285,12 +286,6 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
285
286
  history.pushState(null, document.title, `#${newFragment}`);
286
287
  this.bindings.engine.logger.info(`History pushState #${newFragment}`);
287
288
  }
288
- updateMobileBreakpoint() {
289
- const breakpoint = this.querySelector('atomic-commerce-layout')?.mobileBreakpoint;
290
- if (breakpoint) {
291
- this.store.state.mobileBreakpoint = breakpoint;
292
- }
293
- }
294
289
  };
295
290
  AtomicCommerceInterface.styles = [
296
291
  css`:host{display:block;height:inherit;width:inherit;&>slot{height:inherit}}`,
@@ -4,11 +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, unsafeCSS } from 'lit';
7
+ import { LitElement } 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";
9
11
  import { ChildrenUpdateCompleteMixin } from "../../../mixins/children-update-complete-mixin";
10
12
  import { LightDomMixin } from "../../../mixins/light-dom";
11
- import { randomID } from "../../../utils/utils";
12
13
  import { DEFAULT_MOBILE_BREAKPOINT } from '../../../utils/replace-breakpoint-utils';
13
14
  import styles from './atomic-commerce-layout.tw.css';
14
15
  import { buildCommerceLayout } from './commerce-layout';
@@ -18,8 +19,6 @@ import { buildCommerceLayout } from './commerce-layout';
18
19
  * @cssprop --atomic-layout-max-search-box-input-width: The maximum width that the search box input will take.
19
20
  * @cssprop --atomic-layout-max-search-box-double-suggestions-width: The maximum width that the search box suggestions will take when displaying a double list.
20
21
  * @cssprop --atomic-layout-search-box-left-suggestions-width: The width of the left list when displaying a double list.
21
- *
22
- * @slot default - The default slot for the layout content.
23
22
  */
24
23
  let AtomicCommerceLayout = class AtomicCommerceLayout extends LightDomMixin(ChildrenUpdateCompleteMixin(LitElement)) {
25
24
  constructor() {
@@ -29,15 +28,22 @@ let AtomicCommerceLayout = class AtomicCommerceLayout extends LightDomMixin(Chil
29
28
  * E.g., 800px, 65rem.
30
29
  */
31
30
  this.mobileBreakpoint = DEFAULT_MOBILE_BREAKPOINT;
32
- }
33
- async addStyles() {
34
- await this.getUpdateComplete();
35
- this.injectStyles(unsafeCSS(buildCommerceLayout(this, this.mobileBreakpoint)));
31
+ this.layoutStylesController = new LayoutStylesController(this, buildCommerceLayout, 'atomic-commerce-layout-');
36
32
  }
37
33
  connectedCallback() {
38
34
  super.connectedCallback();
39
- this.id = randomID('atomic-commerce-layout-');
40
- this.addStyles();
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();
41
47
  }
42
48
  };
43
49
  AtomicCommerceLayout.styles = [styles];
@@ -47,6 +53,9 @@ __decorate([
47
53
  __decorate([
48
54
  property({ type: String, reflect: true, attribute: 'mobile-breakpoint' })
49
55
  ], AtomicCommerceLayout.prototype, "mobileBreakpoint", void 0);
56
+ __decorate([
57
+ watch('mobileBreakpoint')
58
+ ], AtomicCommerceLayout.prototype, "onMobileBreakpointChange", null);
50
59
  AtomicCommerceLayout = __decorate([
51
60
  customElement('atomic-commerce-layout')
52
61
  ], AtomicCommerceLayout);
@@ -25,7 +25,7 @@ import { renderSearchBoxWrapper } from '../../common/search-box/search-box-wrapp
25
25
  import { renderSearchBoxTextArea } from '../../common/search-box/search-text-area';
26
26
  import { renderSubmitButton } from '../../common/search-box/submit-button';
27
27
  import { SuggestionManager } from '../../common/suggestions/suggestion-manager';
28
- import { elementHasQuery } from '../../common/suggestions/suggestions-utils';
28
+ import { elementHasQuery, } from '../../common/suggestions/suggestions-common';
29
29
  import '../atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products';
30
30
  import '../atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions';
31
31
  import '../atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries';
@@ -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-events";
12
+ import { dispatchSearchBoxSuggestionsEvent, } from "../../common/suggestions/suggestions-common";
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-events";
11
+ import { dispatchSearchBoxSuggestionsEvent, } from "../../common/suggestions/suggestions-common";
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-events';
15
+ import { dispatchSearchBoxSuggestionsEvent, } from '../../common/suggestions/suggestions-common';
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
  */
@@ -0,0 +1,40 @@
1
+ import { randomID } from "../../../utils/utils";
2
+ /**
3
+ * A reactive controller that manages dynamic layout styles.
4
+ */
5
+ export class LayoutStylesController {
6
+ constructor(host, stylesBuilder, componentPrefix) {
7
+ this.dynamicStyleSheet = null;
8
+ this.host = host;
9
+ this.stylesBuilder = stylesBuilder;
10
+ this.componentPrefix = componentPrefix;
11
+ this.host.addController(this);
12
+ }
13
+ hostConnected() {
14
+ if (!this.host.id) {
15
+ this.host.id = randomID(this.componentPrefix);
16
+ }
17
+ this.updateStyles();
18
+ }
19
+ /**
20
+ * Updates the dynamic styles based on the current mobile breakpoint
21
+ */
22
+ updateStyles() {
23
+ const parent = this.host.getRootNode();
24
+ const isDocumentOrShadowRoot = parent instanceof Document || parent instanceof ShadowRoot;
25
+ if (!isDocumentOrShadowRoot) {
26
+ return;
27
+ }
28
+ const newStylesCSS = this.stylesBuilder(this.host, this.host.mobileBreakpoint);
29
+ if (!this.dynamicStyleSheet) {
30
+ this.dynamicStyleSheet = new CSSStyleSheet();
31
+ this.dynamicStyleSheet.replaceSync(newStylesCSS);
32
+ parent.adoptedStyleSheets = [
33
+ ...parent.adoptedStyleSheets,
34
+ this.dynamicStyleSheet,
35
+ ];
36
+ return;
37
+ }
38
+ this.dynamicStyleSheet.replaceSync(newStylesCSS);
39
+ }
40
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * A reactive controller that manages mobile breakpoint changes through event communication.
3
+ * This controller listens for 'atomic-layout-breakpoint-change' events and updates a store
4
+ * with the new breakpoint value.
5
+ */
6
+ export class MobileBreakpointController {
7
+ constructor(host, store) {
8
+ this.host = host;
9
+ this.store = store;
10
+ this.eventListener = this.handleBreakpointChange.bind(this);
11
+ this.host.addController(this);
12
+ }
13
+ hostConnected() {
14
+ this.host.addEventListener('atomic-layout-breakpoint-change', this.eventListener);
15
+ }
16
+ hostDisconnected() {
17
+ this.host.removeEventListener('atomic-layout-breakpoint-change', this.eventListener);
18
+ }
19
+ handleBreakpointChange(e) {
20
+ const customEvent = e;
21
+ const newBreakpoint = customEvent.detail?.breakpoint;
22
+ if (newBreakpoint && this.store.state.mobileBreakpoint !== newBreakpoint) {
23
+ this.store.state.mobileBreakpoint = newBreakpoint;
24
+ }
25
+ }
26
+ }
@@ -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-utils';
5
+ import { elementHasNoQuery, elementHasQuery, } from './suggestions-common';
6
6
  export class SuggestionManager {
7
7
  constructor(ownerSearchBoxProps) {
8
8
  this.ownerSearchBoxProps = ownerSearchBoxProps;
@@ -1,21 +1,5 @@
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
- };
19
3
  const searchBoxElements = [
20
4
  'atomic-search-box',
21
5
  'atomic-insight-search-box',
@@ -33,3 +17,21 @@ const dispatchSearchBoxSuggestionsEventEventually = async (interfaceElement, ele
33
17
  }
34
18
  element.dispatchEvent(buildCustomEvent('atomic/searchBoxSuggestion/register', event));
35
19
  };
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,57 @@
1
+ import { augmentAnalyticsConfigWithAtomicVersion, augmentAnalyticsConfigWithDocument, augmentAnalyticsWithAtomicVersion, augmentWithExternalMiddleware, getNextAnalyticsConfig, } from '../../common/interface/analytics-config';
2
+ export function getAnalyticsConfig(searchEngineConfig, enabled, store) {
3
+ switch (searchEngineConfig.analytics?.analyticsMode) {
4
+ case 'next':
5
+ return getNextAnalyticsConfig(searchEngineConfig, enabled);
6
+ default:
7
+ return getLegacyAnalyticsConfig(searchEngineConfig, enabled, store);
8
+ }
9
+ }
10
+ function getLegacyAnalyticsConfig(searchEngineConfig, enabled, store) {
11
+ const analyticsClientMiddleware = (event, payload) => augmentAnalytics(event, payload, store, searchEngineConfig);
12
+ const defaultConfiguration = {
13
+ analyticsClientMiddleware,
14
+ enabled,
15
+ ...augmentAnalyticsConfigWithDocument(),
16
+ };
17
+ const immutableConfiguration = {
18
+ ...augmentAnalyticsConfigWithAtomicVersion(),
19
+ };
20
+ if (searchEngineConfig.analytics) {
21
+ return {
22
+ ...defaultConfiguration,
23
+ ...searchEngineConfig.analytics,
24
+ analyticsClientMiddleware,
25
+ ...immutableConfiguration,
26
+ };
27
+ }
28
+ return {
29
+ ...defaultConfiguration,
30
+ ...immutableConfiguration,
31
+ };
32
+ }
33
+ function augmentAnalytics(event, payload, store, config) {
34
+ let result = augmentWithExternalMiddleware(event, payload, config);
35
+ result = augmentAnalyticsWithAtomicVersion(result);
36
+ result = augmentAnalyticsWithFacetTitles(result, store);
37
+ return result;
38
+ }
39
+ function augmentAnalyticsWithFacetTitles(payload, store) {
40
+ const allFacets = store.getAllFacets();
41
+ const getAtomicFacetLabelOrOriginalTitle = (facetId, originalTitle) => (allFacets[facetId] ? allFacets[facetId].label() : originalTitle);
42
+ if (payload.facetState) {
43
+ payload.facetState = payload.facetState.map((analyticsFacetState) => {
44
+ const { id, title: originalTitle } = analyticsFacetState;
45
+ return {
46
+ ...analyticsFacetState,
47
+ title: getAtomicFacetLabelOrOriginalTitle(id, originalTitle),
48
+ };
49
+ });
50
+ }
51
+ if (payload.customData?.facetTitle &&
52
+ payload.customData.facetId &&
53
+ payload.customData.facetTitle) {
54
+ payload.customData.facetTitle = getAtomicFacetLabelOrOriginalTitle(payload.customData.facetId, payload.customData.facetTitle);
55
+ }
56
+ return payload;
57
+ }