@coveo/atomic 3.33.8-pre.a6ca64b34f → 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 (547) 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 -2
  6. package/dist/atomic/components/_index.js +2 -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 +2 -2
  22. package/dist/atomic/components/atomic-insight-history-toggle.js.map +1 -1
  23. package/dist/atomic/components/atomic-insight-interface.js +1 -1
  24. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  25. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  26. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  27. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  28. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  29. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  30. package/dist/atomic/components/atomic-insight-result-action.js +1 -1
  31. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +1 -1
  32. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
  33. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  34. package/dist/atomic/components/atomic-insight-result-list.js +1 -1
  35. package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
  36. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  37. package/dist/atomic/components/atomic-insight-search-box.js +4 -3
  38. package/dist/atomic/components/atomic-insight-search-box.js.map +1 -1
  39. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  40. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  41. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  42. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +2 -2
  43. package/dist/atomic/components/atomic-insight-user-actions-toggle.js.map +1 -1
  44. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  45. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  46. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  47. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  48. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
  49. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  50. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  51. package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
  52. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  53. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  54. package/dist/atomic/components/atomic-no-results.js +1 -1
  55. package/dist/atomic/components/atomic-numeric-facet.js +2 -1
  56. package/dist/atomic/components/atomic-numeric-facet.js.map +1 -1
  57. package/dist/atomic/components/atomic-pager.js +3 -3
  58. package/dist/atomic/components/atomic-query-error.js +1 -1
  59. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  60. package/dist/atomic/components/atomic-quickview.js +1 -1
  61. package/dist/atomic/components/atomic-recs-error.js +1 -1
  62. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  63. package/dist/atomic/components/atomic-recs-list.js +1 -1
  64. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  65. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  66. package/dist/atomic/components/atomic-relevance-inspector.js +46 -1
  67. package/dist/atomic/components/atomic-relevance-inspector.js.map +1 -1
  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-queries.d.ts +11 -0
  79. package/dist/atomic/components/atomic-search-box-recent-queries.js +8 -0
  80. package/dist/atomic/components/atomic-search-box-recent-queries.js.map +1 -0
  81. package/dist/atomic/components/atomic-search-box-recent-queries2.js +183 -0
  82. package/dist/atomic/components/atomic-search-box-recent-queries2.js.map +1 -0
  83. package/dist/atomic/components/atomic-search-box.js +14 -7
  84. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  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/clock.js +2 -2
  97. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +4 -1
  98. package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +1 -1
  99. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +1 -1
  100. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.js +1 -1
  101. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions.js +1 -1
  102. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +1 -1
  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-events.js → suggestions-common.js} +18 -16
  106. package/dist/atomic/components/components/search/atomic-search-interface/analytics-config.js +57 -0
  107. package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +493 -0
  108. package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +20 -9
  109. package/dist/atomic/components/components/search/index.js +1 -1
  110. package/dist/atomic/components/components/search/lazy-index.js +1 -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 +2 -20
  116. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  117. package/dist/atomic/components/{suggestions-events.js → suggestions-common.js} +20 -18
  118. package/dist/atomic/components/suggestions-common.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-ba4bf29f.entry.js → p-004adbb8.entry.js} +2 -2
  124. package/dist/atomic/{p-9187a339.entry.js → p-05530e9e.entry.js} +2 -2
  125. package/dist/atomic/{p-3b20b011.entry.js → p-0610b3e7.entry.js} +2 -2
  126. package/dist/atomic/{p-ee6771f1.entry.js → p-07b6424c.entry.js} +2 -2
  127. package/dist/atomic/{p-ae98c582.entry.js → p-094b61d4.entry.js} +2 -2
  128. package/dist/atomic/{p-83c9244a.entry.js → p-0e27d4f2.entry.js} +2 -2
  129. package/dist/atomic/{p-c126ee6b.entry.js → p-0e5dc57f.entry.js} +2 -2
  130. package/dist/atomic/p-0edea6f9.entry.js +2 -0
  131. package/dist/atomic/{p-20341936.entry.js → p-10b5e0f3.entry.js} +2 -2
  132. package/dist/atomic/{p-2ca352f4.entry.js → p-15406648.entry.js} +2 -2
  133. package/dist/atomic/{p-a3efa89e.entry.js → p-160553ce.entry.js} +2 -2
  134. package/dist/atomic/{p-fbfe913d.entry.js → p-1c6f7489.entry.js} +2 -2
  135. package/dist/atomic/p-1c6f7489.entry.js.map +1 -0
  136. package/dist/atomic/{p-78b70622.entry.js → p-25eabe15.entry.js} +2 -2
  137. package/dist/atomic/p-29fd6768.js +2 -0
  138. package/dist/atomic/p-29fd6768.js.map +1 -0
  139. package/dist/atomic/{p-de066001.entry.js → p-2a4e9425.entry.js} +2 -2
  140. package/dist/atomic/{p-c88a3d2d.entry.js → p-2d27675d.entry.js} +2 -2
  141. package/dist/atomic/p-2d27675d.entry.js.map +1 -0
  142. package/dist/atomic/{p-75e00690.entry.js → p-33899ab5.entry.js} +2 -2
  143. package/dist/atomic/{p-7b899b57.entry.js → p-394c600f.entry.js} +2 -2
  144. package/dist/atomic/{p-a760d9f9.entry.js → p-3c823399.entry.js} +2 -2
  145. package/dist/atomic/{p-26a51a77.entry.js → p-3db62800.entry.js} +2 -2
  146. package/dist/atomic/p-3db62800.entry.js.map +1 -0
  147. package/dist/atomic/{p-021f01d6.entry.js → p-41c5d5fa.entry.js} +2 -2
  148. package/dist/atomic/{p-e23b3334.entry.js → p-441b1a7b.entry.js} +2 -2
  149. package/dist/atomic/{p-330e6e7c.entry.js → p-45840906.entry.js} +2 -2
  150. package/dist/atomic/{p-f22bcb8c.entry.js → p-4b4b2626.entry.js} +2 -2
  151. package/dist/atomic/{p-82cda72d.js → p-5100a30e.js} +2 -2
  152. package/dist/atomic/p-6de44060.entry.js +2 -0
  153. package/dist/atomic/{p-fcf3f7d7.entry.js.map → p-6de44060.entry.js.map} +1 -1
  154. package/dist/atomic/{p-c1999888.entry.js → p-754909fe.entry.js} +2 -2
  155. package/dist/atomic/p-7601c3de.js +2 -0
  156. package/dist/atomic/p-7601c3de.js.map +1 -0
  157. package/dist/atomic/{p-811d6dcb.entry.js → p-780170e5.entry.js} +2 -2
  158. package/dist/atomic/{p-36fab158.entry.js → p-7a6468a7.entry.js} +2 -2
  159. package/dist/atomic/{p-3a2c900c.entry.js → p-7b1a3cab.entry.js} +2 -2
  160. package/dist/atomic/{p-d93adf52.entry.js → p-7d63bf7b.entry.js} +2 -2
  161. package/dist/atomic/{p-4b3d253b.entry.js → p-7dd3d72f.entry.js} +2 -2
  162. package/dist/atomic/{p-d364064c.entry.js → p-7f40e57d.entry.js} +2 -2
  163. package/dist/atomic/{p-c49cfa0c.entry.js → p-80683e4c.entry.js} +2 -2
  164. package/dist/atomic/{p-3a5257b5.entry.js → p-843c195c.entry.js} +2 -2
  165. package/dist/atomic/{p-d785121d.entry.js → p-856e858c.entry.js} +2 -2
  166. package/dist/atomic/{p-b28011e6.entry.js → p-867fd04d.entry.js} +2 -2
  167. package/dist/atomic/{p-534b6a0a.entry.js → p-87c6c206.entry.js} +2 -2
  168. package/dist/atomic/{p-e162805d.entry.js → p-8a7a23b7.entry.js} +2 -2
  169. package/dist/atomic/p-8bac9d25.entry.js +2 -0
  170. package/dist/atomic/p-8bac9d25.entry.js.map +1 -0
  171. package/dist/atomic/{p-604c4085.entry.js → p-8df7270f.entry.js} +2 -2
  172. package/dist/atomic/{p-8256cd44.entry.js → p-9147b0db.entry.js} +2 -2
  173. package/dist/atomic/{p-39e63678.entry.js → p-9349aa1a.entry.js} +2 -2
  174. package/dist/atomic/{p-37374964.entry.js → p-9727f36b.entry.js} +2 -2
  175. package/dist/atomic/p-97829295.entry.js +2 -0
  176. package/dist/atomic/{p-31aa052e.entry.js → p-97e42c43.entry.js} +2 -2
  177. package/dist/atomic/{p-3c8d109e.entry.js → p-9b241ca5.entry.js} +2 -2
  178. package/dist/atomic/{p-3c8d109e.entry.js.map → p-9b241ca5.entry.js.map} +1 -1
  179. package/dist/atomic/{p-93e29b24.entry.js → p-9b92b4e2.entry.js} +2 -2
  180. package/dist/atomic/{p-1ef658d8.entry.js → p-9d023f0b.entry.js} +2 -2
  181. package/dist/atomic/{p-40635c2d.entry.js → p-9e771351.entry.js} +2 -2
  182. package/dist/atomic/{p-d00a12e9.entry.js → p-a278ffde.entry.js} +2 -2
  183. package/dist/atomic/{p-d0f47b33.entry.js → p-a37fae7c.entry.js} +2 -2
  184. package/dist/atomic/p-a37fae7c.entry.js.map +1 -0
  185. package/dist/atomic/{p-035f8dc8.entry.js → p-a3fa6695.entry.js} +2 -2
  186. package/dist/atomic/{p-f0c2dfe8.entry.js → p-abb14108.entry.js} +2 -2
  187. package/dist/atomic/{p-52ba404c.entry.js → p-aed46103.entry.js} +2 -2
  188. package/dist/atomic/p-af93b44c.js.map +1 -1
  189. package/dist/atomic/{p-48f57fd8.entry.js → p-b0c50194.entry.js} +2 -2
  190. package/dist/atomic/{p-b0b17e21.entry.js → p-b4c34553.entry.js} +2 -2
  191. package/dist/atomic/{p-98c5b9b8.entry.js → p-b6377fb6.entry.js} +2 -2
  192. package/dist/atomic/{p-ea446721.entry.js → p-bd32625e.entry.js} +2 -2
  193. package/dist/atomic/{p-939eaaac.entry.js → p-bd99fcc1.entry.js} +2 -2
  194. package/dist/atomic/{p-99b8d52d.entry.js → p-bf49fed3.entry.js} +2 -2
  195. package/dist/atomic/{p-3f912e98.entry.js → p-c08f4ee6.entry.js} +2 -2
  196. package/dist/atomic/{p-7b0b9e9b.entry.js → p-c23a07f5.entry.js} +2 -2
  197. package/dist/atomic/{p-e1cc5150.js → p-c280cd05.js} +1 -1
  198. package/dist/atomic/p-c2b4b401.entry.js +2 -0
  199. package/dist/atomic/{p-a53c7821.entry.js → p-c538c8ac.entry.js} +2 -2
  200. package/dist/atomic/{p-43d708cb.entry.js → p-c9fe4f77.entry.js} +2 -2
  201. package/dist/atomic/{p-ae060711.entry.js → p-ce41c447.entry.js} +2 -2
  202. package/dist/atomic/{p-fa8b7c4c.entry.js → p-d4ad7336.entry.js} +2 -2
  203. package/dist/atomic/{p-627e1265.entry.js → p-d50c96c2.entry.js} +2 -2
  204. package/dist/atomic/{p-bc0d6d3d.entry.js → p-dee60597.entry.js} +2 -2
  205. package/dist/atomic/{p-b2ff1330.entry.js → p-e1c99e2e.entry.js} +2 -2
  206. package/dist/atomic/{p-7383fd32.entry.js → p-e3af1bb4.entry.js} +2 -2
  207. package/dist/atomic/{p-7dfcd6af.entry.js → p-e6a7e7b2.entry.js} +2 -2
  208. package/dist/atomic/{p-594488f2.entry.js → p-f0012580.entry.js} +2 -2
  209. package/dist/atomic/{p-877d35b1.entry.js → p-f4780315.entry.js} +2 -2
  210. package/dist/atomic/{p-fea7bf3b.entry.js → p-f936f55e.entry.js} +2 -2
  211. package/dist/cjs/_index.cjs.js +2 -5
  212. package/dist/cjs/_loader.cjs.js +1 -1
  213. package/dist/cjs/{analytics-config-4c6d87cf.js → analytics-config-438befe9.js} +2 -2
  214. package/dist/cjs/{analytics-config-4c6d87cf.js.map → analytics-config-438befe9.js.map} +1 -1
  215. package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
  216. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  217. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  218. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
  219. package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
  220. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  221. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  222. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  223. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  224. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  225. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
  226. package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
  227. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  228. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  229. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +2 -2
  230. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +1 -1
  231. package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
  232. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  233. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
  234. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
  235. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +1 -1
  236. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  237. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  238. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +1 -1
  239. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +1 -1
  240. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  241. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  242. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  243. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  244. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  245. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +5 -5
  246. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  247. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  248. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  249. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  250. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -2
  251. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
  252. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  253. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  254. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  255. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  256. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  257. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  258. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  259. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  260. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  261. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  262. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
  263. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +2 -1
  264. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  265. package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
  266. package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
  267. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  268. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  269. package/dist/cjs/atomic-recs-error.cjs.entry.js +1 -1
  270. package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
  271. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  272. package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
  273. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
  274. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +2 -2
  275. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  276. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  277. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  278. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  279. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  280. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +3 -3
  281. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +1 -1
  282. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +234 -0
  283. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js.map +1 -0
  284. package/dist/cjs/atomic-search-box.cjs.entry.js +7 -7
  285. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  286. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  287. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  288. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  289. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  290. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  291. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +3 -3
  292. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  293. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js.map +1 -1
  294. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  295. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  296. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  297. package/dist/cjs/atomic.cjs.js +1 -1
  298. package/dist/cjs/clock-f03ff827.js +7 -0
  299. package/dist/cjs/clock-f03ff827.js.map +1 -0
  300. package/dist/cjs/index-757bc886.js +6 -10
  301. package/dist/cjs/index.cjs.js.map +1 -1
  302. package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +1 -1
  303. package/dist/cjs/{stencil-suggestion-manager-2cba6d69.js → stencil-suggestion-manager-c0878ef2.js} +4 -4
  304. package/dist/cjs/{stencil-suggestion-manager-2cba6d69.js.map → stencil-suggestion-manager-c0878ef2.js.map} +1 -1
  305. package/dist/cjs/{suggestions-events-63dd0640.js → suggestions-common-5097a362.js} +21 -17
  306. package/dist/cjs/suggestions-common-5097a362.js.map +1 -0
  307. package/dist/cjs/version.cjs.js +2 -2
  308. package/dist/esm/_index.js +1 -2
  309. package/dist/esm/_loader.js +1 -1
  310. package/dist/esm/{analytics-config-46d030a5.js → analytics-config-d6a24455.js} +2 -2
  311. package/dist/esm/{analytics-config-46d030a5.js.map → analytics-config-d6a24455.js.map} +1 -1
  312. package/dist/esm/atomic-category-facet.entry.js +1 -1
  313. package/dist/esm/atomic-citation.entry.js +1 -1
  314. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  315. package/dist/esm/atomic-facet-number-input.entry.js +2 -2
  316. package/dist/esm/atomic-facet.entry.js +1 -1
  317. package/dist/esm/atomic-format-currency.entry.js +1 -1
  318. package/dist/esm/atomic-format-number.entry.js +1 -1
  319. package/dist/esm/atomic-format-unit.entry.js +1 -1
  320. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
  321. package/dist/esm/atomic-html.entry.js +1 -1
  322. package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
  323. package/dist/esm/atomic-insight-facet.entry.js +1 -1
  324. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  325. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  326. package/dist/esm/atomic-insight-history-toggle.entry.js +2 -2
  327. package/dist/esm/atomic-insight-history-toggle.entry.js.map +1 -1
  328. package/dist/esm/atomic-insight-interface.entry.js +2 -2
  329. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  330. package/dist/esm/atomic-insight-numeric-facet.entry.js +1 -1
  331. package/dist/esm/atomic-insight-pager.entry.js +3 -3
  332. package/dist/esm/atomic-insight-query-error.entry.js +1 -1
  333. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  334. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  335. package/dist/esm/atomic-insight-result-action.entry.js +1 -1
  336. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +1 -1
  337. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  338. package/dist/esm/atomic-insight-result-children.entry.js +1 -1
  339. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  340. package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
  341. package/dist/esm/atomic-insight-result.entry.js +1 -1
  342. package/dist/esm/atomic-insight-search-box.entry.js +4 -4
  343. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  344. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  345. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  346. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  347. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -2
  348. package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
  349. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  350. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  351. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  352. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  353. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  354. package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
  355. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  356. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  357. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  358. package/dist/esm/atomic-load-more-results.entry.js +1 -1
  359. package/dist/esm/atomic-no-results.entry.js +1 -1
  360. package/dist/esm/atomic-numeric-facet.entry.js +2 -1
  361. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  362. package/dist/esm/atomic-pager.entry.js +3 -3
  363. package/dist/esm/atomic-query-error.entry.js +1 -1
  364. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  365. package/dist/esm/atomic-quickview.entry.js +1 -1
  366. package/dist/esm/atomic-recs-error.entry.js +1 -1
  367. package/dist/esm/atomic-recs-interface.entry.js +2 -2
  368. package/dist/esm/atomic-recs-list.entry.js +1 -1
  369. package/dist/esm/atomic-refine-modal.entry.js +1 -1
  370. package/dist/esm/atomic-refine-toggle.entry.js +1 -1
  371. package/dist/esm/atomic-relevance-inspector.entry.js +2 -2
  372. package/dist/esm/atomic-result-children.entry.js +1 -1
  373. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  374. package/dist/esm/atomic-result-link.entry.js +1 -1
  375. package/dist/esm/atomic-result-list.entry.js +1 -1
  376. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  377. package/dist/esm/atomic-search-box-instant-results.entry.js +2 -2
  378. package/dist/esm/atomic-search-box-instant-results.entry.js.map +1 -1
  379. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +229 -0
  380. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js.map +1 -0
  381. package/dist/esm/atomic-search-box.entry.js +6 -6
  382. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  383. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  384. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  385. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  386. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  387. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  388. package/dist/esm/atomic-stencil-facet-date-input.entry.js +3 -3
  389. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  390. package/dist/esm/atomic-suggestion-renderer.entry.js.map +1 -1
  391. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  392. package/dist/esm/atomic-tab-button.entry.js +1 -1
  393. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  394. package/dist/esm/atomic.js +1 -1
  395. package/dist/esm/clock-add3e9a5.js +5 -0
  396. package/dist/esm/clock-add3e9a5.js.map +1 -0
  397. package/dist/esm/index-3f35faca.js +6 -10
  398. package/dist/esm/index.js.map +1 -1
  399. package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +1 -1
  400. package/dist/esm/{stencil-suggestion-manager-376f83e8.js → stencil-suggestion-manager-486094dd.js} +2 -2
  401. package/dist/esm/{stencil-suggestion-manager-376f83e8.js.map → stencil-suggestion-manager-486094dd.js.map} +1 -1
  402. package/dist/esm/{suggestions-events-b7a6f007.js → suggestions-common-2b20db26.js} +20 -18
  403. package/dist/esm/suggestions-common-2b20db26.js.map +1 -0
  404. package/dist/esm/version.js +2 -2
  405. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +2 -1
  406. package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +1 -0
  407. package/dist/types/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.d.ts +1 -1
  408. package/dist/types/components/commerce/atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions.d.ts +1 -1
  409. package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +1 -1
  410. package/dist/types/components/common/atomic-suggestion-renderer/atomic-suggestion-renderer.d.ts +1 -1
  411. package/dist/types/components/common/suggestions/instant-item.d.ts +1 -1
  412. package/dist/types/components/common/suggestions/query-suggestions.d.ts +1 -1
  413. package/dist/types/components/common/suggestions/recent-queries.d.ts +1 -1
  414. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +1 -1
  415. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +1 -1
  416. package/dist/types/components/common/suggestions/stencil-recent-queries.d.ts +1 -1
  417. package/dist/types/components/common/suggestions/stencil-suggestion-manager.d.ts +1 -1
  418. package/dist/types/components/common/suggestions/suggestion-manager.d.ts +1 -1
  419. package/dist/types/components/common/suggestions/{suggestions-types.d.ts → suggestions-common.d.ts} +16 -6
  420. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +1 -1
  421. package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +46 -44
  422. package/dist/types/components/search/atomic-search-interface/interfaces.d.ts +2 -1
  423. package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +3 -1
  424. package/dist/types/components/search/index.d.ts +1 -1
  425. package/dist/types/components/search/search-box-suggestions/atomic-search-box-instant-results/atomic-search-box-instant-results.d.ts +1 -1
  426. package/dist/types/components/search/{atomic-search-box-recent-queries → search-box-suggestions/atomic-search-box-recent-queries}/atomic-search-box-recent-queries.d.ts +6 -10
  427. package/dist/types/components.d.ts +29 -143
  428. package/dist/types/decorators/types.d.ts +1 -1
  429. package/dist/types/index.d.ts +1 -3
  430. package/docs/atomic-docs.json +44 -510
  431. package/package.json +4 -4
  432. package/dist/atomic/components/atomic-relevance-inspector2.js +0 -50
  433. package/dist/atomic/components/atomic-relevance-inspector2.js.map +0 -1
  434. package/dist/atomic/components/atomic-search-interface.d.ts +0 -11
  435. package/dist/atomic/components/atomic-search-interface.js +0 -552
  436. package/dist/atomic/components/atomic-search-interface.js.map +0 -1
  437. package/dist/atomic/components/components/common/suggestions/suggestions-types.js +0 -1
  438. package/dist/atomic/components/components/common/suggestions/suggestions-utils.js +0 -18
  439. package/dist/atomic/components/components/search/atomic-search-box-recent-queries/atomic-search-box-recent-queries.js +0 -144
  440. package/dist/atomic/components/suggestions-events.js.map +0 -1
  441. package/dist/atomic/p-0a051b8d.js +0 -2
  442. package/dist/atomic/p-0a051b8d.js.map +0 -1
  443. package/dist/atomic/p-16f4ce98.js +0 -2
  444. package/dist/atomic/p-16f4ce98.js.map +0 -1
  445. package/dist/atomic/p-1992b245.entry.js +0 -2
  446. package/dist/atomic/p-26a51a77.entry.js.map +0 -1
  447. package/dist/atomic/p-2e9db4ca.entry.js +0 -2
  448. package/dist/atomic/p-2e9db4ca.entry.js.map +0 -1
  449. package/dist/atomic/p-4b7a19db.js +0 -2
  450. package/dist/atomic/p-4b7a19db.js.map +0 -1
  451. package/dist/atomic/p-ad0f197a.entry.js +0 -2
  452. package/dist/atomic/p-ad0f197a.entry.js.map +0 -1
  453. package/dist/atomic/p-c88a3d2d.entry.js.map +0 -1
  454. package/dist/atomic/p-d0f47b33.entry.js.map +0 -1
  455. package/dist/atomic/p-d24d34a7.entry.js +0 -2
  456. package/dist/atomic/p-e2afb475.entry.js +0 -2
  457. package/dist/atomic/p-fbfe913d.entry.js.map +0 -1
  458. package/dist/atomic/p-fcf3f7d7.entry.js +0 -2
  459. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +0 -76
  460. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js.map +0 -1
  461. package/dist/cjs/atomic-search-interface.cjs.entry.js +0 -511
  462. package/dist/cjs/atomic-search-interface.cjs.entry.js.map +0 -1
  463. package/dist/cjs/clock-7aeb19d0.js +0 -7
  464. package/dist/cjs/clock-7aeb19d0.js.map +0 -1
  465. package/dist/cjs/suggestions-events-63dd0640.js.map +0 -1
  466. package/dist/cjs/suggestions-utils-61000808.js +0 -25
  467. package/dist/cjs/suggestions-utils-61000808.js.map +0 -1
  468. package/dist/esm/atomic-search-box-query-suggestions.entry.js +0 -72
  469. package/dist/esm/atomic-search-box-query-suggestions.entry.js.map +0 -1
  470. package/dist/esm/atomic-search-interface.entry.js +0 -507
  471. package/dist/esm/atomic-search-interface.entry.js.map +0 -1
  472. package/dist/esm/clock-b1f5d7f7.js +0 -5
  473. package/dist/esm/clock-b1f5d7f7.js.map +0 -1
  474. package/dist/esm/suggestions-events-b7a6f007.js.map +0 -1
  475. package/dist/esm/suggestions-utils-591559a0.js +0 -22
  476. package/dist/esm/suggestions-utils-591559a0.js.map +0 -1
  477. package/dist/types/components/common/suggestions/suggestions-events.d.ts +0 -14
  478. package/dist/types/components/common/suggestions/suggestions-utils.d.ts +0 -15
  479. /package/dist/atomic/{p-ba4bf29f.entry.js.map → p-004adbb8.entry.js.map} +0 -0
  480. /package/dist/atomic/{p-9187a339.entry.js.map → p-05530e9e.entry.js.map} +0 -0
  481. /package/dist/atomic/{p-3b20b011.entry.js.map → p-0610b3e7.entry.js.map} +0 -0
  482. /package/dist/atomic/{p-ee6771f1.entry.js.map → p-07b6424c.entry.js.map} +0 -0
  483. /package/dist/atomic/{p-ae98c582.entry.js.map → p-094b61d4.entry.js.map} +0 -0
  484. /package/dist/atomic/{p-83c9244a.entry.js.map → p-0e27d4f2.entry.js.map} +0 -0
  485. /package/dist/atomic/{p-c126ee6b.entry.js.map → p-0e5dc57f.entry.js.map} +0 -0
  486. /package/dist/atomic/{p-1992b245.entry.js.map → p-0edea6f9.entry.js.map} +0 -0
  487. /package/dist/atomic/{p-20341936.entry.js.map → p-10b5e0f3.entry.js.map} +0 -0
  488. /package/dist/atomic/{p-2ca352f4.entry.js.map → p-15406648.entry.js.map} +0 -0
  489. /package/dist/atomic/{p-a3efa89e.entry.js.map → p-160553ce.entry.js.map} +0 -0
  490. /package/dist/atomic/{p-78b70622.entry.js.map → p-25eabe15.entry.js.map} +0 -0
  491. /package/dist/atomic/{p-de066001.entry.js.map → p-2a4e9425.entry.js.map} +0 -0
  492. /package/dist/atomic/{p-75e00690.entry.js.map → p-33899ab5.entry.js.map} +0 -0
  493. /package/dist/atomic/{p-7b899b57.entry.js.map → p-394c600f.entry.js.map} +0 -0
  494. /package/dist/atomic/{p-a760d9f9.entry.js.map → p-3c823399.entry.js.map} +0 -0
  495. /package/dist/atomic/{p-021f01d6.entry.js.map → p-41c5d5fa.entry.js.map} +0 -0
  496. /package/dist/atomic/{p-e23b3334.entry.js.map → p-441b1a7b.entry.js.map} +0 -0
  497. /package/dist/atomic/{p-330e6e7c.entry.js.map → p-45840906.entry.js.map} +0 -0
  498. /package/dist/atomic/{p-f22bcb8c.entry.js.map → p-4b4b2626.entry.js.map} +0 -0
  499. /package/dist/atomic/{p-82cda72d.js.map → p-5100a30e.js.map} +0 -0
  500. /package/dist/atomic/{p-c1999888.entry.js.map → p-754909fe.entry.js.map} +0 -0
  501. /package/dist/atomic/{p-811d6dcb.entry.js.map → p-780170e5.entry.js.map} +0 -0
  502. /package/dist/atomic/{p-36fab158.entry.js.map → p-7a6468a7.entry.js.map} +0 -0
  503. /package/dist/atomic/{p-3a2c900c.entry.js.map → p-7b1a3cab.entry.js.map} +0 -0
  504. /package/dist/atomic/{p-d93adf52.entry.js.map → p-7d63bf7b.entry.js.map} +0 -0
  505. /package/dist/atomic/{p-4b3d253b.entry.js.map → p-7dd3d72f.entry.js.map} +0 -0
  506. /package/dist/atomic/{p-d364064c.entry.js.map → p-7f40e57d.entry.js.map} +0 -0
  507. /package/dist/atomic/{p-c49cfa0c.entry.js.map → p-80683e4c.entry.js.map} +0 -0
  508. /package/dist/atomic/{p-3a5257b5.entry.js.map → p-843c195c.entry.js.map} +0 -0
  509. /package/dist/atomic/{p-d785121d.entry.js.map → p-856e858c.entry.js.map} +0 -0
  510. /package/dist/atomic/{p-b28011e6.entry.js.map → p-867fd04d.entry.js.map} +0 -0
  511. /package/dist/atomic/{p-534b6a0a.entry.js.map → p-87c6c206.entry.js.map} +0 -0
  512. /package/dist/atomic/{p-e162805d.entry.js.map → p-8a7a23b7.entry.js.map} +0 -0
  513. /package/dist/atomic/{p-604c4085.entry.js.map → p-8df7270f.entry.js.map} +0 -0
  514. /package/dist/atomic/{p-8256cd44.entry.js.map → p-9147b0db.entry.js.map} +0 -0
  515. /package/dist/atomic/{p-39e63678.entry.js.map → p-9349aa1a.entry.js.map} +0 -0
  516. /package/dist/atomic/{p-37374964.entry.js.map → p-9727f36b.entry.js.map} +0 -0
  517. /package/dist/atomic/{p-d24d34a7.entry.js.map → p-97829295.entry.js.map} +0 -0
  518. /package/dist/atomic/{p-31aa052e.entry.js.map → p-97e42c43.entry.js.map} +0 -0
  519. /package/dist/atomic/{p-93e29b24.entry.js.map → p-9b92b4e2.entry.js.map} +0 -0
  520. /package/dist/atomic/{p-1ef658d8.entry.js.map → p-9d023f0b.entry.js.map} +0 -0
  521. /package/dist/atomic/{p-40635c2d.entry.js.map → p-9e771351.entry.js.map} +0 -0
  522. /package/dist/atomic/{p-d00a12e9.entry.js.map → p-a278ffde.entry.js.map} +0 -0
  523. /package/dist/atomic/{p-035f8dc8.entry.js.map → p-a3fa6695.entry.js.map} +0 -0
  524. /package/dist/atomic/{p-f0c2dfe8.entry.js.map → p-abb14108.entry.js.map} +0 -0
  525. /package/dist/atomic/{p-52ba404c.entry.js.map → p-aed46103.entry.js.map} +0 -0
  526. /package/dist/atomic/{p-48f57fd8.entry.js.map → p-b0c50194.entry.js.map} +0 -0
  527. /package/dist/atomic/{p-b0b17e21.entry.js.map → p-b4c34553.entry.js.map} +0 -0
  528. /package/dist/atomic/{p-98c5b9b8.entry.js.map → p-b6377fb6.entry.js.map} +0 -0
  529. /package/dist/atomic/{p-ea446721.entry.js.map → p-bd32625e.entry.js.map} +0 -0
  530. /package/dist/atomic/{p-939eaaac.entry.js.map → p-bd99fcc1.entry.js.map} +0 -0
  531. /package/dist/atomic/{p-99b8d52d.entry.js.map → p-bf49fed3.entry.js.map} +0 -0
  532. /package/dist/atomic/{p-3f912e98.entry.js.map → p-c08f4ee6.entry.js.map} +0 -0
  533. /package/dist/atomic/{p-7b0b9e9b.entry.js.map → p-c23a07f5.entry.js.map} +0 -0
  534. /package/dist/atomic/{p-e1cc5150.js.map → p-c280cd05.js.map} +0 -0
  535. /package/dist/atomic/{p-e2afb475.entry.js.map → p-c2b4b401.entry.js.map} +0 -0
  536. /package/dist/atomic/{p-a53c7821.entry.js.map → p-c538c8ac.entry.js.map} +0 -0
  537. /package/dist/atomic/{p-43d708cb.entry.js.map → p-c9fe4f77.entry.js.map} +0 -0
  538. /package/dist/atomic/{p-ae060711.entry.js.map → p-ce41c447.entry.js.map} +0 -0
  539. /package/dist/atomic/{p-fa8b7c4c.entry.js.map → p-d4ad7336.entry.js.map} +0 -0
  540. /package/dist/atomic/{p-627e1265.entry.js.map → p-d50c96c2.entry.js.map} +0 -0
  541. /package/dist/atomic/{p-bc0d6d3d.entry.js.map → p-dee60597.entry.js.map} +0 -0
  542. /package/dist/atomic/{p-b2ff1330.entry.js.map → p-e1c99e2e.entry.js.map} +0 -0
  543. /package/dist/atomic/{p-7383fd32.entry.js.map → p-e3af1bb4.entry.js.map} +0 -0
  544. /package/dist/atomic/{p-7dfcd6af.entry.js.map → p-e6a7e7b2.entry.js.map} +0 -0
  545. /package/dist/atomic/{p-594488f2.entry.js.map → p-f0012580.entry.js.map} +0 -0
  546. /package/dist/atomic/{p-877d35b1.entry.js.map → p-f4780315.entry.js.map} +0 -0
  547. /package/dist/atomic/{p-fea7bf3b.entry.js.map → p-f936f55e.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as n,s as t,h as r,g as e}from"./p-dc3df5ce.js";import{m as i}from"./p-05de7ca3.js";import{loadSearchConfigurationActions as a,loadQueryActions as o,EcommerceDefaultFieldsToInclude as l,loadFieldActions as s,buildSearchEngine as c,buildUrlManager as d,buildSearchStatus as h}from"@coveo/headless";import{g as w,d as m,c as p,a as g,b as u,C as v,i as b,m as f}from"./p-82cda72d.js";import{a as y,S as x}from"./p-946fe85f.js";import{A as k}from"./p-3af2fca0.js";import{D as z}from"./p-26598ee0.js";import{u as j,s as S,r as F,g as C,w as I,a as A}from"./p-cc0bf58b.js";import"./p-35e58270.js";import"./p-0462f723.js";import"./p-f284897c.js";import"@coveo/bueno";import"./p-a12e1c59.js";import"./p-c9074946.js";const q="atomic-search-interface";const E=`${q}-no-results`;const L=`${q}-error`;const M=`${q}-search-executed`;function P(n){return`only screen and (min-width: ${n})`}function T(n,t,r){switch(n.analytics?.analyticsMode){case"next":return w(n,t);default:return $(n,t,r)}}function $(n,t,r){const e=(t,e)=>H(t,e,r,n);const i={analyticsClientMiddleware:e,enabled:t,...p()};const a={...m()};if(n.analytics){return{...i,...n.analytics,analyticsClientMiddleware:e,...a}}return{...i,...a}}function H(n,t,r,e){let i=g(n,t,e);i=u(i);i=R(i,r);return i}function R(n,t){const r=t.getAllFacets();const e=(n,t)=>r[n]?r[n].label():t;if(n.facetState){n.facetState=n.facetState.map((n=>{const{id:t,title:r}=n;return{...n,title:e(t,r)}}))}if(n.customData?.facetTitle&&n.customData.facetId&&n.customData.facetTitle){n.customData.facetTitle=e(n.customData.facetId,n.customData.facetTitle)}return n}function U(){const n=A({loadingFlags:[],iconAssetsPath:"",resultList:undefined,mobileBreakpoint:z,facets:{},numericFacets:{},dateFacets:{},categoryFacets:{},facetElements:[],fieldsToInclude:[],sortOptions:[]});return{...n,unsetLoadingFlag(t){j(n,t)},setLoadingFlag(t){S(n,t)},isMobile(){return!window.matchMedia(P(n.state.mobileBreakpoint)).matches},registerFacet(t,r){F(n,t,r)},getFacetElements(){return C(n)},waitUntilAppLoaded(t){I(n,t)},getUniqueIDFromEngine(n){return n.state.search.response.searchUid},hasLoadingFlag(t){return n.state.loadingFlags.indexOf(t)!==-1},getAllFacets(){return{...n.state.facets,...n.state.dateFacets,...n.state.categoryFacets,...n.state.numericFacets}},addFieldsToInclude(t){const r=n.state.fieldsToInclude;n.state.fieldsToInclude=[...r,...t]}}}const O='/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer properties {\n *, :before, :after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-x-reverse: 0;\n --tw-divide-y-reverse: 0;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-content: "";\n }\n}\n@layer theme, base, components, utilities;\n@layer theme;\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, var(--atomic-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"));\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",\n "Courier New", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n }\n @supports (color: color-mix(in lab, red, red)) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden="until-found"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .\\@container {\n container-type: inline-size;\n }\n .pointer-events-auto {\n pointer-events: auto;\n }\n .pointer-events-none {\n pointer-events: none;\n }\n .collapse {\n visibility: collapse;\n }\n .invisible {\n visibility: hidden;\n }\n .visible {\n visibility: visible;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .sticky {\n position: sticky;\n }\n .inset-0 {\n inset: calc(0.25rem * 0);\n }\n .-top-2 {\n top: calc(0.25rem * -2);\n }\n .-top-4 {\n top: calc(0.25rem * -4);\n }\n .top-0 {\n top: calc(0.25rem * 0);\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%);\n }\n .top-6 {\n top: calc(0.25rem * 6);\n }\n .top-\\[4px\\] {\n top: 4px;\n }\n .top-full {\n top: 100%;\n }\n .top-px {\n top: 1px;\n }\n .-right-2 {\n right: calc(0.25rem * -2);\n }\n .right-0 {\n right: calc(0.25rem * 0);\n }\n .right-2 {\n right: calc(0.25rem * 2);\n }\n .right-6 {\n right: calc(0.25rem * 6);\n }\n .right-12 {\n right: calc(0.25rem * 12);\n }\n .right-20 {\n right: calc(0.25rem * 20);\n }\n .right-px {\n right: 1px;\n }\n .bottom-0 {\n bottom: calc(0.25rem * 0);\n }\n .bottom-1 {\n bottom: calc(0.25rem * 1);\n }\n .bottom-2 {\n bottom: calc(0.25rem * 2);\n }\n .bottom-px {\n bottom: 1px;\n }\n .left-0 {\n left: calc(0.25rem * 0);\n }\n .left-1 {\n left: calc(0.25rem * 1);\n }\n .left-2 {\n left: calc(0.25rem * 2);\n }\n .left-\\[15px\\] {\n left: 15px;\n }\n .isolate {\n isolation: isolate;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-10 {\n z-index: 10;\n }\n .z-9998 {\n z-index: 9998;\n }\n .z-9999 {\n z-index: 9999;\n }\n .order-last {\n order: 9999;\n }\n .col-span-2 {\n grid-column: span 2 / span 2;\n }\n .container {\n width: 100%;\n }\n @media (width >= 1024px) {\n .container {\n max-width: 1024px;\n }\n }\n @media (width >= 40rem) {\n .container {\n max-width: 40rem;\n }\n }\n @media (width >= 48rem) {\n .container {\n max-width: 48rem;\n }\n }\n @media (width >= 64rem) {\n .container {\n max-width: 64rem;\n }\n }\n @media (width >= 80rem) {\n .container {\n max-width: 80rem;\n }\n }\n @media (width >= 96rem) {\n .container {\n max-width: 96rem;\n }\n }\n .m-0 {\n margin: calc(0.25rem * 0);\n }\n .m-2 {\n margin: calc(0.25rem * 2);\n }\n .mx-0 {\n margin-inline: calc(0.25rem * 0);\n }\n .mx-0\\.5 {\n margin-inline: calc(0.25rem * 0.5);\n }\n .mx-1 {\n margin-inline: calc(0.25rem * 1);\n }\n .mx-6 {\n margin-inline: calc(0.25rem * 6);\n }\n .mx-16 {\n margin-inline: calc(0.25rem * 16);\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-2 {\n margin-block: calc(0.25rem * 2);\n }\n .my-3 {\n margin-block: calc(0.25rem * 3);\n }\n .my-4 {\n margin-block: calc(0.25rem * 4);\n }\n .my-6 {\n margin-block: calc(0.25rem * 6);\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-top: calc(0.25rem * 0);\n }\n .mt-1 {\n margin-top: calc(0.25rem * 1);\n }\n .mt-1\\.5 {\n margin-top: calc(0.25rem * 1.5);\n }\n .mt-2 {\n margin-top: calc(0.25rem * 2);\n }\n .mt-2\\.5 {\n margin-top: calc(0.25rem * 2.5);\n }\n .mt-3 {\n margin-top: calc(0.25rem * 3);\n }\n .mt-4 {\n margin-top: calc(0.25rem * 4);\n }\n .mt-6 {\n margin-top: calc(0.25rem * 6);\n }\n .mt-7 {\n margin-top: calc(0.25rem * 7);\n }\n .mt-8 {\n margin-top: calc(0.25rem * 8);\n }\n .mt-10 {\n margin-top: calc(0.25rem * 10);\n }\n .mt-px {\n margin-top: 1px;\n }\n .mr-0 {\n margin-right: calc(0.25rem * 0);\n }\n .mr-0\\.5 {\n margin-right: calc(0.25rem * 0.5);\n }\n .mr-1 {\n margin-right: calc(0.25rem * 1);\n }\n .mr-1\\.5 {\n margin-right: calc(0.25rem * 1.5);\n }\n .mr-2 {\n margin-right: calc(0.25rem * 2);\n }\n .mr-3 {\n margin-right: calc(0.25rem * 3);\n }\n .mr-6 {\n margin-right: calc(0.25rem * 6);\n }\n .mb-0 {\n margin-bottom: calc(0.25rem * 0);\n }\n .mb-1 {\n margin-bottom: calc(0.25rem * 1);\n }\n .mb-2 {\n margin-bottom: calc(0.25rem * 2);\n }\n .mb-3 {\n margin-bottom: calc(0.25rem * 3);\n }\n .mb-4 {\n margin-bottom: calc(0.25rem * 4);\n }\n .mb-6 {\n margin-bottom: calc(0.25rem * 6);\n }\n .ml-0\\.5 {\n margin-left: calc(0.25rem * 0.5);\n }\n .ml-1 {\n margin-left: calc(0.25rem * 1);\n }\n .ml-2 {\n margin-left: calc(0.25rem * 2);\n }\n .ml-4 {\n margin-left: calc(0.25rem * 4);\n }\n .ml-6 {\n margin-left: calc(0.25rem * 6);\n }\n .ml-auto {\n margin-left: auto;\n }\n .box-border {\n box-sizing: border-box;\n }\n .box-content {\n box-sizing: content-box;\n }\n .line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n .line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n .line-clamp-3 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n }\n .line-clamp-4 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 4;\n }\n .line-clamp-none {\n overflow: visible;\n display: block;\n -webkit-box-orient: horizontal;\n -webkit-line-clamp: unset;\n }\n .block {\n display: block;\n }\n .contents {\n display: contents;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .inline-flex {\n display: inline-flex;\n }\n .table {\n display: table;\n }\n .aspect-square-\\[auto\\] {\n aspect-ratio: 1 / 1;\n height: auto;\n }\n @supports not (aspect-ratio: 1 / 1) {\n .aspect-square-\\[auto\\] {\n height: auto;\n }\n }\n .aspect-square-\\[auto\\] {\n aspect-ratio: 1 / 1;\n height: auto;\n }\n @supports not (aspect-ratio: 1 / 1) {\n .aspect-square-\\[auto\\] {\n height: auto;\n }\n }\n .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .size-\\[27px\\] {\n width: 27px;\n height: 27px;\n }\n .h-1 {\n height: calc(0.25rem * 1);\n }\n .h-2 {\n height: calc(0.25rem * 2);\n }\n .h-2\\.5 {\n height: calc(0.25rem * 2.5);\n }\n .h-3 {\n height: calc(0.25rem * 3);\n }\n .h-4 {\n height: calc(0.25rem * 4);\n }\n .h-5 {\n height: calc(0.25rem * 5);\n }\n .h-5\\/6 {\n height: calc(5/6 * 100%);\n }\n .h-6 {\n height: calc(0.25rem * 6);\n }\n .h-7 {\n height: calc(0.25rem * 7);\n }\n .h-8 {\n height: calc(0.25rem * 8);\n }\n .h-9 {\n height: calc(0.25rem * 9);\n }\n .h-10 {\n height: calc(0.25rem * 10);\n }\n .h-12 {\n height: calc(0.25rem * 12);\n }\n .h-\\[2\\.6rem\\] {\n height: 2.6rem;\n }\n .h-\\[9px\\] {\n height: 9px;\n }\n .h-auto {\n height: auto;\n }\n .h-full {\n height: 100%;\n }\n .max-h-96 {\n max-height: calc(0.25rem * 96);\n }\n .min-h-10 {\n min-height: calc(0.25rem * 10);\n }\n .min-lines-2 {\n min-height: calc(var(--line-height) * 2);\n }\n .min-lines-2 {\n min-height: calc(var(--line-height) * 2);\n }\n .min-lines-3 {\n min-height: calc(var(--line-height) * 3);\n }\n .min-lines-3 {\n min-height: calc(var(--line-height) * 3);\n }\n .w-0\\.5 {\n width: calc(0.25rem * 0.5);\n }\n .w-1 {\n width: calc(0.25rem * 1);\n }\n .w-1\\/2 {\n width: calc(1/2 * 100%);\n }\n .w-2 {\n width: calc(0.25rem * 2);\n }\n .w-2\\.5 {\n width: calc(0.25rem * 2.5);\n }\n .w-3 {\n width: calc(0.25rem * 3);\n }\n .w-3\\.5 {\n width: calc(0.25rem * 3.5);\n }\n .w-3\\/5 {\n width: calc(3/5 * 100%);\n }\n .w-4 {\n width: calc(0.25rem * 4);\n }\n .w-5 {\n width: calc(0.25rem * 5);\n }\n .w-5\\/6 {\n width: calc(5/6 * 100%);\n }\n .w-6 {\n width: calc(0.25rem * 6);\n }\n .w-7 {\n width: calc(0.25rem * 7);\n }\n .w-8 {\n width: calc(0.25rem * 8);\n }\n .w-9 {\n width: calc(0.25rem * 9);\n }\n .w-10 {\n width: calc(0.25rem * 10);\n }\n .w-12 {\n width: calc(0.25rem * 12);\n }\n .w-20 {\n width: calc(0.25rem * 20);\n }\n .w-26 {\n width: calc(0.25rem * 26);\n }\n .w-28 {\n width: calc(0.25rem * 28);\n }\n .w-32 {\n width: calc(0.25rem * 32);\n }\n .w-36 {\n width: calc(0.25rem * 36);\n }\n .w-44 {\n width: calc(0.25rem * 44);\n }\n .w-48 {\n width: calc(0.25rem * 48);\n }\n .w-60 {\n width: calc(0.25rem * 60);\n }\n .w-64 {\n width: calc(0.25rem * 64);\n }\n .w-72 {\n width: calc(0.25rem * 72);\n }\n .w-100 {\n width: calc(0.25rem * 100);\n }\n .w-\\[2\\.6rem\\] {\n width: 2.6rem;\n }\n .w-auto {\n width: auto;\n }\n .w-fit {\n width: fit-content;\n }\n .w-full {\n width: 100%;\n }\n .w-max {\n width: max-content;\n }\n .max-w-4\\/5 {\n max-width: calc(4/5 * 100%);\n }\n .max-w-60 {\n max-width: calc(0.25rem * 60);\n }\n .max-w-\\[30ch\\] {\n max-width: 30ch;\n }\n .max-w-full {\n max-width: 100%;\n }\n .max-w-lg {\n max-width: 32rem;\n }\n .max-w-max {\n max-width: max-content;\n }\n .min-w-0 {\n min-width: calc(0.25rem * 0);\n }\n .min-w-10 {\n min-width: calc(0.25rem * 10);\n }\n .min-w-20 {\n min-width: calc(0.25rem * 20);\n }\n .min-w-24 {\n min-width: calc(0.25rem * 24);\n }\n .min-w-full {\n min-width: 100%;\n }\n .flex-1 {\n flex: 1;\n }\n .flex-none {\n flex: none;\n }\n .flex-shrink {\n flex-shrink: 1;\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .flex-grow {\n flex-grow: 1;\n }\n .grow {\n flex-grow: 1;\n }\n .basis-1\\/2 {\n flex-basis: calc(1/2 * 100%);\n }\n .basis-8 {\n flex-basis: calc(0.25rem * 8);\n }\n .border-collapse {\n border-collapse: collapse;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-1\\/2 {\n --tw-translate-x: calc(1/2 * 100%);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .scale-75 {\n --tw-scale-x: 75%;\n --tw-scale-y: 75%;\n --tw-scale-z: 75%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-100 {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .rotate-180 {\n rotate: 180deg;\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n }\n .animate-spin {\n animation: spin 1s linear infinite;\n }\n .cursor-\\[inherit\\] {\n cursor: inherit;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .resize {\n resize: both;\n }\n .resize-none {\n resize: none;\n }\n .list-outside {\n list-style-position: outside;\n }\n .list-decimal {\n list-style-type: decimal;\n }\n .list-disc {\n list-style-type: disc;\n }\n .list-none {\n list-style-type: none;\n }\n .appearance-none {\n appearance: none;\n }\n .grid-cols-\\[min-content_1fr\\] {\n grid-template-columns: min-content 1fr;\n }\n .grid-cols-\\[min-content_auto\\] {\n grid-template-columns: min-content auto;\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .place-items-center {\n place-items: center;\n }\n .content-center {\n align-content: center;\n }\n .items-baseline {\n align-items: baseline;\n }\n .items-center {\n align-items: center;\n }\n .items-start {\n align-items: flex-start;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .gap-0\\.5 {\n gap: calc(0.25rem * 0.5);\n }\n .gap-1 {\n gap: calc(0.25rem * 1);\n }\n .gap-2 {\n gap: calc(0.25rem * 2);\n }\n .gap-3 {\n gap: calc(0.25rem * 3);\n }\n .gap-4 {\n gap: calc(0.25rem * 4);\n }\n .gap-8 {\n gap: calc(0.25rem * 8);\n }\n :where(.space-y-1 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(0.25rem * 1) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(0.25rem * 1) * calc(1 - var(--tw-space-y-reverse)));\n }\n .gap-x-1\\.5 {\n column-gap: calc(0.25rem * 1.5);\n }\n .gap-x-2 {\n column-gap: calc(0.25rem * 2);\n }\n .gap-x-4 {\n column-gap: calc(0.25rem * 4);\n }\n :where(.space-x-1\\.5 > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(0.25rem * 1.5) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(0.25rem * 1.5) * calc(1 - var(--tw-space-x-reverse)));\n }\n .gap-y-0\\.5 {\n row-gap: calc(0.25rem * 0.5);\n }\n :where(.divide-y > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n :where(.divide-neutral > :not(:last-child)) {\n border-color: var(--atomic-neutral);\n }\n .self-center {\n align-self: center;\n }\n .self-start {\n align-self: flex-start;\n }\n .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-clip {\n overflow-x: clip;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-visible {\n overflow-y: visible;\n }\n .scroll-smooth {\n scroll-behavior: smooth;\n }\n .rounded {\n border-radius: var(--atomic-border-radius);\n }\n .rounded-3xl {\n border-radius: 1.5rem;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--atomic-border-radius-lg);\n }\n .rounded-md {\n border-radius: var(--atomic-border-radius-md);\n }\n .rounded-none {\n border-radius: 0;\n }\n .rounded-sm {\n border-radius: var(--atomic-border-radius);\n }\n .rounded-xl {\n border-radius: var(--atomic-border-radius-xl);\n }\n .rounded-tl-none {\n border-top-left-radius: 0;\n }\n .rounded-r-none {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-gray-200 {\n border-color: oklch(0.928 0.006 264.531);\n }\n .border-neutral {\n border-color: var(--atomic-neutral);\n }\n .border-neutral-dark {\n border-color: var(--atomic-neutral-dark);\n }\n .border-neutral-dim {\n border-color: var(--atomic-neutral-dim);\n }\n .border-primary {\n border-color: var(--atomic-primary);\n }\n .border-primary-light {\n border-color: var(--atomic-primary-light);\n }\n .border-t-neutral {\n border-top-color: var(--atomic-neutral);\n }\n .border-b-neutral {\n border-bottom-color: var(--atomic-neutral);\n }\n .border-b-neutral-dim {\n border-bottom-color: var(--atomic-neutral-dim);\n }\n .border-l-neutral {\n border-left-color: var(--atomic-neutral);\n }\n .border-l-neutral-dim {\n border-left-color: var(--atomic-neutral-dim);\n }\n .bg-\\[\\#F1F2FF\\] {\n background-color: #F1F2FF;\n }\n .bg-\\[rgba\\(40\\,40\\,40\\,0\\.8\\)\\] {\n background-color: rgba(40,40,40,0.8);\n }\n .bg-background {\n background-color: var(--atomic-background);\n }\n .bg-error {\n background-color: var(--atomic-error);\n }\n .bg-gray-50 {\n background-color: oklch(0.985 0.002 247.839);\n }\n .bg-neutral {\n background-color: var(--atomic-neutral);\n }\n .bg-neutral-dark {\n background-color: var(--atomic-neutral-dark);\n }\n .bg-neutral-light {\n background-color: var(--atomic-neutral-light);\n }\n .bg-primary {\n background-color: var(--atomic-primary);\n }\n .bg-primary-background {\n background-color: var(--atomic-primary-background);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .bg-white {\n background-color: #fff;\n }\n .bg-linear-to-l {\n --tw-gradient-position: to left;\n }\n @supports (background-image: linear-gradient(in lab, red, red)) {\n .bg-linear-to-l {\n --tw-gradient-position: to left in oklab;\n }\n }\n .bg-linear-to-l {\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-linear-to-r {\n --tw-gradient-position: to right;\n }\n @supports (background-image: linear-gradient(in lab, red, red)) {\n .bg-linear-to-r {\n --tw-gradient-position: to right in oklab;\n }\n }\n .bg-linear-to-r {\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .from-background\\/60 {\n --tw-gradient-from: color-mix(in srgb, #ffffff 60%, transparent);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .from-background\\/60 {\n --tw-gradient-from: color-mix(in oklab, var(--atomic-background) 60%, transparent);\n }\n }\n .from-background\\/60 {\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-more-results-progress-bar-color-from {\n --tw-gradient-from: var(\n --atomic-more-results-progress-bar-color-from,\n var(--atomic-primary-dark)\n );\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-more-results-progress-bar-color-to {\n --tw-gradient-to: var(\n --atomic-more-results-progress-bar-color-to,\n var(--atomic-primary-light)\n );\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .fill-current {\n fill: currentcolor;\n }\n .stroke-\\[1\\.25\\] {\n stroke-width: 1.25;\n }\n .object-contain {\n object-fit: contain;\n }\n .p-0 {\n padding: calc(0.25rem * 0);\n }\n .p-1 {\n padding: calc(0.25rem * 1);\n }\n .p-2 {\n padding: calc(0.25rem * 2);\n }\n .p-2\\.5 {\n padding: calc(0.25rem * 2.5);\n }\n .p-3 {\n padding: calc(0.25rem * 3);\n }\n .p-3\\.5 {\n padding: calc(0.25rem * 3.5);\n }\n .p-4 {\n padding: calc(0.25rem * 4);\n }\n .p-6 {\n padding: calc(0.25rem * 6);\n }\n .p-7 {\n padding: calc(0.25rem * 7);\n }\n .p-8 {\n padding: calc(0.25rem * 8);\n }\n .px-1 {\n padding-inline: calc(0.25rem * 1);\n }\n .px-2 {\n padding-inline: calc(0.25rem * 2);\n }\n .px-2\\.5 {\n padding-inline: calc(0.25rem * 2.5);\n }\n .px-3 {\n padding-inline: calc(0.25rem * 3);\n }\n .px-4 {\n padding-inline: calc(0.25rem * 4);\n }\n .px-6 {\n padding-inline: calc(0.25rem * 6);\n }\n .px-9 {\n padding-inline: calc(0.25rem * 9);\n }\n .py-0\\.5 {\n padding-block: calc(0.25rem * 0.5);\n }\n .py-1 {\n padding-block: calc(0.25rem * 1);\n }\n .py-1\\.5 {\n padding-block: calc(0.25rem * 1.5);\n }\n .py-2 {\n padding-block: calc(0.25rem * 2);\n }\n .py-2\\.5 {\n padding-block: calc(0.25rem * 2.5);\n }\n .py-3 {\n padding-block: calc(0.25rem * 3);\n }\n .py-3\\.5 {\n padding-block: calc(0.25rem * 3.5);\n }\n .py-4 {\n padding-block: calc(0.25rem * 4);\n }\n .py-4\\.5 {\n padding-block: calc(0.25rem * 4.5);\n }\n .py-5 {\n padding-block: calc(0.25rem * 5);\n }\n .py-6 {\n padding-block: calc(0.25rem * 6);\n }\n .pt-0\\.5 {\n padding-top: calc(0.25rem * 0.5);\n }\n .pt-8 {\n padding-top: calc(0.25rem * 8);\n }\n .pr-2 {\n padding-right: calc(0.25rem * 2);\n }\n .pr-6 {\n padding-right: calc(0.25rem * 6);\n }\n .pr-24 {\n padding-right: calc(0.25rem * 24);\n }\n .pb-1 {\n padding-bottom: calc(0.25rem * 1);\n }\n .pb-3 {\n padding-bottom: calc(0.25rem * 3);\n }\n .pb-4 {\n padding-bottom: calc(0.25rem * 4);\n }\n .pb-5 {\n padding-bottom: calc(0.25rem * 5);\n }\n .pb-6 {\n padding-bottom: calc(0.25rem * 6);\n }\n .pl-0 {\n padding-left: calc(0.25rem * 0);\n }\n .pl-1 {\n padding-left: calc(0.25rem * 1);\n }\n .pl-3 {\n padding-left: calc(0.25rem * 3);\n }\n .pl-7 {\n padding-left: calc(0.25rem * 7);\n }\n .pl-9 {\n padding-left: calc(0.25rem * 9);\n }\n .pl-10 {\n padding-left: calc(0.25rem * 10);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .align-baseline {\n vertical-align: baseline;\n }\n .align-bottom {\n vertical-align: bottom;\n }\n .align-middle {\n vertical-align: middle;\n }\n .font-sans {\n font-family: var(--atomic-font-family);\n }\n .set-font-size-sm {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n .set-font-size-sm {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n .text-2xl {\n font-size: var(--atomic-text-2xl);\n line-height: var(--tw-leading, calc(2 / 1.5));\n }\n .text-base {\n font-size: var(--atomic-text-base);\n line-height: var(--tw-leading, calc(1.5 / 1));\n }\n .text-lg {\n font-size: var(--atomic-text-lg);\n line-height: var(--tw-leading, calc(1.75 / 1.125));\n }\n .text-sm {\n font-size: var(--atomic-text-sm);\n line-height: var(--tw-leading, calc(1.25 / 0.875));\n }\n .text-xl {\n font-size: var(--atomic-text-xl);\n line-height: var(--tw-leading, calc(1.75 / 1.25));\n }\n .text-xs {\n font-size: 0.75rem;\n line-height: var(--tw-leading, calc(1 / 0.75));\n }\n .text-xs\\/\\[1rem\\] {\n font-size: 0.75rem;\n line-height: 1rem;\n }\n .leading-4 {\n --tw-leading: calc(0.25rem * 4);\n line-height: calc(0.25rem * 4);\n }\n .leading-5 {\n --tw-leading: calc(0.25rem * 5);\n line-height: calc(0.25rem * 5);\n }\n .leading-6 {\n --tw-leading: calc(0.25rem * 6);\n line-height: calc(0.25rem * 6);\n }\n .leading-8 {\n --tw-leading: calc(0.25rem * 8);\n line-height: calc(0.25rem * 8);\n }\n .leading-10 {\n --tw-leading: calc(0.25rem * 10);\n line-height: calc(0.25rem * 10);\n }\n .leading-\\[1\\.5\\] {\n --tw-leading: 1.5;\n line-height: 1.5;\n }\n .leading-\\[calc\\(1\\/\\.75\\)\\] {\n --tw-leading: calc(1 / .75);\n line-height: calc(1 / .75);\n }\n .leading-\\[var\\(--line-height\\)\\] {\n --tw-leading: var(--line-height);\n line-height: var(--line-height);\n }\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .font-bold {\n --tw-font-weight: var(--atomic-font-bold);\n font-weight: var(--atomic-font-bold);\n }\n .font-light {\n --tw-font-weight: 300;\n font-weight: 300;\n }\n .font-medium {\n --tw-font-weight: 500;\n font-weight: 500;\n }\n .font-normal {\n --tw-font-weight: var(--atomic-font-normal);\n font-weight: var(--atomic-font-normal);\n }\n .font-semibold {\n --tw-font-weight: 600;\n font-weight: 600;\n }\n .break-words {\n overflow-wrap: break-word;\n }\n .break-all {\n word-break: break-all;\n }\n .break-keep {\n word-break: keep-all;\n }\n .text-ellipsis {\n text-overflow: ellipsis;\n }\n .whitespace-normal {\n white-space: normal;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .text-\\[\\#54698D\\] {\n color: #54698D;\n }\n .text-\\[inherit\\] {\n color: inherit;\n }\n .text-black {\n color: #000;\n }\n .text-error {\n color: var(--atomic-error);\n }\n .text-gray-500 {\n color: oklch(0.551 0.027 264.364);\n }\n .text-gray-600 {\n color: oklch(0.446 0.03 256.802);\n }\n .text-gray-700 {\n color: oklch(0.373 0.034 259.733);\n }\n .text-gray-900 {\n color: oklch(0.21 0.034 264.665);\n }\n .text-green-600 {\n color: oklch(0.627 0.194 149.214);\n }\n .text-inline-code {\n color: var(--atomic-inline-code);\n }\n .text-neutral {\n color: var(--atomic-neutral);\n }\n .text-neutral-dark {\n color: var(--atomic-neutral-dark);\n }\n .text-on-background {\n color: var(--atomic-on-background);\n }\n .text-on-primary {\n color: var(--atomic-on-primary);\n }\n .text-primary {\n color: var(--atomic-primary);\n }\n .text-primary-light {\n color: var(--atomic-primary-light);\n }\n .text-rating-icon-active {\n color: var(--atomic-rating-icon-active-color, #f6ce3c);\n }\n .text-rating-icon-inactive {\n color: var(\n --atomic-rating-icon-inactive-color,\n var(--atomic-neutral)\n );\n }\n .text-success {\n color: var(--atomic-success);\n }\n .text-transparent {\n color: transparent;\n }\n .capitalize {\n text-transform: capitalize;\n }\n .lowercase {\n text-transform: lowercase;\n }\n .italic {\n font-style: italic;\n }\n .line-through {\n text-decoration-line: line-through;\n }\n .placeholder-neutral-dark::placeholder {\n color: var(--atomic-neutral-dark);\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-50 {\n opacity: 50%;\n }\n .opacity-80 {\n opacity: 80%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-inner-primary {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--atomic-primary));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-lg {\n --tw-shadow: 0px 2px 8px var(--tw-shadow-color, rgba(229, 232, 232, 0.75));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-t-lg {\n --tw-shadow: 0px -2px 8px var(--tw-shadow-color, rgba(229, 232, 232, 0.75));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-3 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-primary {\n --tw-ring-color: var(--atomic-primary);\n }\n .ring-primary-light {\n --tw-ring-color: var(--atomic-primary-light);\n }\n .ring-ring-primary {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .outline-error {\n outline-color: var(--atomic-error);\n }\n .outline-neutral {\n outline-color: var(--atomic-neutral);\n }\n .outline-primary {\n outline-color: var(--atomic-primary);\n }\n .blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .grayscale {\n --tw-grayscale: grayscale(100%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .invert {\n --tw-invert: invert(100%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .transition-\\[visibility\\] {\n transition-property: visibility;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .duration-500 {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n .ease-in-out {\n --tw-ease: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n .\\[grid-area\\:modal\\] {\n grid-area: modal;\n }\n .\\[scrollbar-gutter\\:stable_both-edges\\] {\n scrollbar-gutter: stable both-edges;\n }\n @media (hover: hover) {\n .group-hover\\:visible:is(:where(.group):hover *) {\n visibility: visible;\n }\n }\n @media (hover: hover) {\n .group-hover\\:text-error:is(:where(.group):hover *) {\n color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .group-hover\\:text-primary:is(:where(.group):hover *) {\n color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .group-hover\\:text-primary-light:is(:where(.group):hover *) {\n color: var(--atomic-primary-light);\n }\n }\n .group-focus\\:text-primary:is(:where(.group):focus *) {\n color: var(--atomic-primary);\n }\n .group-focus\\:text-primary-light:is(:where(.group):focus *) {\n color: var(--atomic-primary-light);\n }\n .group-focus-visible\\:text-error:is(:where(.group):focus-visible *) {\n color: var(--atomic-error);\n }\n .group-focus-visible\\:text-primary:is(:where(.group):focus-visible *) {\n color: var(--atomic-primary);\n }\n .peer-focus-within\\:border-primary-light:is(:where(.peer):focus-within ~ *) {\n border-color: var(--atomic-primary-light);\n }\n .peer-focus-within\\:text-primary-light:is(:where(.peer):focus-within ~ *) {\n color: var(--atomic-primary-light);\n }\n @media (hover: hover) {\n .peer-hover\\:border-primary-light:is(:where(.peer):hover ~ *) {\n border-color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .peer-hover\\:text-error:is(:where(.peer):hover ~ *) {\n color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .peer-hover\\:text-primary-light:is(:where(.peer):hover ~ *) {\n color: var(--atomic-primary-light);\n }\n }\n .before\\:inline::before {\n content: var(--tw-content);\n display: inline;\n }\n .before\\:content-\\[\\\'\\,\\\\00a0\\\'\\]::before {\n content: var(--tw-content);\n --tw-content: \',\\00a0\';\n content: var(--tw-content);\n }\n .after\\:absolute::after {\n content: var(--tw-content);\n position: absolute;\n }\n .after\\:-bottom-0\\.5::after {\n content: var(--tw-content);\n bottom: calc(0.25rem * -0.5);\n }\n .after\\:block::after {\n content: var(--tw-content);\n display: block;\n }\n .after\\:h-1::after {\n content: var(--tw-content);\n height: calc(0.25rem * 1);\n }\n .after\\:w-full::after {\n content: var(--tw-content);\n width: 100%;\n }\n .after\\:rounded::after {\n content: var(--tw-content);\n border-radius: var(--atomic-border-radius);\n }\n .after\\:bg-primary::after {\n content: var(--tw-content);\n background-color: var(--atomic-primary);\n }\n .focus-within\\:border-disabled:focus-within {\n border-color: var(--atomic-disabled);\n }\n .focus-within\\:border-primary:focus-within {\n border-color: var(--atomic-primary);\n }\n .focus-within\\:ring-3:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .focus-within\\:ring-neutral:focus-within {\n --tw-ring-color: var(--atomic-neutral);\n }\n .focus-within\\:ring-ring-primary:focus-within {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n @media (hover: hover) {\n .hover\\:border:hover {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n @media (hover: hover) {\n .hover\\:border-error:hover {\n border-color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .hover\\:border-primary-light:hover {\n border-color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .hover\\:bg-error:hover {\n background-color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .hover\\:bg-neutral-light:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n @media (hover: hover) {\n .hover\\:bg-primary-light:hover {\n background-color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .hover\\:bg-transparent:hover {\n background-color: transparent;\n }\n }\n @media (hover: hover) {\n .hover\\:fill-white:hover {\n fill: #fff;\n }\n }\n @media (hover: hover) {\n .hover\\:text-primary-light:hover {\n color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n @media (hover: hover) {\n .hover\\:opacity-100:hover {\n opacity: 100%;\n }\n }\n @media (hover: hover) {\n .hover\\:shadow-sm:hover {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:opacity-100:focus {\n opacity: 100%;\n }\n .focus\\:outline-hidden:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n @media (forced-colors: active) {\n .focus\\:outline-hidden:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .focus-visible\\:border:focus-visible {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .focus-visible\\:border-error:focus-visible {\n border-color: var(--atomic-error);\n }\n .focus-visible\\:border-primary:focus-visible {\n border-color: var(--atomic-primary);\n }\n .focus-visible\\:border-primary-light:focus-visible {\n border-color: var(--atomic-primary-light);\n }\n .focus-visible\\:bg-error:focus-visible {\n background-color: var(--atomic-error);\n }\n .focus-visible\\:bg-neutral-light:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .focus-visible\\:bg-primary-light:focus-visible {\n background-color: var(--atomic-primary-light);\n }\n .focus-visible\\:text-primary-light:focus-visible {\n color: var(--atomic-primary-light);\n }\n .focus-visible\\:underline:focus-visible {\n text-decoration-line: underline;\n }\n .focus-visible\\:ring-2:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n @media (width >= 40rem) {\n .sm\\:px-6 {\n padding-inline: calc(0.25rem * 6);\n }\n }\n .\\[part\\=\\"breadcrumb-button\\"\\]\\:visible:is(part="breadcrumb-button") {\n visibility: visible;\n }\n}\n@layer theme, base, components, utilities;\n@layer components {\n .input-primary {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n }\n @media (hover: hover) {\n .input-primary:hover {\n border-color: var(--atomic-primary-light);\n }\n }\n .input-primary:focus-visible {\n border-color: var(--atomic-primary);\n }\n .input-primary:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .input-primary:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .input-primary:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-radio {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n .btn-radio::before {\n content: var(--tw-content);\n --tw-content: attr(value);\n content: var(--tw-content);\n }\n .btn-primary {\n border-radius: var(--atomic-border-radius);\n background-color: var(--atomic-primary);\n color: var(--atomic-on-primary);\n }\n @media (hover: hover) {\n .btn-primary:hover {\n background-color: var(--atomic-primary-light);\n }\n }\n .btn-primary:focus-visible {\n background-color: var(--atomic-primary-light);\n }\n .btn-primary:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-primary:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-primary:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-primary:disabled {\n cursor: not-allowed;\n }\n .btn-primary:disabled {\n background-color: var(--atomic-disabled);\n }\n .btn-outline-primary {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-primary);\n }\n @media (hover: hover) {\n .btn-outline-primary:hover {\n border-color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .btn-outline-primary:hover {\n color: var(--atomic-primary-light);\n }\n }\n .btn-outline-primary:focus-visible {\n border-color: var(--atomic-primary);\n }\n .btn-outline-primary:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-outline-primary:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-primary:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-primary:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-primary:disabled {\n cursor: not-allowed;\n }\n .btn-outline-primary:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-primary:disabled {\n color: var(--atomic-neutral);\n }\n .btn-text-primary {\n border-radius: var(--atomic-border-radius);\n background-color: var(--atomic-background);\n color: var(--atomic-primary);\n }\n @media (hover: hover) {\n .btn-text-primary:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n .btn-text-primary:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-text-primary:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-neutral {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-outline-neutral:hover {\n border-color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .btn-outline-neutral:hover {\n color: var(--atomic-primary);\n }\n }\n .btn-outline-neutral:focus-visible {\n border-color: var(--atomic-primary);\n }\n .btn-outline-neutral:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-outline-neutral:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-neutral:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-neutral:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-neutral:disabled {\n cursor: not-allowed;\n }\n .btn-outline-neutral:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-neutral:disabled {\n color: var(--atomic-on-background);\n }\n .btn-outline-neutral:disabled {\n opacity: 50%;\n }\n .btn-outline-bg-neutral {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-outline-bg-neutral:hover {\n border-color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .btn-outline-bg-neutral:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n @media (hover: hover) {\n .btn-outline-bg-neutral:hover {\n color: var(--atomic-primary);\n }\n }\n .btn-outline-bg-neutral:focus-visible {\n border-color: var(--atomic-primary);\n }\n .btn-outline-bg-neutral:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-outline-bg-neutral:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-outline-bg-neutral:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-bg-neutral:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-bg-neutral:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-bg-neutral:disabled {\n cursor: not-allowed;\n }\n .btn-outline-bg-neutral:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-bg-neutral:disabled {\n color: var(--atomic-on-background);\n }\n .btn-outline-bg-neutral:disabled {\n opacity: 50%;\n }\n .btn-outline-bg-error {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-outline-bg-error:hover {\n border-color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .btn-outline-bg-error:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n @media (hover: hover) {\n .btn-outline-bg-error:hover {\n color: var(--atomic-primary);\n }\n }\n .btn-outline-bg-error:focus-visible {\n border-color: var(--atomic-primary);\n }\n .btn-outline-bg-error:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-outline-bg-error:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-outline-bg-error:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-bg-error:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-bg-error:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-bg-error:disabled {\n cursor: not-allowed;\n }\n .btn-outline-bg-error:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-bg-error:disabled {\n color: var(--atomic-on-background);\n }\n .btn-outline-bg-error:disabled {\n opacity: 50%;\n }\n .btn-outline-error {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-outline-error:hover {\n border-color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .btn-outline-error:hover {\n color: var(--atomic-error);\n }\n }\n .btn-outline-error:focus-visible {\n border-color: var(--atomic-error);\n }\n .btn-outline-error:focus-visible {\n color: var(--atomic-error);\n }\n .btn-outline-error:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-error:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-error:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-error:disabled {\n cursor: not-allowed;\n }\n .btn-outline-error:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-error:disabled {\n color: var(--atomic-on-background);\n }\n .btn-outline-error:disabled {\n opacity: 50%;\n }\n .btn-text-neutral {\n border-radius: var(--atomic-border-radius);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-text-neutral:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n @media (hover: hover) {\n .btn-text-neutral:hover {\n color: var(--atomic-primary);\n }\n }\n .btn-text-neutral:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-text-neutral:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-text-neutral:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-text-transparent {\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-text-transparent:hover {\n color: var(--atomic-primary-light);\n }\n }\n .btn-text-transparent:focus-visible {\n color: var(--atomic-primary-light);\n }\n .btn-square-neutral {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-square-neutral:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n .btn-square-neutral:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-square-neutral:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-page {\n display: grid;\n height: calc(0.25rem * 10);\n width: calc(0.25rem * 10);\n place-items: center;\n border-style: var(--tw-border-style);\n border-width: 0px;\n font-size: var(--atomic-text-lg);\n line-height: var(--tw-leading, calc(1.75 / 1.125));\n }\n @media (hover: hover) {\n .btn-page:hover {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .btn-page:focus-visible {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .btn-page.selected {\n border-style: var(--tw-border-style);\n border-width: 2px;\n border-color: var(--atomic-primary);\n --tw-font-weight: var(--atomic-font-bold);\n font-weight: var(--atomic-font-bold);\n }\n}\n@layer base {\n :host {\n display: block;\n }\n :host, button, input, select {\n font-family: var(--atomic-font-family);\n font-size: var(--atomic-text-base);\n line-height: var(--tw-leading, calc(1.5 / 1));\n --tw-font-weight: var(--atomic-font-normal);\n font-weight: var(--atomic-font-normal);\n }\n button {\n cursor: pointer;\n }\n :host(.atomic-hidden) {\n display: none;\n }\n .ripple {\n position: absolute;\n pointer-events: none;\n transform: scale(0);\n border-radius: 50%;\n animation: ripple var(--animation-duration) linear;\n }\n .ripple-relative {\n position: relative;\n }\n .ripple-parent {\n overflow: hidden;\n }\n @keyframes ripple {\n to {\n transform: scale(4);\n opacity: 0;\n }\n }\n}\n:host {\n display: block;\n height: inherit;\n width: inherit;\n}\n:host > slot {\n height: inherit;\n}\n@property --tw-translate-x {\n syntax: "*";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: "*";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: "*";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: "*";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: "*";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: "*";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-rotate-x {\n syntax: "*";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: "*";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: "*";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: "*";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: "*";\n inherits: false;\n}\n@property --tw-space-y-reverse {\n syntax: "*";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: "*";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-divide-y-reverse {\n syntax: "*";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: "*";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-gradient-position {\n syntax: "*";\n inherits: false;\n}\n@property --tw-gradient-from {\n syntax: "<color>";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-via {\n syntax: "<color>";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-to {\n syntax: "<color>";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-stops {\n syntax: "*";\n inherits: false;\n}\n@property --tw-gradient-via-stops {\n syntax: "*";\n inherits: false;\n}\n@property --tw-gradient-from-position {\n syntax: "<length-percentage>";\n inherits: false;\n initial-value: 0%;\n}\n@property --tw-gradient-via-position {\n syntax: "<length-percentage>";\n inherits: false;\n initial-value: 50%;\n}\n@property --tw-gradient-to-position {\n syntax: "<length-percentage>";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-leading {\n syntax: "*";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: "*";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: "*";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: "*";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: "<percentage>";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: "*";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: "*";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: "<percentage>";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: "*";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: "*";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: "*";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: "*";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: "*";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: "<length>";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: "*";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: "*";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: "*";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: "*";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: "*";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: "*";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: "*";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: "*";\n inherits: false;\n}\n@property --tw-invert {\n syntax: "*";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: "*";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: "*";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: "*";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: "*";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: "*";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: "<percentage>";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: "*";\n inherits: false;\n}\n@property --tw-duration {\n syntax: "*";\n inherits: false;\n}\n@property --tw-ease {\n syntax: "*";\n inherits: false;\n}\n@property --tw-content {\n syntax: "*";\n initial-value: "";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-divide-y-reverse: 0;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-content: "";\n }\n }\n}\n';const _=O;var D=undefined&&undefined.__decorate||function(n,t,r,e){var i=arguments.length,a=i<3?t:e===null?e=Object.getOwnPropertyDescriptor(t,r):e,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")a=Reflect.decorate(n,t,r,e);else for(var l=n.length-1;l>=0;l--)if(o=n[l])a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a;return i>3&&a&&Object.defineProperty(t,r,a),a};const Q="firstSearchExecuted";const B=class{constructor(t){n(this,t);this.unsubscribeUrlManager=()=>{};this.unsubscribeSearchStatus=()=>{};this.initialized=false;this.relevanceInspectorIsOpen=false;this.fieldsToInclude="[]";this.analytics=true;this.language="en";this.reflectStateInUrl=true;this.scrollContainer="atomic-search-interface";this.languageAssetsPath="./lang";this.iconAssetsPath="./assets";this.enableRelevanceInspector=true;this.onHashChange=()=>{this.urlManager.synchronize(this.fragment)};this.error=undefined;this.relevanceInspectorIsOpen=false;this.fieldsToInclude="[]";this.pipeline=undefined;this.searchHub=undefined;this.analytics=true;this.timezone=undefined;this.logLevel=undefined;this.i18n=undefined;this.language="en";this.engine=undefined;this.reflectStateInUrl=true;this.scrollContainer="atomic-search-interface";this.languageAssetsPath="./lang";this.iconAssetsPath="./assets";this.enableRelevanceInspector=true;this.CspNonce=undefined;this.initRelevanceInspector();this.commonInterfaceHelper=new v(this,"CoveoAtomic");this.store=U();({promise:this.componentWillLoadCalledPromise,resolve:this.componentWillLoadResolver}=Promise.withResolvers());const{promise:r,resolve:e}=Promise.withResolvers();this.i18Initialized=r;this.i18n=b.createInstance(undefined,e)}connectedCallback(){this.store.setLoadingFlag(Q);this.updateMobileBreakpoint()}componentWillLoad(){if(this.CspNonce){t(this.CspNonce)}this.initAriaLive();this.initFieldsToInclude();this.componentWillLoadResolver()}updateSearchConfiguration(n,t){if(!this.commonInterfaceHelper.engineIsCreated(this.engine)){return}if(this.engine.state[n]===t){return}const{updateSearchConfiguration:r}=a(this.engine);this.engine.dispatch(r({[n]:t}))}updateSearchHub(){this.updateSearchConfiguration("searchHub",this.searchHub??"default")}updatePipeline(){this.updateSearchConfiguration("pipeline",this.pipeline)}toggleAnalytics(){if(!this.commonInterfaceHelper.engineIsCreated(this.engine)){return}this.commonInterfaceHelper.onAnalyticsChange()}updateLanguage(){if(!this.commonInterfaceHelper.engineIsCreated(this.engine)){return}const{updateSearchConfiguration:n}=a(this.engine);this.engine.dispatch(n({locale:this.language}));return this.commonInterfaceHelper.onLanguageChange()}updateIconAssetsPath(){this.store.state.iconAssetsPath=this.iconAssetsPath}disconnectedCallback(){this.unsubscribeUrlManager();this.unsubscribeSearchStatus();window.removeEventListener("hashchange",this.onHashChange)}handleInitialization(n){this.commonInterfaceHelper.onComponentInitializing(n)}scrollToTop(){const n=document.querySelector(this.scrollContainer);if(!n){this.bindings.engine.logger.warn(`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`);return}n.scrollIntoView({behavior:"smooth"})}closeRelevanceInspector(){this.relevanceInspectorIsOpen=false}initialize(n){return this.internalInitialization((()=>this.initEngine(n)))}initializeWithSearchEngine(n){if(this.pipeline&&this.pipeline!==n.state.pipeline){console.warn(f("search","query pipeline"))}if(this.searchHub&&this.searchHub!==n.state.searchHub){console.warn(f("search","search hub"))}return this.internalInitialization((()=>this.engine=n))}async executeFirstSearch(){if(!this.commonInterfaceHelper.engineIsCreated(this.engine)){return}if(!this.initialized){console.error('You have to wait until the "initialize" promise is fulfilled before executing a search.',this.host);return}const n=new x;const t=n.getParsedJSON(y.STANDALONE_SEARCH_BOX_DATA,null);if(!t){this.engine.executeFirstSearch();return}n.removeItem(y.STANDALONE_SEARCH_BOX_DATA);const{updateQuery:r}=o(this.engine);const{value:e,enableQuerySyntax:i,analytics:a}=t;this.engine.dispatch(r({q:e,enableQuerySyntax:i}));this.engine.executeFirstSearchAfterStandaloneSearchBoxRedirect(a)}get bindings(){return{engine:this.engine,i18n:this.i18n,store:this.store,interfaceElement:this.host,createStyleElement:()=>{const n=document.createElement("style");if(this.CspNonce){n.setAttribute("nonce",this.CspNonce)}return n},createScriptElement:()=>{const n=document.createElement("script");if(this.CspNonce){n.setAttribute("nonce",this.CspNonce)}return n}}}initFieldsToInclude(){const n=l.concat(this.fieldsToInclude);this.store.addFieldsToInclude(n)}registerFieldsToInclude(){this.engine?.dispatch(s(this.engine).registerFieldsToInclude(this.store.state.fieldsToInclude))}updateMobileBreakpoint(){const n=this.host.querySelector("atomic-search-layout")?.mobileBreakpoint;if(n){this.store.state.mobileBreakpoint=n}}initEngine(n){const t=this.getSearchConfiguration(n);const r=T(n,this.analytics,this.store);try{this.engine=c({configuration:{...n,search:t,analytics:r},loggerOptions:{level:this.logLevel}})}catch(n){this.error=n;throw n}}getSearchConfiguration(n){const t={searchHub:this.searchHub??"default",pipeline:this.pipeline,locale:this.language,timezone:this.timezone};if(n.search){return{...t,...n.search}}return t}get fragment(){return window.location.hash.slice(1)}initUrlManager(){if(!this.reflectStateInUrl){return}this.urlManager=d(this.engine,{initialState:{fragment:this.fragment}});this.unsubscribeUrlManager=this.urlManager.subscribe((()=>this.updateHash()));window.addEventListener("hashchange",this.onHashChange)}initAriaLive(){if(Array.from(this.host.children).some((n=>n.tagName==="ATOMIC-ARIA-LIVE"))){return}const n=document.createElement("atomic-aria-live");this.host.prepend(n)}initRelevanceInspector(){if(this.enableRelevanceInspector){this.host.addEventListener("dblclick",(n=>{if(n.altKey){this.relevanceInspectorIsOpen=!this.relevanceInspectorIsOpen}}))}}initSearchStatus(){this.searchStatus=h(this.engine);this.unsubscribeSearchStatus=this.searchStatus.subscribe((()=>{const n=!this.searchStatus.state.hasResults&&this.searchStatus.state.firstSearchExecuted&&!this.searchStatus.state.hasError;this.host.classList.toggle(E,n);this.host.classList.toggle(L,this.searchStatus.state.hasError);this.host.classList.toggle(M,this.searchStatus.state.firstSearchExecuted);if(this.searchStatus.state.firstSearchExecuted&&this.store.hasLoadingFlag(Q)){this.store.unsetLoadingFlag(Q)}}))}updateHash(){const n=this.urlManager.state.fragment;if(!this.searchStatus.state.firstSearchExecuted){history.replaceState(null,document.title,`#${n}`);this.bindings.engine.logger.info(`History replaceState #${n}`);return}history.pushState(null,document.title,`#${n}`);this.bindings.engine.logger.info(`History pushState #${n}`)}async internalInitialization(n){await this.componentWillLoadCalledPromise;await Promise.all([this.commonInterfaceHelper.onInitialization(n),this.i18Initialized]);await this.updateLanguage();i(this.host);this.pipeline=this.engine.state.pipeline;this.searchHub=this.engine.state.searchHub;this.initSearchStatus();this.initUrlManager();this.initialized=true}render(){return[this.engine&&this.enableRelevanceInspector&&r("atomic-relevance-inspector",{key:"85549c49bd3ccd6a29e0cb3b841d9b745a62604d",open:this.relevanceInspectorIsOpen,bindings:this.bindings}),r("slot",{key:"368de8a5f49519d94bbc7a70d55af93c7e4745c8"})]}get host(){return e(this)}static get watchers(){return{searchHub:["updateSearchHub"],pipeline:["updatePipeline"],analytics:["toggleAnalytics"],language:["updateLanguage"],iconAssetsPath:["updateIconAssetsPath"]}}};D([k()],B.prototype,"fieldsToInclude",void 0);B.style=_;export{B as atomic_search_interface};
2
- //# sourceMappingURL=p-ad0f197a.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["containerWebComponentTagName","noResultsSelector","errorSelector","firstSearchExecutedSelector","makeDesktopQuery","mobileBreakpoint","getAnalyticsConfig","searchEngineConfig","enabled","store","analytics","analyticsMode","getNextAnalyticsConfig","getLegacyAnalyticsConfig","analyticsClientMiddleware","event","payload","augmentAnalytics","defaultConfiguration","augmentAnalyticsConfigWithDocument","immutableConfiguration","augmentAnalyticsConfigWithAtomicVersion","config","result","augmentWithExternalMiddleware","augmentAnalyticsWithAtomicVersion","augmentAnalyticsWithFacetTitles","allFacets","getAllFacets","getAtomicFacetLabelOrOriginalTitle","facetId","originalTitle","label","facetState","map","analyticsFacetState","id","title","customData","facetTitle","createSearchStore","createBaseStore","loadingFlags","iconAssetsPath","resultList","undefined","DEFAULT_MOBILE_BREAKPOINT","facets","numericFacets","dateFacets","categoryFacets","facetElements","fieldsToInclude","sortOptions","unsetLoadingFlag","loadingFlag","setLoadingFlag","isMobile","window","matchMedia","state","matches","registerFacet","facetType","data","getFacetElements","waitUntilAppLoaded","callback","getUniqueIDFromEngine","engine","search","response","searchUid","hasLoadingFlag","indexOf","addFieldsToInclude","fields","currentFields","atomicSearchInterfaceCss","AtomicSearchInterfaceStyle0","FirstSearchExecutedFlag","AtomicSearchInterface","constructor","hostRef","this","unsubscribeUrlManager","unsubscribeSearchStatus","initialized","relevanceInspectorIsOpen","language","reflectStateInUrl","scrollContainer","languageAssetsPath","enableRelevanceInspector","onHashChange","urlManager","synchronize","fragment","initRelevanceInspector","commonInterfaceHelper","CommonAtomicInterfaceHelper","promise","componentWillLoadCalledPromise","resolve","componentWillLoadResolver","Promise","withResolvers","i18Initialized","i18n","i18next","createInstance","connectedCallback","updateMobileBreakpoint","componentWillLoad","CspNonce","setNonce","initAriaLive","initFieldsToInclude","updateSearchConfiguration","updatedProp","newValue","engineIsCreated","loadSearchConfigurationActions","dispatch","updateSearchHub","searchHub","updatePipeline","pipeline","toggleAnalytics","onAnalyticsChange","updateLanguage","locale","onLanguageChange","updateIconAssetsPath","disconnectedCallback","removeEventListener","handleInitialization","onComponentInitializing","scrollToTop","scrollContainerElement","document","querySelector","bindings","logger","warn","scrollIntoView","behavior","closeRelevanceInspector","initialize","options","internalInitialization","initEngine","initializeWithSearchEngine","console","mismatchedInterfaceAndEnginePropError","executeFirstSearch","error","host","safeStorage","SafeStorage","standaloneSearchBoxData","getParsedJSON","StorageItems","STANDALONE_SEARCH_BOX_DATA","removeItem","updateQuery","loadQueryActions","value","enableQuerySyntax","q","executeFirstSearchAfterStandaloneSearchBoxRedirect","interfaceElement","createStyleElement","styleTag","createElement","setAttribute","createScriptElement","EcommerceDefaultFieldsToInclude","concat","registerFieldsToInclude","loadFieldActions","breakpoint","searchConfig","getSearchConfiguration","analyticsConfig","buildSearchEngine","configuration","loggerOptions","level","logLevel","searchConfigFromProps","timezone","location","hash","slice","initUrlManager","buildUrlManager","initialState","subscribe","updateHash","addEventListener","Array","from","children","some","element","tagName","ariaLive","prepend","e","altKey","initSearchStatus","searchStatus","buildSearchStatus","hasNoResultsAfterInitialSearch","hasResults","firstSearchExecuted","hasError","classList","toggle","newFragment","history","replaceState","info","pushState","all","onInitialization","markParentAsReady","render","h","key","open","__decorate","ArrayProp"],"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"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["SubmitButton","bindings","disabled","onClick","h","part","class","Button","style","ariaLabel","i18n","t","icon","SearchSlimIcon","atomicSearchBoxCss","AtomicSearchBoxStyle0","AtomicSearchBox","this","searchBoxSuggestionEventsQueue","isExpanded","numberOfQueries","suggestionTimeout","suggestionDelay","disableSearch","minimumQueryLength","clearFilters","enableQuerySyntax","disconnectedCallback","updateBreakpoints","once","host","renderTextBox","searchLabel","props","loading","searchBoxState","isLoading","value","title","onFocus","onInput","e","target","onKeyDown","onClear","searchBox","clear","suggestionManager","clearSuggestions","popup","id","activeDescendant","expanded","hasSuggestions","SearchTextArea","textAreaRef","ref","el","triggerTextAreaChange","isStandaloneSearchBox","initialize","randomID","initializeSearchboxController","initializeSuggestionManager","updateRedirectionUrl","redirectionUrl","updateRedirectUrl","registerNewSearchBoxController","buildStandaloneSearchBox","engine","options","searchBoxOptions","overwrite","buildSearchBox","componentWillUpdate","redirectTo","analytics","data","storage","SafeStorage","setJSON","StorageItems","STANDALONE_SEARCH_BOX_DATA","afterRedirection","event","redirect","emit","defaultPrevented","window","location","href","registerSuggestions","push","registerSuggestionsFromEvent","suggestionBindings","registerSearchboxSuggestionEvents","forEach","evt","watchRedirectionUrl","SuggestionManager","getNumberOfSuggestionsToDisplay","updateQuery","query","updateText","getSearchBoxValue","getSuggestionTimeout","getSuggestionDelay","getHost","getLogger","logger","initializeSuggestions","spreadProperties","partialSuggestionBindings","Object","defineProperties","get","enumerable","searchBoxController","isStandalone","numberOfSuggestions","highlightOptions","notMatchDelimiters","open","close","correctionDelimiters","isSearchDisabledForEndUser","triggerSuggestions","announceNewSuggestionsToScreenReader","onSubmit","keyboardActiveDescendant","submit","key","preventDefault","focusNextValue","announceNewActiveSuggestionToScreenReader","focusPreviousValue","hasActiveDescendant","state","focusPanel","updateKeyboardActiveDescendant","dispatchEvent","Event","renderSuggestion","item","index","lastIndex","side","isSelected","hideIfLast","suggestion","isDoubleList","onSuggestionClick","onMouseOver","onSuggestionMouseOver","renderPanel","elements","setRef","getRef","length","onMouseDown","map","shouldShowSuggestions","renderSuggestions","role","leftSuggestionElements","leftPanel","rightSuggestionElements","rightPanel","renderAbsolutePositionSpacer","rows","queryValue","isNullOrUndefined","trim","getSearchInputLabel","isMacOS","hasKeyboard","activeDescendantElement","suggestionsAriaMessage","elsLength","allSuggestionElements","filter","elementHasQuery","searchBoxAriaMessage","count","render","isDisabled","suggestions","Host","SearchBoxWrapper","onFocusout","isFocusingOut","__decorate","InitializeBindings","BindStateToController","AriaLiveRegion"],"sources":["src/components/common/search-box/stencil-submit-button.tsx","src/components/search/atomic-search-box/atomic-search-box.pcss?tag=atomic-search-box&encapsulation=shadow","src/components/search/atomic-search-box/atomic-search-box.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport SearchSlimIcon from '../../../images/search-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button} from '../stencil-button';\n\ninterface Props {\n bindings: AnyBindings;\n disabled: boolean;\n onClick: () => void;\n}\n\nexport const SubmitButton: FunctionalComponent<Props> = ({\n bindings,\n disabled,\n onClick,\n}) => (\n <div\n part=\"submit-button-wrapper\"\n class=\"mr-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-primary\"\n class=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full\"\n part=\"submit-button\"\n ariaLabel={bindings.i18n.t('search')}\n onClick={() => {\n onClick?.();\n }}\n disabled={disabled}\n >\n <atomic-icon\n part=\"submit-icon\"\n icon={SearchSlimIcon}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","@import '../../../global/global.pcss';\n@import '../../common/search-box/search-box.pcss';\n\n[part~='instant-results-item'] {\n @apply p-3;\n}\n\n[part~='instant-results-show-all'] {\n @apply border-t-neutral justify-center border-t py-1;\n margin-top: auto;\n box-sizing: content-box;\n button {\n background-color: transparent;\n }\n}\n\n[part~='suggestions-left'] + [part~='suggestions-right'] {\n @apply border-l-neutral border-l;\n}\n\n[part~='suggestions-wrapper'] {\n flex-direction: column;\n @media (width >= theme(--breakpoint-desktop)) {\n flex-direction: row;\n }\n}\n\n:host {\n @apply relative z-10;\n}\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {\n SearchBox,\n SearchBoxState,\n buildSearchBox,\n StandaloneSearchBox,\n StandaloneSearchBoxState,\n buildStandaloneSearchBox,\n SearchBoxOptions,\n} from '@coveo/headless';\nimport {\n Component,\n h,\n State,\n Prop,\n Listen,\n Watch,\n Element,\n Event,\n EventEmitter,\n Host,\n} from '@stencil/core';\nimport {hasKeyboard, isMacOS} from '../../../utils/device-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n SafeStorage,\n StandaloneSearchBoxData,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {updateBreakpoints} from '../../../utils/replace-breakpoint-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {\n isFocusingOut,\n once,\n randomID,\n spreadProperties,\n} from '../../../utils/utils';\nimport {RedirectionPayload} from '../../common/search-box/redirection-payload';\nimport {SearchBoxWrapper} from '../../common/search-box/stencil-search-box-wrapper';\nimport {SearchTextArea} from '../../common/search-box/stencil-search-text-area';\nimport {SubmitButton} from '../../common/search-box/stencil-submit-button';\nimport {SuggestionManager} from '../../common/suggestions/stencil-suggestion-manager';\nimport {\n elementHasQuery,\n} from '../../common/suggestions/suggestions-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from '../../common/suggestions/suggestions-types';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-search-box` component creates a search box with built-in support for suggestions.\n *\n * @slot default - The default slot where you can add child components to the search box.\n *\n * @part wrapper - The search box wrapper.\n * @part input - The search box input.\n * @part loading - The search box loading animation.\n * @part clear-button - The button to clear the search box of input.\n * @part clear-icon - The clear button's icon.\n * @part submit-button - The search box submit button.\n * @part submit-icon - The search box submit button's icon.\n * @part suggestions - A list of suggested query corrections on each panel.\n * @part suggestions-left - A list of suggested query corrections on the left panel.\n * @part suggestions-right - A list of suggested query corrections on the right panel.\n * @part suggestions-wrapper - The wrapper that contains suggestion panels.\n * @part suggestions-single-list - The wrapper that contains 1 suggestion list.\n * @part suggestions-double-list - The wrapper that contains 2 suggestion lists.\n * @part suggestion - A suggested query correction.\n * @part active-suggestion - The currently active suggestion.\n * @part suggestion-divider - An item in the list that separates groups of suggestions.\n * @part suggestion-with-query - An item in the list that will update the search box query.\n *\n * @part query-suggestion-item - A suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-content - The contents of a suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-icon - The icon of a suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-text - The text of a suggestion from the `atomic-search-box-query-suggestions` component.\n *\n * @part recent-query-item - A suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-content - The contents of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-icon - The icon of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-text - The text of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-text-highlight - The highlighted portion of the text of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title-item - The clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title-content - The contents of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title - The \"recent searches\" text of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-clear - The \"clear\" text of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n *\n * @part instant-results-item - An instant result rendered by an `atomic-search-box-instant-results` component.\n * @part instant-results-show-all - The clickable suggestion to show all items for the current instant results search rendered by an `atomic-search-box-instant-results` component.\n * @part instant-results-show-all-button - The button inside the clickable suggestion from the `atomic-search-box-instant-results` component.\n */\n@Component({\n tag: 'atomic-search-box',\n styleUrl: 'atomic-search-box.pcss',\n shadow: true,\n})\nexport class AtomicSearchBox implements InitializableComponent<Bindings> {\n @InitializeBindings() public bindings!: Bindings;\n private searchBox!: SearchBox | StandaloneSearchBox;\n private searchBoxSuggestionEventsQueue: CustomEvent<\n SearchBoxSuggestionsEvent<SearchBox | StandaloneSearchBox>\n >[] = [];\n private id!: string;\n private textAreaRef!: HTMLTextAreaElement;\n private suggestionManager!: SuggestionManager<\n SearchBox | StandaloneSearchBox\n >;\n\n @Element() private host!: HTMLElement;\n\n @BindStateToController('searchBox')\n @State()\n private searchBoxState!: SearchBoxState | StandaloneSearchBoxState;\n @State() public error!: Error;\n @State() private isExpanded = false;\n\n /**\n * The amount of queries displayed when the user interacts with the search box.\n * By default, a mix of query suggestions and recent queries will be shown.\n * You can configure those settings using the following components as children:\n * - atomic-search-box-query-suggestions\n * - atomic-search-box-recent-queries\n */\n @Prop({reflect: true}) public numberOfQueries = 8;\n\n /**\n * Defining this option makes the search box standalone (see [Use a\n * Standalone Search Box](https://docs.coveo.com/en/atomic/latest/usage/ssb/)).\n *\n * This option defines the default URL the user should be redirected to, when a query is submitted.\n * If a query pipeline redirect is triggered, it will redirect to that URL instead\n * (see [query pipeline triggers](https://docs.coveo.com/en/1458)).\n */\n @Prop({reflect: true}) public redirectionUrl?: string;\n\n /**\n * The timeout for suggestion queries, in milliseconds.\n * If a suggestion query times out, the suggestions from that particular query won't be shown.\n */\n @Prop() public suggestionTimeout = 400;\n\n /**\n * The delay for suggestion queries on input, in milliseconds.\n *\n * The suggestion request will be delayed until the end user stops typing for at least the specified amount of time.\n *\n * This delay is used to avoid sending too many requests to the Coveo Platform when the user is typing, as well as reducing potential input lag on low end devices.\n * A higher delay will reduce input lag, at the cost of suggestions freshness.\n */\n @Prop() public suggestionDelay = 0;\n\n /**\n * Whether to prevent the user from triggering searches and query suggestions from the component.\n * Perfect for use cases where you need to disable the search conditionally.\n * For the specific case when you need to disable the search based on the length of the query, refer to {@link minimumQueryLength}.\n */\n @Prop({reflect: true}) public disableSearch = false;\n\n /**\n * The minimum query length required to enable search.\n * For example, to disable the search for empty queries, set this to `1`.\n */\n @Prop({reflect: true}) public minimumQueryLength = 0;\n\n /**\n * Whether to clear all active query filters when the end user submits a new query from the search box.\n * Setting this option to \"false\" is not recommended & can lead to an increasing number of queries returning no results.\n */\n @Prop({reflect: true}) public clearFilters = true;\n\n /**\n * Whether to interpret advanced [Coveo Cloud query syntax](https://docs.coveo.com/en/1814/) in the query.\n * You should only enable query syntax in the search box if you have good reasons to do so, as it\n * requires end users to be familiar with Coveo Cloud query syntax, otherwise they will likely be surprised\n * by the search box behaviour.\n *\n * When the `redirection-url` property is set and redirects to a page with more `atomic-search-box` components, all `atomic-search-box` components need to have the same `enable-query-syntax` value.\n */\n @Prop({reflect: true}) public enableQuerySyntax = false;\n\n /**\n * Event that is emitted when a standalone search box redirection is triggered. By default, the search box will directly change the URL and redirect accordingly, so if you want to handle the redirection differently, use this event.\n *\n * Example:\n * ```html\n * <script>\n * document.querySelector('atomic-search-box').addEventListener((e) => {\n * e.preventDefault();\n * // handle redirection\n * });\n * </script>\n * ...\n * <atomic-search-box redirection-url=\"/search\"></atomic-search-box>\n * ```\n */\n @Event({\n eventName: 'redirect',\n })\n public redirect!: EventEmitter<RedirectionPayload>;\n\n @AriaLiveRegion('search-box')\n protected searchBoxAriaMessage!: string;\n\n @AriaLiveRegion('search-suggestions', true)\n protected suggestionsAriaMessage!: string;\n\n private isStandaloneSearchBox(\n searchBox: SearchBox | StandaloneSearchBox\n ): searchBox is StandaloneSearchBox {\n return 'redirectTo' in searchBox;\n }\n\n public initialize() {\n this.id ||= randomID('atomic-search-box-');\n\n this.initializeSearchboxController();\n this.initializeSuggestionManager();\n }\n\n private updateRedirectionUrl() {\n if (this.isStandaloneSearchBox(this.searchBox) && this.redirectionUrl) {\n this.searchBox.updateRedirectUrl(this.redirectionUrl);\n } else {\n this.registerNewSearchBoxController();\n }\n }\n\n private registerNewSearchBoxController() {\n this.disconnectedCallback();\n this.initialize();\n }\n\n private initializeSearchboxController() {\n this.searchBox = this.redirectionUrl\n ? buildStandaloneSearchBox(this.bindings.engine, {\n options: {\n ...this.searchBoxOptions,\n redirectionUrl: this.redirectionUrl,\n overwrite: true,\n },\n })\n : buildSearchBox(this.bindings.engine, {\n options: this.searchBoxOptions,\n });\n }\n\n public componentWillUpdate() {\n if (\n !('redirectTo' in this.searchBoxState) ||\n !('afterRedirection' in this.searchBox)\n ) {\n return;\n }\n\n const {redirectTo, value, analytics} = this.searchBoxState;\n\n if (redirectTo === '') {\n return;\n }\n const data: StandaloneSearchBoxData = {\n value,\n enableQuerySyntax: this.enableQuerySyntax,\n analytics,\n };\n const storage = new SafeStorage();\n storage.setJSON(StorageItems.STANDALONE_SEARCH_BOX_DATA, data);\n\n this.searchBox.afterRedirection();\n const event = this.redirect.emit({redirectTo, value});\n if (!event.defaultPrevented) {\n window.location.href = redirectTo;\n }\n }\n\n public disconnectedCallback = () => {};\n\n @Listen('atomic/searchBoxSuggestion/register')\n public registerSuggestions(\n event: CustomEvent<\n SearchBoxSuggestionsEvent<SearchBox | StandaloneSearchBox>\n >\n ) {\n if (!this.bindings) {\n this.searchBoxSuggestionEventsQueue.push(event);\n } else {\n this.suggestionManager.registerSuggestionsFromEvent(\n event,\n this.suggestionBindings\n );\n }\n }\n\n private registerSearchboxSuggestionEvents() {\n this.searchBoxSuggestionEventsQueue.forEach((evt) => {\n this.suggestionManager.registerSuggestionsFromEvent(\n evt,\n this.suggestionBindings\n );\n });\n this.searchBoxSuggestionEventsQueue = [];\n }\n\n @Watch('redirectionUrl')\n watchRedirectionUrl() {\n this.updateRedirectionUrl();\n }\n\n private initializeSuggestionManager() {\n if (this.suggestionManager) {\n return;\n }\n\n this.suggestionManager = new SuggestionManager({\n getNumberOfSuggestionsToDisplay: () => this.numberOfQueries,\n updateQuery: (query) => this.searchBox.updateText(query),\n getSearchBoxValue: () => this.searchBoxState.value,\n getSuggestionTimeout: () => this.suggestionTimeout,\n getSuggestionDelay: () => this.suggestionDelay,\n getHost: () => this.host,\n getLogger: () => this.bindings.engine.logger,\n });\n this.suggestionManager.initializeSuggestions(this.suggestionBindings);\n }\n\n private get suggestionBindings(): SearchBoxSuggestionsBindings<\n SearchBox | StandaloneSearchBox\n > {\n return spreadProperties(\n this.bindings,\n this.suggestionManager.partialSuggestionBindings,\n this.partialSuggestionBindings\n );\n }\n\n private get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBox | StandaloneSearchBox>,\n | 'id'\n | 'isStandalone'\n | 'searchBoxController'\n | 'numberOfQueries'\n | 'clearFilters'\n > {\n return Object.defineProperties(\n {...this.bindings},\n {\n id: {\n get: () => this.id,\n enumerable: true,\n },\n searchBoxController: {\n get: () => this.searchBox,\n enumerable: true,\n },\n isStandalone: {\n get: () => !!this.redirectionUrl,\n enumerable: true,\n },\n numberOfQueries: {\n get: () => this.numberOfQueries,\n enumerable: true,\n },\n clearFilters: {\n get: () => this.clearFilters,\n enumerable: true,\n },\n }\n ) as unknown as Pick<\n SearchBoxSuggestionsBindings<SearchBox | StandaloneSearchBox>,\n | 'id'\n | 'isStandalone'\n | 'searchBoxController'\n | 'numberOfQueries'\n | 'clearFilters'\n >;\n }\n\n private get searchBoxOptions(): SearchBoxOptions {\n return {\n id: this.id,\n numberOfSuggestions: 0,\n highlightOptions: {\n notMatchDelimiters: {\n open: '<span class=\"font-bold\">',\n close: '</span>',\n },\n correctionDelimiters: {\n open: '<span class=\"font-normal\">',\n close: '</span>',\n },\n },\n clearFilters: this.clearFilters,\n enableQuerySyntax: this.enableQuerySyntax,\n };\n }\n\n private updateBreakpoints = once(() => updateBreakpoints(this.host));\n\n private async onInput(value: string) {\n this.searchBox.updateText(value);\n\n if (this.isSearchDisabledForEndUser(value)) {\n this.suggestionManager.clearSuggestions();\n return;\n }\n this.isExpanded = true;\n await this.suggestionManager.triggerSuggestions();\n this.announceNewSuggestionsToScreenReader();\n }\n\n private async onFocus() {\n if (this.isExpanded) {\n return;\n }\n this.isExpanded = true;\n await this.suggestionManager.triggerSuggestions();\n this.announceNewSuggestionsToScreenReader();\n }\n\n private onSubmit() {\n this.isExpanded = false;\n if (this.suggestionManager.keyboardActiveDescendant) {\n this.suggestionManager.onSubmit();\n return;\n }\n\n this.searchBox.submit();\n }\n\n private async onKeyDown(e: KeyboardEvent) {\n if (this.isSearchDisabledForEndUser(this.searchBoxState.value)) {\n return;\n }\n\n switch (e.key) {\n case 'Enter':\n this.onSubmit();\n break;\n case 'Escape':\n this.suggestionManager.clearSuggestions();\n break;\n case 'ArrowDown':\n e.preventDefault();\n await this.suggestionManager.focusNextValue();\n this.announceNewActiveSuggestionToScreenReader();\n break;\n case 'ArrowUp':\n e.preventDefault();\n await this.suggestionManager.focusPreviousValue();\n this.announceNewActiveSuggestionToScreenReader();\n break;\n case 'ArrowRight':\n if (\n this.suggestionManager.hasActiveDescendant ||\n !this.searchBox.state.value\n ) {\n e.preventDefault();\n this.suggestionManager.focusPanel('right');\n this.announceNewActiveSuggestionToScreenReader();\n }\n break;\n case 'ArrowLeft':\n if (\n this.suggestionManager.hasActiveDescendant ||\n !this.searchBox.state.value\n ) {\n e.preventDefault();\n this.suggestionManager.focusPanel('left');\n this.announceNewActiveSuggestionToScreenReader();\n }\n break;\n case 'Tab':\n this.suggestionManager.clearSuggestions();\n break;\n default:\n if (this.suggestionManager.keyboardActiveDescendant) {\n this.suggestionManager.updateKeyboardActiveDescendant();\n }\n break;\n }\n }\n\n private triggerTextAreaChange(value: string) {\n this.textAreaRef.value = value;\n this.textAreaRef.dispatchEvent(new window.Event('change'));\n }\n\n private renderSuggestion(\n item: SearchBoxSuggestionElement,\n index: number,\n lastIndex: number,\n side: 'left' | 'right'\n ) {\n const id = `${this.id}-${side}-suggestion-${item.key}`;\n\n const isSelected = id === this.suggestionManager.activeDescendant;\n\n if (index === lastIndex && item.hideIfLast) {\n return null;\n }\n\n return (\n <atomic-suggestion-renderer\n i18n={this.bindings.i18n}\n id={id}\n suggestion={item}\n isSelected={isSelected}\n side={side}\n index={index}\n lastIndex={lastIndex}\n isDoubleList={this.suggestionManager.isDoubleList}\n onClick={(e: Event) => {\n this.suggestionManager.onSuggestionClick(item, e);\n if (item.key === 'recent-query-clear') {\n return;\n }\n\n this.isExpanded = false;\n }}\n onMouseOver={() => {\n this.suggestionManager.onSuggestionMouseOver(item, side, id);\n }}\n ></atomic-suggestion-renderer>\n );\n }\n\n private renderPanel(\n side: 'left' | 'right',\n elements: SearchBoxSuggestionElement[],\n setRef: (el: HTMLElement | undefined) => void,\n getRef: () => HTMLElement | undefined\n ) {\n if (!elements.length) {\n return null;\n }\n\n return (\n <div\n part={`suggestions suggestions-${side}`}\n ref={setRef}\n class=\"flex grow basis-1/2 flex-col\"\n onMouseDown={(e) => {\n if (e.target === getRef()) {\n e.preventDefault();\n }\n }}\n >\n {elements.map((suggestion, index) =>\n this.renderSuggestion(suggestion, index, elements.length - 1, side)\n )}\n </div>\n );\n }\n\n private get shouldShowSuggestions() {\n return (\n this.suggestionManager.hasSuggestions &&\n this.isExpanded &&\n !this.isSearchDisabledForEndUser(this.searchBoxState.value)\n );\n }\n\n private renderSuggestions() {\n return (\n <div\n id={`${this.id}-popup`}\n part={`suggestions-wrapper ${\n this.suggestionManager.isDoubleList\n ? 'suggestions-double-list'\n : 'suggestions-single-list'\n }`}\n class={`bg-background border-neutral absolute top-full left-0 z-10 flex w-full rounded-md border ${\n this.shouldShowSuggestions ? '' : 'hidden'\n }`}\n role=\"application\"\n aria-label={this.bindings.i18n.t(\n this.suggestionManager.isDoubleList\n ? 'search-suggestions-double-list'\n : 'search-suggestions-single-list'\n )}\n {...(this.suggestionManager.activeDescendant && {\n 'aria-activedescendant': this.suggestionManager.activeDescendant,\n })}\n >\n {this.renderPanel(\n 'left',\n this.suggestionManager.leftSuggestionElements,\n (el) => (this.suggestionManager.leftPanel = el),\n () => this.suggestionManager.leftPanel\n )}\n {this.renderPanel(\n 'right',\n this.suggestionManager.rightSuggestionElements,\n (el) => (this.suggestionManager.rightPanel = el),\n () => this.suggestionManager.rightPanel\n )}\n </div>\n );\n }\n\n private renderTextBox = (searchLabel: string) => {\n const props = {\n loading: this.searchBoxState.isLoading,\n bindings: this.bindings,\n value: this.searchBoxState.value,\n title: searchLabel,\n ariaLabel: searchLabel,\n onFocus: () => this.onFocus(),\n onInput: (e: Event) =>\n this.onInput(\n (e.target as HTMLInputElement | HTMLTextAreaElement).value\n ),\n onKeyDown: (e: KeyboardEvent) => this.onKeyDown(e),\n onClear: () => {\n this.searchBox.clear();\n this.suggestionManager.clearSuggestions();\n },\n popup: {\n id: `${this.id}-popup`,\n activeDescendant: this.suggestionManager.activeDescendant,\n expanded: this.isExpanded,\n hasSuggestions: this.suggestionManager.hasSuggestions,\n },\n };\n\n return (\n <SearchTextArea\n textAreaRef={this.textAreaRef}\n ref={(el) => (this.textAreaRef = el as HTMLTextAreaElement)}\n {...props}\n onClear={() => {\n props.onClear();\n this.triggerTextAreaChange('');\n }}\n />\n );\n };\n\n private renderAbsolutePositionSpacer() {\n return (\n <textarea\n aria-hidden\n part=\"textarea-spacer\"\n class=\"invisible w-full px-4 py-3.5 text-lg\"\n rows={1}\n ></textarea>\n );\n }\n\n private isSearchDisabledForEndUser(queryValue?: string) {\n if (isNullOrUndefined(queryValue)) {\n return this.disableSearch;\n }\n\n if (queryValue.trim().length < this.minimumQueryLength) {\n return true;\n }\n\n return this.disableSearch;\n }\n\n private getSearchInputLabel(minimumQueryLength = 0) {\n if (this.isSearchDisabledForEndUser(this.searchBoxState.value)) {\n return this.bindings.i18n.t('search-disabled', {\n length: minimumQueryLength,\n });\n }\n\n if (isMacOS()) {\n return this.bindings.i18n.t('search-box-with-suggestions-macos');\n }\n if (!hasKeyboard()) {\n return this.bindings.i18n.t('search-box-with-suggestions-keyboardless');\n }\n return this.bindings.i18n.t('search-box-with-suggestions');\n }\n\n private announceNewActiveSuggestionToScreenReader() {\n const ariaLabel = this.suggestionManager.activeDescendantElement?.ariaLabel;\n if (isMacOS() && ariaLabel) {\n this.suggestionsAriaMessage = ariaLabel;\n }\n }\n\n private announceNewSuggestionsToScreenReader() {\n const elsLength =\n this.suggestionManager.allSuggestionElements.filter(\n elementHasQuery\n ).length;\n this.searchBoxAriaMessage = elsLength\n ? this.bindings.i18n.t(\n this.searchBoxState.value\n ? 'query-suggestions-available'\n : 'query-suggestions-available-no-query',\n {\n count: elsLength,\n query: this.searchBoxState.value,\n }\n )\n : this.bindings.i18n.t('query-suggestions-unavailable');\n }\n\n public render() {\n this.updateBreakpoints();\n\n const searchLabel = this.getSearchInputLabel(this.minimumQueryLength);\n const isDisabled = this.isSearchDisabledForEndUser(\n this.searchBoxState.value\n );\n if (!this.suggestionManager.suggestions.length) {\n this.registerSearchboxSuggestionEvents();\n }\n\n return (\n <Host>\n {this.renderAbsolutePositionSpacer()}\n {[\n <SearchBoxWrapper\n disabled={isDisabled}\n onFocusout={(event) => {\n if (!isFocusingOut(event)) {\n return;\n }\n this.suggestionManager.clearSuggestions();\n this.isExpanded = false;\n }}\n >\n {this.renderTextBox(searchLabel)}\n <SubmitButton\n bindings={this.bindings}\n disabled={isDisabled}\n onClick={() => {\n this.searchBox.submit();\n this.suggestionManager.clearSuggestions();\n }}\n />\n {this.renderSuggestions()}\n </SearchBoxWrapper>,\n !this.suggestionManager.suggestions.length && (\n <slot>\n <atomic-search-box-recent-queries></atomic-search-box-recent-queries>\n <atomic-search-box-query-suggestions></atomic-search-box-query-suggestions>\n </slot>\n ),\n ]}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["AtomicSuggestionRenderer","parts","part","this","isSelected","suggestion","query","classes","content","isHTMLElement","h","Fragment","ariaLabel","isButton","contentLabel","i18n","t","labelWithType","isMacOS","label","interpolation","escapeValue","position","index","count","lastIndex","isDoubleList","side","ensureContentForRenderedSuggestion","element","replaceChildren","el","HTMLElement","render","onSelect","Host","key","class","id","onMouseDown","e","preventDefault","onClick","onMouseOver","ref"],"sources":["src/components/common/atomic-suggestion-renderer/atomic-suggestion-renderer.tsx"],"sourcesContent":["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"],"mappings":"mGAiBaA,EAAwB,M,mQAYnC,SAAYC,GACV,IAAIC,EAAO,aACX,GAAIC,KAAKC,WAAY,CACnBF,GAAQ,oB,CAEV,GAAIC,KAAKE,WAAWC,MAAO,CACzBJ,GAAQ,wB,CAEV,GAAIC,KAAKE,WAAWH,KAAM,CACxBA,GAAQ,IAAIC,KAAKE,WAAWH,M,CAE9B,OAAOA,C,CAGT,WAAYK,GACV,MAAO,8EACLJ,KAAKC,WAAa,mBAAqB,I,CAI3C,WAAYI,GACV,OAAOL,KAAKM,cAAcN,KAAKE,WAAWG,SACxCE,EAACC,EAAQ,MAETR,KAAKE,WAAkB,O,CAInB,SAAAO,CAAUC,GAChB,MAAMC,EACJX,KAAKE,WAAWO,WAChBT,KAAKE,WAAWC,OAChBH,KAAKY,KAAKC,EAAE,YAEd,MAAMC,EACJC,KAAaL,EACTV,KAAKY,KAAKC,EAAE,2BAA4B,CACtCG,MAAOL,EACPM,cAAe,CAACC,YAAa,SAE/BP,EAEN,MAAMQ,EAAWnB,KAAKoB,MAAQ,EAC9B,MAAMC,EAAQrB,KAAKsB,UAAY,EAE/B,IAAKtB,KAAKuB,aAAc,CACtB,OAAOvB,KAAKY,KAAKC,EAAE,gCAAiC,CAClDG,MAAOF,EACPK,WACAE,QACAJ,cAAe,CAACC,YAAa,Q,CAIjC,OAAOlB,KAAKY,KAAKC,EAAE,gCAAiC,CAClDG,MAAOF,EACPK,WACAE,QACAG,KAAMxB,KAAKY,KAAKC,EAAEb,KAAKwB,OAAS,OAAS,OAAS,SAClDP,cAAe,CAACC,YAAa,Q,CAIzB,kCAAAO,CAAmCC,GACzC,GAAI1B,KAAKM,cAAcN,KAAKE,WAAWG,SAAU,CAC/CqB,EAAQC,gBAAgB3B,KAAKE,WAAWG,Q,EAIpC,aAAAC,CAAcsB,GACpB,OAAOA,aAAcC,W,CAGvB,MAAAC,GACE,MAAMpB,KAAcV,KAAKE,WAAW6B,UAAY/B,KAAKE,WAAWC,OAEhE,OACEI,EAACyB,EAAI,CAAAC,IAAA,2CAACC,MAAM,YACTxB,EACCH,EAAA,UACE4B,GAAInC,KAAKmC,GACTF,IAAKjC,KAAKE,WAAW+B,IACrBlC,KAAMC,KAAKF,MACXoC,MAAOlC,KAAKI,QACZgC,YAAcC,GAAMA,EAAEC,iBACtBC,QAAUF,GAAarC,KAAKuC,UAAUF,GACtCG,YAAcH,GAAarC,KAAKwC,cAAcH,GAAE,aACpCrC,KAAKE,WAAWC,MAAK,aACrBH,KAAKS,UAAUC,GAC3B+B,IAAMb,IACJ,IAAKA,EAAI,CACP,M,CAEF5B,KAAKyB,mCAAmCG,EAAG,GAG5C5B,KAAKK,SAGRE,EAAA,QACE4B,GAAInC,KAAKmC,GACTF,IAAKjC,KAAKE,WAAW+B,IACrBlC,KAAMC,KAAKF,MACXoC,MAAOlC,KAAKI,QAAO,aACPJ,KAAKS,UAAUC,GAC3B+B,IAAMb,IACJ,IAAKA,EAAI,CACP,M,CAEF5B,KAAKyB,mCAAmCG,EAAG,GAG5C5B,KAAKK,S","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as s,h as i}from"./p-dc3df5ce.js";import{buildDateRange as e}from"@coveo/headless";import{p as a}from"./p-54fca818.js";import{B as n}from"./p-b93ccff9.js";import"./p-35e58270.js";import"./p-0462f723.js";import"./p-1580513b.js";import"./p-21ab6f55.js";const d=class{constructor(i){t(this,i);this.applyInput=s(this,"atomic/dateInputApply",7);this.max="9999-12-31";this.start=undefined;this.end=undefined;this.bindings=undefined;this.rangeGetter=undefined;this.rangeSetter=undefined;this.facetId=undefined;this.label=undefined;this.min=undefined;this.max="9999-12-31"}connectedCallback(){const t=this.rangeGetter();this.start=t?a(t.start).toDate():undefined;this.end=t?a(t.end).toDate():undefined}componentDidUpdate(){if(!this.startRef.value&&!this.endRef.value){this.startRef.min=this.min||this.formattedDateValue("1401-01-01");this.endRef.max=this.max||"";this.startRef.max=this.max||"";this.endRef.min=this.min||""}}apply(){if(!this.startRef.validity.valid||!this.endRef.validity.valid){return}this.applyInput.emit({start:this.start,end:this.end});const t=e({start:this.start,end:this.end.setHours(23,59,59,999)});this.rangeSetter(t)}formattedDateValue(t){if(!t){return""}return a(t).format("YYYY-MM-DD")}render(){const t=this.bindings.i18n.t(this.label);const s=this.bindings.i18n.t("start");const e=this.bindings.i18n.t("end");const d=this.bindings.i18n.t("date-input-start",{label:t});const h=this.bindings.i18n.t("date-input-end",{label:t});const r=this.bindings.i18n.t("apply");const c=this.bindings.i18n.t("date-input-apply",{label:t});const p="input-primary p-2.5";const l="text-neutral-dark self-center";const o="yyyy-mm-dd";const f="^(1[4-9]\\d{2}|2\\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$";const u=this.rangeGetter();return i("form",{key:"a9115a4868e39afbdb588fa0f3454d02308e36f5",class:"mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2",onSubmit:t=>{t.preventDefault();this.apply();return false}},i("label",{key:"4d3bcb4549ba5cd003d5284831001830e3ac272f",part:"input-label",class:l,htmlFor:`${this.facetId}_start`},s,":"),i("input",{key:"98cc6ca7a7a9a33f777998806259d3a9fa495bb1",id:`${this.facetId}_start`,part:"input-start",type:"date",ref:t=>this.startRef=t,class:p,"aria-label":d,placeholder:o,pattern:f,required:true,min:this.min||this.formattedDateValue("1401-01-01"),max:this.end?this.formattedDateValue(this.end):this.max,value:this.formattedDateValue(u?.start),onInput:t=>this.start=a(t.target.value).toDate()}),i("label",{key:"fee1acc37402670ca45818b9a5da6062ed0b4218",part:"input-label",class:l,htmlFor:`${this.facetId}_end`},e,":"),i("input",{key:"cc3dd617c4d0fb7f8dbb2573bdcc30762aded812",id:`${this.facetId}_end`,part:"input-end",type:"date",ref:t=>this.endRef=t,class:p,"aria-label":h,placeholder:o,pattern:f,required:true,min:this.formattedDateValue(this.start)||this.min,max:this.max,value:this.formattedDateValue(u?.end),onInput:t=>this.end=a(t.target.value).toDate()}),i(n,{key:"d5e7426fc8fa1594c533a96f96faa07fce2e2d95",style:"outline-primary",type:"submit",part:"input-apply-button",class:"col-span-2 truncate p-2.5",ariaLabel:c,text:r}))}};export{d as atomic_stencil_facet_date_input};
2
- //# sourceMappingURL=p-d24d34a7.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,h as t}from"./p-dc3df5ce.js";import{I as c}from"./p-ff2d324d.js";import"./p-c9074946.js";import"./p-1580513b.js";import"./p-05de7ca3.js";import"./p-cae02339.js";var f=undefined&&undefined.__decorate||function(e,t,c,f){var r=arguments.length,i=r<3?t:f===null?f=Object.getOwnPropertyDescriptor(t,c):f,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,c,f);else for(var d=e.length-1;d>=0;d--)if(o=e[d])i=(r<3?o(i):r>3?o(t,c,i):o(t,c))||i;return r>3&&i&&Object.defineProperty(t,c,i),i};const r=class{constructor(t){e(this,t);this.error=undefined}render(){return t("atomic-tab-bar",{key:"d30284ba5e166484d4a047bdcc43fc24eae04a23"},t("slot",{key:"2a738fcc839fde6181e6b87f342b853fc37c4d0d"}))}};f([c()],r.prototype,"bindings",void 0);export{r as atomic_insight_tabs};
2
- //# sourceMappingURL=p-e2afb475.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getPartialInstantItemElement","i18n","itemTitle","itemUniqueId","ariaLabel","t","title","interpolation","escapeValue","key","encodeForDomAttribute","part","getPartialInstantItemShowAllElement","InstantItemShowAllButton","h","class","getClassNameForButtonStyle","AtomicSearchBoxInstantResults","this","results","display","templateHasError","maxResultsPerQuery","density","imageSize","setRenderFunction","resultRenderingFunction","itemRenderingFunction","componentWillLoad","dispatchSearchBoxSuggestionsEvent","bindings","initialize","host","error","getLink","el","atomicResult","tagName","querySelector","shadowRoot","handleLinkClick","hasModifier","setTarget","value","setAttribute","initialTarget","getAttribute","click","renderItems","suggestedQuery","store","isMobile","instantResults","state","length","elements","map","result","partialItem","ariaLabelGenerator","uniqueId","content","interactiveResult","buildInteractiveInstantResult","engine","options","itemTemplateProvider","getTemplateContent","stopPropagation","renderingFunction","onSelect","e","link","target","ctrlKey","metaKey","push","clearSuggestions","searchBoxController","updateText","q","submit","buildInstantResults","ItemTemplateProvider","includeDefaultTemplate","templateElements","Array","from","querySelectorAll","getResultTemplateRegistered","setResultTemplateRegistered","getTemplateHasError","setTemplateHasError","position","parentNode","children","indexOf","panel","onSuggestedQueryChange","updateQuery","getSuggestionElements","console","warn","Promise","resolve","unsubscribe","subscribe","isLoading","render","element"],"sources":["src/components/common/suggestions/stencil-instant-item.tsx","src/components/search/search-box-suggestions/atomic-search-box-instant-results/atomic-search-box-instant-results.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {encodeForDomAttribute} from '../../../utils/string-utils';\nimport {getClassNameForButtonStyle} from '../stencil-button-style';\nimport {SearchBoxSuggestionElement} from './suggestions-types';\n\nexport const getPartialInstantItemElement = (\n i18n: i18n,\n itemTitle: string,\n itemUniqueId: string\n): Pick<SearchBoxSuggestionElement, 'ariaLabel' | 'key' | 'part'> => {\n return {\n ariaLabel: i18n.t('instant-results-suggestion-label', {\n title: itemTitle,\n interpolation: {escapeValue: false},\n }),\n key: `instant-result-${encodeForDomAttribute(itemUniqueId)}`,\n part: 'instant-results-item',\n };\n};\n\nexport const getPartialInstantItemShowAllElement = (\n i18n: i18n\n): Pick<SearchBoxSuggestionElement, 'key' | 'part' | 'ariaLabel'> => {\n return {\n key: 'instant-results-show-all-button',\n part: 'instant-results-show-all',\n ariaLabel: i18n.t('show-all-results'),\n };\n};\n\ninterface InstantItemShowAllButtonProps {\n i18n: i18n;\n}\nexport const InstantItemShowAllButton: FunctionalComponent<\n InstantItemShowAllButtonProps\n> = ({i18n}) => {\n return (\n <div\n part=\"instant-results-show-all-button\"\n class={getClassNameForButtonStyle('text-primary')}\n >\n {i18n.t('show-all-results')}\n </div>\n );\n};\n","import {\n buildInstantResults,\n buildInteractiveInstantResult,\n InstantResults,\n Result,\n SearchBox,\n} from '@coveo/headless';\nimport {Component, Element, State, h, Prop, Method} from '@stencil/core';\nimport {InitializableComponent} from '../../../../utils/initialization-utils';\nimport {encodeForDomAttribute} from '../../../../utils/string-utils';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {ItemRenderingFunction} from '../../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n} from '../../../common/layout/display-options';\nimport {\n getPartialInstantItemElement,\n getPartialInstantItemShowAllElement,\n InstantItemShowAllButton,\n} from '../../../common/suggestions/stencil-instant-item';\nimport {\n dispatchSearchBoxSuggestionsEvent,\n} from '../../../common/suggestions/suggestions-events';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestions,\n SearchBoxSuggestionsBindings,\n} from '../../../common/suggestions/suggestions-types';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\nexport type AriaLabelGenerator = (\n bindings: Bindings,\n result: Result\n) => string | undefined;\n\n/**\n * The `atomic-search-box-instant-results` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of instant results behavior.\n *\n * This component does not support accessibility out-of-the-box. To do so, see [Instant Results Accessibility](https://docs.coveo.com/en/atomic/latest/usage/accessibility/#instant-results-accessibility).\n *\n * This component is not supported on mobile.\n *\n * @slot default - The default slot where the instant results are rendered.\n */\n@Component({\n tag: 'atomic-search-box-instant-results',\n shadow: true,\n})\nexport class AtomicSearchBoxInstantResults implements InitializableComponent {\n public bindings!: SearchBoxSuggestionsBindings<SearchBox, Bindings>;\n private itemRenderingFunction: ItemRenderingFunction;\n private results: Result[] = [];\n private itemTemplateProvider!: ItemTemplateProvider;\n private instantResults!: InstantResults;\n private display: ItemDisplayLayout = 'list';\n\n @Element() public host!: HTMLElement;\n\n @State() public error!: Error;\n @State() private templateHasError = false;\n\n /**\n * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n /**\n * The maximum number of results to show.\n */\n @Prop({reflect: true}) public maxResultsPerQuery = 4;\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true}) public imageSize: ItemDisplayImageSize = 'icon';\n /**\n * The callback to generate an [`aria-label`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label) for a given result so that accessibility tools can fully describe what's visually rendered by a result.\n *\n * By default, or if an empty string is returned, `result.title` is used.\n */\n @Prop() public ariaLabelGenerator?: AriaLabelGenerator;\n\n public componentWillLoad() {\n try {\n dispatchSearchBoxSuggestionsEvent<SearchBox, Bindings>(\n (bindings) => {\n this.bindings = bindings;\n return this.initialize();\n },\n this.host,\n ['atomic-search-box']\n );\n } catch (error) {\n this.error = error as Error;\n }\n }\n\n private getLink(el: HTMLElement): HTMLElement | null {\n const atomicResult =\n el.tagName === 'ATOMIC-RESULT' ? el : el?.querySelector('atomic-result');\n\n return (\n atomicResult?.shadowRoot?.querySelector(\n 'atomic-result-link a:not([slot])'\n ) || null\n );\n }\n\n private handleLinkClick(el: HTMLElement, hasModifier: boolean) {\n const setTarget = (value: string) => el.setAttribute('target', value);\n const initialTarget = el.getAttribute('target');\n\n hasModifier && setTarget('_blank');\n el.click();\n hasModifier && setTarget(initialTarget || '');\n\n return true;\n }\n\n private renderItems(): SearchBoxSuggestionElement[] {\n if (!this.bindings.suggestedQuery() || this.bindings.store.isMobile()) {\n return [];\n }\n const results = this.instantResults.state.results.length\n ? this.instantResults.state.results\n : this.results;\n\n const elements: SearchBoxSuggestionElement[] = results.map(\n (result: Result) => {\n const partialItem = getPartialInstantItemElement(\n this.bindings.i18n,\n this.ariaLabelGenerator?.(this.bindings, result) || result.title,\n result.uniqueId\n );\n return {\n ...partialItem,\n content: (\n <atomic-result\n key={`instant-result-${encodeForDomAttribute(result.uniqueId)}`}\n part=\"outline\"\n result={result}\n interactiveResult={buildInteractiveInstantResult(\n this.bindings.engine,\n {\n options: {result},\n }\n )}\n display={this.display}\n density={this.density}\n imageSize={this.imageSize}\n content={this.itemTemplateProvider.getTemplateContent(result)}\n stopPropagation={false}\n renderingFunction={this.itemRenderingFunction}\n ></atomic-result>\n ),\n onSelect: (e: MouseEvent) => {\n const link = this.getLink(e.target as HTMLElement);\n\n if (!link) {\n return;\n }\n this.handleLinkClick(link, e.ctrlKey || e.metaKey);\n },\n };\n }\n );\n if (elements.length) {\n const partialItem = getPartialInstantItemShowAllElement(\n this.bindings.i18n\n );\n elements.push({\n ...partialItem,\n content: <InstantItemShowAllButton i18n={this.bindings.i18n} />,\n onSelect: () => {\n this.bindings.clearSuggestions();\n this.bindings.searchBoxController.updateText(\n this.instantResults.state.q\n );\n this.bindings.searchBoxController.submit();\n },\n });\n }\n return elements;\n }\n\n public initialize(): SearchBoxSuggestions {\n this.instantResults = buildInstantResults(this.bindings.engine, {\n options: {\n maxResultsPerQuery: this.maxResultsPerQuery,\n },\n });\n\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-result-template')\n ),\n getResultTemplateRegistered: () => true,\n setResultTemplateRegistered: () => {},\n getTemplateHasError: () => this.templateHasError,\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n\n return {\n position: Array.from(this.host.parentNode!.children).indexOf(this.host),\n panel: 'right',\n onSuggestedQueryChange: (q) => {\n this.instantResults.updateQuery(q);\n return this.onSuggestedQueryChange();\n },\n renderItems: () => this.renderItems(),\n };\n }\n\n private onSuggestedQueryChange() {\n if (\n !this.bindings.getSuggestionElements().length &&\n !this.bindings.searchBoxController.state.value\n ) {\n console.warn(\n \"There doesn't seem to be any query suggestions configured. Make sure to include either an atomic-search-box-query-suggestions or atomic-search-box-recent-queries in your search box in order to see some instant results.\"\n );\n }\n\n return new Promise<void>((resolve) => {\n const unsubscribe = this.instantResults.subscribe(() => {\n const state = this.instantResults.state;\n if (!state.isLoading) {\n if (state.results.length) {\n this.results = state.results;\n }\n unsubscribe();\n resolve();\n }\n });\n });\n }\n\n public render() {\n if (this.error) {\n return (\n <atomic-component-error\n element={this.host}\n error={this.error}\n ></atomic-component-error>\n );\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}