@coveo/atomic 3.35.0-pre.ddf08ff320 → 3.35.0-pre.e19cc0d9a2

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 (1018) 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/components/_index.d.ts +0 -2
  4. package/dist/atomic/components/_index.js +35 -3
  5. package/dist/atomic/components/atomic-breadbox.js +18 -0
  6. package/dist/atomic/components/atomic-breadbox.js.map +1 -1
  7. package/dist/atomic/components/atomic-category-facet.js +44 -7
  8. package/dist/atomic/components/atomic-category-facet.js.map +1 -1
  9. package/dist/atomic/components/atomic-color-facet.js +3 -0
  10. package/dist/atomic/components/atomic-color-facet.js.map +1 -1
  11. package/dist/atomic/components/atomic-did-you-mean.js +12 -1
  12. package/dist/atomic/components/atomic-did-you-mean.js.map +1 -1
  13. package/dist/atomic/components/atomic-facet.js +6 -0
  14. package/dist/atomic/components/atomic-facet.js.map +1 -1
  15. package/dist/atomic/components/atomic-generated-answer.js +1 -1
  16. package/dist/atomic/components/atomic-generated-answer.js.map +1 -1
  17. package/dist/atomic/components/atomic-insight-generated-answer.js +1 -1
  18. package/dist/atomic/components/atomic-insight-generated-answer.js.map +1 -1
  19. package/dist/atomic/components/atomic-insight-pager.js +5 -5
  20. package/dist/atomic/components/atomic-insight-pager.js.map +1 -1
  21. package/dist/atomic/components/atomic-insight-query-summary.js +9 -0
  22. package/dist/atomic/components/atomic-insight-query-summary.js.map +1 -1
  23. package/dist/atomic/components/atomic-insight-search-box.js +41 -2
  24. package/dist/atomic/components/atomic-insight-search-box.js.map +1 -1
  25. package/dist/atomic/components/atomic-insight-user-actions-session2.js +3 -0
  26. package/dist/atomic/components/atomic-insight-user-actions-session2.js.map +1 -1
  27. package/dist/atomic/components/atomic-load-more-results.js +13 -1
  28. package/dist/atomic/components/atomic-load-more-results.js.map +1 -1
  29. package/dist/atomic/components/atomic-no-results.js +3 -0
  30. package/dist/atomic/components/atomic-no-results.js.map +1 -1
  31. package/dist/atomic/components/atomic-quickview-modal2.js +3 -0
  32. package/dist/atomic/components/atomic-quickview-modal2.js.map +1 -1
  33. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  34. package/dist/atomic/components/atomic-refine-modal2.js +12 -0
  35. package/dist/atomic/components/atomic-refine-modal2.js.map +1 -1
  36. package/dist/atomic/components/atomic-refine-toggle.js +6 -0
  37. package/dist/atomic/components/atomic-refine-toggle.js.map +1 -1
  38. package/dist/atomic/components/atomic-result-list.js +12 -0
  39. package/dist/atomic/components/atomic-result-list.js.map +1 -1
  40. package/dist/atomic/components/atomic-result-text2.js +6 -0
  41. package/dist/atomic/components/atomic-result-text2.js.map +1 -1
  42. package/dist/atomic/components/atomic-search-box.js +11 -10
  43. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  44. package/dist/atomic/components/atomic-segmented-facet.js +3 -0
  45. package/dist/atomic/components/atomic-segmented-facet.js.map +1 -1
  46. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  47. package/dist/atomic/components/atomic-sort-dropdown.js +15 -0
  48. package/dist/atomic/components/atomic-sort-dropdown.js.map +1 -1
  49. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  50. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +3 -1
  51. package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.js +3 -0
  52. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +5 -0
  53. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +3 -0
  54. package/dist/atomic/components/components/common/breadbox/breadcrumb-button.js +6 -1
  55. package/dist/atomic/components/components/common/facets/category-facet/all-categories-button.js +3 -2
  56. package/dist/atomic/components/components/common/facets/category-facet/all-categories-localized-label.js +9 -0
  57. package/dist/atomic/components/components/common/facets/category-facet/search-value.js +6 -1
  58. package/dist/atomic/components/components/common/search-box/text-area-clear-button.js +1 -1
  59. package/dist/atomic/components/components/common/suggestions/query-suggestions.js +11 -16
  60. package/dist/atomic/components/components/search/atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.js +104 -0
  61. package/dist/atomic/components/components/search/index.js +1 -0
  62. package/dist/atomic/components/components/search/lazy-index.js +1 -0
  63. package/dist/atomic/components/facet-guard.js +3 -0
  64. package/dist/atomic/components/facet-guard.js.map +1 -1
  65. package/dist/atomic/components/facet-placeholder.js +3 -0
  66. package/dist/atomic/components/facet-placeholder.js.map +1 -1
  67. package/dist/atomic/components/generated-answer-common.js +27 -0
  68. package/dist/atomic/components/generated-answer-common.js.map +1 -1
  69. package/dist/atomic/components/global/environment.js +1 -1
  70. package/dist/atomic/components/index.js.map +1 -1
  71. package/dist/atomic/components/item-list-guard.js +3 -0
  72. package/dist/atomic/components/item-list-guard.js.map +1 -1
  73. package/dist/atomic/components/item-template-provider.js +6 -0
  74. package/dist/atomic/components/item-template-provider.js.map +1 -1
  75. package/dist/atomic/components/show-hide-button.js +12 -0
  76. package/dist/atomic/components/show-hide-button.js.map +1 -1
  77. package/dist/atomic/components/smart-snippet-common.js +15 -0
  78. package/dist/atomic/components/smart-snippet-common.js.map +1 -1
  79. package/dist/atomic/components/smart-snippet-feedback-modal-common.js +21 -0
  80. package/dist/atomic/components/smart-snippet-feedback-modal-common.js.map +1 -1
  81. package/dist/atomic/components/smart-snippet-suggestions-common.js +18 -0
  82. package/dist/atomic/components/smart-snippet-suggestions-common.js.map +1 -1
  83. package/dist/atomic/components/stencil-button.js +1 -1
  84. package/dist/atomic/components/stencil-button.js.map +1 -1
  85. package/dist/atomic/components/stencil-carousel.js +3 -0
  86. package/dist/atomic/components/stencil-carousel.js.map +1 -1
  87. package/dist/atomic/components/stencil-checkbox.js +1 -1
  88. package/dist/atomic/components/stencil-checkbox.js.map +1 -1
  89. package/dist/atomic/components/stencil-display-grid.js +3 -0
  90. package/dist/atomic/components/stencil-display-grid.js.map +1 -1
  91. package/dist/atomic/components/stencil-display-wrapper.js +6 -0
  92. package/dist/atomic/components/stencil-display-wrapper.js.map +1 -1
  93. package/dist/atomic/components/stencil-facet-header.js +6 -0
  94. package/dist/atomic/components/stencil-facet-header.js.map +1 -1
  95. package/dist/atomic/components/stencil-facet-search-matches.js +6 -0
  96. package/dist/atomic/components/stencil-facet-search-matches.js.map +1 -1
  97. package/dist/atomic/components/stencil-facet-show-more-less.js +3 -0
  98. package/dist/atomic/components/stencil-facet-show-more-less.js.map +1 -1
  99. package/dist/atomic/components/stencil-facet-value-box.js +3 -0
  100. package/dist/atomic/components/stencil-facet-value-box.js.map +1 -1
  101. package/dist/atomic/components/stencil-facet-value-checkbox.js +7 -2
  102. package/dist/atomic/components/stencil-facet-value-checkbox.js.map +1 -1
  103. package/dist/atomic/components/stencil-facet-value-label-highlight.js +3 -0
  104. package/dist/atomic/components/stencil-facet-value-label-highlight.js.map +1 -1
  105. package/dist/atomic/components/stencil-facet-value-link.js +3 -0
  106. package/dist/atomic/components/stencil-facet-value-link.js.map +1 -1
  107. package/dist/atomic/components/stencil-facet-value.js +3 -0
  108. package/dist/atomic/components/stencil-facet-value.js.map +1 -1
  109. package/dist/atomic/components/stencil-facet-values-group.js +3 -0
  110. package/dist/atomic/components/stencil-facet-values-group.js.map +1 -1
  111. package/dist/atomic/components/stencil-fieldset-group.js +3 -0
  112. package/dist/atomic/components/stencil-fieldset-group.js.map +1 -1
  113. package/dist/atomic/components/stencil-heading.js +1 -1
  114. package/dist/atomic/components/stencil-heading.js.map +1 -1
  115. package/dist/atomic/components/stencil-iconButton.js +3 -0
  116. package/dist/atomic/components/stencil-iconButton.js.map +1 -1
  117. package/dist/atomic/components/stencil-item-link.js +3 -0
  118. package/dist/atomic/components/stencil-item-link.js.map +1 -1
  119. package/dist/atomic/components/stencil-link.js +24 -1
  120. package/dist/atomic/components/stencil-link.js.map +1 -1
  121. package/dist/atomic/components/stencil-magnifying-glass.js +6 -0
  122. package/dist/atomic/components/stencil-magnifying-glass.js.map +1 -1
  123. package/dist/atomic/components/stencil-modal.js +3 -0
  124. package/dist/atomic/components/stencil-modal.js.map +1 -1
  125. package/dist/atomic/components/stencil-radio-button.js +1 -1
  126. package/dist/atomic/components/stencil-radio-button.js.map +1 -1
  127. package/dist/atomic/components/stencil-rating.js +5 -2
  128. package/dist/atomic/components/stencil-rating.js.map +1 -1
  129. package/dist/atomic/components/stencil-suggestion-manager.js +10 -1
  130. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  131. package/dist/atomic/components/stencil-tips.js +9 -0
  132. package/dist/atomic/components/stencil-tips.js.map +1 -1
  133. package/dist/atomic/components/stencil-values-container.js +6 -0
  134. package/dist/atomic/components/stencil-values-container.js.map +1 -1
  135. package/dist/atomic/index.esm.js +1 -1
  136. package/dist/atomic/index.esm.js.map +1 -1
  137. package/dist/atomic/lang/cs.json +1 -1
  138. package/dist/atomic/lang/da.json +1 -1
  139. package/dist/atomic/lang/de.json +1 -1
  140. package/dist/atomic/lang/dev.json +1 -1
  141. package/dist/atomic/lang/el.json +1 -1
  142. package/dist/atomic/lang/en.json +1 -1
  143. package/dist/atomic/lang/es.json +1 -1
  144. package/dist/atomic/lang/fi.json +1 -1
  145. package/dist/atomic/lang/fr.json +1 -1
  146. package/dist/atomic/lang/hu.json +1 -1
  147. package/dist/atomic/lang/id.json +1 -1
  148. package/dist/atomic/lang/it.json +1 -1
  149. package/dist/atomic/lang/ja.json +1 -1
  150. package/dist/atomic/lang/ko.json +1 -1
  151. package/dist/atomic/lang/nl.json +1 -1
  152. package/dist/atomic/lang/no.json +1 -1
  153. package/dist/atomic/lang/pl.json +1 -1
  154. package/dist/atomic/lang/pt-BR.json +1 -1
  155. package/dist/atomic/lang/pt.json +1 -1
  156. package/dist/atomic/lang/ru.json +1 -1
  157. package/dist/atomic/lang/sv.json +1 -1
  158. package/dist/atomic/lang/th.json +1 -1
  159. package/dist/atomic/lang/tr.json +1 -1
  160. package/dist/atomic/lang/zh-CN.json +1 -1
  161. package/dist/atomic/lang/zh-TW.json +1 -1
  162. package/dist/atomic/lang/zh.json +1 -1
  163. package/dist/atomic/{p-d2107c93.entry.js → p-0035e3da.entry.js} +2 -2
  164. package/dist/atomic/{p-e7eea1ef.entry.js → p-01eda62a.entry.js} +2 -2
  165. package/dist/atomic/{p-94b0fca4.entry.js → p-02f2ac0b.entry.js} +2 -2
  166. package/dist/atomic/{p-b211da6c.entry.js → p-066df32a.entry.js} +2 -2
  167. package/dist/atomic/{p-5f2fa73f.entry.js → p-06bc57be.entry.js} +2 -2
  168. package/dist/atomic/{p-5f2fa73f.entry.js.map → p-06bc57be.entry.js.map} +1 -1
  169. package/dist/atomic/{p-5a417451.entry.js → p-0714b56d.entry.js} +2 -2
  170. package/dist/atomic/p-0714b56d.entry.js.map +1 -0
  171. package/dist/atomic/{p-187193bb.js → p-0ed25035.js} +1 -1
  172. package/dist/atomic/p-0ed25035.js.map +1 -0
  173. package/dist/atomic/{p-d618c229.entry.js → p-104d7a84.entry.js} +2 -2
  174. package/dist/atomic/{p-a5bac939.js → p-1b11f219.js} +1 -1
  175. package/dist/atomic/p-1b11f219.js.map +1 -0
  176. package/dist/atomic/{p-8f69b018.entry.js → p-25ee4bab.entry.js} +2 -2
  177. package/dist/atomic/{p-583faf68.entry.js → p-27746cac.entry.js} +2 -2
  178. package/dist/atomic/{p-8be21e4a.js → p-2c5841a0.js} +1 -1
  179. package/dist/atomic/p-2c5841a0.js.map +1 -0
  180. package/dist/atomic/{p-4e25638d.entry.js → p-2c8d8e83.entry.js} +2 -2
  181. package/dist/atomic/p-2c8d8e83.entry.js.map +1 -0
  182. package/dist/atomic/p-2c94b87e.js +2 -0
  183. package/dist/atomic/p-2c94b87e.js.map +1 -0
  184. package/dist/atomic/{p-bacb06d7.entry.js → p-2eac7c46.entry.js} +2 -2
  185. package/dist/atomic/{p-134b7370.js → p-2f3e40c8.js} +2 -2
  186. package/dist/atomic/p-2f3e40c8.js.map +1 -0
  187. package/dist/atomic/{p-ab2f6794.entry.js → p-3282ccf8.entry.js} +2 -2
  188. package/dist/atomic/{p-d0584482.entry.js → p-33b3b967.entry.js} +2 -2
  189. package/dist/atomic/p-33b3b967.entry.js.map +1 -0
  190. package/dist/atomic/{p-4027e529.entry.js → p-37182242.entry.js} +2 -2
  191. package/dist/atomic/{p-e988f378.js → p-3881d7ec.js} +1 -1
  192. package/dist/atomic/p-3881d7ec.js.map +1 -0
  193. package/dist/atomic/{p-0947a95f.entry.js → p-3becda0c.entry.js} +2 -2
  194. package/dist/atomic/{p-7da7b187.js → p-3c2b932c.js} +1 -1
  195. package/dist/atomic/p-3c2b932c.js.map +1 -0
  196. package/dist/atomic/{p-173deaca.entry.js → p-4206b797.entry.js} +2 -2
  197. package/dist/atomic/{p-28f4600a.entry.js → p-458697db.entry.js} +2 -2
  198. package/dist/atomic/{p-a3d55993.entry.js → p-4778132c.entry.js} +2 -2
  199. package/dist/atomic/{p-5346f77d.entry.js → p-4ba1eb36.entry.js} +2 -2
  200. package/dist/atomic/p-4ba1eb36.entry.js.map +1 -0
  201. package/dist/atomic/{p-7b9e5e58.entry.js → p-4bc0dc09.entry.js} +2 -2
  202. package/dist/atomic/{p-4bf14d26.js → p-4c85b2fb.js} +2 -2
  203. package/dist/atomic/p-4c85b2fb.js.map +1 -0
  204. package/dist/atomic/p-4cf97b0a.entry.js.map +1 -1
  205. package/dist/atomic/{p-3f0e7549.js → p-4dfa349e.js} +2 -2
  206. package/dist/atomic/p-4dfa349e.js.map +1 -0
  207. package/dist/atomic/{p-bd565f91.entry.js → p-530396d4.entry.js} +2 -2
  208. package/dist/atomic/p-530396d4.entry.js.map +1 -0
  209. package/dist/atomic/{p-64da3471.entry.js → p-582ce205.entry.js} +2 -2
  210. package/dist/atomic/{p-475df84c.entry.js → p-5d36515f.entry.js} +2 -2
  211. package/dist/atomic/{p-ddf72215.entry.js → p-5dbe3b4c.entry.js} +2 -2
  212. package/dist/atomic/{p-1365c7d0.js → p-5e5599f3.js} +2 -2
  213. package/dist/atomic/{p-891cb944.entry.js → p-5eaee0be.entry.js} +2 -2
  214. package/dist/atomic/{p-a9aadc3d.entry.js → p-6489c611.entry.js} +2 -2
  215. package/dist/atomic/{p-e0ba043d.entry.js → p-66beb63a.entry.js} +2 -2
  216. package/dist/atomic/{p-340130de.js → p-67b314f4.js} +2 -2
  217. package/dist/atomic/p-67b314f4.js.map +1 -0
  218. package/dist/atomic/{p-01096d1c.entry.js → p-67f62282.entry.js} +2 -2
  219. package/dist/atomic/{p-97479dde.entry.js → p-690cb10f.entry.js} +2 -2
  220. package/dist/atomic/p-690cb10f.entry.js.map +1 -0
  221. package/dist/atomic/{p-0acbc1aa.entry.js → p-6ca16a70.entry.js} +2 -2
  222. package/dist/atomic/p-6d0e9fad.entry.js.map +1 -1
  223. package/dist/atomic/{p-4310d46f.entry.js → p-6da5e67e.entry.js} +2 -2
  224. package/dist/atomic/{p-30ea57e8.entry.js → p-6f93d6d6.entry.js} +2 -2
  225. package/dist/atomic/{p-beb2ad8e.js → p-72bdaa9d.js} +2 -2
  226. package/dist/atomic/p-72bdaa9d.js.map +1 -0
  227. package/dist/atomic/p-77727995.entry.js +2 -0
  228. package/dist/atomic/p-77727995.entry.js.map +1 -0
  229. package/dist/atomic/{p-7b0e3ff4.entry.js → p-798598a4.entry.js} +2 -2
  230. package/dist/atomic/p-798598a4.entry.js.map +1 -0
  231. package/dist/atomic/{p-bd2703e9.js → p-7a7ce0d5.js} +1 -1
  232. package/dist/atomic/p-7a7ce0d5.js.map +1 -0
  233. package/dist/atomic/{p-4ecabf56.js → p-7bc6b014.js} +2 -2
  234. package/dist/atomic/p-7bc6b014.js.map +1 -0
  235. package/dist/atomic/p-7d639646.js +2 -0
  236. package/dist/atomic/{p-20fc8a6c.js.map → p-7d639646.js.map} +1 -1
  237. package/dist/atomic/{p-39de1cef.entry.js → p-81b00c43.entry.js} +2 -2
  238. package/dist/atomic/{p-d4303474.entry.js → p-847cdfd5.entry.js} +2 -2
  239. package/dist/atomic/p-847cdfd5.entry.js.map +1 -0
  240. package/dist/atomic/{p-1ebea045.entry.js → p-84ac45b4.entry.js} +2 -2
  241. package/dist/atomic/{p-57ed25c9.entry.js → p-875eb57b.entry.js} +2 -2
  242. package/dist/atomic/{p-ceeb9f1f.entry.js → p-895da76b.entry.js} +2 -2
  243. package/dist/atomic/p-895da76b.entry.js.map +1 -0
  244. package/dist/atomic/{p-b1c34434.entry.js → p-8d63a0c4.entry.js} +2 -2
  245. package/dist/atomic/p-90ace4cd.entry.js.map +1 -1
  246. package/dist/atomic/{p-f917dce9.entry.js → p-91260e2b.entry.js} +2 -2
  247. package/dist/atomic/p-91260e2b.entry.js.map +1 -0
  248. package/dist/atomic/{p-95cff664.entry.js → p-9389337e.entry.js} +2 -2
  249. package/dist/atomic/{p-bcc202ff.entry.js → p-9392b7da.entry.js} +2 -2
  250. package/dist/atomic/{p-318c96f5.entry.js → p-9519e656.entry.js} +2 -2
  251. package/dist/atomic/{p-aa69a7f4.entry.js → p-98790c52.entry.js} +2 -2
  252. package/dist/atomic/{p-c2acd146.entry.js → p-98c7ae7f.entry.js} +2 -2
  253. package/dist/atomic/p-9aad555a.entry.js.map +1 -1
  254. package/dist/atomic/{p-a94386b5.entry.js → p-9f01593d.entry.js} +2 -2
  255. package/dist/atomic/{p-4b1dc787.js → p-a24a63d6.js} +1 -1
  256. package/dist/atomic/p-a24a63d6.js.map +1 -0
  257. package/dist/atomic/{p-49ac2124.entry.js → p-a48ae7ab.entry.js} +2 -2
  258. package/dist/atomic/{p-15580d9e.js → p-a8c6b43b.js} +2 -2
  259. package/dist/atomic/p-a8c6b43b.js.map +1 -0
  260. package/dist/atomic/{p-7e588beb.entry.js → p-a9016629.entry.js} +2 -2
  261. package/dist/atomic/p-a9016629.entry.js.map +1 -0
  262. package/dist/atomic/{p-a9e250f8.js → p-a9d9e80e.js} +2 -2
  263. package/dist/atomic/p-a9d9e80e.js.map +1 -0
  264. package/dist/atomic/{p-fa9d8ab7.entry.js → p-ab3da44d.entry.js} +2 -2
  265. package/dist/atomic/{p-f964e30a.entry.js → p-acd72087.entry.js} +2 -2
  266. package/dist/atomic/{p-cbc634fa.entry.js → p-ae071697.entry.js} +2 -2
  267. package/dist/atomic/{p-2e78d642.entry.js → p-ae346172.entry.js} +2 -2
  268. package/dist/atomic/p-ae346172.entry.js.map +1 -0
  269. package/dist/atomic/{p-66d48d1a.js → p-b8e66e99.js} +1 -1
  270. package/dist/atomic/p-b8e66e99.js.map +1 -0
  271. package/dist/atomic/{p-4ba12e99.entry.js → p-b93c93f7.entry.js} +2 -2
  272. package/dist/atomic/{p-d4cbd9b1.js → p-b93d0580.js} +2 -2
  273. package/dist/atomic/p-b93d0580.js.map +1 -0
  274. package/dist/atomic/{p-b0ce2261.entry.js → p-bb0e0b5d.entry.js} +2 -2
  275. package/dist/atomic/{p-b0ce2261.entry.js.map → p-bb0e0b5d.entry.js.map} +1 -1
  276. package/dist/atomic/{p-1f059522.js → p-c3451367.js} +1 -1
  277. package/dist/atomic/p-c3451367.js.map +1 -0
  278. package/dist/atomic/{p-cacb7fd8.entry.js → p-c402cc93.entry.js} +2 -2
  279. package/dist/atomic/{p-42937d04.entry.js → p-c45361ac.entry.js} +2 -2
  280. package/dist/atomic/p-c45361ac.entry.js.map +1 -0
  281. package/dist/atomic/{p-7cb0050f.js → p-c727ec2d.js} +1 -1
  282. package/dist/atomic/p-c727ec2d.js.map +1 -0
  283. package/dist/atomic/{p-8998da31.entry.js → p-c82dd1aa.entry.js} +2 -2
  284. package/dist/atomic/{p-25660266.js → p-cbbc91ef.js} +2 -2
  285. package/dist/atomic/p-cbbc91ef.js.map +1 -0
  286. package/dist/atomic/p-ccb5ae69.js +2 -0
  287. package/dist/atomic/p-ccb5ae69.js.map +1 -0
  288. package/dist/atomic/{p-9411ab14.entry.js → p-cd047d6d.entry.js} +2 -2
  289. package/dist/atomic/{p-ca0e9cd6.js → p-cdfcb38c.js} +2 -2
  290. package/dist/atomic/p-cdfcb38c.js.map +1 -0
  291. package/dist/atomic/{p-df84c005.entry.js → p-ceca3fb8.entry.js} +2 -2
  292. package/dist/atomic/{p-4e6dcdcf.entry.js → p-cf0a69e5.entry.js} +2 -2
  293. package/dist/atomic/{p-1717e9cf.entry.js → p-d0937472.entry.js} +2 -2
  294. package/dist/atomic/{p-1ceca322.entry.js → p-d3d0ac7c.entry.js} +2 -2
  295. package/dist/atomic/{p-bd50cd51.entry.js → p-d6bc0fb4.entry.js} +2 -2
  296. package/dist/atomic/{p-307e7fd5.js → p-d72be8c2.js} +1 -1
  297. package/dist/atomic/p-d72be8c2.js.map +1 -0
  298. package/dist/atomic/{p-0e6f1e14.js → p-d7f0c2c5.js} +2 -2
  299. package/dist/atomic/p-d7f0c2c5.js.map +1 -0
  300. package/dist/atomic/{p-8c87d746.entry.js → p-da9b6e5c.entry.js} +2 -2
  301. package/dist/atomic/{p-9dcd5606.js → p-dc8c49c8.js} +2 -2
  302. package/dist/atomic/p-dc8c49c8.js.map +1 -0
  303. package/dist/atomic/{p-d365883e.js → p-dda4be4d.js} +2 -2
  304. package/dist/atomic/p-dda4be4d.js.map +1 -0
  305. package/dist/atomic/{p-75c37247.js → p-de53197d.js} +1 -1
  306. package/dist/atomic/{p-75c37247.js.map → p-de53197d.js.map} +1 -1
  307. package/dist/atomic/{p-d4c2b7c0.js → p-defc2481.js} +1 -1
  308. package/dist/atomic/{p-d4c2b7c0.js.map → p-defc2481.js.map} +1 -1
  309. package/dist/atomic/{p-f02d1e6e.entry.js → p-e0d103ba.entry.js} +2 -2
  310. package/dist/atomic/{p-76cf6545.js → p-e49423b4.js} +2 -2
  311. package/dist/atomic/p-e49423b4.js.map +1 -0
  312. package/dist/atomic/{p-be5d3c54.js → p-e5e2aa64.js} +1 -1
  313. package/dist/atomic/p-e5e2aa64.js.map +1 -0
  314. package/dist/atomic/{p-30e24f95.entry.js → p-e62caa78.entry.js} +2 -2
  315. package/dist/atomic/p-e6f167c9.js +2 -0
  316. package/dist/atomic/p-e6f167c9.js.map +1 -0
  317. package/dist/atomic/{p-0ab0ceaa.js → p-e9feab84.js} +2 -2
  318. package/dist/atomic/p-e9feab84.js.map +1 -0
  319. package/dist/atomic/{p-bdad3117.entry.js → p-f04c86b4.entry.js} +2 -2
  320. package/dist/atomic/{p-9ec21c88.entry.js → p-f0e60a0c.entry.js} +2 -2
  321. package/dist/atomic/{p-6ddd05c2.entry.js → p-f12325cc.entry.js} +2 -2
  322. package/dist/atomic/{p-8a30d1e9.entry.js → p-f44e1bd3.entry.js} +2 -2
  323. package/dist/atomic/{p-d9241b90.entry.js → p-f5a0fdc8.entry.js} +2 -2
  324. package/dist/atomic/p-f5a0fdc8.entry.js.map +1 -0
  325. package/dist/atomic/{p-3957401e.entry.js → p-fa83768b.entry.js} +2 -2
  326. package/dist/atomic/{p-9feb951f.entry.js → p-fd7a8926.entry.js} +2 -2
  327. package/dist/cjs/_index.cjs.js +35 -2
  328. package/dist/cjs/_loader.cjs.js +1 -1
  329. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +8 -8
  330. package/dist/cjs/atomic-breadbox.cjs.entry.js +19 -1
  331. package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
  332. package/dist/cjs/atomic-category-facet.cjs.entry.js +54 -17
  333. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  334. package/dist/cjs/atomic-citation.cjs.entry.js +2 -2
  335. package/dist/cjs/atomic-color-facet.cjs.entry.js +12 -9
  336. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  337. package/dist/cjs/atomic-did-you-mean.cjs.entry.js +12 -1
  338. package/dist/cjs/atomic-did-you-mean.cjs.entry.js.map +1 -1
  339. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +1 -1
  340. package/dist/cjs/atomic-facet.cjs.entry.js +20 -14
  341. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  342. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +3 -3
  343. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +4 -4
  344. package/dist/cjs/atomic-generated-answer.cjs.entry.js +4 -4
  345. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  346. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +2 -2
  347. package/dist/cjs/atomic-insight-facet.cjs.entry.js +13 -13
  348. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +3 -3
  349. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +2 -2
  350. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +4 -4
  351. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  352. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +2 -2
  353. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +2 -2
  354. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +11 -11
  355. package/dist/cjs/atomic-insight-pager.cjs.entry.js +7 -7
  356. package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
  357. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -2
  358. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +9 -0
  359. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js.map +1 -1
  360. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  361. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +2 -2
  362. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +2 -2
  363. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +2 -2
  364. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +3 -3
  365. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +3 -3
  366. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +2 -2
  367. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +44 -6
  368. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  369. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  370. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +3 -3
  371. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +4 -4
  372. package/dist/cjs/atomic-insight-tab.cjs.entry.js +1 -1
  373. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +8 -8
  374. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +1 -1
  375. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +5 -2
  376. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
  377. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -2
  378. package/dist/cjs/atomic-ipx-button.cjs.entry.js +1 -1
  379. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +6 -6
  380. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +2 -2
  381. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +2 -2
  382. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  383. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -1
  384. package/dist/cjs/atomic-load-more-results.cjs.entry.js +14 -2
  385. package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
  386. package/dist/cjs/atomic-no-results.cjs.entry.js +6 -3
  387. package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
  388. package/dist/cjs/atomic-notifications.cjs.entry.js +1 -1
  389. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +11 -11
  390. package/dist/cjs/atomic-popover.cjs.entry.js +1 -1
  391. package/dist/cjs/atomic-query-error.cjs.entry.js +2 -2
  392. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +8 -5
  393. package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
  394. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  395. package/dist/cjs/atomic-rating-facet.cjs.entry.js +9 -9
  396. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +7 -7
  397. package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -2
  398. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  399. package/dist/cjs/atomic-recs-list.cjs.entry.js +6 -6
  400. package/dist/cjs/atomic-refine-modal.cjs.entry.js +14 -2
  401. package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
  402. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +7 -1
  403. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  404. package/dist/cjs/atomic-result-children.cjs.entry.js +3 -3
  405. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  406. package/dist/cjs/atomic-result-list.cjs.entry.js +16 -4
  407. package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
  408. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +1 -1
  409. package/dist/cjs/atomic-result-rating.cjs.entry.js +1 -1
  410. package/dist/cjs/atomic-result-text_2.cjs.entry.js +6 -0
  411. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  412. package/dist/cjs/atomic-search-box.cjs.entry.js +12 -5
  413. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  414. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +1 -1
  415. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +6 -3
  416. package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
  417. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +1 -1
  418. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +4 -4
  419. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +3 -3
  420. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +4 -4
  421. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +15 -0
  422. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js.map +1 -1
  423. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +1 -1
  424. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  425. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  426. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  427. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +8 -8
  428. package/dist/cjs/atomic.cjs.js +1 -1
  429. package/dist/cjs/{facet-guard-328b588d.js → facet-guard-0e8cbe50.js} +4 -1
  430. package/dist/cjs/facet-guard-0e8cbe50.js.map +1 -0
  431. package/dist/cjs/{facet-placeholder-21821057.js → facet-placeholder-28bdf849.js} +12 -3
  432. package/dist/cjs/facet-placeholder-28bdf849.js.map +1 -0
  433. package/dist/cjs/{generated-answer-common-4410c9e0.js → generated-answer-common-0d1fc031.js} +30 -3
  434. package/dist/cjs/generated-answer-common-0d1fc031.js.map +1 -0
  435. package/dist/cjs/index-757bc886.js +0 -4
  436. package/dist/cjs/index.cjs.js.map +1 -1
  437. package/dist/cjs/{item-list-guard-506b695a.js → item-list-guard-71a3f994.js} +4 -1
  438. package/dist/cjs/item-list-guard-71a3f994.js.map +1 -0
  439. package/dist/cjs/{item-template-provider-e82736d7.js → item-template-provider-c639f39c.js} +7 -1
  440. package/dist/cjs/item-template-provider-c639f39c.js.map +1 -0
  441. package/dist/cjs/{show-hide-button-2a630d6f.js → show-hide-button-12eb762b.js} +15 -3
  442. package/dist/cjs/show-hide-button-12eb762b.js.map +1 -0
  443. package/dist/cjs/{smart-snippet-common-524d635f.js → smart-snippet-common-9d247110.js} +19 -4
  444. package/dist/cjs/smart-snippet-common-9d247110.js.map +1 -0
  445. package/dist/cjs/{smart-snippet-feedback-modal-common-3b7e3c7e.js → smart-snippet-feedback-modal-common-43bc6145.js} +23 -2
  446. package/dist/cjs/smart-snippet-feedback-modal-common-43bc6145.js.map +1 -0
  447. package/dist/cjs/{smart-snippet-suggestions-common-a6fb3bfd.js → smart-snippet-suggestions-common-4dba10d1.js} +21 -3
  448. package/dist/cjs/smart-snippet-suggestions-common-4dba10d1.js.map +1 -0
  449. package/dist/cjs/{stencil-button-a114783e.js → stencil-button-aa0f9cb5.js} +2 -2
  450. package/dist/cjs/{stencil-button-a114783e.js.map → stencil-button-aa0f9cb5.js.map} +1 -1
  451. package/dist/cjs/{stencil-carousel-254b4ea7.js → stencil-carousel-ecc37fcf.js} +5 -2
  452. package/dist/cjs/stencil-carousel-ecc37fcf.js.map +1 -0
  453. package/dist/cjs/{stencil-checkbox-81c51bbd.js → stencil-checkbox-6a2ad8d3.js} +2 -2
  454. package/dist/cjs/stencil-checkbox-6a2ad8d3.js.map +1 -0
  455. package/dist/cjs/{stencil-display-grid-93c5802a.js → stencil-display-grid-1f4e15ba.js} +4 -1
  456. package/dist/cjs/stencil-display-grid-1f4e15ba.js.map +1 -0
  457. package/dist/cjs/{stencil-display-wrapper-498de571.js → stencil-display-wrapper-b5c56fe9.js} +7 -1
  458. package/dist/cjs/stencil-display-wrapper-b5c56fe9.js.map +1 -0
  459. package/dist/cjs/{stencil-facet-search-matches-9e841241.js → stencil-facet-search-matches-f77a8c78.js} +9 -3
  460. package/dist/cjs/stencil-facet-search-matches-f77a8c78.js.map +1 -0
  461. package/dist/cjs/{stencil-facet-show-more-less-04f33b99.js → stencil-facet-show-more-less-52a679a0.js} +6 -3
  462. package/dist/cjs/stencil-facet-show-more-less-52a679a0.js.map +1 -0
  463. package/dist/cjs/{stencil-facet-value-3354e4da.js → stencil-facet-value-ad8037c7.js} +8 -5
  464. package/dist/cjs/stencil-facet-value-ad8037c7.js.map +1 -0
  465. package/dist/cjs/{stencil-facet-value-box-e8b01b77.js → stencil-facet-value-box-8f6ae2b0.js} +5 -2
  466. package/dist/cjs/stencil-facet-value-box-8f6ae2b0.js.map +1 -0
  467. package/dist/cjs/{stencil-facet-value-checkbox-4800af7b.js → stencil-facet-value-checkbox-58bb59b9.js} +10 -5
  468. package/dist/cjs/stencil-facet-value-checkbox-58bb59b9.js.map +1 -0
  469. package/dist/cjs/{stencil-facet-value-label-highlight-c2421e8f.js → stencil-facet-value-label-highlight-16ea0e83.js} +4 -1
  470. package/dist/cjs/stencil-facet-value-label-highlight-16ea0e83.js.map +1 -0
  471. package/dist/cjs/{stencil-facet-value-link-98e3fe34.js → stencil-facet-value-link-e24cd431.js} +5 -2
  472. package/dist/cjs/stencil-facet-value-link-e24cd431.js.map +1 -0
  473. package/dist/cjs/{stencil-facet-values-group-07b50fc0.js → stencil-facet-values-group-332a2362.js} +5 -2
  474. package/dist/cjs/stencil-facet-values-group-332a2362.js.map +1 -0
  475. package/dist/cjs/{stencil-fieldset-group-3b25c138.js → stencil-fieldset-group-cc350109.js} +4 -1
  476. package/dist/cjs/stencil-fieldset-group-cc350109.js.map +1 -0
  477. package/dist/cjs/{stencil-heading-2faee1f7.js → stencil-heading-7e57d2eb.js} +2 -2
  478. package/dist/cjs/stencil-heading-7e57d2eb.js.map +1 -0
  479. package/dist/cjs/{stencil-iconButton-c8727a20.js → stencil-iconButton-12f18eff.js} +5 -2
  480. package/dist/cjs/stencil-iconButton-12f18eff.js.map +1 -0
  481. package/dist/cjs/{stencil-item-link-9feaef61.js → stencil-item-link-3f38d5be.js} +4 -1
  482. package/dist/cjs/stencil-item-link-3f38d5be.js.map +1 -0
  483. package/dist/cjs/{stencil-link-2e32315d.js → stencil-link-f9b71cbd.js} +26 -3
  484. package/dist/cjs/stencil-link-f9b71cbd.js.map +1 -0
  485. package/dist/cjs/{stencil-magnifying-glass-c1d386a1.js → stencil-magnifying-glass-e09449a3.js} +7 -1
  486. package/dist/cjs/stencil-magnifying-glass-e09449a3.js.map +1 -0
  487. package/dist/cjs/{stencil-modal-9a4a9927.js → stencil-modal-c8184bfa.js} +5 -2
  488. package/dist/cjs/stencil-modal-c8184bfa.js.map +1 -0
  489. package/dist/cjs/{stencil-radio-button-cbcc483e.js → stencil-radio-button-eb67a30a.js} +3 -3
  490. package/dist/cjs/stencil-radio-button-eb67a30a.js.map +1 -0
  491. package/dist/cjs/{stencil-rating-a40e50dd.js → stencil-rating-2b9b6345.js} +6 -3
  492. package/dist/cjs/stencil-rating-2b9b6345.js.map +1 -0
  493. package/dist/cjs/{stencil-suggestion-manager-3e1cf81e.js → stencil-suggestion-manager-62c42aa3.js} +12 -3
  494. package/dist/cjs/stencil-suggestion-manager-62c42aa3.js.map +1 -0
  495. package/dist/cjs/{stencil-tips-e913f891.js → stencil-tips-ecad2e9f.js} +10 -1
  496. package/dist/cjs/stencil-tips-ecad2e9f.js.map +1 -0
  497. package/dist/cjs/{stencil-values-container-e4b76048.js → stencil-values-container-0cf24782.js} +11 -5
  498. package/dist/cjs/stencil-values-container-0cf24782.js.map +1 -0
  499. package/dist/cjs/{timeframe-facet-common-82da2ca9.js → timeframe-facet-common-b08ffe64.js} +5 -5
  500. package/dist/cjs/{timeframe-facet-common-82da2ca9.js.map → timeframe-facet-common-b08ffe64.js.map} +1 -1
  501. package/dist/cjs/version.cjs.js +2 -2
  502. package/dist/esm/_index.js +35 -2
  503. package/dist/esm/_loader.js +1 -1
  504. package/dist/esm/atomic-automatic-facet_2.entry.js +8 -8
  505. package/dist/esm/atomic-breadbox.entry.js +19 -1
  506. package/dist/esm/atomic-breadbox.entry.js.map +1 -1
  507. package/dist/esm/atomic-category-facet.entry.js +54 -17
  508. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  509. package/dist/esm/atomic-citation.entry.js +2 -2
  510. package/dist/esm/atomic-color-facet.entry.js +12 -9
  511. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  512. package/dist/esm/atomic-did-you-mean.entry.js +12 -1
  513. package/dist/esm/atomic-did-you-mean.entry.js.map +1 -1
  514. package/dist/esm/atomic-facet-number-input.entry.js +1 -1
  515. package/dist/esm/atomic-facet.entry.js +20 -14
  516. package/dist/esm/atomic-facet.entry.js.map +1 -1
  517. package/dist/esm/atomic-folded-result-list.entry.js +3 -3
  518. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +4 -4
  519. package/dist/esm/atomic-generated-answer.entry.js +4 -4
  520. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  521. package/dist/esm/atomic-insight-edit-toggle.entry.js +2 -2
  522. package/dist/esm/atomic-insight-facet.entry.js +13 -13
  523. package/dist/esm/atomic-insight-folded-result-list.entry.js +3 -3
  524. package/dist/esm/atomic-insight-full-search-button.entry.js +2 -2
  525. package/dist/esm/atomic-insight-generated-answer.entry.js +4 -4
  526. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  527. package/dist/esm/atomic-insight-history-toggle.entry.js +2 -2
  528. package/dist/esm/atomic-insight-no-results.entry.js +2 -2
  529. package/dist/esm/atomic-insight-numeric-facet.entry.js +11 -11
  530. package/dist/esm/atomic-insight-pager.entry.js +7 -7
  531. package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
  532. package/dist/esm/atomic-insight-query-error.entry.js +2 -2
  533. package/dist/esm/atomic-insight-query-summary.entry.js +9 -0
  534. package/dist/esm/atomic-insight-query-summary.entry.js.map +1 -1
  535. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  536. package/dist/esm/atomic-insight-refine-toggle.entry.js +2 -2
  537. package/dist/esm/atomic-insight-result-action.entry.js +2 -2
  538. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -2
  539. package/dist/esm/atomic-insight-result-children.entry.js +3 -3
  540. package/dist/esm/atomic-insight-result-list.entry.js +3 -3
  541. package/dist/esm/atomic-insight-result-quickview-action.entry.js +2 -2
  542. package/dist/esm/atomic-insight-search-box.entry.js +43 -5
  543. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  544. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  545. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +3 -3
  546. package/dist/esm/atomic-insight-smart-snippet.entry.js +4 -4
  547. package/dist/esm/atomic-insight-tab.entry.js +1 -1
  548. package/dist/esm/atomic-insight-timeframe-facet.entry.js +8 -8
  549. package/dist/esm/atomic-insight-user-actions-modal.entry.js +1 -1
  550. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +5 -2
  551. package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
  552. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -2
  553. package/dist/esm/atomic-ipx-button.entry.js +1 -1
  554. package/dist/esm/atomic-ipx-recs-list.entry.js +6 -6
  555. package/dist/esm/atomic-ipx-refine-modal.entry.js +2 -2
  556. package/dist/esm/atomic-ipx-refine-toggle.entry.js +2 -2
  557. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  558. package/dist/esm/atomic-ipx-tab.entry.js +1 -1
  559. package/dist/esm/atomic-load-more-results.entry.js +14 -2
  560. package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
  561. package/dist/esm/atomic-no-results.entry.js +6 -3
  562. package/dist/esm/atomic-no-results.entry.js.map +1 -1
  563. package/dist/esm/atomic-notifications.entry.js +1 -1
  564. package/dist/esm/atomic-numeric-facet.entry.js +11 -11
  565. package/dist/esm/atomic-popover.entry.js +1 -1
  566. package/dist/esm/atomic-query-error.entry.js +2 -2
  567. package/dist/esm/atomic-quickview-modal.entry.js +8 -5
  568. package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
  569. package/dist/esm/atomic-quickview.entry.js +1 -1
  570. package/dist/esm/atomic-rating-facet.entry.js +9 -9
  571. package/dist/esm/atomic-rating-range-facet.entry.js +7 -7
  572. package/dist/esm/atomic-recs-error.entry.js +2 -2
  573. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  574. package/dist/esm/atomic-recs-list.entry.js +6 -6
  575. package/dist/esm/atomic-refine-modal.entry.js +14 -2
  576. package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
  577. package/dist/esm/atomic-refine-toggle.entry.js +7 -1
  578. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  579. package/dist/esm/atomic-result-children.entry.js +3 -3
  580. package/dist/esm/atomic-result-link.entry.js +1 -1
  581. package/dist/esm/atomic-result-list.entry.js +16 -4
  582. package/dist/esm/atomic-result-list.entry.js.map +1 -1
  583. package/dist/esm/atomic-result-printable-uri.entry.js +1 -1
  584. package/dist/esm/atomic-result-rating.entry.js +1 -1
  585. package/dist/esm/atomic-result-text_2.entry.js +6 -0
  586. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  587. package/dist/esm/atomic-search-box.entry.js +12 -5
  588. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  589. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +1 -1
  590. package/dist/esm/atomic-segmented-facet.entry.js +6 -3
  591. package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
  592. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +1 -1
  593. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +4 -4
  594. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +3 -3
  595. package/dist/esm/atomic-smart-snippet.entry.js +4 -4
  596. package/dist/esm/atomic-sort-dropdown.entry.js +15 -0
  597. package/dist/esm/atomic-sort-dropdown.entry.js.map +1 -1
  598. package/dist/esm/atomic-stencil-facet-date-input.entry.js +1 -1
  599. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  600. package/dist/esm/atomic-tab-button.entry.js +1 -1
  601. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  602. package/dist/esm/atomic-timeframe-facet.entry.js +8 -8
  603. package/dist/esm/atomic.js +1 -1
  604. package/dist/esm/{facet-guard-4b795e90.js → facet-guard-3bb4a306.js} +4 -1
  605. package/dist/esm/facet-guard-3bb4a306.js.map +1 -0
  606. package/dist/esm/{facet-placeholder-cf7007ee.js → facet-placeholder-5c76d381.js} +12 -3
  607. package/dist/esm/facet-placeholder-5c76d381.js.map +1 -0
  608. package/dist/esm/{generated-answer-common-7a072444.js → generated-answer-common-50a58790.js} +30 -3
  609. package/dist/esm/generated-answer-common-50a58790.js.map +1 -0
  610. package/dist/esm/index-3f35faca.js +0 -4
  611. package/dist/esm/index.js.map +1 -1
  612. package/dist/esm/{item-list-guard-22b0711a.js → item-list-guard-8cd62b09.js} +4 -1
  613. package/dist/esm/item-list-guard-8cd62b09.js.map +1 -0
  614. package/dist/esm/{item-template-provider-6e736120.js → item-template-provider-d9ddb19d.js} +7 -1
  615. package/dist/esm/item-template-provider-d9ddb19d.js.map +1 -0
  616. package/dist/esm/{show-hide-button-706d82d9.js → show-hide-button-4765764b.js} +15 -3
  617. package/dist/esm/show-hide-button-4765764b.js.map +1 -0
  618. package/dist/esm/{smart-snippet-common-01b7411b.js → smart-snippet-common-bf32e4ba.js} +19 -4
  619. package/dist/esm/smart-snippet-common-bf32e4ba.js.map +1 -0
  620. package/dist/esm/{smart-snippet-feedback-modal-common-50d66179.js → smart-snippet-feedback-modal-common-9d74c0b9.js} +23 -2
  621. package/dist/esm/smart-snippet-feedback-modal-common-9d74c0b9.js.map +1 -0
  622. package/dist/esm/{smart-snippet-suggestions-common-54b6498b.js → smart-snippet-suggestions-common-9375b247.js} +21 -3
  623. package/dist/esm/smart-snippet-suggestions-common-9375b247.js.map +1 -0
  624. package/dist/esm/{stencil-button-5f84efcc.js → stencil-button-49254c75.js} +2 -2
  625. package/dist/esm/{stencil-button-5f84efcc.js.map → stencil-button-49254c75.js.map} +1 -1
  626. package/dist/esm/{stencil-carousel-4264cd9b.js → stencil-carousel-5402db5e.js} +5 -2
  627. package/dist/esm/stencil-carousel-5402db5e.js.map +1 -0
  628. package/dist/esm/{stencil-checkbox-9d8fe5f6.js → stencil-checkbox-d165d303.js} +2 -2
  629. package/dist/esm/stencil-checkbox-d165d303.js.map +1 -0
  630. package/dist/esm/{stencil-display-grid-b9eb7397.js → stencil-display-grid-ebbdd169.js} +4 -1
  631. package/dist/esm/stencil-display-grid-ebbdd169.js.map +1 -0
  632. package/dist/esm/{stencil-display-wrapper-5b32e77c.js → stencil-display-wrapper-8cb4e48e.js} +7 -1
  633. package/dist/esm/stencil-display-wrapper-8cb4e48e.js.map +1 -0
  634. package/dist/esm/{stencil-facet-search-matches-7299e897.js → stencil-facet-search-matches-f36e9ae9.js} +9 -3
  635. package/dist/esm/stencil-facet-search-matches-f36e9ae9.js.map +1 -0
  636. package/dist/esm/{stencil-facet-show-more-less-202207c3.js → stencil-facet-show-more-less-557b4107.js} +6 -3
  637. package/dist/esm/stencil-facet-show-more-less-557b4107.js.map +1 -0
  638. package/dist/esm/{stencil-facet-value-8fd91a54.js → stencil-facet-value-665ca72b.js} +8 -5
  639. package/dist/esm/stencil-facet-value-665ca72b.js.map +1 -0
  640. package/dist/esm/{stencil-facet-value-box-85126921.js → stencil-facet-value-box-cd4a6aa8.js} +5 -2
  641. package/dist/esm/stencil-facet-value-box-cd4a6aa8.js.map +1 -0
  642. package/dist/esm/{stencil-facet-value-checkbox-228b572d.js → stencil-facet-value-checkbox-13802512.js} +10 -5
  643. package/dist/esm/stencil-facet-value-checkbox-13802512.js.map +1 -0
  644. package/dist/esm/{stencil-facet-value-label-highlight-b4083ffd.js → stencil-facet-value-label-highlight-f4518687.js} +4 -1
  645. package/dist/esm/stencil-facet-value-label-highlight-f4518687.js.map +1 -0
  646. package/dist/esm/{stencil-facet-value-link-41281838.js → stencil-facet-value-link-cf3f9c2d.js} +5 -2
  647. package/dist/esm/stencil-facet-value-link-cf3f9c2d.js.map +1 -0
  648. package/dist/esm/{stencil-facet-values-group-1108573d.js → stencil-facet-values-group-fefc8abb.js} +5 -2
  649. package/dist/esm/stencil-facet-values-group-fefc8abb.js.map +1 -0
  650. package/dist/esm/{stencil-fieldset-group-5fa357cd.js → stencil-fieldset-group-e02988dc.js} +4 -1
  651. package/dist/esm/stencil-fieldset-group-e02988dc.js.map +1 -0
  652. package/dist/esm/{stencil-heading-2b28a9b9.js → stencil-heading-c701a05a.js} +2 -2
  653. package/dist/esm/stencil-heading-c701a05a.js.map +1 -0
  654. package/dist/esm/{stencil-iconButton-ff8c8cf7.js → stencil-iconButton-65d8387c.js} +5 -2
  655. package/dist/esm/stencil-iconButton-65d8387c.js.map +1 -0
  656. package/dist/esm/{stencil-item-link-5a3f8f23.js → stencil-item-link-0183987b.js} +4 -1
  657. package/dist/esm/stencil-item-link-0183987b.js.map +1 -0
  658. package/dist/esm/{stencil-link-feb82bc0.js → stencil-link-982cba05.js} +26 -3
  659. package/dist/esm/stencil-link-982cba05.js.map +1 -0
  660. package/dist/esm/{stencil-magnifying-glass-041294b6.js → stencil-magnifying-glass-f6e9c08b.js} +7 -1
  661. package/dist/esm/stencil-magnifying-glass-f6e9c08b.js.map +1 -0
  662. package/dist/esm/{stencil-modal-ec1562dc.js → stencil-modal-99e93edd.js} +5 -2
  663. package/dist/esm/stencil-modal-99e93edd.js.map +1 -0
  664. package/dist/esm/{stencil-radio-button-4b36e45d.js → stencil-radio-button-8d40e86f.js} +3 -3
  665. package/dist/esm/stencil-radio-button-8d40e86f.js.map +1 -0
  666. package/dist/esm/{stencil-rating-2d6963a3.js → stencil-rating-8e6bcc27.js} +6 -3
  667. package/dist/esm/stencil-rating-8e6bcc27.js.map +1 -0
  668. package/dist/esm/{stencil-suggestion-manager-95694bcb.js → stencil-suggestion-manager-3d2eea75.js} +12 -3
  669. package/dist/esm/stencil-suggestion-manager-3d2eea75.js.map +1 -0
  670. package/dist/esm/{stencil-tips-be95482d.js → stencil-tips-3b4426a3.js} +10 -1
  671. package/dist/esm/stencil-tips-3b4426a3.js.map +1 -0
  672. package/dist/esm/{stencil-values-container-369adc52.js → stencil-values-container-53c1232c.js} +11 -5
  673. package/dist/esm/stencil-values-container-53c1232c.js.map +1 -0
  674. package/dist/esm/{timeframe-facet-common-b97e786a.js → timeframe-facet-common-33642d0d.js} +5 -5
  675. package/dist/esm/{timeframe-facet-common-b97e786a.js.map → timeframe-facet-common-33642d0d.js.map} +1 -1
  676. package/dist/esm/version.js +2 -2
  677. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +1 -0
  678. package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +1 -0
  679. package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +1 -0
  680. package/dist/types/components/common/atomic-rating/stencil-rating.d.ts +5 -2
  681. package/dist/types/components/common/atomic-result-placeholder/stencil-placeholders.d.ts +6 -0
  682. package/dist/types/components/common/breadbox/breadcrumb-button.d.ts +2 -0
  683. package/dist/types/components/common/breadbox/stencil-breadcrumb-button.d.ts +5 -1
  684. package/dist/types/components/common/breadbox/stencil-breadcrumb-clear-all.d.ts +5 -1
  685. package/dist/types/components/common/breadbox/stencil-breadcrumb-container.d.ts +5 -1
  686. package/dist/types/components/common/breadbox/stencil-breadcrumb-content.d.ts +5 -1
  687. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-less.d.ts +5 -1
  688. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-more.d.ts +5 -1
  689. package/dist/types/components/common/facets/category-facet/all-categories-button.d.ts +2 -0
  690. package/dist/types/components/common/facets/category-facet/all-categories-localized-label.d.ts +6 -0
  691. package/dist/types/components/common/facets/category-facet/search-value.d.ts +1 -0
  692. package/dist/types/components/common/facets/category-facet/stencil-all-categories-button.d.ts +2 -0
  693. package/dist/types/components/common/facets/category-facet/stencil-child-value-link.d.ts +3 -0
  694. package/dist/types/components/common/facets/category-facet/stencil-children-as-tree-container.d.ts +3 -0
  695. package/dist/types/components/common/facets/category-facet/stencil-parent-as-tree-container.d.ts +5 -1
  696. package/dist/types/components/common/facets/category-facet/stencil-parent-button.d.ts +3 -0
  697. package/dist/types/components/common/facets/category-facet/stencil-parent-value-link.d.ts +3 -0
  698. package/dist/types/components/common/facets/category-facet/stencil-search-results-container.d.ts +3 -0
  699. package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +4 -0
  700. package/dist/types/components/common/facets/category-facet/stencil-value-as-tree-container.d.ts +3 -0
  701. package/dist/types/components/common/facets/category-facet/stencil-value-link.d.ts +6 -0
  702. package/dist/types/components/common/facets/facet-container/stencil-facet-container.d.ts +3 -0
  703. package/dist/types/components/common/facets/facet-guard.d.ts +3 -0
  704. package/dist/types/components/common/facets/facet-header/stencil-facet-header.d.ts +5 -1
  705. package/dist/types/components/common/facets/facet-placeholder/facet-placeholder.d.ts +5 -1
  706. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input-guard.d.ts +3 -0
  707. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input.d.ts +3 -0
  708. package/dist/types/components/common/facets/facet-search/stencil-facet-search-matches.d.ts +3 -0
  709. package/dist/types/components/common/facets/facet-search/stencil-facet-search-value.d.ts +3 -0
  710. package/dist/types/components/common/facets/facet-show-more-less/stencil-facet-show-more-less.d.ts +3 -0
  711. package/dist/types/components/common/facets/facet-value/stencil-facet-value.d.ts +6 -0
  712. package/dist/types/components/common/facets/facet-value-box/stencil-facet-value-box.d.ts +3 -0
  713. package/dist/types/components/common/facets/facet-value-checkbox/stencil-facet-value-checkbox.d.ts +3 -0
  714. package/dist/types/components/common/facets/facet-value-exclude/stencil-facet-value-exclude.d.ts +5 -1
  715. package/dist/types/components/common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight.d.ts +3 -0
  716. package/dist/types/components/common/facets/facet-value-link/stencil-facet-value-link.d.ts +5 -1
  717. package/dist/types/components/common/facets/facet-values-group/stencil-facet-values-group.d.ts +5 -1
  718. package/dist/types/components/common/facets/numeric-facet/stencil-value-link.d.ts +3 -0
  719. package/dist/types/components/common/facets/numeric-facet/stencil-values-container.d.ts +3 -0
  720. package/dist/types/components/common/generated-answer/copy-button.d.ts +3 -0
  721. package/dist/types/components/common/generated-answer/feedback-button.d.ts +3 -0
  722. package/dist/types/components/common/generated-answer/generated-content/generated-markdown-content.d.ts +3 -0
  723. package/dist/types/components/common/generated-answer/generated-content/generated-text-content.d.ts +3 -0
  724. package/dist/types/components/common/generated-answer/generated-content-container.d.ts +3 -0
  725. package/dist/types/components/common/generated-answer/retry-prompt.d.ts +3 -0
  726. package/dist/types/components/common/generated-answer/show-button.d.ts +3 -0
  727. package/dist/types/components/common/generated-answer/source-citations.d.ts +3 -0
  728. package/dist/types/components/common/item-link/stencil-item-link.d.ts +4 -1
  729. package/dist/types/components/common/item-list/item-display-guard.d.ts +5 -1
  730. package/dist/types/components/common/item-list/item-list-guard.d.ts +5 -1
  731. package/dist/types/components/common/item-list/stencil-display-grid.d.ts +5 -1
  732. package/dist/types/components/common/item-list/stencil-display-table.d.ts +12 -3
  733. package/dist/types/components/common/item-list/stencil-display-wrapper.d.ts +5 -1
  734. package/dist/types/components/common/item-text/stencil-item-text-fallback.d.ts +5 -1
  735. package/dist/types/components/common/item-text/stencil-item-text-highlighted.d.ts +5 -1
  736. package/dist/types/components/common/load-more/guard.d.ts +5 -1
  737. package/dist/types/components/common/load-more/stencil-button.d.ts +1 -4
  738. package/dist/types/components/common/load-more/stencil-container.d.ts +3 -0
  739. package/dist/types/components/common/load-more/stencil-progress-bar.d.ts +3 -0
  740. package/dist/types/components/common/load-more/stencil-summary.d.ts +3 -0
  741. package/dist/types/components/common/no-items/cancel.d.ts +3 -0
  742. package/dist/types/components/common/no-items/stencil-container.d.ts +3 -0
  743. package/dist/types/components/common/no-items/stencil-guard.d.ts +3 -0
  744. package/dist/types/components/common/no-items/stencil-magnifying-glass.d.ts +3 -0
  745. package/dist/types/components/common/no-items/stencil-no-items.d.ts +3 -0
  746. package/dist/types/components/common/no-items/stencil-tips.d.ts +3 -0
  747. package/dist/types/components/common/pager/stencil-pager-buttons.d.ts +8 -16
  748. package/dist/types/components/common/pager/stencil-pager-navigation.d.ts +3 -5
  749. package/dist/types/components/common/query-correction/stencil-auto-correction.d.ts +3 -0
  750. package/dist/types/components/common/query-correction/stencil-correction.d.ts +3 -0
  751. package/dist/types/components/common/query-correction/stencil-guard.d.ts +3 -0
  752. package/dist/types/components/common/query-correction/stencil-trigger-correction.d.ts +3 -0
  753. package/dist/types/components/common/query-error/stencil-container.d.ts +3 -0
  754. package/dist/types/components/common/query-error/stencil-description.d.ts +3 -0
  755. package/dist/types/components/common/query-error/stencil-details.d.ts +3 -0
  756. package/dist/types/components/common/query-error/stencil-guard.d.ts +3 -0
  757. package/dist/types/components/common/query-error/stencil-icon.d.ts +3 -0
  758. package/dist/types/components/common/query-error/stencil-link.d.ts +3 -0
  759. package/dist/types/components/common/query-error/stencil-show-more.d.ts +3 -0
  760. package/dist/types/components/common/query-error/stencil-title.d.ts +3 -0
  761. package/dist/types/components/common/query-summary/stencil-container.d.ts +3 -0
  762. package/dist/types/components/common/query-summary/stencil-guard.d.ts +3 -0
  763. package/dist/types/components/common/query-summary/stencil-utils.d.ts +3 -10
  764. package/dist/types/components/common/refine-modal/stencil-body.d.ts +3 -0
  765. package/dist/types/components/common/refine-modal/stencil-button.d.ts +3 -0
  766. package/dist/types/components/common/refine-modal/stencil-filters.d.ts +6 -0
  767. package/dist/types/components/common/refine-modal/stencil-guard.d.ts +3 -0
  768. package/dist/types/components/common/refine-modal/stencil-modal.d.ts +3 -0
  769. package/dist/types/components/common/refine-modal/stencil-sort.d.ts +3 -0
  770. package/dist/types/components/common/result-children/children-wrapper.d.ts +3 -0
  771. package/dist/types/components/common/result-children/collection-guard.d.ts +3 -0
  772. package/dist/types/components/common/result-children/guard.d.ts +3 -0
  773. package/dist/types/components/common/result-children/show-hide-button.d.ts +3 -0
  774. package/dist/types/components/common/search-box/stencil-search-box-wrapper.d.ts +3 -0
  775. package/dist/types/components/common/search-box/stencil-search-text-area.d.ts +3 -0
  776. package/dist/types/components/common/search-box/stencil-submit-button.d.ts +3 -0
  777. package/dist/types/components/common/search-box/stencil-text-area-clear-button.d.ts +3 -0
  778. package/dist/types/components/common/smart-snippets/atomic-smart-snippet/smart-snippet-common.d.ts +16 -6
  779. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-banner.d.ts +3 -0
  780. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-modal/smart-snippet-feedback-modal-common.d.ts +21 -0
  781. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-suggestions/smart-snippet-suggestions-common.d.ts +18 -0
  782. package/dist/types/components/common/sort/container.d.ts +3 -0
  783. package/dist/types/components/common/sort/stencil-guard.d.ts +3 -0
  784. package/dist/types/components/common/sort/stencil-label.d.ts +3 -0
  785. package/dist/types/components/common/sort/stencil-option.d.ts +5 -1
  786. package/dist/types/components/common/sort/stencil-select.d.ts +3 -0
  787. package/dist/types/components/common/stencil-button.d.ts +2 -2
  788. package/dist/types/components/common/stencil-carousel.d.ts +5 -1
  789. package/dist/types/components/common/stencil-checkbox.d.ts +2 -2
  790. package/dist/types/components/common/stencil-fieldset-group.d.ts +5 -1
  791. package/dist/types/components/common/stencil-heading.d.ts +1 -1
  792. package/dist/types/components/common/stencil-iconButton.d.ts +5 -1
  793. package/dist/types/components/common/stencil-radio-button.d.ts +2 -2
  794. package/dist/types/components/common/stencil-triStateCheckbox.d.ts +3 -3
  795. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +9 -0
  796. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +12 -0
  797. package/dist/types/components/common/switch.d.ts +5 -1
  798. package/dist/types/components/common/tabs/tab-guard.d.ts +3 -0
  799. package/dist/types/components/insight/user-actions/atomic-insight-user-actions-session/user-action.d.ts +3 -0
  800. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +1 -0
  801. package/dist/types/components/search/{search-box-suggestions/atomic-search-box-query-suggestions → atomic-search-box-query-suggestions}/atomic-search-box-query-suggestions.d.ts +15 -6
  802. package/dist/types/components/search/facets/color-facet-checkbox/color-facet-checkbox.d.ts +3 -0
  803. package/dist/types/components/search/facets/facet-segmented-value/facet-segmented-value.d.ts +3 -0
  804. package/dist/types/components/search/index.d.ts +1 -0
  805. package/dist/types/components/search/result-template-components/atomic-quickview-sidebar/atomic-quickview-sidebar.d.ts +2 -1
  806. package/dist/types/components/search/result-template-components/quickview-iframe/quickview-iframe.d.ts +3 -0
  807. package/dist/types/components.d.ts +0 -49
  808. package/dist/types/directives/hierarchical-path.d.ts +1 -1
  809. package/docs/atomic-docs.json +3 -102
  810. package/package.json +3 -3
  811. package/dist/atomic/components/atomic-search-box-query-suggestions.d.ts +0 -11
  812. package/dist/atomic/components/atomic-search-box-query-suggestions.js +0 -8
  813. package/dist/atomic/components/atomic-search-box-query-suggestions.js.map +0 -1
  814. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +0 -124
  815. package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +0 -1
  816. package/dist/atomic/components/stencil-query-suggestions.js +0 -33
  817. package/dist/atomic/components/stencil-query-suggestions.js.map +0 -1
  818. package/dist/atomic/p-0ab0ceaa.js.map +0 -1
  819. package/dist/atomic/p-0e6f1e14.js.map +0 -1
  820. package/dist/atomic/p-0fb39501.js +0 -2
  821. package/dist/atomic/p-0fb39501.js.map +0 -1
  822. package/dist/atomic/p-134b7370.js.map +0 -1
  823. package/dist/atomic/p-15580d9e.js.map +0 -1
  824. package/dist/atomic/p-187193bb.js.map +0 -1
  825. package/dist/atomic/p-1f059522.js.map +0 -1
  826. package/dist/atomic/p-20fc8a6c.js +0 -2
  827. package/dist/atomic/p-25660266.js.map +0 -1
  828. package/dist/atomic/p-2a02812b.js +0 -2
  829. package/dist/atomic/p-2a02812b.js.map +0 -1
  830. package/dist/atomic/p-2e78d642.entry.js.map +0 -1
  831. package/dist/atomic/p-307e7fd5.js.map +0 -1
  832. package/dist/atomic/p-340130de.js.map +0 -1
  833. package/dist/atomic/p-3f0e7549.js.map +0 -1
  834. package/dist/atomic/p-42937d04.entry.js.map +0 -1
  835. package/dist/atomic/p-4b1dc787.js.map +0 -1
  836. package/dist/atomic/p-4b7a19db.js +0 -2
  837. package/dist/atomic/p-4b7a19db.js.map +0 -1
  838. package/dist/atomic/p-4bf14d26.js.map +0 -1
  839. package/dist/atomic/p-4e25638d.entry.js.map +0 -1
  840. package/dist/atomic/p-4ecabf56.js.map +0 -1
  841. package/dist/atomic/p-5346f77d.entry.js.map +0 -1
  842. package/dist/atomic/p-5a417451.entry.js.map +0 -1
  843. package/dist/atomic/p-66d48d1a.js.map +0 -1
  844. package/dist/atomic/p-68013132.js +0 -2
  845. package/dist/atomic/p-68013132.js.map +0 -1
  846. package/dist/atomic/p-76cf6545.js.map +0 -1
  847. package/dist/atomic/p-7b0e3ff4.entry.js.map +0 -1
  848. package/dist/atomic/p-7c5d4924.entry.js +0 -2
  849. package/dist/atomic/p-7c5d4924.entry.js.map +0 -1
  850. package/dist/atomic/p-7cb0050f.js.map +0 -1
  851. package/dist/atomic/p-7da7b187.js.map +0 -1
  852. package/dist/atomic/p-7e588beb.entry.js.map +0 -1
  853. package/dist/atomic/p-8be21e4a.js.map +0 -1
  854. package/dist/atomic/p-97479dde.entry.js.map +0 -1
  855. package/dist/atomic/p-9dcd5606.js.map +0 -1
  856. package/dist/atomic/p-a5bac939.js.map +0 -1
  857. package/dist/atomic/p-a9e250f8.js.map +0 -1
  858. package/dist/atomic/p-af93b44c.js +0 -2
  859. package/dist/atomic/p-af93b44c.js.map +0 -1
  860. package/dist/atomic/p-bd2703e9.js.map +0 -1
  861. package/dist/atomic/p-bd565f91.entry.js.map +0 -1
  862. package/dist/atomic/p-be5d3c54.js.map +0 -1
  863. package/dist/atomic/p-beb2ad8e.js.map +0 -1
  864. package/dist/atomic/p-ca0e9cd6.js.map +0 -1
  865. package/dist/atomic/p-ceeb9f1f.entry.js.map +0 -1
  866. package/dist/atomic/p-d0584482.entry.js.map +0 -1
  867. package/dist/atomic/p-d365883e.js.map +0 -1
  868. package/dist/atomic/p-d4303474.entry.js.map +0 -1
  869. package/dist/atomic/p-d4cbd9b1.js.map +0 -1
  870. package/dist/atomic/p-d9241b90.entry.js.map +0 -1
  871. package/dist/atomic/p-e58679b8.entry.js +0 -2
  872. package/dist/atomic/p-e58679b8.entry.js.map +0 -1
  873. package/dist/atomic/p-e988f378.js.map +0 -1
  874. package/dist/atomic/p-f917dce9.entry.js.map +0 -1
  875. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +0 -76
  876. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js.map +0 -1
  877. package/dist/cjs/facet-guard-328b588d.js.map +0 -1
  878. package/dist/cjs/facet-placeholder-21821057.js.map +0 -1
  879. package/dist/cjs/generated-answer-common-4410c9e0.js.map +0 -1
  880. package/dist/cjs/item-list-guard-506b695a.js.map +0 -1
  881. package/dist/cjs/item-template-provider-e82736d7.js.map +0 -1
  882. package/dist/cjs/show-hide-button-2a630d6f.js.map +0 -1
  883. package/dist/cjs/smart-snippet-common-524d635f.js.map +0 -1
  884. package/dist/cjs/smart-snippet-feedback-modal-common-3b7e3c7e.js.map +0 -1
  885. package/dist/cjs/smart-snippet-suggestions-common-a6fb3bfd.js.map +0 -1
  886. package/dist/cjs/stencil-carousel-254b4ea7.js.map +0 -1
  887. package/dist/cjs/stencil-checkbox-81c51bbd.js.map +0 -1
  888. package/dist/cjs/stencil-display-grid-93c5802a.js.map +0 -1
  889. package/dist/cjs/stencil-display-wrapper-498de571.js.map +0 -1
  890. package/dist/cjs/stencil-facet-search-matches-9e841241.js.map +0 -1
  891. package/dist/cjs/stencil-facet-show-more-less-04f33b99.js.map +0 -1
  892. package/dist/cjs/stencil-facet-value-3354e4da.js.map +0 -1
  893. package/dist/cjs/stencil-facet-value-box-e8b01b77.js.map +0 -1
  894. package/dist/cjs/stencil-facet-value-checkbox-4800af7b.js.map +0 -1
  895. package/dist/cjs/stencil-facet-value-label-highlight-c2421e8f.js.map +0 -1
  896. package/dist/cjs/stencil-facet-value-link-98e3fe34.js.map +0 -1
  897. package/dist/cjs/stencil-facet-values-group-07b50fc0.js.map +0 -1
  898. package/dist/cjs/stencil-fieldset-group-3b25c138.js.map +0 -1
  899. package/dist/cjs/stencil-heading-2faee1f7.js.map +0 -1
  900. package/dist/cjs/stencil-iconButton-c8727a20.js.map +0 -1
  901. package/dist/cjs/stencil-item-link-9feaef61.js.map +0 -1
  902. package/dist/cjs/stencil-link-2e32315d.js.map +0 -1
  903. package/dist/cjs/stencil-magnifying-glass-c1d386a1.js.map +0 -1
  904. package/dist/cjs/stencil-modal-9a4a9927.js.map +0 -1
  905. package/dist/cjs/stencil-query-suggestions-03268ecc.js +0 -38
  906. package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +0 -1
  907. package/dist/cjs/stencil-radio-button-cbcc483e.js.map +0 -1
  908. package/dist/cjs/stencil-rating-a40e50dd.js.map +0 -1
  909. package/dist/cjs/stencil-suggestion-manager-3e1cf81e.js.map +0 -1
  910. package/dist/cjs/stencil-tips-e913f891.js.map +0 -1
  911. package/dist/cjs/stencil-values-container-e4b76048.js.map +0 -1
  912. package/dist/cjs/suggestions-events-63dd0640.js +0 -42
  913. package/dist/cjs/suggestions-events-63dd0640.js.map +0 -1
  914. package/dist/esm/atomic-search-box-query-suggestions.entry.js +0 -72
  915. package/dist/esm/atomic-search-box-query-suggestions.entry.js.map +0 -1
  916. package/dist/esm/facet-guard-4b795e90.js.map +0 -1
  917. package/dist/esm/facet-placeholder-cf7007ee.js.map +0 -1
  918. package/dist/esm/generated-answer-common-7a072444.js.map +0 -1
  919. package/dist/esm/item-list-guard-22b0711a.js.map +0 -1
  920. package/dist/esm/item-template-provider-6e736120.js.map +0 -1
  921. package/dist/esm/show-hide-button-706d82d9.js.map +0 -1
  922. package/dist/esm/smart-snippet-common-01b7411b.js.map +0 -1
  923. package/dist/esm/smart-snippet-feedback-modal-common-50d66179.js.map +0 -1
  924. package/dist/esm/smart-snippet-suggestions-common-54b6498b.js.map +0 -1
  925. package/dist/esm/stencil-carousel-4264cd9b.js.map +0 -1
  926. package/dist/esm/stencil-checkbox-9d8fe5f6.js.map +0 -1
  927. package/dist/esm/stencil-display-grid-b9eb7397.js.map +0 -1
  928. package/dist/esm/stencil-display-wrapper-5b32e77c.js.map +0 -1
  929. package/dist/esm/stencil-facet-search-matches-7299e897.js.map +0 -1
  930. package/dist/esm/stencil-facet-show-more-less-202207c3.js.map +0 -1
  931. package/dist/esm/stencil-facet-value-8fd91a54.js.map +0 -1
  932. package/dist/esm/stencil-facet-value-box-85126921.js.map +0 -1
  933. package/dist/esm/stencil-facet-value-checkbox-228b572d.js.map +0 -1
  934. package/dist/esm/stencil-facet-value-label-highlight-b4083ffd.js.map +0 -1
  935. package/dist/esm/stencil-facet-value-link-41281838.js.map +0 -1
  936. package/dist/esm/stencil-facet-values-group-1108573d.js.map +0 -1
  937. package/dist/esm/stencil-fieldset-group-5fa357cd.js.map +0 -1
  938. package/dist/esm/stencil-heading-2b28a9b9.js.map +0 -1
  939. package/dist/esm/stencil-iconButton-ff8c8cf7.js.map +0 -1
  940. package/dist/esm/stencil-item-link-5a3f8f23.js.map +0 -1
  941. package/dist/esm/stencil-link-feb82bc0.js.map +0 -1
  942. package/dist/esm/stencil-magnifying-glass-041294b6.js.map +0 -1
  943. package/dist/esm/stencil-modal-ec1562dc.js.map +0 -1
  944. package/dist/esm/stencil-query-suggestions-5d6a46d7.js +0 -33
  945. package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +0 -1
  946. package/dist/esm/stencil-radio-button-4b36e45d.js.map +0 -1
  947. package/dist/esm/stencil-rating-2d6963a3.js.map +0 -1
  948. package/dist/esm/stencil-suggestion-manager-95694bcb.js.map +0 -1
  949. package/dist/esm/stencil-tips-be95482d.js.map +0 -1
  950. package/dist/esm/stencil-values-container-369adc52.js.map +0 -1
  951. package/dist/esm/suggestions-events-b7a6f007.js +0 -40
  952. package/dist/esm/suggestions-events-b7a6f007.js.map +0 -1
  953. package/dist/types/components/common/expandable-text/stencil-expandable-text.d.ts +0 -13
  954. package/dist/types/components/common/generated-answer/typing-loader.d.ts +0 -2
  955. package/dist/types/components/common/image-carousel/stencil-image-carousel-indicators.d.ts +0 -12
  956. package/dist/types/components/common/image-carousel/stencil-image-carousel.d.ts +0 -15
  957. package/dist/types/components/common/items-per-page/stencil-choices.d.ts +0 -14
  958. package/dist/types/components/common/items-per-page/stencil-label.d.ts +0 -2
  959. package/dist/types/components/common/pager/stencil-pager-guard.d.ts +0 -13
  960. package/dist/types/components/common/suggestions/stencil-recent-queries.d.ts +0 -20
  961. /package/dist/atomic/{p-d2107c93.entry.js.map → p-0035e3da.entry.js.map} +0 -0
  962. /package/dist/atomic/{p-e7eea1ef.entry.js.map → p-01eda62a.entry.js.map} +0 -0
  963. /package/dist/atomic/{p-94b0fca4.entry.js.map → p-02f2ac0b.entry.js.map} +0 -0
  964. /package/dist/atomic/{p-b211da6c.entry.js.map → p-066df32a.entry.js.map} +0 -0
  965. /package/dist/atomic/{p-d618c229.entry.js.map → p-104d7a84.entry.js.map} +0 -0
  966. /package/dist/atomic/{p-8f69b018.entry.js.map → p-25ee4bab.entry.js.map} +0 -0
  967. /package/dist/atomic/{p-583faf68.entry.js.map → p-27746cac.entry.js.map} +0 -0
  968. /package/dist/atomic/{p-bacb06d7.entry.js.map → p-2eac7c46.entry.js.map} +0 -0
  969. /package/dist/atomic/{p-ab2f6794.entry.js.map → p-3282ccf8.entry.js.map} +0 -0
  970. /package/dist/atomic/{p-4027e529.entry.js.map → p-37182242.entry.js.map} +0 -0
  971. /package/dist/atomic/{p-0947a95f.entry.js.map → p-3becda0c.entry.js.map} +0 -0
  972. /package/dist/atomic/{p-173deaca.entry.js.map → p-4206b797.entry.js.map} +0 -0
  973. /package/dist/atomic/{p-28f4600a.entry.js.map → p-458697db.entry.js.map} +0 -0
  974. /package/dist/atomic/{p-a3d55993.entry.js.map → p-4778132c.entry.js.map} +0 -0
  975. /package/dist/atomic/{p-7b9e5e58.entry.js.map → p-4bc0dc09.entry.js.map} +0 -0
  976. /package/dist/atomic/{p-64da3471.entry.js.map → p-582ce205.entry.js.map} +0 -0
  977. /package/dist/atomic/{p-475df84c.entry.js.map → p-5d36515f.entry.js.map} +0 -0
  978. /package/dist/atomic/{p-ddf72215.entry.js.map → p-5dbe3b4c.entry.js.map} +0 -0
  979. /package/dist/atomic/{p-1365c7d0.js.map → p-5e5599f3.js.map} +0 -0
  980. /package/dist/atomic/{p-891cb944.entry.js.map → p-5eaee0be.entry.js.map} +0 -0
  981. /package/dist/atomic/{p-a9aadc3d.entry.js.map → p-6489c611.entry.js.map} +0 -0
  982. /package/dist/atomic/{p-e0ba043d.entry.js.map → p-66beb63a.entry.js.map} +0 -0
  983. /package/dist/atomic/{p-01096d1c.entry.js.map → p-67f62282.entry.js.map} +0 -0
  984. /package/dist/atomic/{p-0acbc1aa.entry.js.map → p-6ca16a70.entry.js.map} +0 -0
  985. /package/dist/atomic/{p-4310d46f.entry.js.map → p-6da5e67e.entry.js.map} +0 -0
  986. /package/dist/atomic/{p-30ea57e8.entry.js.map → p-6f93d6d6.entry.js.map} +0 -0
  987. /package/dist/atomic/{p-39de1cef.entry.js.map → p-81b00c43.entry.js.map} +0 -0
  988. /package/dist/atomic/{p-1ebea045.entry.js.map → p-84ac45b4.entry.js.map} +0 -0
  989. /package/dist/atomic/{p-57ed25c9.entry.js.map → p-875eb57b.entry.js.map} +0 -0
  990. /package/dist/atomic/{p-b1c34434.entry.js.map → p-8d63a0c4.entry.js.map} +0 -0
  991. /package/dist/atomic/{p-95cff664.entry.js.map → p-9389337e.entry.js.map} +0 -0
  992. /package/dist/atomic/{p-bcc202ff.entry.js.map → p-9392b7da.entry.js.map} +0 -0
  993. /package/dist/atomic/{p-318c96f5.entry.js.map → p-9519e656.entry.js.map} +0 -0
  994. /package/dist/atomic/{p-aa69a7f4.entry.js.map → p-98790c52.entry.js.map} +0 -0
  995. /package/dist/atomic/{p-c2acd146.entry.js.map → p-98c7ae7f.entry.js.map} +0 -0
  996. /package/dist/atomic/{p-a94386b5.entry.js.map → p-9f01593d.entry.js.map} +0 -0
  997. /package/dist/atomic/{p-49ac2124.entry.js.map → p-a48ae7ab.entry.js.map} +0 -0
  998. /package/dist/atomic/{p-fa9d8ab7.entry.js.map → p-ab3da44d.entry.js.map} +0 -0
  999. /package/dist/atomic/{p-f964e30a.entry.js.map → p-acd72087.entry.js.map} +0 -0
  1000. /package/dist/atomic/{p-cbc634fa.entry.js.map → p-ae071697.entry.js.map} +0 -0
  1001. /package/dist/atomic/{p-4ba12e99.entry.js.map → p-b93c93f7.entry.js.map} +0 -0
  1002. /package/dist/atomic/{p-cacb7fd8.entry.js.map → p-c402cc93.entry.js.map} +0 -0
  1003. /package/dist/atomic/{p-8998da31.entry.js.map → p-c82dd1aa.entry.js.map} +0 -0
  1004. /package/dist/atomic/{p-9411ab14.entry.js.map → p-cd047d6d.entry.js.map} +0 -0
  1005. /package/dist/atomic/{p-df84c005.entry.js.map → p-ceca3fb8.entry.js.map} +0 -0
  1006. /package/dist/atomic/{p-4e6dcdcf.entry.js.map → p-cf0a69e5.entry.js.map} +0 -0
  1007. /package/dist/atomic/{p-1717e9cf.entry.js.map → p-d0937472.entry.js.map} +0 -0
  1008. /package/dist/atomic/{p-1ceca322.entry.js.map → p-d3d0ac7c.entry.js.map} +0 -0
  1009. /package/dist/atomic/{p-bd50cd51.entry.js.map → p-d6bc0fb4.entry.js.map} +0 -0
  1010. /package/dist/atomic/{p-8c87d746.entry.js.map → p-da9b6e5c.entry.js.map} +0 -0
  1011. /package/dist/atomic/{p-f02d1e6e.entry.js.map → p-e0d103ba.entry.js.map} +0 -0
  1012. /package/dist/atomic/{p-30e24f95.entry.js.map → p-e62caa78.entry.js.map} +0 -0
  1013. /package/dist/atomic/{p-bdad3117.entry.js.map → p-f04c86b4.entry.js.map} +0 -0
  1014. /package/dist/atomic/{p-9ec21c88.entry.js.map → p-f0e60a0c.entry.js.map} +0 -0
  1015. /package/dist/atomic/{p-6ddd05c2.entry.js.map → p-f12325cc.entry.js.map} +0 -0
  1016. /package/dist/atomic/{p-8a30d1e9.entry.js.map → p-f44e1bd3.entry.js.map} +0 -0
  1017. /package/dist/atomic/{p-3957401e.entry.js.map → p-fa83768b.entry.js.map} +0 -0
  1018. /package/dist/atomic/{p-9feb951f.entry.js.map → p-fd7a8926.entry.js.map} +0 -0
