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

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 (526) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/atomic.esm.js.map +1 -1
  3. package/dist/atomic/autoloader/index.cjs.js +2 -2
  4. package/dist/atomic/autoloader/index.esm.js +2 -2
  5. package/dist/atomic/components/_index.d.ts +2 -0
  6. package/dist/atomic/components/_index.js +3 -1
  7. package/dist/atomic/components/analytics-config.js +1 -1
  8. package/dist/atomic/components/atomic-category-facet.js +1 -1
  9. package/dist/atomic/components/atomic-citation.js +1 -1
  10. package/dist/atomic/components/atomic-facet-manager.js +1 -1
  11. package/dist/atomic/components/atomic-facet.js +1 -1
  12. package/dist/atomic/components/atomic-format-currency.js +1 -1
  13. package/dist/atomic/components/atomic-format-number.js +1 -1
  14. package/dist/atomic/components/atomic-format-unit.js +1 -1
  15. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  16. package/dist/atomic/components/atomic-html2.js +1 -1
  17. package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
  18. package/dist/atomic/components/atomic-insight-facet.js +1 -1
  19. package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
  20. package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
  21. package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
  22. package/dist/atomic/components/atomic-insight-interface.js +1 -1
  23. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  24. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  25. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  26. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  27. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  28. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  29. package/dist/atomic/components/atomic-insight-result-action.js +1 -1
  30. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +1 -1
  31. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
  32. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  33. package/dist/atomic/components/atomic-insight-result-list.js +1 -1
  34. package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
  35. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  36. package/dist/atomic/components/atomic-insight-search-box.js +3 -4
  37. package/dist/atomic/components/atomic-insight-search-box.js.map +1 -1
  38. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  39. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  40. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  41. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  42. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  43. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  44. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  45. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  46. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
  47. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  48. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  49. package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
  50. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  51. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  52. package/dist/atomic/components/atomic-no-results.js +1 -1
  53. package/dist/atomic/components/atomic-numeric-facet.js +1 -2
  54. package/dist/atomic/components/atomic-numeric-facet.js.map +1 -1
  55. package/dist/atomic/components/atomic-pager.js +3 -3
  56. package/dist/atomic/components/atomic-query-error.js +1 -1
  57. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  58. package/dist/atomic/components/atomic-quickview.js +1 -1
  59. package/dist/atomic/components/atomic-recs-error.js +1 -1
  60. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  61. package/dist/atomic/components/atomic-recs-list.js +1 -1
  62. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  63. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  64. package/dist/atomic/components/atomic-relevance-inspector.js +1 -46
  65. package/dist/atomic/components/atomic-relevance-inspector.js.map +1 -1
  66. package/dist/atomic/components/atomic-relevance-inspector2.js +50 -0
  67. package/dist/atomic/components/atomic-relevance-inspector2.js.map +1 -0
  68. package/dist/atomic/components/atomic-result-children.js +1 -1
  69. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  70. package/dist/atomic/components/atomic-result-link.js +1 -1
  71. package/dist/atomic/components/atomic-result-list.js +1 -1
  72. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  73. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  74. package/dist/atomic/components/atomic-search-box-instant-results.js +2 -2
  75. package/dist/atomic/components/atomic-search-box-instant-results.js.map +1 -1
  76. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +2 -2
  77. package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +1 -1
  78. package/dist/atomic/components/atomic-search-box-recent-queries2.js +2 -2
  79. package/dist/atomic/components/atomic-search-box-recent-queries2.js.map +1 -1
  80. package/dist/atomic/components/atomic-search-box.js +16 -6
  81. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  82. package/dist/atomic/components/atomic-search-interface.d.ts +11 -0
  83. package/dist/atomic/components/atomic-search-interface.js +552 -0
  84. package/dist/atomic/components/atomic-search-interface.js.map +1 -0
  85. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  86. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  87. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  88. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  89. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  90. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  91. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  92. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  93. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  94. package/dist/atomic/components/atomic-suggestion-renderer2.js.map +1 -1
  95. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  96. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +1 -4
  97. package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +50 -8
  98. package/dist/atomic/components/components/commerce/atomic-commerce-query-summary/atomic-commerce-query-summary.js +2 -2
  99. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +25 -10
  100. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +13 -6
  101. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.js +1 -1
  102. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions.js +1 -1
  103. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +1 -1
  104. package/dist/atomic/components/components/common/atomic-modal/atomic-modal.js +2 -0
  105. package/dist/atomic/components/components/common/layout/layout-styles-controller.js +1 -1
  106. package/dist/atomic/components/components/common/suggestions/suggestion-manager.js +1 -1
  107. package/dist/atomic/components/components/common/suggestions/{suggestions-common.js → suggestions-events.js} +16 -18
  108. package/dist/atomic/components/components/common/suggestions/suggestions-types.js +1 -0
  109. package/dist/atomic/components/components/common/suggestions/suggestions-utils.js +18 -0
  110. package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +9 -20
  111. package/dist/atomic/components/components/search/index.js +0 -1
  112. package/dist/atomic/components/components/search/lazy-index.js +0 -1
  113. package/dist/atomic/components/facet-number-input.js +2 -2
  114. package/dist/atomic/components/global/environment.js +1 -1
  115. package/dist/atomic/components/index.js.map +1 -1
  116. package/dist/atomic/components/stencil-query-suggestions.js.map +1 -1
  117. package/dist/atomic/components/stencil-suggestion-manager.js +20 -2
  118. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  119. package/dist/atomic/components/{suggestions-common.js → suggestions-events.js} +18 -20
  120. package/dist/atomic/components/suggestions-events.js.map +1 -0
  121. package/dist/atomic/components/tab-button.js +1 -1
  122. package/dist/atomic/components/tab-popover.js +1 -1
  123. package/dist/atomic/index.esm.js +1 -1
  124. package/dist/atomic/index.esm.js.map +1 -1
  125. package/dist/atomic/{p-41c5d5fa.entry.js → p-021f01d6.entry.js} +2 -2
  126. package/dist/atomic/{p-a3fa6695.entry.js → p-035f8dc8.entry.js} +2 -2
  127. package/dist/atomic/{p-33899ab5.entry.js → p-089be992.entry.js} +2 -2
  128. package/dist/atomic/{p-7dd3d72f.entry.js → p-09a3a067.entry.js} +2 -2
  129. package/dist/atomic/p-0a051b8d.js +2 -0
  130. package/dist/atomic/p-0a051b8d.js.map +1 -0
  131. package/dist/atomic/p-16f4ce98.js +2 -0
  132. package/dist/atomic/p-16f4ce98.js.map +1 -0
  133. package/dist/atomic/p-1992b245.entry.js +2 -0
  134. package/dist/atomic/{p-394c600f.entry.js → p-1d1f54a5.entry.js} +2 -2
  135. package/dist/atomic/{p-9d023f0b.entry.js → p-1ef658d8.entry.js} +2 -2
  136. package/dist/atomic/{p-10b5e0f3.entry.js → p-20341936.entry.js} +2 -2
  137. package/dist/atomic/{p-3db62800.entry.js → p-26a51a77.entry.js} +2 -2
  138. package/dist/atomic/p-26a51a77.entry.js.map +1 -0
  139. package/dist/atomic/{p-843c195c.entry.js → p-2b621128.entry.js} +2 -2
  140. package/dist/atomic/{p-15406648.entry.js → p-2ca352f4.entry.js} +2 -2
  141. package/dist/atomic/{p-094b61d4.entry.js → p-2ce8220a.entry.js} +2 -2
  142. package/dist/atomic/{p-97e42c43.entry.js → p-31aa052e.entry.js} +2 -2
  143. package/dist/atomic/{p-7a6468a7.entry.js → p-36fab158.entry.js} +2 -2
  144. package/dist/atomic/{p-9727f36b.entry.js → p-37374964.entry.js} +2 -2
  145. package/dist/atomic/{p-7b1a3cab.entry.js → p-3a2c900c.entry.js} +2 -2
  146. package/dist/atomic/{p-f4780315.entry.js → p-3b023e83.entry.js} +2 -2
  147. package/dist/atomic/{p-0610b3e7.entry.js → p-3b20b011.entry.js} +2 -2
  148. package/dist/atomic/{p-c08f4ee6.entry.js → p-3f912e98.entry.js} +2 -2
  149. package/dist/atomic/{p-9e771351.entry.js → p-40635c2d.entry.js} +2 -2
  150. package/dist/atomic/{p-c9fe4f77.entry.js → p-43d708cb.entry.js} +2 -2
  151. package/dist/atomic/{p-b0c50194.entry.js → p-48f57fd8.entry.js} +2 -2
  152. package/dist/atomic/{p-aed46103.entry.js → p-49c38b27.entry.js} +2 -2
  153. package/dist/atomic/p-4b7a19db.js +2 -0
  154. package/dist/atomic/p-4b7a19db.js.map +1 -0
  155. package/dist/atomic/{p-8bac9d25.entry.js → p-4c2f230f.entry.js} +2 -2
  156. package/dist/atomic/p-4c2f230f.entry.js.map +1 -0
  157. package/dist/atomic/{p-5100a30e.js → p-5104aee0.js} +2 -2
  158. package/dist/atomic/{p-87c6c206.entry.js → p-534b6a0a.entry.js} +2 -2
  159. package/dist/atomic/{p-f0012580.entry.js → p-594488f2.entry.js} +2 -2
  160. package/dist/atomic/{p-a278ffde.entry.js → p-5f1fa581.entry.js} +2 -2
  161. package/dist/atomic/{p-8df7270f.entry.js → p-604c4085.entry.js} +2 -2
  162. package/dist/atomic/{p-d50c96c2.entry.js → p-627e1265.entry.js} +2 -2
  163. package/dist/atomic/{p-004adbb8.entry.js → p-6329ff94.entry.js} +2 -2
  164. package/dist/atomic/p-69f5cec8.entry.js +2 -0
  165. package/dist/atomic/p-69f5cec8.entry.js.map +1 -0
  166. package/dist/atomic/{p-e3af1bb4.entry.js → p-6e6d686e.entry.js} +2 -2
  167. package/dist/atomic/p-744da781.entry.js +2 -0
  168. package/dist/atomic/p-744da781.entry.js.map +1 -0
  169. package/dist/atomic/{p-e6a7e7b2.entry.js → p-7dfcd6af.entry.js} +2 -2
  170. package/dist/atomic/{p-3c823399.entry.js → p-7e2109e9.entry.js} +2 -2
  171. package/dist/atomic/{p-780170e5.entry.js → p-811d6dcb.entry.js} +2 -2
  172. package/dist/atomic/{p-9147b0db.entry.js → p-8256cd44.entry.js} +2 -2
  173. package/dist/atomic/{p-0e27d4f2.entry.js → p-83c9244a.entry.js} +2 -2
  174. package/dist/atomic/{p-867fd04d.entry.js → p-89085429.entry.js} +2 -2
  175. package/dist/atomic/{p-9349aa1a.entry.js → p-89ab44de.entry.js} +2 -2
  176. package/dist/atomic/{p-bd99fcc1.entry.js → p-939eaaac.entry.js} +2 -2
  177. package/dist/atomic/{p-9b92b4e2.entry.js → p-93e29b24.entry.js} +2 -2
  178. package/dist/atomic/{p-b6377fb6.entry.js → p-98c5b9b8.entry.js} +2 -2
  179. package/dist/atomic/{p-bf49fed3.entry.js → p-99b8d52d.entry.js} +2 -2
  180. package/dist/atomic/{p-45840906.entry.js → p-9c9b1965.entry.js} +2 -2
  181. package/dist/atomic/{p-160553ce.entry.js → p-a3efa89e.entry.js} +2 -2
  182. package/dist/atomic/{p-c538c8ac.entry.js → p-a53c7821.entry.js} +2 -2
  183. package/dist/atomic/{p-25eabe15.entry.js → p-a8882a2a.entry.js} +2 -2
  184. package/dist/atomic/{p-ce41c447.entry.js → p-ae060711.entry.js} +2 -2
  185. package/dist/atomic/p-af93b44c.js.map +1 -1
  186. package/dist/atomic/{p-b4c34553.entry.js → p-b0b17e21.entry.js} +2 -2
  187. package/dist/atomic/{p-e1c99e2e.entry.js → p-b2ff1330.entry.js} +2 -2
  188. package/dist/atomic/{p-4b4b2626.entry.js → p-b6963bae.entry.js} +2 -2
  189. package/dist/atomic/{p-9b241ca5.entry.js → p-b7063a0d.entry.js} +2 -2
  190. package/dist/atomic/{p-9b241ca5.entry.js.map → p-b7063a0d.entry.js.map} +1 -1
  191. package/dist/atomic/{p-dee60597.entry.js → p-bc0d6d3d.entry.js} +2 -2
  192. package/dist/atomic/{p-0e5dc57f.entry.js → p-c126ee6b.entry.js} +2 -2
  193. package/dist/atomic/{p-754909fe.entry.js → p-c1999888.entry.js} +2 -2
  194. package/dist/atomic/{p-05530e9e.entry.js → p-cbbb4d94.entry.js} +2 -2
  195. package/dist/atomic/{p-a37fae7c.entry.js → p-d0f47b33.entry.js} +2 -2
  196. package/dist/atomic/p-d0f47b33.entry.js.map +1 -0
  197. package/dist/atomic/p-d24d34a7.entry.js +2 -0
  198. package/dist/atomic/{p-7f40e57d.entry.js → p-d364064c.entry.js} +2 -2
  199. package/dist/atomic/{p-856e858c.entry.js → p-d785121d.entry.js} +2 -2
  200. package/dist/atomic/{p-7d63bf7b.entry.js → p-d93adf52.entry.js} +2 -2
  201. package/dist/atomic/{p-2a4e9425.entry.js → p-de066001.entry.js} +2 -2
  202. package/dist/atomic/{p-8a7a23b7.entry.js → p-e162805d.entry.js} +2 -2
  203. package/dist/atomic/{p-441b1a7b.entry.js → p-e23b3334.entry.js} +2 -2
  204. package/dist/atomic/p-e2afb475.entry.js +2 -0
  205. package/dist/atomic/{p-bd32625e.entry.js → p-ea446721.entry.js} +2 -2
  206. package/dist/atomic/{p-07b6424c.entry.js → p-ee6771f1.entry.js} +2 -2
  207. package/dist/atomic/{p-abb14108.entry.js → p-f0c2dfe8.entry.js} +2 -2
  208. package/dist/atomic/{p-c23a07f5.entry.js → p-f289269f.entry.js} +2 -2
  209. package/dist/atomic/{p-d4ad7336.entry.js → p-fa8b7c4c.entry.js} +2 -2
  210. package/dist/atomic/{p-1c6f7489.entry.js → p-fbfe913d.entry.js} +2 -2
  211. package/dist/atomic/p-fbfe913d.entry.js.map +1 -0
  212. package/dist/atomic/p-fcf3f7d7.entry.js +2 -0
  213. package/dist/atomic/{p-6de44060.entry.js.map → p-fcf3f7d7.entry.js.map} +1 -1
  214. package/dist/atomic/{p-80683e4c.entry.js → p-fda26113.entry.js} +2 -2
  215. package/dist/atomic/{p-f936f55e.entry.js → p-fea7bf3b.entry.js} +2 -2
  216. package/dist/cjs/_index.cjs.js +5 -2
  217. package/dist/cjs/_loader.cjs.js +1 -1
  218. package/dist/cjs/{analytics-config-438befe9.js → analytics-config-7531fbc2.js} +2 -2
  219. package/dist/cjs/{analytics-config-438befe9.js.map → analytics-config-7531fbc2.js.map} +1 -1
  220. package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
  221. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  222. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  223. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
  224. package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
  225. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  226. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  227. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  228. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  229. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  230. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
  231. package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
  232. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  233. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  234. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
  235. package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
  236. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  237. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
  238. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
  239. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +1 -1
  240. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  241. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  242. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +1 -1
  243. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +1 -1
  244. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  245. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  246. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  247. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  248. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  249. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +5 -5
  250. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  251. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  252. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  253. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  254. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  255. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  256. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  257. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  258. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  259. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  260. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  261. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  262. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  263. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  264. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  265. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
  266. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -2
  267. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  268. package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
  269. package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
  270. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  271. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  272. package/dist/cjs/atomic-recs-error.cjs.entry.js +1 -1
  273. package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
  274. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  275. package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
  276. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
  277. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +2 -2
  278. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  279. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  280. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  281. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  282. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  283. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +3 -3
  284. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +1 -1
  285. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +5 -5
  286. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js.map +1 -1
  287. package/dist/cjs/atomic-search-box.cjs.entry.js +18 -7
  288. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  289. package/dist/cjs/atomic-search-interface.cjs.entry.js +511 -0
  290. package/dist/cjs/atomic-search-interface.cjs.entry.js.map +1 -0
  291. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  292. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  293. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  294. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  295. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  296. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +3 -3
  297. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  298. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js.map +1 -1
  299. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  300. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  301. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  302. package/dist/cjs/atomic.cjs.js +1 -1
  303. package/dist/cjs/index-757bc886.js +8 -4
  304. package/dist/cjs/index.cjs.js.map +1 -1
  305. package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +1 -1
  306. package/dist/cjs/{stencil-suggestion-manager-c0878ef2.js → stencil-suggestion-manager-2cba6d69.js} +4 -4
  307. package/dist/cjs/{stencil-suggestion-manager-c0878ef2.js.map → stencil-suggestion-manager-2cba6d69.js.map} +1 -1
  308. package/dist/cjs/{suggestions-common-5097a362.js → suggestions-events-63dd0640.js} +17 -21
  309. package/dist/cjs/suggestions-events-63dd0640.js.map +1 -0
  310. package/dist/cjs/suggestions-utils-61000808.js +25 -0
  311. package/dist/cjs/suggestions-utils-61000808.js.map +1 -0
  312. package/dist/cjs/version.cjs.js +2 -2
  313. package/dist/esm/_index.js +2 -1
  314. package/dist/esm/_loader.js +1 -1
  315. package/dist/esm/{analytics-config-d6a24455.js → analytics-config-7adc1dde.js} +2 -2
  316. package/dist/esm/{analytics-config-d6a24455.js.map → analytics-config-7adc1dde.js.map} +1 -1
  317. package/dist/esm/atomic-category-facet.entry.js +1 -1
  318. package/dist/esm/atomic-citation.entry.js +1 -1
  319. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  320. package/dist/esm/atomic-facet-number-input.entry.js +2 -2
  321. package/dist/esm/atomic-facet.entry.js +1 -1
  322. package/dist/esm/atomic-format-currency.entry.js +1 -1
  323. package/dist/esm/atomic-format-number.entry.js +1 -1
  324. package/dist/esm/atomic-format-unit.entry.js +1 -1
  325. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
  326. package/dist/esm/atomic-html.entry.js +1 -1
  327. package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
  328. package/dist/esm/atomic-insight-facet.entry.js +1 -1
  329. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  330. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  331. package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
  332. package/dist/esm/atomic-insight-interface.entry.js +2 -2
  333. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  334. package/dist/esm/atomic-insight-numeric-facet.entry.js +1 -1
  335. package/dist/esm/atomic-insight-pager.entry.js +3 -3
  336. package/dist/esm/atomic-insight-query-error.entry.js +1 -1
  337. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  338. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  339. package/dist/esm/atomic-insight-result-action.entry.js +1 -1
  340. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +1 -1
  341. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  342. package/dist/esm/atomic-insight-result-children.entry.js +1 -1
  343. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  344. package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
  345. package/dist/esm/atomic-insight-result.entry.js +1 -1
  346. package/dist/esm/atomic-insight-search-box.entry.js +4 -4
  347. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  348. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  349. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  350. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  351. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  352. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  353. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  354. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  355. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  356. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  357. package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
  358. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  359. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  360. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  361. package/dist/esm/atomic-load-more-results.entry.js +1 -1
  362. package/dist/esm/atomic-no-results.entry.js +1 -1
  363. package/dist/esm/atomic-numeric-facet.entry.js +1 -2
  364. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  365. package/dist/esm/atomic-pager.entry.js +3 -3
  366. package/dist/esm/atomic-query-error.entry.js +1 -1
  367. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  368. package/dist/esm/atomic-quickview.entry.js +1 -1
  369. package/dist/esm/atomic-recs-error.entry.js +1 -1
  370. package/dist/esm/atomic-recs-interface.entry.js +2 -2
  371. package/dist/esm/atomic-recs-list.entry.js +1 -1
  372. package/dist/esm/atomic-refine-modal.entry.js +1 -1
  373. package/dist/esm/atomic-refine-toggle.entry.js +1 -1
  374. package/dist/esm/atomic-relevance-inspector.entry.js +2 -2
  375. package/dist/esm/atomic-result-children.entry.js +1 -1
  376. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  377. package/dist/esm/atomic-result-link.entry.js +1 -1
  378. package/dist/esm/atomic-result-list.entry.js +1 -1
  379. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  380. package/dist/esm/atomic-search-box-instant-results.entry.js +2 -2
  381. package/dist/esm/atomic-search-box-instant-results.entry.js.map +1 -1
  382. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +3 -3
  383. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js.map +1 -1
  384. package/dist/esm/atomic-search-box.entry.js +17 -6
  385. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  386. package/dist/esm/atomic-search-interface.entry.js +507 -0
  387. package/dist/esm/atomic-search-interface.entry.js.map +1 -0
  388. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  389. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  390. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  391. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  392. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  393. package/dist/esm/atomic-stencil-facet-date-input.entry.js +3 -3
  394. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  395. package/dist/esm/atomic-suggestion-renderer.entry.js.map +1 -1
  396. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  397. package/dist/esm/atomic-tab-button.entry.js +1 -1
  398. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  399. package/dist/esm/atomic.js +1 -1
  400. package/dist/esm/index-3f35faca.js +8 -4
  401. package/dist/esm/index.js.map +1 -1
  402. package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +1 -1
  403. package/dist/esm/{stencil-suggestion-manager-486094dd.js → stencil-suggestion-manager-376f83e8.js} +2 -2
  404. package/dist/esm/{stencil-suggestion-manager-486094dd.js.map → stencil-suggestion-manager-376f83e8.js.map} +1 -1
  405. package/dist/esm/{suggestions-common-2b20db26.js → suggestions-events-b7a6f007.js} +18 -20
  406. package/dist/esm/suggestions-events-b7a6f007.js.map +1 -0
  407. package/dist/esm/suggestions-utils-591559a0.js +22 -0
  408. package/dist/esm/suggestions-utils-591559a0.js.map +1 -0
  409. package/dist/esm/version.js +2 -2
  410. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +1 -2
  411. package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +29 -2
  412. package/dist/types/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.d.ts +1 -0
  413. package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +1 -0
  414. package/dist/types/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.d.ts +1 -1
  415. package/dist/types/components/commerce/atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions.d.ts +1 -1
  416. package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +1 -1
  417. package/dist/types/components/common/atomic-suggestion-renderer/atomic-suggestion-renderer.d.ts +1 -1
  418. package/dist/types/components/common/suggestions/instant-item.d.ts +1 -1
  419. package/dist/types/components/common/suggestions/query-suggestions.d.ts +1 -1
  420. package/dist/types/components/common/suggestions/recent-queries.d.ts +1 -1
  421. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +1 -1
  422. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +1 -1
  423. package/dist/types/components/common/suggestions/stencil-recent-queries.d.ts +1 -1
  424. package/dist/types/components/common/suggestions/stencil-suggestion-manager.d.ts +1 -1
  425. package/dist/types/components/common/suggestions/suggestion-manager.d.ts +1 -1
  426. package/dist/types/components/common/suggestions/suggestions-events.d.ts +14 -0
  427. package/dist/types/components/common/suggestions/{suggestions-common.d.ts → suggestions-types.d.ts} +6 -16
  428. package/dist/types/components/common/suggestions/suggestions-utils.d.ts +15 -0
  429. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +2 -1
  430. package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +44 -46
  431. package/dist/types/components/search/atomic-search-interface/interfaces.d.ts +1 -2
  432. package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +1 -3
  433. package/dist/types/components/search/index.d.ts +0 -1
  434. package/dist/types/components/search/search-box-suggestions/atomic-search-box-instant-results/atomic-search-box-instant-results.d.ts +1 -1
  435. package/dist/types/components.d.ts +167 -4
  436. package/dist/types/decorators/types.d.ts +1 -1
  437. package/dist/types/index.d.ts +3 -1
  438. package/docs/atomic-docs.json +577 -14
  439. package/package.json +4 -4
  440. package/dist/atomic/components/components/search/atomic-search-interface/analytics-config.js +0 -57
  441. package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +0 -493
  442. package/dist/atomic/components/suggestions-common.js.map +0 -1
  443. package/dist/atomic/p-0edea6f9.entry.js +0 -2
  444. package/dist/atomic/p-1c6f7489.entry.js.map +0 -1
  445. package/dist/atomic/p-29fd6768.js +0 -2
  446. package/dist/atomic/p-29fd6768.js.map +0 -1
  447. package/dist/atomic/p-2d27675d.entry.js +0 -2
  448. package/dist/atomic/p-2d27675d.entry.js.map +0 -1
  449. package/dist/atomic/p-3db62800.entry.js.map +0 -1
  450. package/dist/atomic/p-6de44060.entry.js +0 -2
  451. package/dist/atomic/p-7601c3de.js +0 -2
  452. package/dist/atomic/p-7601c3de.js.map +0 -1
  453. package/dist/atomic/p-8bac9d25.entry.js.map +0 -1
  454. package/dist/atomic/p-97829295.entry.js +0 -2
  455. package/dist/atomic/p-a37fae7c.entry.js.map +0 -1
  456. package/dist/atomic/p-c2b4b401.entry.js +0 -2
  457. package/dist/cjs/suggestions-common-5097a362.js.map +0 -1
  458. package/dist/esm/suggestions-common-2b20db26.js.map +0 -1
  459. /package/dist/atomic/{p-41c5d5fa.entry.js.map → p-021f01d6.entry.js.map} +0 -0
  460. /package/dist/atomic/{p-a3fa6695.entry.js.map → p-035f8dc8.entry.js.map} +0 -0
  461. /package/dist/atomic/{p-33899ab5.entry.js.map → p-089be992.entry.js.map} +0 -0
  462. /package/dist/atomic/{p-7dd3d72f.entry.js.map → p-09a3a067.entry.js.map} +0 -0
  463. /package/dist/atomic/{p-0edea6f9.entry.js.map → p-1992b245.entry.js.map} +0 -0
  464. /package/dist/atomic/{p-394c600f.entry.js.map → p-1d1f54a5.entry.js.map} +0 -0
  465. /package/dist/atomic/{p-9d023f0b.entry.js.map → p-1ef658d8.entry.js.map} +0 -0
  466. /package/dist/atomic/{p-10b5e0f3.entry.js.map → p-20341936.entry.js.map} +0 -0
  467. /package/dist/atomic/{p-843c195c.entry.js.map → p-2b621128.entry.js.map} +0 -0
  468. /package/dist/atomic/{p-15406648.entry.js.map → p-2ca352f4.entry.js.map} +0 -0
  469. /package/dist/atomic/{p-094b61d4.entry.js.map → p-2ce8220a.entry.js.map} +0 -0
  470. /package/dist/atomic/{p-97e42c43.entry.js.map → p-31aa052e.entry.js.map} +0 -0
  471. /package/dist/atomic/{p-7a6468a7.entry.js.map → p-36fab158.entry.js.map} +0 -0
  472. /package/dist/atomic/{p-9727f36b.entry.js.map → p-37374964.entry.js.map} +0 -0
  473. /package/dist/atomic/{p-7b1a3cab.entry.js.map → p-3a2c900c.entry.js.map} +0 -0
  474. /package/dist/atomic/{p-f4780315.entry.js.map → p-3b023e83.entry.js.map} +0 -0
  475. /package/dist/atomic/{p-0610b3e7.entry.js.map → p-3b20b011.entry.js.map} +0 -0
  476. /package/dist/atomic/{p-c08f4ee6.entry.js.map → p-3f912e98.entry.js.map} +0 -0
  477. /package/dist/atomic/{p-9e771351.entry.js.map → p-40635c2d.entry.js.map} +0 -0
  478. /package/dist/atomic/{p-c9fe4f77.entry.js.map → p-43d708cb.entry.js.map} +0 -0
  479. /package/dist/atomic/{p-b0c50194.entry.js.map → p-48f57fd8.entry.js.map} +0 -0
  480. /package/dist/atomic/{p-aed46103.entry.js.map → p-49c38b27.entry.js.map} +0 -0
  481. /package/dist/atomic/{p-5100a30e.js.map → p-5104aee0.js.map} +0 -0
  482. /package/dist/atomic/{p-87c6c206.entry.js.map → p-534b6a0a.entry.js.map} +0 -0
  483. /package/dist/atomic/{p-f0012580.entry.js.map → p-594488f2.entry.js.map} +0 -0
  484. /package/dist/atomic/{p-a278ffde.entry.js.map → p-5f1fa581.entry.js.map} +0 -0
  485. /package/dist/atomic/{p-8df7270f.entry.js.map → p-604c4085.entry.js.map} +0 -0
  486. /package/dist/atomic/{p-d50c96c2.entry.js.map → p-627e1265.entry.js.map} +0 -0
  487. /package/dist/atomic/{p-004adbb8.entry.js.map → p-6329ff94.entry.js.map} +0 -0
  488. /package/dist/atomic/{p-e3af1bb4.entry.js.map → p-6e6d686e.entry.js.map} +0 -0
  489. /package/dist/atomic/{p-e6a7e7b2.entry.js.map → p-7dfcd6af.entry.js.map} +0 -0
  490. /package/dist/atomic/{p-3c823399.entry.js.map → p-7e2109e9.entry.js.map} +0 -0
  491. /package/dist/atomic/{p-780170e5.entry.js.map → p-811d6dcb.entry.js.map} +0 -0
  492. /package/dist/atomic/{p-9147b0db.entry.js.map → p-8256cd44.entry.js.map} +0 -0
  493. /package/dist/atomic/{p-0e27d4f2.entry.js.map → p-83c9244a.entry.js.map} +0 -0
  494. /package/dist/atomic/{p-867fd04d.entry.js.map → p-89085429.entry.js.map} +0 -0
  495. /package/dist/atomic/{p-9349aa1a.entry.js.map → p-89ab44de.entry.js.map} +0 -0
  496. /package/dist/atomic/{p-bd99fcc1.entry.js.map → p-939eaaac.entry.js.map} +0 -0
  497. /package/dist/atomic/{p-9b92b4e2.entry.js.map → p-93e29b24.entry.js.map} +0 -0
  498. /package/dist/atomic/{p-b6377fb6.entry.js.map → p-98c5b9b8.entry.js.map} +0 -0
  499. /package/dist/atomic/{p-bf49fed3.entry.js.map → p-99b8d52d.entry.js.map} +0 -0
  500. /package/dist/atomic/{p-45840906.entry.js.map → p-9c9b1965.entry.js.map} +0 -0
  501. /package/dist/atomic/{p-160553ce.entry.js.map → p-a3efa89e.entry.js.map} +0 -0
  502. /package/dist/atomic/{p-c538c8ac.entry.js.map → p-a53c7821.entry.js.map} +0 -0
  503. /package/dist/atomic/{p-25eabe15.entry.js.map → p-a8882a2a.entry.js.map} +0 -0
  504. /package/dist/atomic/{p-ce41c447.entry.js.map → p-ae060711.entry.js.map} +0 -0
  505. /package/dist/atomic/{p-b4c34553.entry.js.map → p-b0b17e21.entry.js.map} +0 -0
  506. /package/dist/atomic/{p-e1c99e2e.entry.js.map → p-b2ff1330.entry.js.map} +0 -0
  507. /package/dist/atomic/{p-4b4b2626.entry.js.map → p-b6963bae.entry.js.map} +0 -0
  508. /package/dist/atomic/{p-dee60597.entry.js.map → p-bc0d6d3d.entry.js.map} +0 -0
  509. /package/dist/atomic/{p-0e5dc57f.entry.js.map → p-c126ee6b.entry.js.map} +0 -0
  510. /package/dist/atomic/{p-754909fe.entry.js.map → p-c1999888.entry.js.map} +0 -0
  511. /package/dist/atomic/{p-05530e9e.entry.js.map → p-cbbb4d94.entry.js.map} +0 -0
  512. /package/dist/atomic/{p-97829295.entry.js.map → p-d24d34a7.entry.js.map} +0 -0
  513. /package/dist/atomic/{p-7f40e57d.entry.js.map → p-d364064c.entry.js.map} +0 -0
  514. /package/dist/atomic/{p-856e858c.entry.js.map → p-d785121d.entry.js.map} +0 -0
  515. /package/dist/atomic/{p-7d63bf7b.entry.js.map → p-d93adf52.entry.js.map} +0 -0
  516. /package/dist/atomic/{p-2a4e9425.entry.js.map → p-de066001.entry.js.map} +0 -0
  517. /package/dist/atomic/{p-8a7a23b7.entry.js.map → p-e162805d.entry.js.map} +0 -0
  518. /package/dist/atomic/{p-441b1a7b.entry.js.map → p-e23b3334.entry.js.map} +0 -0
  519. /package/dist/atomic/{p-c2b4b401.entry.js.map → p-e2afb475.entry.js.map} +0 -0
  520. /package/dist/atomic/{p-bd32625e.entry.js.map → p-ea446721.entry.js.map} +0 -0
  521. /package/dist/atomic/{p-07b6424c.entry.js.map → p-ee6771f1.entry.js.map} +0 -0
  522. /package/dist/atomic/{p-abb14108.entry.js.map → p-f0c2dfe8.entry.js.map} +0 -0
  523. /package/dist/atomic/{p-c23a07f5.entry.js.map → p-f289269f.entry.js.map} +0 -0
  524. /package/dist/atomic/{p-d4ad7336.entry.js.map → p-fa8b7c4c.entry.js.map} +0 -0
  525. /package/dist/atomic/{p-80683e4c.entry.js.map → p-fda26113.entry.js.map} +0 -0
  526. /package/dist/atomic/{p-f936f55e.entry.js.map → p-fea7bf3b.entry.js.map} +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coveo/atomic",
