@coveo/atomic 3.35.0-pre.e38c46e295 → 3.35.0-pre.e757e0d8ec

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 (1184) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/components/_index.js +19 -19
  3. package/dist/atomic/components/atomic-breadbox.js +18 -0
  4. package/dist/atomic/components/atomic-breadbox.js.map +1 -1
  5. package/dist/atomic/components/atomic-category-facet.js +27 -0
  6. package/dist/atomic/components/atomic-category-facet.js.map +1 -1
  7. package/dist/atomic/components/atomic-color-facet.js +3 -0
  8. package/dist/atomic/components/atomic-color-facet.js.map +1 -1
  9. package/dist/atomic/components/atomic-did-you-mean.js +12 -1
  10. package/dist/atomic/components/atomic-did-you-mean.js.map +1 -1
  11. package/dist/atomic/components/atomic-facet.js +6 -0
  12. package/dist/atomic/components/atomic-facet.js.map +1 -1
  13. package/dist/atomic/components/atomic-field-condition.js +1 -1
  14. package/dist/atomic/components/atomic-field-condition.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-result-action.js +2 -2
  24. package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
  25. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +2 -2
  26. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
  27. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +2 -2
  28. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js.map +1 -1
  29. package/dist/atomic/components/atomic-insight-result-quickview-action.js +2 -2
  30. package/dist/atomic/components/atomic-insight-result-quickview-action.js.map +1 -1
  31. package/dist/atomic/components/atomic-insight-user-actions-session2.js +3 -0
  32. package/dist/atomic/components/atomic-insight-user-actions-session2.js.map +1 -1
  33. package/dist/atomic/components/atomic-ipx-result-link.js +2 -2
  34. package/dist/atomic/components/atomic-ipx-result-link.js.map +1 -1
  35. package/dist/atomic/components/atomic-load-more-results.js +13 -1
  36. package/dist/atomic/components/atomic-load-more-results.js.map +1 -1
  37. package/dist/atomic/components/atomic-no-results.js +3 -0
  38. package/dist/atomic/components/atomic-no-results.js.map +1 -1
  39. package/dist/atomic/components/atomic-quickview-modal2.js +4 -1
  40. package/dist/atomic/components/atomic-quickview-modal2.js.map +1 -1
  41. package/dist/atomic/components/atomic-quickview.js +2 -2
  42. package/dist/atomic/components/atomic-quickview.js.map +1 -1
  43. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  44. package/dist/atomic/components/atomic-refine-modal2.js +12 -0
  45. package/dist/atomic/components/atomic-refine-modal2.js.map +1 -1
  46. package/dist/atomic/components/atomic-refine-toggle.js +6 -0
  47. package/dist/atomic/components/atomic-refine-toggle.js.map +1 -1
  48. package/dist/atomic/components/atomic-result-badge.js +1 -1
  49. package/dist/atomic/components/atomic-result-badge.js.map +1 -1
  50. package/dist/atomic/components/atomic-result-children.js +2 -2
  51. package/dist/atomic/components/atomic-result-children.js.map +1 -1
  52. package/dist/atomic/components/atomic-result-date.js +1 -1
  53. package/dist/atomic/components/atomic-result-date.js.map +1 -1
  54. package/dist/atomic/components/atomic-result-fields-list.js +2 -2
  55. package/dist/atomic/components/atomic-result-fields-list.js.map +1 -1
  56. package/dist/atomic/components/atomic-result-html.js +1 -1
  57. package/dist/atomic/components/atomic-result-html.js.map +1 -1
  58. package/dist/atomic/components/atomic-result-icon.js +1 -1
  59. package/dist/atomic/components/atomic-result-icon.js.map +1 -1
  60. package/dist/atomic/components/atomic-result-image.js +1 -1
  61. package/dist/atomic/components/atomic-result-image.js.map +1 -1
  62. package/dist/atomic/components/atomic-result-link.js +2 -2
  63. package/dist/atomic/components/atomic-result-link.js.map +1 -1
  64. package/dist/atomic/components/atomic-result-list.js +12 -0
  65. package/dist/atomic/components/atomic-result-list.js.map +1 -1
  66. package/dist/atomic/components/atomic-result-localized-text.js +1 -1
  67. package/dist/atomic/components/atomic-result-localized-text.js.map +1 -1
  68. package/dist/atomic/components/atomic-result-multi-value-text.js +1 -1
  69. package/dist/atomic/components/atomic-result-multi-value-text.js.map +1 -1
  70. package/dist/atomic/components/atomic-result-number.js +1 -1
  71. package/dist/atomic/components/atomic-result-number.js.map +1 -1
  72. package/dist/atomic/components/atomic-result-printable-uri.js +1 -1
  73. package/dist/atomic/components/atomic-result-printable-uri.js.map +1 -1
  74. package/dist/atomic/components/atomic-result-rating.js +1 -1
  75. package/dist/atomic/components/atomic-result-rating.js.map +1 -1
  76. package/dist/atomic/components/atomic-result-text2.js +7 -1
  77. package/dist/atomic/components/atomic-result-text2.js.map +1 -1
  78. package/dist/atomic/components/atomic-result-timespan.js +1 -1
  79. package/dist/atomic/components/atomic-result-timespan.js.map +1 -1
  80. package/dist/atomic/components/atomic-result2.js.map +1 -1
  81. package/dist/atomic/components/atomic-search-box-instant-results.js +9 -0
  82. package/dist/atomic/components/atomic-search-box-instant-results.js.map +1 -1
  83. package/dist/atomic/components/atomic-search-box.js +6 -7
  84. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  85. package/dist/atomic/components/atomic-segmented-facet.js +3 -0
  86. package/dist/atomic/components/atomic-segmented-facet.js.map +1 -1
  87. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  88. package/dist/atomic/components/atomic-smart-snippet-source2.js.map +1 -1
  89. package/dist/atomic/components/atomic-sort-dropdown.js +15 -0
  90. package/dist/atomic/components/atomic-sort-dropdown.js.map +1 -1
  91. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +1 -3
  92. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +0 -5
  93. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +0 -3
  94. package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.js +1 -1
  95. package/dist/atomic/components/components/commerce/atomic-product-description/atomic-product-description.js +1 -1
  96. package/dist/atomic/components/components/commerce/atomic-product-excerpt/atomic-product-excerpt.js +1 -1
  97. package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +1 -1
  98. package/dist/atomic/components/components/commerce/atomic-product-image/atomic-product-image.js +1 -1
  99. package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js +2 -1
  100. package/dist/atomic/components/components/commerce/atomic-product-multi-value-text/atomic-product-multi-value-text.js +1 -1
  101. package/dist/atomic/components/components/commerce/atomic-product-numeric-field-value/atomic-product-numeric-field-value.js +1 -1
  102. package/dist/atomic/components/components/commerce/atomic-product-price/atomic-product-price.js +1 -1
  103. package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js +1 -1
  104. package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +1 -1
  105. package/dist/atomic/components/components/commerce/product-template-component-utils/context/interactive-product-context-controller.js +25 -0
  106. package/dist/atomic/components/components/commerce/product-template-component-utils/context/product-context-controller.js +29 -0
  107. package/dist/atomic/components/components/common/breadbox/breadcrumb-button.js +1 -6
  108. package/dist/atomic/components/components/common/search-box/text-area-clear-button.js +1 -1
  109. package/dist/atomic/components/facet-guard.js +3 -0
  110. package/dist/atomic/components/facet-guard.js.map +1 -1
  111. package/dist/atomic/components/facet-placeholder.js +3 -0
  112. package/dist/atomic/components/facet-placeholder.js.map +1 -1
  113. package/dist/atomic/components/generated-answer-common.js +27 -0
  114. package/dist/atomic/components/generated-answer-common.js.map +1 -1
  115. package/dist/atomic/components/global/environment.js +1 -1
  116. package/dist/atomic/components/index.js.map +1 -1
  117. package/dist/atomic/components/item-list-guard.js +3 -0
  118. package/dist/atomic/components/item-list-guard.js.map +1 -1
  119. package/dist/atomic/components/show-hide-button.js +12 -0
  120. package/dist/atomic/components/show-hide-button.js.map +1 -1
  121. package/dist/atomic/components/smart-snippet-common.js +15 -0
  122. package/dist/atomic/components/smart-snippet-common.js.map +1 -1
  123. package/dist/atomic/components/smart-snippet-feedback-modal-common.js +21 -0
  124. package/dist/atomic/components/smart-snippet-feedback-modal-common.js.map +1 -1
  125. package/dist/atomic/components/smart-snippet-suggestions-common.js +18 -0
  126. package/dist/atomic/components/smart-snippet-suggestions-common.js.map +1 -1
  127. package/dist/atomic/components/stencil-button.js +1 -1
  128. package/dist/atomic/components/stencil-button.js.map +1 -1
  129. package/dist/atomic/components/stencil-carousel.js +3 -0
  130. package/dist/atomic/components/stencil-carousel.js.map +1 -1
  131. package/dist/atomic/components/stencil-checkbox.js +1 -1
  132. package/dist/atomic/components/stencil-checkbox.js.map +1 -1
  133. package/dist/atomic/components/stencil-display-grid.js +3 -0
  134. package/dist/atomic/components/stencil-display-grid.js.map +1 -1
  135. package/dist/atomic/components/stencil-display-wrapper.js +6 -0
  136. package/dist/atomic/components/stencil-display-wrapper.js.map +1 -1
  137. package/dist/atomic/components/stencil-facet-header.js +6 -0
  138. package/dist/atomic/components/stencil-facet-header.js.map +1 -1
  139. package/dist/atomic/components/stencil-facet-search-matches.js +6 -0
  140. package/dist/atomic/components/stencil-facet-search-matches.js.map +1 -1
  141. package/dist/atomic/components/stencil-facet-show-more-less.js +3 -0
  142. package/dist/atomic/components/stencil-facet-show-more-less.js.map +1 -1
  143. package/dist/atomic/components/stencil-facet-value-box.js +3 -0
  144. package/dist/atomic/components/stencil-facet-value-box.js.map +1 -1
  145. package/dist/atomic/components/stencil-facet-value-checkbox.js +7 -2
  146. package/dist/atomic/components/stencil-facet-value-checkbox.js.map +1 -1
  147. package/dist/atomic/components/stencil-facet-value-label-highlight.js +3 -0
  148. package/dist/atomic/components/stencil-facet-value-label-highlight.js.map +1 -1
  149. package/dist/atomic/components/stencil-facet-value-link.js +3 -0
  150. package/dist/atomic/components/stencil-facet-value-link.js.map +1 -1
  151. package/dist/atomic/components/stencil-facet-value.js +3 -0
  152. package/dist/atomic/components/stencil-facet-value.js.map +1 -1
  153. package/dist/atomic/components/stencil-facet-values-group.js +3 -0
  154. package/dist/atomic/components/stencil-facet-values-group.js.map +1 -1
  155. package/dist/atomic/components/stencil-fieldset-group.js +3 -0
  156. package/dist/atomic/components/stencil-fieldset-group.js.map +1 -1
  157. package/dist/atomic/components/stencil-heading.js +1 -1
  158. package/dist/atomic/components/stencil-heading.js.map +1 -1
  159. package/dist/atomic/components/stencil-iconButton.js +3 -0
  160. package/dist/atomic/components/stencil-iconButton.js.map +1 -1
  161. package/dist/atomic/components/stencil-item-link.js +3 -0
  162. package/dist/atomic/components/stencil-item-link.js.map +1 -1
  163. package/dist/atomic/components/stencil-link.js +24 -1
  164. package/dist/atomic/components/stencil-link.js.map +1 -1
  165. package/dist/atomic/components/stencil-magnifying-glass.js +6 -0
  166. package/dist/atomic/components/stencil-magnifying-glass.js.map +1 -1
  167. package/dist/atomic/components/stencil-modal.js +3 -0
  168. package/dist/atomic/components/stencil-modal.js.map +1 -1
  169. package/dist/atomic/components/stencil-placeholders.js +6 -0
  170. package/dist/atomic/components/stencil-placeholders.js.map +1 -1
  171. package/dist/atomic/components/stencil-query-suggestions.js +12 -0
  172. package/dist/atomic/components/stencil-query-suggestions.js.map +1 -1
  173. package/dist/atomic/components/stencil-radio-button.js +1 -1
  174. package/dist/atomic/components/stencil-radio-button.js.map +1 -1
  175. package/dist/atomic/components/stencil-rating.js +5 -2
  176. package/dist/atomic/components/stencil-rating.js.map +1 -1
  177. package/dist/atomic/components/{result-template-decorators.js → stencil-result-template-decorators.js} +6 -2
  178. package/dist/atomic/components/stencil-result-template-decorators.js.map +1 -0
  179. package/dist/atomic/components/stencil-suggestion-manager.js +10 -1
  180. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  181. package/dist/atomic/components/stencil-tips.js +9 -0
  182. package/dist/atomic/components/stencil-tips.js.map +1 -1
  183. package/dist/atomic/components/stencil-values-container.js +6 -0
  184. package/dist/atomic/components/stencil-values-container.js.map +1 -1
  185. package/dist/atomic/index.esm.js +1 -1
  186. package/dist/atomic/index.esm.js.map +1 -1
  187. package/dist/atomic/lang/cs.json +1 -1
  188. package/dist/atomic/lang/da.json +1 -1
  189. package/dist/atomic/lang/de.json +1 -1
  190. package/dist/atomic/lang/dev.json +1 -1
  191. package/dist/atomic/lang/el.json +1 -1
  192. package/dist/atomic/lang/en.json +1 -1
  193. package/dist/atomic/lang/es.json +1 -1
  194. package/dist/atomic/lang/fi.json +1 -1
  195. package/dist/atomic/lang/fr.json +1 -1
  196. package/dist/atomic/lang/hu.json +1 -1
  197. package/dist/atomic/lang/id.json +1 -1
  198. package/dist/atomic/lang/it.json +1 -1
  199. package/dist/atomic/lang/ja.json +1 -1
  200. package/dist/atomic/lang/ko.json +1 -1
  201. package/dist/atomic/lang/nl.json +1 -1
  202. package/dist/atomic/lang/no.json +1 -1
  203. package/dist/atomic/lang/pl.json +1 -1
  204. package/dist/atomic/lang/pt-BR.json +1 -1
  205. package/dist/atomic/lang/pt.json +1 -1
  206. package/dist/atomic/lang/ru.json +1 -1
  207. package/dist/atomic/lang/sv.json +1 -1
  208. package/dist/atomic/lang/th.json +1 -1
  209. package/dist/atomic/lang/tr.json +1 -1
  210. package/dist/atomic/lang/zh-CN.json +1 -1
  211. package/dist/atomic/lang/zh-TW.json +1 -1
  212. package/dist/atomic/lang/zh.json +1 -1
  213. package/dist/atomic/{p-851b9735.entry.js → p-030c0435.entry.js} +2 -2
  214. package/dist/atomic/p-030c0435.entry.js.map +1 -0
  215. package/dist/atomic/{p-5606819d.entry.js → p-039bd7df.entry.js} +2 -2
  216. package/dist/atomic/{p-448091f7.entry.js → p-06463927.entry.js} +2 -2
  217. package/dist/atomic/p-06463927.entry.js.map +1 -0
  218. package/dist/atomic/{p-187193bb.js → p-0ed25035.js} +1 -1
  219. package/dist/atomic/p-0ed25035.js.map +1 -0
  220. package/dist/atomic/{p-66166975.entry.js → p-12be5e47.entry.js} +2 -2
  221. package/dist/atomic/p-12be5e47.entry.js.map +1 -0
  222. package/dist/atomic/{p-22b76c96.entry.js → p-13ac0c72.entry.js} +2 -2
  223. package/dist/atomic/{p-77d00da1.entry.js → p-15697c4b.entry.js} +2 -2
  224. package/dist/atomic/{p-b93ccff9.js → p-1a093634.js} +1 -1
  225. package/dist/atomic/p-1a093634.js.map +1 -0
  226. package/dist/atomic/{p-a5bac939.js → p-1b11f219.js} +1 -1
  227. package/dist/atomic/p-1b11f219.js.map +1 -0
  228. package/dist/atomic/{p-14bad769.entry.js → p-1d6d0186.entry.js} +2 -2
  229. package/dist/atomic/{p-48bab1a6.entry.js → p-1f903f31.entry.js} +2 -2
  230. package/dist/atomic/{p-db3b11ca.entry.js → p-2033533c.entry.js} +2 -2
  231. package/dist/atomic/{p-db3b11ca.entry.js.map → p-2033533c.entry.js.map} +1 -1
  232. package/dist/atomic/{p-d2e8a2d4.js → p-21dd38ad.js} +2 -2
  233. package/dist/atomic/p-21dd38ad.js.map +1 -0
  234. package/dist/atomic/{p-47b41b27.entry.js → p-24bb7b3d.entry.js} +2 -2
  235. package/dist/atomic/p-254846bb.js +2 -0
  236. package/dist/atomic/p-254846bb.js.map +1 -0
  237. package/dist/atomic/{p-4069d801.entry.js → p-268ce7ca.entry.js} +2 -2
  238. package/dist/atomic/p-268ce7ca.entry.js.map +1 -0
  239. package/dist/atomic/{p-6439156c.entry.js → p-2ab385b8.entry.js} +2 -2
  240. package/dist/atomic/p-2ab385b8.entry.js.map +1 -0
  241. package/dist/atomic/{p-6698d5e9.entry.js → p-2e9ecdf5.entry.js} +2 -2
  242. package/dist/atomic/{p-76c14d82.entry.js → p-32544f8a.entry.js} +2 -2
  243. package/dist/atomic/{p-e988f378.js → p-3881d7ec.js} +1 -1
  244. package/dist/atomic/p-3881d7ec.js.map +1 -0
  245. package/dist/atomic/{p-a6dde0f6.entry.js → p-390deb3d.entry.js} +2 -2
  246. package/dist/atomic/{p-2f437b47.entry.js → p-3b632123.entry.js} +2 -2
  247. package/dist/atomic/{p-7da7b187.js → p-3c2b932c.js} +1 -1
  248. package/dist/atomic/p-3c2b932c.js.map +1 -0
  249. package/dist/atomic/{p-21ab7750.entry.js → p-3e1b3a6d.entry.js} +2 -2
  250. package/dist/atomic/{p-21ab7750.entry.js.map → p-3e1b3a6d.entry.js.map} +1 -1
  251. package/dist/atomic/{p-e9dc8e90.entry.js → p-3ec45f9c.entry.js} +2 -2
  252. package/dist/atomic/p-3ec45f9c.entry.js.map +1 -0
  253. package/dist/atomic/p-40345c70.js +2 -0
  254. package/dist/atomic/p-40345c70.js.map +1 -0
  255. package/dist/atomic/{p-18684d4c.js → p-4080f740.js} +1 -1
  256. package/dist/atomic/p-4080f740.js.map +1 -0
  257. package/dist/atomic/{p-3a01a398.entry.js → p-43fc38fb.entry.js} +2 -2
  258. package/dist/atomic/{p-dd24c66a.entry.js → p-443f3422.entry.js} +2 -2
  259. package/dist/atomic/{p-b29d121c.js → p-4651cceb.js} +2 -2
  260. package/dist/atomic/{p-400c28b6.entry.js → p-498771d3.entry.js} +2 -2
  261. package/dist/atomic/{p-f8b608ba.js → p-4a73e01b.js} +2 -2
  262. package/dist/atomic/p-4a73e01b.js.map +1 -0
  263. package/dist/atomic/{p-190ddaca.entry.js → p-4cf97b0a.entry.js} +2 -2
  264. package/dist/atomic/p-4cf97b0a.entry.js.map +1 -0
  265. package/dist/atomic/{p-15547bd5.entry.js → p-52663c66.entry.js} +2 -2
  266. package/dist/atomic/p-52663c66.entry.js.map +1 -0
  267. package/dist/atomic/{p-558f2191.entry.js → p-52878b95.entry.js} +2 -2
  268. package/dist/atomic/{p-c8190eb9.entry.js → p-5a644e15.entry.js} +2 -2
  269. package/dist/atomic/{p-78427c6a.entry.js → p-5a9460ab.entry.js} +2 -2
  270. package/dist/atomic/p-5a9460ab.entry.js.map +1 -0
  271. package/dist/atomic/{p-dea22a8d.entry.js → p-5b65473e.entry.js} +2 -2
  272. package/dist/atomic/p-5b65473e.entry.js.map +1 -0
  273. package/dist/atomic/{p-479cb38a.entry.js → p-5d4e9821.entry.js} +2 -2
  274. package/dist/atomic/p-5e6efd8e.js +2 -0
  275. package/dist/atomic/p-5e6efd8e.js.map +1 -0
  276. package/dist/atomic/{p-82cd6398.entry.js → p-5e6ff8f8.entry.js} +2 -2
  277. package/dist/atomic/{p-82cd6398.entry.js.map → p-5e6ff8f8.entry.js.map} +1 -1
  278. package/dist/atomic/{p-2c6f895f.js → p-64dfda2d.js} +2 -2
  279. package/dist/atomic/p-64dfda2d.js.map +1 -0
  280. package/dist/atomic/{p-af93b44c.js → p-659bddc4.js} +1 -1
  281. package/dist/atomic/p-659bddc4.js.map +1 -0
  282. package/dist/atomic/{p-955092ed.entry.js → p-67f62282.entry.js} +2 -2
  283. package/dist/atomic/p-67f62282.entry.js.map +1 -0
  284. package/dist/atomic/{p-1ff7a9da.entry.js → p-6a3b139f.entry.js} +2 -2
  285. package/dist/atomic/p-6a3b139f.entry.js.map +1 -0
  286. package/dist/atomic/p-6d0e9fad.entry.js.map +1 -1
  287. package/dist/atomic/{p-b84108f3.entry.js → p-6d323b9a.entry.js} +2 -2
  288. package/dist/atomic/{p-088d634c.entry.js → p-733a8082.entry.js} +2 -2
  289. package/dist/atomic/{p-b1b583a0.entry.js → p-74380cbc.entry.js} +2 -2
  290. package/dist/atomic/{p-35c2ee5f.entry.js → p-752f4533.entry.js} +2 -2
  291. package/dist/atomic/{p-bd2703e9.js → p-7a7ce0d5.js} +1 -1
  292. package/dist/atomic/p-7a7ce0d5.js.map +1 -0
  293. package/dist/atomic/{p-ef8f2239.entry.js → p-7afa3c6a.entry.js} +2 -2
  294. package/dist/atomic/{p-db2d92c5.entry.js → p-7b8607e0.entry.js} +2 -2
  295. package/dist/atomic/{p-7741124a.entry.js → p-7c87512d.entry.js} +2 -2
  296. package/dist/atomic/{p-f0c657f4.entry.js → p-84a6ee68.entry.js} +2 -2
  297. package/dist/atomic/p-84a6ee68.entry.js.map +1 -0
  298. package/dist/atomic/{p-8d5228da.entry.js → p-850fa320.entry.js} +2 -2
  299. package/dist/atomic/p-850fa320.entry.js.map +1 -0
  300. package/dist/atomic/{p-33245038.entry.js → p-86bba9db.entry.js} +2 -2
  301. package/dist/atomic/{p-5d0a3045.js → p-8aec7860.js} +2 -2
  302. package/dist/atomic/p-8aec7860.js.map +1 -0
  303. package/dist/atomic/{p-e49ad083.entry.js → p-8b1b1784.entry.js} +2 -2
  304. package/dist/atomic/p-8b1b1784.entry.js.map +1 -0
  305. package/dist/atomic/{p-b3f6561d.entry.js → p-8e964890.entry.js} +2 -2
  306. package/dist/atomic/p-8e964890.entry.js.map +1 -0
  307. package/dist/atomic/{p-bd01acd5.entry.js → p-93b392fa.entry.js} +2 -2
  308. package/dist/atomic/p-93b392fa.entry.js.map +1 -0
  309. package/dist/atomic/{p-318c96f5.entry.js → p-9519e656.entry.js} +2 -2
  310. package/dist/atomic/{p-70747efa.entry.js → p-951bdd73.entry.js} +2 -2
  311. package/dist/atomic/{p-81bdbd07.entry.js → p-953fe202.entry.js} +2 -2
  312. package/dist/atomic/p-953fe202.entry.js.map +1 -0
  313. package/dist/atomic/{p-5a83b7e5.entry.js → p-99bb5042.entry.js} +2 -2
  314. package/dist/atomic/{p-fc71835d.entry.js → p-99d0c865.entry.js} +2 -2
  315. package/dist/atomic/p-9aad555a.entry.js.map +1 -1
  316. package/dist/atomic/{p-5c73ebc4.js → p-9b447b7d.js} +2 -2
  317. package/dist/atomic/p-9b447b7d.js.map +1 -0
  318. package/dist/atomic/{p-b628ed03.entry.js → p-9c97d77d.entry.js} +2 -2
  319. package/dist/atomic/p-9c97d77d.entry.js.map +1 -0
  320. package/dist/atomic/{p-82398f4a.js → p-9ce62a67.js} +2 -2
  321. package/dist/atomic/p-9ce62a67.js.map +1 -0
  322. package/dist/atomic/{p-80290dd3.entry.js → p-9d492524.entry.js} +2 -2
  323. package/dist/atomic/{p-4b1dc787.js → p-a24a63d6.js} +1 -1
  324. package/dist/atomic/p-a24a63d6.js.map +1 -0
  325. package/dist/atomic/{p-8a488991.js → p-aa0139e0.js} +2 -2
  326. package/dist/atomic/p-aa0139e0.js.map +1 -0
  327. package/dist/atomic/p-ac03c9a7.js +2 -0
  328. package/dist/atomic/{p-5a2ef889.js.map → p-ac03c9a7.js.map} +1 -1
  329. package/dist/atomic/{p-d0ab0125.entry.js → p-b0a20358.entry.js} +2 -2
  330. package/dist/atomic/{p-0ee7cab8.entry.js → p-b0f6a52e.entry.js} +2 -2
  331. package/dist/atomic/{p-c619df9b.js → p-b58c1424.js} +2 -2
  332. package/dist/atomic/p-b58c1424.js.map +1 -0
  333. package/dist/atomic/{p-017aa785.entry.js → p-b72d3af6.entry.js} +2 -2
  334. package/dist/atomic/p-b85c2c46.entry.js.map +1 -1
  335. package/dist/atomic/{p-66d48d1a.js → p-b8e66e99.js} +1 -1
  336. package/dist/atomic/p-b8e66e99.js.map +1 -0
  337. package/dist/atomic/{p-037eee11.js → p-baebeae3.js} +2 -2
  338. package/dist/atomic/p-baebeae3.js.map +1 -0
  339. package/dist/atomic/{p-a428960a.js → p-bca5b379.js} +2 -2
  340. package/dist/atomic/p-bca5b379.js.map +1 -0
  341. package/dist/atomic/{p-e6871a3f.entry.js → p-bef3a536.entry.js} +2 -2
  342. package/dist/atomic/{p-7fe23afc.entry.js → p-bf0a780e.entry.js} +2 -2
  343. package/dist/atomic/{p-9b2561e8.entry.js → p-bfb2e085.entry.js} +2 -2
  344. package/dist/atomic/{p-f1241140.entry.js → p-c0491e26.entry.js} +2 -2
  345. package/dist/atomic/{p-e276c7e0.entry.js → p-c1cd0a45.entry.js} +2 -2
  346. package/dist/atomic/{p-1f059522.js → p-c3451367.js} +1 -1
  347. package/dist/atomic/p-c3451367.js.map +1 -0
  348. package/dist/atomic/{p-852cc16d.entry.js → p-c402cc93.entry.js} +2 -2
  349. package/dist/atomic/p-c402cc93.entry.js.map +1 -0
  350. package/dist/atomic/{p-c2a5dac0.entry.js → p-c51d050f.entry.js} +2 -2
  351. package/dist/atomic/p-c51d050f.entry.js.map +1 -0
  352. package/dist/atomic/{p-1910eb7f.entry.js → p-c52c9e67.entry.js} +2 -2
  353. package/dist/atomic/{p-5cab535b.entry.js → p-c5bd7f8d.entry.js} +2 -2
  354. package/dist/atomic/p-c5bd7f8d.entry.js.map +1 -0
  355. package/dist/atomic/{p-7cb0050f.js → p-c727ec2d.js} +1 -1
  356. package/dist/atomic/p-c727ec2d.js.map +1 -0
  357. package/dist/atomic/{p-ae69f519.entry.js → p-cc963c10.entry.js} +2 -2
  358. package/dist/atomic/{p-ae69f519.entry.js.map → p-cc963c10.entry.js.map} +1 -1
  359. package/dist/atomic/p-ccb5ae69.js +2 -0
  360. package/dist/atomic/p-ccb5ae69.js.map +1 -0
  361. package/dist/atomic/{p-df8d38ca.entry.js → p-cd021c46.entry.js} +2 -2
  362. package/dist/atomic/p-cd021c46.entry.js.map +1 -0
  363. package/dist/atomic/{p-e455330c.entry.js → p-cd4394fe.entry.js} +2 -2
  364. package/dist/atomic/{p-c5164dbf.entry.js → p-cee86cff.entry.js} +2 -2
  365. package/dist/atomic/p-cee86cff.entry.js.map +1 -0
  366. package/dist/atomic/{p-4cb91ee7.entry.js → p-d5402772.entry.js} +2 -2
  367. package/dist/atomic/p-d5402772.entry.js.map +1 -0
  368. package/dist/atomic/{p-f37dea9e.entry.js → p-d5f4597b.entry.js} +2 -2
  369. package/dist/atomic/{p-307e7fd5.js → p-d72be8c2.js} +1 -1
  370. package/dist/atomic/p-d72be8c2.js.map +1 -0
  371. package/dist/atomic/p-d8caa4d8.entry.js.map +1 -1
  372. package/dist/atomic/{p-3bd8469f.entry.js → p-d944704c.entry.js} +2 -2
  373. package/dist/atomic/p-d944704c.entry.js.map +1 -0
  374. package/dist/atomic/{p-e6dc9de7.entry.js → p-da141605.entry.js} +2 -2
  375. package/dist/atomic/p-da141605.entry.js.map +1 -0
  376. package/dist/atomic/{p-8e5e00b4.js → p-da3fdf6d.js} +1 -1
  377. package/dist/atomic/p-da3fdf6d.js.map +1 -0
  378. package/dist/atomic/{p-57049cd2.entry.js → p-dbfd92ab.entry.js} +2 -2
  379. package/dist/atomic/p-dbfd92ab.entry.js.map +1 -0
  380. package/dist/atomic/{p-a1798150.entry.js → p-dd258eaa.entry.js} +2 -2
  381. package/dist/atomic/p-dd258eaa.entry.js.map +1 -0
  382. package/dist/atomic/{p-74862002.js → p-ddfbc97a.js} +2 -2
  383. package/dist/atomic/p-ddfbc97a.js.map +1 -0
  384. package/dist/atomic/{p-d4c2b7c0.js → p-defc2481.js} +1 -1
  385. package/dist/atomic/{p-d4c2b7c0.js.map → p-defc2481.js.map} +1 -1
  386. package/dist/atomic/{p-7242b46e.entry.js → p-e1052201.entry.js} +2 -2
  387. package/dist/atomic/{p-945ddd53.entry.js → p-e1dbe31d.entry.js} +2 -2
  388. package/dist/atomic/p-e1dbe31d.entry.js.map +1 -0
  389. package/dist/atomic/{p-dbc09018.js → p-e2fdbbd9.js} +2 -2
  390. package/dist/atomic/p-e2fdbbd9.js.map +1 -0
  391. package/dist/atomic/{p-874f0a4c.entry.js → p-e46e05cb.entry.js} +2 -2
  392. package/dist/atomic/{p-be5d3c54.js → p-e5e2aa64.js} +1 -1
  393. package/dist/atomic/p-e5e2aa64.js.map +1 -0
  394. package/dist/atomic/{p-182f9112.entry.js → p-e809b959.entry.js} +2 -2
  395. package/dist/atomic/p-e809b959.entry.js.map +1 -0
  396. package/dist/atomic/{p-0535b93d.entry.js → p-eca826bd.entry.js} +2 -2
  397. package/dist/atomic/p-eca826bd.entry.js.map +1 -0
  398. package/dist/atomic/{p-a54f3f24.entry.js → p-ee19b388.entry.js} +2 -2
  399. package/dist/atomic/{p-baff6c43.js → p-efd33bd9.js} +2 -2
  400. package/dist/atomic/p-efd33bd9.js.map +1 -0
  401. package/dist/atomic/{p-20cbcfb9.js → p-f0e695ab.js} +2 -2
  402. package/dist/atomic/p-f0e695ab.js.map +1 -0
  403. package/dist/atomic/{p-7045745d.entry.js → p-f25c9582.entry.js} +2 -2
  404. package/dist/atomic/{p-567b2841.entry.js → p-f3eaea67.entry.js} +2 -2
  405. package/dist/atomic/{p-ef78082a.js → p-f56b1fd6.js} +2 -2
  406. package/dist/atomic/p-f56b1fd6.js.map +1 -0
  407. package/dist/atomic/{p-e8176ac8.entry.js → p-f77a5952.entry.js} +2 -2
  408. package/dist/atomic/{p-8b0d881e.entry.js → p-f7b4ce31.entry.js} +2 -2
  409. package/dist/atomic/p-f7b4ce31.entry.js.map +1 -0
  410. package/dist/atomic/p-f800678c.entry.js.map +1 -1
  411. package/dist/atomic/{p-9e6462cf.entry.js → p-f8f80cbe.entry.js} +2 -2
  412. package/dist/atomic/p-f8f80cbe.entry.js.map +1 -0
  413. package/dist/atomic/{p-99d4c4bf.entry.js → p-fdaf9f6c.entry.js} +2 -2
  414. package/dist/atomic/{p-fd1ef9e3.entry.js → p-fdd6264f.entry.js} +2 -2
  415. package/dist/atomic/{p-2f517a54.entry.js → p-ff263c5e.entry.js} +2 -2
  416. package/dist/atomic/p-ff263c5e.entry.js.map +1 -0
  417. package/dist/cjs/_index.cjs.js +20 -20
  418. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +8 -8
  419. package/dist/cjs/atomic-breadbox.cjs.entry.js +19 -1
  420. package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
  421. package/dist/cjs/atomic-category-facet.cjs.entry.js +37 -10
  422. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  423. package/dist/cjs/atomic-citation.cjs.entry.js +2 -2
  424. package/dist/cjs/atomic-color-facet.cjs.entry.js +12 -9
  425. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  426. package/dist/cjs/atomic-did-you-mean.cjs.entry.js +12 -1
  427. package/dist/cjs/atomic-did-you-mean.cjs.entry.js.map +1 -1
  428. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +1 -1
  429. package/dist/cjs/atomic-facet.cjs.entry.js +20 -14
  430. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  431. package/dist/cjs/atomic-field-condition.cjs.entry.js +2 -2
  432. package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
  433. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +3 -3
  434. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +4 -4
  435. package/dist/cjs/atomic-generated-answer.cjs.entry.js +4 -4
  436. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  437. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +2 -2
  438. package/dist/cjs/atomic-insight-facet.cjs.entry.js +13 -13
  439. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +3 -3
  440. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +2 -2
  441. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +4 -4
  442. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  443. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +2 -2
  444. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +2 -2
  445. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +11 -11
  446. package/dist/cjs/atomic-insight-pager.cjs.entry.js +7 -7
  447. package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
  448. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -2
  449. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +9 -0
  450. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js.map +1 -1
  451. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  452. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +2 -2
  453. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +5 -5
  454. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  455. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +5 -5
  456. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  457. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +3 -3
  458. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +1 -1
  459. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +3 -3
  460. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +3 -3
  461. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +5 -5
  462. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
  463. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +3 -3
  464. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  465. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +3 -3
  466. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +4 -4
  467. package/dist/cjs/atomic-insight-tab.cjs.entry.js +1 -1
  468. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +8 -8
  469. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +1 -1
  470. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +5 -2
  471. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
  472. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -2
  473. package/dist/cjs/atomic-ipx-button.cjs.entry.js +1 -1
  474. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +6 -6
  475. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +2 -2
  476. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +2 -2
  477. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +5 -5
  478. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +1 -1
  479. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -1
  480. package/dist/cjs/atomic-load-more-results.cjs.entry.js +14 -2
  481. package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
  482. package/dist/cjs/atomic-no-results.cjs.entry.js +6 -3
  483. package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
  484. package/dist/cjs/atomic-notifications.cjs.entry.js +1 -1
  485. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +11 -11
  486. package/dist/cjs/atomic-popover.cjs.entry.js +1 -1
  487. package/dist/cjs/atomic-query-error.cjs.entry.js +2 -2
  488. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +9 -6
  489. package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
  490. package/dist/cjs/atomic-quickview.cjs.entry.js +4 -4
  491. package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
  492. package/dist/cjs/atomic-rating-facet.cjs.entry.js +9 -9
  493. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +7 -7
  494. package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -2
  495. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  496. package/dist/cjs/atomic-recs-list.cjs.entry.js +6 -6
  497. package/dist/cjs/atomic-refine-modal.cjs.entry.js +14 -2
  498. package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
  499. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +7 -1
  500. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  501. package/dist/cjs/atomic-result-badge.cjs.entry.js +2 -2
  502. package/dist/cjs/atomic-result-badge.cjs.entry.js.map +1 -1
  503. package/dist/cjs/atomic-result-children.cjs.entry.js +6 -6
  504. package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
  505. package/dist/cjs/atomic-result-date.cjs.entry.js +2 -2
  506. package/dist/cjs/atomic-result-date.cjs.entry.js.map +1 -1
  507. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +3 -3
  508. package/dist/cjs/atomic-result-fields-list.cjs.entry.js.map +1 -1
  509. package/dist/cjs/atomic-result-html.cjs.entry.js +2 -2
  510. package/dist/cjs/atomic-result-html.cjs.entry.js.map +1 -1
  511. package/dist/cjs/atomic-result-icon.cjs.entry.js +2 -2
  512. package/dist/cjs/atomic-result-icon.cjs.entry.js.map +1 -1
  513. package/dist/cjs/atomic-result-image.cjs.entry.js +2 -2
  514. package/dist/cjs/atomic-result-image.cjs.entry.js.map +1 -1
  515. package/dist/cjs/atomic-result-link.cjs.entry.js +5 -5
  516. package/dist/cjs/atomic-result-link.cjs.entry.js.map +1 -1
  517. package/dist/cjs/atomic-result-list.cjs.entry.js +16 -4
  518. package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
  519. package/dist/cjs/atomic-result-localized-text.cjs.entry.js +3 -3
  520. package/dist/cjs/atomic-result-localized-text.cjs.entry.js.map +1 -1
  521. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +2 -2
  522. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js.map +1 -1
  523. package/dist/cjs/atomic-result-number.cjs.entry.js +2 -2
  524. package/dist/cjs/atomic-result-number.cjs.entry.js.map +1 -1
  525. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +3 -3
  526. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js.map +1 -1
  527. package/dist/cjs/atomic-result-rating.cjs.entry.js +3 -3
  528. package/dist/cjs/atomic-result-rating.cjs.entry.js.map +1 -1
  529. package/dist/cjs/atomic-result-text_2.cjs.entry.js +8 -2
  530. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  531. package/dist/cjs/atomic-result-timespan.cjs.entry.js +2 -2
  532. package/dist/cjs/atomic-result-timespan.cjs.entry.js.map +1 -1
  533. package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
  534. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +9 -0
  535. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +1 -1
  536. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +1 -1
  537. package/dist/cjs/atomic-search-box.cjs.entry.js +8 -9
  538. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  539. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +1 -1
  540. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +6 -3
  541. package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
  542. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  543. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js.map +1 -1
  544. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  545. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +3 -3
  546. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +4 -4
  547. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +15 -0
  548. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js.map +1 -1
  549. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +1 -1
  550. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  551. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  552. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +8 -8
  553. package/dist/cjs/{facet-guard-328b588d.js → facet-guard-0e8cbe50.js} +4 -1
  554. package/dist/cjs/facet-guard-0e8cbe50.js.map +1 -0
  555. package/dist/cjs/{facet-placeholder-22074f05.js → facet-placeholder-5beb1e14.js} +12 -3
  556. package/dist/cjs/facet-placeholder-5beb1e14.js.map +1 -0
  557. package/dist/cjs/{generated-answer-common-3c400311.js → generated-answer-common-51e5b253.js} +30 -3
  558. package/dist/cjs/generated-answer-common-51e5b253.js.map +1 -0
  559. package/dist/cjs/index.cjs.js.map +1 -1
  560. package/dist/cjs/{item-list-guard-506b695a.js → item-list-guard-71a3f994.js} +4 -1
  561. package/dist/cjs/item-list-guard-71a3f994.js.map +1 -0
  562. package/dist/cjs/{show-hide-button-c4717f52.js → show-hide-button-cbf030a3.js} +15 -3
  563. package/dist/cjs/show-hide-button-cbf030a3.js.map +1 -0
  564. package/dist/cjs/{smart-snippet-common-1fd0dad5.js → smart-snippet-common-6a18743b.js} +19 -4
  565. package/dist/cjs/smart-snippet-common-6a18743b.js.map +1 -0
  566. package/dist/cjs/{smart-snippet-feedback-modal-common-9721e3c4.js → smart-snippet-feedback-modal-common-6048b7af.js} +23 -2
  567. package/dist/cjs/smart-snippet-feedback-modal-common-6048b7af.js.map +1 -0
  568. package/dist/cjs/{smart-snippet-suggestions-common-024c89b7.js → smart-snippet-suggestions-common-0a7adbfa.js} +21 -3
  569. package/dist/cjs/smart-snippet-suggestions-common-0a7adbfa.js.map +1 -0
  570. package/dist/cjs/{stencil-button-94b89acc.js → stencil-button-62b500e4.js} +2 -2
  571. package/dist/cjs/{stencil-button-94b89acc.js.map → stencil-button-62b500e4.js.map} +1 -1
  572. package/dist/cjs/{stencil-carousel-a8df6f3c.js → stencil-carousel-a605d26f.js} +5 -2
  573. package/dist/cjs/stencil-carousel-a605d26f.js.map +1 -0
  574. package/dist/cjs/{stencil-checkbox-81c51bbd.js → stencil-checkbox-6a2ad8d3.js} +2 -2
  575. package/dist/cjs/stencil-checkbox-6a2ad8d3.js.map +1 -0
  576. package/dist/cjs/{stencil-display-grid-93c5802a.js → stencil-display-grid-1f4e15ba.js} +4 -1
  577. package/dist/cjs/stencil-display-grid-1f4e15ba.js.map +1 -0
  578. package/dist/cjs/{stencil-display-wrapper-498de571.js → stencil-display-wrapper-b5c56fe9.js} +7 -1
  579. package/dist/cjs/stencil-display-wrapper-b5c56fe9.js.map +1 -0
  580. package/dist/cjs/{stencil-facet-search-matches-101e0ede.js → stencil-facet-search-matches-61418287.js} +9 -3
  581. package/dist/cjs/stencil-facet-search-matches-61418287.js.map +1 -0
  582. package/dist/cjs/{stencil-facet-show-more-less-70f4d20d.js → stencil-facet-show-more-less-8da6af80.js} +6 -3
  583. package/dist/cjs/stencil-facet-show-more-less-8da6af80.js.map +1 -0
  584. package/dist/cjs/{stencil-facet-value-box-11aa05dd.js → stencil-facet-value-box-dc7013fa.js} +5 -2
  585. package/dist/cjs/stencil-facet-value-box-dc7013fa.js.map +1 -0
  586. package/dist/cjs/{stencil-facet-value-5957b403.js → stencil-facet-value-c8a1fe99.js} +8 -5
  587. package/dist/cjs/stencil-facet-value-c8a1fe99.js.map +1 -0
  588. package/dist/cjs/{stencil-facet-value-checkbox-fed178ad.js → stencil-facet-value-checkbox-58251c1b.js} +10 -5
  589. package/dist/cjs/stencil-facet-value-checkbox-58251c1b.js.map +1 -0
  590. package/dist/cjs/{stencil-facet-value-label-highlight-c2421e8f.js → stencil-facet-value-label-highlight-16ea0e83.js} +4 -1
  591. package/dist/cjs/stencil-facet-value-label-highlight-16ea0e83.js.map +1 -0
  592. package/dist/cjs/{stencil-facet-value-link-8a095034.js → stencil-facet-value-link-8587369b.js} +5 -2
  593. package/dist/cjs/stencil-facet-value-link-8587369b.js.map +1 -0
  594. package/dist/cjs/{stencil-facet-values-group-07b50fc0.js → stencil-facet-values-group-332a2362.js} +5 -2
  595. package/dist/cjs/stencil-facet-values-group-332a2362.js.map +1 -0
  596. package/dist/cjs/{stencil-fieldset-group-3b25c138.js → stencil-fieldset-group-cc350109.js} +4 -1
  597. package/dist/cjs/stencil-fieldset-group-cc350109.js.map +1 -0
  598. package/dist/cjs/{stencil-heading-2faee1f7.js → stencil-heading-7e57d2eb.js} +2 -2
  599. package/dist/cjs/stencil-heading-7e57d2eb.js.map +1 -0
  600. package/dist/cjs/{stencil-iconButton-738b1548.js → stencil-iconButton-0f5e02fb.js} +5 -2
  601. package/dist/cjs/stencil-iconButton-0f5e02fb.js.map +1 -0
  602. package/dist/cjs/{stencil-item-link-9feaef61.js → stencil-item-link-3f38d5be.js} +4 -1
  603. package/dist/cjs/stencil-item-link-3f38d5be.js.map +1 -0
  604. package/dist/cjs/{stencil-link-9336b8c1.js → stencil-link-e392d9fa.js} +26 -3
  605. package/dist/cjs/stencil-link-e392d9fa.js.map +1 -0
  606. package/dist/cjs/{stencil-magnifying-glass-c1d386a1.js → stencil-magnifying-glass-e09449a3.js} +7 -1
  607. package/dist/cjs/stencil-magnifying-glass-e09449a3.js.map +1 -0
  608. package/dist/cjs/{stencil-modal-9035ea2a.js → stencil-modal-0c2539a2.js} +5 -2
  609. package/dist/cjs/stencil-modal-0c2539a2.js.map +1 -0
  610. package/dist/cjs/{stencil-placeholders-b8c896fa.js → stencil-placeholders-17e73823.js} +7 -1
  611. package/dist/cjs/stencil-placeholders-17e73823.js.map +1 -0
  612. package/dist/cjs/{stencil-query-suggestions-03268ecc.js → stencil-query-suggestions-6c623e4a.js} +13 -1
  613. package/dist/cjs/stencil-query-suggestions-6c623e4a.js.map +1 -0
  614. package/dist/cjs/{stencil-radio-button-ea7e71d3.js → stencil-radio-button-4f4ddc4d.js} +3 -3
  615. package/dist/cjs/stencil-radio-button-4f4ddc4d.js.map +1 -0
  616. package/dist/cjs/{stencil-rating-a40e50dd.js → stencil-rating-2b9b6345.js} +6 -3
  617. package/dist/cjs/stencil-rating-2b9b6345.js.map +1 -0
  618. package/dist/cjs/{result-template-decorators-432d11a9.js → stencil-result-template-decorators-28b05aaf.js} +6 -2
  619. package/dist/cjs/stencil-result-template-decorators-28b05aaf.js.map +1 -0
  620. package/dist/cjs/{stencil-suggestion-manager-88cb88f2.js → stencil-suggestion-manager-df2e5c45.js} +12 -3
  621. package/dist/cjs/stencil-suggestion-manager-df2e5c45.js.map +1 -0
  622. package/dist/cjs/{stencil-tips-e913f891.js → stencil-tips-ecad2e9f.js} +10 -1
  623. package/dist/cjs/stencil-tips-ecad2e9f.js.map +1 -0
  624. package/dist/cjs/{stencil-values-container-d20f9b28.js → stencil-values-container-239826f6.js} +11 -5
  625. package/dist/cjs/stencil-values-container-239826f6.js.map +1 -0
  626. package/dist/cjs/{timeframe-facet-common-4ea96ccb.js → timeframe-facet-common-cbd1b4c6.js} +5 -5
  627. package/dist/cjs/{timeframe-facet-common-4ea96ccb.js.map → timeframe-facet-common-cbd1b4c6.js.map} +1 -1
  628. package/dist/cjs/version.cjs.js +1 -1
  629. package/dist/esm/_index.js +19 -19
  630. package/dist/esm/atomic-automatic-facet_2.entry.js +8 -8
  631. package/dist/esm/atomic-breadbox.entry.js +19 -1
  632. package/dist/esm/atomic-breadbox.entry.js.map +1 -1
  633. package/dist/esm/atomic-category-facet.entry.js +37 -10
  634. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  635. package/dist/esm/atomic-citation.entry.js +2 -2
  636. package/dist/esm/atomic-color-facet.entry.js +12 -9
  637. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  638. package/dist/esm/atomic-did-you-mean.entry.js +12 -1
  639. package/dist/esm/atomic-did-you-mean.entry.js.map +1 -1
  640. package/dist/esm/atomic-facet-number-input.entry.js +1 -1
  641. package/dist/esm/atomic-facet.entry.js +20 -14
  642. package/dist/esm/atomic-facet.entry.js.map +1 -1
  643. package/dist/esm/atomic-field-condition.entry.js +1 -1
  644. package/dist/esm/atomic-field-condition.entry.js.map +1 -1
  645. package/dist/esm/atomic-folded-result-list.entry.js +3 -3
  646. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +4 -4
  647. package/dist/esm/atomic-generated-answer.entry.js +4 -4
  648. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  649. package/dist/esm/atomic-insight-edit-toggle.entry.js +2 -2
  650. package/dist/esm/atomic-insight-facet.entry.js +13 -13
  651. package/dist/esm/atomic-insight-folded-result-list.entry.js +3 -3
  652. package/dist/esm/atomic-insight-full-search-button.entry.js +2 -2
  653. package/dist/esm/atomic-insight-generated-answer.entry.js +4 -4
  654. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  655. package/dist/esm/atomic-insight-history-toggle.entry.js +2 -2
  656. package/dist/esm/atomic-insight-no-results.entry.js +2 -2
  657. package/dist/esm/atomic-insight-numeric-facet.entry.js +11 -11
  658. package/dist/esm/atomic-insight-pager.entry.js +7 -7
  659. package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
  660. package/dist/esm/atomic-insight-query-error.entry.js +2 -2
  661. package/dist/esm/atomic-insight-query-summary.entry.js +9 -0
  662. package/dist/esm/atomic-insight-query-summary.entry.js.map +1 -1
  663. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  664. package/dist/esm/atomic-insight-refine-toggle.entry.js +2 -2
  665. package/dist/esm/atomic-insight-result-action.entry.js +4 -4
  666. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  667. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +4 -4
  668. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  669. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +2 -2
  670. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +1 -1
  671. package/dist/esm/atomic-insight-result-children.entry.js +3 -3
  672. package/dist/esm/atomic-insight-result-list.entry.js +3 -3
  673. package/dist/esm/atomic-insight-result-quickview-action.entry.js +4 -4
  674. package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
  675. package/dist/esm/atomic-insight-search-box.entry.js +3 -3
  676. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  677. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +3 -3
  678. package/dist/esm/atomic-insight-smart-snippet.entry.js +4 -4
  679. package/dist/esm/atomic-insight-tab.entry.js +1 -1
  680. package/dist/esm/atomic-insight-timeframe-facet.entry.js +8 -8
  681. package/dist/esm/atomic-insight-user-actions-modal.entry.js +1 -1
  682. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +5 -2
  683. package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
  684. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -2
  685. package/dist/esm/atomic-ipx-button.entry.js +1 -1
  686. package/dist/esm/atomic-ipx-recs-list.entry.js +6 -6
  687. package/dist/esm/atomic-ipx-refine-modal.entry.js +2 -2
  688. package/dist/esm/atomic-ipx-refine-toggle.entry.js +2 -2
  689. package/dist/esm/atomic-ipx-result-link.entry.js +3 -3
  690. package/dist/esm/atomic-ipx-result-link.entry.js.map +1 -1
  691. package/dist/esm/atomic-ipx-tab.entry.js +1 -1
  692. package/dist/esm/atomic-load-more-results.entry.js +14 -2
  693. package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
  694. package/dist/esm/atomic-no-results.entry.js +6 -3
  695. package/dist/esm/atomic-no-results.entry.js.map +1 -1
  696. package/dist/esm/atomic-notifications.entry.js +1 -1
  697. package/dist/esm/atomic-numeric-facet.entry.js +11 -11
  698. package/dist/esm/atomic-popover.entry.js +1 -1
  699. package/dist/esm/atomic-query-error.entry.js +2 -2
  700. package/dist/esm/atomic-quickview-modal.entry.js +9 -6
  701. package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
  702. package/dist/esm/atomic-quickview.entry.js +3 -3
  703. package/dist/esm/atomic-quickview.entry.js.map +1 -1
  704. package/dist/esm/atomic-rating-facet.entry.js +9 -9
  705. package/dist/esm/atomic-rating-range-facet.entry.js +7 -7
  706. package/dist/esm/atomic-recs-error.entry.js +2 -2
  707. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  708. package/dist/esm/atomic-recs-list.entry.js +6 -6
  709. package/dist/esm/atomic-refine-modal.entry.js +14 -2
  710. package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
  711. package/dist/esm/atomic-refine-toggle.entry.js +7 -1
  712. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  713. package/dist/esm/atomic-result-badge.entry.js +1 -1
  714. package/dist/esm/atomic-result-badge.entry.js.map +1 -1
  715. package/dist/esm/atomic-result-children.entry.js +5 -5
  716. package/dist/esm/atomic-result-children.entry.js.map +1 -1
  717. package/dist/esm/atomic-result-date.entry.js +1 -1
  718. package/dist/esm/atomic-result-date.entry.js.map +1 -1
  719. package/dist/esm/atomic-result-fields-list.entry.js +2 -2
  720. package/dist/esm/atomic-result-fields-list.entry.js.map +1 -1
  721. package/dist/esm/atomic-result-html.entry.js +1 -1
  722. package/dist/esm/atomic-result-html.entry.js.map +1 -1
  723. package/dist/esm/atomic-result-icon.entry.js +1 -1
  724. package/dist/esm/atomic-result-icon.entry.js.map +1 -1
  725. package/dist/esm/atomic-result-image.entry.js +1 -1
  726. package/dist/esm/atomic-result-image.entry.js.map +1 -1
  727. package/dist/esm/atomic-result-link.entry.js +3 -3
  728. package/dist/esm/atomic-result-link.entry.js.map +1 -1
  729. package/dist/esm/atomic-result-list.entry.js +16 -4
  730. package/dist/esm/atomic-result-list.entry.js.map +1 -1
  731. package/dist/esm/atomic-result-localized-text.entry.js +2 -2
  732. package/dist/esm/atomic-result-localized-text.entry.js.map +1 -1
  733. package/dist/esm/atomic-result-multi-value-text.entry.js +1 -1
  734. package/dist/esm/atomic-result-multi-value-text.entry.js.map +1 -1
  735. package/dist/esm/atomic-result-number.entry.js +1 -1
  736. package/dist/esm/atomic-result-number.entry.js.map +1 -1
  737. package/dist/esm/atomic-result-printable-uri.entry.js +2 -2
  738. package/dist/esm/atomic-result-printable-uri.entry.js.map +1 -1
  739. package/dist/esm/atomic-result-rating.entry.js +2 -2
  740. package/dist/esm/atomic-result-rating.entry.js.map +1 -1
  741. package/dist/esm/atomic-result-text_2.entry.js +7 -1
  742. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  743. package/dist/esm/atomic-result-timespan.entry.js +1 -1
  744. package/dist/esm/atomic-result-timespan.entry.js.map +1 -1
  745. package/dist/esm/atomic-result.entry.js.map +1 -1
  746. package/dist/esm/atomic-search-box-instant-results.entry.js +9 -0
  747. package/dist/esm/atomic-search-box-instant-results.entry.js.map +1 -1
  748. package/dist/esm/atomic-search-box-query-suggestions.entry.js +1 -1
  749. package/dist/esm/atomic-search-box.entry.js +8 -9
  750. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  751. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +1 -1
  752. package/dist/esm/atomic-segmented-facet.entry.js +6 -3
  753. package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
  754. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  755. package/dist/esm/atomic-smart-snippet-answer_2.entry.js.map +1 -1
  756. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  757. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +3 -3
  758. package/dist/esm/atomic-smart-snippet.entry.js +4 -4
  759. package/dist/esm/atomic-sort-dropdown.entry.js +15 -0
  760. package/dist/esm/atomic-sort-dropdown.entry.js.map +1 -1
  761. package/dist/esm/atomic-stencil-facet-date-input.entry.js +1 -1
  762. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  763. package/dist/esm/atomic-tab-button.entry.js +1 -1
  764. package/dist/esm/atomic-timeframe-facet.entry.js +8 -8
  765. package/dist/esm/{facet-guard-4b795e90.js → facet-guard-3bb4a306.js} +4 -1
  766. package/dist/esm/facet-guard-3bb4a306.js.map +1 -0
  767. package/dist/esm/{facet-placeholder-4959a92a.js → facet-placeholder-a4a46474.js} +12 -3
  768. package/dist/esm/facet-placeholder-a4a46474.js.map +1 -0
  769. package/dist/esm/{generated-answer-common-9d0c5ada.js → generated-answer-common-d5cc6e86.js} +30 -3
  770. package/dist/esm/generated-answer-common-d5cc6e86.js.map +1 -0
  771. package/dist/esm/index.js.map +1 -1
  772. package/dist/esm/{item-list-guard-22b0711a.js → item-list-guard-8cd62b09.js} +4 -1
  773. package/dist/esm/item-list-guard-8cd62b09.js.map +1 -0
  774. package/dist/esm/{show-hide-button-35eb419d.js → show-hide-button-8ed8d405.js} +15 -3
  775. package/dist/esm/show-hide-button-8ed8d405.js.map +1 -0
  776. package/dist/esm/{smart-snippet-common-5ed4bdfa.js → smart-snippet-common-f2a5e84f.js} +19 -4
  777. package/dist/esm/smart-snippet-common-f2a5e84f.js.map +1 -0
  778. package/dist/esm/{smart-snippet-feedback-modal-common-835aa607.js → smart-snippet-feedback-modal-common-63373ffc.js} +23 -2
  779. package/dist/esm/smart-snippet-feedback-modal-common-63373ffc.js.map +1 -0
  780. package/dist/esm/{smart-snippet-suggestions-common-10bd1697.js → smart-snippet-suggestions-common-eff6fbfa.js} +21 -3
  781. package/dist/esm/smart-snippet-suggestions-common-eff6fbfa.js.map +1 -0
  782. package/dist/esm/{stencil-button-1a29a5df.js → stencil-button-e72b213d.js} +2 -2
  783. package/dist/esm/{stencil-button-1a29a5df.js.map → stencil-button-e72b213d.js.map} +1 -1
  784. package/dist/esm/{stencil-carousel-e1f25f7c.js → stencil-carousel-ae19a5d0.js} +5 -2
  785. package/dist/esm/stencil-carousel-ae19a5d0.js.map +1 -0
  786. package/dist/esm/{stencil-checkbox-9d8fe5f6.js → stencil-checkbox-d165d303.js} +2 -2
  787. package/dist/esm/stencil-checkbox-d165d303.js.map +1 -0
  788. package/dist/esm/{stencil-display-grid-b9eb7397.js → stencil-display-grid-ebbdd169.js} +4 -1
  789. package/dist/esm/stencil-display-grid-ebbdd169.js.map +1 -0
  790. package/dist/esm/{stencil-display-wrapper-5b32e77c.js → stencil-display-wrapper-8cb4e48e.js} +7 -1
  791. package/dist/esm/stencil-display-wrapper-8cb4e48e.js.map +1 -0
  792. package/dist/esm/{stencil-facet-search-matches-872d94d2.js → stencil-facet-search-matches-b639b93f.js} +9 -3
  793. package/dist/esm/stencil-facet-search-matches-b639b93f.js.map +1 -0
  794. package/dist/esm/{stencil-facet-show-more-less-e575f20f.js → stencil-facet-show-more-less-4932bd9f.js} +6 -3
  795. package/dist/esm/stencil-facet-show-more-less-4932bd9f.js.map +1 -0
  796. package/dist/esm/{stencil-facet-value-9deafe8e.js → stencil-facet-value-6e80b694.js} +8 -5
  797. package/dist/esm/stencil-facet-value-6e80b694.js.map +1 -0
  798. package/dist/esm/{stencil-facet-value-box-b0dc7e73.js → stencil-facet-value-box-b26edef5.js} +5 -2
  799. package/dist/esm/stencil-facet-value-box-b26edef5.js.map +1 -0
  800. package/dist/esm/{stencil-facet-value-checkbox-c0df7c4e.js → stencil-facet-value-checkbox-f9dbff9d.js} +10 -5
  801. package/dist/esm/stencil-facet-value-checkbox-f9dbff9d.js.map +1 -0
  802. package/dist/esm/{stencil-facet-value-label-highlight-b4083ffd.js → stencil-facet-value-label-highlight-f4518687.js} +4 -1
  803. package/dist/esm/stencil-facet-value-label-highlight-f4518687.js.map +1 -0
  804. package/dist/esm/{stencil-facet-value-link-88512e29.js → stencil-facet-value-link-bef908e3.js} +5 -2
  805. package/dist/esm/stencil-facet-value-link-bef908e3.js.map +1 -0
  806. package/dist/esm/{stencil-facet-values-group-1108573d.js → stencil-facet-values-group-fefc8abb.js} +5 -2
  807. package/dist/esm/stencil-facet-values-group-fefc8abb.js.map +1 -0
  808. package/dist/esm/{stencil-fieldset-group-5fa357cd.js → stencil-fieldset-group-e02988dc.js} +4 -1
  809. package/dist/esm/stencil-fieldset-group-e02988dc.js.map +1 -0
  810. package/dist/esm/{stencil-heading-2b28a9b9.js → stencil-heading-c701a05a.js} +2 -2
  811. package/dist/esm/stencil-heading-c701a05a.js.map +1 -0
  812. package/dist/esm/{stencil-iconButton-ba40899c.js → stencil-iconButton-b4568792.js} +5 -2
  813. package/dist/esm/stencil-iconButton-b4568792.js.map +1 -0
  814. package/dist/esm/{stencil-item-link-5a3f8f23.js → stencil-item-link-0183987b.js} +4 -1
  815. package/dist/esm/stencil-item-link-0183987b.js.map +1 -0
  816. package/dist/esm/{stencil-link-b676e261.js → stencil-link-78fd0a0d.js} +26 -3
  817. package/dist/esm/stencil-link-78fd0a0d.js.map +1 -0
  818. package/dist/esm/{stencil-magnifying-glass-041294b6.js → stencil-magnifying-glass-f6e9c08b.js} +7 -1
  819. package/dist/esm/stencil-magnifying-glass-f6e9c08b.js.map +1 -0
  820. package/dist/esm/{stencil-modal-467f7f33.js → stencil-modal-47c54d0e.js} +5 -2
  821. package/dist/esm/stencil-modal-47c54d0e.js.map +1 -0
  822. package/dist/esm/{stencil-placeholders-58a0c818.js → stencil-placeholders-43360a82.js} +7 -1
  823. package/dist/esm/stencil-placeholders-43360a82.js.map +1 -0
  824. package/dist/esm/{stencil-query-suggestions-5d6a46d7.js → stencil-query-suggestions-4810c05e.js} +13 -1
  825. package/dist/esm/stencil-query-suggestions-4810c05e.js.map +1 -0
  826. package/dist/esm/{stencil-radio-button-cae5f40a.js → stencil-radio-button-a5c62a36.js} +3 -3
  827. package/dist/esm/stencil-radio-button-a5c62a36.js.map +1 -0
  828. package/dist/esm/{stencil-rating-2d6963a3.js → stencil-rating-8e6bcc27.js} +6 -3
  829. package/dist/esm/stencil-rating-8e6bcc27.js.map +1 -0
  830. package/dist/esm/{result-template-decorators-2ed76ea9.js → stencil-result-template-decorators-f989bc6b.js} +6 -2
  831. package/dist/esm/stencil-result-template-decorators-f989bc6b.js.map +1 -0
  832. package/dist/esm/{stencil-suggestion-manager-1f4ed8d0.js → stencil-suggestion-manager-b192ac22.js} +12 -3
  833. package/dist/esm/stencil-suggestion-manager-b192ac22.js.map +1 -0
  834. package/dist/esm/{stencil-tips-be95482d.js → stencil-tips-3b4426a3.js} +10 -1
  835. package/dist/esm/stencil-tips-3b4426a3.js.map +1 -0
  836. package/dist/esm/{stencil-values-container-9b9cd73f.js → stencil-values-container-6a1e9ed6.js} +11 -5
  837. package/dist/esm/stencil-values-container-6a1e9ed6.js.map +1 -0
  838. package/dist/esm/{timeframe-facet-common-55fc72f3.js → timeframe-facet-common-cee99a11.js} +5 -5
  839. package/dist/esm/{timeframe-facet-common-55fc72f3.js.map → timeframe-facet-common-cee99a11.js.map} +1 -1
  840. package/dist/esm/version.js +1 -1
  841. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +0 -2
  842. package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +0 -1
  843. package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +0 -2
  844. package/dist/types/components/commerce/atomic-product/atomic-product.d.ts +1 -1
  845. package/dist/types/components/commerce/product-template-component-utils/context/fetch-product-context.d.ts +12 -0
  846. package/dist/types/components/commerce/product-template-component-utils/context/interactive-product-context-controller.d.ts +27 -0
  847. package/dist/types/components/commerce/product-template-component-utils/context/product-context-controller.d.ts +33 -0
  848. package/dist/types/components/commerce/product-template-component-utils/{stencil-product-template-decorators.d.ts → context/stencil-product-template-decorators.d.ts} +1 -1
  849. package/dist/types/components/common/atomic-rating/stencil-rating.d.ts +5 -2
  850. package/dist/types/components/common/atomic-result-placeholder/stencil-placeholders.d.ts +6 -0
  851. package/dist/types/components/common/breadbox/breadcrumb-button.d.ts +0 -2
  852. package/dist/types/components/common/breadbox/stencil-breadcrumb-button.d.ts +5 -1
  853. package/dist/types/components/common/breadbox/stencil-breadcrumb-clear-all.d.ts +5 -1
  854. package/dist/types/components/common/breadbox/stencil-breadcrumb-container.d.ts +5 -1
  855. package/dist/types/components/common/breadbox/stencil-breadcrumb-content.d.ts +5 -1
  856. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-less.d.ts +5 -1
  857. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-more.d.ts +5 -1
  858. package/dist/types/components/common/facets/category-facet/stencil-child-value-link.d.ts +3 -0
  859. package/dist/types/components/common/facets/category-facet/stencil-children-as-tree-container.d.ts +3 -0
  860. package/dist/types/components/common/facets/category-facet/stencil-parent-as-tree-container.d.ts +5 -1
  861. package/dist/types/components/common/facets/category-facet/stencil-parent-button.d.ts +3 -0
  862. package/dist/types/components/common/facets/category-facet/stencil-parent-value-link.d.ts +3 -0
  863. package/dist/types/components/common/facets/category-facet/stencil-search-results-container.d.ts +3 -0
  864. package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +3 -0
  865. package/dist/types/components/common/facets/category-facet/stencil-value-as-tree-container.d.ts +3 -0
  866. package/dist/types/components/common/facets/category-facet/stencil-value-link.d.ts +6 -0
  867. package/dist/types/components/common/facets/facet-container/stencil-facet-container.d.ts +3 -0
  868. package/dist/types/components/common/facets/facet-guard.d.ts +3 -0
  869. package/dist/types/components/common/facets/facet-header/stencil-facet-header.d.ts +5 -1
  870. package/dist/types/components/common/facets/facet-placeholder/facet-placeholder.d.ts +5 -1
  871. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input-guard.d.ts +3 -0
  872. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input.d.ts +3 -0
  873. package/dist/types/components/common/facets/facet-search/stencil-facet-search-matches.d.ts +3 -0
  874. package/dist/types/components/common/facets/facet-search/stencil-facet-search-value.d.ts +3 -0
  875. package/dist/types/components/common/facets/facet-show-more-less/stencil-facet-show-more-less.d.ts +3 -0
  876. package/dist/types/components/common/facets/facet-value/stencil-facet-value.d.ts +6 -0
  877. package/dist/types/components/common/facets/facet-value-box/stencil-facet-value-box.d.ts +3 -0
  878. package/dist/types/components/common/facets/facet-value-checkbox/stencil-facet-value-checkbox.d.ts +3 -0
  879. package/dist/types/components/common/facets/facet-value-exclude/stencil-facet-value-exclude.d.ts +5 -1
  880. package/dist/types/components/common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight.d.ts +3 -0
  881. package/dist/types/components/common/facets/facet-value-link/stencil-facet-value-link.d.ts +5 -1
  882. package/dist/types/components/common/facets/facet-values-group/stencil-facet-values-group.d.ts +5 -1
  883. package/dist/types/components/common/facets/numeric-facet/stencil-value-link.d.ts +3 -0
  884. package/dist/types/components/common/facets/numeric-facet/stencil-values-container.d.ts +3 -0
  885. package/dist/types/components/common/generated-answer/copy-button.d.ts +3 -0
  886. package/dist/types/components/common/generated-answer/feedback-button.d.ts +3 -0
  887. package/dist/types/components/common/generated-answer/generated-content/generated-markdown-content.d.ts +3 -0
  888. package/dist/types/components/common/generated-answer/generated-content/generated-text-content.d.ts +3 -0
  889. package/dist/types/components/common/generated-answer/generated-content-container.d.ts +3 -0
  890. package/dist/types/components/common/generated-answer/retry-prompt.d.ts +3 -0
  891. package/dist/types/components/common/generated-answer/show-button.d.ts +3 -0
  892. package/dist/types/components/common/generated-answer/source-citations.d.ts +3 -0
  893. package/dist/types/components/common/item-link/stencil-item-link.d.ts +4 -1
  894. package/dist/types/components/common/item-list/item-display-guard.d.ts +5 -1
  895. package/dist/types/components/common/item-list/item-list-guard.d.ts +5 -1
  896. package/dist/types/components/common/item-list/stencil-display-grid.d.ts +5 -1
  897. package/dist/types/components/common/item-list/stencil-display-table.d.ts +12 -3
  898. package/dist/types/components/common/item-list/stencil-display-wrapper.d.ts +5 -1
  899. package/dist/types/components/common/item-text/stencil-item-text-fallback.d.ts +5 -1
  900. package/dist/types/components/common/item-text/stencil-item-text-highlighted.d.ts +5 -1
  901. package/dist/types/components/common/load-more/guard.d.ts +5 -1
  902. package/dist/types/components/common/load-more/stencil-button.d.ts +1 -4
  903. package/dist/types/components/common/load-more/stencil-container.d.ts +3 -0
  904. package/dist/types/components/common/load-more/stencil-progress-bar.d.ts +3 -0
  905. package/dist/types/components/common/load-more/stencil-summary.d.ts +3 -0
  906. package/dist/types/components/common/no-items/cancel.d.ts +3 -0
  907. package/dist/types/components/common/no-items/stencil-container.d.ts +3 -0
  908. package/dist/types/components/common/no-items/stencil-guard.d.ts +3 -0
  909. package/dist/types/components/common/no-items/stencil-magnifying-glass.d.ts +3 -0
  910. package/dist/types/components/common/no-items/stencil-no-items.d.ts +3 -0
  911. package/dist/types/components/common/no-items/stencil-tips.d.ts +3 -0
  912. package/dist/types/components/common/pager/stencil-pager-buttons.d.ts +8 -16
  913. package/dist/types/components/common/pager/stencil-pager-navigation.d.ts +3 -5
  914. package/dist/types/components/common/query-correction/stencil-auto-correction.d.ts +3 -0
  915. package/dist/types/components/common/query-correction/stencil-correction.d.ts +3 -0
  916. package/dist/types/components/common/query-correction/stencil-guard.d.ts +3 -0
  917. package/dist/types/components/common/query-correction/stencil-trigger-correction.d.ts +3 -0
  918. package/dist/types/components/common/query-error/stencil-container.d.ts +3 -0
  919. package/dist/types/components/common/query-error/stencil-description.d.ts +3 -0
  920. package/dist/types/components/common/query-error/stencil-details.d.ts +3 -0
  921. package/dist/types/components/common/query-error/stencil-guard.d.ts +3 -0
  922. package/dist/types/components/common/query-error/stencil-icon.d.ts +3 -0
  923. package/dist/types/components/common/query-error/stencil-link.d.ts +3 -0
  924. package/dist/types/components/common/query-error/stencil-show-more.d.ts +3 -0
  925. package/dist/types/components/common/query-error/stencil-title.d.ts +3 -0
  926. package/dist/types/components/common/query-summary/stencil-container.d.ts +3 -0
  927. package/dist/types/components/common/query-summary/stencil-guard.d.ts +3 -0
  928. package/dist/types/components/common/query-summary/stencil-utils.d.ts +3 -10
  929. package/dist/types/components/common/refine-modal/stencil-body.d.ts +3 -0
  930. package/dist/types/components/common/refine-modal/stencil-button.d.ts +3 -0
  931. package/dist/types/components/common/refine-modal/stencil-filters.d.ts +6 -0
  932. package/dist/types/components/common/refine-modal/stencil-guard.d.ts +3 -0
  933. package/dist/types/components/common/refine-modal/stencil-modal.d.ts +3 -0
  934. package/dist/types/components/common/refine-modal/stencil-sort.d.ts +3 -0
  935. package/dist/types/components/common/result-children/children-wrapper.d.ts +3 -0
  936. package/dist/types/components/common/result-children/collection-guard.d.ts +3 -0
  937. package/dist/types/components/common/result-children/guard.d.ts +3 -0
  938. package/dist/types/components/common/result-children/show-hide-button.d.ts +3 -0
  939. package/dist/types/components/common/search-box/stencil-search-box-wrapper.d.ts +3 -0
  940. package/dist/types/components/common/search-box/stencil-search-text-area.d.ts +3 -0
  941. package/dist/types/components/common/search-box/stencil-submit-button.d.ts +3 -0
  942. package/dist/types/components/common/search-box/stencil-text-area-clear-button.d.ts +3 -0
  943. package/dist/types/components/common/smart-snippets/atomic-smart-snippet/smart-snippet-common.d.ts +16 -6
  944. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-banner.d.ts +3 -0
  945. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-modal/smart-snippet-feedback-modal-common.d.ts +21 -0
  946. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-source.d.ts +1 -1
  947. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-suggestions/smart-snippet-suggestions-common.d.ts +18 -0
  948. package/dist/types/components/common/sort/container.d.ts +3 -0
  949. package/dist/types/components/common/sort/stencil-guard.d.ts +3 -0
  950. package/dist/types/components/common/sort/stencil-label.d.ts +3 -0
  951. package/dist/types/components/common/sort/stencil-option.d.ts +5 -1
  952. package/dist/types/components/common/sort/stencil-select.d.ts +3 -0
  953. package/dist/types/components/common/stencil-button.d.ts +2 -2
  954. package/dist/types/components/common/stencil-carousel.d.ts +5 -1
  955. package/dist/types/components/common/stencil-checkbox.d.ts +2 -2
  956. package/dist/types/components/common/stencil-fieldset-group.d.ts +5 -1
  957. package/dist/types/components/common/stencil-heading.d.ts +1 -1
  958. package/dist/types/components/common/stencil-iconButton.d.ts +5 -1
  959. package/dist/types/components/common/stencil-radio-button.d.ts +2 -2
  960. package/dist/types/components/common/stencil-triStateCheckbox.d.ts +3 -3
  961. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +9 -0
  962. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +12 -0
  963. package/dist/types/components/common/switch.d.ts +5 -1
  964. package/dist/types/components/common/tabs/tab-guard.d.ts +3 -0
  965. package/dist/types/components/insight/user-actions/atomic-insight-user-actions-session/user-action.d.ts +3 -0
  966. package/dist/types/components/search/atomic-result/atomic-result.d.ts +1 -1
  967. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +0 -1
  968. package/dist/types/components/search/facets/color-facet-checkbox/color-facet-checkbox.d.ts +3 -0
  969. package/dist/types/components/search/facets/facet-segmented-value/facet-segmented-value.d.ts +3 -0
  970. package/dist/types/components/search/result-template-component-utils/context/fetch-result-context.d.ts +8 -0
  971. package/dist/types/components/search/result-template-component-utils/context/interactive-result-context-controller.d.ts +12 -0
  972. package/dist/types/components/search/result-template-component-utils/context/result-context-controller.d.ts +18 -0
  973. package/dist/types/components/search/{result-template-components/result-template-decorators.d.ts → result-template-component-utils/context/stencil-result-template-decorators.d.ts} +6 -2
  974. package/dist/types/components/search/result-template-components/atomic-quickview-sidebar/atomic-quickview-sidebar.d.ts +2 -1
  975. package/dist/types/components/search/result-template-components/quickview-iframe/quickview-iframe.d.ts +3 -0
  976. package/dist/types/directives/hierarchical-path.d.ts +1 -1
  977. package/dist/types/index.d.ts +3 -3
  978. package/docs/atomic-docs.json +1 -1
  979. package/package.json +1 -1
  980. package/dist/atomic/components/components/common/item-list/fetch-item-context.js +0 -15
  981. package/dist/atomic/components/decorators/commerce/product-template-decorators.js +0 -68
  982. package/dist/atomic/components/result-template-decorators.js.map +0 -1
  983. package/dist/atomic/p-037eee11.js.map +0 -1
  984. package/dist/atomic/p-0535b93d.entry.js.map +0 -1
  985. package/dist/atomic/p-15547bd5.entry.js.map +0 -1
  986. package/dist/atomic/p-182f9112.entry.js.map +0 -1
  987. package/dist/atomic/p-18684d4c.js.map +0 -1
  988. package/dist/atomic/p-187193bb.js.map +0 -1
  989. package/dist/atomic/p-190ddaca.entry.js.map +0 -1
  990. package/dist/atomic/p-1f059522.js.map +0 -1
  991. package/dist/atomic/p-1ff7a9da.entry.js.map +0 -1
  992. package/dist/atomic/p-20cbcfb9.js.map +0 -1
  993. package/dist/atomic/p-2559747d.js +0 -2
  994. package/dist/atomic/p-2559747d.js.map +0 -1
  995. package/dist/atomic/p-2a02812b.js +0 -2
  996. package/dist/atomic/p-2a02812b.js.map +0 -1
  997. package/dist/atomic/p-2c6f895f.js.map +0 -1
  998. package/dist/atomic/p-2f517a54.entry.js.map +0 -1
  999. package/dist/atomic/p-307e7fd5.js.map +0 -1
  1000. package/dist/atomic/p-3bd8469f.entry.js.map +0 -1
  1001. package/dist/atomic/p-4069d801.entry.js.map +0 -1
  1002. package/dist/atomic/p-448091f7.entry.js.map +0 -1
  1003. package/dist/atomic/p-4b1dc787.js.map +0 -1
  1004. package/dist/atomic/p-4cb91ee7.entry.js.map +0 -1
  1005. package/dist/atomic/p-57049cd2.entry.js.map +0 -1
  1006. package/dist/atomic/p-5a2ef889.js +0 -2
  1007. package/dist/atomic/p-5c73ebc4.js.map +0 -1
  1008. package/dist/atomic/p-5cab535b.entry.js.map +0 -1
  1009. package/dist/atomic/p-5d0a3045.js.map +0 -1
  1010. package/dist/atomic/p-60498b8e.js +0 -2
  1011. package/dist/atomic/p-60498b8e.js.map +0 -1
  1012. package/dist/atomic/p-6439156c.entry.js.map +0 -1
  1013. package/dist/atomic/p-66166975.entry.js.map +0 -1
  1014. package/dist/atomic/p-66d48d1a.js.map +0 -1
  1015. package/dist/atomic/p-74862002.js.map +0 -1
  1016. package/dist/atomic/p-78427c6a.entry.js.map +0 -1
  1017. package/dist/atomic/p-7cb0050f.js.map +0 -1
  1018. package/dist/atomic/p-7da7b187.js.map +0 -1
  1019. package/dist/atomic/p-81bdbd07.entry.js.map +0 -1
  1020. package/dist/atomic/p-82398f4a.js.map +0 -1
  1021. package/dist/atomic/p-851b9735.entry.js.map +0 -1
  1022. package/dist/atomic/p-852cc16d.entry.js.map +0 -1
  1023. package/dist/atomic/p-8a488991.js.map +0 -1
  1024. package/dist/atomic/p-8b0d881e.entry.js.map +0 -1
  1025. package/dist/atomic/p-8d5228da.entry.js.map +0 -1
  1026. package/dist/atomic/p-8e5e00b4.js.map +0 -1
  1027. package/dist/atomic/p-945ddd53.entry.js.map +0 -1
  1028. package/dist/atomic/p-955092ed.entry.js.map +0 -1
  1029. package/dist/atomic/p-9e6462cf.entry.js.map +0 -1
  1030. package/dist/atomic/p-a1798150.entry.js.map +0 -1
  1031. package/dist/atomic/p-a428960a.js.map +0 -1
  1032. package/dist/atomic/p-a5bac939.js.map +0 -1
  1033. package/dist/atomic/p-af93b44c.js.map +0 -1
  1034. package/dist/atomic/p-b3f6561d.entry.js.map +0 -1
  1035. package/dist/atomic/p-b628ed03.entry.js.map +0 -1
  1036. package/dist/atomic/p-b93ccff9.js.map +0 -1
  1037. package/dist/atomic/p-baff6c43.js.map +0 -1
  1038. package/dist/atomic/p-bd01acd5.entry.js.map +0 -1
  1039. package/dist/atomic/p-bd2703e9.js.map +0 -1
  1040. package/dist/atomic/p-be5d3c54.js.map +0 -1
  1041. package/dist/atomic/p-c2a5dac0.entry.js.map +0 -1
  1042. package/dist/atomic/p-c5164dbf.entry.js.map +0 -1
  1043. package/dist/atomic/p-c619df9b.js.map +0 -1
  1044. package/dist/atomic/p-ca37969c.js +0 -2
  1045. package/dist/atomic/p-ca37969c.js.map +0 -1
  1046. package/dist/atomic/p-d2e8a2d4.js.map +0 -1
  1047. package/dist/atomic/p-dbc09018.js.map +0 -1
  1048. package/dist/atomic/p-dea22a8d.entry.js.map +0 -1
  1049. package/dist/atomic/p-df8d38ca.entry.js.map +0 -1
  1050. package/dist/atomic/p-e49ad083.entry.js.map +0 -1
  1051. package/dist/atomic/p-e6dc9de7.entry.js.map +0 -1
  1052. package/dist/atomic/p-e988f378.js.map +0 -1
  1053. package/dist/atomic/p-e9dc8e90.entry.js.map +0 -1
  1054. package/dist/atomic/p-ef78082a.js.map +0 -1
  1055. package/dist/atomic/p-f0c657f4.entry.js.map +0 -1
  1056. package/dist/atomic/p-f8b608ba.js.map +0 -1
  1057. package/dist/cjs/facet-guard-328b588d.js.map +0 -1
  1058. package/dist/cjs/facet-placeholder-22074f05.js.map +0 -1
  1059. package/dist/cjs/generated-answer-common-3c400311.js.map +0 -1
  1060. package/dist/cjs/item-list-guard-506b695a.js.map +0 -1
  1061. package/dist/cjs/result-template-decorators-432d11a9.js.map +0 -1
  1062. package/dist/cjs/show-hide-button-c4717f52.js.map +0 -1
  1063. package/dist/cjs/smart-snippet-common-1fd0dad5.js.map +0 -1
  1064. package/dist/cjs/smart-snippet-feedback-modal-common-9721e3c4.js.map +0 -1
  1065. package/dist/cjs/smart-snippet-suggestions-common-024c89b7.js.map +0 -1
  1066. package/dist/cjs/stencil-carousel-a8df6f3c.js.map +0 -1
  1067. package/dist/cjs/stencil-checkbox-81c51bbd.js.map +0 -1
  1068. package/dist/cjs/stencil-display-grid-93c5802a.js.map +0 -1
  1069. package/dist/cjs/stencil-display-wrapper-498de571.js.map +0 -1
  1070. package/dist/cjs/stencil-facet-search-matches-101e0ede.js.map +0 -1
  1071. package/dist/cjs/stencil-facet-show-more-less-70f4d20d.js.map +0 -1
  1072. package/dist/cjs/stencil-facet-value-5957b403.js.map +0 -1
  1073. package/dist/cjs/stencil-facet-value-box-11aa05dd.js.map +0 -1
  1074. package/dist/cjs/stencil-facet-value-checkbox-fed178ad.js.map +0 -1
  1075. package/dist/cjs/stencil-facet-value-label-highlight-c2421e8f.js.map +0 -1
  1076. package/dist/cjs/stencil-facet-value-link-8a095034.js.map +0 -1
  1077. package/dist/cjs/stencil-facet-values-group-07b50fc0.js.map +0 -1
  1078. package/dist/cjs/stencil-fieldset-group-3b25c138.js.map +0 -1
  1079. package/dist/cjs/stencil-heading-2faee1f7.js.map +0 -1
  1080. package/dist/cjs/stencil-iconButton-738b1548.js.map +0 -1
  1081. package/dist/cjs/stencil-item-link-9feaef61.js.map +0 -1
  1082. package/dist/cjs/stencil-link-9336b8c1.js.map +0 -1
  1083. package/dist/cjs/stencil-magnifying-glass-c1d386a1.js.map +0 -1
  1084. package/dist/cjs/stencil-modal-9035ea2a.js.map +0 -1
  1085. package/dist/cjs/stencil-placeholders-b8c896fa.js.map +0 -1
  1086. package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +0 -1
  1087. package/dist/cjs/stencil-radio-button-ea7e71d3.js.map +0 -1
  1088. package/dist/cjs/stencil-rating-a40e50dd.js.map +0 -1
  1089. package/dist/cjs/stencil-suggestion-manager-88cb88f2.js.map +0 -1
  1090. package/dist/cjs/stencil-tips-e913f891.js.map +0 -1
  1091. package/dist/cjs/stencil-values-container-d20f9b28.js.map +0 -1
  1092. package/dist/esm/facet-guard-4b795e90.js.map +0 -1
  1093. package/dist/esm/facet-placeholder-4959a92a.js.map +0 -1
  1094. package/dist/esm/generated-answer-common-9d0c5ada.js.map +0 -1
  1095. package/dist/esm/item-list-guard-22b0711a.js.map +0 -1
  1096. package/dist/esm/result-template-decorators-2ed76ea9.js.map +0 -1
  1097. package/dist/esm/show-hide-button-35eb419d.js.map +0 -1
  1098. package/dist/esm/smart-snippet-common-5ed4bdfa.js.map +0 -1
  1099. package/dist/esm/smart-snippet-feedback-modal-common-835aa607.js.map +0 -1
  1100. package/dist/esm/smart-snippet-suggestions-common-10bd1697.js.map +0 -1
  1101. package/dist/esm/stencil-carousel-e1f25f7c.js.map +0 -1
  1102. package/dist/esm/stencil-checkbox-9d8fe5f6.js.map +0 -1
  1103. package/dist/esm/stencil-display-grid-b9eb7397.js.map +0 -1
  1104. package/dist/esm/stencil-display-wrapper-5b32e77c.js.map +0 -1
  1105. package/dist/esm/stencil-facet-search-matches-872d94d2.js.map +0 -1
  1106. package/dist/esm/stencil-facet-show-more-less-e575f20f.js.map +0 -1
  1107. package/dist/esm/stencil-facet-value-9deafe8e.js.map +0 -1
  1108. package/dist/esm/stencil-facet-value-box-b0dc7e73.js.map +0 -1
  1109. package/dist/esm/stencil-facet-value-checkbox-c0df7c4e.js.map +0 -1
  1110. package/dist/esm/stencil-facet-value-label-highlight-b4083ffd.js.map +0 -1
  1111. package/dist/esm/stencil-facet-value-link-88512e29.js.map +0 -1
  1112. package/dist/esm/stencil-facet-values-group-1108573d.js.map +0 -1
  1113. package/dist/esm/stencil-fieldset-group-5fa357cd.js.map +0 -1
  1114. package/dist/esm/stencil-heading-2b28a9b9.js.map +0 -1
  1115. package/dist/esm/stencil-iconButton-ba40899c.js.map +0 -1
  1116. package/dist/esm/stencil-item-link-5a3f8f23.js.map +0 -1
  1117. package/dist/esm/stencil-link-b676e261.js.map +0 -1
  1118. package/dist/esm/stencil-magnifying-glass-041294b6.js.map +0 -1
  1119. package/dist/esm/stencil-modal-467f7f33.js.map +0 -1
  1120. package/dist/esm/stencil-placeholders-58a0c818.js.map +0 -1
  1121. package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +0 -1
  1122. package/dist/esm/stencil-radio-button-cae5f40a.js.map +0 -1
  1123. package/dist/esm/stencil-rating-2d6963a3.js.map +0 -1
  1124. package/dist/esm/stencil-suggestion-manager-1f4ed8d0.js.map +0 -1
  1125. package/dist/esm/stencil-tips-be95482d.js.map +0 -1
  1126. package/dist/esm/stencil-values-container-9b9cd73f.js.map +0 -1
  1127. package/dist/types/components/common/expandable-text/stencil-expandable-text.d.ts +0 -13
  1128. package/dist/types/components/common/generated-answer/typing-loader.d.ts +0 -2
  1129. package/dist/types/components/common/image-carousel/stencil-image-carousel-indicators.d.ts +0 -12
  1130. package/dist/types/components/common/image-carousel/stencil-image-carousel.d.ts +0 -15
  1131. package/dist/types/components/common/items-per-page/stencil-choices.d.ts +0 -14
  1132. package/dist/types/components/common/items-per-page/stencil-label.d.ts +0 -2
  1133. package/dist/types/components/common/pager/stencil-pager-guard.d.ts +0 -13
  1134. package/dist/types/components/common/suggestions/stencil-recent-queries.d.ts +0 -20
  1135. package/dist/types/decorators/commerce/product-template-decorators.d.ts +0 -68
  1136. /package/dist/atomic/{p-5606819d.entry.js.map → p-039bd7df.entry.js.map} +0 -0
  1137. /package/dist/atomic/{p-22b76c96.entry.js.map → p-13ac0c72.entry.js.map} +0 -0
  1138. /package/dist/atomic/{p-77d00da1.entry.js.map → p-15697c4b.entry.js.map} +0 -0
  1139. /package/dist/atomic/{p-14bad769.entry.js.map → p-1d6d0186.entry.js.map} +0 -0
  1140. /package/dist/atomic/{p-48bab1a6.entry.js.map → p-1f903f31.entry.js.map} +0 -0
  1141. /package/dist/atomic/{p-47b41b27.entry.js.map → p-24bb7b3d.entry.js.map} +0 -0
  1142. /package/dist/atomic/{p-6698d5e9.entry.js.map → p-2e9ecdf5.entry.js.map} +0 -0
  1143. /package/dist/atomic/{p-76c14d82.entry.js.map → p-32544f8a.entry.js.map} +0 -0
  1144. /package/dist/atomic/{p-a6dde0f6.entry.js.map → p-390deb3d.entry.js.map} +0 -0
  1145. /package/dist/atomic/{p-2f437b47.entry.js.map → p-3b632123.entry.js.map} +0 -0
  1146. /package/dist/atomic/{p-3a01a398.entry.js.map → p-43fc38fb.entry.js.map} +0 -0
  1147. /package/dist/atomic/{p-dd24c66a.entry.js.map → p-443f3422.entry.js.map} +0 -0
  1148. /package/dist/atomic/{p-b29d121c.js.map → p-4651cceb.js.map} +0 -0
  1149. /package/dist/atomic/{p-400c28b6.entry.js.map → p-498771d3.entry.js.map} +0 -0
  1150. /package/dist/atomic/{p-558f2191.entry.js.map → p-52878b95.entry.js.map} +0 -0
  1151. /package/dist/atomic/{p-c8190eb9.entry.js.map → p-5a644e15.entry.js.map} +0 -0
  1152. /package/dist/atomic/{p-479cb38a.entry.js.map → p-5d4e9821.entry.js.map} +0 -0
  1153. /package/dist/atomic/{p-b84108f3.entry.js.map → p-6d323b9a.entry.js.map} +0 -0
  1154. /package/dist/atomic/{p-088d634c.entry.js.map → p-733a8082.entry.js.map} +0 -0
  1155. /package/dist/atomic/{p-b1b583a0.entry.js.map → p-74380cbc.entry.js.map} +0 -0
  1156. /package/dist/atomic/{p-35c2ee5f.entry.js.map → p-752f4533.entry.js.map} +0 -0
  1157. /package/dist/atomic/{p-ef8f2239.entry.js.map → p-7afa3c6a.entry.js.map} +0 -0
  1158. /package/dist/atomic/{p-db2d92c5.entry.js.map → p-7b8607e0.entry.js.map} +0 -0
  1159. /package/dist/atomic/{p-7741124a.entry.js.map → p-7c87512d.entry.js.map} +0 -0
  1160. /package/dist/atomic/{p-33245038.entry.js.map → p-86bba9db.entry.js.map} +0 -0
  1161. /package/dist/atomic/{p-318c96f5.entry.js.map → p-9519e656.entry.js.map} +0 -0
  1162. /package/dist/atomic/{p-70747efa.entry.js.map → p-951bdd73.entry.js.map} +0 -0
  1163. /package/dist/atomic/{p-5a83b7e5.entry.js.map → p-99bb5042.entry.js.map} +0 -0
  1164. /package/dist/atomic/{p-fc71835d.entry.js.map → p-99d0c865.entry.js.map} +0 -0
  1165. /package/dist/atomic/{p-80290dd3.entry.js.map → p-9d492524.entry.js.map} +0 -0
  1166. /package/dist/atomic/{p-d0ab0125.entry.js.map → p-b0a20358.entry.js.map} +0 -0
  1167. /package/dist/atomic/{p-0ee7cab8.entry.js.map → p-b0f6a52e.entry.js.map} +0 -0
  1168. /package/dist/atomic/{p-017aa785.entry.js.map → p-b72d3af6.entry.js.map} +0 -0
  1169. /package/dist/atomic/{p-e6871a3f.entry.js.map → p-bef3a536.entry.js.map} +0 -0
  1170. /package/dist/atomic/{p-7fe23afc.entry.js.map → p-bf0a780e.entry.js.map} +0 -0
  1171. /package/dist/atomic/{p-9b2561e8.entry.js.map → p-bfb2e085.entry.js.map} +0 -0
  1172. /package/dist/atomic/{p-f1241140.entry.js.map → p-c0491e26.entry.js.map} +0 -0
  1173. /package/dist/atomic/{p-e276c7e0.entry.js.map → p-c1cd0a45.entry.js.map} +0 -0
  1174. /package/dist/atomic/{p-1910eb7f.entry.js.map → p-c52c9e67.entry.js.map} +0 -0
  1175. /package/dist/atomic/{p-e455330c.entry.js.map → p-cd4394fe.entry.js.map} +0 -0
  1176. /package/dist/atomic/{p-f37dea9e.entry.js.map → p-d5f4597b.entry.js.map} +0 -0
  1177. /package/dist/atomic/{p-7242b46e.entry.js.map → p-e1052201.entry.js.map} +0 -0
  1178. /package/dist/atomic/{p-874f0a4c.entry.js.map → p-e46e05cb.entry.js.map} +0 -0
  1179. /package/dist/atomic/{p-a54f3f24.entry.js.map → p-ee19b388.entry.js.map} +0 -0
  1180. /package/dist/atomic/{p-7045745d.entry.js.map → p-f25c9582.entry.js.map} +0 -0
  1181. /package/dist/atomic/{p-567b2841.entry.js.map → p-f3eaea67.entry.js.map} +0 -0
  1182. /package/dist/atomic/{p-e8176ac8.entry.js.map → p-f77a5952.entry.js.map} +0 -0
  1183. /package/dist/atomic/{p-99d4c4bf.entry.js.map → p-fdaf9f6c.entry.js.map} +0 -0
  1184. /package/dist/atomic/{p-fd1ef9e3.entry.js.map → p-fdd6264f.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["FacetValueLink","props","children","count","numberOfResults","toLocaleString","i18n","language","ariaLabel","t","value","displayValue","formattedCount","interpolation","escapeValue","part","isSelected","additionalPart","h","key","class","Button","style","onClick","ariaPressed","toString","ref","buttonRef","text","subList"],"sources":["src/components/common/facets/facet-value-link/stencil-facet-value-link.tsx"],"sourcesContent":["import {FunctionalComponent, h, VNode} from '@stencil/core';\nimport {Button} from '../../stencil-button';\nimport {FacetValueProps} from '../stencil-facet-common';\n\nexport interface FacetValueLinkProps extends FacetValueProps {\n subList?: VNode | VNode[];\n}\n\nexport const FacetValueLink: FunctionalComponent<FacetValueLinkProps> = (\n props,\n children\n) => {\n const count = props.numberOfResults.toLocaleString(props.i18n.language);\n const ariaLabel = props.i18n.t('facet-value', {\n value: props.displayValue,\n count: props.numberOfResults,\n formattedCount: count,\n interpolation: {escapeValue: false},\n });\n\n let part =\n props.part ?? `value-link${props.isSelected ? ' value-link-selected' : ''}`;\n\n if (props.additionalPart) {\n part += ` ${props.additionalPart}`;\n }\n\n return (\n <li key={props.displayValue} class={props.class}>\n <Button\n style=\"text-neutral\"\n part={part}\n onClick={() => props.onClick()}\n class=\"group flex w-full items-center truncate px-2 py-2.5 text-left focus-visible:outline-none\"\n ariaPressed={props.isSelected.toString()}\n ariaLabel={ariaLabel}\n ref={props.buttonRef}\n >\n {children}\n <span part=\"value-count\" class=\"value-count\">\n {props.i18n.t('between-parentheses', {\n text: count,\n })}\n </span>\n </Button>\n {props.subList}\n </li>\n );\n};\n"],"mappings":"8EAQaA,EAA2D,CACtEC,EACAC,KAEA,MAAMC,EAAQF,EAAMG,gBAAgBC,eAAeJ,EAAMK,KAAKC,UAC9D,MAAMC,EAAYP,EAAMK,KAAKG,EAAE,cAAe,CAC5CC,MAAOT,EAAMU,aACbR,MAAOF,EAAMG,gBACbQ,eAAgBT,EAChBU,cAAe,CAACC,YAAa,SAG/B,IAAIC,EACFd,EAAMc,MAAQ,aAAad,EAAMe,WAAa,uBAAyB,KAEzE,GAAIf,EAAMgB,eAAgB,CACxBF,GAAQ,IAAId,EAAMgB,gB,CAGpB,OACEC,EAAA,MAAIC,IAAKlB,EAAMU,aAAcS,MAAOnB,EAAMmB,OACxCF,EAACG,EAAM,CACLC,MAAM,eACNP,KAAMA,EACNQ,QAAS,IAAMtB,EAAMsB,UACrBH,MAAM,2FACNI,YAAavB,EAAMe,WAAWS,WAC9BjB,UAAWA,EACXkB,IAAKzB,EAAM0B,WAEVzB,EACDgB,EAAA,QAAMH,KAAK,cAAcK,MAAM,eAC5BnB,EAAMK,KAAKG,EAAE,sBAAuB,CACnCmB,KAAMzB,MAIXF,EAAM4B,QACJ,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["AtomicResultHtml","this","sanitize","render","resultValue","getStringValueFromResultOrNull","result","field","host","remove","h","value","__decorate","InitializeBindings","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-html/atomic-result-html.tsx"],"sourcesContent":["import {Result} from '@coveo/headless';\nimport {Component, Prop, h, Element, State} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {getStringValueFromResultOrNull} from '../../../../utils/result-utils';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-html` component renders the HTML value of a string result field.\n *\n * There is an inherent XSS security concern associated with the usage of this component.\n *\n * Use only with fields for which you are certain the data is harmless.\n */\n@Component({\n tag: 'atomic-result-html',\n shadow: false,\n})\nexport class AtomicResultHtml implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n @Element() private host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The result field which the component should use.\n * If set, Atomic searches for the specified field in the `Result` object first.\n * If there's no such a field, Atomic searches through the `Result.raw` object.\n * It's important to include the necessary field in the `ResultList` component.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * Specify if the content should be sanitized, using [`DOMPurify`](https://www.npmjs.com/package/dompurify).\n */\n @Prop({reflect: true}) public sanitize = true;\n\n public render() {\n const resultValue = getStringValueFromResultOrNull(this.result, this.field);\n if (!resultValue) {\n this.host.remove();\n return;\n }\n\n return (\n <atomic-html value={resultValue} sanitize={this.sanitize}></atomic-html>\n );\n }\n}\n"],"mappings":"+pBAqBaA,EAAgB,M,yBAkBGC,KAAAC,SAAW,K,wDAAA,I,CAElC,MAAAC,GACL,MAAMC,EAAcC,EAA+BJ,KAAKK,OAAQL,KAAKM,OACrE,IAAKH,EAAa,CAChBH,KAAKO,KAAKC,SACV,M,CAGF,OACEC,EAAA,eAAaC,MAAOP,EAAaF,SAAUD,KAAKC,U,6BA3BvBU,EAAA,CAA5BC,K,+BACwBD,EAAA,CAAxBE,K","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":["CategoryFacetAllCategoryButton","i18n","onClick","allCategories","t","h","Button","style","part","icon","LeftArrow","class","CategoryFacetValueLink","displayValue","numberOfResults","isParent","isSelected","searchQuery","isLeafValue","setRef","children","partNames","push","FacetValueLink","join","buttonRef","btn","subList","FacetValueLabelHighlight","CategoryFacetChildValueLink","props","CategoryFacetChildrenAsTreeContainer","className","CategoryFacetParentAsTreeContainer","isTopLevel","CategoryFacetParentButton","field","facetValue","getFieldValueCaption","value","ariaLabel","count","formattedCount","toLocaleString","language","ariaPressed","CategoryFacetParentValueLink","CategoryFacetSearchResultsContainer","_","SEPARATOR","ELLIPSIS","PATH_MAX_LENGTH","CategoryFacetSearchValue","inLabel","localizedPath","path","length","map","child","parent","ellipsedPath","firstPart","slice","lastParts","concat","renderPath","index","key","text","CategoryFacetTreeValueContainer","atomicCategoryFacetCss","AtomicCategoryFacetStyle0","AtomicCategoryFacet","this","resultIndexToFocusOnShowMore","label","tabsIncluded","tabsExcluded","numberOfValues","withSearch","sortCriteria","delimitingCharacter","basePath","filterByBasePath","isCollapsed","headingLevel","filterFacetCount","injectionDepth","dependsOn","initialize","console","warn","searchStatus","buildSearchStatus","bindings","engine","tabManager","buildTabManager","options","facetId","facetSearch","tabs","included","excluded","facet","buildCategoryFacet","announceFacetSearchResultsWithAriaLive","msg","facetSearchAriaMessage","state","facetInfo","element","host","isHidden","store","registerFacet","initializePopover","hasValues","valuesAsTrees","numberOfActiveValues","facetState","hasActiveValues","initializeDependenciesManager","focusTargets","showLessFocus","FocusTargetController","showMoreFocus","headerFocus","activeValueFocus","disconnectedCallback","isConnected","dependenciesManager","stopWatching","searchStatusState","hasError","enabled","selectedValueAncestry","componentShouldUpdate","next","prev","propName","isCategoryFacetState","shouldUpdateFacetSearchComponent","hasParents","buildFacetConditionsManager","conditions","parseDependsOn","renderHeader","FacetHeader","onToggleCollapse","onClearFilters","focusAfterSearch","deselectAll","headerRef","header","setTarget","renderSearchInput","FacetSearchInput","query","onChange","clear","updateCaptions","getFieldCaptions","updateText","search","onClear","renderValuesTree","isRoot","renderChildren","parentValue","toggleSelect","activeParent","activeParentDisplayValue","el","renderChild","isShowLessFocusTarget","isShowMoreFocusTarget","find","i","renderSearchResults","values","select","renderMatches","FacetSearchMatches","numberOfMatches","hasMoreMatches","moreValuesAvailable","showMoreMatches","showMoreResults","renderShowMoreLess","FacetShowMoreLess","onShowMore","showMoreValues","onShowLess","showLessValues","canShowLessValues","canShowMoreValues","render","firstSearchExecuted","FacetGuard","hasResults","FacetContainer","shouldDisplaySearchResults","Fragment","FacetValuesGroup","FacetPlaceholder","__decorate","InitializeBindings","BindStateToController","ArrayProp","MapProp","AriaLiveRegion"],"sources":["src/components/common/facets/category-facet/stencil-all-categories-button.tsx","src/components/common/facets/category-facet/stencil-value-link.tsx","src/components/common/facets/category-facet/stencil-child-value-link.tsx","src/components/common/facets/category-facet/stencil-children-as-tree-container.tsx","src/components/common/facets/category-facet/stencil-parent-as-tree-container.tsx","src/components/common/facets/category-facet/stencil-parent-button.tsx","src/components/common/facets/category-facet/stencil-parent-value-link.tsx","src/components/common/facets/category-facet/stencil-search-results-container.tsx","src/components/common/facets/category-facet/stencil-search-value.tsx","src/components/common/facets/category-facet/stencil-value-as-tree-container.tsx","src/components/search/facets/atomic-category-facet/atomic-category-facet.pcss?tag=atomic-category-facet&encapsulation=shadow","src/components/search/facets/atomic-category-facet/atomic-category-facet.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport LeftArrow from '../../../../images/arrow-left-rounded.svg';\nimport {Button} from '../../stencil-button';\n\ninterface CategoryFacetAllCategoryButtonProps {\n i18n: i18n;\n onClick(): void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const CategoryFacetAllCategoryButton: FunctionalComponent<\n CategoryFacetAllCategoryButtonProps\n> = ({i18n, onClick}) => {\n const allCategories = i18n.t('all-categories');\n return (\n <Button\n style=\"text-neutral\"\n part=\"all-categories-button\"\n onClick={() => {\n onClick();\n }}\n >\n <atomic-icon\n aria-hidden=\"true\"\n icon={LeftArrow}\n part=\"back-arrow\"\n ></atomic-icon>\n <span class=\"truncate\">{allCategories}</span>\n </Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\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 CategoryFacetValueLinkProps {\n displayValue: string;\n numberOfResults: number;\n i18n: i18n;\n onClick: () => void;\n isParent: boolean;\n isSelected: boolean;\n searchQuery: string;\n isLeafValue: boolean;\n setRef: (el?: HTMLButtonElement) => void;\n}\n\nexport const CategoryFacetValueLink: FunctionalComponent<\n CategoryFacetValueLinkProps\n> = (\n {\n displayValue,\n numberOfResults,\n i18n,\n onClick,\n isParent,\n isSelected,\n searchQuery,\n isLeafValue,\n setRef,\n },\n children\n) => {\n const partNames = [];\n if (isParent) {\n partNames.push('active-parent');\n } else {\n partNames.push(`value-link${isSelected ? ' value-link-selected' : ''}`);\n }\n\n if (isLeafValue) {\n partNames.push('leaf-value');\n } else {\n partNames.push('node-value');\n }\n\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={numberOfResults}\n isSelected={isSelected}\n i18n={i18n}\n onClick={() => {\n onClick();\n }}\n searchQuery={searchQuery}\n part={partNames.join(' ')}\n class=\"contents\"\n buttonRef={(btn) => setRef(btn)}\n subList={children}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {\n CategoryFacetValueLink,\n CategoryFacetValueLinkProps,\n} from './stencil-value-link';\n\ninterface CategoryFacetChildValueLinkProps\n extends Omit<CategoryFacetValueLinkProps, 'isParent'> {}\n\nexport const CategoryFacetChildValueLink: FunctionalComponent<\n CategoryFacetChildValueLinkProps\n> = (props, children) => {\n return (\n <CategoryFacetValueLink {...props} isParent={false}>\n {children}\n </CategoryFacetValueLink>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface CategoryFacetChildrenAsTreeContainerProps {\n className?: string;\n}\nexport const CategoryFacetChildrenAsTreeContainer: FunctionalComponent<\n CategoryFacetChildrenAsTreeContainerProps\n> = ({className}, children) => {\n return (\n <ul part=\"values\" class={className ?? ''}>\n {children}\n </ul>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\nexport interface CategoryFacetParentAsTreeContainerProps {\n isTopLevel: boolean;\n className?: string;\n}\nexport const CategoryFacetParentAsTreeContainer: FunctionalComponent<\n CategoryFacetParentAsTreeContainerProps\n> = ({isTopLevel, className}, children) => {\n return (\n <ul class={className ?? ''} part={`${isTopLevel ? '' : 'sub-'}parents`}>\n {children}\n </ul>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport LeftArrow from '../../../../images/arrow-left-rounded.svg';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {Button} from '../../stencil-button';\n\ninterface CategoryFacetParentButtonProps {\n i18n: i18n;\n field: string;\n facetValue: {value: string; numberOfResults: number};\n onClick: () => void;\n}\nexport const CategoryFacetParentButton: FunctionalComponent<\n CategoryFacetParentButtonProps\n> = ({field, facetValue, i18n, onClick}) => {\n const displayValue = getFieldValueCaption(field, facetValue.value, i18n);\n const ariaLabel = i18n.t('facet-value', {\n value: displayValue,\n count: facetValue.numberOfResults,\n formattedCount: facetValue.numberOfResults.toLocaleString(i18n.language),\n });\n\n return (\n <Button\n style=\"text-neutral\"\n part=\"parent-button\"\n ariaPressed=\"false\"\n onClick={() => {\n onClick();\n }}\n ariaLabel={ariaLabel}\n >\n <atomic-icon\n icon={LeftArrow}\n part=\"back-arrow\"\n class=\"back-arrow\"\n ></atomic-icon>\n <span class=\"truncate\">{displayValue}</span>\n </Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {\n CategoryFacetValueLink,\n CategoryFacetValueLinkProps,\n} from './stencil-value-link';\n\ninterface CategoryFacetParentValueLinkProps\n extends Omit<CategoryFacetValueLinkProps, 'isParent' | 'isSelected'> {}\n\nexport const CategoryFacetParentValueLink: FunctionalComponent<\n CategoryFacetParentValueLinkProps\n> = (props, children) => {\n return (\n <CategoryFacetValueLink {...props} isParent isSelected>\n {children}\n </CategoryFacetValueLink>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\nexport const CategoryFacetSearchResultsContainer: FunctionalComponent = (\n _,\n children\n) => {\n return (\n <ul part=\"search-results\" class=\"mt-3\">\n {children}\n </ul>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {Button} from '../../stencil-button';\nimport {FacetValueLabelHighlight} from '../facet-value-label-highlight/stencil-facet-value-label-highlight';\n\ninterface CategoryFacetSearchValueProps {\n value: {count: number; path: string[]; displayValue: string};\n i18n: i18n;\n field: string;\n onClick(): void;\n searchQuery: string;\n}\n\nconst SEPARATOR = '/';\nconst ELLIPSIS = '...';\nconst PATH_MAX_LENGTH = 3;\n\nexport const CategoryFacetSearchValue: FunctionalComponent<\n CategoryFacetSearchValueProps\n> = ({value, field, i18n, onClick, searchQuery}) => {\n const count = value.count.toLocaleString(i18n.language);\n const inLabel = i18n.t('in');\n const allCategories = i18n.t('all-categories');\n const localizedPath = value.path.length\n ? value.path.map((value) => getFieldValueCaption(field, value, i18n))\n : [allCategories];\n const ariaLabel = i18n.t('under', {\n child: i18n.t('facet-value', {\n count: value.count,\n formattedCount: count,\n value: value.displayValue,\n }),\n parent: localizedPath.join(', '),\n });\n\n function ellipsedPath(path: string[]) {\n if (path.length <= PATH_MAX_LENGTH) {\n return path;\n }\n const firstPart = path.slice(0, 1);\n const lastParts = path.slice(-PATH_MAX_LENGTH + 1);\n return firstPart.concat(ELLIPSIS, ...lastParts);\n }\n\n function renderPath(path: string[]) {\n if (!path.length) {\n return <span class=\"truncate\">{`${inLabel} ${allCategories}`}</span>;\n }\n\n return [\n <span class=\"mr-0.5\">{inLabel}</span>,\n ellipsedPath(path).map((value, index) => [\n index > 0 && <span class=\"mx-0.5\">{SEPARATOR}</span>,\n <span class={value === ELLIPSIS ? '' : 'max-w-max flex-1 truncate'}>\n {value}\n </span>,\n ]),\n ];\n }\n\n return (\n <li key={value.displayValue}>\n <Button\n style=\"text-neutral\"\n part=\"search-result\"\n onClick={() => onClick()}\n class=\"group flex w-full flex-col truncate px-2 py-2.5 focus-visible:outline-none\"\n aria-label={ariaLabel}\n >\n <div class=\"flex w-full\">\n <FacetValueLabelHighlight\n displayValue={value.displayValue}\n isSelected={false}\n searchQuery={searchQuery}\n ></FacetValueLabelHighlight>\n <span part=\"value-count\" class=\"value-count\">\n {i18n.t('between-parentheses', {\n text: count,\n })}\n </span>\n </div>\n <div\n part=\"search-result-path\"\n class=\"text-neutral-dark group-focus:text-primary group-hover:text-primary mt-1 flex w-full\"\n >\n {renderPath(localizedPath)}\n </div>\n </Button>\n </li>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\nexport const CategoryFacetTreeValueContainer: FunctionalComponent = (\n _,\n children\n) => {\n return <li class=\"contents\">{children}</li>;\n};\n","@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-search/facet-search.pcss';\n\n[part~='active-parent'] {\n @apply pl-9;\n}\n\n[part~='parents'] [part~='values'] {\n @apply pl-9;\n}\n\n[part~='all-categories-button'],\n[part~='parent-button'] {\n @apply relative flex w-full items-center py-2.5 pr-2 pl-7 text-left;\n}\n\n[part~='back-arrow'] {\n @apply absolute left-1 h-5 w-5;\n}\n","import {\n CategoryFacet,\n buildCategoryFacet,\n CategoryFacetState,\n CategoryFacetOptions,\n CategoryFacetSortCriterion,\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n CategoryFacetValue,\n buildFacetConditionsManager,\n FacetConditionsManager,\n FacetValueRequest,\n CategoryFacetValueRequest,\n TabManagerState,\n TabManager,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Element, Fragment} from '@stencil/core';\nimport {\n getFieldCaptions,\n getFieldValueCaption,\n} 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 {CategoryFacetAllCategoryButton} from '../../../common/facets/category-facet/stencil-all-categories-button';\nimport {CategoryFacetChildValueLink} from '../../../common/facets/category-facet/stencil-child-value-link';\nimport {CategoryFacetChildrenAsTreeContainer} from '../../../common/facets/category-facet/stencil-children-as-tree-container';\nimport {CategoryFacetParentAsTreeContainer} from '../../../common/facets/category-facet/stencil-parent-as-tree-container';\nimport {CategoryFacetParentButton} from '../../../common/facets/category-facet/stencil-parent-button';\nimport {CategoryFacetParentValueLink} from '../../../common/facets/category-facet/stencil-parent-value-link';\nimport {CategoryFacetSearchResultsContainer} from '../../../common/facets/category-facet/stencil-search-results-container';\nimport {CategoryFacetSearchValue} from '../../../common/facets/category-facet/stencil-search-value';\nimport {CategoryFacetTreeValueContainer} from '../../../common/facets/category-facet/stencil-value-as-tree-container';\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 shouldUpdateFacetSearchComponent,\n shouldDisplaySearchResults,\n} from '../../../common/facets/facet-search/facet-search-utils';\nimport {FacetSearchInput} from '../../../common/facets/facet-search/stencil-facet-search-input';\nimport {FacetSearchMatches} from '../../../common/facets/facet-search/stencil-facet-search-matches';\nimport {FacetShowMoreLess} from '../../../common/facets/facet-show-more-less/stencil-facet-show-more-less';\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-category-facet` displays a facet of values in a browsable, hierarchical fashion.\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 *\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-results - The search results container.\n * @part search-result - The search result value.\n * @part search-result-path - The search result path.\n * @part search-highlight - The highlighted query inside the facet values.\n *\n * @part parents - The container surrounding the whole hierarchy of values.\n * @part sub-parents - The container surrounding a sub-hierarchy of values.\n * @part values - The container surrounding either the children of the active value or the values at the base.\n * @part all-categories-button - The \"View all\" button displayed first within the parents.\n * @part parent-button - The clickable parent button displayed first within sub-parents.\n * @part active-parent - The clickable active parent displayed first within the last sub-parents.\n * @part value-link - The clickable value displayed first within values.\n * @part back-arrow - The back arrow displayed before the clickable parents.\n * @part value-label - The facet value label within a value button.\n * @part value-count - The facet value count within a value button.\n * @part leaf-value - A facet value with no child value.\n * @part node-value - A facet value with child values.\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-category-facet',\n styleUrl: 'atomic-category-facet.pcss',\n shadow: true,\n})\nexport class AtomicCategoryFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facet!: CategoryFacet;\n private dependenciesManager?: FacetConditionsManager;\n private resultIndexToFocusOnShowMore = 0;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: CategoryFacetState;\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-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * 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 * Whether this facet should contain a search box.\n *\n */\n @Prop({reflect: true}) public withSearch = false;\n /**\n * The sort criterion to apply to the returned facet values.\n * Possible values are 'alphanumeric' and 'occurrences'.\n * For this criterion to apply to the top-layer facet values, disable\n * [facet value ordering](https://docs.coveo.com/en/l1qf4156/#facet-value-ordering)\n * in your Dynamic Navigation Experience configuration.\n */\n // TODO: add automatic (occurrences when not expanded, alphanumeric when expanded)\n @Prop({reflect: true}) public sortCriteria: CategoryFacetSortCriterion =\n 'occurrences';\n /**\n * The character that separates values of a multi-value field.\n *\n * *Note:* If you use the [example formatting](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-category-facet/#usage-notes) for the associated multi-value field, you must set this value to `|` or the facet won't display properly.\n */\n @Prop({reflect: true}) public delimitingCharacter = ';';\n /**\n * The base path shared by all values for the facet.\n *\n * Specify the property as an array using a JSON string representation:\n * ```html\n * <atomic-category-facet base-path='[\"first value\", \"second value\"]' ></atomic-category-facet>\n * ```\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public basePath: string[] | string = '[]';\n\n /**\n * Whether to use basePath as a filter for the results.\n */\n @Prop({reflect: true}) public filterByBasePath = true;\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 * 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({reflect: true}) public injectionDepth = 1000;\n // @Prop() public customSort?: string; TODO: KIT-753 Add customSort option for facet\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-category-facet\n * depends-on-abc\n * ...\n * ></atomic-category-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-category-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-category-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n private showLessFocus?: FocusTargetController;\n\n private showMoreFocus?: FocusTargetController;\n\n private headerFocus?: FocusTargetController;\n\n private activeValueFocus?: FocusTargetController;\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 this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n const options: CategoryFacetOptions = {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n facetSearch: {numberOfValues: this.numberOfValues},\n basePath: [...this.basePath],\n delimitingCharacter: this.delimitingCharacter,\n filterByBasePath: this.filterByBasePath,\n injectionDepth: this.injectionDepth,\n filterFacetCount: this.filterFacetCount,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n this.facet = buildCategoryFacet(this.bindings.engine, {options});\n announceFacetSearchResultsWithAriaLive(\n this.facet,\n this.label,\n (msg) => (this.facetSearchAriaMessage = msg),\n this.bindings.i18n\n );\n this.facetId = this.facet.state.facetId;\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n this.bindings.store.registerFacet('categoryFacets', facetInfo);\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.facet.state.valuesAsTrees.length,\n numberOfActiveValues: () => (this.facetState.hasActiveValues ? 1 : 0),\n });\n this.initializeDependenciesManager();\n }\n\n private get focusTargets() {\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 if (!this.activeValueFocus) {\n this.activeValueFocus = new FocusTargetController(this);\n }\n\n return {\n showLessFocus: this.showLessFocus,\n showMoreFocus: this.showMoreFocus,\n headerFocus: this.headerFocus,\n activeValueFocus: this.activeValueFocus,\n };\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.dependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return (\n this.searchStatusState.hasError ||\n !this.facet.state.enabled ||\n (!this.facet.state.selectedValueAncestry.length &&\n !this.facet.state.valuesAsTrees.length)\n );\n }\n\n public componentShouldUpdate(\n next: unknown,\n prev: unknown,\n propName: keyof AtomicCategoryFacet\n ) {\n if (\n this.isCategoryFacetState(prev, propName) &&\n this.isCategoryFacetState(next, propName)\n ) {\n return shouldUpdateFacetSearchComponent(\n next.facetSearch,\n prev.facetSearch\n );\n }\n return true;\n }\n\n private get hasParents() {\n return !!this.facetState.selectedValueAncestry.length;\n }\n\n private initializeDependenciesManager() {\n this.dependenciesManager = buildFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n FacetValueRequest | CategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.label}\n numberOfActiveValues={\n this.facetState.hasActiveValues && this.isCollapsed ? 1 : 0\n }\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n onClearFilters={() => {\n this.focusTargets.headerFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n headerRef={(header) => {\n this.focusTargets.headerFocus.setTarget(header);\n if (!this.hasParents) {\n this.focusTargets.activeValueFocus.setTarget(header);\n }\n }}\n ></FacetHeader>\n );\n }\n\n private renderSearchInput() {\n if (!this.withSearch) {\n return;\n }\n\n return (\n <FacetSearchInput\n i18n={this.bindings.i18n}\n label={this.label}\n query={this.facetState.facetSearch.query}\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 ></FacetSearchInput>\n );\n }\n\n private renderValuesTree(\n valuesAsTrees: CategoryFacetValue[],\n isRoot: boolean\n ) {\n if (!this.hasParents) {\n return this.renderChildren();\n }\n\n if (isRoot) {\n return (\n <CategoryFacetTreeValueContainer>\n <CategoryFacetAllCategoryButton\n i18n={this.bindings.i18n}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n />\n <CategoryFacetParentAsTreeContainer isTopLevel={false}>\n {this.renderValuesTree(valuesAsTrees, false)}\n </CategoryFacetParentAsTreeContainer>\n </CategoryFacetTreeValueContainer>\n );\n }\n\n if (valuesAsTrees.length > 1) {\n const parentValue = valuesAsTrees[0];\n\n return (\n <CategoryFacetTreeValueContainer>\n <CategoryFacetParentButton\n facetValue={parentValue}\n field={this.field}\n i18n={this.bindings.i18n}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.toggleSelect(parentValue);\n }}\n />\n <CategoryFacetParentAsTreeContainer isTopLevel={false}>\n {this.renderValuesTree(valuesAsTrees.slice(1), false)}\n </CategoryFacetParentAsTreeContainer>\n </CategoryFacetTreeValueContainer>\n );\n }\n\n const activeParent = valuesAsTrees[0];\n const activeParentDisplayValue = getFieldValueCaption(\n this.field,\n activeParent.value,\n this.bindings.i18n\n );\n\n return (\n <CategoryFacetParentValueLink\n displayValue={activeParentDisplayValue}\n numberOfResults={activeParent.numberOfResults}\n i18n={this.bindings.i18n}\n isLeafValue={activeParent.isLeafValue}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n searchQuery={this.facetState.facetSearch.query}\n setRef={(el) => this.focusTargets.activeValueFocus.setTarget(el)}\n >\n <CategoryFacetChildrenAsTreeContainer>\n {this.renderChildren()}\n </CategoryFacetChildrenAsTreeContainer>\n </CategoryFacetParentValueLink>\n );\n }\n\n private renderChild(\n facetValue: CategoryFacetValue,\n isShowLessFocusTarget: boolean,\n isShowMoreFocusTarget: boolean\n ) {\n const displayValue = getFieldValueCaption(\n this.field,\n facetValue.value,\n this.bindings.i18n\n );\n const isSelected = facetValue.state === 'selected';\n return (\n <CategoryFacetChildValueLink\n displayValue={displayValue}\n i18n={this.bindings.i18n}\n isLeafValue={facetValue.isLeafValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.toggleSelect(facetValue);\n }}\n searchQuery={this.facetState.facetSearch.query}\n setRef={(element) => {\n isShowLessFocusTarget &&\n this.focusTargets.showLessFocus.setTarget(element);\n isShowMoreFocusTarget &&\n this.focusTargets.showMoreFocus.setTarget(element);\n }}\n ></CategoryFacetChildValueLink>\n );\n }\n\n private renderChildren() {\n if (!this.facetState.valuesAsTrees.length) {\n return;\n }\n if (this.facetState.selectedValueAncestry.length > 0) {\n return this.facetState.selectedValueAncestry\n .find((value) => value.state === 'selected')\n ?.children.map((value, i) =>\n this.renderChild(\n value,\n i === 0,\n i === this.resultIndexToFocusOnShowMore\n )\n );\n }\n\n return this.facetState.valuesAsTrees.map((value, i) =>\n this.renderChild(value, i === 0, i === this.resultIndexToFocusOnShowMore)\n );\n }\n\n private renderSearchResults() {\n return (\n <CategoryFacetSearchResultsContainer>\n {this.facetState.facetSearch.values.map((value) => (\n <CategoryFacetSearchValue\n value={value}\n field={this.field}\n i18n={this.bindings.i18n}\n searchQuery={this.facetState.facetSearch.query}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.facetSearch.select(value);\n }}\n ></CategoryFacetSearchValue>\n ))}\n </CategoryFacetSearchResultsContainer>\n );\n }\n\n private renderMatches() {\n return (\n <FacetSearchMatches\n i18n={this.bindings.i18n}\n query={this.facetState.facetSearch.query}\n numberOfMatches={this.facetState.facetSearch.values.length}\n hasMoreMatches={this.facetState.facetSearch.moreValuesAvailable}\n showMoreMatches={() => this.facet.facetSearch.showMoreResults()}\n ></FacetSearchMatches>\n );\n }\n\n private renderShowMoreLess() {\n return (\n <div class={this.hasParents ? 'pl-9' : ''}>\n <FacetShowMoreLess\n label={this.label}\n i18n={this.bindings.i18n}\n onShowMore={() => {\n this.resultIndexToFocusOnShowMore =\n this.facetState.valuesAsTrees[0].children.length;\n this.focusTargets.showMoreFocus.focusAfterSearch();\n this.facet.showMoreValues();\n }}\n onShowLess={() => {\n this.focusTargets.showLessFocus.focusAfterSearch();\n this.facet.showLessValues();\n }}\n canShowLessValues={this.facetState.canShowLessValues}\n canShowMoreValues={this.facetState.canShowMoreValues}\n ></FacetShowMoreLess>\n </div>\n );\n }\n\n private isCategoryFacetState(\n state: unknown,\n propName: string\n ): state is CategoryFacetState {\n return (\n propName === 'facetState' &&\n typeof (state as CategoryFacetState)?.facetId === 'string'\n );\n }\n\n public render() {\n const {\n bindings: {i18n},\n label,\n facetState: {facetSearch, enabled, valuesAsTrees, selectedValueAncestry},\n searchStatusState: {hasError, firstSearchExecuted},\n } = this;\n\n return (\n <FacetGuard\n enabled={enabled}\n firstSearchExecuted={firstSearchExecuted}\n hasError={hasError}\n hasResults={valuesAsTrees.length > 0}\n >\n {firstSearchExecuted ? (\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && [\n this.renderSearchInput(),\n shouldDisplaySearchResults(facetSearch) ? (\n <Fragment>\n {facetSearch.values.length ? (\n <FacetValuesGroup\n i18n={i18n}\n label={label}\n query={facetSearch.query}\n >\n {this.renderSearchResults()}\n </FacetValuesGroup>\n ) : (\n <div class=\"mt-3\"></div>\n )}\n {this.renderMatches()}\n </Fragment>\n ) : (\n <Fragment>\n <FacetValuesGroup i18n={i18n} label={label}>\n {this.hasParents ? (\n <CategoryFacetParentAsTreeContainer\n isTopLevel={true}\n className=\"mt-3\"\n >\n {this.renderValuesTree(selectedValueAncestry, true)}\n </CategoryFacetParentAsTreeContainer>\n ) : (\n <CategoryFacetChildrenAsTreeContainer className=\"mt-3\">\n {this.renderChildren()}\n </CategoryFacetChildrenAsTreeContainer>\n )}\n </FacetValuesGroup>\n {this.renderShowMoreLess()}\n </Fragment>\n ),\n ]}\n </FacetContainer>\n ) : (\n <FacetPlaceholder\n isCollapsed={this.isCollapsed}\n numberOfValues={this.numberOfValues}\n />\n )}\n </FacetGuard>\n );\n }\n}\n"],"mappings":"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","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":"yHAmBaA,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":["PagerPreviousButton","props","h","Button","ariaLabel","i18n","t","style","part","class","icon","PagerNextButton","PagerPageButton","RadioButton","selectWhenFocused","key","page","checked","isSelected","ariaCurrent","PagerPageButtons","children","role","PagerNavigation","atomicInsightPagerCss","AtomicInsightPagerStyle0","AtomicInsightPager","this","numberOfPages","radioGroupName","randomID","initialize","searchStatus","buildInsightSearchStatus","bindings","engine","pager","buildInsightPager","options","focusOnFirstResultAndScrollToTop","store","state","resultList","focusOnFirstResultAfterNextSearch","scrollToTopEvent","emit","render","Host","ArrowLeftIcon","disabled","pagerState","hasPreviousPage","onClick","previousPage","currentPages","map","pageNumber","isCurrentPage","onChecked","selectPage","groupName","text","toLocaleString","language","ArrowRightIcon","hasNextPage","nextPage","__decorate","InitializeBindings","BindStateToController"],"sources":["src/components/common/pager/stencil-pager-buttons.tsx","src/components/common/pager/stencil-pager-navigation.tsx","src/components/insight/atomic-insight-pager/atomic-insight-pager.pcss?tag=atomic-insight-pager&encapsulation=shadow","src/components/insight/atomic-insight-pager/atomic-insight-pager.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button, StencilButtonProps} from '../stencil-button';\nimport {RadioButton, StencilRadioButtonProps} from '../stencil-radio-button';\n\n/**\n * @deprecated use the lit equivalent\n */\nexport interface PagerNavigationButtonProps\n extends Omit<StencilButtonProps, 'style' | 'part' | 'class'> {\n icon: string;\n i18n: i18n;\n}\n\n/**\n * @deprecated use the lit equivalent\n */\nexport interface PagerPageButtonProps\n extends Omit<\n StencilRadioButtonProps,\n 'part' | 'style' | 'checked' | 'ariaCurrent' | 'key' | 'class' | 'ref'\n > {\n page: number;\n isSelected: boolean;\n text: string;\n}\n\n/**\n * @deprecated use the lit equivalent\n */\nexport interface PagerPageButtonsProps {\n i18n: i18n;\n}\n\n/**\n * @deprecated use the lit equivalent\n */\nexport const PagerPreviousButton: FunctionalComponent<\n PagerNavigationButtonProps\n> = (props) => {\n return (\n <Button\n {...props}\n ariaLabel={props.i18n.t('previous')}\n style=\"outline-primary\"\n part=\"previous-button\"\n class=\"flex min-h-10 min-w-10 items-center justify-center p-1\"\n >\n <atomic-icon\n icon={props.icon}\n part=\"previous-button-icon\"\n class=\"w-5 align-middle\"\n ></atomic-icon>\n </Button>\n );\n};\n\n/**\n * @deprecated use the lit equivalent\n */\nexport const PagerNextButton: FunctionalComponent<\n PagerNavigationButtonProps\n> = (props) => {\n return (\n <Button\n {...props}\n ariaLabel={props.i18n.t('next')}\n style=\"outline-primary\"\n part=\"next-button\"\n class=\"flex min-h-10 min-w-10 items-center justify-center p-1\"\n >\n <atomic-icon\n icon={props.icon}\n part=\"next-button-icon\"\n class=\"w-5 align-middle\"\n ></atomic-icon>\n </Button>\n );\n};\n\n/**\n * @deprecated use the lit equivalent\n */\nexport const PagerPageButton: FunctionalComponent<PagerPageButtonProps> = (\n props\n) => {\n return (\n <RadioButton\n {...props}\n selectWhenFocused={false}\n key={props.page}\n style=\"outline-neutral\"\n checked={props.isSelected}\n ariaCurrent={props.isSelected ? 'page' : 'false'}\n class=\"btn-page focus-visible:bg-neutral-light min-h-10 min-w-10 p-1\"\n part={`page-button${props.isSelected ? ' active-page-button' : ''}`}\n ></RadioButton>\n );\n};\n\n/**\n * @deprecated use the lit equivalent\n */\nexport const PagerPageButtons: FunctionalComponent<PagerPageButtonsProps> = (\n props,\n children\n) => {\n return (\n <div\n part=\"page-buttons\"\n role=\"radiogroup\"\n aria-label={props.i18n.t('pagination')}\n class=\"contents\"\n >\n {...children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\n\n/**\n * @deprecated use the lit equivalent\n */\nexport interface PagerNavigationProps {\n i18n: i18n;\n}\n\n/**\n * @deprecated use the lit equivalent\n */\nexport const PagerNavigation: FunctionalComponent<PagerNavigationProps> = (\n props,\n children\n) => {\n return (\n <nav aria-label={props.i18n.t('pagination')}>\n <div part=\"buttons\" role=\"toolbar\" class=\"flex flex-wrap gap-2\">\n {...children}\n </div>\n </nav>\n );\n};\n","@import '../../../global/global.pcss';\n\n[part='page-button'] {\n @apply bg-transparent;\n}\n\n:host {\n @apply bg-neutral-light box-content flex h-full items-center justify-center px-6 py-4;\n}\n","import {\n buildPager as buildInsightPager,\n buildSearchStatus as buildInsightSearchStatus,\n Pager as InsightPager,\n PagerState as InsightPagerState,\n SearchStatus as InsightSearchStatus,\n SearchStatusState as InsightSearchStatusState,\n} from '@coveo/headless/insight';\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport ArrowLeftIcon from '../../../images/arrow-left-rounded.svg';\nimport ArrowRightIcon from '../../../images/arrow-right-rounded.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {randomID} from '../../../utils/utils';\nimport {\n PagerNextButton,\n PagerPageButton,\n PagerPageButtons,\n PagerPreviousButton,\n} from '../../common/pager/stencil-pager-buttons';\nimport {PagerNavigation} from '../../common/pager/stencil-pager-navigation';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-pager',\n styleUrl: 'atomic-insight-pager.pcss',\n shadow: true,\n})\nexport class AtomicInsightPager\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public pager!: InsightPager;\n public searchStatus!: InsightSearchStatus;\n\n @BindStateToController('pager')\n @State()\n public pagerState!: InsightPagerState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: InsightSearchStatusState;\n @State() error!: Error;\n\n @Event({\n eventName: 'atomic/scrollToTop',\n })\n private scrollToTopEvent!: EventEmitter;\n\n /**\n * Specifies how many page buttons to display in the pager.\n */\n @Prop({reflect: true}) numberOfPages = 5;\n\n private radioGroupName = randomID('atomic-insight-pager-');\n\n public initialize() {\n this.searchStatus = buildInsightSearchStatus(this.bindings.engine);\n this.pager = buildInsightPager(this.bindings.engine, {\n options: {numberOfPages: this.numberOfPages},\n });\n }\n\n private async focusOnFirstResultAndScrollToTop() {\n await this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch();\n this.scrollToTopEvent.emit();\n }\n\n public render() {\n return (\n <Host>\n <PagerNavigation i18n={this.bindings.i18n}>\n <PagerPreviousButton\n icon={ArrowLeftIcon}\n disabled={!this.pagerState.hasPreviousPage}\n i18n={this.bindings.i18n}\n onClick={() => {\n this.pager.previousPage();\n this.focusOnFirstResultAndScrollToTop();\n }}\n />\n <PagerPageButtons i18n={this.bindings.i18n}>\n {this.pagerState.currentPages.map((pageNumber) => {\n return (\n <PagerPageButton\n isSelected={this.pager.isCurrentPage(pageNumber)}\n ariaLabel={this.bindings.i18n.t('page-number', {pageNumber})}\n onChecked={() => {\n this.pager.selectPage(pageNumber);\n this.focusOnFirstResultAndScrollToTop();\n }}\n page={pageNumber}\n groupName={this.radioGroupName}\n text={pageNumber.toLocaleString(this.bindings.i18n.language)}\n />\n );\n })}\n </PagerPageButtons>\n <PagerNextButton\n icon={ArrowRightIcon}\n disabled={!this.pagerState.hasNextPage}\n i18n={this.bindings.i18n}\n onClick={() => {\n this.pager.nextPage();\n this.focusOnFirstResultAndScrollToTop();\n }}\n />\n </PagerNavigation>\n </Host>\n );\n }\n}\n"],"mappings":"ugBAqCO,MAAMA,EAERC,GAEDC,EAACC,EAAM,IACDF,EACJG,UAAWH,EAAMI,KAAKC,EAAE,YACxBC,MAAM,kBACNC,KAAK,kBACLC,MAAM,0DAENP,EAAA,eACEQ,KAAMT,EAAMS,KACZF,KAAK,uBACLC,MAAM,sBASP,MAAME,EAERV,GAEDC,EAACC,EAAM,IACDF,EACJG,UAAWH,EAAMI,KAAKC,EAAE,QACxBC,MAAM,kBACNC,KAAK,cACLC,MAAM,0DAENP,EAAA,eACEQ,KAAMT,EAAMS,KACZF,KAAK,mBACLC,MAAM,sBASP,MAAMG,EACXX,GAGEC,EAACW,EAAW,IACNZ,EACJa,kBAAmB,MACnBC,IAAKd,EAAMe,KACXT,MAAM,kBACNU,QAAShB,EAAMiB,WACfC,YAAalB,EAAMiB,WAAa,OAAS,QACzCT,MAAM,gEACND,KAAM,cAAcP,EAAMiB,WAAa,sBAAwB,OAQ9D,MAAME,EAA+D,CAC1EnB,EACAoB,IAGEnB,EAAA,OACEM,KAAK,eACLc,KAAK,aAAY,aACLrB,EAAMI,KAAKC,EAAE,cACzBG,MAAM,eAEFY,GCrGH,MAAME,EAA6D,CACxEtB,EACAoB,IAGEnB,EAAA,oBAAiBD,EAAMI,KAAKC,EAAE,eAC5BJ,EAAA,OAAKM,KAAK,UAAUc,KAAK,UAAUb,MAAM,2BACnCY,ICpBZ,MAAMG,EAAwB,0wjEAC9B,MAAAC,EAAeD,E,iXCyCFE,EAAkB,M,8EAuBNC,KAAAC,cAAgB,EAE/BD,KAAAE,eAAiBC,EAAS,yB,mGAFK,C,CAIhC,UAAAC,GACLJ,KAAKK,aAAeC,EAAyBN,KAAKO,SAASC,QAC3DR,KAAKS,MAAQC,EAAkBV,KAAKO,SAASC,OAAQ,CACnDG,QAAS,CAACV,cAAeD,KAAKC,gB,CAI1B,sCAAMW,SACNZ,KAAKO,SAASM,MAAMC,MAAMC,YAAYC,qCAC5ChB,KAAKiB,iBAAiBC,M,CAGjB,MAAAC,GACL,OACE5C,EAAC6C,EAAI,CAAAhC,IAAA,4CACHb,EAACqB,EAAe,CAAAR,IAAA,2CAACV,KAAMsB,KAAKO,SAAS7B,MACnCH,EAACF,EAAmB,CAAAe,IAAA,2CAClBL,KAAMsC,EACNC,UAAWtB,KAAKuB,WAAWC,gBAC3B9C,KAAMsB,KAAKO,SAAS7B,KACpB+C,QAAS,KACPzB,KAAKS,MAAMiB,eACX1B,KAAKY,kCAAkC,IAG3CrC,EAACkB,EAAgB,CAAAL,IAAA,2CAACV,KAAMsB,KAAKO,SAAS7B,MACnCsB,KAAKuB,WAAWI,aAAaC,KAAKC,GAE/BtD,EAACU,EAAe,CACdM,WAAYS,KAAKS,MAAMqB,cAAcD,GACrCpD,UAAWuB,KAAKO,SAAS7B,KAAKC,EAAE,cAAe,CAACkD,eAChDE,UAAW,KACT/B,KAAKS,MAAMuB,WAAWH,GACtB7B,KAAKY,kCAAkC,EAEzCvB,KAAMwC,EACNI,UAAWjC,KAAKE,eAChBgC,KAAML,EAAWM,eAAenC,KAAKO,SAAS7B,KAAK0D,eAK3D7D,EAACS,EAAe,CAAAI,IAAA,2CACdL,KAAMsD,EACNf,UAAWtB,KAAKuB,WAAWe,YAC3B5D,KAAMsB,KAAKO,SAAS7B,KACpB+C,QAAS,KACPzB,KAAKS,MAAM8B,WACXvC,KAAKY,kCAAkC,K,GAxEtB4B,EAAA,CAA5BC,K,+BAMMD,EAAA,CAFNE,EAAsB,U,iCAKhBF,EAAA,CAFNE,EAAsB,iB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["atomicResultRatingCss","AtomicResultRatingStyle0","AtomicResultRating","this","maxValueInIndex","icon","Star","numberOfStars","updateNumberOfStars","value","ResultTemplatesHelpers","getResultProperty","result","field","computeNumberOfStars","error","Error","componentWillRender","render","host","remove","h","Rating","i18n","bindings","numberOfTotalIcons","numberOfActiveIcons","iconSize","__decorate","InitializeBindings","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-rating/atomic-result-rating.pcss?tag=atomic-result-rating&encapsulation=shadow","src/components/search/result-template-components/atomic-result-rating/atomic-result-rating.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n@import '../../../common/atomic-rating/atomic-rating.pcss';\n","import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Element, Prop, h, State} from '@stencil/core';\nimport Star from '../../../../images/star.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {\n Rating,\n computeNumberOfStars,\n} from '../../../common/atomic-rating/stencil-rating';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-rating` element renders a star rating.\n *\n * @part value-rating - The wrapper that contains the row of inactive stars and the row of active stars.\n * @part value-rating-icon - The individual star icons used in the rating display.\n */\n@Component({\n tag: 'atomic-result-rating',\n styleUrl: 'atomic-result-rating.pcss',\n shadow: true,\n})\nexport class AtomicResultRating implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n @Element() host!: HTMLElement;\n\n /**\n * The field whose values you want to display as a rating.\n */\n @Prop({reflect: true}) public field!: string;\n\n /**\n * The maximum value of the field. This value is also used as the number of icons to be displayed.\n */\n @Prop({reflect: true}) public maxValueInIndex = 5;\n\n /**\n * The SVG icon to use to display the rating.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly.\n *\n * When using a custom icon, at least part of your icon should have the color set to `fill=\"currentColor\"`.\n * This part of the SVG will take on the colors set in the following [variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties):\n *\n * - `--atomic-rating-icon-active-color`\n * - `--atomic-rating-icon-inactive-color`\n */\n @Prop({reflect: true}) public icon = Star;\n\n @State() public error!: Error;\n\n @State() numberOfStars: number | null = null;\n\n private updateNumberOfStars() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n try {\n this.numberOfStars = computeNumberOfStars(value, this.field);\n } catch (error) {\n this.error = error instanceof Error ? error : new Error(`${error}`);\n this.numberOfStars = null;\n }\n }\n\n componentWillRender() {\n this.updateNumberOfStars();\n }\n\n render() {\n if (this.numberOfStars === null) {\n this.host.remove();\n return;\n }\n return (\n <Rating\n i18n={this.bindings.i18n}\n icon={this.icon}\n numberOfTotalIcons={this.maxValueInIndex}\n numberOfActiveIcons={this.numberOfStars}\n iconSize={0.875}\n ></Rating>\n );\n }\n}\n"],"mappings":"6VAAA,MAAMA,EAAwB,+ujEAC9B,MAAAC,EAAeD,E,iXCwBFE,EAAkB,M,yBAaCC,KAAAC,gBAAkB,EAelBD,KAAAE,KAAOC,EAI5BH,KAAAI,cAA+B,K,0CAnBQ,E,UAeXD,E,wCAIG,I,CAEhC,mBAAAE,GACN,MAAMC,EAAQC,EAAuBC,kBACnCR,KAAKS,OACLT,KAAKU,OAEP,IACEV,KAAKI,cAAgBO,EAAqBL,EAAON,KAAKU,M,CACtD,MAAOE,GACPZ,KAAKY,MAAQA,aAAiBC,MAAQD,EAAQ,IAAIC,MAAM,GAAGD,KAC3DZ,KAAKI,cAAgB,I,EAIzB,mBAAAU,GACEd,KAAKK,qB,CAGP,MAAAU,GACE,GAAIf,KAAKI,gBAAkB,KAAM,CAC/BJ,KAAKgB,KAAKC,SACV,M,CAEF,OACEC,EAACC,EAAM,CACLC,KAAMpB,KAAKqB,SAASD,KACpBlB,KAAMF,KAAKE,KACXoB,mBAAoBtB,KAAKC,gBACzBsB,oBAAqBvB,KAAKI,cAC1BoB,SAAU,M,6BA7DaC,EAAA,CAA5BC,K,+BACwBD,EAAA,CAAxBE,K","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":["RefineModalBody","_","children","h","part","slot","class","RefineModalFiltersSection","i18n","withAutomaticFacets","withFacets","Fragment","t","name","RefineModalFiltersClearButton","onClick","Button","style","text","RefineModalSortSection","onSelect","onChange","icon","SortIcon","atomicRefineModalCss","AtomicRefineModalStyle0","AtomicRefineModal","this","isOpen","collapseFacetsAfter","watchEnabled","host","querySelector","append","createFacetSlot","initialize","breadcrumbManager","buildBreadcrumbManager","bindings","engine","sort","buildSort","querySummary","buildQuerySummary","searchStatus","buildSearchStatus","facetManager","buildFacetManager","tabManager","buildTabManager","divSlot","document","createElement","setAttribute","addFacetColumnStyling","facets","store","getFacetElements","boundInterfaces","getBoundInterfaces","sortByDocumentPosition","facetsSection","horizontalFacetsSection","boundInterface","facetSection","findSection","push","horizontalFacetSection","triagedFacets","triageFacetsByParents","triagedFacet","values","sortedFacets","i","length","get","visibleFacets","invisibleFacets","sortFacetVisibility","getAllFacets","visibleFacetsClone","cloneFacets","invisibleFacetsClone","generator","makeAutomaticFacetGenerator","updateCollapseFacetsDependingOnFacetsVisibility","mainInterface","closest","Error","boundExternalInterfaces","Array","from","querySelectorAll","filter","atomicExternal","map","facet","classList","remove","popoverClass","isRefineModalFacet","clone","cloneNode","isCollapsed","state","automaticFacetSet","desiredCount","el","display","flexDirection","gap","options","sortOptions","select","e","composedPath","option","find","expression","value","sortBy","criteria","buildOption","label","tabs","shouldDisplayOnCurrentTab","included","excluded","tabManagerState","activeTab","selected","isSortedBy","renderSort","renderFilters","hasFacetElements","hasAutomaticFacets","set","undefined","breadcrumbManagerState","hasBreadcrumbs","deselectAll","render","RefineModal","key","onClose","title","numberOfItems","querySummaryState","total","openButton","componentDidLoad","__decorate","InitializeBindings","BindStateToController"],"sources":["src/components/common/refine-modal/stencil-body.tsx","src/components/common/refine-modal/stencil-filters.tsx","src/components/common/refine-modal/stencil-sort.tsx","src/components/search/atomic-refine-modal/atomic-refine-modal.pcss?tag=atomic-refine-modal&encapsulation=shadow","src/components/search/atomic-refine-modal/atomic-refine-modal.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\nexport const RefineModalBody: FunctionalComponent = (_, children) => {\n return (\n <aside\n part=\"content\"\n slot=\"body\"\n class=\"flex flex-col w-full\"\n >\n {children}\n </aside>\n );\n};\n","import {FunctionalComponent, Fragment, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\ninterface RefineModalFiltersSectionProps {\n i18n: i18n;\n withFacets: boolean;\n withAutomaticFacets: boolean;\n}\nexport const RefineModalFiltersSection: FunctionalComponent<\n RefineModalFiltersSectionProps\n> = ({i18n, withAutomaticFacets, withFacets}, children) => {\n return (\n <Fragment>\n <div part=\"filter-section\" class=\"mt-8 mb-3 flex w-full justify-between\">\n <h1\n part=\"section-title section-filters-title\"\n class=\"truncate text-2xl font-bold\"\n >\n {i18n.t('filters')}\n </h1>\n {children}\n </div>\n {withFacets && <slot name=\"facets\"></slot>}\n {withAutomaticFacets && <slot name=\"automatic-facets\"></slot>}\n </Fragment>\n );\n};\n\ninterface RefineModalFiltersClearButtonProps {\n i18n: i18n;\n onClick: () => void;\n}\nexport const RefineModalFiltersClearButton: FunctionalComponent<\n RefineModalFiltersClearButtonProps\n> = ({i18n, onClick}) => {\n return (\n <Button\n onClick={onClick}\n style=\"text-primary\"\n text={i18n.t('clear')}\n class=\"px-2 py-1\"\n part=\"filter-clear-all\"\n ></Button>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport SortIcon from '../../../images/sort.svg';\n\ninterface RefineModalSortSectionProps {\n i18n: i18n;\n onSelect: (e: Event) => void;\n}\nexport const RefineModalSortSection: FunctionalComponent<\n RefineModalSortSectionProps\n> = ({i18n, onSelect}, children) => {\n return (\n <Fragment>\n <h1\n part=\"section-title section-sort-title\"\n class=\"mb-3 truncate text-2xl font-bold\"\n >\n {i18n.t('sort')}\n </h1>\n <div part=\"select-wrapper\" class=\"relative\">\n <select\n class=\"btn-outline-neutral w-full grow cursor-pointer appearance-none rounded-lg px-6 py-5 text-lg font-bold\"\n part=\"select\"\n aria-label={i18n.t('sort-by')}\n onChange={onSelect}\n >\n {children}\n </select>\n <div\n part=\"select-icon-wrapper\"\n class=\"pointer-events-none absolute top-0 right-0 bottom-0 flex items-center justify-center pr-6\"\n >\n <atomic-icon\n part=\"select-icon\"\n icon={SortIcon}\n class=\"h-6 w-6\"\n ></atomic-icon>\n </div>\n </div>\n </Fragment>\n );\n};\n","@import '../../../global/global.pcss';\n\n/* This stylesheet can be removed once atomic-refine-modal is migrated to lit.\n\nThe remaining styles can also be removed as they have been moved to the refine-modal/sort.ts functional component*/\n\n/**\n * @prop --atomic-refine-modal-facet-margin: The spacing between the modal's facets.\n */\nselect:hover + div,\nselect:focus-visible + div {\n @apply text-primary-light;\n}\n","import {\n BreadcrumbManager,\n buildBreadcrumbManager,\n BreadcrumbManagerState,\n QuerySummary,\n QuerySummaryState,\n FacetManagerState,\n Sort,\n buildSort,\n SortState,\n buildQuerySummary,\n buildSearchStatus,\n SearchStatus,\n FacetManager,\n buildFacetManager,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Element, Watch} from '@stencil/core';\nimport {\n AtomicInterface,\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {sortByDocumentPosition} from '../../../utils/utils';\nimport {findSection} from '../../common/atomic-layout-section/atomic-layout-section-utils';\nimport {popoverClass} from '../../common/facets/popover/popover-type';\nimport {\n BaseFacetElement,\n sortFacetVisibility,\n triageFacetsByParents,\n collapseFacetsAfter,\n} from '../../common/facets/stencil-facet-common';\nimport {isRefineModalFacet} from '../../common/interface/store';\nimport {RefineModalBody} from '../../common/refine-modal/stencil-body';\nimport {\n RefineModalFiltersClearButton,\n RefineModalFiltersSection,\n} from '../../common/refine-modal/stencil-filters';\nimport {RefineModal} from '../../common/refine-modal/stencil-modal';\nimport {RefineModalSortSection} from '../../common/refine-modal/stencil-sort';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport {SortDropdownOption} from '../atomic-search-interface/store';\n\n/**\n * The `atomic-refine-modal` is automatically created as a child of the `atomic-search-interface` when the `atomic-refine-toggle` is initialized.\n *\n * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.\n *\n * @part container - The modal's outermost container.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header of the modal, containing the title.\n * @part title - The title of the modal.\n * @part close-button - The button in the header that closes the modal.\n * @part close-icon - The icon of the close button.\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 content - The wrapper around the content inside the body of the modal.\n * @part section-title - The title for each section.\n * @part section-sort-title - The title for the sort section.\n * @part section-filters-title - The title for the filters section.\n * @part select-wrapper - The wrapper around the select element, used to position the icon.\n * @part select - The `<select>` element of the dropdown list.\n * @part select-icon-wrapper - The wrapper around the sort icon that's used to align it.\n * @part select-icon - The select dropdown's sort icon.\n * @part filter-section - The section containing facets and the \"filters\" title.\n * @part filter-clear-all - The button that resets all actively selected facet values.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer of the modal.\n * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.\n * @part footer-button - The button in the footer that closes the modal.\n * @part footer-button-text - The text inside the button in the footer that closes the modal.\n * @part footer-button-count - The count inside the button in the footer that closes the modal.\n */\n@Component({\n tag: 'atomic-refine-modal',\n styleUrl: 'atomic-refine-modal.pcss',\n shadow: true,\n})\nexport class AtomicRefineModal implements InitializableComponent {\n private sort!: Sort;\n private breadcrumbManager!: BreadcrumbManager;\n public querySummary!: QuerySummary;\n public searchStatus!: SearchStatus;\n public facetManager!: FacetManager;\n @InitializeBindings() public bindings!: Bindings;\n @Element() public host!: HTMLElement;\n\n @BindStateToController('querySummary')\n @State()\n public querySummaryState!: QuerySummaryState;\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n @BindStateToController('facetManager')\n @State()\n public facetManagerState!: FacetManagerState;\n @State() @BindStateToController('sort') public sortState!: SortState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n @Prop({mutable: true}) openButton?: HTMLElement;\n\n @Prop({reflect: true, mutable: true}) isOpen = false;\n\n /**\n * The number of expanded facets inside the refine modal.\n * Remaining facets are automatically collapsed.\n *\n * Using the value `0` collapses all facets.\n */\n @Prop({reflect: true}) public collapseFacetsAfter = 0;\n\n @Watch('isOpen')\n watchEnabled(isOpen: boolean) {\n if (isOpen) {\n if (this.host.querySelector('div[slot=\"facets\"]')) {\n return;\n }\n\n this.host.append(this.createFacetSlot());\n }\n }\n\n public initialize() {\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.sort = buildSort(this.bindings.engine);\n this.querySummary = buildQuerySummary(this.bindings.engine);\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.facetManager = buildFacetManager(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.watchEnabled(this.isOpen);\n }\n\n private createFacetSlot(): HTMLDivElement {\n const divSlot = document.createElement('div');\n divSlot.setAttribute('slot', 'facets');\n this.addFacetColumnStyling(divSlot);\n\n const facets = this.bindings.store.getFacetElements() as BaseFacetElement[];\n const boundInterfaces = this.getBoundInterfaces().sort(\n sortByDocumentPosition\n );\n const facetsSection = [];\n const horizontalFacetsSection = [];\n for (const boundInterface of boundInterfaces) {\n const facetSection = findSection(boundInterface, 'facets');\n if (facetSection) {\n facetsSection.push(facetSection);\n }\n const horizontalFacetSection = findSection(\n boundInterface,\n 'horizontal-facets'\n );\n if (horizontalFacetSection) {\n horizontalFacetsSection.push(horizontalFacetSection);\n }\n }\n const triagedFacets = triageFacetsByParents(\n facets,\n ...horizontalFacetsSection,\n ...facetsSection\n );\n for (const triagedFacet of triagedFacets.values()) {\n triagedFacet.sort(sortByDocumentPosition);\n }\n\n const sortedFacets = [];\n for (let i = 0; i < boundInterfaces.length; i++) {\n sortedFacets.push(...(triagedFacets.get(facetsSection[i]) || []));\n sortedFacets.push(\n ...(triagedFacets.get(horizontalFacetsSection[i]) || [])\n );\n }\n sortedFacets.push(...(triagedFacets.get(null) || []));\n\n const {visibleFacets, invisibleFacets} = sortFacetVisibility(\n sortedFacets,\n this.bindings.store.getAllFacets()\n );\n\n const visibleFacetsClone = this.cloneFacets(visibleFacets);\n const invisibleFacetsClone = this.cloneFacets(invisibleFacets);\n\n collapseFacetsAfter(visibleFacetsClone, this.collapseFacetsAfter);\n\n divSlot.append(...visibleFacetsClone);\n divSlot.append(...invisibleFacetsClone);\n\n const generator = this.makeAutomaticFacetGenerator();\n if (generator) {\n generator.updateCollapseFacetsDependingOnFacetsVisibility(\n this.collapseFacetsAfter,\n visibleFacets.length\n );\n divSlot.append(generator);\n }\n\n return divSlot;\n }\n\n private getBoundInterfaces(): AtomicInterface[] {\n const mainInterface: AtomicInterface | null =\n this.host.closest('atomic-search-interface') ??\n this.host.closest('atomic-external')?.boundInterface ??\n null;\n if (!mainInterface) {\n throw new Error('Cannot find bound interface');\n }\n const boundExternalInterfaces = Array.from(\n document.querySelectorAll('atomic-external')\n ).filter(\n (atomicExternal) => atomicExternal.boundInterface === mainInterface\n );\n return [...boundExternalInterfaces, mainInterface];\n }\n\n private cloneFacets(facets: BaseFacetElement[]): BaseFacetElement[] {\n return facets.map((facet, i) => {\n facet.classList.remove(popoverClass);\n facet.setAttribute(isRefineModalFacet, '');\n const clone = facet.cloneNode(true) as BaseFacetElement;\n clone.isCollapsed =\n this.collapseFacetsAfter === -1\n ? false\n : i + 1 > this.collapseFacetsAfter;\n return clone;\n });\n }\n\n private makeAutomaticFacetGenerator() {\n if (!this.bindings.engine.state.automaticFacetSet?.desiredCount) {\n return;\n }\n const generator = document.createElement(\n 'atomic-automatic-facet-generator'\n );\n\n generator.setAttribute(\n 'desired-count',\n `${this.bindings.engine.state.automaticFacetSet?.desiredCount}`\n );\n this.addFacetColumnStyling(generator);\n\n return generator;\n }\n\n private addFacetColumnStyling(el: HTMLElement) {\n el.style.display = 'flex';\n el.style.flexDirection = 'column';\n el.style.gap = 'var(--atomic-refine-modal-facet-margin, 20px)';\n }\n\n private get options() {\n return this.bindings.store.state.sortOptions;\n }\n\n private select(e: Event) {\n const select = e.composedPath()[0] as HTMLSelectElement;\n const option = this.options.find(\n (option) => option.expression === select.value\n );\n option && this.sort.sortBy(option.criteria);\n }\n\n private buildOption({expression, criteria, label, tabs}: SortDropdownOption) {\n if (\n !shouldDisplayOnCurrentTab(\n [...tabs.included],\n [...tabs.excluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return;\n }\n return (\n <option value={expression} selected={this.sort.isSortedBy(criteria)}>\n {this.bindings.i18n.t(label)}\n </option>\n );\n }\n\n private renderSort() {\n if (!this.options.length) {\n return;\n }\n\n return (\n <RefineModalSortSection\n i18n={this.bindings.i18n}\n onSelect={(option) => this.select(option)}\n >\n {this.options.map((option) => this.buildOption(option))}\n </RefineModalSortSection>\n );\n }\n\n private renderFilters() {\n const hasFacetElements = this.bindings.store.getFacetElements().length > 0;\n const hasAutomaticFacets =\n this.bindings.engine.state.automaticFacetSet?.set !== undefined;\n\n if (!hasFacetElements && !hasAutomaticFacets) {\n return;\n }\n\n const {i18n} = this.bindings;\n\n return (\n <RefineModalFiltersSection\n i18n={i18n}\n withFacets={hasFacetElements}\n withAutomaticFacets={hasAutomaticFacets}\n >\n {this.breadcrumbManagerState.hasBreadcrumbs && (\n <RefineModalFiltersClearButton\n i18n={i18n}\n onClick={() => this.breadcrumbManager.deselectAll()}\n />\n )}\n </RefineModalFiltersSection>\n );\n }\n\n public render() {\n return (\n <RefineModal\n i18n={this.bindings.i18n}\n host={this.host}\n isOpen={this.isOpen}\n onClose={() => (this.isOpen = false)}\n title={this.bindings.i18n.t('sort-and-filter')}\n numberOfItems={this.querySummaryState.total}\n openButton={this.openButton}\n >\n <RefineModalBody>\n {this.renderSort()}\n {this.renderFilters()}\n </RefineModalBody>\n </RefineModal>\n );\n }\n\n public componentDidLoad() {\n this.host.style.display = '';\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["atomicInsightResultQuickviewActionCss","AtomicInsightResultQuickviewActionStyle0","AtomicInsightResultQuickviewAction","this","sandbox","onNextQuickview","evt","stopImmediatePropagation","quickview","next","onPreviousQuickview","previous","focusTarget","buttonFocusTarget","FocusTargetController","initialize","buildQuickview","bindings","engine","options","result","Schema","StringValue","required","regex","validate","addQuickviewModalIfNeeded","quickviewModalRef","quickviewModal","interfaceElement","querySelector","document","createElement","setAttribute","appendChild","updateModalContent","state","content","total","quickviewState","totalResults","current","currentResult","modalCloseCallback","focus","quickviewAriaMessage","isLoading","i18n","t","first","last","title","onClick","event","stopPropagation","fetchResultContent","shouldRenderQuickview","resultHasPreview","render","h","IconButton","key","partPrefix","style","ref","setTarget","icon","QuickviewIcon","__decorate","InitializeBindings","ResultContext","BindStateToController","AriaLiveRegion"],"sources":["src/components/insight/atomic-insight-result-quickview-action/atomic-insight-result-quickview-action.pcss?tag=atomic-insight-result-quickview-action","src/components/insight/atomic-insight-result-quickview-action/atomic-insight-result-quickview-action.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {\n buildQuickview,\n QuickviewState,\n Quickview,\n Result,\n} from '@coveo/headless';\nimport {Component, Listen, Prop, State, h, Element} from '@stencil/core';\nimport QuickviewIcon from '../../../images/preview.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n AriaLiveRegion,\n FocusTargetController,\n} from '../../../utils/stencil-accessibility-utils';\nimport {IconButton} from '../../common/stencil-iconButton';\nimport {Bindings} from '../../search/atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../../search/result-template-components/result-template-decorators';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-result-quickview-action',\n styleUrl: 'atomic-insight-result-quickview-action.pcss',\n})\nexport class AtomicInsightResultQuickviewAction\n implements InitializableComponent\n{\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n private buttonFocusTarget?: FocusTargetController;\n\n @Element() host!: HTMLElement;\n @State() public error!: Error;\n\n public quickview!: Quickview;\n\n @BindStateToController('quickview')\n @State()\n public quickviewState!: QuickviewState;\n\n /**\n * The `sandbox` attribute to apply to the quickview iframe.\n *\n * The quickview is loaded inside an iframe with a [`sandbox`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox) attribute for security reasons.\n *\n * This attribute exists primarily to protect against potential XSS attacks that could originate from the document being displayed.\n *\n * By default, the sandbox attributes are: `allow-popups allow-top-navigation allow-same-origin`.\n *\n * `allow-same-origin` is not optional, and must always be included in the list of allowed capabilities for the component to function properly.\n */\n @Prop()\n public sandbox = 'allow-popups allow-top-navigation allow-same-origin';\n\n @AriaLiveRegion('quickview')\n protected quickviewAriaMessage!: string;\n\n @Listen('atomic/quickview/next', {target: 'body'})\n public onNextQuickview(evt: Event) {\n evt.stopImmediatePropagation();\n this.quickview.next();\n }\n\n @Listen('atomic/quickview/previous', {target: 'body'})\n public onPreviousQuickview(evt: Event) {\n evt.stopImmediatePropagation();\n this.quickview.previous();\n }\n\n private quickviewModalRef?: HTMLAtomicQuickviewModalElement;\n\n public get focusTarget() {\n if (!this.buttonFocusTarget) {\n this.buttonFocusTarget = new FocusTargetController(this);\n }\n return this.buttonFocusTarget;\n }\n\n public initialize() {\n this.quickview = buildQuickview(this.bindings.engine, {\n options: {result: this.result},\n });\n new Schema({\n sandbox: new StringValue({\n required: true,\n regex: /allow-same-origin/,\n }),\n }).validate({sandbox: this.sandbox});\n }\n\n private addQuickviewModalIfNeeded() {\n if (this.quickviewModalRef) {\n return;\n }\n\n const quickviewModal = this.bindings.interfaceElement.querySelector(\n 'atomic-quickview-modal'\n );\n if (quickviewModal) {\n this.quickviewModalRef = quickviewModal;\n return;\n }\n this.quickviewModalRef = document.createElement('atomic-quickview-modal');\n this.quickviewModalRef.setAttribute('sandbox', this.sandbox);\n this.bindings.interfaceElement.appendChild(this.quickviewModalRef);\n }\n\n private updateModalContent() {\n if (this.quickviewModalRef && this.quickview.state.content) {\n this.quickviewModalRef.content = this.quickview.state.content;\n this.quickviewModalRef.result = this.result;\n this.quickviewModalRef.total = this.quickviewState.totalResults;\n this.quickviewModalRef.current = this.quickviewState.currentResult;\n this.quickviewModalRef.modalCloseCallback = () =>\n this.focusTarget.focus();\n\n this.quickviewAriaMessage = this.quickviewState.isLoading\n ? this.bindings.i18n.t('quickview-loading')\n : this.bindings.i18n.t('quickview-loaded', {\n first: this.quickviewState.currentResult,\n last: this.quickviewState.totalResults,\n title: this.result.title,\n });\n }\n }\n\n private onClick(event?: MouseEvent) {\n event?.stopPropagation();\n this.quickview.fetchResultContent();\n }\n\n private get shouldRenderQuickview() {\n return this.quickviewState.resultHasPreview;\n }\n\n public render() {\n this.addQuickviewModalIfNeeded();\n this.updateModalContent();\n if (this.shouldRenderQuickview) {\n return (\n <IconButton\n partPrefix=\"result-action\"\n style=\"outline-neutral\"\n ref={this.focusTarget.setTarget}\n icon={QuickviewIcon}\n title={this.bindings.i18n.t('quickview')}\n onClick={() => this.onClick()}\n />\n );\n }\n }\n}\n"],"mappings":"4kBAAA,MAAMA,EAAwC,+8iEAC9C,MAAAC,EAAeD,E,iXC4BFE,EAAkC,M,yBA6BtCC,KAAAC,QAAU,sD,gEAAA,qD,CAMV,eAAAC,CAAgBC,GACrBA,EAAIC,2BACJJ,KAAKK,UAAUC,M,CAIV,mBAAAC,CAAoBJ,GACzBA,EAAIC,2BACJJ,KAAKK,UAAUG,U,CAKjB,eAAWC,GACT,IAAKT,KAAKU,kBAAmB,CAC3BV,KAAKU,kBAAoB,IAAIC,EAAsBX,K,CAErD,OAAOA,KAAKU,iB,CAGP,UAAAE,GACLZ,KAAKK,UAAYQ,EAAeb,KAAKc,SAASC,OAAQ,CACpDC,QAAS,CAACC,OAAQjB,KAAKiB,UAEzB,IAAIC,EAAO,CACTjB,QAAS,IAAIkB,EAAY,CACvBC,SAAU,KACVC,MAAO,wBAERC,SAAS,CAACrB,QAASD,KAAKC,S,CAGrB,yBAAAsB,GACN,GAAIvB,KAAKwB,kBAAmB,CAC1B,M,CAGF,MAAMC,EAAiBzB,KAAKc,SAASY,iBAAiBC,cACpD,0BAEF,GAAIF,EAAgB,CAClBzB,KAAKwB,kBAAoBC,EACzB,M,CAEFzB,KAAKwB,kBAAoBI,SAASC,cAAc,0BAChD7B,KAAKwB,kBAAkBM,aAAa,UAAW9B,KAAKC,SACpDD,KAAKc,SAASY,iBAAiBK,YAAY/B,KAAKwB,kB,CAG1C,kBAAAQ,GACN,GAAIhC,KAAKwB,mBAAqBxB,KAAKK,UAAU4B,MAAMC,QAAS,CAC1DlC,KAAKwB,kBAAkBU,QAAUlC,KAAKK,UAAU4B,MAAMC,QACtDlC,KAAKwB,kBAAkBP,OAASjB,KAAKiB,OACrCjB,KAAKwB,kBAAkBW,MAAQnC,KAAKoC,eAAeC,aACnDrC,KAAKwB,kBAAkBc,QAAUtC,KAAKoC,eAAeG,cACrDvC,KAAKwB,kBAAkBgB,mBAAqB,IAC1CxC,KAAKS,YAAYgC,QAEnBzC,KAAK0C,qBAAuB1C,KAAKoC,eAAeO,UAC5C3C,KAAKc,SAAS8B,KAAKC,EAAE,qBACrB7C,KAAKc,SAAS8B,KAAKC,EAAE,mBAAoB,CACvCC,MAAO9C,KAAKoC,eAAeG,cAC3BQ,KAAM/C,KAAKoC,eAAeC,aAC1BW,MAAOhD,KAAKiB,OAAO+B,O,EAKrB,OAAAC,CAAQC,GACdA,GAAOC,kBACPnD,KAAKK,UAAU+C,oB,CAGjB,yBAAYC,GACV,OAAOrD,KAAKoC,eAAekB,gB,CAGtB,MAAAC,GACLvD,KAAKuB,4BACLvB,KAAKgC,qBACL,GAAIhC,KAAKqD,sBAAuB,CAC9B,OACEG,EAACC,EAAU,CAAAC,IAAA,2CACTC,WAAW,gBACXC,MAAM,kBACNC,IAAK7D,KAAKS,YAAYqD,UACtBC,KAAMC,EACNhB,MAAOhD,KAAKc,SAAS8B,KAAKC,EAAE,aAC5BI,QAAS,IAAMjD,KAAKiD,W,8BAxHCgB,EAAA,CAA5BC,K,+BACwBD,EAAA,CAAxBE,K,6BAWMF,EAAA,CAFNG,EAAsB,c,qCAmBbH,EAAA,CADTI,EAAe,c","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["ResultsPlaceholdersGuard","props","displayPlaceholders","display","h","TableDisplayResultsPlaceholder","ResultsPlaceholder","Array","from","length","numberOfPlaceholders","_","i","key","density","imageSize","rows"],"sources":["src/components/common/atomic-result-placeholder/stencil-placeholders.tsx"],"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"],"mappings":"0CAmBaA,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,8B","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["t","s","module","exports","this","n","i","e","r","o","u","d","a","h","years","months","days","hours","minutes","seconds","milliseconds","weeks","c","g","f","$l","m","p","l","$","Math","ceil","floor","y","abs","v","negative","format","$d","$ms","parseFromMilliseconds","Object","keys","forEach","calMilliseconds","match","slice","map","Number","prototype","reduce","toISOString","round","toJSON","Y","YY","YYYY","M","MM","D","DD","H","HH","mm","ss","SSS","replace","String","as","get","add","subtract","locale","clone","humanize","fromNow","valueOf","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","$utils","duration","isDuration","bind","dayjs","extend","AtomicResultTimespan","unit","initialize","Schema","field","StringValue","required","emptyAllowed","validate","value","error","Error","isNaN","render","bindings","i18n","count","ResultTemplatesHelpers","getResultProperty","result","__decorate","InitializeBindings","ResultContext"],"sources":["../../node_modules/dayjs/plugin/duration.js","src/components/search/result-template-components/atomic-result-timespan/atomic-result-timespan.tsx"],"sourcesContent":["!function(t,s){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=s():\"function\"==typeof define&&define.amd?define(s):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_duration=s()}(this,(function(){\"use strict\";var t,s,n=1e3,i=6e4,e=36e5,r=864e5,o=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,d=2628e6,a=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,h={years:u,months:d,days:r,hours:e,minutes:i,seconds:n,milliseconds:1,weeks:6048e5},c=function(t){return t instanceof g},f=function(t,s,n){return new g(t,n,s.$l)},m=function(t){return s.p(t)+\"s\"},l=function(t){return t<0},$=function(t){return l(t)?Math.ceil(t):Math.floor(t)},y=function(t){return Math.abs(t)},v=function(t,s){return t?l(t)?{negative:!0,format:\"\"+y(t)+s}:{negative:!1,format:\"\"+t+s}:{negative:!1,format:\"\"}},g=function(){function l(t,s,n){var i=this;if(this.$d={},this.$l=n,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),s)return f(t*h[m(s)],this);if(\"number\"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if(\"object\"==typeof t)return Object.keys(t).forEach((function(s){i.$d[m(s)]=t[s]})),this.calMilliseconds(),this;if(\"string\"==typeof t){var e=t.match(a);if(e){var r=e.slice(2).map((function(t){return null!=t?Number(t):0}));return this.$d.years=r[0],this.$d.months=r[1],this.$d.weeks=r[2],this.$d.days=r[3],this.$d.hours=r[4],this.$d.minutes=r[5],this.$d.seconds=r[6],this.calMilliseconds(),this}}return this}var y=l.prototype;return y.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce((function(s,n){return s+(t.$d[n]||0)*h[n]}),0)},y.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=$(t/u),t%=u,this.$d.months=$(t/d),t%=d,this.$d.days=$(t/r),t%=r,this.$d.hours=$(t/e),t%=e,this.$d.minutes=$(t/i),t%=i,this.$d.seconds=$(t/n),t%=n,this.$d.milliseconds=t},y.toISOString=function(){var t=v(this.$d.years,\"Y\"),s=v(this.$d.months,\"M\"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var i=v(n,\"D\"),e=v(this.$d.hours,\"H\"),r=v(this.$d.minutes,\"M\"),o=this.$d.seconds||0;this.$d.milliseconds&&(o+=this.$d.milliseconds/1e3,o=Math.round(1e3*o)/1e3);var u=v(o,\"S\"),d=t.negative||s.negative||i.negative||e.negative||r.negative||u.negative,a=e.format||r.format||u.format?\"T\":\"\",h=(d?\"-\":\"\")+\"P\"+t.format+s.format+i.format+a+e.format+r.format+u.format;return\"P\"===h||\"-P\"===h?\"P0D\":h},y.toJSON=function(){return this.toISOString()},y.format=function(t){var n=t||\"YYYY-MM-DDTHH:mm:ss\",i={Y:this.$d.years,YY:s.s(this.$d.years,2,\"0\"),YYYY:s.s(this.$d.years,4,\"0\"),M:this.$d.months,MM:s.s(this.$d.months,2,\"0\"),D:this.$d.days,DD:s.s(this.$d.days,2,\"0\"),H:this.$d.hours,HH:s.s(this.$d.hours,2,\"0\"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,\"0\"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,\"0\"),SSS:s.s(this.$d.milliseconds,3,\"0\")};return n.replace(o,(function(t,s){return s||String(i[t])}))},y.as=function(t){return this.$ms/h[m(t)]},y.get=function(t){var s=this.$ms,n=m(t);return\"milliseconds\"===n?s%=1e3:s=\"weeks\"===n?$(s/h[n]):this.$d[n],s||0},y.add=function(t,s,n){var i;return i=s?t*h[m(s)]:c(t)?t.$ms:f(t,this).$ms,f(this.$ms+i*(n?-1:1),this)},y.subtract=function(t,s){return this.add(t,s,!0)},y.locale=function(t){var s=this.clone();return s.$l=t,s},y.clone=function(){return f(this.$ms,this)},y.humanize=function(s){return t().add(this.$ms,\"ms\").locale(this.$l).fromNow(!s)},y.valueOf=function(){return this.asMilliseconds()},y.milliseconds=function(){return this.get(\"milliseconds\")},y.asMilliseconds=function(){return this.as(\"milliseconds\")},y.seconds=function(){return this.get(\"seconds\")},y.asSeconds=function(){return this.as(\"seconds\")},y.minutes=function(){return this.get(\"minutes\")},y.asMinutes=function(){return this.as(\"minutes\")},y.hours=function(){return this.get(\"hours\")},y.asHours=function(){return this.as(\"hours\")},y.days=function(){return this.get(\"days\")},y.asDays=function(){return this.as(\"days\")},y.weeks=function(){return this.get(\"weeks\")},y.asWeeks=function(){return this.as(\"weeks\")},y.months=function(){return this.get(\"months\")},y.asMonths=function(){return this.as(\"months\")},y.years=function(){return this.get(\"years\")},y.asYears=function(){return this.as(\"years\")},l}(),p=function(t,s,n){return t.add(s.years()*n,\"y\").add(s.months()*n,\"M\").add(s.days()*n,\"d\").add(s.hours()*n,\"h\").add(s.minutes()*n,\"m\").add(s.seconds()*n,\"s\").add(s.milliseconds()*n,\"ms\")};return function(n,i,e){t=e,s=e().$utils(),e.duration=function(t,s){var n=e.locale();return f(t,{$l:n},s)},e.isDuration=c;var r=i.prototype.add,o=i.prototype.subtract;i.prototype.add=function(t,s){return c(t)?p(this,t,1):r.bind(this)(t,s)},i.prototype.subtract=function(t,s){return c(t)?p(this,t,-1):o.bind(this)(t,s)}}}));","import {Schema, StringValue} from '@coveo/bueno';\nimport {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, State} from '@stencil/core';\nimport dayjs from 'dayjs';\nimport {DurationUnitType} from 'dayjs/plugin/duration';\nimport duration from 'dayjs/plugin/duration';\nimport {InitializeBindings} from '../../../../utils/initialization-utils';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\ndayjs.extend(duration);\n\n/**\n * The `atomic-result-timespan` component renders a target result number field value as a duration.\n */\n@Component({\n tag: 'atomic-result-timespan',\n})\nexport class AtomicResultTimespan {\n @InitializeBindings()\n public bindings!: Bindings;\n\n @ResultContext() private result!: Result;\n\n @State() public error!: Error;\n\n /**\n * The target result field.\n * The component first looks for the field in the Result object, and then in the Result.raw object.\n * It is important to include the necessary field in the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) field!: string;\n /**\n * The unit of measurement of the field value.\n * Available units: https://day.js.org/docs/en/durations/creating\n */\n @Prop({reflect: true}) unit = 'ms';\n /**\n * The format to apply to the result field value.\n *\n * By default, the format is HH:mm:ss when the duration is under a day, and it is an approximation when longer (days, months or years).\n *\n * The string displayed when there is an approximation can be modified with [localization](https://docs.coveo.com/en/atomic/latest/usage/atomic-localization/).\n *\n * Available formats: https://day.js.org/docs/en/durations/format\n */\n @Prop({reflect: true}) format?: string;\n\n public initialize() {\n new Schema({\n field: new StringValue({required: true, emptyAllowed: false}),\n }).validate({\n field: this.field,\n });\n if (!this.value) {\n this.error = new Error(`No value found for field ${this.field}`);\n return;\n }\n if (isNaN(this.value)) {\n this.error = new Error(\n `Value ${this.value} for field ${this.field} is not a number`\n );\n }\n }\n\n public render() {\n const duration = dayjs.duration(this.value, this.unit as DurationUnitType);\n if (this.format) {\n return duration.format(this.format);\n }\n\n if (duration.asYears() >= 1) {\n return this.bindings.i18n.t('approx_year', {\n count: Math.round(duration.asYears()),\n });\n }\n\n if (duration.asMonths() >= 1) {\n return this.bindings.i18n.t('approx_month', {\n count: Math.round(duration.asMonths()),\n });\n }\n\n if (duration.asDays() >= 1) {\n return this.bindings.i18n.t('approx_day', {\n count: Math.round(duration.asDays()),\n });\n }\n\n return duration.format('HH:mm:ss');\n }\n\n private get value() {\n return ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n ) as number;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["atomicResultPrintableUriCss","AtomicResultPrintableUriStyle0","AtomicResultPrintableUri","this","listExpanded","maxNumberOfParts","focusTarget","expandedPartFocus","FocusTargetController","connectedCallback","Schema","NumberValue","min","validate","error","slotName","linkAttributes","getAttributesFromLinkSlot","host","initialize","interactiveResult","buildInteractiveResult","bindings","engine","options","result","getIndexOfEllipsis","parentsCount","valuesToHide","Math","max","valuesToShowBeforeEllipsis","renderEllipsis","h","i18n","t","onClick","e","stopPropagation","focusOnNextTarget","renderSeparator","allParents","parentsXml","parseXML","raw","parents","Array","from","getElementsByTagName","ellipsisIndex","length","map","parent","i","name","getAttribute","uri","renderLink","class","icon","Arrow","role","renderParents","slice","content","shouldSetTarget","LinkWithItemAnalytics","href","title","undefined","onSelect","select","onBeginDelayedSelect","beginDelayedSelect","onCancelPendingSelect","cancelPendingSelect","attributes","ref","el","setTarget","render","field","clickUri","__decorate","InitializeBindings","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-printable-uri/atomic-result-printable-uri.pcss?tag=atomic-result-printable-uri","src/components/search/result-template-components/atomic-result-printable-uri/atomic-result-printable-uri.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\natomic-result-printable-uri {\n max-width: 100%;\n word-break: break-word;\n\n a,\n button {\n @apply text-primary;\n\n &:hover,\n &:focus-visible {\n text-decoration: underline;\n @apply text-primary;\n }\n\n &:focus {\n outline: none;\n }\n\n &:visited {\n @apply text-visited;\n }\n }\n\n ul {\n display: flex;\n flex-wrap: wrap;\n }\n\n li {\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n\n a {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n white-space: nowrap;\n &:last-child {\n white-space: normal;\n\n &::after {\n content: none;\n }\n }\n\n .result-printable-uri-separator {\n display: inline-block;\n margin: 0 0.5rem;\n vertical-align: middle;\n width: 0.75rem;\n height: 0.75rem;\n @apply text-neutral-dark;\n }\n }\n}\n","import {Schema, NumberValue} from '@coveo/bueno';\nimport {\n buildInteractiveResult,\n InteractiveResult,\n Result,\n} from '@coveo/headless';\nimport {Component, Element, h, Prop, State, VNode} from '@stencil/core';\nimport Arrow from '../../../../images/arrow-right.svg';\nimport {InitializeBindings} from '../../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {parseXML} from '../../../../utils/utils';\nimport {getAttributesFromLinkSlot} from '../../../common/item-link/attributes-slot';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-printable-uri` component displays the URI, or path, to access a result.\n *\n * @slot attributes - Lets you pass [attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attributes) down to anchor elements, overriding other attributes.\n * To be used exclusively in anchor elements, such as: `<a slot=\"attributes\" target=\"_blank\" download></a>`.\n */\n@Component({\n tag: 'atomic-result-printable-uri',\n styleUrl: 'atomic-result-printable-uri.pcss',\n shadow: false,\n})\nexport class AtomicResultPrintableUri {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n @Element() public host!: HTMLElement;\n\n @State() listExpanded = false;\n @State() error!: Error;\n\n /**\n * The maximum number of Uri parts to display. This has to be over the minimum of `3` in order to be effective. Putting `Infinity` will disable the ellipsis.\n */\n @Prop({reflect: true}) maxNumberOfParts = 5;\n\n private expandedPartFocus?: FocusTargetController;\n\n private interactiveResult!: InteractiveResult;\n private linkAttributes?: Attr[];\n\n private get focusTarget() {\n if (!this.expandedPartFocus) {\n this.expandedPartFocus = new FocusTargetController(this);\n }\n return this.expandedPartFocus;\n }\n\n public connectedCallback() {\n try {\n new Schema({\n maxNumberOfParts: new NumberValue({min: 3}),\n }).validate({maxNumberOfParts: this.maxNumberOfParts});\n } catch (error) {\n this.error = error as Error;\n }\n const slotName = 'attributes';\n this.linkAttributes = getAttributesFromLinkSlot(this.host, slotName);\n }\n\n public initialize() {\n this.interactiveResult = buildInteractiveResult(this.bindings.engine, {\n options: {result: this.result},\n });\n }\n\n private getIndexOfEllipsis(parentsCount: number) {\n const valuesToHide = Math.max(2, parentsCount - this.maxNumberOfParts);\n const valuesToShowBeforeEllipsis = parentsCount - valuesToHide - 1;\n return valuesToShowBeforeEllipsis;\n }\n\n private renderEllipsis() {\n return (\n <li>\n <button\n aria-label={this.bindings.i18n.t('collapsed-uri-parts')}\n onClick={(e) => {\n e.stopPropagation();\n this.focusTarget.focusOnNextTarget();\n this.listExpanded = true;\n }}\n >\n ...\n </button>\n {this.renderSeparator()}\n </li>\n );\n }\n\n private get allParents() {\n const parentsXml = parseXML(`${this.result.raw.parents}`);\n const parents = Array.from(parentsXml.getElementsByTagName('parent'));\n const ellipsisIndex = this.getIndexOfEllipsis(parents.length);\n return parents.map((parent, i) => {\n const name = parent.getAttribute('name');\n const uri = parent.getAttribute('uri')!;\n return (\n <li>\n {this.renderLink(name, uri, i === ellipsisIndex)}\n {i === parents.length - 1 ? null : this.renderSeparator()}\n </li>\n );\n });\n }\n\n private renderSeparator() {\n return (\n <atomic-icon\n class=\"result-printable-uri-separator\"\n icon={Arrow}\n role=\"separator\"\n ></atomic-icon>\n );\n }\n\n private renderParents() {\n const parents = this.allParents;\n if (this.listExpanded || parents.length <= this.maxNumberOfParts) {\n return parents;\n }\n\n return [\n parents.slice(0, this.getIndexOfEllipsis(parents.length)),\n this.renderEllipsis(),\n parents.slice(-1),\n ];\n }\n\n private renderLink(\n content: VNode | string | null,\n uri: string,\n shouldSetTarget: boolean\n ) {\n return (\n <LinkWithItemAnalytics\n href={uri}\n title={typeof content === 'string' ? content : undefined}\n onSelect={() => this.interactiveResult.select()}\n onBeginDelayedSelect={() => this.interactiveResult.beginDelayedSelect()}\n onCancelPendingSelect={() =>\n this.interactiveResult.cancelPendingSelect()\n }\n attributes={this.linkAttributes}\n ref={\n shouldSetTarget\n ? (el?: HTMLAnchorElement) => this.focusTarget.setTarget(el)\n : undefined\n }\n >\n {content}\n </LinkWithItemAnalytics>\n );\n }\n\n public render() {\n const parents = this.renderParents();\n if (parents.length) {\n return (\n <ul aria-label={this.bindings.i18n.t('printable-uri')}>{parents}</ul>\n );\n }\n\n return this.renderLink(\n <atomic-result-text field=\"printableUri\"></atomic-result-text>,\n this.result.clickUri,\n false\n );\n }\n}\n"],"mappings":"snBAAA,MAAMA,EAA8B,62lEACpC,MAAAC,EAAeD,E,iXC0BFE,EAAwB,M,yBAK1BC,KAAAC,aAAe,MAMDD,KAAAE,iBAAmB,E,kBANlB,M,2CAMkB,C,CAO1C,eAAYC,GACV,IAAKH,KAAKI,kBAAmB,CAC3BJ,KAAKI,kBAAoB,IAAIC,EAAsBL,K,CAErD,OAAOA,KAAKI,iB,CAGP,iBAAAE,GACL,IACE,IAAIC,EAAO,CACTL,iBAAkB,IAAIM,EAAY,CAACC,IAAK,MACvCC,SAAS,CAACR,iBAAkBF,KAAKE,kB,CACpC,MAAOS,GACPX,KAAKW,MAAQA,C,CAEf,MAAMC,EAAW,aACjBZ,KAAKa,eAAiBC,EAA0Bd,KAAKe,KAAMH,E,CAGtD,UAAAI,GACLhB,KAAKiB,kBAAoBC,EAAuBlB,KAAKmB,SAASC,OAAQ,CACpEC,QAAS,CAACC,OAAQtB,KAAKsB,S,CAInB,kBAAAC,CAAmBC,GACzB,MAAMC,EAAeC,KAAKC,IAAI,EAAGH,EAAexB,KAAKE,kBACrD,MAAM0B,EAA6BJ,EAAeC,EAAe,EACjE,OAAOG,C,CAGD,cAAAC,GACN,OACEC,EAAA,UACEA,EAAA,uBACc9B,KAAKmB,SAASY,KAAKC,EAAE,uBACjCC,QAAUC,IACRA,EAAEC,kBACFnC,KAAKG,YAAYiC,oBACjBpC,KAAKC,aAAe,IAAI,GACzB,OAIFD,KAAKqC,kB,CAKZ,cAAYC,GACV,MAAMC,EAAaC,EAAS,GAAGxC,KAAKsB,OAAOmB,IAAIC,WAC/C,MAAMA,EAAUC,MAAMC,KAAKL,EAAWM,qBAAqB,WAC3D,MAAMC,EAAgB9C,KAAKuB,mBAAmBmB,EAAQK,QACtD,OAAOL,EAAQM,KAAI,CAACC,EAAQC,KAC1B,MAAMC,EAAOF,EAAOG,aAAa,QACjC,MAAMC,EAAMJ,EAAOG,aAAa,OAChC,OACEtB,EAAA,UACG9B,KAAKsD,WAAWH,EAAME,EAAKH,IAAMJ,GACjCI,IAAMR,EAAQK,OAAS,EAAI,KAAO/C,KAAKqC,kBACrC,G,CAKH,eAAAA,GACN,OACEP,EAAA,eACEyB,MAAM,iCACNC,KAAMC,EACNC,KAAK,a,CAKH,aAAAC,GACN,MAAMjB,EAAU1C,KAAKsC,WACrB,GAAItC,KAAKC,cAAgByC,EAAQK,QAAU/C,KAAKE,iBAAkB,CAChE,OAAOwC,C,CAGT,MAAO,CACLA,EAAQkB,MAAM,EAAG5D,KAAKuB,mBAAmBmB,EAAQK,SACjD/C,KAAK6B,iBACLa,EAAQkB,OAAO,G,CAIX,UAAAN,CACNO,EACAR,EACAS,GAEA,OACEhC,EAACiC,EAAqB,CACpBC,KAAMX,EACNY,aAAcJ,IAAY,SAAWA,EAAUK,UAC/CC,SAAU,IAAMnE,KAAKiB,kBAAkBmD,SACvCC,qBAAsB,IAAMrE,KAAKiB,kBAAkBqD,qBACnDC,sBAAuB,IACrBvE,KAAKiB,kBAAkBuD,sBAEzBC,WAAYzE,KAAKa,eACjB6D,IACEZ,EACKa,GAA2B3E,KAAKG,YAAYyE,UAAUD,GACvDT,WAGLL,E,CAKA,MAAAgB,GACL,MAAMnC,EAAU1C,KAAK2D,gBACrB,GAAIjB,EAAQK,OAAQ,CAClB,OACEjB,EAAA,mBAAgB9B,KAAKmB,SAASY,KAAKC,EAAE,kBAAmBU,E,CAI5D,OAAO1C,KAAKsD,WACVxB,EAAA,sBAAoBgD,MAAM,iBAC1B9E,KAAKsB,OAAOyD,SACZ,M,6BA9IyBC,EAAA,CAA5BC,K,+BACwBD,EAAA,CAAxBE,K","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["SubmitButton","bindings","disabled","onClick","h","part","class","Button","style","ariaLabel","i18n","t","icon","SearchSlimIcon","atomicSearchBoxCss","AtomicSearchBoxStyle0","AtomicSearchBox","this","searchBoxSuggestionEventsQueue","isExpanded","numberOfQueries","suggestionTimeout","suggestionDelay","disableSearch","minimumQueryLength","clearFilters","enableQuerySyntax","disconnectedCallback","updateBreakpoints","once","host","renderTextBox","searchLabel","props","loading","searchBoxState","isLoading","value","title","onFocus","onInput","e","target","onKeyDown","onClear","announceClearSearchBoxToScreenReader","searchBox","clear","suggestionManager","clearSuggestions","popup","id","activeDescendant","expanded","hasSuggestions","SearchTextArea","textAreaRef","ref","el","triggerTextAreaChange","isStandaloneSearchBox","initialize","randomID","initializeSearchboxController","initializeSuggestionManager","updateRedirectionUrl","redirectionUrl","updateRedirectUrl","registerNewSearchBoxController","buildStandaloneSearchBox","engine","options","searchBoxOptions","overwrite","buildSearchBox","componentWillUpdate","redirectTo","analytics","data","storage","SafeStorage","setJSON","StorageItems","STANDALONE_SEARCH_BOX_DATA","afterRedirection","event","redirect","emit","defaultPrevented","window","location","href","registerSuggestions","push","registerSuggestionsFromEvent","suggestionBindings","registerSearchboxSuggestionEvents","forEach","evt","watchRedirectionUrl","SuggestionManager","getNumberOfSuggestionsToDisplay","updateQuery","query","updateText","getSearchBoxValue","getSuggestionTimeout","getSuggestionDelay","getHost","getLogger","logger","initializeSuggestions","spreadProperties","partialSuggestionBindings","Object","defineProperties","get","enumerable","searchBoxController","isStandalone","numberOfSuggestions","highlightOptions","notMatchDelimiters","open","close","correctionDelimiters","isSearchDisabledForEndUser","triggerSuggestions","announceNewSuggestionsToScreenReader","onSubmit","keyboardActiveDescendant","submit","key","preventDefault","focusNextValue","announceNewActiveSuggestionToScreenReader","focusPreviousValue","hasActiveDescendant","state","focusPanel","updateKeyboardActiveDescendant","dispatchEvent","Event","renderSuggestion","item","index","lastIndex","side","isSelected","hideIfLast","suggestion","isDoubleList","onSuggestionClick","onMouseOver","onSuggestionMouseOver","renderPanel","elements","setRef","getRef","length","onMouseDown","map","shouldShowSuggestions","renderSuggestions","role","leftSuggestionElements","leftPanel","rightSuggestionElements","rightPanel","renderAbsolutePositionSpacer","rows","queryValue","isNullOrUndefined","trim","getSearchInputLabel","isMacOS","hasKeyboard","activeDescendantElement","suggestionsAriaMessage","elsLength","allSuggestionElements","filter","elementHasQuery","searchBoxAriaMessage","count","renderSlotContent","hasDefaultSlot","getDefaultSlotFromHost","render","isDisabled","suggestions","Host","SearchBoxWrapper","onFocusout","isFocusingOut","__decorate","InitializeBindings","BindStateToController","AriaLiveRegion"],"sources":["src/components/common/search-box/stencil-submit-button.tsx","src/components/search/atomic-search-box/atomic-search-box.pcss?tag=atomic-search-box&encapsulation=shadow","src/components/search/atomic-search-box/atomic-search-box.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport SearchSlimIcon from '../../../images/search-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button} from '../stencil-button';\n\ninterface Props {\n bindings: AnyBindings;\n disabled: boolean;\n onClick: () => void;\n}\n\nexport const SubmitButton: FunctionalComponent<Props> = ({\n bindings,\n disabled,\n onClick,\n}) => (\n <div\n part=\"submit-button-wrapper\"\n class=\"mr-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-primary\"\n class=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full\"\n part=\"submit-button\"\n ariaLabel={bindings.i18n.t('search')}\n onClick={() => {\n onClick?.();\n }}\n disabled={disabled}\n >\n <atomic-icon\n part=\"submit-icon\"\n icon={SearchSlimIcon}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","@import '../../../global/global.pcss';\n@import '../../common/search-box/search-box.pcss';\n\n[part~='instant-results-item'] {\n @apply p-3;\n}\n\n[part~='instant-results-show-all'] {\n @apply border-t-neutral justify-center border-t py-1;\n margin-top: auto;\n box-sizing: content-box;\n button {\n background-color: transparent;\n }\n}\n\n[part~='suggestions-left'] + [part~='suggestions-right'] {\n @apply border-l-neutral border-l;\n}\n\n[part~='suggestions-wrapper'] {\n flex-direction: column;\n @media (width >= theme(--breakpoint-desktop)) {\n flex-direction: row;\n }\n}\n\n:host {\n @apply relative z-10;\n}\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {\n SearchBox,\n SearchBoxState,\n buildSearchBox,\n StandaloneSearchBox,\n StandaloneSearchBoxState,\n buildStandaloneSearchBox,\n SearchBoxOptions,\n} from '@coveo/headless';\nimport {\n Component,\n h,\n State,\n Prop,\n Listen,\n Watch,\n Element,\n Event,\n EventEmitter,\n Host,\n} from '@stencil/core';\nimport {hasKeyboard, isMacOS} from '../../../utils/device-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n SafeStorage,\n StandaloneSearchBoxData,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {updateBreakpoints} from '../../../utils/replace-breakpoint-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {\n isFocusingOut,\n once,\n randomID,\n spreadProperties,\n} from '../../../utils/utils';\nimport {RedirectionPayload} from '../../common/search-box/redirection-payload';\nimport {SearchBoxWrapper} from '../../common/search-box/stencil-search-box-wrapper';\nimport {SearchTextArea} from '../../common/search-box/stencil-search-text-area';\nimport {SubmitButton} from '../../common/search-box/stencil-submit-button';\nimport {SuggestionManager} from '../../common/suggestions/stencil-suggestion-manager';\nimport {\n elementHasQuery,\n} from '../../common/suggestions/suggestions-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from '../../common/suggestions/suggestions-types';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport { getDefaultSlotFromHost } from '@/src/utils/slot-utils';\n\n/**\n * The `atomic-search-box` component creates a search box with built-in support for suggestions.\n *\n * @slot default - The default slot where you can add child components to the search box.\n *\n * @part wrapper - The search box wrapper.\n * @part input - The search box input.\n * @part loading - The search box loading animation.\n * @part clear-button - The button to clear the search box of input.\n * @part clear-icon - The clear button's icon.\n * @part submit-button - The search box submit button.\n * @part submit-icon - The search box submit button's icon.\n * @part suggestions - A list of suggested query corrections on each panel.\n * @part suggestions-left - A list of suggested query corrections on the left panel.\n * @part suggestions-right - A list of suggested query corrections on the right panel.\n * @part suggestions-wrapper - The wrapper that contains suggestion panels.\n * @part suggestions-single-list - The wrapper that contains 1 suggestion list.\n * @part suggestions-double-list - The wrapper that contains 2 suggestion lists.\n * @part suggestion - A suggested query correction.\n * @part active-suggestion - The currently active suggestion.\n * @part suggestion-divider - An item in the list that separates groups of suggestions.\n * @part suggestion-with-query - An item in the list that will update the search box query.\n *\n * @part query-suggestion-item - A suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-content - The contents of a suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-icon - The icon of a suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-text - The text of a suggestion from the `atomic-search-box-query-suggestions` component.\n *\n * @part recent-query-item - A suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-content - The contents of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-icon - The icon of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-text - The text of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-text-highlight - The highlighted portion of the text of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title-item - The clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title-content - The contents of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title - The \"recent searches\" text of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-clear - The \"clear\" text of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n *\n * @part instant-results-item - An instant result rendered by an `atomic-search-box-instant-results` component.\n * @part instant-results-show-all - The clickable suggestion to show all items for the current instant results search rendered by an `atomic-search-box-instant-results` component.\n * @part instant-results-show-all-button - The button inside the clickable suggestion from the `atomic-search-box-instant-results` component.\n */\n@Component({\n tag: 'atomic-search-box',\n styleUrl: 'atomic-search-box.pcss',\n shadow: true,\n})\nexport class AtomicSearchBox implements InitializableComponent<Bindings> {\n @InitializeBindings() public bindings!: Bindings;\n private searchBox!: SearchBox | StandaloneSearchBox;\n private searchBoxSuggestionEventsQueue: CustomEvent<\n SearchBoxSuggestionsEvent<SearchBox | StandaloneSearchBox>\n >[] = [];\n private id!: string;\n private textAreaRef!: HTMLTextAreaElement;\n private suggestionManager!: SuggestionManager<\n SearchBox | StandaloneSearchBox\n >;\n\n @Element() private host!: HTMLElement;\n\n @BindStateToController('searchBox')\n @State()\n private searchBoxState!: SearchBoxState | StandaloneSearchBoxState;\n @State() public error!: Error;\n @State() private isExpanded = false;\n\n /**\n * The amount of queries displayed when the user interacts with the search box.\n * By default, a mix of query suggestions and recent queries will be shown.\n * You can configure those settings using the following components as children:\n * - atomic-search-box-query-suggestions\n * - atomic-search-box-recent-queries\n */\n @Prop({reflect: true}) public numberOfQueries = 8;\n\n /**\n * Defining this option makes the search box standalone (see [Use a\n * Standalone Search Box](https://docs.coveo.com/en/atomic/latest/usage/ssb/)).\n *\n * This option defines the default URL the user should be redirected to, when a query is submitted.\n * If a query pipeline redirect is triggered, it will redirect to that URL instead\n * (see [query pipeline triggers](https://docs.coveo.com/en/1458)).\n */\n @Prop({reflect: true}) public redirectionUrl?: string;\n\n /**\n * The timeout for suggestion queries, in milliseconds.\n * If a suggestion query times out, the suggestions from that particular query won't be shown.\n */\n @Prop() public suggestionTimeout = 400;\n\n /**\n * The delay for suggestion queries on input, in milliseconds.\n *\n * The suggestion request will be delayed until the end user stops typing for at least the specified amount of time.\n *\n * This delay is used to avoid sending too many requests to the Coveo Platform when the user is typing, as well as reducing potential input lag on low end devices.\n * A higher delay will reduce input lag, at the cost of suggestions freshness.\n */\n @Prop() public suggestionDelay = 0;\n\n /**\n * Whether to prevent the user from triggering searches and query suggestions from the component.\n * Perfect for use cases where you need to disable the search conditionally.\n * For the specific case when you need to disable the search based on the length of the query, refer to {@link minimumQueryLength}.\n */\n @Prop({reflect: true}) public disableSearch = false;\n\n /**\n * The minimum query length required to enable search.\n * For example, to disable the search for empty queries, set this to `1`.\n */\n @Prop({reflect: true}) public minimumQueryLength = 0;\n\n /**\n * Whether to clear all active query filters when the end user submits a new query from the search box.\n * Setting this option to \"false\" is not recommended & can lead to an increasing number of queries returning no results.\n */\n @Prop({reflect: true}) public clearFilters = true;\n\n /**\n * Whether to interpret advanced [Coveo Cloud query syntax](https://docs.coveo.com/en/1814/) in the query.\n * You should only enable query syntax in the search box if you have good reasons to do so, as it\n * requires end users to be familiar with Coveo Cloud query syntax, otherwise they will likely be surprised\n * by the search box behaviour.\n *\n * When the `redirection-url` property is set and redirects to a page with more `atomic-search-box` components, all `atomic-search-box` components need to have the same `enable-query-syntax` value.\n */\n @Prop({reflect: true}) public enableQuerySyntax = false;\n\n /**\n * Event that is emitted when a standalone search box redirection is triggered. By default, the search box will directly change the URL and redirect accordingly, so if you want to handle the redirection differently, use this event.\n *\n * Example:\n * ```html\n * <script>\n * document.querySelector('atomic-search-box').addEventListener((e) => {\n * e.preventDefault();\n * // handle redirection\n * });\n * </script>\n * ...\n * <atomic-search-box redirection-url=\"/search\"></atomic-search-box>\n * ```\n */\n @Event({\n eventName: 'redirect',\n })\n public redirect!: EventEmitter<RedirectionPayload>;\n\n @AriaLiveRegion('search-box')\n protected searchBoxAriaMessage!: string;\n\n @AriaLiveRegion('search-suggestions', true)\n protected suggestionsAriaMessage!: string;\n\n private isStandaloneSearchBox(\n searchBox: SearchBox | StandaloneSearchBox\n ): searchBox is StandaloneSearchBox {\n return 'redirectTo' in searchBox;\n }\n\n public initialize() {\n this.id ||= randomID('atomic-search-box-');\n\n this.initializeSearchboxController();\n this.initializeSuggestionManager();\n }\n\n private updateRedirectionUrl() {\n if (this.isStandaloneSearchBox(this.searchBox) && this.redirectionUrl) {\n this.searchBox.updateRedirectUrl(this.redirectionUrl);\n } else {\n this.registerNewSearchBoxController();\n }\n }\n\n private registerNewSearchBoxController() {\n this.disconnectedCallback();\n this.initialize();\n }\n\n private initializeSearchboxController() {\n this.searchBox = this.redirectionUrl\n ? buildStandaloneSearchBox(this.bindings.engine, {\n options: {\n ...this.searchBoxOptions,\n redirectionUrl: this.redirectionUrl,\n overwrite: true,\n },\n })\n : buildSearchBox(this.bindings.engine, {\n options: this.searchBoxOptions,\n });\n }\n\n public componentWillUpdate() {\n if (\n !('redirectTo' in this.searchBoxState) ||\n !('afterRedirection' in this.searchBox)\n ) {\n return;\n }\n\n const {redirectTo, value, analytics} = this.searchBoxState;\n\n if (redirectTo === '') {\n return;\n }\n const data: StandaloneSearchBoxData = {\n value,\n enableQuerySyntax: this.enableQuerySyntax,\n analytics,\n };\n const storage = new SafeStorage();\n storage.setJSON(StorageItems.STANDALONE_SEARCH_BOX_DATA, data);\n\n this.searchBox.afterRedirection();\n const event = this.redirect.emit({redirectTo, value});\n if (!event.defaultPrevented) {\n window.location.href = redirectTo;\n }\n }\n\n public disconnectedCallback = () => {};\n\n @Listen('atomic/searchBoxSuggestion/register')\n public registerSuggestions(\n event: CustomEvent<\n SearchBoxSuggestionsEvent<SearchBox | StandaloneSearchBox>\n >\n ) {\n if (!this.bindings) {\n this.searchBoxSuggestionEventsQueue.push(event);\n } else {\n this.suggestionManager.registerSuggestionsFromEvent(\n event,\n this.suggestionBindings\n );\n }\n }\n\n private registerSearchboxSuggestionEvents() {\n this.searchBoxSuggestionEventsQueue.forEach((evt) => {\n this.suggestionManager.registerSuggestionsFromEvent(\n evt,\n this.suggestionBindings\n );\n });\n this.searchBoxSuggestionEventsQueue = [];\n }\n\n @Watch('redirectionUrl')\n watchRedirectionUrl() {\n this.updateRedirectionUrl();\n }\n\n private initializeSuggestionManager() {\n if (this.suggestionManager) {\n return;\n }\n\n this.suggestionManager = new SuggestionManager({\n getNumberOfSuggestionsToDisplay: () => this.numberOfQueries,\n updateQuery: (query) => this.searchBox.updateText(query),\n getSearchBoxValue: () => this.searchBoxState.value,\n getSuggestionTimeout: () => this.suggestionTimeout,\n getSuggestionDelay: () => this.suggestionDelay,\n getHost: () => this.host,\n getLogger: () => this.bindings.engine.logger,\n });\n this.suggestionManager.initializeSuggestions(this.suggestionBindings);\n }\n\n private get suggestionBindings(): SearchBoxSuggestionsBindings<\n SearchBox | StandaloneSearchBox\n > {\n return spreadProperties(\n this.bindings,\n this.suggestionManager.partialSuggestionBindings,\n this.partialSuggestionBindings\n );\n }\n\n private get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBox | StandaloneSearchBox>,\n | 'id'\n | 'isStandalone'\n | 'searchBoxController'\n | 'numberOfQueries'\n | 'clearFilters'\n > {\n return Object.defineProperties(\n {...this.bindings},\n {\n id: {\n get: () => this.id,\n enumerable: true,\n },\n searchBoxController: {\n get: () => this.searchBox,\n enumerable: true,\n },\n isStandalone: {\n get: () => !!this.redirectionUrl,\n enumerable: true,\n },\n numberOfQueries: {\n get: () => this.numberOfQueries,\n enumerable: true,\n },\n clearFilters: {\n get: () => this.clearFilters,\n enumerable: true,\n },\n }\n ) as unknown as Pick<\n SearchBoxSuggestionsBindings<SearchBox | StandaloneSearchBox>,\n | 'id'\n | 'isStandalone'\n | 'searchBoxController'\n | 'numberOfQueries'\n | 'clearFilters'\n >;\n }\n\n private get searchBoxOptions(): SearchBoxOptions {\n return {\n id: this.id,\n numberOfSuggestions: 0,\n highlightOptions: {\n notMatchDelimiters: {\n open: '<span class=\"font-bold\">',\n close: '</span>',\n },\n correctionDelimiters: {\n open: '<span class=\"font-normal\">',\n close: '</span>',\n },\n },\n clearFilters: this.clearFilters,\n enableQuerySyntax: this.enableQuerySyntax,\n };\n }\n\n private updateBreakpoints = once(() => updateBreakpoints(this.host));\n\n private async onInput(value: string) {\n this.searchBox.updateText(value);\n\n if (this.isSearchDisabledForEndUser(value)) {\n this.suggestionManager.clearSuggestions();\n return;\n }\n this.isExpanded = true;\n await this.suggestionManager.triggerSuggestions();\n this.announceNewSuggestionsToScreenReader();\n }\n\n private async onFocus() {\n if (this.isExpanded) {\n return;\n }\n this.isExpanded = true;\n await this.suggestionManager.triggerSuggestions();\n this.announceNewSuggestionsToScreenReader();\n }\n\n private onSubmit() {\n this.isExpanded = false;\n if (this.suggestionManager.keyboardActiveDescendant) {\n this.suggestionManager.onSubmit();\n return;\n }\n\n this.searchBox.submit();\n }\n\n private async onKeyDown(e: KeyboardEvent) {\n if (this.isSearchDisabledForEndUser(this.searchBoxState.value)) {\n return;\n }\n\n switch (e.key) {\n case 'Enter':\n this.onSubmit();\n break;\n case 'Escape':\n this.suggestionManager.clearSuggestions();\n break;\n case 'ArrowDown':\n e.preventDefault();\n await this.suggestionManager.focusNextValue();\n this.announceNewActiveSuggestionToScreenReader();\n break;\n case 'ArrowUp':\n e.preventDefault();\n await this.suggestionManager.focusPreviousValue();\n this.announceNewActiveSuggestionToScreenReader();\n break;\n case 'ArrowRight':\n if (\n this.suggestionManager.hasActiveDescendant ||\n !this.searchBox.state.value\n ) {\n e.preventDefault();\n this.suggestionManager.focusPanel('right');\n this.announceNewActiveSuggestionToScreenReader();\n }\n break;\n case 'ArrowLeft':\n if (\n this.suggestionManager.hasActiveDescendant ||\n !this.searchBox.state.value\n ) {\n e.preventDefault();\n this.suggestionManager.focusPanel('left');\n this.announceNewActiveSuggestionToScreenReader();\n }\n break;\n case 'Tab':\n this.suggestionManager.clearSuggestions();\n break;\n default:\n if (this.suggestionManager.keyboardActiveDescendant) {\n this.suggestionManager.updateKeyboardActiveDescendant();\n }\n break;\n }\n }\n\n private triggerTextAreaChange(value: string) {\n this.textAreaRef.value = value;\n this.textAreaRef.dispatchEvent(new window.Event('change'));\n }\n\n private renderSuggestion(\n item: SearchBoxSuggestionElement,\n index: number,\n lastIndex: number,\n side: 'left' | 'right'\n ) {\n const id = `${this.id}-${side}-suggestion-${item.key}`;\n\n const isSelected = id === this.suggestionManager.activeDescendant;\n\n if (index === lastIndex && item.hideIfLast) {\n return null;\n }\n\n return (\n <atomic-suggestion-renderer\n i18n={this.bindings.i18n}\n id={id}\n suggestion={item}\n isSelected={isSelected}\n side={side}\n index={index}\n lastIndex={lastIndex}\n isDoubleList={this.suggestionManager.isDoubleList}\n onClick={(e: Event) => {\n this.suggestionManager.onSuggestionClick(item, e);\n if (item.key === 'recent-query-clear') {\n return;\n }\n\n this.isExpanded = false;\n }}\n onMouseOver={() => {\n this.suggestionManager.onSuggestionMouseOver(item, side, id);\n }}\n ></atomic-suggestion-renderer>\n );\n }\n\n private renderPanel(\n side: 'left' | 'right',\n elements: SearchBoxSuggestionElement[],\n setRef: (el: HTMLElement | undefined) => void,\n getRef: () => HTMLElement | undefined\n ) {\n if (!elements.length) {\n return null;\n }\n\n return (\n <div\n part={`suggestions suggestions-${side}`}\n ref={setRef}\n class=\"flex grow basis-1/2 flex-col\"\n onMouseDown={(e) => {\n if (e.target === getRef()) {\n e.preventDefault();\n }\n }}\n >\n {elements.map((suggestion, index) =>\n this.renderSuggestion(suggestion, index, elements.length - 1, side)\n )}\n </div>\n );\n }\n\n private get shouldShowSuggestions() {\n return (\n this.suggestionManager.hasSuggestions &&\n this.isExpanded &&\n !this.isSearchDisabledForEndUser(this.searchBoxState.value)\n );\n }\n\n private renderSuggestions() {\n return (\n <div\n id={`${this.id}-popup`}\n part={`suggestions-wrapper ${\n this.suggestionManager.isDoubleList\n ? 'suggestions-double-list'\n : 'suggestions-single-list'\n }`}\n class={`bg-background border-neutral absolute top-full left-0 z-10 flex w-full rounded-md border ${\n this.shouldShowSuggestions ? '' : 'hidden'\n }`}\n role=\"application\"\n aria-label={this.bindings.i18n.t(\n this.suggestionManager.isDoubleList\n ? 'search-suggestions-double-list'\n : 'search-suggestions-single-list'\n )}\n {...(this.suggestionManager.activeDescendant && {\n 'aria-activedescendant': this.suggestionManager.activeDescendant,\n })}\n >\n {this.renderPanel(\n 'left',\n this.suggestionManager.leftSuggestionElements,\n (el) => (this.suggestionManager.leftPanel = el),\n () => this.suggestionManager.leftPanel\n )}\n {this.renderPanel(\n 'right',\n this.suggestionManager.rightSuggestionElements,\n (el) => (this.suggestionManager.rightPanel = el),\n () => this.suggestionManager.rightPanel\n )}\n </div>\n );\n }\n\n private renderTextBox = (searchLabel: string) => {\n const props = {\n loading: this.searchBoxState.isLoading,\n bindings: this.bindings,\n value: this.searchBoxState.value,\n title: searchLabel,\n ariaLabel: searchLabel,\n onFocus: () => this.onFocus(),\n onInput: (e: Event) =>\n this.onInput(\n (e.target as HTMLInputElement | HTMLTextAreaElement).value\n ),\n onKeyDown: (e: KeyboardEvent) => this.onKeyDown(e),\n onClear: () => {\n this.announceClearSearchBoxToScreenReader()\n this.searchBox.clear();\n this.suggestionManager.clearSuggestions();\n },\n popup: {\n id: `${this.id}-popup`,\n activeDescendant: this.suggestionManager.activeDescendant,\n expanded: this.isExpanded,\n hasSuggestions: this.suggestionManager.hasSuggestions,\n },\n };\n\n return (\n <SearchTextArea\n textAreaRef={this.textAreaRef}\n ref={(el) => (this.textAreaRef = el as HTMLTextAreaElement)}\n {...props}\n onClear={() => {\n props.onClear();\n this.triggerTextAreaChange('');\n }}\n />\n );\n };\n\n private renderAbsolutePositionSpacer() {\n return (\n <textarea\n aria-hidden\n part=\"textarea-spacer\"\n class=\"invisible w-full px-4 py-3.5 text-lg\"\n rows={1}\n ></textarea>\n );\n }\n\n private isSearchDisabledForEndUser(queryValue?: string) {\n if (isNullOrUndefined(queryValue)) {\n return this.disableSearch;\n }\n\n if (queryValue.trim().length < this.minimumQueryLength) {\n return true;\n }\n\n return this.disableSearch;\n }\n\n private getSearchInputLabel(minimumQueryLength = 0) {\n if (this.isSearchDisabledForEndUser(this.searchBoxState.value)) {\n return this.bindings.i18n.t('search-disabled', {\n length: minimumQueryLength,\n });\n }\n\n if (isMacOS()) {\n return this.bindings.i18n.t('search-box-with-suggestions-macos');\n }\n if (!hasKeyboard()) {\n return this.bindings.i18n.t('search-box-with-suggestions-keyboardless');\n }\n return this.bindings.i18n.t('search-box-with-suggestions');\n }\n\n private announceNewActiveSuggestionToScreenReader() {\n const ariaLabel = this.suggestionManager.activeDescendantElement?.ariaLabel;\n if (isMacOS() && ariaLabel) {\n this.suggestionsAriaMessage = ariaLabel;\n }\n }\n\n private announceClearSearchBoxToScreenReader() {\n this.suggestionsAriaMessage = this.bindings.i18n.t(\"search-box-cleared\")\n }\n\n private announceNewSuggestionsToScreenReader() {\n const elsLength =\n this.suggestionManager.allSuggestionElements.filter(\n elementHasQuery\n ).length;\n this.searchBoxAriaMessage = elsLength\n ? this.bindings.i18n.t(\n this.searchBoxState.value\n ? 'query-suggestions-available'\n : 'query-suggestions-available-no-query',\n {\n count: elsLength,\n query: this.searchBoxState.value,\n }\n )\n : this.bindings.i18n.t('query-suggestions-unavailable');\n }\n\n private renderSlotContent() {\n const hasDefaultSlot = !!getDefaultSlotFromHost(this.host);\n\n if (hasDefaultSlot) {\n return <slot></slot>;\n }\n\n return [\n <atomic-search-box-recent-queries></atomic-search-box-recent-queries>,\n <atomic-search-box-query-suggestions></atomic-search-box-query-suggestions>,\n ];\n }\n\n public render() {\n this.updateBreakpoints();\n\n const searchLabel = this.getSearchInputLabel(this.minimumQueryLength);\n const isDisabled = this.isSearchDisabledForEndUser(\n this.searchBoxState.value\n );\n if (!this.suggestionManager.suggestions.length) {\n this.registerSearchboxSuggestionEvents();\n }\n\n return (\n <Host>\n {this.renderAbsolutePositionSpacer()}\n {[\n <SearchBoxWrapper\n disabled={isDisabled}\n onFocusout={(event) => {\n if (!isFocusingOut(event)) {\n return;\n }\n this.suggestionManager.clearSuggestions();\n this.isExpanded = false;\n }}\n >\n {this.renderTextBox(searchLabel)}\n <SubmitButton\n bindings={this.bindings}\n disabled={isDisabled}\n onClick={() => {\n this.searchBox.submit();\n this.suggestionManager.clearSuggestions();\n }}\n />\n {this.renderSuggestions()}\n </SearchBoxWrapper>,\n this.renderSlotContent(),\n ]}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["atomicFieldConditionCss","AtomicFieldConditionStyle0","AtomicFieldCondition","this","mustMatch","mustNotMatch","conditions","shouldBeRemoved","componentWillLoad","ifDefined","fieldNames","split","push","ResultTemplatesHelpers","fieldsMustBeDefined","ifNotDefined","fieldsMustNotBeDefined","makeMatchConditions","render","every","condition","result","h","componentDidLoad","host","remove","__decorate","MapProp","splitValues","ResultContext"],"sources":["src/components/search/result-template-components/atomic-field-condition/atomic-field-condition.pcss?tag=atomic-field-condition","src/components/search/result-template-components/atomic-field-condition/atomic-field-condition.tsx"],"sourcesContent":["atomic-field-condition {\n max-width: 100%;\n}\n","import {\n Result,\n ResultTemplateCondition,\n ResultTemplatesHelpers,\n} from '@coveo/headless';\nimport {Component, Prop, h, Element} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {makeMatchConditions} from '../../../common/result-templates/result-template-common';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-field-condition` component takes a list of conditions that, if fulfilled, apply the template in which it's defined.\n * The condition properties can be based on any top-level result property of the `result` object, not restricted to fields (e.g., `isRecommendation`).\n *\n * @slot default - The content to display if the conditions are met.\n *\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-field-condition',\n styleUrl: 'atomic-field-condition.pcss',\n shadow: false,\n})\nexport class AtomicFieldCondition {\n @Element() host!: HTMLElement;\n\n /**\n * Verifies whether the specified fields are defined.\n */\n @Prop({reflect: true}) ifDefined?: string;\n /**\n * Verifies whether the specified fields are not defined.\n */\n @Prop({reflect: true}) ifNotDefined?: string;\n\n /**\n * Verifies whether the specified fields match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) mustMatch: Record<string, string[]> =\n {};\n\n /**\n * Verifies whether the specified fields do not match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) mustNotMatch: Record<string, string[]> =\n {};\n\n private conditions: ResultTemplateCondition[] = [];\n private shouldBeRemoved = false;\n\n @ResultContext() private result!: Result;\n\n public componentWillLoad() {\n if (this.ifDefined) {\n const fieldNames = this.ifDefined.split(',');\n this.conditions.push(\n ResultTemplatesHelpers.fieldsMustBeDefined(fieldNames)\n );\n }\n\n if (this.ifNotDefined) {\n const fieldNames = this.ifNotDefined.split(',');\n this.conditions.push(\n ResultTemplatesHelpers.fieldsMustNotBeDefined(fieldNames)\n );\n }\n\n this.conditions.push(\n ...makeMatchConditions(this.mustMatch, this.mustNotMatch)\n );\n }\n\n public render() {\n if (!this.conditions.every((condition) => condition(this.result))) {\n this.shouldBeRemoved = true;\n return '';\n }\n\n return <slot />;\n }\n\n public componentDidLoad() {\n this.shouldBeRemoved && this.host.remove();\n }\n}\n"],"mappings":"4aAAA,MAAMA,EAA0B,yCAChC,MAAAC,EAAeD,E,iXCuBFE,EAAoB,M,yBAgBOC,KAAAC,UACpC,GAMoCD,KAAAE,aACpC,GAEMF,KAAAG,WAAwC,GACxCH,KAAAI,gBAAkB,M,oEAVxB,G,kBAOA,E,CAOK,iBAAAC,GACL,GAAIL,KAAKM,UAAW,CAClB,MAAMC,EAAaP,KAAKM,UAAUE,MAAM,KACxCR,KAAKG,WAAWM,KACdC,EAAuBC,oBAAoBJ,G,CAI/C,GAAIP,KAAKY,aAAc,CACrB,MAAML,EAAaP,KAAKY,aAAaJ,MAAM,KAC3CR,KAAKG,WAAWM,KACdC,EAAuBG,uBAAuBN,G,CAIlDP,KAAKG,WAAWM,QACXK,EAAoBd,KAAKC,UAAWD,KAAKE,c,CAIzC,MAAAa,GACL,IAAKf,KAAKG,WAAWa,OAAOC,GAAcA,EAAUjB,KAAKkB,UAAU,CACjElB,KAAKI,gBAAkB,KACvB,MAAO,E,CAGT,OAAOe,EAAA,Y,CAGF,gBAAAC,GACLpB,KAAKI,iBAAmBJ,KAAKqB,KAAKC,Q,6BA7CEC,EAAA,CAA7BC,EAAQ,CAACC,YAAa,Q,gCAOOF,EAAA,CAA7BC,EAAQ,CAACC,YAAa,Q,mCAMNF,EAAA,CAAxBG,K","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":["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":[]}