@@ -1,124 +0,0 @@
1
- import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import { loadQuerySuggestActions } from '@coveo/headless';
3
- import { S as SearchIcon } from './search.js';
4
- import { g as getPartialSearchBoxSuggestionElement, Q as QuerySuggestionContainer, a as QuerySuggestionIcon, b as QuerySuggestionText } from './stencil-query-suggestions.js';
5
- import { c as closest } from './dom-utils.js';
6
- import { b as buildCustomEvent } from './event-utils.js';
7
-
8
- /**
9
- * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.
10
- *
11
- * @param event Event sent from the registered query suggestions to the parent search box
12
- * @param element Element on which to dispatch the event, which must be the child of a configured search box
13
- * @param allowedSearchBoxElements Optional array of allowed search box element selectors
14
- *
15
- * @throws Error if the element is not a child of an allowed search box element
16
- */
17
- const dispatchSearchBoxSuggestionsEvent = (event, element, allowedSearchBoxElements = searchBoxElements) => {
18
- const interfaceElement = closest(element, searchBoxElements.join(', '));
19
- if (!interfaceElement) {
20
- throw new Error(`The "${element.nodeName.toLowerCase()}" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(', ')}`);
21
- }
22
- void dispatchSearchBoxSuggestionsEventEventually(interfaceElement, element, event);
23
- };
24
- const searchBoxElements = [
25
- 'atomic-search-box',
26
- 'atomic-insight-search-box',
27
- 'atomic-commerce-search-box',
28
- ];
29
- const isLitElementLoosely = (candidate) => 'updateComplete' in candidate &&
30
- candidate.updateComplete instanceof Promise;
31
- const dispatchSearchBoxSuggestionsEventEventually = async (interfaceElement, element, event) => {
32
- await customElements.whenDefined(interfaceElement.nodeName.toLowerCase());
33
- if (isLitElementLoosely(interfaceElement)) {
34
- await interfaceElement.updateComplete;
35
- }
36
- else if ('componentOnReady' in interfaceElement) {
37
- await interfaceElement.componentOnReady();
38
- }
39
- element.dispatchEvent(buildCustomEvent('atomic/searchBoxSuggestion/register', event));
40
- };
41
-
42
- const AtomicSearchBoxQuerySuggestions = /*@__PURE__*/ proxyCustomElement(class AtomicSearchBoxQuerySuggestions extends HTMLElement {
43
- constructor() {
44
- super();
45
- this.__registerHost();
46
- this.__attachShadow();
47
- this.error = undefined;
48
- this.icon = undefined;
49
- this.maxWithQuery = undefined;
50
- this.maxWithoutQuery = undefined;
51
- }
52
- componentWillLoad() {
53
- try {
54
- dispatchSearchBoxSuggestionsEvent((bindings) => {
55
- this.bindings = bindings;
56
- return this.initialize();
57
- }, this.host, ['atomic-search-box']);
58
- }
59
- catch (error) {
60
- this.error = error;
61
- }
62
- }
63
- initialize() {
64
- const engine = this.bindings.engine;
65
- const { registerQuerySuggest, fetchQuerySuggestions } = loadQuerySuggestActions(engine);
66
- engine.dispatch(registerQuerySuggest({
67
- id: this.bindings.id,
68
- count: this.bindings.numberOfQueries,
69
- }));
70
- return {
71
- position: Array.from(this.host.parentNode.children).indexOf(this.host),
72
- onInput: () => engine.dispatch(fetchQuerySuggestions({
73
- id: this.bindings.id,
74
- })),
75
- renderItems: () => this.renderItems(),
76
- };
77
- }
78
- renderItems() {
79
- const hasQuery = this.bindings.searchBoxController.state.value !== '';
80
- const max = hasQuery ? this.maxWithQuery : this.maxWithoutQuery;
81
- return this.bindings.searchBoxController.state.suggestions
82
- .slice(0, max)
83
- .map((suggestion) => this.renderItem(suggestion));
84
- }
85
- renderItem(suggestion) {
86
- const hasQuery = this.bindings.searchBoxController.state.value !== '';
87
- const partialItem = getPartialSearchBoxSuggestionElement(suggestion, this.bindings.i18n);
88
- return {
89
- ...partialItem,
90
- content: (h(QuerySuggestionContainer, null, h(QuerySuggestionIcon, { icon: this.icon || SearchIcon, hasSuggestion: this.bindings.getSuggestions().length > 1 }), h(QuerySuggestionText, { suggestion: suggestion, hasQuery: hasQuery }))),
91
- onSelect: () => {
92
- this.bindings.searchBoxController.selectSuggestion(suggestion.rawValue);
93
- },
94
- };
95
- }
96
- render() {
97
- if (this.error) {
98
- return (h("atomic-component-error", { key: '512aa352f794b1581b1e20e1f0343c2690c909a9', element: this.host, error: this.error }));
99
- }
100
- }
101
- get host() { return this; }
102
- }, [1, "atomic-search-box-query-suggestions", {
103
- "icon": [1],
104
- "maxWithQuery": [514, "max-with-query"],
105
- "maxWithoutQuery": [514, "max-without-query"],
106
- "error": [32]
107
- }]);
108
- function defineCustomElement() {
109
- if (typeof customElements === "undefined") {
110
- return;
111
- }
112
- const components = ["atomic-search-box-query-suggestions"];
113
- components.forEach(tagName => { switch (tagName) {
114
- case "atomic-search-box-query-suggestions":
115
- if (!customElements.get(tagName)) {
116
- customElements.define(tagName, AtomicSearchBoxQuerySuggestions);
117
- }
118
- break;
119
- } });
120
- }
121
-
122
- export { AtomicSearchBoxQuerySuggestions as A, defineCustomElement as a, dispatchSearchBoxSuggestionsEvent as d };
123
-
124
- //# sourceMappingURL=atomic-search-box-query-suggestions2.js.map
@@ -1 +0,0 @@
1
- {"file":"atomic-search-box-query-suggestions2.js","mappings":"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","names":[],"sources":["src/components/common/suggestions/suggestions-events.ts","src/components/search/search-box-suggestions/atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.tsx"],"sourcesContent":["import 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';\nimport type {SearchBoxSuggestionsEvent} from './suggestions-types';\n\n/**\n * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.\n *\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 * @param allowedSearchBoxElements Optional array of allowed search box element selectors\n *\n * @throws Error if the element is not a child of an allowed search box element\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\nconst searchBoxElements = [\n 'atomic-search-box',\n 'atomic-insight-search-box',\n 'atomic-commerce-search-box',\n] as const;\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","import {\n loadQuerySuggestActions,\n SearchBox,\n SearchEngine,\n Suggestion,\n} from '@coveo/headless';\nimport {Component, Element, Prop, State, h} from '@stencil/core';\nimport SearchIcon from '../../../../images/search.svg';\nimport {\n getPartialSearchBoxSuggestionElement,\n QuerySuggestionContainer,\n QuerySuggestionIcon,\n QuerySuggestionText,\n} from '../../../common/suggestions/stencil-query-suggestions';\nimport {\n dispatchSearchBoxSuggestionsEvent,\n} from '../../../common/suggestions/suggestions-events';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestions,\n SearchBoxSuggestionsBindings,\n} from '../../../common/suggestions/suggestions-types';\n\n/**\n * The `atomic-search-box-query-suggestions` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of query suggestion behavior.\n */\n@Component({\n tag: 'atomic-search-box-query-suggestions',\n shadow: true,\n})\nexport class AtomicSearchBoxQuerySuggestions {\n private bindings!: SearchBoxSuggestionsBindings<SearchBox>;\n @Element() private host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The SVG icon to display.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly.\n */\n @Prop() public icon?: string;\n\n /**\n * The maximum number of suggestions that will be displayed if the user has typed something into the input field.\n */\n @Prop({reflect: true}) public maxWithQuery?: number;\n /**\n * The maximum number of suggestions that will be displayed initially when the input field is empty.\n */\n @Prop({reflect: true}) public maxWithoutQuery?: number;\n\n componentWillLoad() {\n try {\n dispatchSearchBoxSuggestionsEvent<SearchBox>(\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 initialize(): SearchBoxSuggestions {\n const engine = this.bindings.engine as SearchEngine<{\n querySet: string;\n querySuggest: string;\n }>;\n const {registerQuerySuggest, fetchQuerySuggestions} =\n loadQuerySuggestActions(engine);\n\n engine.dispatch(\n registerQuerySuggest({\n id: this.bindings.id,\n count: this.bindings.numberOfQueries,\n })\n );\n\n return {\n position: Array.from(this.host.parentNode!.children).indexOf(this.host),\n onInput: () =>\n engine.dispatch(\n fetchQuerySuggestions({\n id: this.bindings.id,\n })\n ),\n renderItems: () => this.renderItems(),\n };\n }\n\n private renderItems(): SearchBoxSuggestionElement[] {\n const hasQuery = this.bindings.searchBoxController.state.value !== '';\n const max = hasQuery ? this.maxWithQuery : this.maxWithoutQuery;\n return this.bindings.searchBoxController.state.suggestions\n .slice(0, max)\n .map((suggestion) => this.renderItem(suggestion));\n }\n\n private renderItem(suggestion: Suggestion) {\n const hasQuery = this.bindings.searchBoxController.state.value !== '';\n const partialItem = getPartialSearchBoxSuggestionElement(\n suggestion,\n this.bindings.i18n\n );\n\n return {\n ...partialItem,\n content: (\n <QuerySuggestionContainer>\n <QuerySuggestionIcon\n icon={this.icon || SearchIcon}\n hasSuggestion={this.bindings.getSuggestions().length > 1}\n />\n\n <QuerySuggestionText suggestion={suggestion} hasQuery={hasQuery} />\n </QuerySuggestionContainer>\n ),\n onSelect: () => {\n this.bindings.searchBoxController.selectSuggestion(suggestion.rawValue);\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"],"version":3}
@@ -1,33 +0,0 @@
1
- import { h } from '@stencil/core/internal/client';
2
- import { e as encodeForDomAttribute } from './string-utils.js';
3
-
4
- const getPartialSearchBoxSuggestionElement = (suggestion, i18n) => {
5
- return {
6
- part: 'query-suggestion-item',
7
- key: `qs-${encodeForDomAttribute(suggestion.rawValue)}`,
8
- query: suggestion.rawValue,
9
- ariaLabel: i18n.t('query-suggestion-label', {
10
- query: suggestion.rawValue,
11
- interpolation: { escapeValue: false },
12
- }),
13
- };
14
- };
15
- const QuerySuggestionContainer = (_, children) => {
16
- return (h("div", { part: "query-suggestion-content", class: "flex items-center" }, children));
17
- };
18
- const QuerySuggestionIcon = ({ icon, hasSuggestion }) => {
19
- if (!hasSuggestion) {
20
- return;
21
- }
22
- return (h("atomic-icon", { part: "query-suggestion-icon", icon: icon, class: "mr-2 h-4 w-4 shrink-0" }));
23
- };
24
- const QuerySuggestionText = ({ suggestion, hasQuery }) => {
25
- if (hasQuery) {
26
- return (h("span", { part: "query-suggestion-text", class: "line-clamp-2 break-all", innerHTML: suggestion.highlightedValue }));
27
- }
28
- return (h("span", { part: "query-suggestion-text", class: "line-clamp-2 break-all" }, suggestion.rawValue));
29
- };
30
-
31
- export { QuerySuggestionContainer as Q, QuerySuggestionIcon as a, QuerySuggestionText as b, getPartialSearchBoxSuggestionElement as g };
32
-
33
- //# sourceMappingURL=stencil-query-suggestions.js.map
@@ -1 +0,0 @@
1
- {"file":"stencil-query-suggestions.js","mappings":";;;MAUa,oCAAoC,GAAG,CAClD,UAAsB,EACtB,IAAU;IAEV,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,GAAG,EAAE,MAAM,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QACvD,KAAK,EAAE,UAAU,CAAC,QAAQ;QAC1B,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,wBAAwB,EAAE;YAC1C,KAAK,EAAE,UAAU,CAAC,QAAQ;YAC1B,aAAa,EAAE,EAAC,WAAW,EAAE,KAAK,EAAC;SACpC,CAAC;KACH,CAAC;AACJ,EAAE;MAEW,wBAAwB,GAAwB,CAAC,CAAC,EAAE,QAAQ;IACvE,QACE,WAAK,IAAI,EAAC,0BAA0B,EAAC,KAAK,EAAC,mBAAmB,IAC3D,QAAQ,CACL,EACN;AACJ,EAAE;MAOW,mBAAmB,GAE5B,CAAC,EAAC,IAAI,EAAE,aAAa,EAAC;IACxB,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO;KACR;IAED,QACE,mBACE,IAAI,EAAC,uBAAuB,EAC5B,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,uBAAuB,GAChB,EACf;AACJ,EAAE;MAOW,mBAAmB,GAE5B,CAAC,EAAC,UAAU,EAAE,QAAQ,EAAC;IACzB,IAAI,QAAQ,EAAE;QACZ,QACE,YACE,IAAI,EAAC,uBAAuB,EAC5B,KAAK,EAAC,wBAAwB,EAC9B,SAAS,EAAE,UAAU,CAAC,gBAAgB,GAChC,EACR;KACH;IAED,QACE,YAAM,IAAI,EAAC,uBAAuB,EAAC,KAAK,EAAC,wBAAwB,IAC9D,UAAU,CAAC,QAAQ,CACf,EACP;AACJ;;;;","names":[],"sources":["src/components/common/suggestions/stencil-query-suggestions.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {encodeForDomAttribute} from '../../../utils/string-utils.js';\nimport {SearchBoxSuggestionElement} from './suggestions-types.js';\n\ninterface Suggestion {\n highlightedValue: string;\n rawValue: string;\n}\n\nexport const getPartialSearchBoxSuggestionElement = (\n suggestion: Suggestion,\n i18n: i18n\n): Pick<SearchBoxSuggestionElement, 'ariaLabel' | 'key' | 'query' | 'part'> => {\n return {\n part: 'query-suggestion-item',\n key: `qs-${encodeForDomAttribute(suggestion.rawValue)}`,\n query: suggestion.rawValue,\n ariaLabel: i18n.t('query-suggestion-label', {\n query: suggestion.rawValue,\n interpolation: {escapeValue: false},\n }),\n };\n};\n\nexport const QuerySuggestionContainer: FunctionalComponent = (_, children) => {\n return (\n <div part=\"query-suggestion-content\" class=\"flex items-center\">\n {children}\n </div>\n );\n};\n\ninterface QuerySuggestionIconProps {\n icon: string;\n hasSuggestion: boolean;\n}\n\nexport const QuerySuggestionIcon: FunctionalComponent<\n QuerySuggestionIconProps\n> = ({icon, hasSuggestion}) => {\n if (!hasSuggestion) {\n return;\n }\n\n return (\n <atomic-icon\n part=\"query-suggestion-icon\"\n icon={icon}\n class=\"mr-2 h-4 w-4 shrink-0\"\n ></atomic-icon>\n );\n};\n\ninterface QuerySuggestionTextProps {\n suggestion: Suggestion;\n hasQuery: boolean;\n}\n\nexport const QuerySuggestionText: FunctionalComponent<\n QuerySuggestionTextProps\n> = ({suggestion, hasQuery}) => {\n if (hasQuery) {\n return (\n <span\n part=\"query-suggestion-text\"\n class=\"line-clamp-2 break-all\"\n innerHTML={suggestion.highlightedValue}\n ></span>\n );\n }\n\n return (\n <span part=\"query-suggestion-text\" class=\"line-clamp-2 break-all\">\n {suggestion.rawValue}\n </span>\n );\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"version":3,"names":["SmartSnippetSuggestionsWrapper","headingLevel","i18n","children","h","part","class","Heading","level","t","SmartSnippetSuggestionsQuestionWrapper","expanded","key","SmartSnippetSuggestionsQuestion","ariaControls","onClick","question","atomicIcon","Button","style","getQuestionPart","ariaExpanded","undefined","SmartSnippetSuggestionsAnswerAndSourceWrapper","id","SmartSnippetSuggestionsFooter","base"],"sources":["src/components/common/smart-snippets/atomic-smart-snippet-suggestions/smart-snippet-suggestions-common.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../../stencil-button';\nimport {Heading} from '../../stencil-heading';\n\nexport const SmartSnippetSuggestionsWrapper: FunctionalComponent<{\n headingLevel: number;\n i18n: i18n;\n}> = ({headingLevel, i18n}, children) => {\n return (\n <aside\n part=\"container\"\n class=\"bg-background border-neutral text-on-background overflow-hidden rounded-lg border\"\n >\n <Heading\n level={headingLevel}\n part=\"heading\"\n class=\"border-neutral border-b px-6 py-4 text-xl leading-8\"\n >\n {i18n.t('smart-snippet-people-also-ask')}\n </Heading>\n <ul part=\"questions\" class=\"divide-neutral divide-y\">\n {children}\n </ul>\n </aside>\n );\n};\n\nexport const SmartSnippetSuggestionsQuestionWrapper: FunctionalComponent<{\n expanded: boolean;\n key: string;\n}> = ({expanded, key}, children) => {\n return (\n <li\n key={key}\n part={`question-answer-${expanded ? 'expanded' : 'collapsed'}`}\n class=\"flex flex-col\"\n >\n <article class=\"contents\">{children}</article>\n </li>\n );\n};\n\nexport const SmartSnippetSuggestionsQuestion: FunctionalComponent<{\n ariaControls: string;\n expanded: boolean;\n headingLevel?: number;\n onClick: (event: MouseEvent) => void;\n question: string;\n}> = (\n {ariaControls, expanded, headingLevel, onClick, question},\n atomicIcon\n) => {\n return (\n <Button\n style=\"text-neutral\"\n part={getQuestionPart('button', expanded)}\n onClick={onClick}\n class=\"flex items-center px-4\"\n ariaExpanded={expanded ? 'true' : undefined}\n ariaControls={expanded ? ariaControls : undefined}\n >\n {atomicIcon}\n <Heading\n level={headingLevel ? headingLevel + 1 : 0}\n class=\"py-4 text-left text-xl font-bold\"\n part={getQuestionPart('text', expanded)}\n >\n {question}\n </Heading>\n </Button>\n );\n};\n\nexport const SmartSnippetSuggestionsAnswerAndSourceWrapper: FunctionalComponent<{\n expanded: boolean;\n id: string;\n}> = ({id}, children) => {\n return (\n <div part=\"answer-and-source\" class=\"pr-6 pb-6 pl-10\" id={id}>\n {children}\n </div>\n );\n};\n\nexport const SmartSnippetSuggestionsFooter: FunctionalComponent<{\n i18n: i18n;\n}> = ({i18n}, children) => {\n return (\n <footer part=\"footer\" aria-label={i18n.t('smart-snippet-source')}>\n {children}\n </footer>\n );\n};\n\nexport const getQuestionPart = (base: string, expanded: boolean) =>\n `question-${base}-${expanded ? 'expanded' : 'collapsed'}`;\n"],"mappings":"kHAKaA,EAGR,EAAEC,eAAcC,QAAOC,IAExBC,EAAA,SACEC,KAAK,YACLC,MAAM,qFAENF,EAACG,EAAO,CACNC,MAAOP,EACPI,KAAK,UACLC,MAAM,uDAELJ,EAAKO,EAAE,kCAEVL,EAAA,MAAIC,KAAK,YAAYC,MAAM,2BACxBH,I,MAMIO,EAGR,EAAEC,WAAUC,OAAMT,IAEnBC,EAAA,MACEQ,IAAKA,EACLP,KAAM,mBAAmBM,EAAW,WAAa,cACjDL,MAAM,iBAENF,EAAA,WAASE,MAAM,YAAYH,I,MAKpBU,EAMR,EACFC,eAAcH,WAAUV,eAAcc,UAASC,YAChDC,IAGEb,EAACc,EAAM,CACLC,MAAM,eACNd,KAAMe,EAAgB,SAAUT,GAChCI,QAASA,EACTT,MAAM,yBACNe,aAAcV,EAAW,OAASW,UAClCR,aAAcH,EAAWG,EAAeQ,WAEvCL,EACDb,EAACG,EAAO,CACNC,MAAOP,EAAeA,EAAe,EAAI,EACzCK,MAAM,mCACND,KAAMe,EAAgB,OAAQT,IAE7BK,I,MAMIO,EAGR,EAAEC,MAAKrB,IAERC,EAAA,OAAKC,KAAK,oBAAoBC,MAAM,kBAAkBkB,GAAIA,GACvDrB,G,MAKMsB,EAER,EAAEvB,QAAOC,IAEVC,EAAA,UAAQC,KAAK,SAAQ,aAAaH,EAAKO,EAAE,yBACtCN,G,MAKMiB,EAAkB,CAACM,EAAcf,IAC5C,YAAYe,KAAQf,EAAW,WAAa,qB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["FacetValueLink","props","children","count","numberOfResults","toLocaleString","i18n","language","ariaLabel","t","value","displayValue","formattedCount","interpolation","escapeValue","part","isSelected","additionalPart","h","key","class","Button","style","onClick","ariaPressed","toString","ref","buttonRef","text","subList"],"sources":["src/components/common/facets/facet-value-link/stencil-facet-value-link.tsx"],"sourcesContent":["import {FunctionalComponent, h, VNode} from '@stencil/core';\nimport {Button} from '../../stencil-button';\nimport {FacetValueProps} from '../stencil-facet-common';\n\nexport interface FacetValueLinkProps extends FacetValueProps {\n subList?: VNode | VNode[];\n}\n\nexport const FacetValueLink: FunctionalComponent<FacetValueLinkProps> = (\n props,\n children\n) => {\n const count = props.numberOfResults.toLocaleString(props.i18n.language);\n const ariaLabel = props.i18n.t('facet-value', {\n value: props.displayValue,\n count: props.numberOfResults,\n formattedCount: count,\n interpolation: {escapeValue: false},\n });\n\n let part =\n props.part ?? `value-link${props.isSelected ? ' value-link-selected' : ''}`;\n\n if (props.additionalPart) {\n part += ` ${props.additionalPart}`;\n }\n\n return (\n <li key={props.displayValue} class={props.class}>\n <Button\n style=\"text-neutral\"\n part={part}\n onClick={() => props.onClick()}\n class=\"group flex w-full items-center truncate px-2 py-2.5 text-left focus-visible:outline-none\"\n ariaPressed={props.isSelected.toString()}\n ariaLabel={ariaLabel}\n ref={props.buttonRef}\n >\n {children}\n <span part=\"value-count\" class=\"value-count\">\n {props.i18n.t('between-parentheses', {\n text: count,\n })}\n </span>\n </Button>\n {props.subList}\n </li>\n );\n};\n"],"mappings":"8EAQaA,EAA2D,CACtEC,EACAC,KAEA,MAAMC,EAAQF,EAAMG,gBAAgBC,eAAeJ,EAAMK,KAAKC,UAC9D,MAAMC,EAAYP,EAAMK,KAAKG,EAAE,cAAe,CAC5CC,MAAOT,EAAMU,aACbR,MAAOF,EAAMG,gBACbQ,eAAgBT,EAChBU,cAAe,CAACC,YAAa,SAG/B,IAAIC,EACFd,EAAMc,MAAQ,aAAad,EAAMe,WAAa,uBAAyB,KAEzE,GAAIf,EAAMgB,eAAgB,CACxBF,GAAQ,IAAId,EAAMgB,gB,CAGpB,OACEC,EAAA,MAAIC,IAAKlB,EAAMU,aAAcS,MAAOnB,EAAMmB,OACxCF,EAACG,EAAM,CACLC,MAAM,eACNP,KAAMA,EACNQ,QAAS,IAAMtB,EAAMsB,UACrBH,MAAM,2FACNI,YAAavB,EAAMe,WAAWS,WAC9BjB,UAAWA,EACXkB,IAAKzB,EAAM0B,WAEVzB,EACDgB,EAAA,QAAMH,KAAK,cAAcK,MAAM,eAC5BnB,EAAMK,KAAKG,EAAE,sBAAuB,CACnCmB,KAAMzB,MAIXF,EAAM4B,QACJ,S","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{h as t,f as s}from"./p-dc3df5ce.js";import{B as i}from"./p-75c37247.js";import{isNullOrUndefined as e}from"@coveo/bueno";import{D as n}from"./p-f284897c.js";import{d as r}from"./p-01c91b69.js";import{a as o,e as a}from"./p-0a051b8d.js";const h=`<svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">\n<circle cx="7" cy="7" r="6.5" stroke="currentColor"/>\n<path d="M16 16L12 12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>\n</svg>\n`;const u=(s,i)=>{const e=()=>{const t="flex bg-background w-full border border-neutral rounded-md focus-within:ring-3 absolute top-0 left-0";const i=s.disabled?"focus-within:border-disabled focus-within:ring-neutral":"focus-within:border-primary focus-within:ring-ring-primary";return[t,i].join(" ")};return t("div",{part:"wrapper",class:e(),onFocusout:s.onFocusout},i)};const c=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M15 1.00012L1.00012 14.9999" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>\n<path d="M0.999878 1L14.9999 15" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>\n</svg>\n`;const l=({inputRef:s,bindings:e,onClick:n,...r})=>t("div",{part:"clear-button-wrapper",class:"ml-2 flex items-center justify-center py-2"},t(i,{style:"text-transparent",part:"clear-button",class:"text-neutral-dark flex h-8 w-8 shrink-0 items-center justify-center",onClick:()=>{n?.();s?.focus()},ariaLabel:e.i18n.t("clear"),...r},t("atomic-icon",{part:"clear-icon",icon:c,class:"h-4 w-4"})));function g(t){return{autocomplete:"off",autocapitalize:"off",autocorrect:"off",...t.activeDescendant&&{"aria-activedescendant":t.activeDescendant},"aria-autocomplete":"both","aria-haspopup":"true","aria-controls":t.id}}function f(t,s){const i=t?.parentNode;if(!i){return}if(t.value==="\n"){return}i.dataset.replicatedValue=s??t.value}function d(t){const s=t?.parentNode;if(s){delete s.dataset.replicatedValue}}function p(t){const s=t?.parentNode;if(s){s.classList.remove("expanded")}}function m(t){const s=t?.parentNode;if(s){s.classList.add("expanded")}}const w=({textAreaRef:s,loading:i,bindings:e,onInput:n,onFocus:r,onBlur:o,onChange:a,onKeyDown:h,onKeyUp:u,value:c,ariaLabel:w,onClear:b,popup:v,...y})=>t("div",{class:"flex grow overflow-hidden"},t("div",{part:"textarea-expander",class:"grid grow overflow-hidden"},t("textarea",{part:"textarea","aria-label":w,placeholder:e.i18n.t("search"),class:"placeholder-neutral-dark",rows:1,onInput:t=>{n?.(t);f(s)},onKeyDown:t=>{f(s);if(t.key==="Enter"){if(t.shiftKey){return}t.preventDefault()}h?.(t)},onKeyUp:t=>{u?.(t);if(t.key==="Enter"){t.preventDefault();return}f(s)},onBlur:t=>{o?.(t);p(s);f(s)},onChange:t=>{a?.(t);f(s)},onFocus:t=>{r?.(t);const i=t.target;f(s??i);m(s??i)},autocomplete:"off",...v&&g(v),...y,value:c})),i&&t("div",{class:"searchbox-button-wrapper ml-2 flex items-center justify-center"},t("span",{part:"loading",class:"loading mr-2 grid h-5 w-5 animate-spin place-items-center rounded-full bg-linear-to-r"})),!i&&c&&t(l,{inputRef:s,bindings:e,onClick:()=>{b();d(s)}}));function b(t,s){let i;const e=new Promise(((t,e)=>{i=setTimeout((()=>{e(new Error("Promise timed out."))}),s)}));return Promise.race([t,e]).then((()=>{clearTimeout(i)}))}class v{constructor(t){this.ownerSearchBoxProps=t;this.suggestions=[];this.leftSuggestionElements=[];this.rightSuggestionElements=[];this.leftPanel=undefined;this.rightPanel=undefined;this.activeDescendant="";this.suggestedQuery="";this.keyboardActiveDescendant="";this.queryDataAttribute="data-query";this.suggestionEvents=[];this.previousActiveDescendantElement=null;this.leftSuggestions=[];this.rightSuggestions=[];this.triggerSuggestions=r((()=>this.executeQuerySuggestion()),this.ownerSearchBoxProps.getSuggestionDelay())}get partialSuggestionBindings(){return{suggestedQuery:()=>this.suggestedQuery,clearSuggestions:()=>this.clearSuggestions(),triggerSuggestions:()=>this.triggerSuggestions(),getSuggestions:()=>this.suggestions,getSuggestionElements:()=>this.allSuggestionElements}}get activeDescendantElement(){if(!this.hasActiveDescendant){return null}return this.leftPanel?.querySelector(`#${this.activeDescendant}`)||this.rightPanel?.querySelector(`#${this.activeDescendant}`)||null}onSubmit(){this.clickOnActiveElement();this.clearSuggestions()}updateActiveDescendant(t=""){this.activeDescendant=t;s(this.ownerSearchBoxProps.getHost())}updateKeyboardActiveDescendant(t=""){this.keyboardActiveDescendant=t}clickOnActiveElement(){this.activeDescendantElement?.click();this.updateActiveDescendant()}isRightPanelInFocus(){if(e(this.panelInFocus)||e(this.rightPanel)){return false}return this.panelInFocus===this.rightPanel}initializeSuggestions(t){this.suggestions=this.suggestionEvents.map((s=>s(t)))}registerSuggestionsFromEvent(t,s){t.preventDefault();t.stopPropagation();this.suggestionEvents.push(t.detail);this.suggestions.push(t.detail(s))}registerSuggestions(t){this.suggestions.push(t)}get isDoubleList(){return Boolean(this.leftSuggestionElements.length&&this.rightSuggestionElements.length)}focusPanel(t){const s=t==="left"?this.leftPanel:this.rightPanel;if(this.panelInFocus===s){return}if(s?.firstElementChild){const t=this.previousActiveDescendantElement&&s.contains(this.previousActiveDescendantElement);const i=t?this.previousActiveDescendantElement:s.firstElementChild;this.updateDescendants(i.id)}}clearSuggestions(){this.clearSuggestionElements();this.updateActiveDescendant()}async focusNextValue(){if(!this.hasSuggestions||!this.nextOrFirstValue){return}await this.focusValue(this.nextOrFirstValue)}async focusValue(t){this.updateKeyboardActiveDescendant(t.id);this.updateActiveDescendant(t.id);this.scrollActiveDescendantIntoView();await this.updateQueryFromSuggestion()}async onSuggestionMouseOver(t,s,i){const e=s==="left"?this.leftPanel:this.rightPanel;this.updateKeyboardActiveDescendant();if(this.panelInFocus===e){this.updateActiveDescendant(i)}else{this.updateDescendants(i)}if(t.query){await this.updateSuggestedQuery(t.query)}}async onSuggestionClick(t,s){if(t.query){this.clearSuggestions();await this.updateOwnerSearchboxQuery(t.query)}t.onSelect?.(s)}get hasSuggestions(){return!!this.allSuggestionElements.length}get allSuggestionElements(){return[...this.leftSuggestionElements,...this.rightSuggestionElements]}async focusPreviousValue(){if(this.firstValue===this.activeDescendantElement){this.updateKeyboardActiveDescendant();this.updateActiveDescendant();return}if(!this.hasSuggestions||!this.previousOrLastValue){return}await this.focusValue(this.previousOrLastValue)}get hasActiveDescendant(){return this.activeDescendant!==""}async executeQuerySuggestion(){this.updateActiveDescendant();const t=await Promise.allSettled(this.suggestions.map((t=>b(t.onInput?t.onInput():Promise.resolve(),this.ownerSearchBoxProps.getSuggestionTimeout()))));const s=[];t.forEach(((t,i)=>{if(t.status==="fulfilled"){s.push(this.suggestions[i])}else{this.ownerSearchBoxProps.getLogger().warn("Some query suggestions are not being shown because the promise timed out.")}}));const i=(t,i=false)=>s.filter((s=>s.panel===t||!s.panel&&i)).sort(this.sortSuggestions);this.leftSuggestions=i("left",true);this.leftSuggestionElements=this.getAndFilterLeftSuggestionElements();this.rightSuggestions=i("right");this.rightSuggestionElements=this.getSuggestionElements(this.rightSuggestions);const e=this.allSuggestionElements.find(o)?.query||"";await this.updateSuggestedQuery(e)}get lastValue(){return this.panelInFocus?.lastElementChild}get previousOrLastValue(){if(!this.hasActiveDescendant){return this.lastValue?.firstChild}const t=this.activeDescendantElement?.parentElement;return t?.previousElementSibling?.firstChild||this.firstValue?.firstChild}sortSuggestions(t,s){return t.position-s.position}get nextOrFirstValue(){if(!this.hasActiveDescendant){return this.firstValue?.firstChild}const t=this.activeDescendantElement?.parentElement;return t?.nextElementSibling?.firstChild||this.firstValue?.firstChild}get firstValue(){return this.panelInFocus?.firstElementChild}get panelInFocus(){if(this.leftPanel?.contains(this.activeDescendantElement)){return this.leftPanel}if(this.rightPanel?.contains(this.activeDescendantElement)){return this.rightPanel}return this.leftPanel||this.rightPanel}scrollActiveDescendantIntoView(){this.activeDescendantElement?.scrollIntoView({block:"nearest"})}async updateQueryFromSuggestion(){const t=this.activeDescendantElement?.getAttribute(this.queryDataAttribute);await this.updateOwnerSearchboxQuery(t||"")}async updateOwnerSearchboxQuery(t){if(t&&this.ownerSearchBoxProps.getSearchBoxValue()!==t){this.ownerSearchBoxProps.updateQuery(t);await this.updateSuggestedQuery(t)}}async updateSuggestedQuery(t){await Promise.allSettled(this.suggestions.map((s=>b(s.onSuggestedQueryChange?s.onSuggestedQueryChange(t):Promise.resolve(),this.ownerSearchBoxProps.getSuggestionTimeout()))));this.suggestedQuery=t;this.updateSuggestionElements(t);s(this.ownerSearchBoxProps.getHost())}updateSuggestionElements(t){if(!this.isPanelInFocus(this.leftPanel,t)){this.leftSuggestionElements=this.getAndFilterLeftSuggestionElements()}if(!this.isPanelInFocus(this.rightPanel,t)){this.rightSuggestionElements=this.getSuggestionElements(this.rightSuggestions)}}forceUpdate(){this.updateSuggestionElements(this.suggestedQuery);s(this.ownerSearchBoxProps.getHost())}isPanelInFocus(t,s){if(!this.activeDescendantElement){return false}if(s){const i=n.sanitize(s);return!!t?.querySelector(`[${this.queryDataAttribute}="${CSS.escape(i)}"]`)}return this.activeDescendantElement?.closest("ul")===t}getAndFilterLeftSuggestionElements(){const t=this.getSuggestionElements(this.leftSuggestions);const s=new Set;const i=t.filter((t=>{if(e(t.query)){return true}if(s.has(t.query)){return false}else{s.add(t.query);return true}}));return i}getSuggestionElements(t){const s=t.flatMap((t=>t.renderItems()));const i=this.ownerSearchBoxProps.getNumberOfSuggestionsToDisplay()+s.filter(a).length;return s.slice(0,i)}updateDescendants(t=""){const s=this.activeDescendantElement;this.previousActiveDescendantElement=s;this.updateActiveDescendant(t)}clearSuggestionElements(){this.leftSuggestionElements=[];this.rightSuggestionElements=[]}}export{v as S,h as a,w as b,u as c};
2
- //# sourceMappingURL=p-0fb39501.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["SearchBoxWrapper","props","children","getClasses","baseClasses","focusClasses","disabled","join","h","part","class","onFocusout","TextAreaClearButton","inputRef","bindings","onClick","defaultButtonProps","Button","style","focus","ariaLabel","i18n","t","icon","ClearSlim","getPopupAttributes","autocomplete","autocapitalize","autocorrect","activeDescendant","id","syncTextWithReplica","elem","value","parent","parentNode","dataset","replicatedValue","resetReplicaText","collapseTextArea","classList","remove","expandTextArea","add","SearchTextArea","textAreaRef","loading","onInput","onFocus","onBlur","onChange","onKeyDown","onKeyUp","onClear","popup","defaultInputProps","placeholder","rows","e","key","shiftKey","preventDefault","target","promiseTimeout","prom","ms","timeout","Promise","_","reject","setTimeout","Error","race","then","clearTimeout","SuggestionManager","constructor","ownerSearchBoxProps","this","suggestions","leftSuggestionElements","rightSuggestionElements","leftPanel","undefined","rightPanel","suggestedQuery","keyboardActiveDescendant","queryDataAttribute","suggestionEvents","previousActiveDescendantElement","leftSuggestions","rightSuggestions","triggerSuggestions","debounce","executeQuerySuggestion","getSuggestionDelay","partialSuggestionBindings","clearSuggestions","getSuggestions","getSuggestionElements","allSuggestionElements","activeDescendantElement","hasActiveDescendant","querySelector","onSubmit","clickOnActiveElement","updateActiveDescendant","forceUpdate","getHost","updateKeyboardActiveDescendant","click","isRightPanelInFocus","isNullOrUndefined","panelInFocus","initializeSuggestions","map","event","registerSuggestionsFromEvent","stopPropagation","push","detail","registerSuggestions","isDoubleList","Boolean","length","focusPanel","side","panel","firstElementChild","panelHasActiveDescendant","contains","newValue","updateDescendants","clearSuggestionElements","focusNextValue","hasSuggestions","nextOrFirstValue","focusValue","scrollActiveDescendantIntoView","updateQueryFromSuggestion","onSuggestionMouseOver","item","thisPanel","query","updateSuggestedQuery","onSuggestionClick","updateOwnerSearchboxQuery","onSelect","focusPreviousValue","firstValue","previousOrLastValue","settled","allSettled","suggestion","resolve","getSuggestionTimeout","fulfilledSuggestions","forEach","j","status","getLogger","warn","splitSuggestions","isDefault","filter","sort","sortSuggestions","getAndFilterLeftSuggestionElements","defaultSuggestedQuery","find","elementHasQuery","lastValue","lastElementChild","firstChild","parentOfActiveDescendant","parentElement","previousElementSibling","a","b","position","nextElementSibling","scrollIntoView","block","getAttribute","getSearchBoxValue","updateQuery","onSuggestedQueryChange","updateSuggestionElements","isPanelInFocus","escaped","DOMPurify","sanitize","CSS","escape","closest","suggestionElements","filterOnDuplicate","Set","out","suggestionElement","has","elements","flatMap","renderItems","max","getNumberOfSuggestionsToDisplay","elementHasNoQuery","slice","newPrevDescendantElement"],"sources":["src/components/common/search-box/stencil-search-box-wrapper.tsx","src/components/common/search-box/stencil-text-area-clear-button.tsx","src/components/common/search-box/stencil-search-text-area.tsx","src/utils/promise-utils.ts","src/components/common/suggestions/stencil-suggestion-manager.ts"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\ninterface Props {\n disabled: boolean;\n onFocusout?: (event: FocusEvent) => void;\n}\n\nexport const SearchBoxWrapper: FunctionalComponent<Props> = (\n props,\n children\n) => {\n const getClasses = () => {\n const baseClasses =\n 'flex bg-background w-full border border-neutral rounded-md focus-within:ring-3 absolute top-0 left-0';\n const focusClasses = props.disabled\n ? 'focus-within:border-disabled focus-within:ring-neutral'\n : 'focus-within:border-primary focus-within:ring-ring-primary';\n\n return [baseClasses, focusClasses].join(' ');\n };\n\n return (\n <div part=\"wrapper\" class={getClasses()} onFocusout={props.onFocusout}>\n {children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport ClearSlim from '../../../images/clear-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button, StencilButtonProps} from '../stencil-button';\n\ninterface Props extends Partial<StencilButtonProps> {\n bindings: AnyBindings;\n inputRef: HTMLInputElement | HTMLTextAreaElement | null;\n}\n\nexport const TextAreaClearButton: FunctionalComponent<Props> = ({\n inputRef,\n bindings,\n onClick,\n ...defaultButtonProps\n}) => (\n <div\n part=\"clear-button-wrapper\"\n class=\"ml-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-transparent\"\n part=\"clear-button\"\n class=\"text-neutral-dark flex h-8 w-8 shrink-0 items-center justify-center\"\n onClick={() => {\n onClick?.();\n inputRef?.focus();\n }}\n ariaLabel={bindings.i18n.t('clear')}\n {...defaultButtonProps}\n >\n <atomic-icon\n part=\"clear-icon\"\n icon={ClearSlim}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {AnyBindings} from '../interface/bindings';\nimport {TextAreaClearButton} from './stencil-text-area-clear-button';\n\ninterface Props extends JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement> {\n textAreaRef: HTMLTextAreaElement;\n loading: boolean;\n bindings: AnyBindings;\n value: string;\n ariaLabel: string;\n onClear(): void;\n popup?: {\n id: string;\n activeDescendant: string;\n expanded: boolean;\n hasSuggestions: boolean;\n };\n}\n\nfunction getPopupAttributes(props: Required<Props>['popup']) {\n return {\n autocomplete: 'off',\n autocapitalize: 'off',\n autocorrect: 'off',\n ...(props.activeDescendant && {\n 'aria-activedescendant': props.activeDescendant,\n }),\n 'aria-autocomplete': 'both',\n 'aria-haspopup': 'true',\n 'aria-controls': props.id,\n };\n}\n\nfunction syncTextWithReplica(elem: HTMLTextAreaElement, value?: string) {\n const parent = elem?.parentNode as HTMLElement;\n if (!parent) {\n return;\n }\n if (elem.value === '\\n') {\n return;\n }\n parent.dataset.replicatedValue = value ?? elem.value;\n}\n\nfunction resetReplicaText(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n delete parent.dataset.replicatedValue;\n }\n}\n\nfunction collapseTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.remove('expanded');\n }\n}\n\nfunction expandTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.add('expanded');\n }\n}\n\nexport const SearchTextArea: FunctionalComponent<Props> = ({\n textAreaRef,\n loading,\n bindings,\n onInput,\n onFocus,\n onBlur,\n onChange,\n onKeyDown,\n onKeyUp,\n value,\n ariaLabel,\n onClear,\n popup,\n ...defaultInputProps\n}) => (\n <div class=\"flex grow overflow-hidden\">\n <div part=\"textarea-expander\" class=\"grid grow overflow-hidden\">\n <textarea\n part=\"textarea\"\n aria-label={ariaLabel}\n placeholder={bindings.i18n.t('search')}\n class=\"placeholder-neutral-dark\"\n rows={1}\n onInput={(e) => {\n onInput?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onKeyDown={(e) => {\n syncTextWithReplica(textAreaRef);\n if (e.key === 'Enter') {\n if (e.shiftKey) {\n return;\n }\n e.preventDefault();\n }\n onKeyDown?.(e);\n }}\n onKeyUp={(e) => {\n onKeyUp?.(e);\n if (e.key === 'Enter') {\n e.preventDefault();\n return;\n }\n syncTextWithReplica(textAreaRef);\n }}\n onBlur={(e) => {\n onBlur?.(e);\n collapseTextArea(textAreaRef);\n syncTextWithReplica(textAreaRef);\n }}\n onChange={(e) => {\n onChange?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onFocus={(e) => {\n onFocus?.(e);\n const target = e.target as HTMLTextAreaElement;\n syncTextWithReplica(textAreaRef ?? target);\n expandTextArea(textAreaRef ?? target);\n }}\n autocomplete=\"off\"\n {...(popup && getPopupAttributes(popup))}\n {...defaultInputProps}\n value={value}\n />\n </div>\n\n {loading && (\n <div class=\"searchbox-button-wrapper ml-2 flex items-center justify-center\">\n <span\n part=\"loading\"\n class=\"loading mr-2 grid h-5 w-5 animate-spin place-items-center rounded-full bg-linear-to-r\"\n ></span>\n </div>\n )}\n {!loading && value && (\n <TextAreaClearButton\n inputRef={textAreaRef}\n bindings={bindings}\n onClick={() => {\n onClear();\n resetReplicaText(textAreaRef);\n }}\n />\n )}\n </div>\n);\n","export function promiseTimeout<T>(prom: T | Promise<T>, ms: number) {\n let id: NodeJS.Timeout;\n const timeout = new Promise((_, reject) => {\n id = setTimeout(() => {\n reject(new Error('Promise timed out.'));\n }, ms);\n });\n return Promise.race([prom, timeout]).then(() => {\n clearTimeout(id);\n });\n}\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {forceUpdate} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {promiseTimeout} from '../../../utils/promise-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from './suggestions-types';\nimport {elementHasNoQuery, elementHasQuery} from './suggestions-utils';\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 current suggested query changes as the user navigates 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 current suggested query.\n */\n onSuggestedQueryChange?(q: string): Promise<unknown>;\n}\n\ninterface SearchBoxProps {\n getSearchBoxValue: () => string;\n updateQuery: (suggestedQuery: string) => void;\n getSuggestionTimeout: () => number;\n getNumberOfSuggestionsToDisplay: () => number;\n getSuggestionDelay: () => number;\n getLogger: () => Pick<typeof console, 'warn'>;\n getHost: () => HTMLElement;\n}\n\nexport class SuggestionManager<SearchBoxController> {\n public suggestions: SearchBoxSuggestions[] = [];\n public leftSuggestionElements: SearchBoxSuggestionElement[] = [];\n public rightSuggestionElements: SearchBoxSuggestionElement[] = [];\n public leftPanel: HTMLElement | undefined = undefined;\n public rightPanel: HTMLElement | undefined = undefined;\n public triggerSuggestions: () => Promise<void>;\n public activeDescendant = '';\n public suggestedQuery = '';\n public keyboardActiveDescendant = '';\n\n private queryDataAttribute = 'data-query';\n private suggestionEvents: SearchBoxSuggestionsEvent<SearchBoxController>[] =\n [];\n\n private previousActiveDescendantElement: HTMLElement | null = null;\n private leftSuggestions: SearchBoxSuggestions[] = [];\n private rightSuggestions: SearchBoxSuggestions[] = [];\n\n constructor(private ownerSearchBoxProps: SearchBoxProps) {\n this.triggerSuggestions = debounce(\n () => this.executeQuerySuggestion(),\n this.ownerSearchBoxProps.getSuggestionDelay()\n );\n }\n\n public get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBoxController>,\n | 'suggestedQuery'\n | 'clearSuggestions'\n | 'triggerSuggestions'\n | 'getSuggestions'\n | 'getSuggestionElements'\n > {\n return {\n suggestedQuery: () => this.suggestedQuery,\n clearSuggestions: () => this.clearSuggestions(),\n triggerSuggestions: () => this.triggerSuggestions(),\n getSuggestions: () => this.suggestions,\n getSuggestionElements: () => this.allSuggestionElements,\n };\n }\n\n public get activeDescendantElement(): HTMLElement | null {\n if (!this.hasActiveDescendant) {\n return null;\n }\n\n return (\n this.leftPanel?.querySelector(`#${this.activeDescendant}`) ||\n this.rightPanel?.querySelector(`#${this.activeDescendant}`) ||\n null\n );\n }\n\n public onSubmit() {\n this.clickOnActiveElement();\n this.clearSuggestions();\n }\n\n public updateActiveDescendant(id = '') {\n this.activeDescendant = id;\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n public updateKeyboardActiveDescendant(id = '') {\n this.keyboardActiveDescendant = id;\n }\n\n public clickOnActiveElement() {\n this.activeDescendantElement?.click();\n this.updateActiveDescendant();\n }\n\n public isRightPanelInFocus() {\n if (\n isNullOrUndefined(this.panelInFocus) ||\n isNullOrUndefined(this.rightPanel)\n ) {\n return false;\n }\n\n return this.panelInFocus === this.rightPanel;\n }\n\n public initializeSuggestions(\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n this.suggestions = this.suggestionEvents.map((event) => event(bindings));\n }\n\n public registerSuggestionsFromEvent(\n event: CustomEvent<SearchBoxSuggestionsEvent<SearchBoxController>>,\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n event.preventDefault();\n event.stopPropagation();\n this.suggestionEvents.push(event.detail);\n this.suggestions.push(event.detail(bindings));\n }\n\n public registerSuggestions(suggestions: SearchBoxSuggestions) {\n this.suggestions.push(suggestions);\n }\n\n public get isDoubleList() {\n return Boolean(\n this.leftSuggestionElements.length && this.rightSuggestionElements.length\n );\n }\n\n public focusPanel(side: 'left' | 'right') {\n const panel = side === 'left' ? this.leftPanel : this.rightPanel;\n\n if (this.panelInFocus === panel) {\n return;\n }\n if (panel?.firstElementChild) {\n const panelHasActiveDescendant =\n this.previousActiveDescendantElement &&\n panel.contains(this.previousActiveDescendantElement);\n const newValue = panelHasActiveDescendant\n ? this.previousActiveDescendantElement!\n : (panel.firstElementChild as HTMLElement);\n this.updateDescendants(newValue.id);\n }\n }\n\n public clearSuggestions() {\n this.clearSuggestionElements();\n this.updateActiveDescendant();\n }\n\n public async focusNextValue() {\n if (!this.hasSuggestions || !this.nextOrFirstValue) {\n return;\n }\n\n await this.focusValue(this.nextOrFirstValue as HTMLElement);\n }\n\n public async focusValue(value: HTMLElement) {\n this.updateKeyboardActiveDescendant(value.id);\n this.updateActiveDescendant(value.id);\n this.scrollActiveDescendantIntoView();\n await this.updateQueryFromSuggestion();\n }\n\n public async onSuggestionMouseOver(\n item: SearchBoxSuggestionElement,\n side: 'left' | 'right',\n id: string\n ) {\n const thisPanel = side === 'left' ? this.leftPanel : this.rightPanel;\n // When hovering, always reset the keyboard active descendant\n this.updateKeyboardActiveDescendant();\n if (this.panelInFocus === thisPanel) {\n this.updateActiveDescendant(id);\n } else {\n this.updateDescendants(id);\n }\n if (item.query) {\n await this.updateSuggestedQuery(item.query);\n }\n }\n\n public async onSuggestionClick(item: SearchBoxSuggestionElement, e: Event) {\n if (item.query) {\n this.clearSuggestions();\n await this.updateOwnerSearchboxQuery(item.query);\n }\n item.onSelect?.(e);\n }\n\n public get hasSuggestions() {\n return !!this.allSuggestionElements.length;\n }\n\n public get allSuggestionElements() {\n return [...this.leftSuggestionElements, ...this.rightSuggestionElements];\n }\n\n public async focusPreviousValue() {\n if (this.firstValue === this.activeDescendantElement) {\n this.updateKeyboardActiveDescendant();\n this.updateActiveDescendant();\n return;\n }\n\n if (!this.hasSuggestions || !this.previousOrLastValue) {\n return;\n }\n\n await this.focusValue(this.previousOrLastValue as HTMLElement);\n }\n\n public get hasActiveDescendant() {\n return this.activeDescendant !== '';\n }\n\n private async executeQuerySuggestion() {\n this.updateActiveDescendant();\n const settled = await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onInput ? suggestion.onInput() : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n\n const fulfilledSuggestions: SearchBoxSuggestions[] = [];\n\n settled.forEach((prom, j) => {\n if (prom.status === 'fulfilled') {\n fulfilledSuggestions.push(this.suggestions[j]);\n } else {\n this.ownerSearchBoxProps\n .getLogger()\n .warn(\n 'Some query suggestions are not being shown because the promise timed out.'\n );\n }\n });\n\n const splitSuggestions = (side: 'left' | 'right', isDefault = false) =>\n fulfilledSuggestions\n .filter(\n (suggestion) =>\n suggestion.panel === side || (!suggestion.panel && isDefault)\n )\n .sort(this.sortSuggestions);\n\n this.leftSuggestions = splitSuggestions('left', true);\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n\n this.rightSuggestions = splitSuggestions('right');\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n\n const defaultSuggestedQuery =\n this.allSuggestionElements.find(elementHasQuery)?.query || '';\n\n await this.updateSuggestedQuery(defaultSuggestedQuery);\n }\n\n private get lastValue() {\n return this.panelInFocus?.lastElementChild;\n }\n\n private get previousOrLastValue() {\n if (!this.hasActiveDescendant) {\n return this.lastValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.previousElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private sortSuggestions(a: SearchBoxSuggestions, b: SearchBoxSuggestions) {\n return a.position - b.position;\n }\n\n private get nextOrFirstValue() {\n if (!this.hasActiveDescendant) {\n return this.firstValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.nextElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private get firstValue() {\n return this.panelInFocus?.firstElementChild;\n }\n\n private get panelInFocus() {\n if (this.leftPanel?.contains(this.activeDescendantElement)) {\n return this.leftPanel;\n }\n if (this.rightPanel?.contains(this.activeDescendantElement)) {\n return this.rightPanel;\n }\n return this.leftPanel || this.rightPanel;\n }\n\n private scrollActiveDescendantIntoView() {\n this.activeDescendantElement?.scrollIntoView({\n block: 'nearest',\n });\n }\n\n private async updateQueryFromSuggestion() {\n const suggestedQuery = this.activeDescendantElement?.getAttribute(\n this.queryDataAttribute\n );\n await this.updateOwnerSearchboxQuery(suggestedQuery || '');\n }\n\n private async updateOwnerSearchboxQuery(query: string) {\n if (query && this.ownerSearchBoxProps.getSearchBoxValue() !== query) {\n this.ownerSearchBoxProps.updateQuery(query);\n await this.updateSuggestedQuery(query);\n }\n }\n\n private async updateSuggestedQuery(suggestedQuery: string) {\n await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onSuggestedQueryChange\n ? suggestion.onSuggestedQueryChange(suggestedQuery)\n : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n this.suggestedQuery = suggestedQuery;\n this.updateSuggestionElements(suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private updateSuggestionElements(query: string) {\n if (!this.isPanelInFocus(this.leftPanel, query)) {\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n }\n\n if (!this.isPanelInFocus(this.rightPanel, query)) {\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n }\n }\n\n public forceUpdate() {\n this.updateSuggestionElements(this.suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private isPanelInFocus(\n panel: HTMLElement | undefined,\n query: string\n ): boolean {\n if (!this.activeDescendantElement) {\n return false;\n }\n\n if (query) {\n const escaped = DOMPurify.sanitize(query);\n return !!panel?.querySelector(\n `[${this.queryDataAttribute}=\"${CSS.escape(escaped)}\"]`\n );\n }\n\n return this.activeDescendantElement?.closest('ul') === panel;\n }\n\n private getAndFilterLeftSuggestionElements() {\n const suggestionElements = this.getSuggestionElements(this.leftSuggestions);\n const filterOnDuplicate = new Set();\n\n const out = suggestionElements.filter((suggestionElement) => {\n if (isNullOrUndefined(suggestionElement.query)) {\n return true;\n }\n if (filterOnDuplicate.has(suggestionElement.query)) {\n return false;\n } else {\n filterOnDuplicate.add(suggestionElement.query);\n return true;\n }\n });\n\n return out;\n }\n\n private getSuggestionElements(suggestions: SearchBoxSuggestions[]) {\n const elements = suggestions.flatMap((suggestion) =>\n suggestion.renderItems()\n );\n\n const max =\n this.ownerSearchBoxProps.getNumberOfSuggestionsToDisplay() +\n elements.filter(elementHasNoQuery).length;\n\n return elements.slice(0, max);\n }\n\n private updateDescendants(activeDescendant = '') {\n const newPrevDescendantElement = this.activeDescendantElement;\n this.previousActiveDescendantElement = newPrevDescendantElement;\n this.updateActiveDescendant(activeDescendant);\n }\n\n private clearSuggestionElements() {\n this.leftSuggestionElements = [];\n this.rightSuggestionElements = [];\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["SmartSnippetFeedbackModalHeader","i18n","h","slot","t","SmartSnippetFeedbackModalBody","formId","onSubmit","children","part","id","class","SmartSnippetFeebackModalOptions","SmartSnippetFeedbackModalOption","correspondingAnswer","currentAnswer","localeKey","onChange","key","type","name","checked","required","htmlFor","SmartSnippetFeedbackModalDetails","setDetailsInputRef","ref","rows","SmartSnippetFeedbackModalFooter","onClick","Button","style","form","smartSnippetFeedbackOptions"],"sources":["src/components/common/smart-snippets/atomic-smart-snippet-feedback-modal/smart-snippet-feedback-modal-common.tsx"],"sourcesContent":["import type {SmartSnippetFeedback} from '@coveo/headless';\nimport {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../../stencil-button';\n\nexport const SmartSnippetFeedbackModalHeader: FunctionalComponent<{\n i18n: i18n;\n}> = ({i18n}) => {\n return <h1 slot=\"header\">{i18n.t('smart-snippet-feedback-explain-why')}</h1>;\n};\n\nexport const SmartSnippetFeedbackModalBody: FunctionalComponent<{\n formId: string;\n onSubmit: (e: Event) => void;\n}> = ({formId, onSubmit}, children) => {\n return (\n <form\n part=\"form\"\n id={formId}\n slot=\"body\"\n onSubmit={onSubmit}\n class=\"flex flex-col gap-8\"\n >\n {children}\n </form>\n );\n};\n\nexport const SmartSnippetFeebackModalOptions: FunctionalComponent<{\n i18n: i18n;\n}> = ({i18n}, children) => {\n return (\n <fieldset>\n <legend part=\"reason-title\" class=\"text-on-background text-lg font-bold\">\n {i18n.t('smart-snippet-feedback-select-reason')}\n </legend>\n {children}\n </fieldset>\n );\n};\n\nexport const SmartSnippetFeedbackModalOption: FunctionalComponent<{\n correspondingAnswer: SmartSnippetFeedback | 'other';\n currentAnswer?: SmartSnippetFeedback | 'other';\n i18n: i18n;\n id: string;\n localeKey: string;\n onChange: (e: Event) => void;\n}> = ({correspondingAnswer, currentAnswer, i18n, id, localeKey, onChange}) => {\n return (\n <div class=\"flex items-center\" key={id} part=\"reason\">\n <input\n part=\"reason-radio\"\n type=\"radio\"\n name=\"answer\"\n id={id}\n checked={currentAnswer === correspondingAnswer}\n onChange={onChange}\n class=\"mr-2 h-4 w-4\"\n required\n />\n <label part=\"reason-label\" htmlFor={id}>\n {i18n.t(localeKey)}\n </label>\n </div>\n );\n};\n\nexport const SmartSnippetFeedbackModalDetails: FunctionalComponent<{\n currentAnswer?: SmartSnippetFeedback | 'other';\n i18n: i18n;\n setDetailsInputRef: (ref?: HTMLTextAreaElement) => void;\n}> = ({currentAnswer, i18n, setDetailsInputRef}) => {\n if (currentAnswer !== 'other') {\n return;\n }\n\n return (\n <fieldset>\n <legend part=\"details-title\" class=\"text-on-background text-lg font-bold\">\n {i18n.t('details')}\n </legend>\n <textarea\n part=\"details-input\"\n name=\"answer-details\"\n ref={setDetailsInputRef}\n class=\"border-neutral mt-2 w-full resize-none rounded border p-2 text-base leading-5\"\n rows={4}\n required\n ></textarea>\n </fieldset>\n );\n};\n\nexport const SmartSnippetFeedbackModalFooter: FunctionalComponent<{\n formId: string;\n i18n: i18n;\n onClick: (e: MouseEvent) => void;\n}> = ({formId, i18n, onClick}) => {\n return (\n <div part=\"buttons\" slot=\"footer\" class=\"flex justify-end gap-2\">\n <Button\n part=\"cancel-button\"\n style=\"outline-neutral\"\n class=\"text-primary\"\n onClick={onClick}\n >\n {i18n.t('cancel')}\n </Button>\n <Button part=\"submit-button\" style=\"primary\" type=\"submit\" form={formId}>\n {i18n.t('feedback-send')}\n </Button>\n </div>\n );\n};\n\nexport const smartSnippetFeedbackOptions: {\n id: string;\n localeKey: string;\n correspondingAnswer: SmartSnippetFeedback | 'other';\n}[] = [\n {\n id: 'does-not-answer',\n localeKey: 'smart-snippet-feedback-reason-does-not-answer',\n correspondingAnswer: 'does_not_answer',\n },\n {\n id: 'partially-answers',\n localeKey: 'smart-snippet-feedback-reason-partially-answers',\n correspondingAnswer: 'partially_answers',\n },\n {\n id: 'was-not-a-question',\n localeKey: 'smart-snippet-feedback-reason-was-not-a-question',\n correspondingAnswer: 'was_not_a_question',\n },\n {\n id: 'other',\n localeKey: 'smart-snippet-feedback-reason-other',\n correspondingAnswer: 'other',\n },\n];\n"],"mappings":"8EAKaA,EAER,EAAEC,UACEC,EAAA,MAAIC,KAAK,UAAUF,EAAKG,EAAE,uC,MAGtBC,EAGR,EAAEC,SAAQC,YAAWC,IAEtBN,EAAA,QACEO,KAAK,OACLC,GAAIJ,EACJH,KAAK,OACLI,SAAUA,EACVI,MAAM,uBAELH,G,MAKMI,EAER,EAAEX,QAAOO,IAEVN,EAAA,gBACEA,EAAA,UAAQO,KAAK,eAAeE,MAAM,wCAC/BV,EAAKG,EAAE,yCAETI,G,MAKMK,EAOR,EAAEC,sBAAqBC,gBAAed,OAAMS,KAAIM,YAAWC,cAE5Df,EAAA,OAAKS,MAAM,oBAAoBO,IAAKR,EAAID,KAAK,UAC3CP,EAAA,SACEO,KAAK,eACLU,KAAK,QACLC,KAAK,SACLV,GAAIA,EACJW,QAASN,IAAkBD,EAC3BG,SAAUA,EACVN,MAAM,eACNW,SAAQ,OAEVpB,EAAA,SAAOO,KAAK,eAAec,QAASb,GACjCT,EAAKG,EAAEY,K,MAMHQ,EAIR,EAAET,gBAAed,OAAMwB,yBAC1B,GAAIV,IAAkB,QAAS,CAC7B,M,CAGF,OACEb,EAAA,gBACEA,EAAA,UAAQO,KAAK,gBAAgBE,MAAM,wCAChCV,EAAKG,EAAE,YAEVF,EAAA,YACEO,KAAK,gBACLW,KAAK,iBACLM,IAAKD,EACLd,MAAM,gFACNgB,KAAM,EACNL,SAAQ,OAED,E,MAIFM,EAIR,EAAEtB,SAAQL,OAAM4B,aAEjB3B,EAAA,OAAKO,KAAK,UAAUN,KAAK,SAASQ,MAAM,0BACtCT,EAAC4B,EAAM,CACLrB,KAAK,gBACLsB,MAAM,kBACNpB,MAAM,eACNkB,QAASA,GAER5B,EAAKG,EAAE,WAEVF,EAAC4B,EAAM,CAACrB,KAAK,gBAAgBsB,MAAM,UAAUZ,KAAK,SAASa,KAAM1B,GAC9DL,EAAKG,EAAE,mB,MAMH6B,EAIP,CACJ,CACEvB,GAAI,kBACJM,UAAW,gDACXF,oBAAqB,mBAEvB,CACEJ,GAAI,oBACJM,UAAW,kDACXF,oBAAqB,qBAEvB,CACEJ,GAAI,qBACJM,UAAW,mDACXF,oBAAqB,sBAEvB,CACEJ,GAAI,QACJM,UAAW,sCACXF,oBAAqB,iB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["RefineModal","props","children","flushFacetElements","host","querySelector","remove","renderHeader","h","slot","class","part","title","Button","style","onClick","onClose","ariaLabel","i18n","t","icon","CloseIcon","renderFooter","text","numberOfItems","toLocaleString","language","fullscreen","isOpen","source","openButton","container","close","onAnimationEnded","exportparts","ATOMIC_MODAL_EXPORT_PARTS","boundary","scope"],"sources":["src/components/common/refine-modal/stencil-modal.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport CloseIcon from '../../../images/close.svg';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../atomic-modal/export-parts';\nimport {Button} from '../stencil-button';\n\ninterface RefineModalProps {\n host: HTMLElement;\n i18n: i18n;\n onClose(): void;\n title: string;\n numberOfItems: number;\n isOpen: boolean;\n openButton?: HTMLElement;\n boundary?: 'page' | 'element';\n scope?: HTMLElement;\n}\n\nexport const RefineModal: FunctionalComponent<RefineModalProps> = (\n props,\n children\n) => {\n const flushFacetElements = () => {\n props.host.querySelector('div[slot=\"facets\"]')?.remove();\n };\n\n const renderHeader = () => {\n return (\n <div slot=\"header\" class=\"contents\">\n <h1 part=\"title\" class=\"truncate\">\n {props.title}\n </h1>\n <Button\n style=\"text-transparent\"\n class=\"grid place-items-center\"\n part=\"close-button\"\n onClick={props.onClose}\n ariaLabel={props.i18n.t('close')}\n >\n <atomic-icon\n part=\"close-icon\"\n class=\"h-5 w-5\"\n icon={CloseIcon}\n ></atomic-icon>\n </Button>\n </div>\n );\n };\n\n const renderFooter = () => {\n return (\n <div part=\"footer-content\" slot=\"footer\">\n <Button\n style=\"primary\"\n part=\"footer-button\"\n class=\"flex w-full justify-center p-3 text-lg\"\n onClick={props.onClose}\n >\n <span part=\"footer-button-text\" class=\"mr-1 truncate\">\n {props.i18n.t('view-results')}\n </span>\n <span part=\"footer-button-count\">\n {props.i18n.t('between-parentheses', {\n text: props.numberOfItems.toLocaleString(props.i18n.language),\n })}\n </span>\n </Button>\n </div>\n );\n };\n\n return (\n <atomic-modal\n fullscreen\n isOpen={props.isOpen}\n source={props.openButton}\n container={props.host}\n close={props.onClose}\n onAnimationEnded={() => {\n if (!props.isOpen) {\n flushFacetElements();\n }\n }}\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n boundary={props.boundary}\n scope={props.scope}\n >\n {renderHeader()}\n {...children}\n {renderFooter()}\n </atomic-modal>\n );\n};\n"],"mappings":"sJAkBaA,EAAqD,CAChEC,EACAC,KAEA,MAAMC,EAAqB,KACzBF,EAAMG,KAAKC,cAAc,uBAAuBC,QAAQ,EAG1D,MAAMC,EAAe,IAEjBC,EAAA,OAAKC,KAAK,SAASC,MAAM,YACvBF,EAAA,MAAIG,KAAK,QAAQD,MAAM,YACpBT,EAAMW,OAETJ,EAACK,EAAM,CACLC,MAAM,mBACNJ,MAAM,0BACNC,KAAK,eACLI,QAASd,EAAMe,QACfC,UAAWhB,EAAMiB,KAAKC,EAAE,UAExBX,EAAA,eACEG,KAAK,aACLD,MAAM,UACNU,KAAMC,MAOhB,MAAMC,EAAe,IAEjBd,EAAA,OAAKG,KAAK,iBAAiBF,KAAK,UAC9BD,EAACK,EAAM,CACLC,MAAM,UACNH,KAAK,gBACLD,MAAM,yCACNK,QAASd,EAAMe,SAEfR,EAAA,QAAMG,KAAK,qBAAqBD,MAAM,iBACnCT,EAAMiB,KAAKC,EAAE,iBAEhBX,EAAA,QAAMG,KAAK,uBACRV,EAAMiB,KAAKC,EAAE,sBAAuB,CACnCI,KAAMtB,EAAMuB,cAAcC,eAAexB,EAAMiB,KAAKQ,eAQhE,OACElB,EAAA,gBACEmB,WAAU,KACVC,OAAQ3B,EAAM2B,OACdC,OAAQ5B,EAAM6B,WACdC,UAAW9B,EAAMG,KACjB4B,MAAO/B,EAAMe,QACbiB,iBAAkB,KAChB,IAAKhC,EAAM2B,OAAQ,CACjBzB,G,GAGJ+B,YAAaC,EACbC,SAAUnC,EAAMmC,SAChBC,MAAOpC,EAAMoC,OAEZ9B,OACGL,EACHoB,IACY,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["DisplayGrid","setRef","selectorForItem","children","ref","h","part","element","onClick","event","preventDefault","querySelector","click"],"sources":["src/components/common/item-list/stencil-display-grid.tsx"],"sourcesContent":["// The Lit equivalent of this file is grid-layout.ts\nimport {FunctionalComponent, h} from '@stencil/core';\n\nexport interface DisplayGridProps {\n selectorForItem: string;\n item: {clickUri: string; title: string};\n setRef: (element?: HTMLElement) => void;\n select: () => void;\n beginDelayedSelect: () => void;\n cancelPendingSelect: () => void;\n}\n\nexport const DisplayGrid: FunctionalComponent<DisplayGridProps> = (\n {setRef, selectorForItem},\n children\n) => {\n let ref: HTMLElement | undefined;\n return (\n <div\n part=\"result-list-grid-clickable-container outline\"\n ref={(element) => {\n ref = element;\n setRef(element);\n }}\n onClick={(event) => {\n event.preventDefault();\n (ref?.querySelector(selectorForItem) as HTMLElement)?.click();\n }}\n >\n {...children}\n </div>\n );\n};\n"],"mappings":"0CAYaA,EAAqD,EAC/DC,SAAQC,mBACTC,KAEA,IAAIC,EACJ,OACEC,EAAA,OACEC,KAAK,+CACLF,IAAMG,IACJH,EAAMG,EACNN,EAAOM,EAAQ,EAEjBC,QAAUC,IACRA,EAAMC,iBACLN,GAAKO,cAAcT,IAAkCU,OAAO,MAG3DT,EACA,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["FacetGuard","hasError","enabled","firstSearchExecuted","hasResults","children","h","Hidden","Fragment"],"sources":["src/components/common/facets/facet-guard.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {Hidden} from '../stencil-hidden';\n\ninterface FacetGuardProps {\n hasError: boolean;\n enabled: boolean;\n firstSearchExecuted: boolean;\n hasResults: boolean;\n}\nexport const FacetGuard: FunctionalComponent<FacetGuardProps> = (\n {hasError, enabled, firstSearchExecuted, hasResults},\n children\n) => {\n if (hasError || !enabled || (firstSearchExecuted && !hasResults)) {\n return <Hidden></Hidden>;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n"],"mappings":"qFASaA,EAAmD,EAC7DC,WAAUC,UAASC,sBAAqBC,cACzCC,KAEA,GAAIJ,IAAaC,GAAYC,IAAwBC,EAAa,CAChE,OAAOE,EAACC,EAAM,K,CAGhB,OAAOD,EAACE,EAAQ,KAAEH,EAAoB,S","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{h as e}from"./p-dc3df5ce.js";import{F as s}from"./p-4ecabf56.js";import{F as t}from"./p-d4c2b7c0.js";import{F as a}from"./p-0e6f1e14.js";import{g as c}from"./p-55d2bcf3.js";import{F as l}from"./p-2a02812b.js";const r=({manualRanges:e,field:s,i18n:t,facetValue:a,logger:l,formatter:r})=>{const i=e.find((e=>n(e,a)))?.label;return i?c(s,i,t):t.t("to",{start:o(a.start,t,l,r),end:o(a.end,t,l,r)})};const o=(e,s,t,a)=>{try{return a(e,s.languages)}catch(s){t.error(`atomic-numeric-facet facet value "${e}" could not be formatted correctly.`,s);return e}};const n=(e,s)=>e.start===s.start&&e.end===s.end&&e.endInclusive===s.endInclusive;const i=c=>{const{facetValue:l,displayValuesAs:o,i18n:n,onClick:i}=c;const u=r(c);const f=l.state==="selected";switch(o){case"checkbox":return e(s,{displayValue:u,numberOfResults:l.numberOfResults,isSelected:f,i18n:n,onClick:()=>i()},e(t,{displayValue:u,isSelected:f}));case"link":return e(a,{displayValue:u,numberOfResults:l.numberOfResults,isSelected:f,i18n:n,onClick:i},e(t,{displayValue:u,isSelected:f}))}};const u=({i18n:s,label:t},a)=>e(l,{i18n:s,label:t},e("ul",{class:"mt-3",part:"values"},a));export{i as N,u as a,r as f};
2
- //# sourceMappingURL=p-20fc8a6c.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["SmartSnippetFeedbackBanner","props","inquiryId","id","thankYouId","radioGroupName","Inquiry","h","part","class","i18n","t","Buttons","liked","icon","Checkmark","RadioButton","groupName","text","checked","onChecked","onLike","disliked","Cross","onDislike","ThankYouMessage","ExplainWhyButton","Button","style","onClick","onPressExplainWhy","ref","element","explainWhyRef","ThankYouContainer","visible","feedbackSent","role","SmartSnippetWrapper","headingLevel","children","Heading","level","SmartSnippetQuestion","question","SmartSnippetTruncatedAnswer","answer","exportparts","htmlContent","innerStyle","SmartSnippetFooter"],"sources":["src/components/common/smart-snippets/atomic-smart-snippet-feedback-banner.tsx","src/components/common/smart-snippets/atomic-smart-snippet/smart-snippet-common.tsx"],"sourcesContent":["import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport Checkmark from '../../../images/checkmark.svg';\nimport Cross from '../../../images/cross.svg';\nimport {Button} from '../stencil-button';\nimport {RadioButton} from '../stencil-radio-button';\n\ninterface SmartSnippetFeedbackBannerProps {\n i18n: i18n;\n id: string;\n liked: boolean;\n disliked: boolean;\n feedbackSent: boolean;\n onLike(): void;\n onDislike(): void;\n onPressExplainWhy(): void;\n explainWhyRef?(element?: HTMLButtonElement): void;\n}\n\nexport const SmartSnippetFeedbackBanner: FunctionalComponent<\n SmartSnippetFeedbackBannerProps\n> = (props) => {\n const inquiryId = 'feedback-inquiry-' + props.id;\n const thankYouId = 'feedback-thank-you-' + props.id;\n const radioGroupName = 'feedback-options-' + props.id;\n\n const Inquiry = () => (\n <span id={inquiryId} part=\"feedback-inquiry\" class=\"shrink-0\">\n {props.i18n.t('smart-snippet-feedback-inquiry')}\n </span>\n );\n\n const Buttons = () => (\n <div part=\"feedback-buttons\" class=\"flex gap-x-4\">\n <label\n part=\"feedback-like-button\"\n class={\n 'flex items-center gap-x-1.5 ' +\n (props.liked ? 'text-success' : 'cursor-pointer hover:underline')\n }\n >\n <atomic-icon icon={Checkmark} class=\"w-3.5\"></atomic-icon>\n <RadioButton\n groupName={radioGroupName}\n text={props.i18n.t('yes')}\n checked={props.liked}\n onChecked={() => props.onLike()}\n class=\"cursor-[inherit] text-[inherit]\"\n ></RadioButton>\n </label>\n <label\n part=\"feedback-dislike-button\"\n class={\n 'flex items-center gap-x-1.5 ' +\n (props.disliked ? 'text-error' : 'cursor-pointer hover:underline')\n }\n >\n <atomic-icon icon={Cross} class=\"w-3.5\"></atomic-icon>\n <RadioButton\n groupName={radioGroupName}\n text={props.i18n.t('no')}\n checked={props.disliked}\n onChecked={() => props.onDislike()}\n class=\"cursor-[inherit] text-[inherit]\"\n ></RadioButton>\n </label>\n </div>\n );\n\n const ThankYouMessage = () => (\n <span id={thankYouId} part=\"feedback-thank-you\" class=\"inline-flex\">\n {props.i18n.t('smart-snippet-feedback-thanks')}\n </span>\n );\n\n const ExplainWhyButton = () => (\n <Button\n part=\"feedback-explain-why-button\"\n style=\"text-primary\"\n onClick={() => props.onPressExplainWhy()}\n ref={(element) => props.explainWhyRef?.(element)}\n >\n {props.i18n.t('smart-snippet-feedback-explain-why')}\n </Button>\n );\n\n const ThankYouContainer = ({visible}: {visible: boolean}) =>\n visible ? (\n <div part=\"feedback-thank-you-wrapper\" class=\"flex flex-wrap gap-1\">\n <ThankYouMessage></ThankYouMessage>\n {props.disliked && !props.feedbackSent ? (\n <ExplainWhyButton></ExplainWhyButton>\n ) : (\n []\n )}\n </div>\n ) : (\n []\n );\n\n return (\n <div\n part=\"feedback-banner\"\n class=\"flex flex-wrap items-center gap-4 text-sm leading-4\"\n >\n <div\n part=\"feedback-inquiry-and-buttons\"\n role=\"radiogroup\"\n aria-labelledby={inquiryId}\n class=\"inline-flex flex-wrap gap-4\"\n >\n <Inquiry></Inquiry>\n <Buttons></Buttons>\n </div>\n <ThankYouContainer\n visible={props.liked || props.disliked}\n ></ThankYouContainer>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Heading} from '../../stencil-heading';\n\nexport interface SmartSnippetQuestionProps {\n headingLevel?: number;\n question: string;\n}\n\nexport const SmartSnippetWrapper: FunctionalComponent<{\n headingLevel?: number;\n i18n: i18n;\n}> = ({headingLevel, i18n}, children) => {\n return (\n <aside>\n <Heading level={headingLevel ?? 0} class=\"sr-only\">\n {i18n.t('smart-snippet')}\n </Heading>\n <article\n class=\"bg-background border-neutral text-on-background rounded-lg border p-6 pb-4\"\n part=\"smart-snippet\"\n >\n {children}\n </article>\n </aside>\n );\n};\n\nexport const SmartSnippetQuestion: FunctionalComponent<{\n headingLevel?: number;\n question: string;\n}> = ({headingLevel, question}) => {\n return (\n <Heading\n level={headingLevel ? headingLevel + 1 : 0}\n class=\"text-xl font-bold\"\n part=\"question\"\n >\n {question}\n </Heading>\n );\n};\n\nexport const SmartSnippetTruncatedAnswer: FunctionalComponent<{\n answer: string;\n style?: string;\n}> = ({answer, style}) => {\n return (\n <div part=\"truncated-answer\">\n <atomic-smart-snippet-answer\n exportparts=\"answer\"\n part=\"body\"\n htmlContent={answer}\n innerStyle={style}\n ></atomic-smart-snippet-answer>\n </div>\n );\n};\n\nexport const SmartSnippetFooter: FunctionalComponent<{i18n: i18n}> = (\n {i18n},\n children\n) => {\n return (\n <footer part=\"footer\" aria-label={i18n.t('smart-snippet-source')}>\n {children}\n </footer>\n );\n};\n"],"mappings":"oyBAmBaA,EAERC,IACH,MAAMC,EAAY,oBAAsBD,EAAME,GAC9C,MAAMC,EAAa,sBAAwBH,EAAME,GACjD,MAAME,EAAiB,oBAAsBJ,EAAME,GAEnD,MAAMG,EAAU,IACdC,EAAA,QAAMJ,GAAID,EAAWM,KAAK,mBAAmBC,MAAM,YAChDR,EAAMS,KAAKC,EAAE,mCAIlB,MAAMC,EAAU,IACdL,EAAA,OAAKC,KAAK,mBAAmBC,MAAM,gBACjCF,EAAA,SACEC,KAAK,uBACLC,MACE,gCACCR,EAAMY,MAAQ,eAAiB,mCAGlCN,EAAA,eAAaO,KAAMC,EAAWN,MAAM,UACpCF,EAACS,EAAW,CACVC,UAAWZ,EACXa,KAAMjB,EAAMS,KAAKC,EAAE,OACnBQ,QAASlB,EAAMY,MACfO,UAAW,IAAMnB,EAAMoB,SACvBZ,MAAM,qCAGVF,EAAA,SACEC,KAAK,0BACLC,MACE,gCACCR,EAAMqB,SAAW,aAAe,mCAGnCf,EAAA,eAAaO,KAAMS,EAAOd,MAAM,UAChCF,EAACS,EAAW,CACVC,UAAWZ,EACXa,KAAMjB,EAAMS,KAAKC,EAAE,MACnBQ,QAASlB,EAAMqB,SACfF,UAAW,IAAMnB,EAAMuB,YACvBf,MAAM,sCAMd,MAAMgB,EAAkB,IACtBlB,EAAA,QAAMJ,GAAIC,EAAYI,KAAK,qBAAqBC,MAAM,eACnDR,EAAMS,KAAKC,EAAE,kCAIlB,MAAMe,EAAmB,IACvBnB,EAACoB,EAAM,CACLnB,KAAK,8BACLoB,MAAM,eACNC,QAAS,IAAM5B,EAAM6B,oBACrBC,IAAMC,GAAY/B,EAAMgC,gBAAgBD,IAEvC/B,EAAMS,KAAKC,EAAE,uCAIlB,MAAMuB,EAAoB,EAAEC,aAC1BA,EACE5B,EAAA,OAAKC,KAAK,6BAA6BC,MAAM,wBAC3CF,EAACkB,EAAe,MACfxB,EAAMqB,WAAarB,EAAMmC,aACxB7B,EAACmB,EAAgB,MAAoB,IAInC,GAKV,OACEnB,EAAA,OACEC,KAAK,kBACLC,MAAM,uDAENF,EAAA,OACEC,KAAK,+BACL6B,KAAK,aAAY,kBACAnC,EACjBO,MAAM,+BAENF,EAACD,EAAO,MACRC,EAACK,EAAO,OAEVL,EAAC2B,EAAiB,CAChBC,QAASlC,EAAMY,OAASZ,EAAMqB,WAE5B,E,MC5GGgB,EAGR,EAAEC,eAAc7B,QAAO8B,IAExBjC,EAAA,aACEA,EAACkC,EAAO,CAACC,MAAOH,GAAgB,EAAG9B,MAAM,WACtCC,EAAKC,EAAE,kBAEVJ,EAAA,WACEE,MAAM,6EACND,KAAK,iBAEJgC,I,MAMIG,EAGR,EAAEJ,eAAcK,cAEjBrC,EAACkC,EAAO,CACNC,MAAOH,EAAeA,EAAe,EAAI,EACzC9B,MAAM,oBACND,KAAK,YAEJoC,G,MAKMC,EAGR,EAAEC,SAAQlB,WAEXrB,EAAA,OAAKC,KAAK,oBACRD,EAAA,+BACEwC,YAAY,SACZvC,KAAK,OACLwC,YAAaF,EACbG,WAAYrB,K,MAMPsB,EAAwD,EAClExC,QACD8B,IAGEjC,EAAA,UAAQC,KAAK,SAAQ,aAAaE,EAAKC,EAAE,yBACtC6B,U","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{h as e}from"./p-dc3df5ce.js";import{F as r}from"./p-4b1dc787.js";const s=(s,t)=>{if(!s.label){return t}const a=s.i18n.t(s.label);const c=s.query===undefined?s.i18n.t("facet-values",{label:a}):s.i18n.t("facet-search-results",{query:s.query,label:a});return e(r,{label:c},t)};export{s as F};
2
- //# sourceMappingURL=p-2a02812b.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["FacetValuesGroup","props","children","label","facetDisplayLabel","i18n","t","groupLabel","query","undefined","h","FieldsetGroup"],"sources":["src/components/common/facets/facet-values-group/stencil-facet-values-group.tsx"],"sourcesContent":["import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {FieldsetGroup} from '../../stencil-fieldset-group';\n\nexport interface FacetValuesGroupProps {\n i18n: i18n;\n label?: string;\n query?: string;\n}\n\nexport const FacetValuesGroup: FunctionalComponent<FacetValuesGroupProps> = (\n props,\n children\n) => {\n if (!props.label) {\n return children;\n }\n const facetDisplayLabel = props.i18n.t(props.label);\n const groupLabel =\n props.query === undefined\n ? props.i18n.t('facet-values', {label: facetDisplayLabel})\n : props.i18n.t('facet-search-results', {\n query: props.query,\n label: facetDisplayLabel,\n });\n\n return <FieldsetGroup label={groupLabel}>{children}</FieldsetGroup>;\n};\n"],"mappings":"8EAUaA,EAA+D,CAC1EC,EACAC,KAEA,IAAKD,EAAME,MAAO,CAChB,OAAOD,C,CAET,MAAME,EAAoBH,EAAMI,KAAKC,EAAEL,EAAME,OAC7C,MAAMI,EACJN,EAAMO,QAAUC,UACZR,EAAMI,KAAKC,EAAE,eAAgB,CAACH,MAAOC,IACrCH,EAAMI,KAAKC,EAAE,uBAAwB,CACnCE,MAAOP,EAAMO,MACbL,MAAOC,IAGf,OAAOM,EAACC,EAAa,CAACR,MAAOI,GAAaL,EAAyB,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["Cancel","i18n","onClick","h","Button","style","part","text","t","class","getSummary","query","hasResults","i18nKey","labelFor","interpolation","escapeValue","atomicNoResultsCss","AtomicNoResultsStyle0","AtomicNoResults","this","enableCancelLastAction","initialize","searchStatus","buildSearchStatus","bindings","engine","history","buildHistoryManager","querySummary","buildQuerySummary","render","ariaMessage","querySummaryState","searchStatusState","NoItemsGuard","key","NoItemsContainer","MagnifyingGlass","NoItems","SearchTips","historyState","past","length","backOnNoResults","__decorate","InitializeBindings","BindStateToController","AriaLiveRegion"],"sources":["src/components/common/no-items/cancel.tsx","src/components/common/no-items/utils.ts","src/components/search/atomic-no-results/atomic-no-results.pcss?tag=atomic-no-results&encapsulation=shadow","src/components/search/atomic-no-results/atomic-no-results.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\ninterface CancelProps {\n i18n: i18n;\n onClick: () => void;\n}\nexport const Cancel: FunctionalComponent<CancelProps> = ({i18n, onClick}) => {\n return (\n <Button\n style=\"primary\"\n part=\"cancel-button\"\n text={i18n.t('cancel-last-action')}\n onClick={() => onClick()}\n class=\"my-3 px-2.5 py-3 font-bold\"\n ></Button>\n );\n};\n","import type {i18n} from 'i18next';\n\nexport const getSummary = (\n i18n: i18n,\n query: string,\n hasResults: boolean,\n i18nKey: 'no-products' | 'no-results'\n) => {\n if (hasResults) {\n return '';\n }\n\n const labelFor = `${i18nKey}-for`;\n\n return query\n ? i18n.t(labelFor, {\n interpolation: {escapeValue: false},\n query,\n })\n : i18n.t(i18nKey);\n};\n","@import '../../../global/global.pcss';\n","import {\n buildHistoryManager,\n HistoryManager,\n HistoryManagerState,\n buildSearchStatus,\n SearchStatus,\n SearchStatusState,\n QuerySummary,\n QuerySummaryState,\n buildQuerySummary,\n} from '@coveo/headless';\nimport {Component, h, Prop, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {Cancel} from '../../common/no-items/cancel';\nimport {NoItemsContainer} from '../../common/no-items/stencil-container';\nimport {NoItemsGuard} from '../../common/no-items/stencil-guard';\nimport {MagnifyingGlass} from '../../common/no-items/stencil-magnifying-glass';\nimport {NoItems} from '../../common/no-items/stencil-no-items';\nimport {SearchTips} from '../../common/no-items/stencil-tips';\nimport {getSummary} from '../../common/no-items/utils';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-no-results` component displays search tips and a \"Cancel last action\" button when there are no results. Any additional content slotted inside of its element will be displayed as well.\n *\n * @part cancel-button - The \"Cancel last action\" button.\n * @part no-results - The text indicating that no results were found for the search.\n * @part search-tips - The search tips to help the user correct the query.\n * @part highlight - The highlighted query.\n * @part icon - The magnifying glass icon.\n *\n * @slot default - Any additional content slotted inside of its element will be displayed as well.\n */\n@Component({\n tag: 'atomic-no-results',\n styleUrl: 'atomic-no-results.pcss',\n shadow: true,\n})\nexport class AtomicNoResults {\n @InitializeBindings() public bindings!: Bindings;\n public searchStatus!: SearchStatus;\n public history!: HistoryManager;\n public querySummary!: QuerySummary;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n @BindStateToController('history')\n @State()\n private historyState!: HistoryManagerState;\n @BindStateToController('querySummary')\n @State()\n private querySummaryState!: QuerySummaryState;\n @State() public error!: Error;\n\n @AriaLiveRegion('no-results')\n protected ariaMessage!: string;\n\n /**\n * Whether to display a button which cancels the last available action.\n */\n @Prop({reflect: true}) enableCancelLastAction = true;\n\n public initialize() {\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.history = buildHistoryManager(this.bindings.engine);\n this.querySummary = buildQuerySummary(this.bindings.engine);\n }\n\n public render() {\n const {\n bindings: {i18n},\n } = this;\n this.ariaMessage = getSummary(\n i18n,\n this.querySummaryState.query,\n this.searchStatusState.hasResults,\n 'no-results'\n );\n\n return (\n <NoItemsGuard {...this.searchStatusState}>\n <NoItemsContainer>\n <MagnifyingGlass />\n <NoItems\n query={this.querySummaryState.query}\n i18n={i18n}\n i18nKey=\"no-results\"\n />\n <SearchTips i18n={i18n} />\n {this.enableCancelLastAction && this.historyState.past.length ? (\n <Cancel\n i18n={i18n}\n onClick={() => this.history.backOnNoResults()}\n />\n ) : null}\n </NoItemsContainer>\n </NoItemsGuard>\n );\n }\n}\n"],"mappings":"0hBAQO,MAAMA,EAA2C,EAAEC,OAAMC,aAE5DC,EAACC,EAAM,CACLC,MAAM,UACNC,KAAK,gBACLC,KAAMN,EAAKO,EAAE,sBACbN,QAAS,IAAMA,IACfO,MAAM,+BCbL,MAAMC,EAAa,CACxBT,EACAU,EACAC,EACAC,KAEA,GAAID,EAAY,CACd,MAAO,E,CAGT,MAAME,EAAW,GAAGD,QAEpB,OAAOF,EACHV,EAAKO,EAAEM,EAAU,CACfC,cAAe,CAACC,YAAa,OAC7BL,UAEFV,EAAKO,EAAEK,EAAQ,ECnBrB,MAAMI,EAAqB,+8iEAC3B,MAAAC,EAAeD,E,iXCyCFE,EAAe,M,yBAuBHC,KAAAC,uBAAyB,K,+IAAA,I,CAEzC,UAAAC,GACLF,KAAKG,aAAeC,EAAkBJ,KAAKK,SAASC,QACpDN,KAAKO,QAAUC,EAAoBR,KAAKK,SAASC,QACjDN,KAAKS,aAAeC,EAAkBV,KAAKK,SAASC,O,CAG/C,MAAAK,GACL,MACEN,UAAUxB,KAACA,IACTmB,KACJA,KAAKY,YAActB,EACjBT,EACAmB,KAAKa,kBAAkBtB,MACvBS,KAAKc,kBAAkBtB,WACvB,cAGF,OACET,EAACgC,EAAY,CAAAC,IAAA,8CAAKhB,KAAKc,mBACrB/B,EAACkC,EAAgB,CAAAD,IAAA,4CACfjC,EAACmC,EAAe,CAAAF,IAAA,6CAChBjC,EAACoC,EAAO,CAAAH,IAAA,2CACNzB,MAAOS,KAAKa,kBAAkBtB,MAC9BV,KAAMA,EACNY,QAAQ,eAEVV,EAACqC,EAAU,CAAAJ,IAAA,2CAACnC,KAAMA,IACjBmB,KAAKC,wBAA0BD,KAAKqB,aAAaC,KAAKC,OACrDxC,EAACH,EAAM,CACLC,KAAMA,EACNC,QAAS,IAAMkB,KAAKO,QAAQiB,oBAE5B,M,GAxDiBC,EAAA,CAA5BC,K,+BAOOD,EAAA,CAFPE,EAAsB,iB,wCAKfF,EAAA,CAFPE,EAAsB,Y,mCAKfF,EAAA,CAFPE,EAAsB,iB,wCAMbF,EAAA,CADTG,EAAe,e","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["FieldValueIsNaNError","Error","constructor","field","value","super","this","name","Rating","props","width","numberOfActiveIcons","numberOfTotalIcons","toString","iconSize","renderIcon","active","h","icon","class","style","height","part","emptyIconDisplay","i","push","filledIconDisplay","role","i18n","t","count","max","computeNumberOfStars","valueAsNumber","parseFloat","Number","isNaN"],"sources":["src/components/commerce/product-template-component-utils/error.ts","src/components/common/atomic-rating/stencil-rating.tsx"],"sourcesContent":["export class FieldValueIsNaNError extends Error {\n constructor(field: string, value?: {}) {\n super(`Could not parse \"${value}\" from field \"${field}\" as a number.`);\n this.name = 'FieldValueIsNaNError';\n }\n}\n","import {FunctionalComponent, h, VNode} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {FieldValueIsNaNError} from '../../commerce/product-template-component-utils/error';\n\ninterface RatingProps {\n i18n: i18n;\n numberOfTotalIcons: number;\n numberOfActiveIcons: number;\n icon: string;\n iconSize?: number;\n}\n/** \n * @deprecated Use `renderRating` instead. \n*/\nexport const Rating: FunctionalComponent<RatingProps> = (props) => {\n const width =\n ((props.numberOfActiveIcons / props.numberOfTotalIcons) * 100).toString() +\n '%';\n const iconSize = `${props.iconSize ?? 0.75}rem`;\n\n const renderIcon = (active: boolean) => {\n return (\n <atomic-icon\n icon={props.icon}\n class={`shrink-0 ${active ? 'icon-active' : 'icon-inactive'}`}\n style={{width: iconSize, height: iconSize}}\n part=\"value-rating-icon\"\n ></atomic-icon>\n );\n };\n\n const emptyIconDisplay = () => {\n const emptyIconDisplay: VNode[] = [];\n for (let i = 0; i < props.numberOfTotalIcons; i++) {\n emptyIconDisplay.push(renderIcon(false));\n }\n return emptyIconDisplay;\n };\n\n const filledIconDisplay = () => {\n const filledIconDisplay: VNode[] = [];\n for (let i = 0; i < props.numberOfTotalIcons; i++) {\n filledIconDisplay.push(renderIcon(true));\n }\n return filledIconDisplay;\n };\n\n return (\n <div\n class=\"relative w-max\"\n part=\"value-rating\"\n role=\"img\"\n aria-label={props.i18n.t('stars', {\n count: props.numberOfActiveIcons,\n max: props.numberOfTotalIcons,\n })}\n >\n <div class=\"z-0 flex gap-0.5\">{emptyIconDisplay()}</div>\n <div\n class=\"absolute top-0 left-0 z-1 flex gap-0.5 overflow-hidden\"\n style={{width}}\n >\n {filledIconDisplay()}\n </div>\n </div>\n );\n};\n\nexport const computeNumberOfStars = (\n value: unknown,\n field: string\n): number | null => {\n if (value === null) {\n return null;\n }\n const valueAsNumber = parseFloat(`${value}`);\n if (Number.isNaN(valueAsNumber)) {\n throw new FieldValueIsNaNError(field, value);\n }\n return valueAsNumber;\n};\n"],"mappings":"65BAAaA,UAA6BC,MACxC,WAAAC,CAAYC,EAAeC,GACzBC,MAAM,oBAAoBD,kBAAsBD,mBAChDG,KAAKC,KAAO,sB,QCWHC,EAA4CC,IACvD,MAAMC,GACFD,EAAME,oBAAsBF,EAAMG,mBAAsB,KAAKC,WAC/D,IACF,MAAMC,EAAW,GAAGL,EAAMK,UAAY,SAEtC,MAAMC,EAAcC,GAEhBC,EAAA,eACEC,KAAMT,EAAMS,KACZC,MAAO,YAAYH,EAAS,cAAgB,kBAC5CI,MAAO,CAACV,MAAOI,EAAUO,OAAQP,GACjCQ,KAAK,sBAKX,MAAMC,EAAmB,KACvB,MAAMA,EAA4B,GAClC,IAAK,IAAIC,EAAI,EAAGA,EAAIf,EAAMG,mBAAoBY,IAAK,CACjDD,EAAiBE,KAAKV,EAAW,O,CAEnC,OAAOQ,CAAgB,EAGzB,MAAMG,EAAoB,KACxB,MAAMA,EAA6B,GACnC,IAAK,IAAIF,EAAI,EAAGA,EAAIf,EAAMG,mBAAoBY,IAAK,CACjDE,EAAkBD,KAAKV,EAAW,M,CAEpC,OAAOW,CAAiB,EAG1B,OACET,EAAA,OACEE,MAAM,iBACNG,KAAK,eACLK,KAAK,MAAK,aACElB,EAAMmB,KAAKC,EAAE,QAAS,CAChCC,MAAOrB,EAAME,oBACboB,IAAKtB,EAAMG,sBAGbK,EAAA,OAAKE,MAAM,oBAAoBI,KAC/BN,EAAA,OACEE,MAAM,yDACNC,MAAO,CAACV,UAEPgB,KAEC,E,MAIGM,EAAuB,CAClC5B,EACAD,KAEA,GAAIC,IAAU,KAAM,CAClB,OAAO,I,CAET,MAAM6B,EAAgBC,WAAW,GAAG9B,KACpC,GAAI+B,OAAOC,MAAMH,GAAgB,CAC/B,MAAM,IAAIjC,EAAqBG,EAAOC,E,CAExC,OAAO6B,CAAa,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["QueryErrorDetails","error","show","h","part","class","JSON","stringify","QueryErrorIcon","errorType","getIconFromErrorType","NoConnection","Indexing","CannotAccess","SearchInactive","SomethingWrong","icon","QueryErrorShowMore","i18n","onShowMore","link","Button","style","onClick","text","t","QueryErrorContainer","_","children","getErrorTitleFromErrorType","organizationId","org","getErrorDescriptionFromErrorType","url","getAriaMessageFromErrorType","platformUrl","QueryErrorDescription","QueryErrorGuard","hasError","Fragment","QueryErrorTitle","QueryErrorLink","getErrorLink","href"],"sources":["src/components/common/query-error/stencil-details.tsx","src/components/common/query-error/stencil-icon.tsx","src/components/common/query-error/stencil-show-more.tsx","src/components/common/query-error/stencil-container.tsx","src/components/common/query-error/utils.ts","src/components/common/query-error/stencil-description.tsx","src/components/common/query-error/stencil-guard.tsx","src/components/common/query-error/stencil-title.tsx","src/components/common/query-error/stencil-link.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\ninterface QueryErrorDetailsProps {\n error: unknown;\n show: boolean;\n}\nexport const QueryErrorDetails: FunctionalComponent<QueryErrorDetailsProps> = ({\n error,\n show,\n}) => {\n if (!show) {\n return;\n }\n return (\n <pre\n part=\"error-info\"\n class=\"border-neutral bg-neutral-light mt-8 rounded border p-3 text-left whitespace-pre-wrap\"\n >\n <code>{JSON.stringify(error, null, 2)}</code>\n </pre>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport CannotAccess from '../../../images/cannot-access.svg';\nimport Indexing from '../../../images/indexing.svg';\nimport NoConnection from '../../../images/no-connection.svg';\nimport SearchInactive from '../../../images/search-inactive.svg';\nimport SomethingWrong from '../../../images/something-wrong.svg';\nimport {KnownErrorType} from './known-error-types';\n\ninterface QueryErrorIconProps {\n errorType?: string;\n}\n\nexport const QueryErrorIcon: FunctionalComponent<QueryErrorIconProps> = ({\n errorType,\n}) => {\n const getIconFromErrorType = () => {\n switch (errorType as KnownErrorType) {\n case 'Disconnected':\n return NoConnection;\n\n case 'NoEndpointsException':\n return Indexing;\n\n case 'InvalidTokenException':\n return CannotAccess;\n case 'OrganizationIsPausedException':\n return SearchInactive;\n default:\n return SomethingWrong;\n }\n };\n\n return (\n <atomic-icon\n part=\"icon\"\n icon={getIconFromErrorType()}\n class=\"w-1/2 max-w-lg\"\n ></atomic-icon>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\nimport {QueryErrorLink} from './stencil-link';\n\ninterface QueryErrorShowMoreProps {\n onShowMore: () => void;\n i18n: i18n;\n link?: typeof QueryErrorLink;\n}\n\nexport const QueryErrorShowMore: FunctionalComponent<\n QueryErrorShowMoreProps\n> = ({i18n, onShowMore, link}) => {\n if (link) {\n return link;\n }\n return (\n <Button\n part=\"more-info-btn\"\n style=\"primary\"\n class=\"mt-8 p-3\"\n onClick={() => {\n onShowMore();\n }}\n text={i18n.t('more-info')}\n ></Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\nexport const QueryErrorContainer: FunctionalComponent = (_, children) => {\n return <div class=\"p-8 text-center\">{children}</div>;\n};\n","import type {i18n} from 'i18next';\nimport type {KnownErrorType} from './known-error-types';\n\nexport const getErrorTitleFromErrorType = (\n i18n: i18n,\n organizationId: string,\n errorType?: string\n) => {\n switch (errorType as KnownErrorType) {\n case 'Disconnected':\n return i18n.t('disconnected');\n case 'NoEndpointsException':\n return i18n.t('no-endpoints', {org: organizationId});\n case 'InvalidTokenException':\n return i18n.t('cannot-access', {org: organizationId});\n case 'OrganizationIsPausedException':\n return i18n.t('organization-is-paused', {org: organizationId});\n default:\n return i18n.t('something-went-wrong');\n }\n};\n\nexport const getErrorDescriptionFromErrorType = (\n i18n: i18n,\n organizationId: string,\n url: string,\n errorType?: string\n) => {\n switch (errorType as KnownErrorType) {\n case 'Disconnected':\n return i18n.t('check-your-connection', {url});\n case 'NoEndpointsException':\n return i18n.t('add-sources');\n case 'InvalidTokenException':\n return i18n.t('invalid-token');\n case 'OrganizationIsPausedException':\n return i18n.t('organization-will-resume', {\n org: organizationId,\n });\n default:\n return i18n.t('if-problem-persists');\n }\n};\n\nexport const getAriaMessageFromErrorType = (\n i18n: i18n,\n organizationId: string,\n platformUrl: string,\n errorType?: string\n) => {\n return `${getErrorTitleFromErrorType(i18n, organizationId, errorType)} ${getErrorDescriptionFromErrorType(i18n, organizationId, platformUrl, errorType)}`;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {getErrorDescriptionFromErrorType} from './utils';\n\ninterface QueryErrorDescriptionProps {\n errorType?: string;\n i18n: i18n;\n url: string;\n organizationId: string;\n}\n\nexport const QueryErrorDescription: FunctionalComponent<\n QueryErrorDescriptionProps\n> = ({errorType, i18n, url, organizationId}) => {\n return (\n <p part=\"description\" class=\"text-neutral-dark mt-2.5 text-lg\">\n {getErrorDescriptionFromErrorType(i18n, organizationId, url, errorType)}\n </p>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\n\ninterface QueryErrorGuardProps {\n hasError: boolean;\n}\n\n// Replace with the when directive\nexport const QueryErrorGuard: FunctionalComponent<QueryErrorGuardProps> = (\n {hasError},\n children\n) => {\n if (!hasError) {\n return;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {getErrorTitleFromErrorType} from './utils';\n\ninterface QueryErrorTitleProps {\n errorType?: string;\n i18n: i18n;\n organizationId: string;\n}\n\nexport const QueryErrorTitle: FunctionalComponent<QueryErrorTitleProps> = ({\n errorType,\n i18n,\n organizationId,\n}) => {\n return (\n <p part=\"title\" class=\"text-on-background mt-8 text-2xl\">\n {getErrorTitleFromErrorType(i18n, organizationId, errorType)}\n </p>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {KnownErrorType} from './known-error-types';\n\ninterface QueryErrorLinkProps {\n errorType?: string;\n i18n: i18n;\n}\n\nexport const QueryErrorLink: FunctionalComponent<QueryErrorLinkProps> = ({\n errorType,\n i18n,\n}) => {\n const getErrorLink = () => {\n switch (errorType as KnownErrorType) {\n case 'NoEndpointsException':\n return 'https://docs.coveo.com/en/mcc80216';\n case 'InvalidTokenException':\n return 'https://docs.coveo.com/en/102';\n case 'OrganizationIsPausedException':\n return 'https://docs.coveo.com/l6af0467';\n default:\n return null;\n }\n };\n\n const link = getErrorLink();\n\n return link ? (\n <a href={link} part=\"doc-link\" class=\"btn-primary mt-10 inline-block p-3\">\n {i18n.t('coveo-online-help')}\n </a>\n ) : null;\n};\n"],"mappings":"qFAMaA,EAAiE,EAC5EC,QACAC,WAEA,IAAKA,EAAM,CACT,M,CAEF,OACEC,EAAA,OACEC,KAAK,aACLC,MAAM,yFAENF,EAAA,YAAOG,KAAKC,UAAUN,EAAO,KAAM,IAC/B,E,kgjFCPGO,EAA2D,EACtEC,gBAEA,MAAMC,EAAuB,KAC3B,OAAQD,GACN,IAAK,eACH,OAAOE,EAET,IAAK,uBACH,OAAOC,EAET,IAAK,wBACH,OAAOC,EACT,IAAK,gCACH,OAAOC,EACT,QACE,OAAOC,E,EAIb,OACEZ,EAAA,eACEC,KAAK,OACLY,KAAMN,IACNL,MAAM,kBACO,E,MC1BNY,EAET,EAAEC,OAAMC,aAAYC,WACtB,GAAIA,EAAM,CACR,OAAOA,C,CAET,OACEjB,EAACkB,EAAM,CACLjB,KAAK,gBACLkB,MAAM,UACNjB,MAAM,WACNkB,QAAS,KACPJ,GAAY,EAEdK,KAAMN,EAAKO,EAAE,cACL,E,MCxBDC,EAA2C,CAACC,EAAGC,IACnDzB,EAAA,OAAKE,MAAM,mBAAmBuB,GCAhC,MAAMC,EAA6B,CACxCX,EACAY,EACArB,KAEA,OAAQA,GACN,IAAK,eACH,OAAOS,EAAKO,EAAE,gBAChB,IAAK,uBACH,OAAOP,EAAKO,EAAE,eAAgB,CAACM,IAAKD,IACtC,IAAK,wBACH,OAAOZ,EAAKO,EAAE,gBAAiB,CAACM,IAAKD,IACvC,IAAK,gCACH,OAAOZ,EAAKO,EAAE,yBAA0B,CAACM,IAAKD,IAChD,QACE,OAAOZ,EAAKO,EAAE,wB,EAIb,MAAMO,EAAmC,CAC9Cd,EACAY,EACAG,EACAxB,KAEA,OAAQA,GACN,IAAK,eACH,OAAOS,EAAKO,EAAE,wBAAyB,CAACQ,QAC1C,IAAK,uBACH,OAAOf,EAAKO,EAAE,eAChB,IAAK,wBACH,OAAOP,EAAKO,EAAE,iBAChB,IAAK,gCACH,OAAOP,EAAKO,EAAE,2BAA4B,CACxCM,IAAKD,IAET,QACE,OAAOZ,EAAKO,EAAE,uB,QAIPS,EAA8B,CACzChB,EACAY,EACAK,EACA1B,IAEO,GAAGoB,EAA2BX,EAAMY,EAAgBrB,MAAcuB,EAAiCd,EAAMY,EAAgBK,EAAa1B,K,MCvClI2B,EAET,EAAE3B,YAAWS,OAAMe,MAAKH,oBAExB3B,EAAA,KAAGC,KAAK,cAAcC,MAAM,oCACzB2B,EAAiCd,EAAMY,EAAgBG,EAAKxB,I,MCTtD4B,EAA6D,EACvEC,YACDV,KAEA,IAAKU,EAAU,CACb,M,CAGF,OAAOnC,EAACoC,EAAQ,KAAEX,EAAoB,E,MCL3BY,EAA6D,EACxE/B,YACAS,OACAY,oBAGE3B,EAAA,KAAGC,KAAK,QAAQC,MAAM,oCACnBwB,EAA2BX,EAAMY,EAAgBrB,I,MCR3CgC,EAA2D,EACtEhC,YACAS,WAEA,MAAMwB,EAAe,KACnB,OAAQjC,GACN,IAAK,uBACH,MAAO,qCACT,IAAK,wBACH,MAAO,gCACT,IAAK,gCACH,MAAO,kCACT,QACE,OAAO,K,EAIb,MAAMW,EAAOsB,IAEb,OAAOtB,EACLjB,EAAA,KAAGwC,KAAMvB,EAAMhB,KAAK,WAAWC,MAAM,sCAClCa,EAAKO,EAAE,sBAER,IAAI,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["Carousel","props","children","commonPaginationClasses","commonArrowClasses","renderPreviousButton","h","Button","style","ariaLabel","bindings","i18n","t","onClick","previousPage","part","class","icon","ArrowRight","renderNextButton","nextPage","renderIndicators","Array","from","length","numberOfPages","_","index","isActive","currentPage","Fragment"],"sources":["src/components/common/stencil-carousel.tsx"],"sourcesContent":["import {h, FunctionalComponent, Fragment} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport ArrowRight from '../../images/arrow-right.svg';\nimport {AnyBindings} from './interface/bindings.js';\nimport {Button} from './stencil-button.js';\n\nexport interface CarouselProps {\n bindings: AnyBindings;\n previousPage(): void;\n nextPage(): void;\n numberOfPages: number;\n currentPage: number;\n}\n\nexport const Carousel: FunctionalComponent<\n CarouselProps & JSXBase.HTMLAttributes<HTMLHeadingElement>\n> = (props, children) => {\n const commonPaginationClasses =\n 'w-10 h-10 grid justify-center items-center absolute top-1/2 -translate-y-1/2 z-1 shadow-lg group';\n const commonArrowClasses =\n 'w-3.5 align-middle text-on-background group-hover:text-primary group-focus:text-primary-light';\n\n function renderPreviousButton() {\n return (\n <Button\n style=\"outline-primary\"\n ariaLabel={props.bindings.i18n.t('previous')}\n onClick={() => props.previousPage()}\n part=\"previous-button\"\n class={`${commonPaginationClasses} -translate-x-1/2`}\n >\n <atomic-icon\n icon={ArrowRight}\n class={`${commonArrowClasses} rotate-180`}\n ></atomic-icon>\n </Button>\n );\n }\n\n function renderNextButton() {\n return (\n <Button\n style=\"outline-primary\"\n ariaLabel={props.bindings.i18n.t('next')}\n onClick={() => props.nextPage()}\n part=\"next-button\"\n class={`${commonPaginationClasses} right-0 translate-x-1/2`}\n >\n <atomic-icon icon={ArrowRight} class={commonArrowClasses}></atomic-icon>\n </Button>\n );\n }\n\n function renderIndicators() {\n return (\n <ul part=\"indicators\" class=\"mt-6 flex justify-center gap-2\">\n {Array.from({length: props.numberOfPages}, (_, index) => {\n const isActive = index === props.currentPage % props.numberOfPages;\n return (\n <li\n part={`indicator ${isActive ? 'active-indicator' : ''}`}\n class={`h-1 w-12 rounded-md ${\n isActive ? 'bg-primary' : 'bg-neutral'\n } `}\n ></li>\n );\n })}\n </ul>\n );\n }\n\n return (\n <Fragment>\n <div class=\"relative\">\n {renderPreviousButton()}\n {children}\n {renderNextButton()}\n </div>\n {renderIndicators()}\n </Fragment>\n );\n};\n"],"mappings":"yHAcaA,EAET,CAACC,EAAOC,KACV,MAAMC,EACJ,mGACF,MAAMC,EACJ,gGAEF,SAASC,IACP,OACEC,EAACC,EAAM,CACLC,MAAM,kBACNC,UAAWR,EAAMS,SAASC,KAAKC,EAAE,YACjCC,QAAS,IAAMZ,EAAMa,eACrBC,KAAK,kBACLC,MAAO,GAAGb,sBAEVG,EAAA,eACEW,KAAMC,EACNF,MAAO,GAAGZ,iB,CAMlB,SAASe,IACP,OACEb,EAACC,EAAM,CACLC,MAAM,kBACNC,UAAWR,EAAMS,SAASC,KAAKC,EAAE,QACjCC,QAAS,IAAMZ,EAAMmB,WACrBL,KAAK,cACLC,MAAO,GAAGb,6BAEVG,EAAA,eAAaW,KAAMC,EAAYF,MAAOZ,I,CAK5C,SAASiB,IACP,OACEf,EAAA,MAAIS,KAAK,aAAaC,MAAM,kCACzBM,MAAMC,KAAK,CAACC,OAAQvB,EAAMwB,gBAAgB,CAACC,EAAGC,KAC7C,MAAMC,EAAWD,IAAU1B,EAAM4B,YAAc5B,EAAMwB,cACrD,OACEnB,EAAA,MACES,KAAM,aAAaa,EAAW,mBAAqB,KACnDZ,MAAO,uBACLY,EAAW,aAAe,iBAExB,I,CAOhB,OACEtB,EAACwB,EAAQ,KACPxB,EAAA,OAAKU,MAAM,YACRX,IACAH,EACAiB,KAEFE,IACQ,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["FacetSegmentedValue","props","compactCount","Intl","NumberFormat","i18n","language","notation","format","numberOfResults","count","toLocaleString","ariaLabel","t","value","displayValue","formattedCount","h","key","Button","style","part","isSelected","onClick","class","ariaPressed","toString","title","text","atomicSegmentedFacetCss","AtomicSegmentedFacetStyle0","AtomicSegmentedFacet","this","tabsIncluded","tabsExcluded","filterFacetCount","injectionDepth","numberOfValues","sortCriteria","dependsOn","allowedValues","customSort","initialize","length","console","warn","searchStatus","buildSearchStatus","bindings","engine","tabManager","buildTabManager","facet","buildFacet","options","facetOptions","facetId","state","dependenciesManager","buildFacetConditionsManager","conditions","parseDependsOn","disconnectedCallback","stopWatching","renderValuesContainer","children","classes","FacetValuesGroup","label","renderValue","facetValue","getFieldValueCaption","field","searchQuery","facetState","facetSearch","query","renderValues","values","map","toggleSingleSelect","renderLabel","hasBreadcrumbs","undefined","tabs","included","excluded","render","hasError","enabled","Hidden","firstSearchExecuted","__decorate","InitializeBindings","BindStateToController","ArrayProp","MapProp"],"sources":["src/components/search/facets/facet-segmented-value/facet-segmented-value.tsx","src/components/search/facets/atomic-segmented-facet/atomic-segmented-facet.pcss?tag=atomic-segmented-facet&encapsulation=shadow","src/components/search/facets/atomic-segmented-facet/atomic-segmented-facet.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {FacetValueProps} from '../../../common/facets/stencil-facet-common';\nimport {Button} from '../../../common/stencil-button';\n\nexport const FacetSegmentedValue: FunctionalComponent<FacetValueProps> = (\n props\n) => {\n const compactCount = new Intl.NumberFormat(props.i18n.language, {\n notation: 'compact',\n }).format(props.numberOfResults);\n\n const count = props.numberOfResults.toLocaleString(props.i18n.language);\n\n const ariaLabel = props.i18n.t('facet-value', {\n value: props.displayValue,\n count: props.numberOfResults,\n formattedCount: count,\n });\n\n return (\n <li key={props.displayValue}>\n <Button\n style=\"square-neutral\"\n part={`value-box${props.isSelected ? ' value-box-selected' : ''}`}\n onClick={() => props.onClick()}\n class={`value-box group box-border flex h-full items-center p-2 ${\n props.isSelected\n ? 'selected border-primary shadow-inner-primary'\n : 'hover:border-primary-light focus-visible:border-primary-light'\n }`}\n ariaPressed={props.isSelected.toString()}\n ariaLabel={ariaLabel}\n >\n <span\n title={props.displayValue}\n part=\"value-label\"\n class={`value-label truncate ${\n props.isSelected\n ? 'text-primary'\n : 'group-hover:text-primary-light group-focus:text-primary'\n }`}\n >\n {props.displayValue}\n </span>\n <span\n title={count}\n part=\"value-count\"\n class={`value-box-count mt-0 w-auto truncate pl-1 text-sm ${\n props.isSelected\n ? 'text-primary'\n : 'text-neutral-dark group-hover:text-primary-light group-focus:text-primary'\n }`}\n >\n {props.i18n.t('between-parentheses', {\n text: compactCount,\n })}\n </span>\n </Button>\n </li>\n );\n};\n","@import '../../../common/facets/facet-common.pcss';\n@import '../facet-segmented-value/facet-segmented-value.pcss';\n","import {\n buildFacet,\n buildFacetConditionsManager,\n buildSearchStatus,\n CategoryFacetValueRequest,\n Facet,\n FacetConditionsManager,\n FacetOptions,\n FacetSortCriterion,\n FacetState,\n FacetValue,\n FacetValueRequest,\n SearchStatus,\n SearchStatusState,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, h, Prop, State, VNode} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {FacetSegmentedValue} from '../facet-segmented-value/facet-segmented-value';\n\n/**\n * The `atomic-segmented-facet` displays a horizontal facet of the results for the current query.\n * @part segmented-container - The container that holds the segmented facets.\n * @part label - The facet value label.\n * @part values - The facet values container.\n * @part value-box - The facet value.\n * @part value-box-selected - The selected facet value.\n * @part placeholder - The placeholder displayed when the facet is loading.\n */\n@Component({\n tag: 'atomic-segmented-facet',\n styleUrl: 'atomic-segmented-facet.pcss',\n shadow: true,\n})\nexport class AtomicSegmentedFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @BindStateToController('facet')\n @State()\n public facetState!: FacetState;\n public facet!: Facet;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label?: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n * Default: `1000`\n */\n @Prop() public injectionDepth = 1000;\n /**\n * The number of values to request for this facet.\n * Also determines the number of additional values to request each time more values are shown.\n */\n @Prop({reflect: true}) public numberOfValues = 6;\n /**\n * The sort criterion to apply to the returned facet values.\n * Possible values are 'score', 'alphanumeric', 'alphanumericDescending', 'occurrences', alphanumericNatural', 'alphanumericNaturalDescending' and 'automatic'.\n */\n @Prop({reflect: true}) public sortCriteria: FacetSortCriterion = 'automatic';\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-segmented-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-segmented-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-segmented-facet\n * depends-on-abc\n * ...\n * ></atomic-segmented-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-segmented-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n /**\n * Specifies an explicit list of `allowedValues` in the Search API request. This list is in the form of a JSON string.\n *\n * If you specify a list of values for this option, the facet only uses these values (if they are available in\n * the current result set).\n *\n * Example:\n *\n * The following facet only uses the `Contact`, `Account`, and `File` values of the `objecttype` field. Even if the\n * current result set contains other `objecttype` values, such as `Message` or `Product`, the facet does not use\n * them.\n *\n * ```html\n * <atomic-segmented-facet field=\"objecttype\" allowed-values='[\"Contact\",\"Account\",\"File\"]'></atomic-segmented-facet>\n * ```\n *\n * The maximum amount of allowed values is 25.\n *\n * The default value is `undefined`, and the facet uses all available values for its `field` in the current result set.\n */\n @ArrayProp()\n @Prop({mutable: true})\n public allowedValues: string[] | string = '[]';\n\n /**\n * Identifies the facet values that must appear at the top, in this order.\n * This parameter can be used in conjunction with the `sortCriteria` parameter.\n *\n * Facet values not part of the `customSort` list will be sorted according to the `sortCriteria`.\n *\n * Example:\n *\n * The following facet will sort the `Contact`, `Account`, and `File` values at the top of the list for the `objecttype` field.\n *\n * If there are more than these 3 values available, the rest of the list will be sorted using `occurrences`.\n *\n * ```html\n * <atomic-segmented-facet field=\"objecttype\" custom-sort='[\"Contact\",\"Account\",\"File\"]' sort-criteria='occurrences'></atomic-segmented-facet>\n * ```\n * The maximum amount of custom sort values is 25.\n *\n * The default value is `undefined`, and the facet values will be sorted using only the `sortCriteria`.\n */\n @ArrayProp()\n @Prop({mutable: true})\n public customSort: string[] | string = '[]';\n\n private dependenciesManager!: FacetConditionsManager;\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This is could lead to unexpected behaviors.'\n );\n }\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n\n this.facet = buildFacet(this.bindings.engine, {options: this.facetOptions});\n this.facetId = this.facet.state.facetId;\n this.dependenciesManager = buildFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n FacetValueRequest | CategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n disconnectedCallback() {\n this.dependenciesManager.stopWatching();\n }\n\n private renderValuesContainer(children: VNode[]) {\n const classes = 'box-container flex h-10';\n return (\n <FacetValuesGroup i18n={this.bindings.i18n} label={this.label}>\n <ul class={classes} part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValue(facetValue: FacetValue, onClick: () => void) {\n const displayValue = getFieldValueCaption(\n this.field,\n facetValue.value,\n this.bindings.i18n\n );\n const isSelected = facetValue.state !== 'idle';\n\n return (\n <FacetSegmentedValue\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n searchQuery={this.facetState.facetSearch.query}\n ></FacetSegmentedValue>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.facetState.values.map((value) =>\n this.renderValue(value, () => this.facet.toggleSingleSelect(value))\n )\n );\n }\n\n private renderLabel() {\n if (!this.label) {\n return;\n }\n return (\n <b class=\"mr-2\" part=\"label\">\n {this.label}:\n </b>\n );\n }\n\n private get facetOptions(): FacetOptions {\n return {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n facetSearch: {numberOfValues: this.numberOfValues},\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n hasBreadcrumbs: false,\n allowedValues: this.allowedValues.length\n ? [...this.allowedValues]\n : undefined,\n customSort: this.customSort.length ? [...this.customSort] : undefined,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n }\n\n public render() {\n if (this.searchStatus.state.hasError || !this.facet.state.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!this.searchStatus.state.firstSearchExecuted) {\n return (\n <div\n part=\"placeholder\"\n aria-hidden\n class=\"bg-neutral h-8 w-48 animate-pulse rounded\"\n ></div>\n );\n }\n\n if (!this.facetState.values.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <div\n part=\"segmented-container\"\n class=\"mr-2 flex h-10 items-center whitespace-nowrap\"\n >\n {this.renderLabel()}\n {this.renderValues()}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["FieldsetGroup","label","children","h","class"],"sources":["src/components/common/stencil-fieldset-group.tsx"],"sourcesContent":["import {h, FunctionalComponent} from '@stencil/core';\n\nexport interface GroupProps {\n label: string;\n}\n\nexport const FieldsetGroup: FunctionalComponent<GroupProps> = (\n {label},\n children\n) => (\n <fieldset class=\"contents\">\n <legend class=\"sr-only\">{label}</legend>\n {children}\n </fieldset>\n);\n"],"mappings":"0CAMaA,EAAiD,EAC3DC,SACDC,IAEAC,EAAA,YAAUC,MAAM,YACdD,EAAA,UAAQC,MAAM,WAAWH,GACxBC,U","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{c as o}from"./p-c9074946.js";import{b as t}from"./p-1580513b.js";const e=(t,e,a=s)=>{const n=o(e,s.join(", "));if(!n){throw new Error(`The "${e.nodeName.toLowerCase()}" component was not handled, as it is not a child of the following elements: ${a.join(", ")}`)}void i(n,e,t)};const s=["atomic-search-box","atomic-insight-search-box","atomic-commerce-search-box"];const a=o=>"updateComplete"in o&&o.updateComplete instanceof Promise;const i=async(o,e,s)=>{await customElements.whenDefined(o.nodeName.toLowerCase());if(a(o)){await o.updateComplete}else if("componentOnReady"in o){await o.componentOnReady()}e.dispatchEvent(t("atomic/searchBoxSuggestion/register",s))};export{e as d};
2
- //# sourceMappingURL=p-4b7a19db.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["dispatchSearchBoxSuggestionsEvent","event","element","allowedSearchBoxElements","searchBoxElements","interfaceElement","closest","join","Error","nodeName","toLowerCase","dispatchSearchBoxSuggestionsEventEventually","isLitElementLoosely","candidate","updateComplete","Promise","async","customElements","whenDefined","componentOnReady","dispatchEvent","buildCustomEvent"],"sources":["src/components/common/suggestions/suggestions-events.ts"],"sourcesContent":["import 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';\nimport type {SearchBoxSuggestionsEvent} from './suggestions-types';\n\n/**\n * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.\n *\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 * @param allowedSearchBoxElements Optional array of allowed search box element selectors\n *\n * @throws Error if the element is not a child of an allowed search box element\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\nconst searchBoxElements = [\n 'atomic-search-box',\n 'atomic-insight-search-box',\n 'atomic-commerce-search-box',\n] as const;\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"],"mappings":"8EAgBaA,EAAoC,CAI/CC,EACAC,EACAC,EAA0EC,KAE1E,MAAMC,EAAmBC,EAAQJ,EAASE,EAAkBG,KAAK,OACjE,IAAKF,EAAkB,CACrB,MAAM,IAAIG,MACR,QAAQN,EAAQO,SAASC,6FAA6FP,EAAyBI,KAC7I,Q,MAIDI,EACHN,EACAH,EACAD,EACD,EAGH,MAAMG,EAAoB,CACxB,oBACA,4BACA,8BAGF,MAAMQ,EAAuBC,GAC3B,mBAAqBA,GACpBA,EAAyBC,0BAA0BC,QAEtD,MAAMJ,EAA8CK,MAIlDX,EACAH,EACAD,WAEMgB,eAAeC,YAAYb,EAAiBI,SAASC,eAC3D,GAAIE,EAAoBP,GAAmB,OACnCA,EAAiBS,c,MAClB,GAAI,qBAAsBT,EAAkB,OAC1CA,EAAwCc,kB,CAEjDjB,EAAQkB,cACNC,EAAiB,sCAAuCpB,GACzD,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["FacetSearchInput","props","label","i18n","t","search","facetSearch","clear","inputRef","h","class","part","type","placeholder","value","query","onInput","e","onChange","target","ref","icon","SearchIcon","Button","style","title","onClick","onClear","focus","CloseIcon","matchesFound","key","escape","interpolation","escapeValue","clickableMoreMatchesFound","FacetSearchMatches","numberOfMatches","innerHTML","hasMoreMatches","showMoreMatches"],"sources":["src/components/common/facets/facet-search/stencil-facet-search-input.tsx","src/components/common/facets/facet-search/stencil-facet-search-matches.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport CloseIcon from '../../../../images/close.svg';\nimport SearchIcon from '../../../../images/search.svg';\nimport {Button} from '../../stencil-button';\n\ninterface FacetSearchInputProps {\n label: string;\n query: string;\n i18n: i18n;\n onClear(): void;\n onChange(value: string): void;\n}\n\nexport const FacetSearchInput: FunctionalComponent<FacetSearchInputProps> = (\n props\n) => {\n const label = props.i18n.t(props.label);\n const search = props.i18n.t('facet-search-input');\n const facetSearch = props.i18n.t('facet-search', {label});\n const clear = props.i18n.t('clear');\n let inputRef: HTMLInputElement | undefined;\n\n return (\n <div class=\"mt-3 px-2\" part=\"search-wrapper\">\n <div class=\"relative h-10\">\n <input\n part=\"search-input\"\n class=\"input-primary placeholder-neutral-dark group h-full w-full px-9 text-sm\"\n type=\"text\"\n placeholder={search}\n aria-label={facetSearch}\n value={props.query}\n onInput={(e) => props.onChange((e.target as HTMLInputElement).value)}\n ref={(ref) => (inputRef = ref)}\n />\n <div class=\"search-icon text-on-background pointer-events-none absolute left-0 inline-flex h-full w-9 items-center justify-center\">\n <atomic-icon part=\"search-icon\" icon={SearchIcon}></atomic-icon>\n </div>\n {props.query !== '' && (\n <Button\n style=\"text-transparent\"\n title={clear}\n class=\"search-clear-button absolute top-px right-px bottom-px inline-flex w-9 items-center justify-center\"\n onClick={() => {\n props.onClear();\n inputRef!.focus();\n }}\n >\n <atomic-icon\n part=\"search-clear-button\"\n icon={CloseIcon}\n ></atomic-icon>\n </Button>\n )}\n </div>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport escape from 'escape-html';\nimport {i18n} from 'i18next';\nimport {Button} from '../../stencil-button';\n\ninterface FacetSearchMatchesProps {\n i18n: i18n;\n query: string;\n numberOfMatches: number;\n hasMoreMatches: boolean;\n showMoreMatches?: () => void;\n}\n\n//TODO: change to noMatchesFound & remove the key in https://coveord.atlassian.net/browse/KIT-3368\nfunction matchesFound(\n key: 'more-matches-for' | 'no-matches-found-for',\n query: string,\n i18n: i18n\n) {\n return i18n.t(key, {\n query: `<span class=\"font-bold italic text-on-background\" part=\"matches-query\">${escape(\n query\n )}</span>`,\n interpolation: {escapeValue: false},\n });\n}\n\nfunction clickableMoreMatchesFound(query: string, i18n: i18n) {\n return i18n.t('more-matches-for', {\n query: `<span class=\"font-bold italic\" part=\"matches-query\">${escape(\n query\n )}</span>`,\n interpolation: {escapeValue: false},\n });\n}\n\nexport const FacetSearchMatches: FunctionalComponent<\n FacetSearchMatchesProps\n> = (props) => {\n if (!props.numberOfMatches) {\n return (\n <div class=\"px-2\">\n <div\n part=\"no-matches\"\n class=\"bg-neutral-light text-neutral-dark truncate rounded p-3 text-sm\"\n innerHTML={matchesFound(\n 'no-matches-found-for',\n props.query,\n props.i18n\n )}\n ></div>\n </div>\n );\n }\n\n if (props.hasMoreMatches) {\n if (props.showMoreMatches) {\n return (\n <div class=\"px-2\">\n <Button\n style=\"text-primary\"\n class=\"mt-3 p-2\"\n onClick={props.showMoreMatches}\n >\n <div\n part=\"more-matches\"\n class=\"truncate text-sm\"\n innerHTML={clickableMoreMatchesFound(props.query, props.i18n)}\n ></div>\n </Button>\n </div>\n );\n }\n return (\n <div class=\"px-2\">\n <div\n part=\"more-matches\"\n class=\"text-neutral-dark mt-3 truncate text-sm\"\n innerHTML={matchesFound('more-matches-for', props.query, props.i18n)}\n ></div>\n </div>\n );\n }\n};\n"],"mappings":"0LAcaA,EACXC,IAEA,MAAMC,EAAQD,EAAME,KAAKC,EAAEH,EAAMC,OACjC,MAAMG,EAASJ,EAAME,KAAKC,EAAE,sBAC5B,MAAME,EAAcL,EAAME,KAAKC,EAAE,eAAgB,CAACF,UAClD,MAAMK,EAAQN,EAAME,KAAKC,EAAE,SAC3B,IAAII,EAEJ,OACEC,EAAA,OAAKC,MAAM,YAAYC,KAAK,kBAC1BF,EAAA,OAAKC,MAAM,iBACTD,EAAA,SACEE,KAAK,eACLD,MAAM,0EACNE,KAAK,OACLC,YAAaR,EAAM,aACPC,EACZQ,MAAOb,EAAMc,MACbC,QAAUC,GAAMhB,EAAMiB,SAAUD,EAAEE,OAA4BL,OAC9DM,IAAMA,GAASZ,EAAWY,IAE5BX,EAAA,OAAKC,MAAM,yHACTD,EAAA,eAAaE,KAAK,cAAcU,KAAMC,KAEvCrB,EAAMc,QAAU,IACfN,EAACc,EAAM,CACLC,MAAM,mBACNC,MAAOlB,EACPG,MAAM,qGACNgB,QAAS,KACPzB,EAAM0B,UACNnB,EAAUoB,OAAO,GAGnBnB,EAAA,eACEE,KAAK,sBACLU,KAAMQ,MAKV,EC1CV,SAASC,EACPC,EACAhB,EACAZ,GAEA,OAAOA,EAAKC,EAAE2B,EAAK,CACjBhB,MAAO,0EAA0EiB,EAC/EjB,YAEFkB,cAAe,CAACC,YAAa,QAEjC,CAEA,SAASC,EAA0BpB,EAAeZ,GAChD,OAAOA,EAAKC,EAAE,mBAAoB,CAChCW,MAAO,uDAAuDiB,EAC5DjB,YAEFkB,cAAe,CAACC,YAAa,QAEjC,C,MAEaE,EAERnC,IACH,IAAKA,EAAMoC,gBAAiB,CAC1B,OACE5B,EAAA,OAAKC,MAAM,QACTD,EAAA,OACEE,KAAK,aACLD,MAAM,kEACN4B,UAAWR,EACT,uBACA7B,EAAMc,MACNd,EAAME,Q,CAOhB,GAAIF,EAAMsC,eAAgB,CACxB,GAAItC,EAAMuC,gBAAiB,CACzB,OACE/B,EAAA,OAAKC,MAAM,QACTD,EAACc,EAAM,CACLC,MAAM,eACNd,MAAM,WACNgB,QAASzB,EAAMuC,iBAEf/B,EAAA,OACEE,KAAK,eACLD,MAAM,mBACN4B,UAAWH,EAA0BlC,EAAMc,MAAOd,EAAME,S,CAMlE,OACEM,EAAA,OAAKC,MAAM,QACTD,EAAA,OACEE,KAAK,eACLD,MAAM,0CACN4B,UAAWR,EAAa,mBAAoB7B,EAAMc,MAAOd,EAAME,Q","ignoreList":[]}