3
3
  "type": "module",
4
- "version": "3.33.8-pre.adbf7397e2",
4
+ "version": "3.33.8-pre.b09317bdc7",
5
5
  "description": "A web-component library for building modern UIs interfacing with the Coveo platform",
6
6
  "homepage": "https://docs.coveo.com/en/atomic/latest/",
7
7
  "repository": {
@@ -60,7 +60,7 @@
60
60
  "web:cdn": "node ./scripts/start-cdn.mjs",
61
61
  "prod": "npx serve www -l 3333 --no-request-logging",
62
62
  "test": "npm run test:stencil && npm run test:lit",
63
- "test:stencil": "stencil test --spec -- src/utils/initialization-utils.spec.ts",
63
+ "test:stencil": "stencil test --spec -- src/utils/initialization-utils.spec.ts src/components/search/atomic-layout/search-layout.spec.ts",
64
64
  "test:lit": "vitest run",
65
65
  "test:watch": "vitest",
66
66
  "e2e": "cypress run --browser chrome",
@@ -81,7 +81,7 @@
81
81
  },
82
82
  "dependencies": {
83
83
  "@coveo/bueno": "1.1.2",
84
- "@coveo/headless": "3.31.0",
84
+ "@coveo/headless": "3.31.1-pre.b09317bdc7",
85
85
  "@lit/context": "1.1.6",
86
86
  "@open-wc/lit-helpers": "0.7.0",
87
87
  "@popperjs/core": "2.11.8",
@@ -153,7 +153,7 @@
153
153
  },
