@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 +0,0 @@
1
- {"version":3,"names":["atomicInsightSearchBoxCss","AtomicInsightSearchBoxStyle0","AtomicInsightSearchBox","this","isExpanded","disableSearch","numberOfSuggestions","initialize","id","randomID","searchBoxOptions","highlightOptions","notMatchDelimiters","open","close","correctionDelimiters","fetchQuerySuggestions","registerQuerySuggest","loadInsightSearchActions","bindings","engine","searchBox","buildInsightSearchBox","options","dispatch","count","suggestionManager","SuggestionManager","getNumberOfSuggestionsToDisplay","updateQuery","query","updateText","getSearchBoxValue","searchBoxState","value","getSuggestionTimeout","getSuggestionDelay","getHost","host","getLogger","logger","registerSuggestions","position","renderItems","state","suggestions","map","suggestion","renderSuggestionItem","onInput","panel","onSubmit","activeDescendantElement","clickOnActiveElement","submit","clearSuggestions","onKeyDown","e","key","preventDefault","focusNextValue","announceNewActiveSuggestionToScreenReader","focusPreviousValue","triggerTextAreaChange","textAreaRef","dispatchEvent","window","Event","renderSuggestion","item","index","lastIndex","isSelected","activeDescendant","suggestedQuery","hideIfLast","h","i18n","side","isDoubleList","onClick","onSuggestionClick","onMouseOver","onSuggestionMouseOver","hasQuery","partialItem","getPartialSearchBoxSuggestionElement","content","QuerySuggestionContainer","QuerySuggestionIcon","icon","SearchSlimIcon","hasSuggestion","length","QuerySuggestionText","onSelect","selectSuggestion","rawValue","renderPanel","elements","setRef","getRef","part","ref","class","onMouseDown","target","renderSuggestions","hasSuggestions","updateActiveDescendant","role","t","allSuggestionElements","el","leftPanel","getSearchInputLabel","isMacOS","hasKeyboard","onFocus","triggerSuggestions","announceNewSuggestionsToScreenReader","ariaLabel","suggestionsAriaMessage","numberOfSuggestionsToAnnounce","filter","elementHasQuery","searchBoxAriaMessage","render","SearchBoxWrapper","disabled","onFocusout","event","isFocusingOut","SearchTextArea","loading","isLoading","placeholder","onClear","clear","__decorate","InitializeBindings","BindStateToController","AriaLiveRegion"],"sources":["src/components/insight/atomic-insight-search-box/atomic-insight-search-box.pcss?tag=atomic-insight-search-box&encapsulation=shadow","src/components/insight/atomic-insight-search-box/atomic-insight-search-box.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n@import '../../common/search-box/search-box.pcss';\n\n[part='wrapper'] {\n @apply z-10;\n}\n\n:host {\n position: relative;\n}\n\n[part='input'] {\n padding-top: 0.675rem;\n padding-bottom: 0.675rem;\n}\n\n[part='submit-icon'] {\n @apply text-on-background;\n}\n\n[part='submit-button'] {\n @apply flex w-10 items-center justify-center;\n}\n\n.loading::after {\n content: '';\n @apply bg-background absolute h-5/6 w-5/6 rounded-full;\n}\n\n[part='clear-button-wrapper'] {\n @apply mr-2 py-0;\n}\n\n[part='clear-icon'] {\n @apply h-3 w-3;\n}\n\n[part='textarea-expander'] {\n &::after {\n @apply p-2 px-4;\n }\n}\n\n[part='textarea-expander'] {\n [part='textarea'] {\n @apply p-2 px-4;\n }\n}\n","import {loadInsightSearchActions} from '@coveo/headless/insight';\nimport {\n buildSearchBox as buildInsightSearchBox,\n SearchBox as InsightSearchBox,\n SearchBoxState as InsightSearchBoxState,\n Suggestion as InsightSuggestion,\n} from '@coveo/headless/insight';\nimport {Component, Element, h, Prop, State} from '@stencil/core';\nimport SearchSlimIcon from '../../../images/search-slim.svg';\nimport {hasKeyboard, isMacOS} from '../../../utils/device-utils';\nimport {\n BindStateToController,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {isFocusingOut, randomID} from '../../../utils/utils';\nimport {SearchBoxWrapper} from '../../common/search-box/stencil-search-box-wrapper';\nimport {SearchTextArea} from '../../common/search-box/stencil-search-text-area';\nimport {\n getPartialSearchBoxSuggestionElement,\n QuerySuggestionContainer,\n QuerySuggestionIcon,\n QuerySuggestionText,\n} from '../../common/suggestions/stencil-query-suggestions';\nimport {SuggestionManager} from '../../common/suggestions/stencil-suggestion-manager';\nimport {\n elementHasQuery,\n} from '../../common/suggestions/suggestions-utils';\nimport {\n SearchBoxSuggestionElement,\n} from '../../common/suggestions/suggestions-types';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-search-box',\n styleUrl: 'atomic-insight-search-box.pcss',\n shadow: true,\n})\nexport class AtomicInsightSearchBox {\n @InitializeBindings() public bindings!: InsightBindings;\n\n private searchBox!: InsightSearchBox;\n private id!: string;\n private textAreaRef!: HTMLTextAreaElement;\n private suggestionManager!: SuggestionManager<InsightSearchBox>;\n\n @Element() private host!: HTMLElement;\n\n @BindStateToController('searchBox')\n @State()\n private searchBoxState!: InsightSearchBoxState;\n @State() public error!: Error;\n @State() private isExpanded = false;\n\n /**\n * Whether to prevent the user from triggering a search from the component.\n * Perfect for use cases where you need to disable the search conditionally, like when the input is empty.\n */\n @Prop({reflect: true}) public disableSearch = false;\n /**\n * The number of query suggestions to display when interacting with the search box.\n */\n @Prop({reflect: true}) public numberOfSuggestions = 5;\n\n @AriaLiveRegion('search-box')\n protected searchBoxAriaMessage!: string;\n\n @AriaLiveRegion('search-suggestions', true)\n protected suggestionsAriaMessage!: string;\n\n public initialize() {\n this.id = randomID('atomic-search-box-');\n\n const searchBoxOptions = {\n id: this.id,\n numberOfSuggestions: 0,\n highlightOptions: {\n notMatchDelimiters: {\n open: '<span class=\"font-bold\">',\n close: '</span>',\n },\n correctionDelimiters: {\n open: '<span class=\"font-normal\">',\n close: '</span>',\n },\n },\n };\n\n const {fetchQuerySuggestions, registerQuerySuggest} =\n loadInsightSearchActions(this.bindings.engine);\n\n this.searchBox = buildInsightSearchBox(this.bindings.engine, {\n options: searchBoxOptions,\n });\n\n this.bindings.engine.dispatch(\n registerQuerySuggest({id: this.id, count: this.numberOfSuggestions})\n );\n\n this.suggestionManager = new SuggestionManager({\n getNumberOfSuggestionsToDisplay: () => this.numberOfSuggestions,\n updateQuery: (query) => this.searchBox.updateText(query),\n getSearchBoxValue: () => this.searchBoxState.value,\n getSuggestionTimeout: () => 500,\n getSuggestionDelay: () => 0,\n getHost: () => this.host,\n getLogger: () => this.bindings.engine.logger,\n });\n\n this.suggestionManager.registerSuggestions({\n position: 0,\n renderItems: () =>\n this.searchBox.state.suggestions.map((suggestion) =>\n this.renderSuggestionItem(suggestion)\n ),\n onInput: () => this.bindings.engine.dispatch(fetchQuerySuggestions({id: this.id})),\n panel: 'left',\n });\n }\n\n private onSubmit() {\n if (this.suggestionManager.activeDescendantElement) {\n this.suggestionManager.clickOnActiveElement();\n return;\n }\n\n this.searchBox.submit();\n this.suggestionManager.clearSuggestions();\n }\n\n private async onKeyDown(e: KeyboardEvent) {\n if (this.disableSearch) {\n return;\n }\n\n switch (e.key) {\n case 'Enter':\n this.onSubmit();\n break;\n case 'Escape':\n this.suggestionManager.clearSuggestions();\n break;\n case 'ArrowDown':\n e.preventDefault();\n await this.suggestionManager.focusNextValue();\n this.announceNewActiveSuggestionToScreenReader();\n break;\n case 'ArrowUp':\n e.preventDefault();\n await this.suggestionManager.focusPreviousValue();\n this.announceNewActiveSuggestionToScreenReader();\n break;\n case 'Tab':\n this.suggestionManager.clearSuggestions();\n break;\n }\n }\n\n private triggerTextAreaChange(value: string) {\n this.textAreaRef.value = value;\n this.textAreaRef.dispatchEvent(new window.Event('change'));\n }\n\n private renderSuggestion(\n item: SearchBoxSuggestionElement,\n index: number,\n lastIndex: number\n ) {\n const id = `${this.id}-suggestion-${item.key}`;\n\n const isSelected =\n id === this.suggestionManager.activeDescendant ||\n this.suggestionManager.suggestedQuery === item.query;\n\n if (index === lastIndex && item.hideIfLast) {\n return null;\n }\n\n return (\n <atomic-suggestion-renderer\n i18n={this.bindings.i18n}\n id={id}\n suggestion={item}\n isSelected={isSelected}\n side={'left'}\n index={index}\n lastIndex={lastIndex}\n isDoubleList={false}\n onClick={(e: Event) => {\n this.suggestionManager.onSuggestionClick(item, e);\n }}\n onMouseOver={() => {\n this.suggestionManager.onSuggestionMouseOver(item, 'left', id);\n }}\n ></atomic-suggestion-renderer>\n );\n }\n\n private renderSuggestionItem(\n suggestion: InsightSuggestion\n ): SearchBoxSuggestionElement {\n const hasQuery = this.searchBox.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={SearchSlimIcon}\n hasSuggestion={this.searchBoxState.suggestions.length > 1}\n />\n\n <QuerySuggestionText suggestion={suggestion} hasQuery={hasQuery} />\n </QuerySuggestionContainer>\n ),\n onSelect: () => {\n this.searchBox.selectSuggestion(suggestion.rawValue);\n },\n };\n }\n\n private renderPanel(\n elements: SearchBoxSuggestionElement[],\n setRef: (el: HTMLElement | undefined) => void,\n getRef: () => HTMLElement | undefined\n ) {\n if (!elements.length) {\n return null;\n }\n\n return (\n <div\n part={'suggestions'}\n ref={setRef}\n class=\"flex grow basis-1/2 flex-col\"\n onMouseDown={(e) => {\n if (e.target === getRef()) {\n e.preventDefault();\n }\n }}\n >\n {elements.map((suggestion, index) =>\n this.renderSuggestion(suggestion, index, elements.length - 1)\n )}\n </div>\n );\n }\n\n private renderSuggestions() {\n if (!this.suggestionManager.hasSuggestions) {\n this.suggestionManager.updateActiveDescendant();\n return null;\n }\n\n return (\n <div\n id={`${this.id}-popup`}\n part=\"suggestions-wrapper\"\n class={`bg-background border-neutral absolute top-full left-0 z-10 flex w-full rounded-md border ${\n this.suggestionManager.hasSuggestions && this.isExpanded\n ? ''\n : 'hidden'\n }`}\n role=\"application\"\n aria-label={this.bindings.i18n.t('search-suggestions-single-list')}\n {...(this.suggestionManager.activeDescendant && {\n 'aria-activedescendant': this.suggestionManager.activeDescendant,\n })}\n >\n {this.renderPanel(\n this.suggestionManager.allSuggestionElements,\n (el) => (this.suggestionManager.leftPanel = el),\n () => this.suggestionManager.leftPanel\n )}\n </div>\n );\n }\n\n private getSearchInputLabel() {\n if (isMacOS()) {\n return this.bindings.i18n.t('search-box-with-suggestions-macos');\n }\n if (!hasKeyboard()) {\n return this.bindings.i18n.t('search-box-with-suggestions-keyboardless');\n }\n return this.bindings.i18n.t('search-box-with-suggestions');\n }\n\n private async onFocus() {\n if (this.isExpanded) {\n return;\n }\n this.isExpanded = true;\n await this.suggestionManager.triggerSuggestions();\n this.announceNewSuggestionsToScreenReader();\n }\n\n private async onInput(value: string) {\n this.searchBox.updateText(value);\n this.isExpanded = true;\n await this.suggestionManager.triggerSuggestions();\n this.announceNewSuggestionsToScreenReader();\n }\n\n private announceNewActiveSuggestionToScreenReader() {\n const ariaLabel = this.suggestionManager.activeDescendantElement?.ariaLabel;\n if (isMacOS() && ariaLabel) {\n this.suggestionsAriaMessage = ariaLabel;\n }\n }\n\n private announceNewSuggestionsToScreenReader() {\n const numberOfSuggestionsToAnnounce =\n this.suggestionManager.allSuggestionElements.filter(\n elementHasQuery\n ).length;\n this.searchBoxAriaMessage = numberOfSuggestionsToAnnounce\n ? this.bindings.i18n.t(\n this.searchBoxState.value\n ? 'query-suggestions-available'\n : 'query-suggestions-available-no-query',\n {\n count: numberOfSuggestionsToAnnounce,\n query: this.searchBoxState.value,\n }\n )\n : this.bindings.i18n.t('query-suggestions-unavailable');\n }\n\n public render() {\n return (\n <SearchBoxWrapper\n disabled={this.disableSearch}\n onFocusout={(event) => {\n if (!isFocusingOut(event)) {\n return;\n }\n this.suggestionManager.clearSuggestions();\n this.isExpanded = false;\n }}\n >\n <atomic-icon\n part=\"submit-icon\"\n icon={SearchSlimIcon}\n class=\"my-auto mr-0 ml-4 h-4 w-4\"\n />\n <SearchTextArea\n textAreaRef={this.textAreaRef}\n loading={this.searchBoxState.isLoading}\n ref={(el) => el && (this.textAreaRef = el)}\n bindings={this.bindings}\n value={this.searchBoxState.value}\n ariaLabel={this.getSearchInputLabel()}\n placeholder={this.bindings.i18n.t('search-ellipsis')}\n onFocus={() => this.onFocus()}\n onKeyDown={(e) => this.onKeyDown(e)}\n onClear={() => {\n this.searchBox.clear();\n this.triggerTextAreaChange('');\n }}\n onInput={(e) => this.onInput((e.target as HTMLInputElement).value)}\n />\n {this.renderSuggestions()}\n </SearchBoxWrapper>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["ItemDisplayGuard","props","children","hasItems","firstRequestExecuted","h","Fragment","DisplayWrapper","display","listClasses","ListWrapper","class","part"],"sources":["src/components/common/item-list/item-display-guard.tsx","src/components/common/item-list/stencil-display-wrapper.tsx"],"sourcesContent":["import {FunctionalComponent, h, Fragment} from '@stencil/core';\n\nexport interface ItemDisplayGuardProps {\n firstRequestExecuted: boolean;\n hasItems: boolean;\n}\n\nexport const ItemDisplayGuard: FunctionalComponent<ItemDisplayGuardProps> = (\n props,\n children\n) => {\n if (!props.hasItems || !props.firstRequestExecuted) {\n return;\n }\n\n return <Fragment>{...children}</Fragment>;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {ItemDisplayLayout} from '../layout/display-options.js';\n\nexport interface DisplayWrapperProps {\n display: ItemDisplayLayout;\n listClasses: string;\n}\n\nexport const DisplayWrapper: FunctionalComponent<DisplayWrapperProps> = (\n {display, listClasses},\n children\n) => {\n if (display === 'table') {\n return <ListWrapper listClasses={listClasses}>{...children}</ListWrapper>;\n }\n\n return (\n <ListWrapper listClasses={listClasses}>\n <div class={`list-root ${listClasses}`} part=\"result-list\">\n {children}\n </div>\n </ListWrapper>\n );\n};\n\nconst ListWrapper: FunctionalComponent<\n Pick<DisplayWrapperProps, 'listClasses'>\n> = ({listClasses}, children) => {\n return <div class={`list-wrapper ${listClasses}`}>{...children}</div>;\n};\n"],"mappings":"iDAOaA,EAA+D,CAC1EC,EACAC,KAEA,IAAKD,EAAME,WAAaF,EAAMG,qBAAsB,CAClD,M,CAGF,OAAOC,EAACC,EAAQ,QAAKJ,EAAoB,E,MCP9BK,EAA2D,EACrEC,UAASC,eACVP,KAEA,GAAIM,IAAY,QAAS,CACvB,OAAOH,EAACK,EAAW,CAACD,YAAaA,MAAiBP,E,CAGpD,OACEG,EAACK,EAAW,CAACD,YAAaA,GACxBJ,EAAA,OAAKM,MAAO,aAAaF,IAAeG,KAAK,eAC1CV,GAES,EAIlB,MAAMQ,EAEF,EAAED,eAAcP,IACXG,EAAA,OAAKM,MAAO,gBAAgBF,QAAmBP,U","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["StencilCheckbox","props","partName","part","classNames","parts","checked","push","class","attributes","key","id","join","toString","ariaLabel","text","value","ref","h","role","onClick","onToggle","onMouseDown","e","style","stroke","icon","Tick","iconPart"],"sources":["src/components/common/stencil-checkbox.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport Tick from '../../images/checkbox.svg';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the CheckboxProps interface from the checkbox.ts file\n */\nexport interface StencilCheckboxProps {\n checked: boolean;\n onToggle(checked: boolean): void;\n key?: string | number;\n id?: string;\n class?: string;\n text?: string;\n part?: string;\n iconPart?: string;\n ariaLabel?: string;\n ariaCurrent?: string;\n ref?(element?: HTMLElement): void;\n onMouseDown?(evt: MouseEvent): void;\n}\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the Checkbox function from the checkbox.ts file\n */\nexport const StencilCheckbox: FunctionalComponent<StencilCheckboxProps> = (\n props\n) => {\n const partName = props.part ?? 'checkbox';\n\n const classNames = [\n 'w-4 h-4 grid place-items-center rounded focus-visible:outline-none hover:border-primary-light focus-visible:border-primary-light',\n ];\n const parts = [partName];\n if (props.checked) {\n classNames.push(\n 'selected bg-primary hover:bg-primary-light focus-visible:bg-primary-light'\n );\n parts.push(`${partName}-checked`);\n } else {\n classNames.push('border border-neutral-dark');\n }\n if (props.class) {\n classNames.push(props.class);\n }\n\n const attributes = {\n key: props.key,\n id: props.id,\n class: classNames.join(' '),\n part: parts.join(' '),\n 'aria-checked': props.checked.toString(),\n 'aria-label': props.ariaLabel ?? props.text,\n value: props.text,\n ref: props.ref,\n };\n\n return (\n <button\n {...attributes}\n role=\"checkbox\"\n onClick={() => props.onToggle?.(!props.checked)}\n onMouseDown={(e) => props.onMouseDown?.(e)}\n >\n <atomic-icon\n style={{stroke: 'white'}}\n class={`w-3/5 ${props.checked ? 'block' : 'hidden'}`}\n icon={Tick}\n part={props.iconPart}\n ></atomic-icon>\n </button>\n );\n};\n"],"mappings":"8OAwBaA,EACXC,IAEA,MAAMC,EAAWD,EAAME,MAAQ,WAE/B,MAAMC,EAAa,CACjB,oIAEF,MAAMC,EAAQ,CAACH,GACf,GAAID,EAAMK,QAAS,CACjBF,EAAWG,KACT,6EAEFF,EAAME,KAAK,GAAGL,Y,KACT,CACLE,EAAWG,KAAK,6B,CAElB,GAAIN,EAAMO,MAAO,CACfJ,EAAWG,KAAKN,EAAMO,M,CAGxB,MAAMC,EAAa,CACjBC,IAAKT,EAAMS,IACXC,GAAIV,EAAMU,GACVH,MAAOJ,EAAWQ,KAAK,KACvBT,KAAME,EAAMO,KAAK,KACjB,eAAgBX,EAAMK,QAAQO,WAC9B,aAAcZ,EAAMa,WAAab,EAAMc,KACvCC,MAAOf,EAAMc,KACbE,IAAKhB,EAAMgB,KAGb,OACEC,EAAA,aACMT,EACJU,KAAK,WACLC,QAAS,IAAMnB,EAAMoB,YAAYpB,EAAMK,SACvCgB,YAAcC,GAAMtB,EAAMqB,cAAcC,IAExCL,EAAA,eACEM,MAAO,CAACC,OAAQ,SAChBjB,MAAO,SAASP,EAAMK,QAAU,QAAU,WAC1CoB,KAAMC,EACNxB,KAAMF,EAAM2B,WAEP,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["getFieldTableColumns","props","itemRenderingFunction","getFieldTableColumnsFromRenderingFunction","getFieldTableColumnsFromHTMLTemplate","contentOfRenderingFunction","document","createElement","contentOfRenderingFunctionAsString","firstItem","innerHTML","Array","from","querySelectorAll","tableElementTagName","templateContentForFirstItem","DisplayTable","children","fieldColumns","length","logger","error","host","h","class","listClasses","part","map","column","value","getAttribute","DisplayTableRow","key","rowIndex","setRef","ref","element","DisplayTableData","renderItem","TabGuard","tabsIncluded","tabsExcluded","activeTab","shouldDisplayOnCurrentTab","Hidden","Fragment","atomicResultListCss","AtomicResultListStyle0","AtomicResultList","this","loadingFlag","randomID","resultTemplateRegistered","isAppLoaded","templateHasError","display","density","imageSize","setRenderFunction","resultRenderingFunction","focusTarget","nextNewResultTarget","FocusTargetController","initialize","includes","console","warn","tabManager","buildTabManager","bindings","engine","resultList","buildResultList","resultsPerPage","buildResultsPerPage","itemTemplateProvider","ItemTemplateProvider","includeDefaultTemplate","templateElements","getResultTemplateRegistered","getTemplateHasError","setResultTemplateRegistered","setTemplateHasError","resultListCommon","ItemListCommon","engineSubscribe","subscribe","getCurrentNumberOfItems","resultListState","results","getIsLoading","isLoading","nextNewItemTarget","store","createAppLoadedListener","watchTabManagerState","newValue","oldValue","unsetLoadingFlag","render","updateBreakpoints","computeListDisplayClasses","tabManagerState","ItemListGuard","hasError","hasTemplate","firstRequestExecuted","firstSearchExecuted","hasItems","hasResults","DisplayWrapper","ResultsPlaceholdersGuard","displayPlaceholders","numberOfPlaceholders","resultsPerPageState","numberOfResults","ItemDisplayGuard","renderAsTable","renderAsGrid","renderAsList","getPropsForAtomicResult","result","interactiveResult","buildInteractiveResult","options","renderingFunction","getResultId","uniqueId","searchResponseId","content","getTemplateContent","linkContent","getLinkTemplateContent","getEmptyLinkTemplateContent","getItemListDisplayClasses","i","propsForAtomicResult","DisplayGrid","selectorForItem","item","setNewResultRef","propsForTableColumns","__decorate","InitializeBindings","BindStateToController","ArrayProp"],"sources":["src/components/common/item-list/stencil-display-table.tsx","src/components/common/tabs/tab-guard.tsx","src/components/search/result-lists/atomic-result-list/atomic-result-list.pcss?tag=atomic-result-list&encapsulation=shadow","src/components/search/result-lists/atomic-result-list/atomic-result-list.tsx"],"sourcesContent":["// The Lit equivalent of this file is table-layout.ts\nimport {FunctionalComponent, VNode, h} from '@stencil/core';\nimport {tableElementTagName} from '../../search/atomic-table-result/table-element-utils.js';\nimport {AnyItem} from './unfolded-item.js';\nimport {ItemRenderingFunction} from './stencil-item-list-common.js';\n\ninterface TableColumnsProps {\n templateContentForFirstItem: DocumentFragment;\n firstItem: AnyItem;\n itemRenderingFunction?: ItemRenderingFunction;\n}\n\nexport interface DisplayTableProps extends TableColumnsProps {\n logger: Pick<Console, 'error'>;\n host: HTMLElement;\n listClasses: string;\n}\n\nexport interface TableDataProps extends TableColumnsProps {\n key: string;\n}\n\nexport interface DisplayTableRowProps {\n key: string;\n rowIndex: number;\n setRef: (element?: HTMLElement) => void;\n}\n\nconst getFieldTableColumns = (props: TableColumnsProps) => {\n if (props.itemRenderingFunction) {\n return getFieldTableColumnsFromRenderingFunction(props);\n }\n return getFieldTableColumnsFromHTMLTemplate(props);\n};\n\nconst getFieldTableColumnsFromRenderingFunction = (\n props: Pick<TableColumnsProps, 'itemRenderingFunction' | 'firstItem'>\n): HTMLAtomicTableElementElement[] => {\n const contentOfRenderingFunction = document.createElement('div');\n\n const contentOfRenderingFunctionAsString = props.itemRenderingFunction!(\n props.firstItem,\n document.createElement('div')\n );\n contentOfRenderingFunction.innerHTML = contentOfRenderingFunctionAsString;\n\n return Array.from(\n contentOfRenderingFunction.querySelectorAll(tableElementTagName)\n );\n};\n\nconst getFieldTableColumnsFromHTMLTemplate = (\n props: Pick<DisplayTableProps, 'templateContentForFirstItem'>\n): HTMLAtomicTableElementElement[] =>\n Array.from(\n props.templateContentForFirstItem.querySelectorAll(tableElementTagName)\n );\n\nexport const DisplayTable: FunctionalComponent<DisplayTableProps> = (\n props,\n children\n) => {\n const fieldColumns = getFieldTableColumns(props);\n\n if (!fieldColumns.length) {\n props.logger.error(\n 'atomic-table-element elements missing in the template to display columns.',\n props.host\n );\n }\n\n return (\n <table class={`list-root ${props.listClasses}`} part=\"result-table\">\n <thead part=\"result-table-heading\">\n <tr part=\"result-table-heading-row\">\n {fieldColumns.map((column) => (\n <th part=\"result-table-heading-cell\">\n <atomic-text value={column.getAttribute('label')!}></atomic-text>\n </th>\n ))}\n </tr>\n </thead>\n <tbody part=\"result-table-body\">{...children}</tbody>\n </table>\n );\n};\n\nexport const DisplayTableRow: FunctionalComponent<DisplayTableRowProps> = (\n {key, rowIndex, setRef},\n children\n) => {\n return (\n <tr\n key={key}\n part={\n 'result-table-row ' +\n (rowIndex % 2 === 1 ? 'result-table-row-even' : 'result-table-row-odd')\n }\n ref={(element) => setRef(element)}\n >\n {...children}\n </tr>\n );\n};\n\nexport const DisplayTableData: FunctionalComponent<\n TableDataProps & {\n renderItem: (content: HTMLAtomicTableElementElement) => VNode;\n }\n> = (props) => {\n const fieldColumns = getFieldTableColumns(props);\n\n return fieldColumns.map((column) => {\n const key = column.getAttribute('label')! + props.key;\n return (\n <td key={key} part=\"result-table-cell\">\n {props.renderItem(column)}\n </td>\n );\n });\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {Hidden} from '../stencil-hidden';\n\ninterface TabGuardProps {\n tabsIncluded: string | string[];\n tabsExcluded: string | string[];\n activeTab: string;\n}\n\nexport const TabGuard: FunctionalComponent<TabGuardProps> = (\n {tabsIncluded, tabsExcluded, activeTab},\n children\n) => {\n if (\n !shouldDisplayOnCurrentTab([...tabsIncluded], [...tabsExcluded], activeTab)\n ) {\n return <Hidden></Hidden>;\n }\n return <Fragment>{...children}</Fragment>;\n};\n","@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../../../common/item-list/styles/table-display.pcss';\n@import '../../../common/item-list/styles/list-display.pcss';\n@import '../../../common/item-list/styles/grid-display.pcss';\n\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {\n ResultList,\n ResultListState,\n buildResultList,\n ResultsPerPageState,\n ResultsPerPage,\n buildResultsPerPage,\n buildInteractiveResult,\n Result,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, Element, State, Prop, Method, h, Watch} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/item-display-guard';\nimport {ItemListGuard} from '../../../common/item-list/item-list-guard';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {DisplayGrid} from '../../../common/item-list/stencil-display-grid';\nimport {\n DisplayTableData,\n DisplayTable,\n DisplayTableRow,\n} from '../../../common/item-list/stencil-display-table';\nimport {DisplayWrapper} from '../../../common/item-list/stencil-display-wrapper';\nimport {\n ItemListCommon,\n ItemRenderingFunction,\n} from '../../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n getItemListDisplayClasses,\n} from '../../../common/layout/display-options';\nimport {TabGuard} from '../../../common/tabs/tab-guard';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-result-list` component is responsible for displaying query results by applying one or more result templates.\n *\n * @slot default - The default slot where the result templates are inserted.\n * @part result-list - The element containing every result of a result list\n * @part outline - The element displaying an outline or a divider around a result\n * @part result-list-grid-clickable-container - The parent of the result & the clickable link encompassing it, when results are displayed as a grid\n * @part result-list-grid-clickable - The clickable link encompassing the result when results are displayed as a grid\n * @part result-table - The element of the result table containing a heading and a body\n * @part result-table-heading - The element containing the row of cells in the result table's heading\n * @part result-table-heading-row - The element containing cells of the result table's heading\n * @part result-table-heading-cell - The element representing a cell of the result table's heading\n * @part result-table-body - The element containing the rows of the result table's body\n * @part result-table-row - The element containing the cells of a row in the result table's body\n * @part result-table-row-odd - The element containing the cells of an odd row in the result table's body\n * @part result-table-row-even - The element containing the cells of an even row in the result table's body\n * @part result-table-cell - The element representing a cell of the result table's body\n */\n@Component({\n tag: 'atomic-result-list',\n styleUrl: 'atomic-result-list.pcss',\n shadow: true,\n})\nexport class AtomicResultList implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public resultList!: ResultList;\n public resultsPerPage!: ResultsPerPage;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private nextNewResultTarget?: FocusTargetController;\n private itemTemplateProvider!: ItemTemplateProvider;\n private resultListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('resultList')\n @State()\n private resultListState!: ResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n private resultsPerPageState!: ResultsPerPageState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n @State() private templateHasError = false;\n\n /**\n * The desired layout to use when displaying results. Layouts affect how many results to display per row and how visually distinct they are from each other.\n */\n @Prop({reflect: true}) public display: ItemDisplayLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true, mutable: true})\n public imageSize: ItemDisplayImageSize = 'icon';\n\n /**\n * The tabs on which the result list 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-result-list tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list snippet>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list 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 result list 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-result-list tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list 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 * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n public initialize() {\n if (this.host.innerHTML.includes('<atomic-result-children')) {\n console.warn(\n 'Folded results will not render any children for the \"atomic-result-list\". Please use \"atomic-folded-result-list\" instead.'\n );\n }\n this.tabManager = buildTabManager(this.bindings.engine);\n this.resultList = buildResultList(this.bindings.engine);\n this.resultsPerPage = buildResultsPerPage(this.bindings.engine);\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-result-template')\n ),\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n\n this.resultListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () => this.resultListState.results.length,\n getIsLoading: () => this.resultListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n this.bindings.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n\n public render() {\n this.resultListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <TabGuard\n tabsIncluded={this.tabsIncluded}\n tabsExcluded={this.tabsExcluded}\n activeTab={this.tabManagerState.activeTab}\n >\n <ItemListGuard\n hasError={this.resultListState.hasError}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n <DisplayWrapper display={this.display} listClasses={listClasses}>\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n {this.display === 'table'\n ? this.renderAsTable()\n : this.display === 'grid'\n ? this.renderAsGrid()\n : this.renderAsList()}\n </ItemDisplayGuard>\n </DisplayWrapper>\n </ItemListGuard>\n </TabGuard>\n );\n }\n\n private getPropsForAtomicResult(result: Result) {\n return {\n interactiveResult: buildInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.resultListCommon.getResultId(\n result.uniqueId,\n this.resultListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(result),\n linkContent:\n this.display === 'grid'\n ? this.itemTemplateProvider.getLinkTemplateContent(result)\n : this.itemTemplateProvider.getEmptyLinkTemplateContent(),\n store: this.bindings.store,\n density: this.density,\n imageSize: this.imageSize,\n display: this.display,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n this.display,\n this.density,\n this.imageSize,\n this.resultListState.firstSearchExecuted &&\n this.resultListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-result\"\n item={result}\n {...propsForAtomicResult.interactiveResult}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-result {...this} {...propsForAtomicResult}></atomic-result>\n </DisplayGrid>\n );\n });\n }\n\n private renderAsTable() {\n if (!this.resultListState.hasResults) {\n return;\n }\n const listClasses = this.computeListDisplayClasses();\n const firstItem = this.resultListState.results[0];\n\n const propsForTableColumns = {\n firstItem,\n templateContentForFirstItem:\n this.itemTemplateProvider.getTemplateContent(firstItem),\n };\n\n return (\n <DisplayTable\n {...propsForTableColumns}\n listClasses={listClasses}\n logger={this.bindings.engine.logger}\n itemRenderingFunction={this.itemRenderingFunction}\n host={this.host}\n >\n {this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayTableRow\n {...propsForAtomicResult}\n rowIndex={i}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <DisplayTableData\n {...propsForTableColumns}\n {...propsForAtomicResult}\n renderItem={(content) => {\n return (\n <atomic-result\n {...propsForAtomicResult}\n content={content}\n ></atomic-result>\n );\n }}\n ></DisplayTableData>\n </DisplayTableRow>\n );\n })}\n </DisplayTable>\n );\n }\n\n private renderAsList() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <atomic-result\n {...propsForAtomicResult}\n ref={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n part=\"outline\"\n ></atomic-result>\n );\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["ResultsPlaceholdersGuard","props","displayPlaceholders","display","h","TableDisplayResultsPlaceholder","ResultsPlaceholder","Array","from","length","numberOfPlaceholders","_","i","key","density","imageSize","rows","TemplateProvider","constructor","buildManager","this","templateManager","registerResultTemplates","customTemplates","Promise","all","templateElements","map","async","resultTemplateElement","customElements","whenDefined","tagName","toLowerCase","template","getTemplate","setTemplateHasError","templates","includeDefaultTemplate","makeDefaultTemplate","concat","filter","registerTemplates","setResultTemplateRegistered","getTemplateContent","item","selectTemplate","getLinkTemplateContent","selectLinkTemplate","getEmptyLinkTemplateContent","document","createDocumentFragment","templatesRegistered","getResultTemplateRegistered","hasError","getTemplateHasError","ItemTemplateProvider","gridCellLinkTarget","super","buildResultTemplatesManager","bindings","engine","content","linkEl","createElement","appendChild","linkContent","linkMarkup","linkTemplate","innerHTML","trim","conditions"],"sources":["src/components/common/atomic-result-placeholder/stencil-placeholders.tsx","src/components/common/template-provider/template-provider.ts","src/components/common/item-list/item-template-provider.ts"],"sourcesContent":["// The Lit equivalent of this file is item-placeholders.ts. The Lit version doesn't include the placeholder guard.\nimport {FunctionalComponent, h} from '@stencil/core';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n} from '../layout/display-options.js';\n\ninterface ResultPlaceholderProps {\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n display: ItemDisplayLayout;\n numberOfPlaceholders: number;\n}\n\ninterface ResultPlaceholderGuardProps extends ResultPlaceholderProps {\n displayPlaceholders: boolean;\n}\n\nexport const ResultsPlaceholdersGuard: FunctionalComponent<\n ResultPlaceholderGuardProps\n> = (props) => {\n if (!props.displayPlaceholders) {\n return;\n }\n switch (props.display) {\n case 'table':\n return <TableDisplayResultsPlaceholder {...props} />;\n default:\n return <ResultsPlaceholder {...props} />;\n }\n};\n\nexport const ResultsPlaceholder: FunctionalComponent<ResultPlaceholderProps> = (\n props\n) => {\n return Array.from({length: props.numberOfPlaceholders}, (_, i) => (\n <atomic-result-placeholder\n key={`placeholder-${i}`}\n density={props.density}\n display={props.display || 'list'}\n imageSize={props.imageSize}\n ></atomic-result-placeholder>\n ));\n};\n\nconst TableDisplayResultsPlaceholder: FunctionalComponent<\n ResultPlaceholderProps\n> = (props) => {\n return (\n <atomic-result-table-placeholder\n density={props.density}\n imageSize={props.imageSize}\n rows={props.numberOfPlaceholders}\n ></atomic-result-table-placeholder>\n );\n};\n","import type {Template, TemplatesManager} from '@coveo/headless';\n\nexport interface TemplateElement<ItemType> extends HTMLElement {\n getTemplate(): Promise<Template<ItemType, DocumentFragment> | null>;\n}\n\nexport interface TemplateProviderProps<ItemType> {\n getResultTemplateRegistered(): boolean;\n setResultTemplateRegistered(value: boolean): void;\n getTemplateHasError(): boolean;\n setTemplateHasError(value: boolean): void;\n templateElements: TemplateElement<ItemType>[];\n includeDefaultTemplate: boolean;\n}\n\nexport abstract class TemplateProvider<ItemType> {\n private templateManager: TemplatesManager<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >;\n\n protected abstract makeDefaultTemplate(): Template<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >;\n\n constructor(\n private props: TemplateProviderProps<ItemType>,\n private buildManager: () => TemplatesManager<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >\n ) {\n this.templateManager = this.buildManager();\n this.registerResultTemplates();\n }\n\n private async registerResultTemplates() {\n const customTemplates = await Promise.all(\n this.props.templateElements.map(async (resultTemplateElement) => {\n if (!('getTemplate' in resultTemplateElement)) {\n await customElements.whenDefined(\n (resultTemplateElement as HTMLElement).tagName.toLowerCase()\n );\n }\n\n const template = await resultTemplateElement.getTemplate();\n if (!template) {\n this.props.setTemplateHasError(true);\n }\n return template;\n })\n );\n\n const templates = (\n !customTemplates.length && this.props.includeDefaultTemplate\n ? [this.makeDefaultTemplate()]\n : []\n ).concat(\n customTemplates.filter((template) => template) as Template<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >[]\n );\n\n this.templateManager.registerTemplates(...templates);\n this.props.setResultTemplateRegistered(true);\n }\n\n public getTemplateContent(item: ItemType) {\n return this.templateManager.selectTemplate(item)!;\n }\n\n public getLinkTemplateContent(item: ItemType) {\n return this.templateManager.selectLinkTemplate(item)!;\n }\n\n public getEmptyLinkTemplateContent() {\n return document.createDocumentFragment();\n }\n\n public get templatesRegistered() {\n return this.props.getResultTemplateRegistered();\n }\n\n public get hasError() {\n return this.props.getTemplateHasError();\n }\n}\n","import {\n buildResultTemplatesManager,\n type Result,\n type Template,\n} from '@coveo/headless';\nimport type {AnyBindings} from '../interface/bindings';\nimport type {ItemTarget} from '../layout/display-options';\nimport {\n TemplateProvider,\n type TemplateProviderProps,\n} from '../template-provider/template-provider';\n\nexport class ItemTemplateProvider extends TemplateProvider<Result> {\n constructor(\n props: TemplateProviderProps<Result> & {bindings: AnyBindings},\n private gridCellLinkTarget?: ItemTarget\n ) {\n super(props, () => buildResultTemplatesManager(props.bindings.engine));\n }\n\n // TODO: Add JSX support for default template\n protected makeDefaultTemplate(): Template<\n Result,\n DocumentFragment,\n DocumentFragment\n > {\n const content = document.createDocumentFragment();\n const linkEl = document.createElement('atomic-result-link');\n content.appendChild(linkEl);\n\n const linkContent = document.createDocumentFragment();\n const linkMarkup = `\n <atomic-result-link>\n ${this.gridCellLinkTarget ? `<a slot=\"attributes\" target=\"${this.gridCellLinkTarget}\"></a>` : ''}\n </atomic-result-link>\n `;\n const linkTemplate = document.createElement('template');\n linkTemplate.innerHTML = linkMarkup.trim();\n linkContent.appendChild(linkTemplate.content);\n return {\n content,\n linkContent,\n conditions: [],\n };\n }\n}\n"],"mappings":"wGAmBaA,EAERC,IACH,IAAKA,EAAMC,oBAAqB,CAC9B,M,CAEF,OAAQD,EAAME,SACZ,IAAK,QACH,OAAOC,EAACC,EAA8B,IAAKJ,IAC7C,QACE,OAAOG,EAACE,EAAkB,IAAKL,I,QAIxBK,EACXL,GAEOM,MAAMC,KAAK,CAACC,OAAQR,EAAMS,uBAAuB,CAACC,EAAGC,IAC1DR,EAAA,6BACES,IAAK,eAAeD,IACpBE,QAASb,EAAMa,QACfX,QAASF,EAAME,SAAW,OAC1BY,UAAWd,EAAMc,cAKvB,MAAMV,EAEDJ,GAEDG,EAAA,mCACEU,QAASb,EAAMa,QACfC,UAAWd,EAAMc,UACjBC,KAAMf,EAAMS,uB,MCtCIO,EAapB,WAAAC,CACUjB,EACAkB,GADAC,KAAAnB,QACAmB,KAAAD,eAMRC,KAAKC,gBAAkBD,KAAKD,eAC5BC,KAAKE,yB,CAGC,6BAAMA,GACZ,MAAMC,QAAwBC,QAAQC,IACpCL,KAAKnB,MAAMyB,iBAAiBC,KAAIC,MAAOC,IACrC,KAAM,gBAAiBA,GAAwB,OACvCC,eAAeC,YAClBF,EAAsCG,QAAQC,c,CAInD,MAAMC,QAAiBL,EAAsBM,cAC7C,IAAKD,EAAU,CACbd,KAAKnB,MAAMmC,oBAAoB,K,CAEjC,OAAOF,CAAQ,KAInB,MAAMG,IACHd,EAAgBd,QAAUW,KAAKnB,MAAMqC,uBAClC,CAAClB,KAAKmB,uBACN,IACJC,OACAjB,EAAgBkB,QAAQP,GAAaA,KAOvCd,KAAKC,gBAAgBqB,qBAAqBL,GAC1CjB,KAAKnB,MAAM0C,4BAA4B,K,CAGlC,kBAAAC,CAAmBC,GACxB,OAAOzB,KAAKC,gBAAgByB,eAAeD,E,CAGtC,sBAAAE,CAAuBF,GAC5B,OAAOzB,KAAKC,gBAAgB2B,mBAAmBH,E,CAG1C,2BAAAI,GACL,OAAOC,SAASC,wB,CAGlB,uBAAWC,GACT,OAAOhC,KAAKnB,MAAMoD,6B,CAGpB,YAAWC,GACT,OAAOlC,KAAKnB,MAAMsD,qB,QC9ETC,UAA6BvC,EACxC,WAAAC,CACEjB,EACQwD,GAERC,MAAMzD,GAAO,IAAM0D,EAA4B1D,EAAM2D,SAASC,UAFtDzC,KAAAqC,oB,CAMA,mBAAAlB,GAKR,MAAMuB,EAAUZ,SAASC,yBACzB,MAAMY,EAASb,SAASc,cAAc,sBACtCF,EAAQG,YAAYF,GAEpB,MAAMG,EAAchB,SAASC,yBAC7B,MAAMgB,EAAa,uCAEf/C,KAAKqC,mBAAqB,gCAAgCrC,KAAKqC,2BAA6B,wCAGhG,MAAMW,EAAelB,SAASc,cAAc,YAC5CI,EAAaC,UAAYF,EAAWG,OACpCJ,EAAYD,YAAYG,EAAaN,SACrC,MAAO,CACLA,UACAI,cACAK,WAAY,G","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["identifierKeywordsSection","QuickviewSidebar","props","words","minimized","numberOfWords","Object","values","length","minimizeButton","h","MinimizeButton","wordsLength","class","HighlightKeywordsCheckbox","Keywords","i18n","onMinimize","highlightKeywords","IconButton","partPrefix","icon","MinimizeIcon","style","title","t","ariaLabel","onClick","badge","undefined","ariaExpanded","toString","ariaControls","onHighlightKeywords","Fragment","StencilCheckbox","text","id","checked","highlightNone","onToggle","htmlFor","map","keyword","wordIsEnabled","keywords","enabled","key","backgroundColor","color","Intl","NumberFormat","language","notation","format","occurrences","FieldsetGroup","label","ArrowDown","disabled","navigateForward","ArrowUp","navigateBackward","tabIndex","ariaPressed","Remove","Add","indexIdentifier","documentIdentifierInIframe","writeDocument","documentWriter","content","open","write","close","scrollingElement","scrollTop","currentResultAlreadyWrittenToDocument","uniqueIdentifier","currentDocIdentifier","getElementById","textContent","ensureSameResultIsNotOverwritten","docIdentifier","createElement","display","setAttribute","body","appendChild","warnAboutLimitedUsageQuickview","logger","warn","QuickviewIframe","onSetIframeRef","sandbox","src","waitForIframeContentToBeWritten","Promise","resolve","setTimeout","ref","async","el","iframeRef","contentDocument","buildQuickviewPreviewBar","iframe","bar","buildPreviewBar","remove","docHeight","scrollHeight","forEach","word","elements","wordElement","previewUnit","buildPreviewUnit","previewBarId","innerHTML","position","top","right","width","height","elementPosition","getBoundingClientRect","border","previewBorderColor","rgbToHsv","r","g","b","max","Math","min","v","d","s","hsvToRgb","i","floor","f","p","q","round","HIGHLIGHT_PREFIX","QuickviewWordHighlight","constructor","stemmingInfoFromIndex","keywordElementInIframe","this","currentNavigationPosition","parsed","parseKeywordIdentifier","getText","keywordIdentifier","focusedColor","computeInvertedColor","computeSaturatedColor","addElement","push","highlightNavigation","putElementIntoView","isTaggedWord","element","nodeName","toLowerCase","currentElement","otherElements","filter","scrollIntoView","innerTextOfHTMLElement","getHighlightedInnerText","resolveOriginalTerm","trim","highlight","found","keys","find","originalTerm","originalTermMatch","stemmingExpansions","stemmingExpansionMatch","stemmingExpansion","getTextOfHTMLElement","children","Array","from","parts","substring","match","keywordTermPart","parseInt","innerText","extractRgb","newSaturation","rSaturated","gSaturated","bSaturated","rgbExtracted","getWordsHighlights","wordsHighlights","querySelectorAll","wordHTMLElementToHighlight","wordHighlight","alreadyScannedKeyword","atomicQuickviewModalCss","AtomicQuickviewModalStyle0","AtomicQuickviewModal","minimizeSidebar","watchHighlightKeywords","handleHighlightsScripts","componentWillLoad","bindings","store","isMobile","reset","result","interactiveResult","renderHeader","headerContent","buildInteractiveResult","engine","options","LinkWithItemAnalytics","href","clickUri","onSelect","select","onBeginDelayedSelect","beginDelayedSelect","onCancelPendingSelect","cancelPendingSelect","className","part","CloseIcon","onClose","slot","renderBody","minimize","quickviewSrc","quickviewUniqueIdentifier","termsToHighlight","renderFooter","Button","previousQuickview","emit","current","first","total","nextQuickview","modalCloseCallback","isOpen","highlightScriptId","state","resultPreview","contentURL","enableHighlights","removeDisableHighlightScript","enableHighlightsSpecificKeyword","identifier","disableHighlights","createDisableHighlightScript","disableHighlightsSpecificKeyword","doc","contentWindow","document","head","scriptId","createStyleElement","createTextNode","flatPhrasesToHighlight","phrasesToHighlight","search","response","entries","phrase","flatMap","keywordEntry","keywordStemming","requestId","uniqueId","render","fullscreen","exportparts","ATOMIC_MODAL_EXPORT_PARTS","__decorate","InitializeBindings"],"sources":["src/components/search/result-template-components/atomic-quickview-sidebar/atomic-quickview-sidebar.tsx","src/components/search/result-template-components/quickview-iframe/quickview-iframe.tsx","src/components/search/result-template-components/quickview-preview-bar/quickview-preview-bar.ts","src/utils/color-utils.ts","src/components/search/result-template-components/quickview-word-highlight/quickview-word-highlight.tsx","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.pcss?tag=atomic-quickview-modal&encapsulation=shadow","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport Add from '../../../../images/add.svg';\nimport ArrowDown from '../../../../images/arrow-bottom-rounded.svg';\nimport ArrowUp from '../../../../images/arrow-top-rounded.svg';\nimport MinimizeIcon from '../../../../images/menu.svg';\nimport Remove from '../../../../images/remove.svg';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport {StencilCheckbox} from '../../../common/stencil-checkbox';\nimport {FieldsetGroup} from '../../../common/stencil-fieldset-group';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nconst identifierKeywordsSection = 'coveo-quickview-sidebar-keywords';\n\nexport interface QuickviewSidebarProps {\n words: Record<string, QuickviewWordHighlight>;\n i18n: i18n;\n highlightKeywords: HighlightKeywords;\n onHighlightKeywords: (highlight: HighlightKeywords) => void;\n minimized: boolean;\n onMinimize: (minimize: boolean) => void;\n}\n\nexport const QuickviewSidebar: FunctionalComponent<QuickviewSidebarProps> = (\n props\n) => {\n const {words, minimized} = props;\n const numberOfWords = Object.values(words).length;\n\n if (numberOfWords === 0) {\n return;\n }\n\n const minimizeButton = (\n <MinimizeButton {...props} wordsLength={numberOfWords} />\n );\n\n return (\n <div class=\"border-neutral h-full border-r p-4\">\n {minimized && minimizeButton}\n <div class=\"flex items-center justify-between\">\n <div class=\"flex items-center\">\n <HighlightKeywordsCheckbox {...props} />\n </div>\n {!minimized && <div>{minimizeButton}</div>}\n </div>\n\n {!minimized && <Keywords {...props} words={words} />}\n </div>\n );\n};\n\nconst MinimizeButton: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'minimized' | 'onMinimize' | 'highlightKeywords'\n > & {wordsLength: number}\n> = ({i18n, minimized, onMinimize, highlightKeywords, wordsLength}) => (\n <IconButton\n partPrefix=\"sidebar-minimize\"\n icon={MinimizeIcon}\n style=\"text-transparent\"\n title={i18n.t('quickview-toggle-navigation')}\n ariaLabel={i18n.t('quickview-toggle-navigation')}\n onClick={() => onMinimize(!minimized)}\n badge={\n highlightKeywords && minimized ? <slot>{wordsLength}</slot> : undefined\n }\n class={`w-fit ${minimized ? '' : 'ml-auto'}`}\n ariaExpanded={(!minimized).toString()}\n ariaControls={identifierKeywordsSection}\n />\n);\n\nconst HighlightKeywordsCheckbox: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'highlightKeywords' | 'onHighlightKeywords' | 'minimized'\n >\n> = ({i18n, highlightKeywords, onHighlightKeywords, minimized}) => (\n <Fragment>\n <StencilCheckbox\n text={i18n.t('keywords-highlight')}\n class=\"mr-2\"\n id=\"atomic-quickview-sidebar-highlight-keywords\"\n checked={!highlightKeywords.highlightNone}\n onToggle={(checked) =>\n onHighlightKeywords({\n ...highlightKeywords,\n highlightNone: !checked,\n })\n }\n ></StencilCheckbox>\n {!minimized && (\n <label\n class=\"cursor-pointer font-bold whitespace-nowrap\"\n htmlFor=\"atomic-quickview-sidebar-highlight-keywords\"\n >\n {i18n.t('keywords-highlight')}\n </label>\n )}\n </Fragment>\n);\n\nconst Keywords: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'onHighlightKeywords' | 'highlightKeywords'\n > & {\n words: Record<string, QuickviewWordHighlight>;\n }\n> = ({words, i18n, highlightKeywords, onHighlightKeywords}) => {\n return (\n <div id={identifierKeywordsSection}>\n {Object.values(words).map((keyword) => {\n const wordIsEnabled =\n !highlightKeywords.highlightNone &&\n (highlightKeywords.keywords[keyword.text] === undefined ||\n highlightKeywords.keywords[keyword.text].enabled === true);\n\n return (\n <div\n key={keyword.text}\n class=\"my-4 flex w-100 items-center justify-between gap-x-2\"\n >\n <div\n class={`bg-background border-neutral flex grow items-center overflow-x-auto rounded-lg border ${\n !wordIsEnabled ? 'pointer-events-none opacity-50' : ''\n }`}\n >\n <div\n class=\"flex grow items-center border-r p-4\"\n aria-hidden=\"true\"\n >\n <div\n class=\"mr-2 h-5 w-5 flex-none\"\n style={{backgroundColor: keyword.color}}\n ></div>\n <div class=\"mr-2 grow whitespace-nowrap\">{keyword.text}</div>\n <div class=\"flex-none\">\n (\n {new Intl.NumberFormat(i18n.language, {\n notation: 'compact',\n }).format(keyword.occurrences)}\n )\n </div>\n </div>\n <FieldsetGroup\n label={i18n.t('quickview-navigate-keywords', {\n occurrences: keyword.occurrences,\n keyword: keyword.text,\n })}\n >\n <div class=\"flex px-2\">\n <IconButton\n partPrefix=\"sidebar-next\"\n icon={ArrowDown}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('next')}\n title={i18n.t('next')}\n onClick={() => keyword.navigateForward()}\n />\n <IconButton\n partPrefix=\"sidebar-previous\"\n icon={ArrowUp}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('previous')}\n title={i18n.t('previous')}\n onClick={() => keyword.navigateBackward()}\n />\n </div>\n </FieldsetGroup>\n </div>\n <IconButton\n partPrefix=\"sidebar-remove-word\"\n class={`${\n highlightKeywords.highlightNone\n ? 'pointer-events-none opacity-50'\n : ''\n }`}\n tabIndex={highlightKeywords.highlightNone ? '-1' : '0'}\n ariaPressed={(!wordIsEnabled).toString()}\n style=\"text-transparent\"\n icon={wordIsEnabled ? Remove : Add}\n ariaLabel={i18n.t('quickview-remove-word')}\n onClick={() => {\n onHighlightKeywords({\n ...highlightKeywords,\n keywords: {\n ...highlightKeywords.keywords,\n [keyword.text]: {\n enabled: !wordIsEnabled,\n indexIdentifier: keyword.indexIdentifier,\n },\n },\n });\n }}\n />\n </div>\n );\n })}\n </div>\n );\n};\n","import {SearchEngine} from '@coveo/headless';\nimport {FunctionalComponent, h} from '@stencil/core';\n\nconst documentIdentifierInIframe = 'CoveoDocIdentifier';\n\nconst writeDocument = (documentWriter: Document, content: string) => {\n documentWriter.open();\n documentWriter.write(content);\n documentWriter.close();\n if (documentWriter.scrollingElement) {\n documentWriter.scrollingElement.scrollTop = 0;\n }\n};\n\nconst currentResultAlreadyWrittenToDocument = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const currentDocIdentifier = documentWriter.getElementById(\n documentIdentifierInIframe\n );\n\n return (\n currentDocIdentifier &&\n currentDocIdentifier.textContent === uniqueIdentifier\n );\n};\n\nconst ensureSameResultIsNotOverwritten = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const docIdentifier = documentWriter.createElement('div');\n docIdentifier.style.display = 'none';\n docIdentifier.setAttribute('aria-hidden', 'true');\n docIdentifier.id = documentIdentifierInIframe;\n docIdentifier.textContent = uniqueIdentifier;\n documentWriter.body.appendChild(docIdentifier);\n};\n\nconst warnAboutLimitedUsageQuickview = (logger?: SearchEngine['logger']) => {\n logger?.warn(\n 'Quickview initialized in restricted mode due to incompatible sandboxing environment. Keywords hit navigation will be disabled.'\n );\n};\n\nexport const QuickviewIframe: FunctionalComponent<{\n title: string;\n content?: string;\n onSetIframeRef: (ref: HTMLIFrameElement) => void;\n uniqueIdentifier?: string;\n sandbox?: string;\n src?: string;\n logger?: SearchEngine['logger'];\n}> = ({title, onSetIframeRef, uniqueIdentifier, content, sandbox, src, logger}) => {\n // When a document is written with document.open/document.write/document.close\n // it is not synchronous and the content of the iframe is only available to be queried at the end of the current call stack.\n // This add a \"wait\" (setTimeout 0) before calling the `onSetIframeRef` from the parent modal quickview\n const waitForIframeContentToBeWritten = () => {\n return new Promise((resolve) => setTimeout(resolve));\n };\n\n return (\n <iframe\n title={title}\n src=\"about:blank\"\n class=\"h-full w-full\"\n sandbox={sandbox}\n ref={async (el) => {\n const iframeRef = el as HTMLIFrameElement;\n\n if (!uniqueIdentifier || !content) {\n return;\n }\n\n const documentWriter = iframeRef.contentDocument;\n if (!documentWriter) {\n if (src) {\n warnAboutLimitedUsageQuickview(logger);\n iframeRef.src = src;\n }\n\n return;\n }\n if (\n currentResultAlreadyWrittenToDocument(\n documentWriter,\n uniqueIdentifier\n )\n ) {\n return;\n }\n\n writeDocument(documentWriter, content);\n ensureSameResultIsNotOverwritten(documentWriter, uniqueIdentifier);\n\n await waitForIframeContentToBeWritten();\n onSetIframeRef(iframeRef);\n }}\n ></iframe>\n );\n};\n","import type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport type {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport const buildQuickviewPreviewBar = (\n words: Record<string, QuickviewWordHighlight>,\n highlightKeywords: HighlightKeywords,\n iframe?: HTMLIFrameElement\n) => {\n if (!iframe) {\n return;\n }\n\n const documentWriter = iframe.contentDocument;\n if (!documentWriter) {\n return;\n }\n\n const bar = buildPreviewBar(documentWriter);\n if (highlightKeywords.highlightNone) {\n bar.remove();\n return;\n }\n\n const docHeight = documentWriter.body.scrollHeight;\n Object.values(words).forEach((word) => {\n word.elements.forEach((wordElement) => {\n const previewUnit = buildPreviewUnit(\n documentWriter,\n word,\n wordElement,\n docHeight,\n highlightKeywords\n );\n\n bar.appendChild(previewUnit);\n });\n });\n\n documentWriter.body.appendChild(bar);\n};\n\nconst buildPreviewBar = (documentWriter: Document) => {\n const previewBarId = 'CoveoPreviewBar';\n const bar =\n documentWriter.getElementById(previewBarId) ||\n documentWriter.createElement('div');\n\n bar.id = previewBarId;\n bar.innerHTML = '';\n bar.style.position = 'fixed';\n bar.style.top = '0';\n bar.style.right = '0';\n bar.style.width = '15px';\n bar.style.height = '100%';\n bar.setAttribute('aria-hidden', 'true');\n return bar;\n};\n\nconst buildPreviewUnit = (\n documentWriter: Document,\n word: QuickviewWordHighlight,\n wordElement: HTMLElement,\n docHeight: number,\n highlightKeywords: HighlightKeywords\n) => {\n const previewUnit = documentWriter.createElement('div');\n if (highlightKeywords.keywords[word.text]?.enabled === false) {\n previewUnit.style.display = 'none';\n return previewUnit;\n }\n\n const elementPosition = wordElement.getBoundingClientRect().top;\n\n previewUnit.style.position = 'absolute';\n previewUnit.style.top = `${(elementPosition / docHeight) * 100}%`;\n previewUnit.style.width = '100%';\n previewUnit.style.height = '1px';\n previewUnit.style.border = `1px solid ${word.previewBorderColor}`;\n previewUnit.style.backgroundColor = word.color;\n return previewUnit;\n};\n","export const rgbToHsv = (r: number, g: number, b: number) => {\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let h: number;\n const v = max;\n\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0;\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n default:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return {h, s, v};\n};\n\nexport const hsvToRgb = (h: number, s: number, v: number) => {\n let r: number, g: number, b: number;\n\n const i = Math.floor(h * 6);\n const f = h * 6 - i;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n default:\n r = v;\n g = p;\n b = q;\n break;\n }\n\n return {\n r: Math.round(r),\n g: Math.round(g),\n b: Math.round(b),\n };\n};\n","import {TermsToHighlight} from '@coveo/headless';\nimport {hsvToRgb, rgbToHsv} from '../../../../utils/color-utils';\n\nexport const HIGHLIGHT_PREFIX = 'CoveoHighlight';\nexport class QuickviewWordHighlight {\n public text: string;\n public indexIdentifier: string;\n public occurrences = 0;\n public color: string;\n public focusedColor: string;\n public previewBorderColor: string;\n public elements: HTMLElement[] = [];\n\n private currentNavigationPosition = -1;\n\n constructor(\n private stemmingInfoFromIndex: TermsToHighlight,\n keywordElementInIframe: HTMLElement\n ) {\n const parsed = this.parseKeywordIdentifier(keywordElementInIframe);\n if (!parsed) {\n throw 'Invalid keyword identifier for quickview';\n }\n\n this.text = this.getText(keywordElementInIframe);\n this.indexIdentifier = `${parsed.keywordIdentifier}`;\n this.color = keywordElementInIframe.style.backgroundColor;\n this.focusedColor = this.computeInvertedColor();\n this.previewBorderColor = this.computeSaturatedColor();\n\n this.addElement(keywordElementInIframe);\n }\n\n public addElement(keywordElementInIframe: HTMLElement) {\n this.occurrences++;\n this.elements.push(keywordElementInIframe);\n }\n\n public navigateForward() {\n this.currentNavigationPosition++;\n if (this.currentNavigationPosition >= this.elements.length) {\n this.currentNavigationPosition = 0;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n public navigateBackward() {\n this.currentNavigationPosition--;\n if (this.currentNavigationPosition < 0) {\n this.currentNavigationPosition = this.elements.length - 1;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n private isTaggedWord(element: HTMLElement) {\n return element.nodeName.toLowerCase() === 'coveotaggedword';\n }\n\n private highlightNavigation() {\n const currentElement = this.elements[this.currentNavigationPosition];\n const otherElements = this.elements.filter((el) => el !== currentElement);\n currentElement.style.color = this.color;\n currentElement.style.backgroundColor = this.focusedColor;\n otherElements.forEach((element) => {\n element.style.color = '';\n element.style.backgroundColor = this.color;\n });\n }\n\n private putElementIntoView() {\n const element = this.elements[this.currentNavigationPosition];\n element.scrollIntoView();\n }\n\n private getText(element: HTMLElement) {\n const innerTextOfHTMLElement = this.getHighlightedInnerText(element);\n return this.resolveOriginalTerm(innerTextOfHTMLElement).trim();\n }\n\n private resolveOriginalTerm(highlight: string): string {\n // First try to find either an exact match between the highlight and the original non-stemmed keyword.\n // Otherwise try to find a match between the highlight and the stemming keyword expansions\n // If nothing is found (which should not normally happen...), simply return the highlight keyword as is.\n\n const found = Object.keys(this.stemmingInfoFromIndex).find(\n (originalTerm) => {\n const originalTermMatch =\n originalTerm.toLowerCase() === highlight.toLowerCase();\n if (originalTermMatch) {\n return true;\n }\n const stemmingExpansions = this.stemmingInfoFromIndex[originalTerm];\n if (!stemmingExpansions) {\n return false;\n }\n\n const stemmingExpansionMatch = stemmingExpansions.find(\n (stemmingExpansion) =>\n stemmingExpansion.toLowerCase() === highlight.toLowerCase()\n );\n return stemmingExpansionMatch;\n }\n );\n return found || highlight;\n }\n\n private getHighlightedInnerText(element: HTMLElement): string {\n if (!this.isTaggedWord(element)) {\n return this.getTextOfHTMLElement(element);\n }\n\n const children = Array.from(element.children) as HTMLElement[];\n if (children.length >= 1) {\n return this.getTextOfHTMLElement(children[0]);\n }\n\n return '';\n }\n\n private parseKeywordIdentifier(element: HTMLElement) {\n const parts = element.id\n .substring(HIGHLIGHT_PREFIX.length + 1)\n .match(/^([0-9]+)\\.([0-9]+)\\.([0-9]+)$/);\n\n if (!parts || parts.length <= 3) {\n return null;\n }\n\n return {\n keywordIdentifier: parts[1],\n keywordTermPart: parseInt(parts[3], 10),\n };\n }\n\n private getTextOfHTMLElement(el: HTMLElement) {\n return el.innerText || el.textContent || '';\n }\n\n private computeInvertedColor() {\n const {r, g, b} = this.extractRgb();\n return `rgb(${255 - r}, ${255 - g}, ${255 - b})`;\n }\n\n private computeSaturatedColor() {\n const {r, g, b} = this.extractRgb();\n const {h, s, v} = rgbToHsv(r, g, b);\n let newSaturation = s * 2;\n if (newSaturation > 1) {\n newSaturation = 1;\n }\n const {\n r: rSaturated,\n g: gSaturated,\n b: bSaturated,\n } = hsvToRgb(h, newSaturation, v);\n return `rgb(${rSaturated}, ${gSaturated}, ${bSaturated})`;\n }\n\n private extractRgb() {\n const rgbExtracted = this.color.match(/\\d+/g);\n if (!rgbExtracted) {\n return {r: 255, g: 255, b: 255};\n }\n\n return {\n r: parseInt(rgbExtracted[0], 10),\n g: parseInt(rgbExtracted[1], 10),\n b: parseInt(rgbExtracted[2], 10),\n };\n }\n}\n\nexport const getWordsHighlights = (\n stemmingInfoFromIndex: TermsToHighlight,\n iframe?: HTMLIFrameElement\n) => {\n const wordsHighlights: Record<string, QuickviewWordHighlight> = {};\n if (!iframe) {\n return wordsHighlights;\n }\n\n iframe.contentDocument?.body\n .querySelectorAll(`[id^=\"${HIGHLIGHT_PREFIX}\"]`)\n .forEach((el) => {\n const wordHTMLElementToHighlight = el as HTMLElement;\n\n const wordHighlight = new QuickviewWordHighlight(\n stemmingInfoFromIndex,\n wordHTMLElementToHighlight\n );\n\n if (!wordHighlight.text) {\n return;\n }\n\n const alreadyScannedKeyword =\n wordsHighlights[wordHighlight.indexIdentifier];\n\n if (alreadyScannedKeyword) {\n alreadyScannedKeyword.addElement(wordHTMLElementToHighlight);\n } else {\n wordsHighlights[wordHighlight.indexIdentifier] = wordHighlight;\n }\n });\n\n return wordsHighlights;\n};\n","@import '../../../../global/global.pcss';\n@reference '../../../../utils/tailwind-utilities/link-style.css';\n\n.atomic-quickview-modal {\n &::part(backdrop) {\n grid-template-columns: 1fr max(80vw, 30rem) 1fr;\n }\n &::part(body),\n &::part(header),\n &::part(footer) {\n @apply max-w-full;\n }\n\n &::part(footer) {\n @apply flex justify-center;\n }\n\n &::part(body-wrapper) {\n @apply h-full overflow-hidden p-0;\n }\n\n &::part(body) {\n @apply h-full;\n }\n\n &::part(backdrop) {\n grid-template-rows: 1fr 100% 3fr;\n }\n\n &::part(header-wrapper) {\n @apply bg-neutral-light;\n }\n\n a {\n @apply link-style;\n }\n}\n","import {\n buildInteractiveResult,\n Result,\n InteractiveResult,\n TermsToHighlight,\n} from '@coveo/headless';\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n Method,\n VNode,\n Fragment,\n} from '@stencil/core';\nimport CloseIcon from '../../../../images/close.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../../common/atomic-modal/export-parts';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Button} from '../../../common/stencil-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {QuickviewSidebar} from '../atomic-quickview-sidebar/atomic-quickview-sidebar';\nimport {QuickviewIframe} from '../quickview-iframe/quickview-iframe';\nimport {buildQuickviewPreviewBar} from '../quickview-preview-bar/quickview-preview-bar';\nimport {\n getWordsHighlights,\n HIGHLIGHT_PREFIX,\n QuickviewWordHighlight,\n} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport interface HighlightKeywords {\n highlightNone: boolean;\n keywords: {\n [text: string]: {\n indexIdentifier: string;\n enabled: boolean;\n };\n };\n}\n\n/**\n * The modal opened when clicking on a quickview button.\n * Do not use this component directly; use `atomic-quickview` instead.\n *\n * @part backdrop - The transparent backdrop hiding the content behind the modal.\n * @part container - The modal's outermost container with the outline and background.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header at the top of the modal.\n * @part header-ruler - The horizontal ruler underneath the header.\n * @part body-wrapper - The wrapper around the body.\n * @part body - The body of the modal, between the header and the footer.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer at the bottom of the modal.\n * @part quickview-modal-header-icon - The close icon of the modal.\n * @part quickview-modal-header-title - The title of the modal.\n */\n@Component({\n tag: 'atomic-quickview-modal',\n styleUrl: 'atomic-quickview-modal.pcss',\n shadow: true,\n})\nexport class AtomicQuickviewModal implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @State() public error!: Error;\n\n @State() private highlightKeywords: HighlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n @Watch('highlightKeywords')\n watchHighlightKeywords() {\n this.handleHighlightsScripts();\n }\n\n @Event({eventName: 'atomic/quickview/next'}) nextQuickview?: EventEmitter;\n @Event({eventName: 'atomic/quickview/previous'})\n previousQuickview?: EventEmitter;\n\n @State() private minimizeSidebar = false;\n @State() private words: Record<string, QuickviewWordHighlight> = {};\n private iframeRef?: HTMLIFrameElement;\n\n @Prop({mutable: true, reflect: false}) content?: string;\n @Prop({mutable: true, reflect: false}) result?: Result;\n @Prop() current?: number;\n @Prop() total?: number;\n @Prop() sandbox?: string;\n @Prop() modalCloseCallback?: () => void;\n\n private interactiveResult?: InteractiveResult;\n\n public componentWillLoad(): void {\n this.minimizeSidebar = this.bindings.store.isMobile();\n }\n\n @Method()\n public async reset() {\n this.highlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n this.minimizeSidebar = false;\n this.iframeRef = undefined;\n this.content = undefined;\n this.result = undefined;\n this.interactiveResult = undefined;\n }\n\n private renderHeader() {\n let headerContent: VNode | null = null;\n if (this.result) {\n this.interactiveResult = buildInteractiveResult(this.bindings.engine, {\n options: {result: this.result},\n });\n headerContent = (\n <Fragment>\n <LinkWithItemAnalytics\n href={this.result?.clickUri}\n onSelect={() => this.interactiveResult?.select()}\n onBeginDelayedSelect={() =>\n this.interactiveResult?.beginDelayedSelect()\n }\n onCancelPendingSelect={() =>\n this.interactiveResult?.cancelPendingSelect()\n }\n className=\"truncate\"\n part=\"quickview-modal-header-title\"\n >\n {this.result.title}\n </LinkWithItemAnalytics>\n <IconButton\n partPrefix=\"quickview-modal-header\"\n icon={CloseIcon}\n onClick={() => this.onClose()}\n ariaLabel={this.bindings.i18n.t('close')}\n style=\"text-transparent\"\n title={this.bindings.i18n.t('close')}\n />\n </Fragment>\n );\n }\n return (\n <div slot=\"header\" class=\"flex w-full items-center justify-between\">\n {headerContent}\n </div>\n );\n }\n\n private renderBody() {\n return (\n <div slot=\"body\" class=\"grid h-full grid-cols-[min-content_auto]\">\n <div\n class=\"h-full overflow-y-auto\"\n style={{backgroundColor: 'var(--atomic-neutral-light)'}}\n >\n <QuickviewSidebar\n words={this.words}\n i18n={this.bindings.i18n}\n highlightKeywords={this.highlightKeywords}\n onHighlightKeywords={(highlight) =>\n (this.highlightKeywords = highlight)\n }\n minimized={this.minimizeSidebar}\n onMinimize={(minimize) => (this.minimizeSidebar = minimize)}\n />\n </div>\n <div class=\"relative overflow-auto\">\n <QuickviewIframe\n title={this.result?.title ?? this.bindings.i18n.t('preview-modal-title')} \n logger={this.logger}\n src={this.quickviewSrc}\n sandbox={this.sandbox}\n uniqueIdentifier={this.quickviewUniqueIdentifier}\n content={this.content}\n onSetIframeRef={async (ref) => {\n this.iframeRef = ref;\n this.words = getWordsHighlights(\n this.termsToHighlight,\n this.iframeRef\n );\n this.handleHighlightsScripts();\n }}\n />\n {buildQuickviewPreviewBar(\n this.words,\n this.highlightKeywords,\n this.iframeRef\n )}\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n return (\n <div slot=\"footer\" class=\"flex items-center gap-2\">\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.previousQuickview?.emit()}\n disabled={this.current === 1}\n text={this.bindings.i18n.t('quickview-previous')}\n ></Button>\n <p class=\"text-center\">\n {this.bindings.i18n.t('showing-results-of', {\n first: this.current,\n total: this.total,\n })}\n </p>\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.nextQuickview?.emit()}\n disabled={this.current === this.total}\n text={this.bindings.i18n.t('quickview-next')}\n ></Button>\n </div>\n );\n }\n\n private onClose() {\n this.content = undefined;\n this.result = undefined;\n this.modalCloseCallback && this.modalCloseCallback();\n }\n\n private get isOpen() {\n return !!this.content && !!this.result;\n }\n\n private get highlightScriptId() {\n return 'CoveoDisableHighlightStyle';\n }\n\n private get logger() {\n return this.bindings.engine.logger;\n }\n\n private get quickviewSrc() {\n return this.bindings.engine.state.resultPreview?.contentURL;\n }\n\n private enableHighlights() {\n this.removeDisableHighlightScript();\n }\n\n private enableHighlightsSpecificKeyword(identifier: string) {\n this.removeDisableHighlightScript(identifier);\n }\n\n private disableHighlights() {\n this.createDisableHighlightScript();\n }\n\n private disableHighlightsSpecificKeyword(identifier: string) {\n this.createDisableHighlightScript(identifier);\n }\n\n private removeDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n doc\n .getElementById(\n `${this.highlightScriptId}${identifier ? `:${identifier}` : ''}`\n )\n ?.remove();\n }\n\n private createDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n\n const head = doc.head;\n const scriptId = `${this.highlightScriptId}${\n identifier ? `:${identifier}` : ''\n }`;\n const style =\n doc.getElementById(scriptId) || this.bindings.createStyleElement();\n style.setAttribute('id', scriptId);\n head.appendChild(style);\n style.appendChild(\n doc.createTextNode(`[id^=\"${HIGHLIGHT_PREFIX}${\n identifier ? `:${identifier}` : ''\n }\"] {\n background-color: inherit !important;\n color: inherit !important;\n }`)\n );\n }\n\n private get termsToHighlight() {\n const flatPhrasesToHighlight: TermsToHighlight = {};\n\n const phrasesToHighlight =\n this.bindings.engine.state.search.response.phrasesToHighlight;\n\n Object.entries(phrasesToHighlight).forEach(([phrase, keywords]) => {\n flatPhrasesToHighlight[phrase] = Object.entries(keywords).flatMap(\n ([keywordEntry, keywordStemming]) => {\n return [keywordEntry, ...keywordStemming];\n }\n );\n });\n\n return {\n ...this.bindings.engine.state.search.response.termsToHighlight,\n ...flatPhrasesToHighlight,\n };\n }\n\n private get requestId() {\n return this.bindings.engine.state.search.requestId;\n }\n\n private get quickviewUniqueIdentifier() {\n return this.result?.uniqueId + this.requestId;\n }\n\n private handleHighlightsScripts() {\n if (!this.highlightKeywords.highlightNone) {\n this.enableHighlights();\n } else {\n this.disableHighlights();\n }\n Object.values(this.highlightKeywords.keywords).forEach((word) => {\n if (word.enabled) {\n this.enableHighlightsSpecificKeyword(word.indexIdentifier);\n } else {\n this.disableHighlightsSpecificKeyword(word.indexIdentifier);\n }\n });\n }\n\n public render() {\n return (\n <atomic-modal\n fullscreen={this.bindings.store.isMobile()}\n class={'atomic-quickview-modal'}\n isOpen={this.isOpen}\n close={() => this.onClose()}\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["foldedItemListContextEventName","FoldedItemListContext","component","foldedList","componentWillRender","element","getElement","this","event","buildCustomEvent","foldedItemList","canceled","dispatchEvent","call","foldedItemListStateContextEventName","FoldedItemListStateContext","foldedListState","subscribe","state","ChildrenWrapper","hasChildren","children","h","part","name","CollectionGuard","isLoadingMoreResults","moreResultsAvailable","numberOfChildren","density","imageSize","noResultText","ResultsPlaceholder","numberOfPlaceholders","display","trim","length","class","Fragment","ResultChildrenGuard","inheritTemplates","resultTemplateRegistered","templateHasError","ShowHideButton","loadFullCollection","showInitialChildren","toggleShowInitialChildren","loadAllResults","collapseResults","Button","style","onClick"],"sources":["src/components/common/item-list/item-list-decorators.tsx","src/components/common/result-children/children-wrapper.tsx","src/components/common/result-children/collection-guard.tsx","src/components/common/result-children/guard.tsx","src/components/common/result-children/show-hide-button.tsx"],"sourcesContent":["import {ComponentInterface, getElement} from '@stencil/core';\nimport {buildCustomEvent} from '../../../utils/event-utils';\n\ntype FoldedItemListContextEventHandler = (foldedItemList: unknown) => void;\nexport type FoldedItemListContextEvent =\n CustomEvent<FoldedItemListContextEventHandler>;\nconst foldedItemListContextEventName = 'atomic/resolveFoldedResultList';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used for elements nested within a folded item list.\n * This allows the Stencil component to modify the folded item list rendered levels.\n */\nexport function FoldedItemListContext() {\n return (component: ComponentInterface, foldedList: string) => {\n const {componentWillRender} = component;\n component.componentWillRender = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n foldedItemListContextEventName,\n (foldedItemList: unknown) => {\n this[foldedList] = foldedItemList;\n }\n );\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n return;\n }\n return componentWillRender && componentWillRender.call(this);\n };\n };\n}\n\ntype FoldedItemListStateContextEventHandler = (foldedItemList: unknown) => void;\nexport type FoldedItemListStateContextEvent =\n CustomEvent<FoldedItemListStateContextEventHandler>;\nconst foldedItemListStateContextEventName = 'atomic/resolveFoldedResultList';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used for elements nested within a folded item list.\n * This allows the Stencil component to modify the folded item list rendered levels.\n */\nexport function FoldedItemListStateContext() {\n return (component: ComponentInterface, foldedListState: string) => {\n const {componentWillRender} = component;\n component.componentWillRender = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n foldedItemListStateContextEventName,\n (foldedItemList: {\n subscribe: (callback: () => void) => unknown;\n state: unknown;\n }) => {\n foldedItemList?.subscribe(() => {\n this[foldedListState] = foldedItemList.state;\n });\n }\n );\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n return;\n }\n return componentWillRender && componentWillRender.call(this);\n };\n };\n}\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface ChildrenWrapperProps {\n hasChildren: boolean;\n}\n\nexport const ChildrenWrapper: FunctionalComponent<ChildrenWrapperProps> = (\n {hasChildren},\n children\n) => {\n return (\n <div part=\"children-root\">\n {hasChildren && <slot name=\"before-children\"></slot>}\n {children}\n {hasChildren && <slot name=\"after-children\"></slot>}\n </div>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {ResultsPlaceholder} from '../atomic-result-placeholder/stencil-placeholders';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../layout/display-options';\nimport {ChildrenWrapper} from './children-wrapper';\n\ninterface CollectionGuardProps {\n isLoadingMoreResults: boolean;\n moreResultsAvailable: boolean;\n hasChildren: boolean;\n numberOfChildren: number;\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n noResultText: string;\n}\nexport const CollectionGuard: FunctionalComponent<CollectionGuardProps> = (\n {\n isLoadingMoreResults,\n moreResultsAvailable,\n hasChildren,\n numberOfChildren,\n density,\n imageSize,\n noResultText,\n },\n children\n) => {\n if (isLoadingMoreResults) {\n return (\n <ChildrenWrapper hasChildren={hasChildren}>\n <ResultsPlaceholder\n numberOfPlaceholders={numberOfChildren}\n density={density}\n display={'list'}\n imageSize={imageSize}\n />\n </ChildrenWrapper>\n );\n }\n\n if (!moreResultsAvailable && !hasChildren) {\n return noResultText.trim().length ? (\n <p part=\"no-result-root\" class=\"no-result-root my-3\">\n {noResultText}\n </p>\n ) : null;\n }\n\n if (!hasChildren) {\n return;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\n\ninterface ResultChildrenGuardProps {\n inheritTemplates: boolean;\n resultTemplateRegistered: boolean;\n templateHasError: boolean;\n}\nexport const ResultChildrenGuard: FunctionalComponent<\n ResultChildrenGuardProps\n> = (\n {inheritTemplates, resultTemplateRegistered, templateHasError},\n children\n) => {\n if (!inheritTemplates && !resultTemplateRegistered) {\n return;\n }\n\n if (!inheritTemplates && templateHasError) {\n return <slot></slot>;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {Button} from '../stencil-button';\n\ninterface ShowHideButtonProps {\n moreResultsAvailable: boolean;\n loadFullCollection: () => void;\n showInitialChildren: boolean;\n toggleShowInitialChildren: () => void;\n loadAllResults: string;\n collapseResults: string;\n}\n\nexport const ShowHideButton: FunctionalComponent<ShowHideButtonProps> = ({\n moreResultsAvailable,\n loadFullCollection,\n showInitialChildren,\n toggleShowInitialChildren,\n loadAllResults,\n collapseResults,\n}) => {\n return (\n <Button\n part=\"show-hide-button\"\n class=\"show-hide-button\"\n style=\"text-primary\"\n onClick={() => {\n if (moreResultsAvailable) {\n loadFullCollection();\n toggleShowInitialChildren();\n }\n\n toggleShowInitialChildren();\n }}\n >\n {showInitialChildren || moreResultsAvailable\n ? loadAllResults\n : collapseResults}\n </Button>\n );\n};\n"],"mappings":"8JAMA,MAAMA,EAAiC,iC,SAMvBC,IACd,MAAO,CAACC,EAA+BC,KACrC,MAAMC,oBAACA,GAAuBF,EAC9BA,EAAUE,oBAAsB,WAC9B,MAAMC,EAAUC,EAAWC,MAC3B,MAAMC,EAAQC,EACZT,GACCU,IACCH,KAAKJ,GAAcO,CAAc,IAIrC,MAAMC,EAAWN,EAAQO,cAAcJ,GACvC,GAAIG,EAAU,CACZ,M,CAEF,OAAOP,GAAuBA,EAAoBS,KAAKN,K,CACxD,CAEL,CAKA,MAAMO,EAAsC,iC,SAM5BC,IACd,MAAO,CAACb,EAA+Bc,KACrC,MAAMZ,oBAACA,GAAuBF,EAC9BA,EAAUE,oBAAsB,WAC9B,MAAMC,EAAUC,EAAWC,MAC3B,MAAMC,EAAQC,EACZK,GACCJ,IAICA,GAAgBO,WAAU,KACxBV,KAAKS,GAAmBN,EAAeQ,KAAK,GAC5C,IAIN,MAAMP,EAAWN,EAAQO,cAAcJ,GACvC,GAAIG,EAAU,CACZ,M,CAEF,OAAOP,GAAuBA,EAAoBS,KAAKN,K,CACxD,CAEL,C,MC5DaY,EAA6D,EACvEC,eACDC,IAGEC,EAAA,OAAKC,KAAK,iBACPH,GAAeE,EAAA,QAAME,KAAK,oBAC1BH,EACAD,GAAeE,EAAA,QAAME,KAAK,oB,MCGpBC,EAA6D,EAEtEC,uBACAC,uBACAP,cACAQ,mBACAC,UACAC,YACAC,gBAEFV,KAEA,GAAIK,EAAsB,CACxB,OACEJ,EAACH,EAAe,CAACC,YAAaA,GAC5BE,EAACU,EAAkB,CACjBC,qBAAsBL,EACtBC,QAASA,EACTK,QAAS,OACTJ,UAAWA,I,CAMnB,IAAKH,IAAyBP,EAAa,CACzC,OAAOW,EAAaI,OAAOC,OACzBd,EAAA,KAAGC,KAAK,iBAAiBc,MAAM,uBAC5BN,GAED,I,CAGN,IAAKX,EAAa,CAChB,M,CAGF,OAAOE,EAACgB,EAAQ,KAAEjB,EAAoB,E,MC/C3BkB,EAET,EACDC,mBAAkBC,2BAA0BC,oBAC7CrB,KAEA,IAAKmB,IAAqBC,EAA0B,CAClD,M,CAGF,IAAKD,GAAoBE,EAAkB,CACzC,OAAOpB,EAAA,Y,CAGT,OAAOA,EAACgB,EAAQ,KAAEjB,EAAoB,E,MCT3BsB,EAA2D,EACtEhB,uBACAiB,qBACAC,sBACAC,4BACAC,iBACAC,qBAGE1B,EAAC2B,EAAM,CACL1B,KAAK,mBACLc,MAAM,mBACNa,MAAM,eACNC,QAAS,KACP,GAAIxB,EAAsB,CACxBiB,IACAE,G,CAGFA,GAA2B,GAG5BD,GAAuBlB,EACpBoB,EACAC,U","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["bindAnalyticsToLink","link","onSelect","onBeginDelayedSelect","onCancelPendingSelect","stopPropagation","stopPropagationAndProcess","e","process","selectHandler","touchStartHandler","touchEndHandler","forEach","eventName","addEventListener","passive","removeEventListener","LinkWithItemAnalytics","href","className","part","title","onMouseOver","onMouseLeave","onFocus","onBlur","ref","attributes","tabIndex","ariaHidden","rel","target","children","h","class","filterProtocol","el","length","nodeName","nodeValue","setAttribute"],"sources":["src/components/common/item-link/bind-analytics-to-link.ts","src/components/common/item-link/stencil-item-link.tsx"],"sourcesContent":["import type {ItemLinkProps} from './item-link';\n\ntype ItemLinkEventProps = Pick<\n ItemLinkProps,\n | 'onSelect'\n | 'onBeginDelayedSelect'\n | 'onCancelPendingSelect'\n | 'stopPropagation'\n>;\n\nexport const bindAnalyticsToLink = (\n link: HTMLAnchorElement,\n {\n onSelect,\n onBeginDelayedSelect,\n onCancelPendingSelect,\n stopPropagation = true,\n }: ItemLinkEventProps\n): (() => void) => {\n const stopPropagationAndProcess = (e: Event, process: () => void) => {\n stopPropagation && e.stopPropagation();\n process();\n };\n\n const selectHandler = (e: Event) => stopPropagationAndProcess(e, onSelect);\n const touchStartHandler = (e: Event) =>\n stopPropagationAndProcess(e, onBeginDelayedSelect);\n const touchEndHandler = (e: Event) =>\n stopPropagationAndProcess(e, onCancelPendingSelect);\n\n (['click', 'contextmenu', 'mousedown', 'mouseup'] as const).forEach(\n (eventName) => link.addEventListener(eventName, selectHandler)\n );\n link.addEventListener('touchstart', touchStartHandler, {passive: true});\n link.addEventListener('touchend', touchEndHandler, {passive: true});\n\n return () => {\n (['click', 'contextmenu', 'mousedown', 'mouseup'] as const).forEach(\n (eventName) => link.removeEventListener(eventName, selectHandler)\n );\n link.removeEventListener('touchstart', touchStartHandler);\n link.removeEventListener('touchend', touchEndHandler);\n };\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {filterProtocol} from '../../../utils/xss-utils';\nimport {ItemTarget} from '../layout/display-options';\nimport { bindAnalyticsToLink } from './bind-analytics-to-link';\n\ninterface ItemLinkEventProps {\n onSelect: () => void;\n onBeginDelayedSelect: () => void;\n onCancelPendingSelect: () => void;\n stopPropagation?: boolean;\n}\n\nexport interface ItemLinkProps extends ItemLinkEventProps {\n href: string;\n className?: string;\n part?: string;\n title?: string;\n ref?: (elm?: HTMLAnchorElement) => void;\n stopPropagation?: boolean;\n attributes?: Attr[];\n tabIndex?: number;\n ariaHidden?: boolean;\n target?: ItemTarget;\n rel?: string;\n onMouseOver?: () => void;\n onMouseLeave?: () => void;\n onFocus?: () => void;\n onBlur?: () => void;\n}\n\nexport const LinkWithItemAnalytics: FunctionalComponent<ItemLinkProps> = (\n {\n href,\n className,\n part,\n title,\n onSelect,\n onBeginDelayedSelect,\n onCancelPendingSelect,\n onMouseOver,\n onMouseLeave,\n onFocus,\n onBlur,\n ref,\n attributes,\n tabIndex,\n ariaHidden,\n rel,\n stopPropagation = true,\n target = '_self',\n },\n children\n) => {\n return (\n <a\n class={className}\n part={part}\n href={filterProtocol(href)}\n target={target}\n title={title}\n rel={rel}\n ref={(el) => {\n if (ref) {\n ref(el);\n }\n\n if (!el) {\n return;\n }\n\n bindAnalyticsToLink(el, {\n onSelect,\n onBeginDelayedSelect,\n onCancelPendingSelect,\n stopPropagation,\n });\n\n if (attributes?.length) {\n [...attributes].forEach(({nodeName, nodeValue}) => {\n el.setAttribute(nodeName, nodeValue!);\n });\n }\n\n if (ariaHidden) {\n el.setAttribute('aria-hidden', 'true');\n }\n }}\n tabIndex={tabIndex}\n onMouseOver={onMouseOver}\n onMouseLeave={onMouseLeave}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {children}\n </a>\n );\n};\n"],"mappings":"8EAUaA,EAAsB,CACjCC,GAEEC,WACAC,uBACAC,wBACAC,kBAAkB,SAGpB,MAAMC,EAA4B,CAACC,EAAUC,KAC3CH,GAAmBE,EAAEF,kBACrBG,GAAS,EAGX,MAAMC,EAAiBF,GAAaD,EAA0BC,EAAGL,GACjE,MAAMQ,EAAqBH,GACzBD,EAA0BC,EAAGJ,GAC/B,MAAMQ,EAAmBJ,GACvBD,EAA0BC,EAAGH,GAE9B,CAAC,QAAS,cAAe,YAAa,WAAqBQ,SACzDC,GAAcZ,EAAKa,iBAAiBD,EAAWJ,KAElDR,EAAKa,iBAAiB,aAAcJ,EAAmB,CAACK,QAAS,OACjEd,EAAKa,iBAAiB,WAAYH,EAAiB,CAACI,QAAS,OAE7D,MAAO,KACJ,CAAC,QAAS,cAAe,YAAa,WAAqBH,SACzDC,GAAcZ,EAAKe,oBAAoBH,EAAWJ,KAErDR,EAAKe,oBAAoB,aAAcN,GACvCT,EAAKe,oBAAoB,WAAYL,EAAgB,CACtD,E,MCZUM,EAA4D,EAErEC,OACAC,YACAC,OACAC,QACAnB,WACAC,uBACAC,wBACAkB,cACAC,eACAC,UACAC,SACAC,MACAC,aACAC,WACAC,aACAC,MACAzB,kBAAkB,KAClB0B,SAAS,SAEXC,IAGEC,EAAA,KACEC,MAAOf,EACPC,KAAMA,EACNF,KAAMiB,EAAejB,GACrBa,OAAQA,EACRV,MAAOA,EACPS,IAAKA,EACLJ,IAAMU,IACJ,GAAIV,EAAK,CACPA,EAAIU,E,CAGN,IAAKA,EAAI,CACP,M,CAGFpC,EAAoBoC,EAAI,CACtBlC,WACAC,uBACAC,wBACAC,oBAGF,GAAIsB,GAAYU,OAAQ,CACtB,IAAIV,GAAYf,SAAQ,EAAE0B,WAAUC,gBAClCH,EAAGI,aAAaF,EAAUC,EAAW,G,CAIzC,GAAIV,EAAY,CACdO,EAAGI,aAAa,cAAe,O,GAGnCZ,SAAUA,EACVN,YAAaA,EACbC,aAAcA,EACdC,QAASA,EACTC,OAAQA,GAEPO,U","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["FacetValue","facetSearchQuery","displayValuesAs","enableExclusion","facetCount","facetState","facetValue","field","i18n","onExclude","onSelect","setRef","displayValue","getFieldValueCaption","isSelected","isExcluded","triStateProps","state","h","FacetValueCheckbox","numberOfResults","onClick","searchQuery","buttonRef","element","FacetValueLabelHighlight","FacetValueLink","FacetValueBox"],"sources":["src/components/common/facets/facet-value/stencil-facet-value.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {FacetValueBox} from '../facet-value-box/stencil-facet-value-box';\nimport {FacetValueCheckbox} from '../facet-value-checkbox/stencil-facet-value-checkbox';\nimport {FacetValueLabelHighlight} from '../facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from '../facet-value-link/stencil-facet-value-link';\n\nexport interface FacetValueProps {\n field: string;\n facetValue: string;\n facetCount: number;\n facetState: 'idle' | 'selected' | 'excluded';\n i18n: i18n;\n enableExclusion: boolean;\n onExclude: () => void;\n onSelect: () => void;\n displayValuesAs: 'checkbox' | 'link' | 'box';\n facetSearchQuery: string;\n setRef?: (btn?: HTMLButtonElement) => void;\n}\n\nexport const FacetValue: FunctionalComponent<FacetValueProps> = ({\n facetSearchQuery,\n displayValuesAs,\n enableExclusion,\n facetCount,\n facetState,\n facetValue,\n field,\n i18n,\n onExclude,\n onSelect,\n setRef,\n}) => {\n const displayValue = getFieldValueCaption(field, facetValue, i18n);\n const isSelected = facetState === 'selected';\n const isExcluded = facetState === 'excluded';\n const triStateProps = enableExclusion\n ? {\n onExclude,\n state: facetState,\n }\n : {};\n switch (displayValuesAs) {\n case 'checkbox':\n return (\n <FacetValueCheckbox\n {...triStateProps}\n displayValue={displayValue}\n numberOfResults={facetCount}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onSelect}\n searchQuery={facetSearchQuery}\n buttonRef={(element) => {\n setRef && setRef(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n searchQuery={facetSearchQuery}\n ></FacetValueLabelHighlight>\n </FacetValueCheckbox>\n );\n case 'link':\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={facetCount}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onSelect}\n searchQuery={facetSearchQuery}\n buttonRef={(element) => {\n setRef && setRef(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n searchQuery={facetSearchQuery}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n case 'box':\n return (\n <FacetValueBox\n displayValue={displayValue}\n numberOfResults={facetCount}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onSelect}\n searchQuery={facetSearchQuery}\n buttonRef={(element) => {\n setRef && setRef(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n searchQuery={facetSearchQuery}\n ></FacetValueLabelHighlight>\n </FacetValueBox>\n );\n }\n};\n"],"mappings":"8NAsBaA,EAAmD,EAC9DC,mBACAC,kBACAC,kBACAC,aACAC,aACAC,aACAC,QACAC,OACAC,YACAC,WACAC,aAEA,MAAMC,EAAeC,EAAqBN,EAAOD,EAAYE,GAC7D,MAAMM,EAAaT,IAAe,WAClC,MAAMU,EAAaV,IAAe,WAClC,MAAMW,EAAgBb,EAClB,CACEM,YACAQ,MAAOZ,GAET,GACJ,OAAQH,GACN,IAAK,WACH,OACEgB,EAACC,EAAkB,IACbH,EACJJ,aAAcA,EACdQ,gBAAiBhB,EACjBU,WAAYA,EACZN,KAAMA,EACNa,QAASX,EACTY,YAAarB,EACbsB,UAAYC,IACVb,GAAUA,EAAOa,EAAQ,GAG3BN,EAACO,EAAwB,CACvBb,aAAcA,EACdE,WAAYA,EACZC,WAAYA,EACZO,YAAarB,KAIrB,IAAK,OACH,OACEiB,EAACQ,EAAc,CACbd,aAAcA,EACdQ,gBAAiBhB,EACjBU,WAAYA,EACZN,KAAMA,EACNa,QAASX,EACTY,YAAarB,EACbsB,UAAYC,IACVb,GAAUA,EAAOa,EAAQ,GAG3BN,EAACO,EAAwB,CACvBb,aAAcA,EACdE,WAAYA,EACZQ,YAAarB,KAIrB,IAAK,MACH,OACEiB,EAACS,EAAa,CACZf,aAAcA,EACdQ,gBAAiBhB,EACjBU,WAAYA,EACZN,KAAMA,EACNa,QAASX,EACTY,YAAarB,EACbsB,UAAYC,IACVb,GAAUA,EAAOa,EAAQ,GAG3BN,EAACO,EAAwB,CACvBb,aAAcA,EACdE,WAAYA,EACZQ,YAAarB,K","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{h as e}from"./p-dc3df5ce.js";import{e as s}from"./p-8f5830b4.js";const t=(e,t)=>({part:"query-suggestion-item",key:`qs-${s(e.rawValue)}`,query:e.rawValue,ariaLabel:t.t("query-suggestion-label",{query:e.rawValue,interpolation:{escapeValue:false}})});const r=(s,t)=>e("div",{part:"query-suggestion-content",class:"flex items-center"},t);const a=({icon:s,hasSuggestion:t})=>{if(!t){return}return e("atomic-icon",{part:"query-suggestion-icon",icon:s,class:"mr-2 h-4 w-4 shrink-0"})};const n=({suggestion:s,hasQuery:t})=>{if(t){return e("span",{part:"query-suggestion-text",class:"line-clamp-2 break-all",innerHTML:s.highlightedValue})}return e("span",{part:"query-suggestion-text",class:"line-clamp-2 break-all"},s.rawValue)};export{n as Q,a,r as b,t as g};
2
- //# sourceMappingURL=p-af93b44c.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getPartialSearchBoxSuggestionElement","suggestion","i18n","part","key","encodeForDomAttribute","rawValue","query","ariaLabel","t","interpolation","escapeValue","QuerySuggestionContainer","_","children","h","class","QuerySuggestionIcon","icon","hasSuggestion","QuerySuggestionText","hasQuery","innerHTML","highlightedValue"],"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"],"mappings":"8EAUaA,EAAuC,CAClDC,EACAC,KAEO,CACLC,KAAM,wBACNC,IAAK,MAAMC,EAAsBJ,EAAWK,YAC5CC,MAAON,EAAWK,SAClBE,UAAWN,EAAKO,EAAE,yBAA0B,CAC1CF,MAAON,EAAWK,SAClBI,cAAe,CAACC,YAAa,W,MAKtBC,EAAgD,CAACC,EAAGC,IAE7DC,EAAA,OAAKZ,KAAK,2BAA2Ba,MAAM,qBACxCF,G,MAUMG,EAET,EAAEC,OAAMC,oBACV,IAAKA,EAAe,CAClB,M,CAGF,OACEJ,EAAA,eACEZ,KAAK,wBACLe,KAAMA,EACNF,MAAM,yBACO,E,MASNI,EAET,EAAEnB,aAAYoB,eAChB,GAAIA,EAAU,CACZ,OACEN,EAAA,QACEZ,KAAK,wBACLa,MAAM,yBACNM,UAAWrB,EAAWsB,kB,CAK5B,OACER,EAAA,QAAMZ,KAAK,wBAAwBa,MAAM,0BACtCf,EAAWK,SACP,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["ItemListGuard","hasError","hasItems","firstRequestExecuted","hasTemplate","templateHasError","children","h","Fragment"],"sources":["src/components/common/item-list/item-list-guard.tsx"],"sourcesContent":["import {FunctionalComponent, h, Fragment} from '@stencil/core';\n\nexport interface ItemListGuardProps {\n hasError: boolean;\n hasItems: boolean;\n hasTemplate: boolean;\n firstRequestExecuted: boolean;\n templateHasError: boolean;\n}\n\nexport const ItemListGuard: FunctionalComponent<ItemListGuardProps> = (\n {hasError, hasItems, firstRequestExecuted, hasTemplate, templateHasError},\n children\n) => {\n if (hasError || (firstRequestExecuted && !hasItems) || !hasTemplate) {\n return;\n }\n return (\n <Fragment>\n {templateHasError && <slot></slot>}\n {...children}\n </Fragment>\n );\n};\n"],"mappings":"iDAUaA,EAAyD,EACnEC,WAAUC,WAAUC,uBAAsBC,cAAaC,oBACxDC,KAEA,GAAIL,GAAaE,IAAyBD,IAAcE,EAAa,CACnE,M,CAEF,OACEG,EAACC,EAAQ,KACNH,GAAoBE,EAAA,gBACjBD,EACK,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["LoadMoreGuard","isLoaded","hasResults","children","h","Fragment","LoadMoreButton","i18n","onClick","moreAvailable","label","Button","style","text","t","part","class","LoadMoreContainer","_","LoadMoreProgressBar","from","to","percentage","width","Math","ceil","LoadMoreSummary","wrapHighlight","content","locale","language","interpolation","escapeValue","last","toLocaleString","total","innerHTML","atomicLoadMoreResultsCss","AtomicLoadMoreResultsStyle0","AtomicLoadMoreResults","this","isAppLoaded","initialize","querySummary","buildQuerySummary","bindings","engine","resultList","buildResultList","options","fieldsToInclude","createAppLoadedListener","store","document","activeElement","blur","fetchMoreResults","render","lastResult","querySummaryState","key","resultListState","moreResultsAvailable","__decorate","InitializeBindings","BindStateToController"],"sources":["src/components/common/load-more/guard.tsx","src/components/common/load-more/stencil-button.tsx","src/components/common/load-more/stencil-container.tsx","src/components/common/load-more/stencil-progress-bar.tsx","src/components/common/load-more/stencil-summary.tsx","src/components/search/atomic-load-more-results/atomic-load-more-results.pcss?tag=atomic-load-more-results&encapsulation=shadow","src/components/search/atomic-load-more-results/atomic-load-more-results.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\n\nexport interface LoadMoreGuardProps {\n isLoaded: boolean;\n hasResults: boolean;\n}\nexport const LoadMoreGuard: FunctionalComponent<LoadMoreGuardProps> = (\n {isLoaded, hasResults},\n children\n) => {\n if (!isLoaded || !hasResults) {\n return;\n }\n return <Fragment>{children}</Fragment>;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use LoadMoreButtonProps interface instead\n */\ninterface StencilLoadMoreButtonProps {\n i18n: i18n;\n onClick: () => void;\n moreAvailable: boolean;\n label?: 'load-more-results' | 'load-more-products';\n}\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the button.ts file instead\n */\nexport const LoadMoreButton: FunctionalComponent<\n StencilLoadMoreButtonProps\n> = ({i18n, onClick, moreAvailable, label}) => {\n if (!moreAvailable) {\n return;\n }\n return (\n <Button\n style=\"primary\"\n text={i18n.t(label || 'load-more-results')}\n part=\"load-more-results-button\"\n class=\"my-2 p-3 font-bold\"\n onClick={() => onClick()}\n ></Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\nexport const LoadMoreContainer: FunctionalComponent = (_, children) => {\n return (\n <div class=\"flex flex-col items-center\" part=\"container\">\n {children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface LoadMoreProgressBarProps {\n from: number;\n to: number;\n}\n\nexport const LoadMoreProgressBar: FunctionalComponent<\n LoadMoreProgressBarProps\n> = ({from, to}) => {\n const percentage = (from / to) * 100;\n const width = `${Math.ceil(percentage)}%`;\n return (\n <div part=\"progress-bar\" class=\"bg-neutral relative my-2 h-1 w-72 rounded\">\n <div\n class=\"progress-bar absolute top-0 left-0 z-1 h-full overflow-hidden rounded bg-linear-to-r\"\n style={{width}}\n ></div>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\n\ninterface LoadMoreSummaryProps {\n i18n: i18n;\n from: number;\n to: number;\n label?: 'showing-results-of-load-more' | 'showing-products-of-load-more';\n}\n\nexport const LoadMoreSummary: FunctionalComponent<LoadMoreSummaryProps> = ({\n i18n,\n from,\n to,\n label,\n}) => {\n const wrapHighlight = (content: string) => {\n return `<span class=\"font-bold text-on-background\" part=\"highlight\">${content}</span>`;\n };\n\n const locale = i18n.language;\n const content = i18n.t(label || 'showing-results-of-load-more', {\n interpolation: {escapeValue: false},\n last: wrapHighlight(from.toLocaleString(locale)),\n total: wrapHighlight(to.toLocaleString(locale)),\n });\n\n return (\n <div\n class=\"text-neutral-dark my-2 text-lg\"\n part=\"showing-results\"\n innerHTML={content}\n ></div>\n );\n};\n","@import '../../../global/global.pcss';\n\n/**\n * @prop --atomic-more-results-progress-bar-color-from: Color of the start of the gradient for the load more results progress bar.\n * @prop --atomic-more-results-progress-bar-color-to: Color of the end of the gradient for the load more results progress bar.\n */\n.progress-bar {\n @apply from-more-results-progress-bar-color-from;\n @apply to-more-results-progress-bar-color-to;\n}\n","import {\n QuerySummary,\n QuerySummaryState,\n buildQuerySummary,\n ResultList,\n ResultListState,\n buildResultList,\n} from '@coveo/headless';\nimport {Component, h, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {createAppLoadedListener} from '../../common/interface/store';\nimport {LoadMoreGuard} from '../../common/load-more/guard';\nimport {LoadMoreButton} from '../../common/load-more/stencil-button';\nimport {LoadMoreContainer} from '../../common/load-more/stencil-container';\nimport {LoadMoreProgressBar} from '../../common/load-more/stencil-progress-bar';\nimport {LoadMoreSummary} from '../../common/load-more/stencil-summary';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-load-more-results` component allows the user to load additional results if more are available.\n *\n * @part container - The container of the component.\n * @part showing-results - The summary displaying which results are shown and how many are available.\n * @part highlight - The highlighted number of results displayed and number of results available.\n * @part progress-bar - The progress bar displaying a percentage of results shown over the total number of results available.\n * @part load-more-results-button - The \"Load more results\" button.\n */\n@Component({\n tag: 'atomic-load-more-results',\n styleUrl: 'atomic-load-more-results.pcss',\n shadow: true,\n})\nexport class AtomicLoadMoreResults {\n @InitializeBindings() public bindings!: Bindings;\n public querySummary!: QuerySummary;\n public resultList!: ResultList;\n\n @BindStateToController('querySummary')\n @State()\n private querySummaryState!: QuerySummaryState;\n @BindStateToController('resultList')\n @State()\n private resultListState!: ResultListState;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n public initialize() {\n this.querySummary = buildQuerySummary(this.bindings.engine);\n this.resultList = buildResultList(this.bindings.engine, {\n options: {\n fieldsToInclude: [],\n },\n });\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n private async onClick() {\n // TODO KIT-4227: Once the focus mess is resolved, ensure that:\n // The focus is set on the next new result after loading more results **without scrolling**.\n //this.bindings.store.state.resultList?.focusOnNextNewResult();\n (document.activeElement as HTMLElement)?.blur(); // Blur the active element to avoid focus issues, remove when focus mess is resolved.\n this.resultList.fetchMoreResults();\n }\n\n public render() {\n const {lastResult: from, total: to} = this.querySummaryState;\n const {i18n} = this.bindings;\n\n return (\n <LoadMoreGuard\n hasResults={this.querySummaryState.hasResults}\n isLoaded={this.isAppLoaded}\n >\n <LoadMoreContainer>\n <LoadMoreSummary from={from} to={to} i18n={i18n} />\n <LoadMoreProgressBar from={from} to={to} />\n <LoadMoreButton\n i18n={i18n}\n moreAvailable={this.resultListState.moreResultsAvailable}\n onClick={() => this.onClick()}\n />\n </LoadMoreContainer>\n </LoadMoreGuard>\n );\n }\n}\n"],"mappings":"8XAMO,MAAMA,EAAyD,EACnEC,WAAUC,cACXC,KAEA,IAAKF,IAAaC,EAAY,CAC5B,M,CAEF,OAAOE,EAACC,EAAQ,KAAEF,EAAoB,ECIjC,MAAMG,EAET,EAAEC,OAAMC,UAASC,gBAAeC,YAClC,IAAKD,EAAe,CAClB,M,CAEF,OACEL,EAACO,EAAM,CACLC,MAAM,UACNC,KAAMN,EAAKO,EAAEJ,GAAS,qBACtBK,KAAK,2BACLC,MAAM,qBACNR,QAAS,IAAMA,KACP,EC5BP,MAAMS,EAAyC,CAACC,EAAGf,IAEtDC,EAAA,OAAKY,MAAM,6BAA6BD,KAAK,aAC1CZ,GCEA,MAAMgB,EAET,EAAEC,OAAMC,SACV,MAAMC,EAAcF,EAAOC,EAAM,IACjC,MAAME,EAAQ,GAAGC,KAAKC,KAAKH,MAC3B,OACElB,EAAA,OAAKW,KAAK,eAAeC,MAAM,6CAC7BZ,EAAA,OACEY,MAAM,uFACNJ,MAAO,CAACW,WAEN,ECRH,MAAMG,EAA6D,EACxEnB,OACAa,OACAC,KACAX,YAEA,MAAMiB,EAAiBC,GACd,+DAA+DA,WAGxE,MAAMC,EAAStB,EAAKuB,SACpB,MAAMF,EAAUrB,EAAKO,EAAEJ,GAAS,+BAAgC,CAC9DqB,cAAe,CAACC,YAAa,OAC7BC,KAAMN,EAAcP,EAAKc,eAAeL,IACxCM,MAAOR,EAAcN,EAAGa,eAAeL,MAGzC,OACEzB,EAAA,OACEY,MAAM,iCACND,KAAK,kBACLqB,UAAWR,GACN,EChCX,MAAMS,EAA2B,+4jEACjC,MAAAC,EAAeD,E,iXCkCFE,EAAqB,M,yBAYfC,KAAAC,YAAc,M,sGAAA,K,CAExB,UAAAC,GACLF,KAAKG,aAAeC,EAAkBJ,KAAKK,SAASC,QACpDN,KAAKO,WAAaC,EAAgBR,KAAKK,SAASC,OAAQ,CACtDG,QAAS,CACPC,gBAAiB,MAGrBC,EAAwBX,KAAKK,SAASO,OAAQX,IAC5CD,KAAKC,YAAcA,CAAW,G,CAI1B,aAAMjC,GAIX6C,SAASC,eAA+BC,OACzCf,KAAKO,WAAWS,kB,CAGX,MAAAC,GACL,MAAOC,WAAYtC,EAAMe,MAAOd,GAAMmB,KAAKmB,kBAC3C,MAAMpD,KAACA,GAAQiC,KAAKK,SAEpB,OACEzC,EAACJ,EAAa,CAAA4D,IAAA,2CACZ1D,WAAYsC,KAAKmB,kBAAkBzD,WACnCD,SAAUuC,KAAKC,aAEfrC,EAACa,EAAiB,CAAA2C,IAAA,4CAChBxD,EAACsB,EAAe,CAAAkC,IAAA,2CAACxC,KAAMA,EAAMC,GAAIA,EAAId,KAAMA,IAC3CH,EAACe,EAAmB,CAAAyC,IAAA,2CAACxC,KAAMA,EAAMC,GAAIA,IACrCjB,EAACE,EAAc,CAAAsD,IAAA,2CACbrD,KAAMA,EACNE,cAAe+B,KAAKqB,gBAAgBC,qBACpCtD,QAAS,IAAMgC,KAAKhC,a,GAhDDuD,EAAA,CAA5BC,K,+BAMOD,EAAA,CAFPE,EAAsB,iB,wCAKfF,EAAA,CAFPE,EAAsB,e","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["NoItemsContainer","_","children","h","class","MagnifyingGlass","part","icon","MagnifyingGlassIcon"],"sources":["src/components/common/no-items/stencil-container.tsx","src/components/common/no-items/stencil-magnifying-glass.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\nexport const NoItemsContainer: FunctionalComponent = (_, children) => [\n <div class=\"text-on-background flex h-full w-full flex-col items-center\">\n {children}\n </div>,\n <slot></slot>,\n];\n","import {FunctionalComponent, h} from '@stencil/core';\nimport MagnifyingGlassIcon from '../../../images/magnifying-glass.svg';\n\nexport const MagnifyingGlass: FunctionalComponent = () => (\n <atomic-icon\n part=\"icon\"\n icon={MagnifyingGlassIcon}\n class=\"my-6 flex w-1/2 max-w-lg flex-col items-center\"\n ></atomic-icon>\n);\n"],"mappings":"0CAEaA,EAAwC,CAACC,EAAGC,IAAa,CACpEC,EAAA,OAAKC,MAAM,+DACRF,GAEHC,EAAA,c,6hQCHWE,EAAuC,IAClDF,EAAA,eACEG,KAAK,OACLC,KAAMC,EACNJ,MAAM,0D","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["RadioButton","props","classNames","onMouseDown","style","rippleColor","getRippleColorForButtonStyle","push","getClassNameForButtonStyle","e","createRipple","color","checked","class","handleKeyDown","event","selectWhenFocused","key","radioGroup","currentTarget","parentNode","isArrowKey","preventDefault","buttons","getRadioButtons","currentIndex","getCurrentIndex","newIndex","getNewIndex","length","focus","includes","Array","from","querySelectorAll","currentButton","findIndex","button","attributes","name","groupName","join","part","ariaLabel","text","ariaCurrent","value","ref","h","onKeyDown","type","onChange","onChecked"],"sources":["src/components/common/stencil-radio-button.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {createRipple} from '../../utils/ripple-utils';\nimport {RadioButtonProps} from './radio-button';\nimport {\n getClassNameForButtonStyle,\n getRippleColorForButtonStyle,\n} from './stencil-button-style';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the RadioButtonProps from radio-button.ts instead.\n */\nexport interface StencilRadioButtonProps extends Omit<RadioButtonProps, 'ref'> {\n ref?(element?: HTMLInputElement): void;\n}\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the radioButton function instead.\n */\nexport const RadioButton: FunctionalComponent<StencilRadioButtonProps> = (\n props\n) => {\n const classNames = ['btn-radio'];\n let onMouseDown:\n | JSXBase.DOMAttributes<HTMLInputElement>['onMouseDown']\n | undefined;\n if (props.style) {\n const rippleColor = getRippleColorForButtonStyle(props.style);\n classNames.push(getClassNameForButtonStyle(props.style));\n\n onMouseDown = (e) => createRipple(e, {color: rippleColor});\n }\n if (props.checked) {\n classNames.push('selected');\n }\n if (props.class) {\n classNames.push(props.class);\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (props.selectWhenFocused !== false) {\n return;\n }\n const {key} = event;\n const radioGroup = (event.currentTarget as HTMLElement).parentNode;\n\n if (!radioGroup || !isArrowKey(key)) {\n return;\n }\n\n event.preventDefault();\n\n const buttons = getRadioButtons(radioGroup);\n const currentIndex = getCurrentIndex(\n buttons,\n event.currentTarget as HTMLInputElement\n );\n const newIndex = getNewIndex(key, currentIndex, buttons.length);\n\n if (buttons[newIndex]) {\n buttons[newIndex].focus();\n }\n };\n\n const isArrowKey = (key: string) => {\n return ['ArrowLeft', 'ArrowRight', 'ArrowDown', 'ArrowUp'].includes(key);\n };\n\n const getRadioButtons = (radioGroup: ParentNode) => {\n return Array.from(\n radioGroup.querySelectorAll('[type=\"radio\"]')\n ) as HTMLInputElement[];\n };\n\n const getCurrentIndex = (\n buttons: HTMLInputElement[],\n currentButton: HTMLInputElement\n ) => {\n return buttons.findIndex((button) => button === currentButton);\n };\n\n const getNewIndex = (key: string, currentIndex: number, length: number) => {\n switch (key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n return (currentIndex - 1 + length) % length;\n case 'ArrowRight':\n case 'ArrowDown':\n return (currentIndex + 1) % length;\n default:\n return currentIndex;\n }\n };\n\n const attributes = {\n name: props.groupName,\n key: props.key,\n checked: props.checked,\n class: classNames.join(' '),\n part: props.part,\n 'aria-label': props.ariaLabel ?? props.text,\n 'aria-current': props.ariaCurrent,\n value: props.text,\n ref: props.ref,\n };\n\n return (\n <input\n onKeyDown={handleKeyDown}\n type=\"radio\"\n onChange={(e) =>\n (e.currentTarget as HTMLInputElement).checked && props.onChecked?.()\n }\n onMouseDown={onMouseDown}\n {...attributes}\n />\n );\n};\n"],"mappings":"4FAmBaA,EACXC,IAEA,MAAMC,EAAa,CAAC,aACpB,IAAIC,EAGJ,GAAIF,EAAMG,MAAO,CACf,MAAMC,EAAcC,EAA6BL,EAAMG,OACvDF,EAAWK,KAAKC,EAA2BP,EAAMG,QAEjDD,EAAeM,GAAMC,EAAaD,EAAG,CAACE,MAAON,G,CAE/C,GAAIJ,EAAMW,QAAS,CACjBV,EAAWK,KAAK,W,CAElB,GAAIN,EAAMY,MAAO,CACfX,EAAWK,KAAKN,EAAMY,M,CAGxB,MAAMC,EAAiBC,IACrB,GAAId,EAAMe,oBAAsB,MAAO,CACrC,M,CAEF,MAAMC,IAACA,GAAOF,EACd,MAAMG,EAAcH,EAAMI,cAA8BC,WAExD,IAAKF,IAAeG,EAAWJ,GAAM,CACnC,M,CAGFF,EAAMO,iBAEN,MAAMC,EAAUC,EAAgBN,GAChC,MAAMO,EAAeC,EACnBH,EACAR,EAAMI,eAER,MAAMQ,EAAWC,EAAYX,EAAKQ,EAAcF,EAAQM,QAExD,GAAIN,EAAQI,GAAW,CACrBJ,EAAQI,GAAUG,O,GAItB,MAAMT,EAAcJ,GACX,CAAC,YAAa,aAAc,YAAa,WAAWc,SAASd,GAGtE,MAAMO,EAAmBN,GAChBc,MAAMC,KACXf,EAAWgB,iBAAiB,mBAIhC,MAAMR,EAAkB,CACtBH,EACAY,IAEOZ,EAAQa,WAAWC,GAAWA,IAAWF,IAGlD,MAAMP,EAAc,CAACX,EAAaQ,EAAsBI,KACtD,OAAQZ,GACN,IAAK,YACL,IAAK,UACH,OAAQQ,EAAe,EAAII,GAAUA,EACvC,IAAK,aACL,IAAK,YACH,OAAQJ,EAAe,GAAKI,EAC9B,QACE,OAAOJ,E,EAIb,MAAMa,EAAa,CACjBC,KAAMtC,EAAMuC,UACZvB,IAAKhB,EAAMgB,IACXL,QAASX,EAAMW,QACfC,MAAOX,EAAWuC,KAAK,KACvBC,KAAMzC,EAAMyC,KACZ,aAAczC,EAAM0C,WAAa1C,EAAM2C,KACvC,eAAgB3C,EAAM4C,YACtBC,MAAO7C,EAAM2C,KACbG,IAAK9C,EAAM8C,KAGb,OACEC,EAAA,SACEC,UAAWnC,EACXoC,KAAK,QACLC,SAAW1C,GACRA,EAAEU,cAAmCP,SAAWX,EAAMmD,cAEzDjD,YAAaA,KACTmC,GACJ,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["IconButton","props","h","class","part","partPrefix","Button","ref","buttonRef","icon","badge"],"sources":["src/components/common/stencil-iconButton.tsx"],"sourcesContent":["import {FunctionalComponent, h, VNode} from '@stencil/core';\nimport {Button, StencilButtonProps} from './stencil-button';\n\nexport interface IconButtonProps extends StencilButtonProps {\n badge?: VNode;\n buttonRef?: (el?: HTMLButtonElement) => void;\n icon: string;\n partPrefix: string;\n}\n\nexport const IconButton: FunctionalComponent<IconButtonProps> = (props) => {\n return (\n <div class=\"relative\" part={`${props.partPrefix}-container`}>\n <Button\n {...props}\n class=\"relative h-[2.6rem] w-[2.6rem] p-3\"\n part={`${props.partPrefix}-button`}\n ref={props.buttonRef}\n >\n <atomic-icon\n icon={props.icon}\n class=\"h-4 w-4 shrink-0\"\n part={`${props.partPrefix}-icon`}\n ></atomic-icon>\n </Button>\n {props.badge && (\n <span\n part={`${props.partPrefix}-badge`}\n class=\"bg-primary text-on-primary absolute -top-2 -right-2 block h-4 w-4 rounded-full text-center text-xs leading-4\"\n >\n {props.badge}\n </span>\n )}\n </div>\n );\n};\n"],"mappings":"8EAUaA,EAAoDC,GAE7DC,EAAA,OAAKC,MAAM,WAAWC,KAAM,GAAGH,EAAMI,wBACnCH,EAACI,EAAM,IACDL,EACJE,MAAM,qCACNC,KAAM,GAAGH,EAAMI,oBACfE,IAAKN,EAAMO,WAEXN,EAAA,eACEO,KAAMR,EAAMQ,KACZN,MAAM,mBACNC,KAAM,GAAGH,EAAMI,qBAGlBJ,EAAMS,OACLR,EAAA,QACEE,KAAM,GAAGH,EAAMI,mBACfF,MAAM,gHAELF,EAAMS,e","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["MIN_VALUES_WHERE_FACET_SEARCH_IMPROVES_UX","FacetSearchInputGuard","withSearch","canShowMoreValues","numberOfDisplayedValues","children","h","Fragment","FacetSearchValue","props","FacetValue","facetState","atomicFacetCss","AtomicFacetStyle0","AtomicFacet","this","label","tabsIncluded","tabsExcluded","numberOfValues","sortCriteria","resultsMustMatch","displayValuesAs","isCollapsed","headingLevel","filterFacetCount","enableExclusion","injectionDepth","dependsOn","allowedValues","customSort","initialize","length","console","warn","facet","buildFacet","bindings","engine","options","facetOptions","facetId","state","searchStatus","buildSearchStatus","tabManager","buildTabManager","initAriaLive","initConditionManager","initPopover","registerFacet","disconnectedCallback","host","isConnected","facetConditionsManager","stopWatching","componentShouldUpdate","next","prev","propName","isFacetState","shouldUpdateFacetSearchComponent","facetSearch","render","FacetGuard","key","enabled","hasError","searchStatusState","firstSearchExecuted","hasResults","values","FacetContainer","FacetHeader","i18n","definedLabel","onClearFilters","focusTargets","header","focusAfterSearch","deselectAll","numberOfActiveValues","activeValues","onToggleCollapse","headerRef","el","setTarget","renderBody","FacetPlaceholder","FacetSearchInput","onChange","value","clear","updateCaptions","getFieldCaptions","field","updateText","search","onClear","query","shouldDisplaySearchResults","renderSearchResults","renderMatches","renderValues","renderShowMoreLess","renderValuesContainer","classes","FacetValuesGroup","class","part","map","facetValueProps","facetCount","count","onExclude","exclude","onSelect","singleSelect","select","facetValue","rawValue","i","shouldFocusOnShowLessAfterInteraction","shouldFocusOnShowMoreAfterInteraction","numberOfResults","toggleExclude","toggleSingleSelect","toggleSelect","setRef","btn","showLessFocus","showMoreFocus","FacetShowMoreLess","onShowMore","showMore","showMoreValues","onShowLess","showLess","showLessValues","canShowLessValues","FacetSearchMatches","numberOfMatches","hasMoreMatches","moreValuesAvailable","showMoreMatches","showMoreResults","filter","undefined","tabs","included","excluded","facetSearchQuery","isHidden","buildFacetConditionsManager","conditions","parseDependsOn","store","facetInfo","initializePopover","hasValues","announceFacetSearchResultsWithAriaLive","msg","facetSearchAriaMessage","t","element","FocusTargetController","headerFocus","__decorate","InitializeBindings","BindStateToController","ArrayProp","MapProp","AriaLiveRegion"],"sources":["src/components/common/facets/facet-search/stencil-facet-search-input-guard.tsx","src/components/common/facets/facet-search/stencil-facet-search-value.tsx","src/components/search/facets/atomic-facet/atomic-facet.pcss?tag=atomic-facet&encapsulation=shadow","src/components/search/facets/atomic-facet/atomic-facet.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\n\nconst MIN_VALUES_WHERE_FACET_SEARCH_IMPROVES_UX = 9;\n\ninterface FacetSearchInputGuardProps {\n withSearch: boolean;\n canShowMoreValues: boolean;\n numberOfDisplayedValues: number;\n}\n\nexport const FacetSearchInputGuard: FunctionalComponent<\n FacetSearchInputGuardProps\n> = ({withSearch, canShowMoreValues, numberOfDisplayedValues}, children) => {\n if (!withSearch) {\n return;\n }\n\n // Hide the input if there are no more values to load from the index and there are less than 8 values to display.\n // 8 is an arbitrary number, discussed with UX as a good compromise: A list long enough where it's worth searching.\n if (\n !canShowMoreValues &&\n numberOfDisplayedValues < MIN_VALUES_WHERE_FACET_SEARCH_IMPROVES_UX\n ) {\n return;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {FacetValueProps, FacetValue} from '../facet-value/stencil-facet-value';\n\nexport const FacetSearchValue: FunctionalComponent<\n Omit<FacetValueProps, 'facetState' | 'setRef'>\n> = (props) => {\n return <FacetValue {...props} facetState=\"idle\" />;\n};\n","@import '../../../../global/global.pcss';\n@import '../../../common/facets/facet-search/facet-search.pcss';\n@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-value-checkbox/facet-value-checkbox.pcss';\n@import '../../../common/facets/facet-value-exclude/facet-value-exclude.pcss';\n@import '../../../common/facets/facet-value-box/facet-value-box.pcss';\n","import {\n Facet,\n buildFacet,\n FacetState,\n FacetOptions,\n FacetSortCriterion,\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n buildFacetConditionsManager,\n FacetResultsMustMatch,\n FacetConditionsManager,\n FacetValueRequest,\n CategoryFacetValueRequest,\n TabManagerState,\n TabManager,\n buildTabManager,\n} from '@coveo/headless';\nimport {\n Component,\n h,\n State,\n Prop,\n Element,\n VNode,\n Fragment,\n} from '@stencil/core';\nimport {getFieldCaptions} from '../../../../utils/field-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {\n AriaLiveRegion,\n FocusTargetController,\n} from '../../../../utils/stencil-accessibility-utils';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/facet-placeholder';\nimport {announceFacetSearchResultsWithAriaLive} from '../../../common/facets/facet-search/facet-search-aria-live';\nimport {\n shouldDisplaySearchResults,\n shouldUpdateFacetSearchComponent,\n} from '../../../common/facets/facet-search/facet-search-utils';\nimport {FacetSearchInput} from '../../../common/facets/facet-search/stencil-facet-search-input';\nimport {FacetSearchInputGuard} from '../../../common/facets/facet-search/stencil-facet-search-input-guard';\nimport {FacetSearchMatches} from '../../../common/facets/facet-search/stencil-facet-search-matches';\nimport {FacetSearchValue} from '../../../common/facets/facet-search/stencil-facet-search-value';\nimport {FacetShowMoreLess} from '../../../common/facets/facet-show-more-less/stencil-facet-show-more-less';\nimport {\n FacetValueProps,\n FacetValue,\n} from '../../../common/facets/facet-value/stencil-facet-value';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (e.g., number of occurrences).\n * An `atomic-facet` displays a facet of the results for the current query.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and allows to expand/collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part search-wrapper - The search box wrapper.\n * @part search-input - The search box input.\n * @part search-icon - The search box submit button.\n * @part search-clear-button - The button to clear the search box of input.\n * @part more-matches - The label indicating there are more matches for the current facet search query.\n * @part no-matches - The label indicating there are no matches for the current facet search query.\n * @part matches-query - The highlighted query inside the matches labels.\n * @part search-highlight - The highlighted query inside the facet values.\n *\n * @part values - The facet values container.\n * @part value-label - The facet value label, common for all displays.\n * @part value-count - The facet value count, common for all displays.\n *\n * @part value-checkbox - The facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-checked - The checked facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-label - The facet value checkbox clickable label, available when display is 'checkbox'.\n * @part value-checkbox-icon - The facet value checkbox icon, available when display is 'checkbox'.\n * @part value-link - The facet value when display is 'link'.\n * @part value-link-selected - The selected facet value when display is 'link'.\n * @part value-box - The facet value when display is 'box'.\n * @part value-box-selected - The selected facet value when display is 'box'.\n * @part value-exclude-button - The button to exclude a facet value, available when display is 'checkbox'.\n *\n * @part show-more - The show more results button.\n * @part show-less - The show less results button.\n * @part show-more-less-icon - The icons of the show more & show less buttons.\n */\n@Component({\n tag: 'atomic-facet',\n styleUrl: 'atomic-facet.pcss',\n shadow: true,\n})\nexport class AtomicFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facet!: Facet;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: FacetState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\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 non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: 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-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-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-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-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 * 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 = 8;\n\n /**\n * Whether this facet should contain a search box.\n *\n */\n @Prop({reflect: true}) public withSearch = true;\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 * Specifies how a result must match the selected facet values.\n * Allowed values:\n * - `atLeastOneValue`: A result will match if at least one of the corresponding facet values is selected.\n * - `allValues`: A result will match if all corresponding facet values are selected.\n */\n @Prop({reflect: true}) public resultsMustMatch: FacetResultsMustMatch =\n 'atLeastOneValue';\n /**\n * Whether to display the facet values as checkboxes (multiple selection), links (single selection) or boxes (multiple selection).\n * Possible values are 'checkbox', 'link', and 'box'.\n */\n @Prop({reflect: true}) public displayValuesAs: 'checkbox' | 'link' | 'box' =\n 'checkbox';\n /**\n * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\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 * Whether to allow excluding values from the facet.\n */\n @Prop({reflect: true}) public enableExclusion = false;\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 /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-facet\n * depends-on-abc\n * ...\n * ></atomic-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-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n /**\n * Specifies an explicit list of `allowedValues` in the Search API request, as a JSON string representation.\n *\n * If you specify a list of values for this option, the facet uses only 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 * those other values.\n *\n * ```html\n * <atomic-facet field=\"objecttype\" allowed-values='[\"Contact\",\"Account\",\"File\"]'></atomic-facet>\n * ```\n *\n * The maximum amount of allowed values is 25.\n *\n * 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-facet field=\"objecttype\" custom-sort='[\"Contact\",\"Account\",\"File\"]' sort-criteria='occurrences'></atomic-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 showLessFocus?: FocusTargetController;\n private showMoreFocus?: FocusTargetController;\n private headerFocus?: FocusTargetController;\n private facetConditionsManager?: FacetConditionsManager;\n\n @AriaLiveRegion('facet-search')\n protected facetSearchAriaMessage!: string;\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\n if (this.displayValuesAs !== 'checkbox' && this.enableExclusion) {\n console.warn(\n 'The \"enableExclusion\" property is only available when \"displayValuesAs\" is set to \"checkbox\".'\n );\n }\n\n this.facet = buildFacet(this.bindings.engine, {options: this.facetOptions});\n this.facetId = this.facet.state.facetId;\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.initAriaLive();\n this.initConditionManager();\n this.initPopover();\n this.registerFacet();\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.facetConditionsManager?.stopWatching();\n }\n\n public componentShouldUpdate(\n next: FacetState,\n prev: FacetState,\n propName: keyof AtomicFacet\n ) {\n if (\n this.isFacetState(prev, propName) &&\n this.isFacetState(next, propName)\n ) {\n return shouldUpdateFacetSearchComponent(\n next.facetSearch,\n prev.facetSearch\n );\n }\n return true;\n }\n\n public render() {\n return (\n <FacetGuard\n enabled={this.facetState.enabled}\n hasError={this.searchStatusState.hasError}\n firstSearchExecuted={this.searchStatusState.firstSearchExecuted}\n hasResults={this.facetState.values.length > 0}\n >\n {this.searchStatusState.firstSearchExecuted ? (\n <FacetContainer>\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.definedLabel}\n onClearFilters={() => {\n this.focusTargets.header.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.activeValues.length}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTargets.header.setTarget(el)}\n ></FacetHeader>\n {this.renderBody()}\n </FacetContainer>\n ) : (\n <FacetPlaceholder\n numberOfValues={this.numberOfValues}\n isCollapsed={this.isCollapsed}\n />\n )}\n </FacetGuard>\n );\n }\n\n private renderBody() {\n if (this.isCollapsed) {\n return;\n }\n return (\n <Fragment>\n <FacetSearchInputGuard\n canShowMoreValues={this.facetState.canShowMoreValues}\n numberOfDisplayedValues={this.facetState.values.length}\n withSearch={this.withSearch}\n >\n <FacetSearchInput\n i18n={this.bindings.i18n}\n label={this.definedLabel}\n onChange={(value) => {\n if (value === '') {\n this.facet.facetSearch.clear();\n return;\n }\n this.facet.facetSearch.updateCaptions(\n getFieldCaptions(this.field, this.bindings.i18n)\n );\n this.facet.facetSearch.updateText(value);\n this.facet.facetSearch.search();\n }}\n onClear={() => this.facet.facetSearch.clear()}\n query={this.facetState.facetSearch.query}\n />\n </FacetSearchInputGuard>\n {shouldDisplaySearchResults(this.facetState.facetSearch)\n ? [this.renderSearchResults(), this.renderMatches()]\n : [this.renderValues(), this.renderShowMoreLess()]}\n </Fragment>\n );\n }\n\n private renderValuesContainer(children: VNode[], query?: string) {\n const classes = `mt-3 ${\n this.displayValuesAs === 'box' ? 'box-container' : ''\n }`;\n return (\n <FacetValuesGroup\n i18n={this.bindings.i18n}\n label={this.label}\n query={query}\n >\n <ul class={classes} part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderSearchResults() {\n return this.renderValuesContainer(\n this.facet.state.facetSearch.values.map((value) => (\n <FacetSearchValue\n {...this.facetValueProps}\n facetCount={value.count}\n onExclude={() => this.facet.facetSearch.exclude(value)}\n onSelect={() =>\n this.displayValuesAs === 'link'\n ? this.facet.facetSearch.singleSelect(value)\n : this.facet.facetSearch.select(value)\n }\n facetValue={value.rawValue}\n />\n ))\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.facet.state.values.map((value, i) => {\n const shouldFocusOnShowLessAfterInteraction = i === 0;\n const shouldFocusOnShowMoreAfterInteraction =\n i ===\n (this.sortCriteria === 'automatic'\n ? 0\n : this.facet.state.values.length - this.numberOfValues);\n\n return (\n <FacetValue\n {...this.facetValueProps}\n facetCount={value.numberOfResults}\n onExclude={() => this.facet.toggleExclude(value)}\n onSelect={() =>\n this.displayValuesAs === 'link'\n ? this.facet.toggleSingleSelect(value)\n : this.facet.toggleSelect(value)\n }\n facetValue={value.value}\n facetState={value.state}\n setRef={(btn) => {\n if (shouldFocusOnShowLessAfterInteraction) {\n this.showLessFocus?.setTarget(btn);\n }\n if (shouldFocusOnShowMoreAfterInteraction) {\n this.showMoreFocus?.setTarget(btn);\n }\n }}\n />\n );\n })\n );\n }\n\n private renderShowMoreLess() {\n return (\n <FacetShowMoreLess\n label={this.label}\n i18n={this.bindings.i18n}\n onShowMore={() => {\n this.focusTargets.showMore.focusAfterSearch();\n this.facet.showMoreValues();\n }}\n onShowLess={() => {\n this.focusTargets.showLess.focusAfterSearch();\n this.facet.showLessValues();\n }}\n canShowMoreValues={this.facet.state.canShowMoreValues}\n canShowLessValues={this.facet.state.canShowLessValues}\n ></FacetShowMoreLess>\n );\n }\n\n private renderMatches() {\n return (\n <FacetSearchMatches\n i18n={this.bindings.i18n}\n query={this.facet.state.facetSearch.query}\n numberOfMatches={this.facet.state.facetSearch.values.length}\n hasMoreMatches={this.facet.state.facetSearch.moreValuesAvailable}\n showMoreMatches={() => this.facet.facetSearch.showMoreResults()}\n ></FacetSearchMatches>\n );\n }\n\n private get activeValues() {\n return this.facet.state.values.filter(({state}) => state !== 'idle');\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 resultsMustMatch: this.resultsMustMatch,\n facetSearch: {numberOfValues: this.numberOfValues},\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\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 private get facetValueProps(): Pick<\n FacetValueProps,\n | 'displayValuesAs'\n | 'facetSearchQuery'\n | 'enableExclusion'\n | 'field'\n | 'i18n'\n > {\n return {\n facetSearchQuery: this.facetState.facetSearch.query,\n displayValuesAs: this.displayValuesAs,\n enableExclusion: this.enableExclusion,\n field: this.field,\n i18n: this.bindings.i18n,\n };\n }\n\n private get isHidden() {\n return !this.facet.state.enabled || !this.facet.state.values.length;\n }\n\n private initConditionManager() {\n this.facetConditionsManager = buildFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n FacetValueRequest | CategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n private registerFacet() {\n this.bindings.store.registerFacet('facets', this.facetInfo);\n }\n\n private initPopover() {\n initializePopover(this.host, {\n ...this.facetInfo,\n hasValues: () => !!this.facet.state.values.length,\n numberOfActiveValues: () => this.activeValues.length,\n });\n }\n\n private initAriaLive() {\n announceFacetSearchResultsWithAriaLive(\n this.facet,\n this.label,\n (msg) => (this.facetSearchAriaMessage = msg),\n this.bindings.i18n\n );\n }\n\n private get facetInfo(): FacetInfo {\n return {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n }\n\n private get definedLabel() {\n return this.label === 'no-label' && this.facetState?.label\n ? this.facetState.label\n : this.label;\n }\n\n private get focusTargets(): {\n showLess: FocusTargetController;\n showMore: FocusTargetController;\n header: FocusTargetController;\n } {\n if (!this.showLessFocus) {\n this.showLessFocus = new FocusTargetController(this);\n }\n if (!this.showMoreFocus) {\n this.showMoreFocus = new FocusTargetController(this);\n }\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n\n return {\n showLess: this.showLessFocus,\n showMore: this.showMoreFocus,\n header: this.headerFocus,\n };\n }\n\n private isFacetState(state: unknown, propName: string): state is FacetState {\n return (\n propName === 'facetState' &&\n typeof (state as FacetState)?.facetId === 'string'\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}