154
154
  "peerDependencies": {
155
155
  "@coveo/bueno": "1.1.2",
156
- "@coveo/headless": "3.31.0",
156
+ "@coveo/headless": "3.31.1-pre.b09317bdc7",
157
157
  "typescript": ">=5.0.0"
158
158
  },
159
159
  "peerDependenciesMeta": {
@@ -1,57 +0,0 @@
1
- import { augmentAnalyticsConfigWithAtomicVersion, augmentAnalyticsConfigWithDocument, augmentAnalyticsWithAtomicVersion, augmentWithExternalMiddleware, getNextAnalyticsConfig, } from '../../common/interface/analytics-config';
2
- export function getAnalyticsConfig(searchEngineConfig, enabled, store) {
3
- switch (searchEngineConfig.analytics?.analyticsMode) {
4
- case 'next':
5
- return getNextAnalyticsConfig(searchEngineConfig, enabled);
6
- default:
7
- return getLegacyAnalyticsConfig(searchEngineConfig, enabled, store);
8
- }
9
- }
10
- function getLegacyAnalyticsConfig(searchEngineConfig, enabled, store) {
11
- const analyticsClientMiddleware = (event, payload) => augmentAnalytics(event, payload, store, searchEngineConfig);
12
- const defaultConfiguration = {
13
- analyticsClientMiddleware,
14
- enabled,
15
- ...augmentAnalyticsConfigWithDocument(),
16
- };
17
- const immutableConfiguration = {
18
- ...augmentAnalyticsConfigWithAtomicVersion(),
19
- };
20
- if (searchEngineConfig.analytics) {
21
- return {
22
- ...defaultConfiguration,
23
- ...searchEngineConfig.analytics,
24
- analyticsClientMiddleware,
25
- ...immutableConfiguration,
26
- };
27
- }
28
- return {
29
- ...defaultConfiguration,
30
- ...immutableConfiguration,
31
- };
32
- }
33
- function augmentAnalytics(event, payload, store, config) {
34
- let result = augmentWithExternalMiddleware(event, payload, config);
35
- result = augmentAnalyticsWithAtomicVersion(result);
36
- result = augmentAnalyticsWithFacetTitles(result, store);
37
- return result;
38
- }
39
- function augmentAnalyticsWithFacetTitles(payload, store) {
40
- const allFacets = store.getAllFacets();
41
- const getAtomicFacetLabelOrOriginalTitle = (facetId, originalTitle) => (allFacets[facetId] ? allFacets[facetId].label() : originalTitle);
42
- if (payload.facetState) {
43
- payload.facetState = payload.facetState.map((analyticsFacetState) => {
44
- const { id, title: originalTitle } = analyticsFacetState;
45
- return {
46
- ...analyticsFacetState,
47
- title: getAtomicFacetLabelOrOriginalTitle(id, originalTitle),
48
- };
49
- });
50
- }
51
- if (payload.customData?.facetTitle &&
52
- payload.customData.facetId &&
53
- payload.customData.facetTitle) {
54
- payload.customData.facetTitle = getAtomicFacetLabelOrOriginalTitle(payload.customData.facetId, payload.customData.facetTitle);
55
- }
56
- return payload;
57
- }
@@ -1,493 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { buildSearchEngine, buildSearchStatus, buildUrlManager, EcommerceDefaultFieldsToInclude, VERSION as HEADLESS_VERSION, loadFieldActions, loadQueryActions, loadSearchConfigurationActions, } from '@coveo/headless';
8
- import { provide } from '@lit/context';
9
- import i18next from 'i18next';
10
- import { css, html, LitElement } from 'lit';
11
- import { customElement, property, state } from 'lit/decorators.js';
12
- import { when } from 'lit/directives/when.js';
13
- import { MobileBreakpointController } from "../../common/layout/mobile-breakpoint-controller";
14
- import { booleanConverter } from "../../../converters/boolean-converter";
15
- import { errorGuard } from "../../../decorators/error-guard";
16
- import { watch } from "../../../decorators/watch";
17
- import { withTailwindStyles } from "../../../decorators/with-tailwind-styles.js";
18
- import { markParentAsReady } from "../../../utils/init-queue";
19
- import { SafeStorage, StorageItems, } from "../../../utils/local-storage-utils";
20
- import { ChildrenUpdateCompleteMixin } from '../../../mixins/children-update-complete-mixin';
21
- import { InterfaceController, } from '../../common/interface/interface-controller';
22
- import { bindingsContext } from '../../context/bindings-context';
23
- import { errorSelector, firstSearchExecutedSelector, noResultsSelector, } from '../atomic-search-layout/search-layout';
24
- import { getAnalyticsConfig } from './analytics-config';
25
- import { createSearchStore } from './store';
26
- import '../../common/atomic-modal/atomic-modal';
27
- const FirstSearchExecutedFlag = 'firstSearchExecuted';
28
- /**
29
- * 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.
30
- *
31
- * @slot default - The default slot where you can add child components to the interface.
32
- */
33
- let AtomicSearchInterface = class AtomicSearchInterface extends ChildrenUpdateCompleteMixin(LitElement) {
34
- constructor() {
35
- super();
36
- this.bindings = {};
37
- this.relevanceInspectorIsOpen = false;
38
- this.unsubscribeUrlManager = () => { };
39
- this.unsubscribeSearchStatus = () => { };
40
- this.initialized = false;
41
- this.interfaceController = new InterfaceController(this, 'CoveoAtomic', HEADLESS_VERSION);
42
- /**
43
- * A list of non-default fields to include in the query results.
44
- *
45
- * Specify the property as an array using a JSON string representation:
46
- * ```html
47
- * <atomic-search-interface fields-to-include='["fieldA", "fieldB"]'></atomic-search-interface>
48
- * ```
49
- */
50
- this.fieldsToInclude = [];
51
- // TODO - KIT-4994: Add disableAnalytics property that defaults to false.
52
- // TODO - KIT-4994: Deprecate in favor of disableAnalytics property.
53
- // TODO - (v4) KIT-4990: Remove.
54
- /**
55
- * Whether analytics should be enabled.
56
- */
57
- this.analytics = true;
58
- /**
59
- * The search interface language.
60
- */
61
- this.language = 'en';
62
- // TODO - (v4) KIT-4823: Remove.
63
- /**
64
- * Whether the state should be reflected in the URL parameters.
65
- * @deprecated - replaced by `disable-state-reflection-in-url` (this defaults to `true`, while the replacement defaults to `false`).
66
- */
67
- this.reflectStateInUrl = true;
68
- /**
69
- * Disable state reflection in the URL parameters.
70
- */
71
- this.disableStateReflectionInUrl = false;
72
- /**
73
- * The CSS selector for the container where the interface will scroll back to.
74
- */
75
- this.scrollContainer = 'atomic-search-interface';
76
- /**
77
- * The language assets path. By default, this will be a relative URL pointing to `./lang`.
78
- *
79
- * Example: "/mypublicpath/languages"
80
- *
81
- */
82
- this.languageAssetsPath = './lang';
83
- /**
84
- * The icon assets path. By default, this will be a relative URL pointing to `./assets`.
85
- *
86
- * Example: "/mypublicpath/icons"
87
- *
88
- */
89
- this.iconAssetsPath = './assets';
90
- // TODO - (v4) KIT-5004: Remove.
91
- /**
92
- * Whether the relevance inspector shortcut should be enabled for this interface.
93
- *
94
- * The relevance inspector can be opened by holding the Alt key (Option on Mac) while over the interface, and performing a double click.
95
- *
96
- * The relevance inspector allows to troubleshoot and debug queries.
97
- * @deprecated - replaced by `disable-relevance-inspector` (this defaults to `true`, while the replacement defaults to `false`).
98
- */
99
- this.enableRelevanceInspector = true;
100
- /**
101
- * Disable the relevance inspector shortcut for this interface.
102
- */
103
- this.disableRelevanceInspector = false;
104
- this.handleInitialization = (event) => {
105
- this.interfaceController.onComponentInitializing(event);
106
- };
107
- this.onHashChange = () => {
108
- this.urlManager.synchronize(this.fragment);
109
- };
110
- this.store = createSearchStore();
111
- this._mobileBreakpointController = new MobileBreakpointController(this, this.store);
112
- const { promise, resolve } = Promise.withResolvers();
113
- this.i18Initialized = promise;
114
- this.i18n = i18next.createInstance(undefined, resolve);
115
- }
116
- connectedCallback() {
117
- super.connectedCallback();
118
- this.store.setLoadingFlag(FirstSearchExecutedFlag);
119
- this.initRelevanceInspector();
120
- this.addEventListener('atomic/initializeComponent', this.handleInitialization);
121
- this.addEventListener('atomic/scrollToTop', this.scrollToTop);
122
- this.addEventListener('atomic/relevanceInspector/close', this.closeRelevanceInspector);
123
- }
124
- willUpdate(changedProperties) {
125
- super.willUpdate(changedProperties);
126
- if (changedProperties.has('fieldsToInclude')) {
127
- this.initFieldsToInclude();
128
- }
129
- }
130
- disconnectedCallback() {
131
- super.disconnectedCallback();
132
- if (typeof this.unsubscribeUrlManager === 'function') {
133
- this.unsubscribeUrlManager();
134
- }
135
- if (typeof this.unsubscribeSearchStatus === 'function') {
136
- this.unsubscribeSearchStatus();
137
- }
138
- window.removeEventListener('hashchange', this.onHashChange);
139
- this.removeEventListener('atomic/initializeComponent', this.handleInitialization);
140
- this.removeEventListener('atomic/scrollToTop', this.scrollToTop);
141
- this.removeEventListener('atomic/relevanceInspector/close', this.closeRelevanceInspector);
142
- }
143
- // TODO - (v4) KIT-4991: Make private.
144
- scrollToTop() {
145
- const scrollContainerElement = document.querySelector(this.scrollContainer);
146
- if (!scrollContainerElement) {
147
- 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 review the CSS selector in the scrollContainer option`);
148
- return;
149
- }
150
- scrollContainerElement.scrollIntoView({ behavior: 'smooth' });
151
- }
152
- closeRelevanceInspector() {
153
- this.relevanceInspectorIsOpen = false;
154
- }
155
- /**
156
- * Initializes the connection with the headless search engine using options for `accessToken` (required), `organizationId` (required), `environment` (defaults to `prod`), and `renewAccessToken`.
157
- */
158
- initialize(options) {
159
- return this.internalInitialization(() => this.initEngine(options));
160
- }
161
- /**
162
- * Initializes the connection with an already preconfigured [headless search engine](https://docs.coveo.com/en/headless/latest/reference/modules/Search.html, as opposed to the `initialize` method, which will internally create a new search engine instance.
163
- * This bypasses the properties set on the component, such as analytics, searchHub, pipeline, language, timezone & logLevel.
164
- */
165
- initializeWithSearchEngine(engine) {
166
- if (this.pipeline && this.pipeline !== engine.state.pipeline) {
167
- console.warn('Mismatch between search interface pipeline and engine pipeline. The engine pipeline will be used.');
168
- }
169
- if (this.searchHub && this.searchHub !== engine.state.searchHub) {
170
- console.warn('Mismatch between search interface search hub and engine search hub. The engine search hub will be used.');
171
- }
172
- return this.internalInitialization(() => {
173
- this.engine = engine;
174
- });
175
- }
176
- /**
177
- *
178
- * Executes the first search and logs the interface load event to analytics, after initializing connection to the headless search engine.
179
- */
180
- async executeFirstSearch() {
181
- if (!this.interfaceController.engineIsCreated(this.engine)) {
182
- return;
183
- }
184
- if (!this.initialized) {
185
- console.error('You have to wait until the "initialize" promise is fulfilled before executing a search.', this);
186
- return;
187
- }
188
- const safeStorage = new SafeStorage();
189
- const standaloneSearchBoxData = safeStorage.getParsedJSON(StorageItems.STANDALONE_SEARCH_BOX_DATA, null);
190
- if (!standaloneSearchBoxData) {
191
- this.engine.executeFirstSearch();
192
- return;
193
- }
194
- safeStorage.removeItem(StorageItems.STANDALONE_SEARCH_BOX_DATA);
195
- const { updateQuery } = loadQueryActions(this.engine);
196
- const { value, enableQuerySyntax, analytics } = standaloneSearchBoxData;
197
- this.engine.dispatch(updateQuery({ q: value, enableQuerySyntax }));
198
- this.engine.executeFirstSearchAfterStandaloneSearchBoxRedirect(analytics);
199
- }
200
- updateSearchConfiguration(updatedProp, newValue) {
201
- if (!this.interfaceController.engineIsCreated(this.engine)) {
202
- return;
203
- }
204
- if (this.engine.state[updatedProp] === newValue) {
205
- return;
206
- }
207
- const { updateSearchConfiguration } = loadSearchConfigurationActions(this.engine);
208
- this.engine.dispatch(updateSearchConfiguration({
209
- [updatedProp]: newValue,
210
- }));
211
- }
212
- updateSearchHub() {
213
- this.updateSearchConfiguration('searchHub', this.searchHub ?? 'default');
214
- }
215
- updatePipeline() {
216
- this.updateSearchConfiguration('pipeline', this.pipeline);
217
- }
218
- toggleAnalytics() {
219
- this.interfaceController.onAnalyticsChange();
220
- }
221
- updateLanguage() {
222
- if (!this.interfaceController.engineIsCreated(this.engine) ||
223
- !this.language) {
224
- return;
225
- }
226
- const { updateSearchConfiguration } = loadSearchConfigurationActions(this.engine);
227
- this.engine.dispatch(updateSearchConfiguration({
228
- locale: this.language,
229
- }));
230
- return this.interfaceController.onLanguageChange();
231
- }
232
- updateIconAssetsPath() {
233
- this.store.state.iconAssetsPath = this.iconAssetsPath;
234
- }
235
- getBindings() {
236
- return {
237
- engine: this.engine,
238
- i18n: this.i18n,
239
- store: this.store,
240
- interfaceElement: this,
241
- createStyleElement: () => {
242
- const styleTag = document.createElement('style');
243
- return styleTag;
244
- },
245
- // TODO - KIT-4893: Remove once atomic-quickview-modal migration is complete.
246
- createScriptElement: () => {
247
- const scriptTag = document.createElement('script');
248
- return scriptTag;
249
- },
250
- };
251
- }
252
- initFieldsToInclude() {
253
- const fields = EcommerceDefaultFieldsToInclude.concat(this.fieldsToInclude);
254
- this.store.addFieldsToInclude(fields);
255
- }
256
- registerFieldsToInclude() {
257
- this.engine?.dispatch(loadFieldActions(this.engine).registerFieldsToInclude(this.store.state.fieldsToInclude));
258
- }
259
- initEngine(options) {
260
- const searchConfig = this.getSearchConfiguration(options);
261
- const analyticsConfig = getAnalyticsConfig(options, this.analytics, this.store);
262
- try {
263
- this.engine = buildSearchEngine({
264
- configuration: {
265
- ...options,
266
- search: searchConfig,
267
- analytics: analyticsConfig,
268
- },
269
- loggerOptions: {
270
- level: this.logLevel,
271
- },
272
- });
273
- }
274
- catch (error) {
275
- this.error = error;
276
- throw error;
277
- }
278
- }
279
- getSearchConfiguration(options) {
280
- const searchConfigFromProps = {
281
- searchHub: this.searchHub ?? 'default',
282
- pipeline: this.pipeline,
283
- locale: this.language,
284
- timezone: this.timezone,
285
- };
286
- if (options.search) {
287
- return {
288
- ...searchConfigFromProps,
289
- ...options.search,
290
- };
291
- }
292
- return searchConfigFromProps;
293
- }
294
- get fragment() {
295
- return window.location.hash.slice(1);
296
- }
297
- initUrlManager() {
298
- if (this.disableStateReflectionInUrl) {
299
- return;
300
- }
301
- if (!this.reflectStateInUrl) {
302
- return;
303
- }
304
- this.urlManager = buildUrlManager(this.engine, {
305
- initialState: { fragment: this.fragment },
306
- });
307
- this.unsubscribeUrlManager = this.urlManager.subscribe(() => this.updateHash());
308
- window.addEventListener('hashchange', this.onHashChange);
309
- }
310
- initRelevanceInspector() {
311
- if (this.enableRelevanceInspector && !this.disableRelevanceInspector) {
312
- this.addEventListener('dblclick', (e) => {
313
- if (e.altKey) {
314
- this.relevanceInspectorIsOpen = !this.relevanceInspectorIsOpen;
315
- }
316
- });
317
- }
318
- }
319
- initSearchStatus() {
320
- this.searchStatus = buildSearchStatus(this.engine);
321
- this.unsubscribeSearchStatus = this.searchStatus.subscribe(() => {
322
- const hasNoResultsAfterInitialSearch = !this.searchStatus.state.hasResults &&
323
- this.searchStatus.state.firstSearchExecuted &&
324
- !this.searchStatus.state.hasError;
325
- this.classList.toggle(noResultsSelector, hasNoResultsAfterInitialSearch);
326
- this.classList.toggle(errorSelector, this.searchStatus.state.hasError);
327
- this.classList.toggle(firstSearchExecutedSelector, this.searchStatus.state.firstSearchExecuted);
328
- if (this.searchStatus.state.firstSearchExecuted &&
329
- this.store.hasLoadingFlag(FirstSearchExecutedFlag)) {
330
- this.store.unsetLoadingFlag(FirstSearchExecutedFlag);
331
- }
332
- });
333
- }
334
- updateHash() {
335
- const newFragment = this.urlManager.state.fragment;
336
- if (!this.searchStatus.state.firstSearchExecuted) {
337
- history.replaceState(null, document.title, `#${newFragment}`);
338
- this.bindings.engine.logger.info(`History replaceState #${newFragment}`);
339
- return;
340
- }
341
- history.pushState(null, document.title, `#${newFragment}`);
342
- this.bindings.engine.logger.info(`History pushState #${newFragment}`);
343
- }
344
- async internalInitialization(initEngine) {
345
- await Promise.all([
346
- this.interfaceController.onInitialization(initEngine),
347
- this.i18Initialized,
348
- ]);
349
- this.updateLanguage();
350
- this.bindings = this.getBindings();
351
- markParentAsReady(this);
352
- this.pipeline = this.engine.state.pipeline;
353
- this.searchHub = this.engine.state.searchHub;
354
- this.initSearchStatus();
355
- await this.getUpdateComplete();
356
- this.initUrlManager();
357
- this.initialized = true;
358
- }
359
- render() {
360
- return html `
361
- ${when(this.bindings?.engine &&
362
- this.enableRelevanceInspector &&
363
- !this.disableRelevanceInspector, () => html `<atomic-relevance-inspector
364
- ?open=${this.relevanceInspectorIsOpen}
365
- .bindings=${this.bindings}
366
- ></atomic-relevance-inspector>`)}
367
- <slot></slot>
368
- `;
369
- }
370
- };
371
- AtomicSearchInterface.styles = [
372
- css`:host{height:inherit;width:inherit;&>slot{height:inherit}}`,
373
- ];
374
- __decorate([
375
- state(),
376
- provide({ context: bindingsContext })
377
- ], AtomicSearchInterface.prototype, "bindings", void 0);
378
- __decorate([
379
- state()
380
- ], AtomicSearchInterface.prototype, "error", void 0);
381
- __decorate([
382
- state()
383
- ], AtomicSearchInterface.prototype, "relevanceInspectorIsOpen", void 0);
384
- __decorate([
385
- property({
386
- type: Array,
387
- attribute: 'fields-to-include',
388
- converter: {
389
- fromAttribute: (value) => {
390
- if (!value)
391
- return [];
392
- try {
393
- const parsed = JSON.parse(value);
394
- return Array.isArray(parsed) ? parsed : [];
395
- }
396
- catch {
397
- return [];
398
- }
399
- },
400
- toAttribute: (value) => JSON.stringify(value),
401
- },
402
- })
403
- ], AtomicSearchInterface.prototype, "fieldsToInclude", void 0);
404
- __decorate([
405
- property({ type: String, reflect: true })
406
- ], AtomicSearchInterface.prototype, "pipeline", void 0);
407
- __decorate([
408
- property({ type: String, attribute: 'search-hub', reflect: true })
409
- ], AtomicSearchInterface.prototype, "searchHub", void 0);
410
- __decorate([
411
- property({
412
- type: Boolean,
413
- converter: booleanConverter,
414
- reflect: true,
415
- })
416
- ], AtomicSearchInterface.prototype, "analytics", void 0);
417
- __decorate([
418
- property({ type: String, reflect: true })
419
- ], AtomicSearchInterface.prototype, "timezone", void 0);
420
- __decorate([
421
- property({ type: String, attribute: 'log-level', reflect: true })
422
- ], AtomicSearchInterface.prototype, "logLevel", void 0);
423
- __decorate([
424
- property({ type: Object, attribute: false })
425
- ], AtomicSearchInterface.prototype, "i18n", void 0);
426
- __decorate([
427
- property({ type: String, reflect: true })
428
- ], AtomicSearchInterface.prototype, "language", void 0);
429
- __decorate([
430
- property({ type: Object, attribute: false })
431
- ], AtomicSearchInterface.prototype, "engine", void 0);
432
- __decorate([
433
- property({
434
- type: Boolean,
435
- attribute: 'reflect-state-in-url',
436
- reflect: true,
437
- converter: booleanConverter,
438
- })
439
- ], AtomicSearchInterface.prototype, "reflectStateInUrl", void 0);
440
- __decorate([
441
- property({
442
- type: Boolean,
443
- attribute: 'disable-state-reflection-in-url',
444
- reflect: true,
445
- })
446
- ], AtomicSearchInterface.prototype, "disableStateReflectionInUrl", void 0);
447
- __decorate([
448
- property({ type: String, attribute: 'scroll-container', reflect: true })
449
- ], AtomicSearchInterface.prototype, "scrollContainer", void 0);
450
- __decorate([
451
- property({ type: String, attribute: 'language-assets-path', reflect: true })
452
- ], AtomicSearchInterface.prototype, "languageAssetsPath", void 0);
453
- __decorate([
454
- property({ type: String, attribute: 'icon-assets-path', reflect: true })
455
- ], AtomicSearchInterface.prototype, "iconAssetsPath", void 0);
456
- __decorate([
457
- property({
458
- type: Boolean,
459
- attribute: 'enable-relevance-inspector',
460
- reflect: true,
461
- converter: booleanConverter,
462
- })
463
- ], AtomicSearchInterface.prototype, "enableRelevanceInspector", void 0);
464
- __decorate([
465
- property({
466
- type: Boolean,
467
- attribute: 'disable-relevance-inspector',
468
- reflect: true,
469
- })
470
- ], AtomicSearchInterface.prototype, "disableRelevanceInspector", void 0);
471
- __decorate([
472
- watch('searchHub')
473
- ], AtomicSearchInterface.prototype, "updateSearchHub", null);
474
- __decorate([
475
- watch('pipeline')
476
- ], AtomicSearchInterface.prototype, "updatePipeline", null);
477
- __decorate([
478
- watch('analytics')
479
- ], AtomicSearchInterface.prototype, "toggleAnalytics", null);
480
- __decorate([
481
- watch('language')
482
- ], AtomicSearchInterface.prototype, "updateLanguage", null);
483
- __decorate([
484
- watch('iconAssetsPath')
485
- ], AtomicSearchInterface.prototype, "updateIconAssetsPath", null);
486
- __decorate([
487
- errorGuard()
488
- ], AtomicSearchInterface.prototype, "render", null);
489
- AtomicSearchInterface = __decorate([
490
- customElement('atomic-search-interface'),
491
- withTailwindStyles
492
- ], AtomicSearchInterface);
493
- export { AtomicSearchInterface };
@@ -1 +0,0 @@
1
- {"file":"suggestions-common.js","mappings":";;;AA0FA,MAAM,iBAAiB,GAAG;IACxB,mBAAmB;IACnB,2BAA2B;IAC3B,4BAA4B;CACpB,CAAC;AAoDX,MAAM,mBAAmB,GAAG,CAAC,SAAkB,KAC7C,gBAAgB,IAAK,SAAwB;IAC5C,SAAwB,CAAC,cAAc,YAAY,OAAO,CAAC;AAE9D,MAAM,2CAA2C,GAAG,OAIlD,gBAAyB,EACzB,OAAoB,EACpB,KAA+D;IAE/D,MAAM,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,EAAE;QACzC,MAAM,gBAAgB,CAAC,cAAc,CAAC;KACvC;SAAM,IAAI,kBAAkB,IAAI,gBAAgB,EAAE;QACjD,MAAO,gBAAuC,CAAC,gBAAgB,EAAE,CAAC;KACnE;IACD,OAAO,CAAC,aAAa,CACnB,gBAAgB,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAC/D,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;MAKa,iCAAiC,GAAG,CAI/C,KAA+D,EAC/D,OAAoB,EACpB,2BAA0E,iBAAiB;IAE3F,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,QAAQ,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,gFAAgF,wBAAwB,CAAC,IAAI,CACjJ,IAAI,CACL,EAAE,CACJ,CAAC;KACH;IACD,KAAK,2CAA2C,CAC9C,gBAAgB,EAChB,OAAO,EACP,KAAK,CACN,CAAC;AACJ,EAAE;SAEc,iBAAiB,CAAC,EAA8B;IAC9D,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;SAEe,eAAe,CAAC,EAA8B;IAC5D,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC9C;;;;","names":[],"sources":["src/components/common/suggestions/suggestions-common.ts"],"sourcesContent":["import type {VNode} from '@stencil/core';\nimport type {HTMLStencilElement} from '@stencil/core/internal';\nimport type {LitElement} from 'lit';\nimport {closest} from '../../../utils/dom-utils';\nimport {buildCustomEvent} from '../../../utils/event-utils';\nimport type {AnyBindings} from '../interface/bindings';\n\n/**\n * Element which will be rendered in the list of suggestions.\n */\nexport interface SearchBoxSuggestionElement {\n /**\n * Stable identity which enables Stencil to reuse DOM elements for better performance.\n * The best way to pick a key is to use a string that uniquely identifies that list item among its siblings (often your data will already have IDs).\n */\n key: string;\n /**\n * Rendered content of the element.\n *\n * @remarks\n * The `VNode` type will be deprecated in v4 as we are detaching from Stencil.\n */\n content: Element | VNode;\n /**\n * Hook called when the selection is selected.\n * @param e DOM event.\n */\n onSelect?(e: Event): void;\n /**\n * The query associated with the suggestion which will replace the query in the search box if the suggestion is selected.\n */\n query?: string;\n /**\n * For improved accessibility, provide this property with additional information.\n * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label\n */\n ariaLabel?: string;\n /**\n * Adds a specific shadow part attribute that can be selected with the CSS ::part pseudo-element.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/::part\n */\n part?: string;\n /**\n * Hide the suggestion if it's the last in the list.\n */\n hideIfLast?: boolean;\n}\n\n/**\n * List of suggestions that will be displayed along other lists (e.g recent queries) when the search box's input is selected.\n */\nexport interface SearchBoxSuggestions {\n /**\n * The search box will sort the position of suggestions using this value. The lowest value being first.\n * By default, the DOM position will be used.\n */\n position: number;\n /**\n * Whether the suggestions should be listed in the right or left panel. By default, the suggestions are listed in the right panel.\n */\n panel?: 'left' | 'right';\n /**\n * Method that returns the list of elements which will be rendered in the list of suggestions.\n */\n renderItems(): SearchBoxSuggestionElement[];\n /**\n * Hook called when the user changes the search box's input value. This can lead to all the query suggestions being updated.\n */\n onInput?(): Promise<unknown>;\n /**\n * Hook called when the suggested query changes as a user traverses through the list of suggestions.\n * This is used for instant results, which are rendered based on the current suggested query.\n * @param q The new suggested query.\n */\n onSuggestedQueryChange?(q: string): Promise<unknown>;\n}\n\n/**\n * Event sent from the registered query suggestions to the parent search box.\n */\nexport type SearchBoxSuggestionsEvent<\n SearchBoxController,\n Bindings = AnyBindings,\n> = (\n /**\n * The bindings passed from the search box to the suggestions.\n */\n bindings: SearchBoxSuggestionsBindings<SearchBoxController, Bindings>\n) => SearchBoxSuggestions;\n\nconst searchBoxElements = [\n 'atomic-search-box',\n 'atomic-insight-search-box',\n 'atomic-commerce-search-box',\n] as const;\n\n/**\n * The bindings passed from the search box to the suggestions.\n */\nexport type SearchBoxSuggestionsBindings<\n SearchBoxController,\n Bindings = AnyBindings,\n> = Bindings & {\n /**\n * The unique id of the search box.\n */\n id: string;\n /**\n * Whether the search box is [standalone](https://docs.coveo.com/en/atomic/latest/usage/ssb/).\n */\n isStandalone: boolean;\n /**\n * The search box headless controller.\n */\n searchBoxController: SearchBoxController;\n /**\n * The number of queries to display when the user interacts with the search box.\n */\n numberOfQueries: number;\n /**\n * Whether to clear all active query filters when the end user submits a new query from the search box.\n */\n clearFilters: boolean;\n /**\n * Retrieves the suggested query, meaning the query that would be sent if the search is executed.\n * The suggested query changes as a user traverses through the list of suggestions.\n */\n suggestedQuery(): string;\n /**\n * Removes the current suggestions.\n */\n clearSuggestions(): void;\n /**\n * Triggers update & retrieval of all suggestions.\n */\n triggerSuggestions(): void;\n /**\n * Retrieves the current suggestions.\n */\n getSuggestions(): SearchBoxSuggestions[];\n /**\n * Retrieves the current suggestions elements.\n */\n getSuggestionElements(): SearchBoxSuggestionElement[];\n};\n\nconst isLitElementLoosely = (candidate: unknown): candidate is LitElement =>\n 'updateComplete' in (candidate as LitElement) &&\n (candidate as LitElement).updateComplete instanceof Promise;\n\nconst dispatchSearchBoxSuggestionsEventEventually = async <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n interfaceElement: Element,\n element: HTMLElement,\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>\n) => {\n await customElements.whenDefined(interfaceElement.nodeName.toLowerCase());\n if (isLitElementLoosely(interfaceElement)) {\n await interfaceElement.updateComplete;\n } else if ('componentOnReady' in interfaceElement) {\n await (interfaceElement as HTMLStencilElement).componentOnReady();\n }\n element.dispatchEvent(\n buildCustomEvent('atomic/searchBoxSuggestion/register', event)\n );\n};\n\n/**\n * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.\n * @param event Event sent from the registered query suggestions to the parent search box.\n * @param element Element on which to dispatch the event, which must be the child of a configured search box.\n */\nexport const dispatchSearchBoxSuggestionsEvent = <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>,\n element: HTMLElement,\n allowedSearchBoxElements: readonly (typeof searchBoxElements)[number][] = searchBoxElements\n) => {\n const interfaceElement = closest(element, searchBoxElements.join(', '));\n if (!interfaceElement) {\n throw new Error(\n `The \"${element.nodeName.toLowerCase()}\" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(\n ', '\n )}`\n );\n }\n void dispatchSearchBoxSuggestionsEventEventually(\n interfaceElement,\n element,\n event\n );\n};\n\nexport function elementHasNoQuery(el: SearchBoxSuggestionElement) {\n return !el.query || el.query.trim() === '';\n}\n\nexport function elementHasQuery(el: SearchBoxSuggestionElement) {\n return !!el.query && el.query.trim() !== '';\n}\n"],"version":3}
@@ -1,2 +0,0 @@
1
- import{r as e,h as t}from"./p-dc3df5ce.js";import{I as a}from"./p-ff2d324d.js";import"./p-c9074946.js";import"./p-1580513b.js";import"./p-05de7ca3.js";import"./p-cae02339.js";var c=undefined&&undefined.__decorate||function(e,t,a,c){var r=arguments.length,f=r<3?t:c===null?c=Object.getOwnPropertyDescriptor(t,a):c,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")f=Reflect.decorate(e,t,a,c);else for(var i=e.length-1;i>=0;i--)if(o=e[i])f=(r<3?o(f):r>3?o(t,a,f):o(t,a))||f;return r>3&&f&&Object.defineProperty(t,a,f),f};const r=class{constructor(t){e(this,t);this.error=undefined}render(){return t("atomic-tab-bar",{key:"213ba4db0fe06cda854967aec377453090fda5c2"},t("slot",{key:"957788c0b75593ae52fd3a730ae18ae3abe2f87e"}))}};c([a()],r.prototype,"bindings",void 0);export{r as atomic_ipx_tabs};
2
- //# sourceMappingURL=p-0edea6f9.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-common';\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 SearchBoxSuggestionElement,\n SearchBoxSuggestions,\n SearchBoxSuggestionsBindings,\n} from '../../../common/suggestions/suggestions-common';\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":"sUAMO,MAAMA,EAA+B,CAC1CC,EACAC,EACAC,KAEO,CACLC,UAAWH,EAAKI,EAAE,mCAAoC,CACpDC,MAAOJ,EACPK,cAAe,CAACC,YAAa,SAE/BC,IAAK,kBAAkBC,EAAsBP,KAC7CQ,KAAM,yBAIH,MAAMC,EACXX,IAEO,CACLQ,IAAK,kCACLE,KAAM,2BACNP,UAAWH,EAAKI,EAAE,sBAOf,MAAMQ,EAET,EAAEZ,UAEFa,EAAA,OACEH,KAAK,kCACLI,MAAOC,EAA2B,iBAEjCf,EAAKI,EAAE,qB,MCMDY,EAA6B,M,yBAGhCC,KAAAC,QAAoB,GAGpBD,KAAAE,QAA6B,OAKpBF,KAAAG,iBAAmB,MAkBNH,KAAAI,mBAAqB,EAIrBJ,KAAAK,QAA8B,SAI9BL,KAAAM,UAAkC,O,2CA1B5B,M,wBAkBe,E,aAIS,S,eAII,O,kCAhB/C,uBAAMC,CACrBC,GAEAR,KAAKS,sBAAwBD,C,CAqBxB,iBAAAE,GACL,IACEC,GACGC,IACCZ,KAAKY,SAAWA,EAChB,OAAOZ,KAAKa,YAAY,GAE1Bb,KAAKc,KACL,CAAC,qB,CAEH,MAAOC,GACPf,KAAKe,MAAQA,C,EAIT,OAAAC,CAAQC,GACd,MAAMC,EACJD,EAAGE,UAAY,gBAAkBF,EAAKA,GAAIG,cAAc,iBAE1D,OACEF,GAAcG,YAAYD,cACxB,qCACG,I,CAID,eAAAE,CAAgBL,EAAiBM,GACvC,MAAMC,EAAaC,GAAkBR,EAAGS,aAAa,SAAUD,GAC/D,MAAME,EAAgBV,EAAGW,aAAa,UAEtCL,GAAeC,EAAU,UACzBP,EAAGY,QACHN,GAAeC,EAAUG,GAAiB,IAE1C,OAAO,I,CAGD,WAAAG,GACN,IAAK9B,KAAKY,SAASmB,kBAAoB/B,KAAKY,SAASoB,MAAMC,WAAY,CACrE,MAAO,E,CAET,MAAMhC,EAAUD,KAAKkC,eAAeC,MAAMlC,QAAQmC,OAC9CpC,KAAKkC,eAAeC,MAAMlC,QAC1BD,KAAKC,QAET,MAAMoC,EAAyCpC,EAAQqC,KACpDC,IACC,MAAMC,EAAc1D,EAClBkB,KAAKY,SAAS7B,KACdiB,KAAKyC,qBAAqBzC,KAAKY,SAAU2B,IAAWA,EAAOnD,MAC3DmD,EAAOG,UAET,MAAO,IACFF,EACHG,QACE/C,EAAA,iBACEL,IAAK,kBAAkBC,EAAsB+C,EAAOG,YACpDjD,KAAK,UACL8C,OAAQA,EACRK,kBAAmBC,EACjB7C,KAAKY,SAASkC,OACd,CACEC,QAAS,CAACR,YAGdrC,QAASF,KAAKE,QACdG,QAASL,KAAKK,QACdC,UAAWN,KAAKM,UAChBqC,QAAS3C,KAAKgD,qBAAqBC,mBAAmBV,GACtDW,gBAAiB,MACjBC,kBAAmBnD,KAAKS,wBAG5B2C,SAAWC,IACT,MAAMC,EAAOtD,KAAKgB,QAAQqC,EAAEE,QAE5B,IAAKD,EAAM,CACT,M,CAEFtD,KAAKsB,gBAAgBgC,EAAMD,EAAEG,SAAWH,EAAEI,QAAQ,EAErD,IAGL,GAAIpB,EAASD,OAAQ,CACnB,MAAMI,EAAc9C,EAClBM,KAAKY,SAAS7B,MAEhBsD,EAASqB,KAAK,IACTlB,EACHG,QAAS/C,EAACD,EAAwB,CAACZ,KAAMiB,KAAKY,SAAS7B,OACvDqE,SAAU,KACRpD,KAAKY,SAAS+C,mBACd3D,KAAKY,SAASgD,oBAAoBC,WAChC7D,KAAKkC,eAAeC,MAAM2B,GAE5B9D,KAAKY,SAASgD,oBAAoBG,QAAQ,G,CAIhD,OAAO1B,C,CAGF,UAAAxB,GACLb,KAAKkC,eAAiB8B,EAAoBhE,KAAKY,SAASkC,OAAQ,CAC9DC,QAAS,CACP3C,mBAAoBJ,KAAKI,sBAI7BJ,KAAKgD,qBAAuB,IAAIiB,EAAqB,CACnDC,uBAAwB,KACxBC,iBAAkBC,MAAMC,KACtBrE,KAAKc,KAAKwD,iBAAiB,2BAE7BC,4BAA6B,IAAM,KACnCC,4BAA6B,OAC7BC,oBAAqB,IAAMzE,KAAKG,iBAChCuE,oBAAsBjD,IACpBzB,KAAKG,iBAAmBsB,CAAK,EAE/Bb,SAAUZ,KAAKY,WAGjB,MAAO,CACL+D,SAAUP,MAAMC,KAAKrE,KAAKc,KAAK8D,WAAYC,UAAUC,QAAQ9E,KAAKc,MAClEiE,MAAO,QACPC,uBAAyBlB,IACvB9D,KAAKkC,eAAe+C,YAAYnB,GAChC,OAAO9D,KAAKgF,wBAAwB,EAEtClD,YAAa,IAAM9B,KAAK8B,c,CAIpB,sBAAAkD,GACN,IACGhF,KAAKY,SAASsE,wBAAwB9C,SACtCpC,KAAKY,SAASgD,oBAAoBzB,MAAMV,MACzC,CACA0D,QAAQC,KACN,6N,CAIJ,OAAO,IAAIC,SAAeC,IACxB,MAAMC,EAAcvF,KAAKkC,eAAesD,WAAU,KAChD,MAAMrD,EAAQnC,KAAKkC,eAAeC,MAClC,IAAKA,EAAMsD,UAAW,CACpB,GAAItD,EAAMlC,QAAQmC,OAAQ,CACxBpC,KAAKC,QAAUkC,EAAMlC,O,CAEvBsF,IACAD,G,IAEF,G,CAIC,MAAAI,GACL,GAAI1F,KAAKe,MAAO,CACd,OACEnB,EAAA,0BAAAL,IAAA,2CACEoG,QAAS3F,KAAKc,KACdC,MAAOf,KAAKe,O","ignoreList":[]}