@coveo/atomic 3.33.8-pre.32aa53b021 → 3.33.8-pre.32dc00f676

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 (724) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/atomic.esm.js.map +1 -1
  3. package/dist/atomic/autoloader/index.cjs.js +2 -2
  4. package/dist/atomic/autoloader/index.esm.js +2 -2
  5. package/dist/atomic/components/_index.d.ts +4 -0
  6. package/dist/atomic/components/_index.js +21 -19
  7. package/dist/atomic/components/analytics-config.js +1 -1
  8. package/dist/atomic/components/atomic-category-facet.js +2 -2
  9. package/dist/atomic/components/atomic-category-facet.js.map +1 -1
  10. package/dist/atomic/components/atomic-citation.js +1 -1
  11. package/dist/atomic/components/atomic-facet-manager.js +1 -1
  12. package/dist/atomic/components/atomic-facet.d.ts +11 -0
  13. package/dist/atomic/components/atomic-facet.js +470 -0
  14. package/dist/atomic/components/atomic-facet.js.map +1 -0
  15. package/dist/atomic/components/atomic-field-condition.js +1 -1
  16. package/dist/atomic/components/atomic-field-condition.js.map +1 -1
  17. package/dist/atomic/components/atomic-format-currency.js +1 -1
  18. package/dist/atomic/components/atomic-format-number.js +1 -1
  19. package/dist/atomic/components/atomic-format-unit.js +1 -1
  20. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  21. package/dist/atomic/components/atomic-html2.js +1 -1
  22. package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
  23. package/dist/atomic/components/atomic-insight-facet.js +4 -37
  24. package/dist/atomic/components/atomic-insight-facet.js.map +1 -1
  25. package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
  26. package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
  27. package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
  28. package/dist/atomic/components/atomic-insight-interface.js +1 -1
  29. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  30. package/dist/atomic/components/atomic-insight-numeric-facet.js +2 -2
  31. package/dist/atomic/components/atomic-insight-numeric-facet.js.map +1 -1
  32. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  33. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  34. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  35. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  36. package/dist/atomic/components/atomic-insight-result-action.js +2 -2
  37. package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
  38. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +2 -2
  39. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
  40. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +2 -2
  41. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js.map +1 -1
  42. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  43. package/dist/atomic/components/atomic-insight-result-list.js +1 -1
  44. package/dist/atomic/components/atomic-insight-result-quickview-action.js +2 -2
  45. package/dist/atomic/components/atomic-insight-result-quickview-action.js.map +1 -1
  46. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  47. package/dist/atomic/components/atomic-insight-search-box.js +2 -2
  48. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  49. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  50. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  51. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  52. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  53. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  54. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  55. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  56. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
  57. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  58. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  59. package/dist/atomic/components/atomic-ipx-result-link.js +2 -2
  60. package/dist/atomic/components/atomic-ipx-result-link.js.map +1 -1
  61. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  62. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  63. package/dist/atomic/components/atomic-no-results.js +1 -1
  64. package/dist/atomic/components/atomic-numeric-facet.js +2 -3
  65. package/dist/atomic/components/atomic-numeric-facet.js.map +1 -1
  66. package/dist/atomic/components/atomic-pager.js +3 -3
  67. package/dist/atomic/components/atomic-query-error.js +1 -1
  68. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  69. package/dist/atomic/components/atomic-quickview.js +2 -2
  70. package/dist/atomic/components/atomic-quickview.js.map +1 -1
  71. package/dist/atomic/components/atomic-recs-error.js +1 -1
  72. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  73. package/dist/atomic/components/atomic-recs-list.js +1 -1
  74. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  75. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  76. package/dist/atomic/components/atomic-relevance-inspector.js +1 -46
  77. package/dist/atomic/components/atomic-relevance-inspector.js.map +1 -1
  78. package/dist/atomic/components/atomic-relevance-inspector2.js +50 -0
  79. package/dist/atomic/components/atomic-relevance-inspector2.js.map +1 -0
  80. package/dist/atomic/components/atomic-result-badge.js +1 -1
  81. package/dist/atomic/components/atomic-result-badge.js.map +1 -1
  82. package/dist/atomic/components/atomic-result-children.js +2 -2
  83. package/dist/atomic/components/atomic-result-children.js.map +1 -1
  84. package/dist/atomic/components/atomic-result-date.js +1 -1
  85. package/dist/atomic/components/atomic-result-date.js.map +1 -1
  86. package/dist/atomic/components/atomic-result-fields-list.js +2 -2
  87. package/dist/atomic/components/atomic-result-fields-list.js.map +1 -1
  88. package/dist/atomic/components/atomic-result-html.js +1 -1
  89. package/dist/atomic/components/atomic-result-html.js.map +1 -1
  90. package/dist/atomic/components/atomic-result-icon.js +1 -1
  91. package/dist/atomic/components/atomic-result-icon.js.map +1 -1
  92. package/dist/atomic/components/atomic-result-image.js +1 -1
  93. package/dist/atomic/components/atomic-result-image.js.map +1 -1
  94. package/dist/atomic/components/atomic-result-link.js +2 -2
  95. package/dist/atomic/components/atomic-result-link.js.map +1 -1
  96. package/dist/atomic/components/atomic-result-list.js +1 -1
  97. package/dist/atomic/components/atomic-result-localized-text.js +1 -1
  98. package/dist/atomic/components/atomic-result-localized-text.js.map +1 -1
  99. package/dist/atomic/components/atomic-result-multi-value-text.js +1 -1
  100. package/dist/atomic/components/atomic-result-multi-value-text.js.map +1 -1
  101. package/dist/atomic/components/atomic-result-number.js +1 -1
  102. package/dist/atomic/components/atomic-result-number.js.map +1 -1
  103. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  104. package/dist/atomic/components/atomic-result-printable-uri.js +1 -1
  105. package/dist/atomic/components/atomic-result-printable-uri.js.map +1 -1
  106. package/dist/atomic/components/atomic-result-rating.js +1 -1
  107. package/dist/atomic/components/atomic-result-rating.js.map +1 -1
  108. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  109. package/dist/atomic/components/atomic-result-text2.js +1 -1
  110. package/dist/atomic/components/atomic-result-text2.js.map +1 -1
  111. package/dist/atomic/components/atomic-result-timespan.js +1 -1
  112. package/dist/atomic/components/atomic-result-timespan.js.map +1 -1
  113. package/dist/atomic/components/atomic-result2.js.map +1 -1
  114. package/dist/atomic/components/atomic-search-box-instant-results.js +1 -1
  115. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
  116. package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
  117. package/dist/atomic/components/atomic-search-box.js +3 -3
  118. package/dist/atomic/components/atomic-search-interface.d.ts +11 -0
  119. package/dist/atomic/components/atomic-search-interface.js +552 -0
  120. package/dist/atomic/components/atomic-search-interface.js.map +1 -0
  121. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  122. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  123. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  124. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  125. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  126. package/dist/atomic/components/atomic-smart-snippet-source2.js.map +1 -1
  127. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  128. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  129. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  130. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  131. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  132. package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +50 -8
  133. package/dist/atomic/components/components/commerce/atomic-commerce-query-summary/atomic-commerce-query-summary.js +2 -2
  134. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +25 -10
  135. package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.js +1 -1
  136. package/dist/atomic/components/components/commerce/atomic-product-description/atomic-product-description.js +1 -1
  137. package/dist/atomic/components/components/commerce/atomic-product-excerpt/atomic-product-excerpt.js +1 -1
  138. package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +1 -1
  139. package/dist/atomic/components/components/commerce/atomic-product-image/atomic-product-image.js +1 -1
  140. package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js +2 -1
  141. package/dist/atomic/components/components/commerce/atomic-product-multi-value-text/atomic-product-multi-value-text.js +1 -1
  142. package/dist/atomic/components/components/commerce/atomic-product-numeric-field-value/atomic-product-numeric-field-value.js +1 -1
  143. package/dist/atomic/components/components/commerce/atomic-product-price/atomic-product-price.js +1 -1
  144. package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js +1 -1
  145. package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +1 -1
  146. package/dist/atomic/components/components/commerce/product-template-component-utils/context/interactive-product-context-controller.js +25 -0
  147. package/dist/atomic/components/components/commerce/product-template-component-utils/context/product-context-controller.js +29 -0
  148. package/dist/atomic/components/components/common/formats/format-common.js +1 -1
  149. package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +9 -20
  150. package/dist/atomic/components/components/search/index.js +0 -2
  151. package/dist/atomic/components/components/search/lazy-index.js +0 -2
  152. package/dist/atomic/components/depends-on.js +28 -28
  153. package/dist/atomic/components/depends-on.js.map +1 -1
  154. package/dist/atomic/components/{stencil-facet-guard.js → facet-guard.js} +1 -2
  155. package/dist/atomic/components/facet-guard.js.map +1 -0
  156. package/dist/atomic/components/facet-number-input.js +2 -2
  157. package/dist/atomic/components/format-common.js.map +1 -1
  158. package/dist/atomic/components/global/environment.js +1 -1
  159. package/dist/atomic/components/index.js.map +1 -1
  160. package/dist/atomic/components/stencil-facet-value.js +39 -0
  161. package/dist/atomic/components/stencil-facet-value.js.map +1 -0
  162. package/dist/atomic/components/{result-template-decorators.js → stencil-result-template-decorators.js} +6 -2
  163. package/dist/atomic/components/stencil-result-template-decorators.js.map +1 -0
  164. package/dist/atomic/components/tab-button.js +1 -1
  165. package/dist/atomic/components/tab-popover.js +1 -1
  166. package/dist/atomic/index.esm.js +1 -1
  167. package/dist/atomic/index.esm.js.map +1 -1
  168. package/dist/atomic/{p-0c8e7d5f.entry.js → p-0112f957.entry.js} +2 -2
  169. package/dist/atomic/p-0112f957.entry.js.map +1 -0
  170. package/dist/atomic/{p-41c5d5fa.entry.js → p-021f01d6.entry.js} +2 -2
  171. package/dist/atomic/{p-a3fa6695.entry.js → p-035f8dc8.entry.js} +2 -2
  172. package/dist/atomic/{p-a4d277c7.entry.js → p-037de646.entry.js} +2 -2
  173. package/dist/atomic/p-037de646.entry.js.map +1 -0
  174. package/dist/atomic/{p-2f8de0b9.entry.js → p-07fbb49a.entry.js} +2 -2
  175. package/dist/atomic/{p-c8d29aa6.entry.js → p-10145d71.entry.js} +2 -2
  176. package/dist/atomic/p-10145d71.entry.js.map +1 -0
  177. package/dist/atomic/p-1992b245.entry.js +2 -0
  178. package/dist/atomic/{p-2ac75719.entry.js → p-1d1f54a5.entry.js} +2 -2
  179. package/dist/atomic/{p-aa3ac5aa.js → p-1f059522.js} +1 -1
  180. package/dist/atomic/p-1f059522.js.map +1 -0
  181. package/dist/atomic/{p-10b5e0f3.entry.js → p-20341936.entry.js} +2 -2
  182. package/dist/atomic/p-25a96534.js.map +1 -1
  183. package/dist/atomic/{p-3213225f.entry.js → p-26a51a77.entry.js} +2 -2
  184. package/dist/atomic/{p-15406648.entry.js → p-2ca352f4.entry.js} +2 -2
  185. package/dist/atomic/{p-dee60597.entry.js → p-2cad01bf.entry.js} +2 -2
  186. package/dist/atomic/p-2cad01bf.entry.js.map +1 -0
  187. package/dist/atomic/{p-926fe2d7.entry.js → p-2ce8220a.entry.js} +2 -2
  188. package/dist/atomic/{p-7a6468a7.entry.js → p-36fab158.entry.js} +2 -2
  189. package/dist/atomic/{p-9727f36b.entry.js → p-37374964.entry.js} +2 -2
  190. package/dist/atomic/{p-5adbf098.entry.js → p-3b023e83.entry.js} +2 -2
  191. package/dist/atomic/{p-0610b3e7.entry.js → p-3b20b011.entry.js} +2 -2
  192. package/dist/atomic/{p-e9dc8e90.entry.js → p-3ec45f9c.entry.js} +2 -2
  193. package/dist/atomic/p-3ec45f9c.entry.js.map +1 -0
  194. package/dist/atomic/{p-0bc9b088.js → p-3f2a66df.js} +2 -2
  195. package/dist/atomic/{p-c08f4ee6.entry.js → p-3f912e98.entry.js} +2 -2
  196. package/dist/atomic/{p-9e771351.entry.js → p-40635c2d.entry.js} +2 -2
  197. package/dist/atomic/{p-18684d4c.js → p-4080f740.js} +1 -1
  198. package/dist/atomic/p-4080f740.js.map +1 -0
  199. package/dist/atomic/{p-c9fe4f77.entry.js → p-43d708cb.entry.js} +2 -2
  200. package/dist/atomic/{p-b0c50194.entry.js → p-48f57fd8.entry.js} +2 -2
  201. package/dist/atomic/{p-e514cdb2.entry.js → p-4a74f4a3.entry.js} +2 -2
  202. package/dist/atomic/{p-24df7251.entry.js → p-4c2f230f.entry.js} +2 -2
  203. package/dist/atomic/{p-190ddaca.entry.js → p-4cf97b0a.entry.js} +2 -2
  204. package/dist/atomic/p-4cf97b0a.entry.js.map +1 -0
  205. package/dist/atomic/p-508b63e7.entry.js.map +1 -1
  206. package/dist/atomic/{p-1140ac4d.entry.js → p-52976c12.entry.js} +2 -2
  207. package/dist/atomic/{p-f0012580.entry.js → p-594488f2.entry.js} +2 -2
  208. package/dist/atomic/{p-78427c6a.entry.js → p-5a9460ab.entry.js} +2 -2
  209. package/dist/atomic/p-5a9460ab.entry.js.map +1 -0
  210. package/dist/atomic/p-5ca21deb.js +2 -0
  211. package/dist/atomic/p-5ca21deb.js.map +1 -0
  212. package/dist/atomic/{p-8df7270f.entry.js → p-5d19faa4.entry.js} +2 -2
  213. package/dist/atomic/p-5d19faa4.entry.js.map +1 -0
  214. package/dist/atomic/{p-b4ad3036.entry.js → p-5f1fa581.entry.js} +2 -2
  215. package/dist/atomic/{p-d50c96c2.entry.js → p-627e1265.entry.js} +2 -2
  216. package/dist/atomic/{p-004adbb8.entry.js → p-6329ff94.entry.js} +2 -2
  217. package/dist/atomic/{p-1ff7a9da.entry.js → p-6a3b139f.entry.js} +2 -2
  218. package/dist/atomic/p-6a3b139f.entry.js.map +1 -0
  219. package/dist/atomic/{p-e3af1bb4.entry.js → p-6e6d686e.entry.js} +2 -2
  220. package/dist/atomic/{p-79a9a372.entry.js → p-744da781.entry.js} +2 -2
  221. package/dist/atomic/{p-a3f27d57.entry.js → p-7626e460.entry.js} +2 -2
  222. package/dist/atomic/p-7626e460.entry.js.map +1 -0
  223. package/dist/atomic/{p-c7800a24.entry.js → p-7a50539b.entry.js} +2 -2
  224. package/dist/atomic/p-7a50539b.entry.js.map +1 -0
  225. package/dist/atomic/{p-97e42c43.entry.js → p-7ca7b237.entry.js} +2 -2
  226. package/dist/atomic/p-7ca7b237.entry.js.map +1 -0
  227. package/dist/atomic/{p-7fe2dfcd.entry.js → p-7dcf636e.entry.js} +2 -2
  228. package/dist/atomic/p-7dcf636e.entry.js.map +1 -0
  229. package/dist/atomic/{p-e6a7e7b2.entry.js → p-7dfcd6af.entry.js} +2 -2
  230. package/dist/atomic/{p-9147b0db.entry.js → p-8256cd44.entry.js} +2 -2
  231. package/dist/atomic/{p-0e27d4f2.entry.js → p-83c9244a.entry.js} +2 -2
  232. package/dist/atomic/{p-454a0328.entry.js → p-87948ac1.entry.js} +2 -2
  233. package/dist/atomic/p-87948ac1.entry.js.map +1 -0
  234. package/dist/atomic/{p-828cea10.entry.js → p-89ab44de.entry.js} +2 -2
  235. package/dist/atomic/{p-b3f6561d.entry.js → p-8e964890.entry.js} +2 -2
  236. package/dist/atomic/p-8e964890.entry.js.map +1 -0
  237. package/dist/atomic/{p-4b1bf2fd.entry.js → p-91c0917f.entry.js} +2 -2
  238. package/dist/atomic/{p-8fb8c4f0.entry.js → p-92548ab6.entry.js} +2 -2
  239. package/dist/atomic/p-92548ab6.entry.js.map +1 -0
  240. package/dist/atomic/{p-bd99fcc1.entry.js → p-939eaaac.entry.js} +2 -2
  241. package/dist/atomic/{p-9b92b4e2.entry.js → p-93e29b24.entry.js} +2 -2
  242. package/dist/atomic/{p-dbf0c5a3.entry.js → p-9564d67d.entry.js} +2 -2
  243. package/dist/atomic/{p-dbf0c5a3.entry.js.map → p-9564d67d.entry.js.map} +1 -1
  244. package/dist/atomic/{p-b6377fb6.entry.js → p-98c5b9b8.entry.js} +2 -2
  245. package/dist/atomic/{p-bf49fed3.entry.js → p-99b8d52d.entry.js} +2 -2
  246. package/dist/atomic/{p-98da2a98.entry.js → p-9f5590f6.entry.js} +2 -2
  247. package/dist/atomic/{p-160553ce.entry.js → p-a3efa89e.entry.js} +2 -2
  248. package/dist/atomic/{p-8a00adbe.entry.js → p-a425653f.entry.js} +2 -2
  249. package/dist/atomic/p-a425653f.entry.js.map +1 -0
  250. package/dist/atomic/{p-c538c8ac.entry.js → p-a53c7821.entry.js} +2 -2
  251. package/dist/atomic/{p-85f165af.entry.js → p-a8882a2a.entry.js} +2 -2
  252. package/dist/atomic/p-a9b32844.entry.js +2 -0
  253. package/dist/atomic/p-a9b32844.entry.js.map +1 -0
  254. package/dist/atomic/{p-c9f1790d.entry.js → p-acb1704c.entry.js} +2 -2
  255. package/dist/atomic/p-acb1704c.entry.js.map +1 -0
  256. package/dist/atomic/{p-e7c6a479.entry.js → p-ada63017.entry.js} +2 -2
  257. package/dist/atomic/p-ada63017.entry.js.map +1 -0
  258. package/dist/atomic/{p-ce41c447.entry.js → p-ae060711.entry.js} +2 -2
  259. package/dist/atomic/{p-b4c34553.entry.js → p-b0b17e21.entry.js} +2 -2
  260. package/dist/atomic/{p-e1c99e2e.entry.js → p-b2ff1330.entry.js} +2 -2
  261. package/dist/atomic/{p-618c6967.entry.js → p-b6963bae.entry.js} +2 -2
  262. package/dist/atomic/{p-08794435.entry.js → p-ba650801.entry.js} +2 -2
  263. package/dist/atomic/p-bde76abf.entry.js +2 -0
  264. package/dist/atomic/p-bde76abf.entry.js.map +1 -0
  265. package/dist/atomic/{p-0e5dc57f.entry.js → p-c126ee6b.entry.js} +2 -2
  266. package/dist/atomic/{p-754909fe.entry.js → p-c1999888.entry.js} +2 -2
  267. package/dist/atomic/{p-ca762513.entry.js → p-c889adbd.entry.js} +2 -2
  268. package/dist/atomic/{p-00a6ab8c.entry.js → p-d0f47b33.entry.js} +2 -2
  269. package/dist/atomic/{p-8a7a23b7.entry.js → p-d2173f4d.entry.js} +2 -2
  270. package/dist/atomic/{p-8a7a23b7.entry.js.map → p-d2173f4d.entry.js.map} +1 -1
  271. package/dist/atomic/p-d24d34a7.entry.js +2 -0
  272. package/dist/atomic/{p-7f40e57d.entry.js → p-d364064c.entry.js} +2 -2
  273. package/dist/atomic/p-d716d680.entry.js +2 -0
  274. package/dist/atomic/p-d716d680.entry.js.map +1 -0
  275. package/dist/atomic/{p-856e858c.entry.js → p-d785121d.entry.js} +2 -2
  276. package/dist/atomic/{p-7b1a3cab.entry.js → p-d84c70b4.entry.js} +2 -2
  277. package/dist/atomic/p-d84c70b4.entry.js.map +1 -0
  278. package/dist/atomic/{p-7d63bf7b.entry.js → p-d93adf52.entry.js} +2 -2
  279. package/dist/atomic/p-dafbe2ef.js +2 -0
  280. package/dist/atomic/p-dafbe2ef.js.map +1 -0
  281. package/dist/atomic/{p-2a4e9425.entry.js → p-de066001.entry.js} +2 -2
  282. package/dist/atomic/{p-945ddd53.entry.js → p-e1dbe31d.entry.js} +2 -2
  283. package/dist/atomic/p-e1dbe31d.entry.js.map +1 -0
  284. package/dist/atomic/{p-441b1a7b.entry.js → p-e23b3334.entry.js} +2 -2
  285. package/dist/atomic/p-e2afb475.entry.js +2 -0
  286. package/dist/atomic/{p-bd32625e.entry.js → p-ea446721.entry.js} +2 -2
  287. package/dist/atomic/{p-07b6424c.entry.js → p-ee6771f1.entry.js} +2 -2
  288. package/dist/atomic/{p-abb14108.entry.js → p-f0c2dfe8.entry.js} +2 -2
  289. package/dist/atomic/{p-9d023f0b.entry.js → p-f1137562.entry.js} +2 -2
  290. package/dist/atomic/p-f1137562.entry.js.map +1 -0
  291. package/dist/atomic/{p-cc68642f.entry.js → p-f289269f.entry.js} +2 -2
  292. package/dist/atomic/{p-3c532cda.entry.js → p-f3777dfa.entry.js} +2 -2
  293. package/dist/atomic/p-f3777dfa.entry.js.map +1 -0
  294. package/dist/atomic/{p-fa376d3d.entry.js → p-f5b58a15.entry.js} +2 -2
  295. package/dist/atomic/p-f5b58a15.entry.js.map +1 -0
  296. package/dist/atomic/{p-fbe37f4b.entry.js → p-f8d62605.entry.js} +2 -2
  297. package/dist/atomic/{p-bdbbb47b.entry.js → p-f8ded37c.entry.js} +2 -2
  298. package/dist/atomic/{p-d4ad7336.entry.js → p-fa8b7c4c.entry.js} +2 -2
  299. package/dist/atomic/{p-fb1a1e2e.entry.js → p-fbfe913d.entry.js} +2 -2
  300. package/dist/atomic/p-fcf3f7d7.entry.js +2 -0
  301. package/dist/atomic/{p-6de44060.entry.js.map → p-fcf3f7d7.entry.js.map} +1 -1
  302. package/dist/atomic/{p-f936f55e.entry.js → p-fea7bf3b.entry.js} +2 -2
  303. package/dist/cjs/_index.cjs.js +20 -20
  304. package/dist/cjs/_loader.cjs.js +1 -1
  305. package/dist/cjs/{analytics-config-b8cf7dfc.js → analytics-config-fac0aa98.js} +2 -2
  306. package/dist/cjs/{analytics-config-b8cf7dfc.js.map → analytics-config-fac0aa98.js.map} +1 -1
  307. package/dist/cjs/atomic-category-facet.cjs.entry.js +3 -3
  308. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  309. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  310. package/dist/cjs/atomic-color-facet.cjs.entry.js +1 -1
  311. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  312. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
  313. package/dist/cjs/atomic-facet.cjs.entry.js +453 -0
  314. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -0
  315. package/dist/cjs/atomic-field-condition.cjs.entry.js +2 -2
  316. package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
  317. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  318. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  319. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  320. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  321. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  322. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
  323. package/dist/cjs/atomic-insight-facet.cjs.entry.js +11 -39
  324. package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
  325. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  326. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  327. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
  328. package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
  329. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  330. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +3 -3
  331. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
  332. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
  333. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +1 -1
  334. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  335. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  336. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +3 -3
  337. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  338. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +3 -3
  339. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  340. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +3 -3
  341. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +1 -1
  342. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  343. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  344. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +3 -3
  345. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
  346. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  347. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
  348. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  349. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  350. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +1 -1
  351. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  352. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  353. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  354. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  355. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  356. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  357. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  358. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  359. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  360. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +4 -4
  361. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +1 -1
  362. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  363. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  364. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
  365. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +3 -4
  366. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  367. package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
  368. package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
  369. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  370. package/dist/cjs/atomic-quickview.cjs.entry.js +3 -3
  371. package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
  372. package/dist/cjs/atomic-rating-facet.cjs.entry.js +1 -1
  373. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +1 -1
  374. package/dist/cjs/atomic-recs-error.cjs.entry.js +1 -1
  375. package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
  376. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  377. package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
  378. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
  379. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +2 -2
  380. package/dist/cjs/atomic-result-badge.cjs.entry.js +2 -2
  381. package/dist/cjs/atomic-result-badge.cjs.entry.js.map +1 -1
  382. package/dist/cjs/atomic-result-children.cjs.entry.js +3 -3
  383. package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
  384. package/dist/cjs/atomic-result-date.cjs.entry.js +2 -2
  385. package/dist/cjs/atomic-result-date.cjs.entry.js.map +1 -1
  386. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +3 -3
  387. package/dist/cjs/atomic-result-fields-list.cjs.entry.js.map +1 -1
  388. package/dist/cjs/atomic-result-html.cjs.entry.js +2 -2
  389. package/dist/cjs/atomic-result-html.cjs.entry.js.map +1 -1
  390. package/dist/cjs/atomic-result-icon.cjs.entry.js +2 -2
  391. package/dist/cjs/atomic-result-icon.cjs.entry.js.map +1 -1
  392. package/dist/cjs/atomic-result-image.cjs.entry.js +2 -2
  393. package/dist/cjs/atomic-result-image.cjs.entry.js.map +1 -1
  394. package/dist/cjs/atomic-result-link.cjs.entry.js +4 -4
  395. package/dist/cjs/atomic-result-link.cjs.entry.js.map +1 -1
  396. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  397. package/dist/cjs/atomic-result-localized-text.cjs.entry.js +3 -3
  398. package/dist/cjs/atomic-result-localized-text.cjs.entry.js.map +1 -1
  399. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +2 -2
  400. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js.map +1 -1
  401. package/dist/cjs/atomic-result-number.cjs.entry.js +2 -2
  402. package/dist/cjs/atomic-result-number.cjs.entry.js.map +1 -1
  403. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  404. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +2 -2
  405. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js.map +1 -1
  406. package/dist/cjs/atomic-result-rating.cjs.entry.js +2 -2
  407. package/dist/cjs/atomic-result-rating.cjs.entry.js.map +1 -1
  408. package/dist/cjs/atomic-result-text_2.cjs.entry.js +2 -2
  409. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  410. package/dist/cjs/atomic-result-timespan.cjs.entry.js +2 -2
  411. package/dist/cjs/atomic-result-timespan.cjs.entry.js.map +1 -1
  412. package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
  413. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +1 -1
  414. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
  415. package/dist/cjs/atomic-search-box.cjs.entry.js +3 -3
  416. package/dist/cjs/atomic-search-interface.cjs.entry.js +511 -0
  417. package/dist/cjs/atomic-search-interface.cjs.entry.js.map +1 -0
  418. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +1 -1
  419. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  420. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js.map +1 -1
  421. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  422. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  423. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  424. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  425. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +3 -3
  426. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  427. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  428. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  429. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  430. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +1 -1
  431. package/dist/cjs/atomic.cjs.js +1 -1
  432. package/dist/cjs/depends-on-f0cf3617.js +68 -0
  433. package/dist/cjs/depends-on-f0cf3617.js.map +1 -0
  434. package/dist/cjs/{stencil-facet-guard-9573df7f.js → facet-guard-328b588d.js} +1 -2
  435. package/dist/cjs/facet-guard-328b588d.js.map +1 -0
  436. package/dist/cjs/format-common-4aa8aa88.js.map +1 -1
  437. package/dist/cjs/index-757bc886.js +12 -4
  438. package/dist/cjs/index.cjs.js.map +1 -1
  439. package/dist/cjs/stencil-facet-value-e67c9332.js +41 -0
  440. package/dist/cjs/stencil-facet-value-e67c9332.js.map +1 -0
  441. package/dist/cjs/{result-template-decorators-432d11a9.js → stencil-result-template-decorators-28b05aaf.js} +6 -2
  442. package/dist/cjs/stencil-result-template-decorators-28b05aaf.js.map +1 -0
  443. package/dist/cjs/version.cjs.js +2 -2
  444. package/dist/esm/_index.js +19 -19
  445. package/dist/esm/_loader.js +1 -1
  446. package/dist/esm/{analytics-config-568c4df9.js → analytics-config-1e38fa5f.js} +2 -2
  447. package/dist/esm/{analytics-config-568c4df9.js.map → analytics-config-1e38fa5f.js.map} +1 -1
  448. package/dist/esm/atomic-category-facet.entry.js +3 -3
  449. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  450. package/dist/esm/atomic-citation.entry.js +1 -1
  451. package/dist/esm/atomic-color-facet.entry.js +1 -1
  452. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  453. package/dist/esm/atomic-facet-number-input.entry.js +2 -2
  454. package/dist/esm/atomic-facet.entry.js +449 -0
  455. package/dist/esm/atomic-facet.entry.js.map +1 -0
  456. package/dist/esm/atomic-field-condition.entry.js +1 -1
  457. package/dist/esm/atomic-field-condition.entry.js.map +1 -1
  458. package/dist/esm/atomic-format-currency.entry.js +1 -1
  459. package/dist/esm/atomic-format-number.entry.js +1 -1
  460. package/dist/esm/atomic-format-unit.entry.js +1 -1
  461. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
  462. package/dist/esm/atomic-html.entry.js +1 -1
  463. package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
  464. package/dist/esm/atomic-insight-facet.entry.js +11 -39
  465. package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
  466. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  467. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  468. package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
  469. package/dist/esm/atomic-insight-interface.entry.js +2 -2
  470. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  471. package/dist/esm/atomic-insight-numeric-facet.entry.js +3 -3
  472. package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
  473. package/dist/esm/atomic-insight-pager.entry.js +3 -3
  474. package/dist/esm/atomic-insight-query-error.entry.js +1 -1
  475. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  476. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  477. package/dist/esm/atomic-insight-result-action.entry.js +2 -2
  478. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  479. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -2
  480. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  481. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +2 -2
  482. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +1 -1
  483. package/dist/esm/atomic-insight-result-children.entry.js +1 -1
  484. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  485. package/dist/esm/atomic-insight-result-quickview-action.entry.js +2 -2
  486. package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
  487. package/dist/esm/atomic-insight-result.entry.js +1 -1
  488. package/dist/esm/atomic-insight-search-box.entry.js +2 -2
  489. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  490. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  491. package/dist/esm/atomic-insight-timeframe-facet.entry.js +1 -1
  492. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  493. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  494. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  495. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  496. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  497. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  498. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  499. package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
  500. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  501. package/dist/esm/atomic-ipx-result-link.entry.js +2 -2
  502. package/dist/esm/atomic-ipx-result-link.entry.js.map +1 -1
  503. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  504. package/dist/esm/atomic-load-more-results.entry.js +1 -1
  505. package/dist/esm/atomic-no-results.entry.js +1 -1
  506. package/dist/esm/atomic-numeric-facet.entry.js +3 -4
  507. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  508. package/dist/esm/atomic-pager.entry.js +3 -3
  509. package/dist/esm/atomic-query-error.entry.js +1 -1
  510. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  511. package/dist/esm/atomic-quickview.entry.js +2 -2
  512. package/dist/esm/atomic-quickview.entry.js.map +1 -1
  513. package/dist/esm/atomic-rating-facet.entry.js +1 -1
  514. package/dist/esm/atomic-rating-range-facet.entry.js +1 -1
  515. package/dist/esm/atomic-recs-error.entry.js +1 -1
  516. package/dist/esm/atomic-recs-interface.entry.js +2 -2
  517. package/dist/esm/atomic-recs-list.entry.js +1 -1
  518. package/dist/esm/atomic-refine-modal.entry.js +1 -1
  519. package/dist/esm/atomic-refine-toggle.entry.js +1 -1
  520. package/dist/esm/atomic-relevance-inspector.entry.js +2 -2
  521. package/dist/esm/atomic-result-badge.entry.js +1 -1
  522. package/dist/esm/atomic-result-badge.entry.js.map +1 -1
  523. package/dist/esm/atomic-result-children.entry.js +2 -2
  524. package/dist/esm/atomic-result-children.entry.js.map +1 -1
  525. package/dist/esm/atomic-result-date.entry.js +1 -1
  526. package/dist/esm/atomic-result-date.entry.js.map +1 -1
  527. package/dist/esm/atomic-result-fields-list.entry.js +2 -2
  528. package/dist/esm/atomic-result-fields-list.entry.js.map +1 -1
  529. package/dist/esm/atomic-result-html.entry.js +1 -1
  530. package/dist/esm/atomic-result-html.entry.js.map +1 -1
  531. package/dist/esm/atomic-result-icon.entry.js +1 -1
  532. package/dist/esm/atomic-result-icon.entry.js.map +1 -1
  533. package/dist/esm/atomic-result-image.entry.js +1 -1
  534. package/dist/esm/atomic-result-image.entry.js.map +1 -1
  535. package/dist/esm/atomic-result-link.entry.js +2 -2
  536. package/dist/esm/atomic-result-link.entry.js.map +1 -1
  537. package/dist/esm/atomic-result-list.entry.js +1 -1
  538. package/dist/esm/atomic-result-localized-text.entry.js +2 -2
  539. package/dist/esm/atomic-result-localized-text.entry.js.map +1 -1
  540. package/dist/esm/atomic-result-multi-value-text.entry.js +1 -1
  541. package/dist/esm/atomic-result-multi-value-text.entry.js.map +1 -1
  542. package/dist/esm/atomic-result-number.entry.js +1 -1
  543. package/dist/esm/atomic-result-number.entry.js.map +1 -1
  544. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  545. package/dist/esm/atomic-result-printable-uri.entry.js +1 -1
  546. package/dist/esm/atomic-result-printable-uri.entry.js.map +1 -1
  547. package/dist/esm/atomic-result-rating.entry.js +1 -1
  548. package/dist/esm/atomic-result-rating.entry.js.map +1 -1
  549. package/dist/esm/atomic-result-text_2.entry.js +1 -1
  550. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  551. package/dist/esm/atomic-result-timespan.entry.js +1 -1
  552. package/dist/esm/atomic-result-timespan.entry.js.map +1 -1
  553. package/dist/esm/atomic-result.entry.js.map +1 -1
  554. package/dist/esm/atomic-search-box-instant-results.entry.js +1 -1
  555. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +2 -2
  556. package/dist/esm/atomic-search-box.entry.js +3 -3
  557. package/dist/esm/atomic-search-interface.entry.js +507 -0
  558. package/dist/esm/atomic-search-interface.entry.js.map +1 -0
  559. package/dist/esm/atomic-segmented-facet.entry.js +1 -1
  560. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  561. package/dist/esm/atomic-smart-snippet-answer_2.entry.js.map +1 -1
  562. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  563. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  564. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  565. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  566. package/dist/esm/atomic-stencil-facet-date-input.entry.js +3 -3
  567. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  568. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  569. package/dist/esm/atomic-tab-button.entry.js +1 -1
  570. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  571. package/dist/esm/atomic-timeframe-facet.entry.js +1 -1
  572. package/dist/esm/atomic.js +1 -1
  573. package/dist/esm/depends-on-20dabb86.js +66 -0
  574. package/dist/esm/depends-on-20dabb86.js.map +1 -0
  575. package/dist/esm/{stencil-facet-guard-edbfa966.js → facet-guard-4b795e90.js} +1 -2
  576. package/dist/esm/facet-guard-4b795e90.js.map +1 -0
  577. package/dist/esm/format-common-274e0f7c.js.map +1 -1
  578. package/dist/esm/index-3f35faca.js +12 -4
  579. package/dist/esm/index.js.map +1 -1
  580. package/dist/esm/stencil-facet-value-30dc9b6c.js +39 -0
  581. package/dist/esm/stencil-facet-value-30dc9b6c.js.map +1 -0
  582. package/dist/esm/{result-template-decorators-2ed76ea9.js → stencil-result-template-decorators-f989bc6b.js} +6 -2
  583. package/dist/esm/stencil-result-template-decorators-f989bc6b.js.map +1 -0
  584. package/dist/esm/version.js +2 -2
  585. package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +30 -2
  586. package/dist/types/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.d.ts +1 -0
  587. package/dist/types/components/commerce/atomic-product/atomic-product.d.ts +1 -1
  588. package/dist/types/components/commerce/product-template-component-utils/context/fetch-product-context.d.ts +12 -0
  589. package/dist/types/components/commerce/product-template-component-utils/context/interactive-product-context-controller.d.ts +27 -0
  590. package/dist/types/components/commerce/product-template-component-utils/context/product-context-controller.d.ts +33 -0
  591. package/dist/types/components/commerce/product-template-component-utils/{stencil-product-template-decorators.d.ts → context/stencil-product-template-decorators.d.ts} +1 -1
  592. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-source.d.ts +1 -1
  593. package/dist/types/components/search/atomic-result/atomic-result.d.ts +1 -1
  594. package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +44 -46
  595. package/dist/types/components/search/atomic-search-interface/interfaces.d.ts +1 -2
  596. package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +1 -3
  597. package/dist/types/components/search/{atomic-facet → facets/atomic-facet}/atomic-facet.d.ts +9 -13
  598. package/dist/types/components/search/index.d.ts +0 -2
  599. package/dist/types/components/search/result-template-component-utils/context/fetch-result-context.d.ts +8 -0
  600. package/dist/types/components/search/result-template-component-utils/context/interactive-result-context-controller.d.ts +12 -0
  601. package/dist/types/components/search/result-template-component-utils/context/result-context-controller.d.ts +18 -0
  602. 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
  603. package/dist/types/components.d.ts +338 -2
  604. package/dist/types/index.d.ts +3 -3
  605. package/docs/atomic-docs.json +7288 -6008
  606. package/package.json +4 -4
  607. package/dist/atomic/components/components/common/facets/depends-on.js +0 -62
  608. package/dist/atomic/components/components/common/facets/popover/popover-type.js +0 -5
  609. package/dist/atomic/components/components/common/item-list/fetch-item-context.js +0 -15
  610. package/dist/atomic/components/components/search/atomic-facet/atomic-facet.js +0 -613
  611. package/dist/atomic/components/components/search/atomic-search-interface/analytics-config.js +0 -57
  612. package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +0 -495
  613. package/dist/atomic/components/decorators/commerce/product-template-decorators.js +0 -68
  614. package/dist/atomic/components/result-template-decorators.js.map +0 -1
  615. package/dist/atomic/components/stencil-facet-guard.js.map +0 -1
  616. package/dist/atomic/p-0c8e7d5f.entry.js.map +0 -1
  617. package/dist/atomic/p-0edea6f9.entry.js +0 -2
  618. package/dist/atomic/p-0f13077e.js +0 -2
  619. package/dist/atomic/p-0f13077e.js.map +0 -1
  620. package/dist/atomic/p-18684d4c.js.map +0 -1
  621. package/dist/atomic/p-190ddaca.entry.js.map +0 -1
  622. package/dist/atomic/p-1ff7a9da.entry.js.map +0 -1
  623. package/dist/atomic/p-3c532cda.entry.js.map +0 -1
  624. package/dist/atomic/p-454a0328.entry.js.map +0 -1
  625. package/dist/atomic/p-4cb7756c.entry.js +0 -2
  626. package/dist/atomic/p-4cb7756c.entry.js.map +0 -1
  627. package/dist/atomic/p-6de44060.entry.js +0 -2
  628. package/dist/atomic/p-78427c6a.entry.js.map +0 -1
  629. package/dist/atomic/p-7b1a3cab.entry.js.map +0 -1
  630. package/dist/atomic/p-7fe2dfcd.entry.js.map +0 -1
  631. package/dist/atomic/p-8a00adbe.entry.js.map +0 -1
  632. package/dist/atomic/p-8df7270f.entry.js.map +0 -1
  633. package/dist/atomic/p-8fb8c4f0.entry.js.map +0 -1
  634. package/dist/atomic/p-945ddd53.entry.js.map +0 -1
  635. package/dist/atomic/p-97829295.entry.js +0 -2
  636. package/dist/atomic/p-97e42c43.entry.js.map +0 -1
  637. package/dist/atomic/p-9d023f0b.entry.js.map +0 -1
  638. package/dist/atomic/p-a3f27d57.entry.js.map +0 -1
  639. package/dist/atomic/p-a4d277c7.entry.js.map +0 -1
  640. package/dist/atomic/p-aa3ac5aa.js.map +0 -1
  641. package/dist/atomic/p-b3f6561d.entry.js.map +0 -1
  642. package/dist/atomic/p-c2b4b401.entry.js +0 -2
  643. package/dist/atomic/p-c7800a24.entry.js.map +0 -1
  644. package/dist/atomic/p-c8d29aa6.entry.js.map +0 -1
  645. package/dist/atomic/p-c9f1790d.entry.js.map +0 -1
  646. package/dist/atomic/p-dee60597.entry.js.map +0 -1
  647. package/dist/atomic/p-e7c6a479.entry.js.map +0 -1
  648. package/dist/atomic/p-e9dc8e90.entry.js.map +0 -1
  649. package/dist/atomic/p-fa376d3d.entry.js.map +0 -1
  650. package/dist/cjs/depends-on-0d4e4f15.js +0 -68
  651. package/dist/cjs/depends-on-0d4e4f15.js.map +0 -1
  652. package/dist/cjs/result-template-decorators-432d11a9.js.map +0 -1
  653. package/dist/cjs/stencil-facet-guard-9573df7f.js.map +0 -1
  654. package/dist/esm/depends-on-d73b0ce3.js +0 -66
  655. package/dist/esm/depends-on-d73b0ce3.js.map +0 -1
  656. package/dist/esm/result-template-decorators-2ed76ea9.js.map +0 -1
  657. package/dist/esm/stencil-facet-guard-edbfa966.js.map +0 -1
  658. package/dist/types/decorators/commerce/product-template-decorators.d.ts +0 -68
  659. /package/dist/atomic/{p-41c5d5fa.entry.js.map → p-021f01d6.entry.js.map} +0 -0
  660. /package/dist/atomic/{p-a3fa6695.entry.js.map → p-035f8dc8.entry.js.map} +0 -0
  661. /package/dist/atomic/{p-2f8de0b9.entry.js.map → p-07fbb49a.entry.js.map} +0 -0
  662. /package/dist/atomic/{p-0edea6f9.entry.js.map → p-1992b245.entry.js.map} +0 -0
  663. /package/dist/atomic/{p-2ac75719.entry.js.map → p-1d1f54a5.entry.js.map} +0 -0
  664. /package/dist/atomic/{p-10b5e0f3.entry.js.map → p-20341936.entry.js.map} +0 -0
  665. /package/dist/atomic/{p-3213225f.entry.js.map → p-26a51a77.entry.js.map} +0 -0
  666. /package/dist/atomic/{p-15406648.entry.js.map → p-2ca352f4.entry.js.map} +0 -0
  667. /package/dist/atomic/{p-926fe2d7.entry.js.map → p-2ce8220a.entry.js.map} +0 -0
  668. /package/dist/atomic/{p-7a6468a7.entry.js.map → p-36fab158.entry.js.map} +0 -0
  669. /package/dist/atomic/{p-9727f36b.entry.js.map → p-37374964.entry.js.map} +0 -0
  670. /package/dist/atomic/{p-5adbf098.entry.js.map → p-3b023e83.entry.js.map} +0 -0
  671. /package/dist/atomic/{p-0610b3e7.entry.js.map → p-3b20b011.entry.js.map} +0 -0
  672. /package/dist/atomic/{p-0bc9b088.js.map → p-3f2a66df.js.map} +0 -0
  673. /package/dist/atomic/{p-c08f4ee6.entry.js.map → p-3f912e98.entry.js.map} +0 -0
  674. /package/dist/atomic/{p-9e771351.entry.js.map → p-40635c2d.entry.js.map} +0 -0
  675. /package/dist/atomic/{p-c9fe4f77.entry.js.map → p-43d708cb.entry.js.map} +0 -0
  676. /package/dist/atomic/{p-b0c50194.entry.js.map → p-48f57fd8.entry.js.map} +0 -0
  677. /package/dist/atomic/{p-e514cdb2.entry.js.map → p-4a74f4a3.entry.js.map} +0 -0
  678. /package/dist/atomic/{p-24df7251.entry.js.map → p-4c2f230f.entry.js.map} +0 -0
  679. /package/dist/atomic/{p-1140ac4d.entry.js.map → p-52976c12.entry.js.map} +0 -0
  680. /package/dist/atomic/{p-f0012580.entry.js.map → p-594488f2.entry.js.map} +0 -0
  681. /package/dist/atomic/{p-b4ad3036.entry.js.map → p-5f1fa581.entry.js.map} +0 -0
  682. /package/dist/atomic/{p-d50c96c2.entry.js.map → p-627e1265.entry.js.map} +0 -0
  683. /package/dist/atomic/{p-004adbb8.entry.js.map → p-6329ff94.entry.js.map} +0 -0
  684. /package/dist/atomic/{p-e3af1bb4.entry.js.map → p-6e6d686e.entry.js.map} +0 -0
  685. /package/dist/atomic/{p-79a9a372.entry.js.map → p-744da781.entry.js.map} +0 -0
  686. /package/dist/atomic/{p-e6a7e7b2.entry.js.map → p-7dfcd6af.entry.js.map} +0 -0
  687. /package/dist/atomic/{p-9147b0db.entry.js.map → p-8256cd44.entry.js.map} +0 -0
  688. /package/dist/atomic/{p-0e27d4f2.entry.js.map → p-83c9244a.entry.js.map} +0 -0
  689. /package/dist/atomic/{p-828cea10.entry.js.map → p-89ab44de.entry.js.map} +0 -0
  690. /package/dist/atomic/{p-4b1bf2fd.entry.js.map → p-91c0917f.entry.js.map} +0 -0
  691. /package/dist/atomic/{p-bd99fcc1.entry.js.map → p-939eaaac.entry.js.map} +0 -0
  692. /package/dist/atomic/{p-9b92b4e2.entry.js.map → p-93e29b24.entry.js.map} +0 -0
  693. /package/dist/atomic/{p-b6377fb6.entry.js.map → p-98c5b9b8.entry.js.map} +0 -0
  694. /package/dist/atomic/{p-bf49fed3.entry.js.map → p-99b8d52d.entry.js.map} +0 -0
  695. /package/dist/atomic/{p-98da2a98.entry.js.map → p-9f5590f6.entry.js.map} +0 -0
  696. /package/dist/atomic/{p-160553ce.entry.js.map → p-a3efa89e.entry.js.map} +0 -0
  697. /package/dist/atomic/{p-c538c8ac.entry.js.map → p-a53c7821.entry.js.map} +0 -0
  698. /package/dist/atomic/{p-85f165af.entry.js.map → p-a8882a2a.entry.js.map} +0 -0
  699. /package/dist/atomic/{p-ce41c447.entry.js.map → p-ae060711.entry.js.map} +0 -0
  700. /package/dist/atomic/{p-b4c34553.entry.js.map → p-b0b17e21.entry.js.map} +0 -0
  701. /package/dist/atomic/{p-e1c99e2e.entry.js.map → p-b2ff1330.entry.js.map} +0 -0
  702. /package/dist/atomic/{p-618c6967.entry.js.map → p-b6963bae.entry.js.map} +0 -0
  703. /package/dist/atomic/{p-08794435.entry.js.map → p-ba650801.entry.js.map} +0 -0
  704. /package/dist/atomic/{p-0e5dc57f.entry.js.map → p-c126ee6b.entry.js.map} +0 -0
  705. /package/dist/atomic/{p-754909fe.entry.js.map → p-c1999888.entry.js.map} +0 -0
  706. /package/dist/atomic/{p-ca762513.entry.js.map → p-c889adbd.entry.js.map} +0 -0
  707. /package/dist/atomic/{p-00a6ab8c.entry.js.map → p-d0f47b33.entry.js.map} +0 -0
  708. /package/dist/atomic/{p-97829295.entry.js.map → p-d24d34a7.entry.js.map} +0 -0
  709. /package/dist/atomic/{p-7f40e57d.entry.js.map → p-d364064c.entry.js.map} +0 -0
  710. /package/dist/atomic/{p-856e858c.entry.js.map → p-d785121d.entry.js.map} +0 -0
  711. /package/dist/atomic/{p-7d63bf7b.entry.js.map → p-d93adf52.entry.js.map} +0 -0
  712. /package/dist/atomic/{p-2a4e9425.entry.js.map → p-de066001.entry.js.map} +0 -0
  713. /package/dist/atomic/{p-441b1a7b.entry.js.map → p-e23b3334.entry.js.map} +0 -0
  714. /package/dist/atomic/{p-c2b4b401.entry.js.map → p-e2afb475.entry.js.map} +0 -0
  715. /package/dist/atomic/{p-bd32625e.entry.js.map → p-ea446721.entry.js.map} +0 -0
  716. /package/dist/atomic/{p-07b6424c.entry.js.map → p-ee6771f1.entry.js.map} +0 -0
  717. /package/dist/atomic/{p-abb14108.entry.js.map → p-f0c2dfe8.entry.js.map} +0 -0
  718. /package/dist/atomic/{p-cc68642f.entry.js.map → p-f289269f.entry.js.map} +0 -0
  719. /package/dist/atomic/{p-fbe37f4b.entry.js.map → p-f8d62605.entry.js.map} +0 -0
  720. /package/dist/atomic/{p-bdbbb47b.entry.js.map → p-f8ded37c.entry.js.map} +0 -0
  721. /package/dist/atomic/{p-d4ad7336.entry.js.map → p-fa8b7c4c.entry.js.map} +0 -0
  722. /package/dist/atomic/{p-fb1a1e2e.entry.js.map → p-fbfe913d.entry.js.map} +0 -0
  723. /package/dist/atomic/{p-f936f55e.entry.js.map → p-fea7bf3b.entry.js.map} +0 -0
  724. /package/dist/types/components/common/facets/{stencil-facet-guard.d.ts → facet-guard.d.ts} +0 -0
@@ -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/stencil-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":["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,2 +0,0 @@
1
- import{r as t,c as e,h as s}from"./p-dc3df5ce.js";import{buildDateRange as i}from"@coveo/headless";import{p as a}from"./p-54fca818.js";import{B as n}from"./p-b93ccff9.js";import"./p-35e58270.js";import"./p-0462f723.js";import"./p-1580513b.js";import"./p-21ab6f55.js";const d=class{constructor(s){t(this,s);this.applyInput=e(this,"atomic/dateInputApply",7);this.max="9999-12-31";this.start=undefined;this.end=undefined;this.bindings=undefined;this.rangeGetter=undefined;this.rangeSetter=undefined;this.facetId=undefined;this.label=undefined;this.min=undefined;this.max="9999-12-31"}connectedCallback(){const t=this.rangeGetter();this.start=t?a(t.start).toDate():undefined;this.end=t?a(t.end).toDate():undefined}componentDidUpdate(){if(!this.startRef.value&&!this.endRef.value){this.startRef.min=this.min||this.formattedDateValue("1401-01-01");this.endRef.max=this.max||"";this.startRef.max=this.max||"";this.endRef.min=this.min||""}}apply(){if(!this.startRef.validity.valid||!this.endRef.validity.valid){return}this.applyInput.emit({start:this.start,end:this.end});const t=i({start:this.start,end:this.end.setHours(23,59,59,999)});this.rangeSetter(t)}formattedDateValue(t){if(!t){return""}return a(t).format("YYYY-MM-DD")}render(){const t=this.bindings.i18n.t(this.label);const e=this.bindings.i18n.t("start");const i=this.bindings.i18n.t("end");const d=this.bindings.i18n.t("date-input-start",{label:t});const h=this.bindings.i18n.t("date-input-end",{label:t});const r=this.bindings.i18n.t("apply");const p=this.bindings.i18n.t("date-input-apply",{label:t});const c="input-primary p-2.5";const l="text-neutral-dark self-center";const o="yyyy-mm-dd";const u="^(1[4-9]\\d{2}|2\\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$";const f=this.rangeGetter();return s("form",{key:"60acc60ec8b30e3eaa4d0e2e1426732925ff352c",class:"mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2",onSubmit:t=>{t.preventDefault();this.apply();return false}},s("label",{key:"a43bd6b7f3ae352a7592e9de3390e5b8e180cb29",part:"input-label",class:l,htmlFor:`${this.facetId}_start`},e,":"),s("input",{key:"7908bdd17fb8d035d2b75ab02417b13cd1516bd2",id:`${this.facetId}_start`,part:"input-start",type:"date",ref:t=>this.startRef=t,class:c,"aria-label":d,placeholder:o,pattern:u,required:true,min:this.min||this.formattedDateValue("1401-01-01"),max:this.end?this.formattedDateValue(this.end):this.max,value:this.formattedDateValue(f?.start),onInput:t=>this.start=a(t.target.value).toDate()}),s("label",{key:"d5d35be72e99ae7488fae004a61682d597ab7d7f",part:"input-label",class:l,htmlFor:`${this.facetId}_end`},i,":"),s("input",{key:"b6b30c327c78cecef22c0b6eeec8cbf29b1d711a",id:`${this.facetId}_end`,part:"input-end",type:"date",ref:t=>this.endRef=t,class:c,"aria-label":h,placeholder:o,pattern:u,required:true,min:this.formattedDateValue(this.start)||this.min,max:this.max,value:this.formattedDateValue(f?.end),onInput:t=>this.end=a(t.target.value).toDate()}),s(n,{key:"d0b34163e43a90cf982155bf7eeb315212c9e1d2",style:"outline-primary",type:"submit",part:"input-apply-button",class:"col-span-2 truncate p-2.5",ariaLabel:p,text:r}))}};export{d as atomic_stencil_facet_date_input};
2
- //# sourceMappingURL=p-97829295.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["atomicInsightResultActionCss","AtomicInsightResultActionStyle0","Actions","AtomicInsightResultAction","this","icon","tooltip","tooltipOnClick","action","initialize","actions","loadInsightAnalyticsActions","bindings","engine","onClick","originalTooltip","setTimeout","CopyToClipboard","dispatch","logCopyToClipboard","result","navigator","clipboard","writeText","clickUri","PostToFeed","logFeedItemTextPost","SendAsEmail","logCaseSendEmail","actionClicked","emit","getIcon","CopyIcon","AttachToCase","AttachIcon","Quickview","QuickviewIcon","FeedIcon","EmailIcon","render","h","IconButton","key","partPrefix","style","title","__decorate","InitializeBindings","ResultContext"],"sources":["src/components/insight/atomic-insight-result-action/atomic-insight-result-action.pcss?tag=atomic-insight-result-action","src/components/insight/atomic-insight-result-action/atomic-insight-result-action.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n\n:host {\n &::part(result-action-button) {\n @apply flex items-center justify-center;\n @apply h-8 w-8;\n }\n}\n","import {Result} from '@coveo/headless';\nimport {\n InsightAnalyticsActionCreators,\n loadInsightAnalyticsActions,\n} from '@coveo/headless/insight';\nimport {Component, Event, EventEmitter, Prop, State, h} from '@stencil/core';\nimport AttachIcon from '../../../images/attach.svg';\nimport CopyIcon from '../../../images/copy-dark.svg';\nimport EmailIcon from '../../../images/email.svg';\nimport QuickviewIcon from '../../../images/preview.svg';\nimport FeedIcon from '../../../images/share-post.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {IconButton} from '../../common/stencil-iconButton';\nimport {ResultContext} from '../../search/result-template-components/result-template-decorators';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\nexport interface InsightResultActionClickedEvent {\n action: string;\n result: Result;\n}\n\nexport enum Actions {\n CopyToClipboard = 'copyToClipboard',\n AttachToCase = 'attachToCase',\n Quickview = 'quickview',\n PostToFeed = 'postToFeed',\n SendAsEmail = 'sendAsEmail',\n}\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-result-action',\n styleUrl: 'atomic-insight-result-action.pcss',\n})\nexport class AtomicInsightResultAction\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n @ResultContext() private result!: Result;\n @State() public error!: Error;\n\n @Event({\n eventName: 'atomicInsightResultActionClicked',\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n private actionClicked!: EventEmitter<InsightResultActionClickedEvent>;\n\n /**\n * Specify the result action icon to display.\n */\n @Prop({mutable: true}) public icon = '';\n\n /**\n * The text tooltip to show on the result action icon.\n */\n @Prop({mutable: true}) public tooltip = '';\n\n /**\n * The text tooltip to show on the result action icon for some time after clicking the button.\n */\n @Prop({mutable: true}) public tooltipOnClick = '';\n\n /**\n * The type of action to perform when the result action is clicked. This will be sent along the event fired when the button is clicked.\n */\n @Prop({mutable: true}) public action: Actions | string = '';\n\n private actions!: InsightAnalyticsActionCreators;\n\n public initialize() {\n this.actions = loadInsightAnalyticsActions(this.bindings.engine);\n }\n\n private onClick() {\n if (this.tooltipOnClick) {\n const originalTooltip = this.tooltip;\n this.tooltip = this.tooltipOnClick;\n setTimeout(() => {\n this.tooltip = originalTooltip;\n }, 1000);\n }\n\n switch (this.action) {\n case Actions.CopyToClipboard:\n this.bindings.engine.dispatch(\n this.actions.logCopyToClipboard(this.result)\n );\n navigator.clipboard.writeText(this.result?.clickUri);\n break;\n case Actions.PostToFeed:\n this.bindings.engine.dispatch(\n this.actions.logFeedItemTextPost(this.result)\n );\n break;\n case Actions.SendAsEmail:\n this.bindings.engine.dispatch(\n this.actions.logCaseSendEmail(this.result)\n );\n break;\n }\n\n this.actionClicked.emit({action: this.action, result: this.result});\n }\n\n private getIcon() {\n if (this.icon) {\n return this.icon;\n }\n\n switch (this.action) {\n case Actions.CopyToClipboard:\n return CopyIcon;\n case Actions.AttachToCase:\n return AttachIcon;\n case Actions.Quickview:\n return QuickviewIcon;\n case Actions.PostToFeed:\n return FeedIcon;\n case Actions.SendAsEmail:\n return EmailIcon;\n default:\n return QuickviewIcon;\n }\n }\n\n public render() {\n return (\n <IconButton\n partPrefix=\"result-action\"\n style=\"outline-neutral\"\n icon={this.getIcon()}\n title={this.tooltip}\n onClick={() => this.onClick()}\n />\n );\n }\n}\n"],"mappings":"+qEAAA,MAAMA,EAA+B,usjEACrC,MAAAC,EAAeD,E,2WCuBf,IAAYE,GAAZ,SAAYA,GACVA,EAAA,qCACAA,EAAA,+BACAA,EAAA,yBACAA,EAAA,2BACAA,EAAA,4BACD,EAND,CAAYA,MAAO,K,MAeNC,EAAyB,M,yFAkBNC,KAAAC,KAAO,GAKPD,KAAAE,QAAU,GAKVF,KAAAG,eAAiB,GAKjBH,KAAAI,OAA2B,G,+BAfpB,G,aAKG,G,oBAKO,G,YAKU,E,CAIlD,UAAAC,GACLL,KAAKM,QAAUC,EAA4BP,KAAKQ,SAASC,O,CAGnD,OAAAC,GACN,GAAIV,KAAKG,eAAgB,CACvB,MAAMQ,EAAkBX,KAAKE,QAC7BF,KAAKE,QAAUF,KAAKG,eACpBS,YAAW,KACTZ,KAAKE,QAAUS,CAAe,GAC7B,I,CAGL,OAAQX,KAAKI,QACX,KAAKN,EAAQe,gBACXb,KAAKQ,SAASC,OAAOK,SACnBd,KAAKM,QAAQS,mBAAmBf,KAAKgB,SAEvCC,UAAUC,UAAUC,UAAUnB,KAAKgB,QAAQI,UAC3C,MACF,KAAKtB,EAAQuB,WACXrB,KAAKQ,SAASC,OAAOK,SACnBd,KAAKM,QAAQgB,oBAAoBtB,KAAKgB,SAExC,MACF,KAAKlB,EAAQyB,YACXvB,KAAKQ,SAASC,OAAOK,SACnBd,KAAKM,QAAQkB,iBAAiBxB,KAAKgB,SAErC,MAGJhB,KAAKyB,cAAcC,KAAK,CAACtB,OAAQJ,KAAKI,OAAQY,OAAQhB,KAAKgB,Q,CAGrD,OAAAW,GACN,GAAI3B,KAAKC,KAAM,CACb,OAAOD,KAAKC,I,CAGd,OAAQD,KAAKI,QACX,KAAKN,EAAQe,gBACX,OAAOe,EACT,KAAK9B,EAAQ+B,aACX,OAAOC,EACT,KAAKhC,EAAQiC,UACX,OAAOC,EACT,KAAKlC,EAAQuB,WACX,OAAOY,EACT,KAAKnC,EAAQyB,YACX,OAAOW,EACT,QACE,OAAOF,E,CAIN,MAAAG,GACL,OACEC,EAACC,EAAU,CAAAC,IAAA,2CACTC,WAAW,gBACXC,MAAM,kBACNvC,KAAMD,KAAK2B,UACXc,MAAOzC,KAAKE,QACZQ,QAAS,IAAMV,KAAKU,W,GAjGGgC,EAAA,CAA5BC,K,+BACwBD,EAAA,CAAxBE,K","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,8hjEAC9C,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":["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,47lEACpC,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":["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":["FacetGuard","hasError","enabled","firstSearchExecuted","hasResults","children","h","Hidden","Fragment"],"sources":["src/components/common/facets/stencil-facet-guard.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {Hidden} from '../stencil-hidden';\n\ninterface FacetGuardProps {\n hasError: boolean;\n enabled: boolean;\n firstSearchExecuted: boolean;\n hasResults: boolean;\n}\n\n// @deprecated - use the `when` directive instead for Lit\nexport const FacetGuard: FunctionalComponent<FacetGuardProps> = (\n {hasError, enabled, firstSearchExecuted, hasResults},\n children\n) => {\n if (hasError || !enabled || (firstSearchExecuted && !hasResults)) {\n return <Hidden></Hidden>;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n"],"mappings":"qFAWaA,EAAmD,EAC7DC,WAAUC,UAASC,sBAAqBC,cACzCC,KAEA,GAAIJ,IAAaC,GAAYC,IAAwBC,EAAa,CAChE,OAAOE,EAACC,EAAM,K,CAGhB,OAAOD,EAACE,EAAQ,KAAEH,EAAoB,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["AtomicResultNumber","this","formatter","defaultNumberFormatter","valueToDisplay","setFormat","event","preventDefault","stopPropagation","detail","parseValue","value","ResultTemplatesHelpers","getResultProperty","result","field","valueAsNumber","parseFloat","Number","isNaN","error","Error","formatValue","bindings","i18n","languages","toString","updateValueToDisplay","componentWillRender","render","host","remove","__decorate","InitializeBindings","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-number/atomic-result-number.tsx"],"sourcesContent":["import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, Element, State, Listen} from '@stencil/core';\nimport {InitializeBindings} from '../../../../utils/initialization-utils';\nimport {\n defaultNumberFormatter,\n NumberFormatter,\n} from '../../../common/formats/format-common';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-number` component renders the value of a number result field.\n *\n * @slot default - The number can be formatted by adding a `atomic-format-number`, `atomic-format-currency` or `atomic-format-unit` component into this component.\n */\n@Component({\n tag: 'atomic-result-number',\n shadow: false,\n})\nexport class AtomicResultNumber {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n @Element() host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The field that the component should use.\n * The component will try to find this field in the `Result.raw` object unless it finds it in the `Result` object first.\n * Make sure this field is present in the `fieldsToInclude` property of the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) field!: string;\n\n @State() formatter: NumberFormatter = defaultNumberFormatter;\n\n @State() valueToDisplay: string | null = null;\n\n @Listen('atomic/numberFormat')\n public setFormat(event: CustomEvent<NumberFormatter>) {\n event.preventDefault();\n event.stopPropagation();\n this.formatter = event.detail;\n }\n\n private parseValue() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n if (value === null) {\n return null;\n }\n const valueAsNumber = parseFloat(`${value}`);\n if (Number.isNaN(valueAsNumber)) {\n this.error = new Error(\n `Could not parse \"${value}\" from field \"${this.field}\" as a number.`\n );\n return null;\n }\n return valueAsNumber;\n }\n\n private formatValue(value: number) {\n try {\n return this.formatter(value, this.bindings.i18n.languages as string[]);\n } catch (error) {\n this.error = error as Error;\n return value.toString();\n }\n }\n\n private updateValueToDisplay() {\n const value = this.parseValue();\n if (value !== null) {\n this.valueToDisplay = this.formatValue(value);\n }\n }\n\n componentWillRender() {\n this.updateValueToDisplay();\n }\n\n public render() {\n if (this.valueToDisplay === null) {\n this.host.remove();\n return;\n }\n return this.valueToDisplay;\n }\n}\n"],"mappings":"yrBAmBaA,EAAkB,M,yBAepBC,KAAAC,UAA6BC,EAE7BF,KAAAG,eAAgC,K,yDAFHD,E,oBAEG,I,CAGlC,SAAAE,CAAUC,GACfA,EAAMC,iBACND,EAAME,kBACNP,KAAKC,UAAYI,EAAMG,M,CAGjB,UAAAC,GACN,MAAMC,EAAQC,EAAuBC,kBACnCZ,KAAKa,OACLb,KAAKc,OAEP,GAAIJ,IAAU,KAAM,CAClB,OAAO,I,CAET,MAAMK,EAAgBC,WAAW,GAAGN,KACpC,GAAIO,OAAOC,MAAMH,GAAgB,CAC/Bf,KAAKmB,MAAQ,IAAIC,MACf,oBAAoBV,kBAAsBV,KAAKc,uBAEjD,OAAO,I,CAET,OAAOC,C,CAGD,WAAAM,CAAYX,GAClB,IACE,OAAOV,KAAKC,UAAUS,EAAOV,KAAKsB,SAASC,KAAKC,U,CAChD,MAAOL,GACPnB,KAAKmB,MAAQA,EACb,OAAOT,EAAMe,U,EAIT,oBAAAC,GACN,MAAMhB,EAAQV,KAAKS,aACnB,GAAIC,IAAU,KAAM,CAClBV,KAAKG,eAAiBH,KAAKqB,YAAYX,E,EAI3C,mBAAAiB,GACE3B,KAAK0B,sB,CAGA,MAAAE,GACL,GAAI5B,KAAKG,iBAAmB,KAAM,CAChCH,KAAK6B,KAAKC,SACV,M,CAEF,OAAO9B,KAAKG,c,6BApEe4B,EAAA,CAA5BC,K,+BACwBD,EAAA,CAAxBE,K","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as t}from"./p-dc3df5ce.js";import{I as r}from"./p-ff2d324d.js";import"./p-c9074946.js";import"./p-1580513b.js";import"./p-05de7ca3.js";import"./p-cae02339.js";var i=undefined&&undefined.__decorate||function(e,t,r,i){var o=arguments.length,c=o<3?t:i===null?i=Object.getOwnPropertyDescriptor(t,r):i,f;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")c=Reflect.decorate(e,t,r,i);else for(var s=e.length-1;s>=0;s--)if(f=e[s])c=(o<3?f(c):o>3?f(t,r,c):f(t,r))||c;return o>3&&c&&Object.defineProperty(t,r,c),c};const o=class{constructor(t){e(this,t);this.error=undefined}render(){return t("atomic-tab-bar",{key:"f6fd5e43db6567e6c31818e29378a7917e917e88"},t("slot",{key:"aaa18852e801b844d251be5ed4978cf82b68811b"}))}};i([r()],o.prototype,"bindings",void 0);export{o as atomic_insight_tabs};
2
- //# sourceMappingURL=p-c2b4b401.entry.js.map
@@ -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,8zjEAC9B,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":["atomicResultChildrenCss","AtomicResultChildrenStyle0","childTemplateComponent","componentTag","AtomicResultChildren","this","resultTemplateRegistered","templateHasError","showInitialChildren","inheritTemplates","noResultText","toggleShowInitialChildren","foldedResultList","logShowMoreFoldedResults","result","logShowLessFoldedResults","loadedFullCollection","resolveChildTemplates","event","preventDefault","detail","itemTemplateProvider","initialize","childrenTemplates","Array","from","host","querySelectorAll","filter","template","elementHasAncestorTag","length","error","Error","ItemTemplateProvider","includeDefaultTemplate","templateElements","getResultTemplateRegistered","getTemplateHasError","setResultTemplateRegistered","value","setTemplateHasError","bindings","renderChild","child","isLast","content","getTemplateContent","key","uniqueId","children","map","h","interactiveResult","buildInteractiveResult","engine","options","extractUnfoldedItem","store","density","displayConfig","imageSize","classes","trim","componentWillRender","initialChildren","collection","foldedResultListState","results","find","r","loadFullCollection","dispatchEvent","buildCustomEvent","renderCollection","showShouldButtons","moreResultsAvailable","Fragment","ShowHideButton","loadAllResults","i18n","t","collapseResults","CollectionGuard","isLoadingMoreResults","hasChildren","numberOfChildren","ChildrenWrapper","i","renderFoldedResult","render","ResultChildrenGuard","__decorate","InitializeBindings","ChildTemplatesContext","FoldedItemListContext","ResultContext","folded","ItemDisplayConfigContext","FoldedItemListStateContext"],"sources":["src/components/search/result-lists/atomic-result-children/atomic-result-children.pcss?tag=atomic-result-children&encapsulation=shadow","src/components/search/result-lists/atomic-result-children/atomic-result-children.tsx"],"sourcesContent":["@import '../../../../components/common/result-children/result-children.pcss';\n","import {\n buildInteractiveResult,\n FoldedResult,\n FoldedResultList,\n FoldedResultListState,\n} from '@coveo/headless';\nimport {\n Component,\n Element,\n State,\n h,\n Listen,\n Prop,\n Fragment,\n} from '@stencil/core';\nimport {buildCustomEvent} from '../../../../utils/event-utils';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {elementHasAncestorTag} from '../../../../utils/utils';\nimport {extractUnfoldedItem} from '../../../common/item-list/unfolded-item';\nimport {\n FoldedItemListContext,\n FoldedItemListStateContext,\n} from '../../../common/item-list/item-list-decorators';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {\n ChildTemplatesContext,\n ChildTemplatesContextEvent,\n DisplayConfig,\n ItemDisplayConfigContext,\n} from '../../../common/item-list/stencil-item-decorators';\nimport {ItemDisplayImageSize} from '../../../common/layout/display-options';\nimport {ChildrenWrapper} from '../../../common/result-children/children-wrapper';\nimport {CollectionGuard} from '../../../common/result-children/collection-guard';\nimport {ResultChildrenGuard} from '../../../common/result-children/guard';\nimport {ShowHideButton} from '../../../common/result-children/show-hide-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../../result-template-components/result-template-decorators';\n\nconst childTemplateComponent = 'atomic-result-children-template';\nconst componentTag = 'atomic-result-children';\n\n/**\n * The `atomic-result-children` component is responsible for displaying child results by applying one or more child result templates.\n * Includes two slots, \"before-children\" and \"after-children\", which allow for rendering content before and after the list of children,\n * only when children exist.\n * @part children-root - The wrapper for the message when there are child results\n * @part no-result-root - The wrapper for the message when there are no results.\n * @part show-hide-button - The button that allows to collapse or show all child results.\n * @slot before-children - Slot that allows rendering content before the list of children, only when children exist.\n * @slot after-children - Slot that allows rendering content after the list of children, only when children exist.\n */\n@Component({\n tag: 'atomic-result-children',\n styleUrl: 'atomic-result-children.pcss',\n shadow: true,\n})\nexport class AtomicResultChildren implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ChildTemplatesContext()\n public itemTemplateProvider?: ItemTemplateProvider;\n @FoldedItemListContext()\n private foldedResultList!: FoldedResultList;\n @ResultContext({folded: true})\n private result!: FoldedResult;\n @ItemDisplayConfigContext()\n private displayConfig!: DisplayConfig;\n private initialChildren!: FoldedResult[];\n\n @Element() public host!: HTMLDivElement;\n @State() public error!: Error;\n @State() private resultTemplateRegistered = false;\n @State() private templateHasError = false;\n @FoldedItemListStateContext()\n @State()\n private foldedResultListState!: FoldedResultListState;\n @State()\n private showInitialChildren = false;\n\n /**\n * Whether to inherit templates defined in a parent atomic-result-children. Only works for the second level of child nesting.\n */\n @Prop() inheritTemplates = false;\n /**\n * The expected size of the image displayed in the children results.\n */\n @Prop({reflect: true}) imageSize?: ItemDisplayImageSize;\n /**\n * The non-localized copy for an empty result state. An empty string will result in the component being hidden.\n */\n @Prop() public noResultText = 'no-documents-related';\n\n @Listen('atomic/resolveChildTemplates')\n public resolveChildTemplates(event: ChildTemplatesContextEvent) {\n event.preventDefault();\n event.detail(this.itemTemplateProvider);\n }\n\n public initialize() {\n if (this.inheritTemplates) {\n return;\n }\n\n const childrenTemplates = Array.from(\n this.host.querySelectorAll(childTemplateComponent)\n ).filter(\n (template) => !elementHasAncestorTag(template, childTemplateComponent)\n );\n\n if (!childrenTemplates.length) {\n this.error = new Error(\n `The \"${componentTag}\" component requires at least one \"${childTemplateComponent}\" component.`\n );\n return;\n }\n\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: false,\n templateElements: childrenTemplates,\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n }\n\n private renderChild(child: FoldedResult, isLast: boolean) {\n const content = this.itemTemplateProvider?.getTemplateContent(child.result);\n\n if (!content) {\n return;\n }\n\n const key =\n child.result.uniqueId +\n child.children.map((child) => child.result.uniqueId);\n return (\n <atomic-result\n key={key}\n content={content}\n result={child}\n interactiveResult={buildInteractiveResult(this.bindings.engine, {\n options: {result: extractUnfoldedItem(child)},\n })}\n store={this.bindings.store}\n density={this.displayConfig.density}\n imageSize={this.imageSize || this.displayConfig.imageSize}\n classes={`child-result ${isLast ? 'last-child' : ''}`.trim()}\n ></atomic-result>\n );\n }\n\n public componentWillRender() {\n if (this.initialChildren || !this.collection) {\n return;\n }\n\n this.initialChildren = this.collection.children;\n }\n\n private get collection() {\n return this.foldedResultListState.results.find((r) => {\n return r.result.uniqueId === this.result.result.uniqueId;\n });\n }\n private loadFullCollection() {\n this.loadedFullCollection = true;\n this.host.dispatchEvent(\n buildCustomEvent('atomic/loadCollection', this.collection)\n );\n }\n private toggleShowInitialChildren = () => {\n if (this.showInitialChildren) {\n this.foldedResultList.logShowMoreFoldedResults(this.result.result);\n } else {\n this.foldedResultList.logShowLessFoldedResults();\n }\n\n this.showInitialChildren = !this.showInitialChildren;\n };\n\n @State() private loadedFullCollection = false;\n\n private renderCollection() {\n const collection = this.collection!;\n\n const children = this.showInitialChildren\n ? this.initialChildren\n : collection.children;\n\n const showShouldButtons =\n this.loadedFullCollection || collection.moreResultsAvailable;\n\n return (\n <Fragment>\n {showShouldButtons && (\n <ShowHideButton\n moreResultsAvailable={collection.moreResultsAvailable}\n loadFullCollection={() => this.loadFullCollection()}\n showInitialChildren={this.showInitialChildren}\n toggleShowInitialChildren={this.toggleShowInitialChildren}\n loadAllResults={this.bindings.i18n.t('load-all-results')}\n collapseResults={this.bindings.i18n.t('collapse-results')}\n />\n )}\n\n <CollectionGuard\n isLoadingMoreResults={collection.isLoadingMoreResults}\n moreResultsAvailable={collection.moreResultsAvailable}\n hasChildren={collection.children.length > 0}\n numberOfChildren={collection.children.length}\n density={this.displayConfig.density}\n imageSize={this.imageSize || this.displayConfig.imageSize}\n noResultText={this.bindings.i18n.t(this.noResultText)}\n >\n <ChildrenWrapper hasChildren={collection.children.length > 0}>\n {children.map((child, i) =>\n this.renderChild(child, i === children.length - 1)\n )}\n </ChildrenWrapper>\n </CollectionGuard>\n </Fragment>\n );\n }\n\n private renderFoldedResult() {\n if (this.result.children.length === 0) {\n return;\n }\n\n const children = this.result.children;\n\n return (\n <ChildrenWrapper hasChildren={children.length > 0}>\n {children.map((child, i) =>\n this.renderChild(child, i === children.length - 1)\n )}\n </ChildrenWrapper>\n );\n }\n\n public render() {\n return (\n <ResultChildrenGuard\n inheritTemplates={this.inheritTemplates}\n resultTemplateRegistered={this.resultTemplateRegistered}\n templateHasError={this.templateHasError}\n >\n {this.collection ? this.renderCollection() : this.renderFoldedResult()}\n </ResultChildrenGuard>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["AtomicResultLocalizedText","this","field","render","bindings","i18n","t","localeKey","parseFieldValues","parseFieldCount","ret","Object","keys","length","entries","forEach","fieldName","i18nParameter","fieldValueRaw","ResultTemplatesHelpers","getResultProperty","result","isNullOrUndefined","fieldCount","count","__decorate","InitializeBindings","ResultContext","MapProp"],"sources":["src/components/search/result-template-components/atomic-result-localized-text/atomic-result-localized-text.ts"],"sourcesContent":["import {isNullOrUndefined} from '@coveo/bueno';\nimport {type Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, State} from '@stencil/core';\nimport {\n type InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {MapProp} from '../../../../utils/props-utils';\nimport type {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-localized-text` component renders a target i18n localized string using the values of a target field.\n *\n * Given this i18n configuration:\n * ```\n * searchInterface.i18n.addResourceBundle('en', 'translation', {\n * classic_book_advert: 'Classic book from {{name}}',\n * });\n * ```\n *\n * The component could be configured in such a way to replace `{{name}}` with the `author` field value from the result item:\n * ```\n * <atomic-result-localized-text locale-key=\"classic_book_advert\" field-author=\"name\"></atomic-result-localized-text>\n * ```\n *\n * @MapProp name: field;attr: field;docs: The field from which to extract the target string and the variable used to map it to the target i18n parameter. For example, the following configuration extracts the value of `author` from a result, and assign it to the i18n parameter `name`: `field-author=\"name\"`;type: Record<string, string> ;default: {}\n */\n@Component({\n tag: 'atomic-result-localized-text',\n})\nexport class AtomicResultLocalizedText implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @State() public error!: Error;\n\n @ResultContext() private result!: Result;\n /**\n * The i18n translation key.\n */\n @Prop() localeKey!: string;\n /**\n * The field value to dynamically evaluate.\n */\n @Prop() @MapProp() field: Record<string, string> = {};\n /**\n * The numerical field value used to determine whether to use the singular or plural value of a translation.\n * */\n @Prop() fieldCount?: string;\n\n render() {\n return this.bindings.i18n.t(this.localeKey, {\n ...this.parseFieldValues(),\n ...this.parseFieldCount(),\n });\n }\n\n private parseFieldValues() {\n const ret: Record<string, unknown> = {};\n if (Object.keys(this.field).length === 0) {\n return ret;\n }\n Object.entries(this.field).forEach(([fieldName, i18nParameter]) => {\n const fieldValueRaw = ResultTemplatesHelpers.getResultProperty(\n this.result,\n fieldName\n );\n if (!isNullOrUndefined(fieldValueRaw)) {\n ret[i18nParameter] = fieldValueRaw;\n }\n });\n\n return ret;\n }\n\n private parseFieldCount() {\n if (!this.fieldCount) {\n return {};\n }\n return {\n count:\n (ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.fieldCount!\n ) as number) ?? 1,\n };\n }\n}\n"],"mappings":"2yBA+BaA,EAAyB,M,yBAYjBC,KAAAC,MAAgC,G,yDAAA,G,0BAMnD,MAAAC,GACE,OAAOF,KAAKG,SAASC,KAAKC,EAAEL,KAAKM,UAAW,IACvCN,KAAKO,sBACLP,KAAKQ,mB,CAIJ,gBAAAD,GACN,MAAME,EAA+B,GACrC,GAAIC,OAAOC,KAAKX,KAAKC,OAAOW,SAAW,EAAG,CACxC,OAAOH,C,CAETC,OAAOG,QAAQb,KAAKC,OAAOa,SAAQ,EAAEC,EAAWC,MAC9C,MAAMC,EAAgBC,EAAuBC,kBAC3CnB,KAAKoB,OACLL,GAEF,IAAKM,EAAkBJ,GAAgB,CACrCR,EAAIO,GAAiBC,C,KAIzB,OAAOR,C,CAGD,eAAAD,GACN,IAAKR,KAAKsB,WAAY,CACpB,MAAO,E,CAET,MAAO,CACLC,MACGL,EAAuBC,kBACtBnB,KAAKoB,OACLpB,KAAKsB,aACS,E,GAnDOE,EAAA,CAA5BC,K,+BAGwBD,EAAA,CAAxBE,K,6BAQkBF,EAAA,CAAVG,K","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["atomicInsightResultAttachToCaseActionCss","AtomicInsightResultAttachToCaseActionStyle0","AtomicInsightResultAttachToCaseAction","initialize","caseId","this","bindings","engine","state","insightCaseContext","attachToCase","buildAttachToCase","options","result","onClick","isAttached","detach","emit","callback","attach","getIcon","DetachIcon","AttachIcon","getTooltip","i18n","t","render","h","IconButton","key","partPrefix","style","icon","title","__decorate","InitializeBindings","ResultContext","BindStateToController"],"sources":["src/components/insight/atomic-insight-result-attach-to-case-action/atomic-insight-result-attach-to-case-action.pcss?tag=atomic-insight-result-attach-to-case-action","src/components/insight/atomic-insight-result-attach-to-case-action/atomic-insight-result-attach-to-case-action.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {AttachToCase, buildAttachToCase, Result} from '@coveo/headless/insight';\nimport {Component, Event, State, h, Element, EventEmitter} from '@stencil/core';\nimport AttachIcon from '../../../images/attach.svg';\nimport DetachIcon from '../../../images/detach.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {IconButton} from '../../common/stencil-iconButton';\nimport {ResultContext} from '../../search/result-template-components/result-template-decorators';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\nexport interface InsightResultAttachToCaseEvent {\n callback: () => void;\n result: Result;\n}\n/**\n * @internal\n * The `atomic-insight-result-attach-to-case-action` component can be nested inside a `atomic-insight-result-actions` to render an interactive button that will emit an `atomic/insight/attachToCase/attach` or `atomic/insight/attachToCase/detach` JavaScript event, based on its current state, when clicked.\n *\n * @part result-action-container - The result action container\n * @part result-action-button - The result action button\n * @part result-action-icon - The result action icon\n */\n@Component({\n tag: 'atomic-insight-result-attach-to-case-action',\n styleUrl: 'atomic-insight-result-attach-to-case-action.pcss',\n})\nexport class AtomicInsightResultAttachToCaseAction\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n @ResultContext() private result!: Result;\n\n @Element() host!: HTMLElement;\n @State() public error!: Error;\n\n public attachToCase!: AttachToCase;\n\n @BindStateToController('attachToCase')\n @State()\n public attachToCaseState!: {};\n\n @Event({\n eventName: 'atomic/insight/attachToCase/attach',\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n private attach!: EventEmitter<InsightResultAttachToCaseEvent>;\n\n @Event({\n eventName: 'atomic/insight/attachToCase/detach',\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n private detach!: EventEmitter<InsightResultAttachToCaseEvent>;\n\n public initialize() {\n const caseId: string =\n this.bindings.engine.state.insightCaseContext?.caseId || '';\n this.attachToCase = buildAttachToCase(this.bindings.engine, {\n options: {\n result: this.result,\n caseId: caseId,\n },\n });\n }\n\n private onClick() {\n if (this.attachToCase.isAttached()) {\n this.detach.emit({\n callback: this.attachToCase.detach,\n result: this.result,\n });\n } else {\n this.attach.emit({\n callback: this.attachToCase.attach,\n result: this.result,\n });\n }\n }\n\n private getIcon() {\n return this.attachToCase.isAttached() ? DetachIcon : AttachIcon;\n }\n\n private getTooltip() {\n return this.attachToCase.isAttached()\n ? this.bindings.i18n.t('detach-from-case')\n : this.bindings.i18n.t('attach-to-case');\n }\n\n public render() {\n return (\n <IconButton\n partPrefix=\"result-action\"\n style=\"outline-neutral\"\n icon={this.getIcon()}\n title={this.getTooltip()}\n onClick={() => this.onClick()}\n />\n );\n }\n}\n"],"mappings":"62GAAA,MAAMA,EAA2C,8hjEACjD,MAAAC,EAAeD,E,iXC4BFE,EAAqC,M,qMA+BzC,UAAAC,GACL,MAAMC,EACJC,KAAKC,SAASC,OAAOC,MAAMC,oBAAoBL,QAAU,GAC3DC,KAAKK,aAAeC,EAAkBN,KAAKC,SAASC,OAAQ,CAC1DK,QAAS,CACPC,OAAQR,KAAKQ,OACbT,OAAQA,I,CAKN,OAAAU,GACN,GAAIT,KAAKK,aAAaK,aAAc,CAClCV,KAAKW,OAAOC,KAAK,CACfC,SAAUb,KAAKK,aAAaM,OAC5BH,OAAQR,KAAKQ,Q,KAEV,CACLR,KAAKc,OAAOF,KAAK,CACfC,SAAUb,KAAKK,aAAaS,OAC5BN,OAAQR,KAAKQ,Q,EAKX,OAAAO,GACN,OAAOf,KAAKK,aAAaK,aAAeM,EAAaC,C,CAG/C,UAAAC,GACN,OAAOlB,KAAKK,aAAaK,aACrBV,KAAKC,SAASkB,KAAKC,EAAE,oBACrBpB,KAAKC,SAASkB,KAAKC,EAAE,iB,CAGpB,MAAAC,GACL,OACEC,EAACC,EAAU,CAAAC,IAAA,2CACTC,WAAW,gBACXC,MAAM,kBACNC,KAAM3B,KAAKe,UACXa,MAAO5B,KAAKkB,aACZT,QAAS,IAAMT,KAAKS,W,6BAtEGoB,EAAA,CAA5BC,K,+BACwBD,EAAA,CAAxBE,K,6BASMF,EAAA,CAFNG,EAAsB,iB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["atomicNumericFacetCss","AtomicNumericFacetStyle0","AtomicNumericFacet","this","manualRanges","formatter","defaultNumberFormatter","label","tabsIncluded","tabsExcluded","numberOfValues","sortCriteria","rangeAlgorithm","displayValuesAs","isCollapsed","headingLevel","filterFacetCount","injectionDepth","dependsOn","focusTarget","headerFocus","FocusTargetController","initialize","length","console","warn","validateProps","initializeTabManager","computeFacetId","initializeFacetForInput","initializeFacetForRange","initializeFilter","initializeSearchStatus","registerFacetToStore","disconnectedCallback","host","isConnected","facetForRangeDependenciesManager","stopWatching","facetForInputDependenciesManager","filterDependenciesManager","searchStatus","buildSearchStatus","bindings","engine","tabManager","buildTabManager","withInput","facetForInput","buildNumericFacet","options","generateAutomaticRanges","facetId","field","tabs","included","excluded","initializeDependenciesManager","state","Array","from","querySelectorAll","map","start","end","endInclusive","buildNumericRange","facetForRange","currentValues","filter","buildNumericFilter","buildFacetConditionsManager","conditions","parseDependsOn","facetInfo","i18n","t","element","isHidden","store","registerFacet","format","value","formatHumanReadable","facetValue","logger","initializePopover","hasValues","numberOfActiveValues","numberOfSelectedValues","numericFacets","setFormat","event","preventDefault","stopPropagation","detail","applyNumberInput","dispatch","loadNumericFacetSetActions","deselectAllNumericFacetValues","render","searchStatusState","firstSearchExecuted","hasError","h","FacetGuard","key","enabled","hasResults","shouldRenderFacet","FacetContainer","FacetHeader","onClearFilters","focusAfterSearch","filterState","range","clear","deselectAll","onToggleCollapse","headerRef","el","setTarget","shouldRenderValues","renderValues","shouldRenderInput","type","FacetPlaceholder","NumericFacetValuesContainer","valuesToRender","NumericFacetValueLink","onClick","toggleSingleSelect","toggleSelect","values","hasInputRange","numberOfResults","shouldDisplayInputForFacetRange","facetValues","hasInput","randomID","facetState","Schema","StringValue","constrainTo","validate","__decorate","InitializeBindings","BindStateToController","ArrayProp","MapProp"],"sources":["src/components/search/facets/atomic-numeric-facet/atomic-numeric-facet.pcss?tag=atomic-numeric-facet&encapsulation=shadow","src/components/search/facets/atomic-numeric-facet/atomic-numeric-facet.tsx"],"sourcesContent":["@import '../../../common/facets/numeric-facet-common.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {\n buildFacetConditionsManager,\n FacetConditionsManager,\n buildNumericFacet,\n buildNumericFilter,\n buildNumericRange,\n buildSearchStatus,\n CategoryFacetValueRequest,\n FacetValueRequest,\n loadNumericFacetSetActions,\n NumericFacet,\n NumericFacetState,\n NumericFilter,\n NumericFilterState,\n RangeFacetRangeAlgorithm,\n RangeFacetSortCriterion,\n SearchStatus,\n SearchStatusState,\n NumericRangeRequest,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, Element, h, Listen, Prop, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/stencil-facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {NumberInputType} from '../../../common/facets/facet-number-input/number-input-type';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/facet-placeholder';\nimport {formatHumanReadable} from '../../../common/facets/numeric-facet/formatter';\nimport {NumericFacetValueLink} from '../../../common/facets/numeric-facet/stencil-value-link';\nimport {NumericFacetValuesContainer} from '../../../common/facets/numeric-facet/stencil-values-container';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from '../../../common/facets/stencil-facet-common';\nimport {\n defaultNumberFormatter,\n NumberFormatter,\n} from '../../../common/formats/format-common';\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., ascending, descending).\n * An `atomic-numeric-facet` displays a facet of the results for the current query as numeric ranges.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and allows to expand/collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part values - The facet values container.\n * @part value-label - The facet value label, common for all displays.\n * @part value-count - The facet value count, common for all displays.\n *\n * @part value-checkbox - The facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-checked - The checked facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-label - The facet value checkbox clickable label, available when display is 'checkbox'.\n * @part value-checkbox-icon - The facet value checkbox icon, available when display is 'checkbox'.\n * @part value-link - The facet value when display is 'link'.\n * @part value-link-selected - The selected facet value when display is 'link'.\n\n * @part input-form - The form that comprises the labels, inputs, and 'apply' button for the custom numeric range.\n * @part label-start - The label for the starting value of the custom numeric range.\n * @part label-end - The label for the ending value of the custom numeric range.\n * @part input-start - The input for the starting value of the custom numeric range.\n * @part input-end - The input for the ending value of the custom numeric range.\n * @part input-apply-button - The apply button for the custom range.\n */\n@Component({\n tag: 'atomic-numeric-facet',\n styleUrl: './atomic-numeric-facet.pcss',\n shadow: true,\n})\nexport class AtomicNumericFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facetForRange?: NumericFacet;\n public facetForInput?: NumericFacet;\n public filter!: NumericFilter;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @Element() private host!: HTMLElement;\n private manualRanges: (NumericRangeRequest & {label?: string})[] = [];\n private formatter: NumberFormatter = defaultNumberFormatter;\n private facetForRangeDependenciesManager?: FacetConditionsManager;\n private facetForInputDependenciesManager?: FacetConditionsManager;\n private filterDependenciesManager?: FacetConditionsManager;\n\n @BindStateToController('facetForRange')\n @State()\n public facetState!: NumericFacetState;\n @BindStateToController('filter')\n @State()\n public filterState?: NumericFilterState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n @BindStateToController('facetForInput')\n @State()\n public facetForInputState?: NumericFacetState;\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, when there are no manual ranges.\n * If the number of values is 0, no ranges will be displayed.\n */\n @Prop({reflect: true}) public numberOfValues = 8;\n /**\n * Whether this facet should contain an input allowing users to set custom ranges.\n * Depending on the field, the input can allow either decimal or integer values.\n */\n @Prop({reflect: true}) public withInput?: NumberInputType;\n /**\n * The sort criterion to apply to the returned facet values.\n * Possible values are 'ascending' and 'descending'.\n */\n @Prop({reflect: true}) public sortCriteria: RangeFacetSortCriterion =\n 'ascending';\n /**\n * The algorithm that's used for generating the ranges of this facet when they aren't manually defined. The default value of `\"equiprobable\"` generates facet ranges which vary in size but have a more balanced number of results within each range. The value of `\"even\"` generates equally sized facet ranges across all of the results.\n */\n @Prop({reflect: true}) public rangeAlgorithm: RangeFacetRangeAlgorithm =\n 'equiprobable';\n /**\n * Whether to display the facet values as checkboxes (multiple selection) or links (single selection).\n * Possible values are 'checkbox' and 'link'.\n */\n @Prop({reflect: true}) public displayValuesAs: 'checkbox' | 'link' =\n 'checkbox';\n /**\n * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * 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\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-numeric-facet\n * depends-on-abc\n * ...\n * ></atomic-numeric-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-numeric-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-numeric-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n private headerFocus?: FocusTargetController;\n\n private get focusTarget(): FocusTargetController {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\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.validateProps();\n this.initializeTabManager();\n this.computeFacetId();\n this.initializeFacetForInput();\n this.initializeFacetForRange();\n this.initializeFilter();\n this.initializeSearchStatus();\n this.registerFacetToStore();\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.facetForRangeDependenciesManager?.stopWatching();\n this.facetForInputDependenciesManager?.stopWatching();\n this.filterDependenciesManager?.stopWatching();\n }\n\n private initializeSearchStatus() {\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n }\n private initializeTabManager() {\n this.tabManager = buildTabManager(this.bindings.engine);\n }\n private initializeFacetForInput() {\n if (!this.withInput) {\n return;\n }\n this.facetForInput = buildNumericFacet(this.bindings.engine, {\n options: {\n numberOfValues: 1,\n generateAutomaticRanges: true,\n facetId: `${this.facetId}_input_range`,\n field: this.field,\n sortCriteria: this.sortCriteria,\n rangeAlgorithm: this.rangeAlgorithm,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n },\n });\n\n this.facetForInputDependenciesManager = this.initializeDependenciesManager(\n this.facetForInput.state.facetId\n );\n\n return this.facetForInput;\n }\n\n private initializeFacetForRange() {\n if (this.numberOfValues <= 0) {\n return;\n }\n\n this.manualRanges = Array.from(\n this.host.querySelectorAll('atomic-numeric-range')\n ).map(({start, end, endInclusive, label}) => ({\n ...buildNumericRange({start, end, endInclusive}),\n label,\n }));\n\n this.facetForRange = buildNumericFacet(this.bindings.engine, {\n options: {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n rangeAlgorithm: this.rangeAlgorithm,\n currentValues: this.manualRanges,\n generateAutomaticRanges: !this.manualRanges.length,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n },\n });\n\n this.facetForRangeDependenciesManager = this.initializeDependenciesManager(\n this.facetForRange.state.facetId\n );\n\n return this.facetForRange;\n }\n\n private initializeFilter() {\n if (!this.withInput) {\n return;\n }\n this.filter = buildNumericFilter(this.bindings.engine, {\n options: {\n facetId: `${this.facetId}_input`,\n field: this.field,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n },\n });\n\n this.filterDependenciesManager = this.initializeDependenciesManager(\n this.filter.state.facetId\n );\n }\n\n private initializeDependenciesManager(facetId: string) {\n return buildFacetConditionsManager(this.bindings.engine, {\n facetId,\n conditions: parseDependsOn<FacetValueRequest | CategoryFacetValueRequest>(\n this.dependsOn\n ),\n });\n }\n\n private registerFacetToStore() {\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\n this.bindings.store.registerFacet('numericFacets', {\n ...facetInfo,\n format: (value) =>\n formatHumanReadable({\n facetValue: value,\n logger: this.bindings.engine.logger,\n i18n: this.bindings.i18n,\n field: this.field,\n manualRanges: this.manualRanges,\n formatter: this.formatter,\n }),\n });\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n\n if (this.filter) {\n this.bindings.store.state.numericFacets[this.filter.state.facetId] =\n this.bindings.store.state.numericFacets[this.facetId!];\n }\n }\n\n @Listen('atomic/numberFormat')\n public setFormat(event: CustomEvent<NumberFormatter>) {\n event.preventDefault();\n event.stopPropagation();\n this.formatter = event.detail;\n }\n\n @Listen('atomic/numberInputApply')\n public applyNumberInput() {\n this.facetId &&\n this.bindings.engine.dispatch(\n loadNumericFacetSetActions(\n this.bindings.engine\n ).deselectAllNumericFacetValues(this.facetId)\n );\n }\n\n public render() {\n const {\n searchStatusState: {firstSearchExecuted, hasError},\n bindings: {i18n},\n } = this;\n return (\n <FacetGuard\n enabled={this.enabled}\n firstSearchExecuted={firstSearchExecuted}\n hasError={hasError}\n hasResults={this.shouldRenderFacet}\n >\n {firstSearchExecuted ? (\n <FacetContainer>\n <FacetHeader\n i18n={i18n}\n label={this.label}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n if (this.filterState?.range) {\n this.filter?.clear();\n return;\n }\n this.facetForRange?.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n />\n {!this.isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && (\n <atomic-facet-number-input\n type={this.withInput!}\n bindings={this.bindings}\n label={this.label}\n filter={this.filter!}\n filterState={this.filter!.state}\n ></atomic-facet-number-input>\n ),\n ]}\n </FacetContainer>\n ) : (\n <FacetPlaceholder\n isCollapsed={this.isCollapsed}\n numberOfValues={this.numberOfValues}\n />\n )}\n </FacetGuard>\n );\n }\n\n private renderValues() {\n const {\n displayValuesAs,\n field,\n manualRanges,\n label,\n bindings: {\n i18n,\n engine: {logger},\n },\n formatter,\n } = this;\n\n return (\n <NumericFacetValuesContainer i18n={i18n} label={label}>\n {this.valuesToRender.map((value) => (\n <NumericFacetValueLink\n formatter={formatter}\n displayValuesAs={displayValuesAs}\n facetValue={value}\n field={field}\n i18n={i18n}\n logger={logger}\n manualRanges={manualRanges}\n onClick={() =>\n this.displayValuesAs === 'link'\n ? this.facetForRange!.toggleSingleSelect(value)\n : this.facetForRange!.toggleSelect(value)\n }\n />\n ))}\n </NumericFacetValuesContainer>\n );\n }\n\n private get numberOfSelectedValues() {\n if (this.filter?.state.range) {\n return 1;\n }\n\n return (\n this.facetForRange?.state.values.filter(({state}) => state === 'selected')\n .length || 0\n );\n }\n\n private get shouldRenderValues() {\n return (\n !this.hasInputRange &&\n this.numberOfValues > 0 &&\n !!this.valuesToRender.length\n );\n }\n\n private get hasInputRange() {\n return !!this.filter?.state.range;\n }\n\n private get valuesToRender() {\n return (\n this.facetForRange?.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderInput() {\n return shouldDisplayInputForFacetRange({\n hasInputRange: this.hasInputRange,\n searchStatusState: this.searchStatusState,\n facetValues: this.facetForInput?.state.values || [],\n hasInput: !!this.withInput,\n });\n }\n\n private computeFacetId() {\n if (this.facetId) {\n return;\n }\n\n if (this.bindings.store.state.numericFacets[this.field]) {\n this.facetId = randomID(`${this.field}_`);\n return;\n }\n\n this.facetId = this.field;\n }\n\n private get enabled() {\n return this.facetState?.enabled ?? this.filter?.state.enabled ?? true;\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet || !this.enabled;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get hasValues() {\n if (this.facetForInput?.state.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private validateProps() {\n new Schema({\n displayValuesAs: new StringValue({constrainTo: ['checkbox', 'link']}),\n withInput: new StringValue({constrainTo: ['integer', 'decimal']}),\n }).validate({\n displayValuesAs: this.displayValuesAs,\n withInput: this.withInput,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["e","t","module","exports","this","a","n","d","lastDay","sameDay","nextDay","nextWeek","lastWeek","sameElse","prototype","calendar","$locale","o","startOf","s","diff","i","f","l","call","format","updateLocale","Ls","Object","keys","forEach","dayjs","extend","AtomicResultDate","field","dateToRender","updateDateToRender","value","ResultTemplatesHelpers","getResultProperty","result","parsedValue","parseDate","isValid","error","Error","relativeTime","bindings","interfaceElement","language","i18n","componentWillRender","render","host","remove","__decorate","InitializeBindings","ResultContext"],"sources":["../../node_modules/dayjs/plugin/calendar.js","../../node_modules/dayjs/plugin/updateLocale.js","src/components/search/result-template-components/atomic-result-date/atomic-result-date.tsx"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_calendar=t()}(this,(function(){\"use strict\";return function(e,t,a){var n=\"h:mm A\",d={lastDay:\"[Yesterday at] \"+n,sameDay:\"[Today at] \"+n,nextDay:\"[Tomorrow at] \"+n,nextWeek:\"dddd [at] \"+n,lastWeek:\"[Last] dddd [at] \"+n,sameElse:\"MM/DD/YYYY\"};t.prototype.calendar=function(e,t){var n=t||this.$locale().calendar||d,o=a(e||void 0).startOf(\"d\"),s=this.diff(o,\"d\",!0),i=\"sameElse\",f=s<-6?i:s<-1?\"lastWeek\":s<0?\"lastDay\":s<1?\"sameDay\":s<2?\"nextDay\":s<7?\"nextWeek\":i,l=n[f]||d[f];return\"function\"==typeof l?l.call(this,a()):this.format(l)}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_updateLocale=n()}(this,(function(){\"use strict\";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach((function(e){o[e]=n[e]})),o}}}));","import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, Element, State} from '@stencil/core';\nimport dayjs from 'dayjs';\nimport calendar from 'dayjs/plugin/calendar';\nimport updateLocale from 'dayjs/plugin/updateLocale';\nimport {parseDate} from '../../../../utils/date-utils';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\ndayjs.extend(calendar);\ndayjs.extend(updateLocale);\n\n/**\n * The `atomic-result-date` component renders the value of a date result field.\n */\n@Component({\n tag: 'atomic-result-date',\n shadow: false,\n})\nexport class AtomicResultDate implements InitializableComponent {\n @InitializeBindings()\n public bindings!: Bindings;\n\n @ResultContext() private result!: Result;\n\n @Element() host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The result field which the component should use.\n * This will look for the field in the Result object first, 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 = 'date';\n /**\n * Available formats: https://day.js.org/docs/en/display/format\n */\n @Prop({reflect: true}) format = 'D/M/YYYY';\n\n /**\n * Whether the date should display in the [relative time format](https://day.js.org/docs/en/plugin/calendar).\n *\n * To modify the relative time string, use the [localization feature](https://docs.coveo.com/en/atomic/latest/usage/atomic-localization/).\n */\n @Prop({reflect: true}) relativeTime?: boolean;\n\n private dateToRender: string | null = null;\n\n private updateDateToRender() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n\n if (value === null) {\n this.dateToRender = null;\n return;\n }\n\n const parsedValue = parseDate(value as never);\n if (!parsedValue.isValid()) {\n this.error = new Error(\n `Field \"${this.field}\" does not contain a valid date.`\n );\n this.dateToRender = null;\n return;\n }\n\n if (this.relativeTime) {\n dayjs.updateLocale(this.bindings.interfaceElement.language, {\n calendar: {\n sameDay: this.bindings.i18n.t('calendar-same-day'),\n nextDay: this.bindings.i18n.t('calendar-next-day'),\n nextWeek: this.bindings.i18n.t('calendar-next-week'),\n lastDay: this.bindings.i18n.t('calendar-last-day'),\n lastWeek: this.bindings.i18n.t('calendar-last-week'),\n sameElse: this.format,\n },\n });\n this.dateToRender = parsedValue.calendar();\n } else {\n this.dateToRender = parsedValue.format(this.format);\n }\n }\n\n public componentWillRender() {\n this.updateDateToRender();\n }\n\n public render() {\n if (this.dateToRender === null) {\n this.host.remove();\n return;\n }\n return this.dateToRender;\n }\n}\n"],"mappings":"mbAAC,SAASA,EAAEC,GAAwDC,EAAAC,QAAeF,GAAmI,CAArN,CAAuNG,GAAI,WAA0B,OAAO,SAASJ,EAAEC,EAAEI,GAAG,IAAIC,EAAE,SAASC,EAAE,CAACC,QAAQ,kBAAkBF,EAAEG,QAAQ,cAAcH,EAAEI,QAAQ,iBAAiBJ,EAAEK,SAAS,aAAaL,EAAEM,SAAS,oBAAoBN,EAAEO,SAAS,cAAcZ,EAAEa,UAAUC,SAAS,SAASf,EAAEC,GAAG,IAAIK,EAAEL,GAAGG,KAAKY,UAAUD,UAAUR,EAAEU,EAAEZ,EAAEL,QAAQ,GAAGkB,QAAQ,KAAKC,EAAEf,KAAKgB,KAAKH,EAAE,KAAK,GAAGI,EAAE,WAAWC,EAAEH,GAAG,EAAEE,EAAEF,GAAG,EAAE,WAAWA,EAAE,EAAE,UAAUA,EAAE,EAAE,UAAUA,EAAE,EAAE,UAAUA,EAAE,EAAE,WAAWE,EAAEE,EAAEjB,EAAEgB,IAAIf,EAAEe,GAAG,MAAM,mBAAmBC,EAAEA,EAAEC,KAAKpB,KAAKC,KAAKD,KAAKqB,OAAOF,EAAE,CAAC,CAAE,G,2DCA/tB,SAASvB,EAAEM,GAAwDJ,EAAAC,QAAeG,GAAuI,CAAzN,CAA2NF,GAAI,WAA0B,OAAO,SAASJ,EAAEM,EAAEL,GAAGA,EAAEyB,aAAa,SAAS1B,EAAEM,GAAG,IAAIW,EAAEhB,EAAE0B,GAAG3B,GAAG,GAAGiB,EAAE,OAAOX,EAAEsB,OAAOC,KAAKvB,GAAG,IAAIwB,SAAO,SAAW9B,GAAGiB,EAAEjB,GAAGM,EAAEN,EAAG,IAAGiB,CAAC,CAAC,CAAE,G,mYCanYc,EAAMC,OAAOjB,GACbgB,EAAMC,OAAON,G,MASAO,EAAgB,M,yBAeJ7B,KAAA8B,MAAQ,OAIR9B,KAAAqB,OAAS,WASxBrB,KAAA+B,aAA8B,K,gCAbP,O,YAIC,W,4BAWxB,kBAAAC,GACN,MAAMC,EAAQC,EAAuBC,kBACnCnC,KAAKoC,OACLpC,KAAK8B,OAGP,GAAIG,IAAU,KAAM,CAClBjC,KAAK+B,aAAe,KACpB,M,CAGF,MAAMM,EAAcC,EAAUL,GAC9B,IAAKI,EAAYE,UAAW,CAC1BvC,KAAKwC,MAAQ,IAAIC,MACf,UAAUzC,KAAK8B,yCAEjB9B,KAAK+B,aAAe,KACpB,M,CAGF,GAAI/B,KAAK0C,aAAc,CACrBf,EAAML,aAAatB,KAAK2C,SAASC,iBAAiBC,SAAU,CAC1DlC,SAAU,CACRN,QAASL,KAAK2C,SAASG,KAAKjD,EAAE,qBAC9BS,QAASN,KAAK2C,SAASG,KAAKjD,EAAE,qBAC9BU,SAAUP,KAAK2C,SAASG,KAAKjD,EAAE,sBAC/BO,QAASJ,KAAK2C,SAASG,KAAKjD,EAAE,qBAC9BW,SAAUR,KAAK2C,SAASG,KAAKjD,EAAE,sBAC/BY,SAAUT,KAAKqB,UAGnBrB,KAAK+B,aAAeM,EAAY1B,U,KAC3B,CACLX,KAAK+B,aAAeM,EAAYhB,OAAOrB,KAAKqB,O,EAIzC,mBAAA0B,GACL/C,KAAKgC,oB,CAGA,MAAAgB,GACL,GAAIhD,KAAK+B,eAAiB,KAAM,CAC9B/B,KAAKiD,KAAKC,SACV,M,CAEF,OAAOlD,KAAK+B,Y,6BA1EPoB,EAAA,CADNC,K,+BAGwBD,EAAA,CAAxBE,K","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["atomicInsightNumericFacetCss","AtomicInsightNumericFacetStyle0","AtomicInsightNumericFacet","this","manualRanges","formatter","defaultNumberFormatter","label","numberOfValues","sortCriteria","rangeAlgorithm","displayValuesAs","isCollapsed","headingLevel","filterFacetCount","injectionDepth","dependsOn","initialize","validateProps","computeFacetId","initializeFacetForInput","initializeFacetForRange","initializeFilter","initializeDependenciesManager","initializeSearchStatus","registerFacetToStore","focusTarget","headerFocus","FocusTargetController","disconnectedCallback","host","isConnected","dependenciesManager","stopWatching","withInput","facetForInput","buildInsightNumericFacet","bindings","engine","options","facetId","generateAutomaticRanges","field","Array","from","querySelectorAll","map","start","end","endInclusive","buildInsightNumericRange","facetForRange","currentValues","length","filter","buildInsightNumericFilter","buildInsightFacetConditionsManager","state","conditions","parseDependsOn","searchStatus","buildInsightSearchStatus","facetInfo","i18n","t","element","isHidden","store","registerFacet","format","value","formatHumanReadable","facetValue","logger","initializePopover","hasValues","numberOfActiveValues","numberOfSelectedValues","numericFacets","setFormat","event","preventDefault","stopPropagation","detail","applyNumberInput","dispatch","loadInsightNumericFacetSetActions","deselectAllNumericFacetValues","render","searchStatusState","firstSearchExecuted","hasError","h","FacetGuard","key","enabled","hasResults","shouldRenderFacet","FacetContainer","FacetHeader","onClearFilters","focusAfterSearch","filterState","range","clear","deselectAll","onToggleCollapse","headerRef","el","setTarget","shouldRenderValues","renderValues","shouldRenderInput","type","FacetPlaceholder","NumericFacetValuesContainer","valuesToRender","NumericFacetValueLink","onClick","toggleSingleSelect","toggleSelect","values","hasInputRange","numberOfResults","shouldDisplayInputForFacetRange","facetValues","hasInput","randomID","facetState","Schema","StringValue","constrainTo","validate","__decorate","InitializeBindings","BindStateToController","MapProp"],"sources":["src/components/insight/atomic-insight-numeric-facet/atomic-insight-numeric-facet.pcss?tag=atomic-insight-numeric-facet&encapsulation=shadow","src/components/insight/atomic-insight-numeric-facet/atomic-insight-numeric-facet.tsx"],"sourcesContent":["@import '../../common/facets/numeric-facet-common.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {\n buildFacetConditionsManager as buildInsightFacetConditionsManager,\n buildNumericFacet as buildInsightNumericFacet,\n buildNumericFilter as buildInsightNumericFilter,\n buildNumericRange as buildInsightNumericRange,\n buildSearchStatus as buildInsightSearchStatus,\n CategoryFacetValueRequest as InsightCategoryFacetValueRequest,\n FacetConditionsManager as InsightFacetConditionsManager,\n FacetValueRequest as InsightFacetValueRequest,\n NumericFacet as InsightNumericFacet,\n NumericFacetState as InsightNumericFacetState,\n NumericFilter as InsightNumericFilter,\n NumericFilterState as InsightNumericFilterState,\n NumericRangeRequest as InsightNumericRangeRequest,\n RangeFacetRangeAlgorithm as InsightRangeFacetRangeAlgorithm,\n RangeFacetSortCriterion as InsightRangeFacetSortCriterion,\n SearchStatus as InsightSearchStatus,\n SearchStatusState as InsightSearchStatusState,\n loadNumericFacetSetActions as loadInsightNumericFacetSetActions,\n} from '@coveo/headless/insight';\nimport {Component, Element, h, Listen, Prop, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {MapProp} from '../../../utils/props-utils';\nimport {FocusTargetController} from '../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../utils/utils';\nimport {parseDependsOn} from '../../common/facets/depends-on';\nimport {FacetInfo} from '../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../common/facets/stencil-facet-guard';\nimport {FacetHeader} from '../../common/facets/facet-header/stencil-facet-header';\nimport {NumberInputType} from '../../common/facets/facet-number-input/number-input-type';\nimport {FacetPlaceholder} from '../../common/facets/facet-placeholder/facet-placeholder';\nimport {formatHumanReadable} from '../../common/facets/numeric-facet/formatter';\nimport {NumericFacetValueLink} from '../../common/facets/numeric-facet/stencil-value-link';\nimport {NumericFacetValuesContainer} from '../../common/facets/numeric-facet/stencil-values-container';\nimport {initializePopover} from '../../common/facets/popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from '../../common/facets/stencil-facet-common';\nimport {\n defaultNumberFormatter,\n NumberFormatter,\n} from '../../common/formats/format-common';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-numeric-facet',\n styleUrl: './atomic-insight-numeric-facet.pcss',\n shadow: true,\n})\nexport class AtomicInsightNumericFacet\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public facetForRange?: InsightNumericFacet;\n public facetForInput?: InsightNumericFacet;\n public filter?: InsightNumericFilter;\n public searchStatus!: InsightSearchStatus;\n private manualRanges: (InsightNumericRangeRequest & {label?: string})[] = [];\n private dependenciesManager?: InsightFacetConditionsManager;\n\n @Element() private host!: HTMLElement;\n private formatter: NumberFormatter = defaultNumberFormatter;\n @BindStateToController('facetForRange')\n @State()\n public facetState!: InsightNumericFacetState;\n @BindStateToController('filter')\n @State()\n public filterState?: InsightNumericFilterState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: InsightSearchStatusState;\n @State() public error!: Error;\n @BindStateToController('facetForInput')\n @State()\n public facetForInputState?: InsightNumericFacetState;\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 number of values to request for this facet, when there are no manual ranges.\n * If the number of values is 0, no ranges will be displayed.\n */\n @Prop({reflect: true}) public numberOfValues = 8;\n /**\n * Whether this facet should contain an input allowing users to set custom ranges.\n * Depending on the field, the input can allow either decimal or integer values.\n */\n @Prop({reflect: true}) public withInput?: NumberInputType;\n /**\n * The sort criterion to apply to the returned facet values.\n * Possible values are 'ascending' and 'descending'.\n */\n @Prop({reflect: true}) public sortCriteria: InsightRangeFacetSortCriterion =\n 'ascending';\n /**\n * The algorithm that's used for generating the ranges of this facet when they aren't manually defined. The default value of `\"equiprobable\"` generates facet ranges which vary in size but have a more balanced number of results within each range. The value of `\"even\"` generates equally sized facet ranges across all of the results.\n */\n @Prop({reflect: true})\n public rangeAlgorithm: InsightRangeFacetRangeAlgorithm = 'equiprobable';\n /**\n * Whether to display the facet values as checkboxes (multiple selection) or links (single selection).\n * Possible values are 'checkbox' and 'link'.\n */\n @Prop({reflect: true}) public displayValuesAs: 'checkbox' | 'link' =\n 'checkbox';\n /**\n * Specifies if the facet is collapsed.\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\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-insight-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-insight-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-insight-numeric-facet\n * depends-on-abc\n * ...\n * ></atomic-insight-numeric-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-insight-numeric-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-insight-numeric-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n private headerFocus?: FocusTargetController;\n\n public initialize() {\n this.validateProps();\n this.computeFacetId();\n this.initializeFacetForInput();\n this.initializeFacetForRange();\n this.initializeFilter();\n this.initializeDependenciesManager();\n this.initializeSearchStatus();\n this.registerFacetToStore();\n }\n\n private get focusTarget(): FocusTargetController {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.dependenciesManager?.stopWatching();\n }\n\n private initializeFacetForInput() {\n if (!this.withInput) {\n return;\n }\n this.facetForInput = buildInsightNumericFacet(this.bindings.engine, {\n options: {\n facetId: `${this.facetId}_input_range`,\n numberOfValues: 1,\n generateAutomaticRanges: true,\n field: this.field,\n sortCriteria: this.sortCriteria,\n rangeAlgorithm: this.rangeAlgorithm,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n },\n });\n\n return this.facetForInput;\n }\n\n private initializeFacetForRange() {\n if (this.numberOfValues <= 0) {\n return;\n }\n\n this.manualRanges = Array.from(\n this.host.querySelectorAll('atomic-numeric-range')\n ).map(({start, end, endInclusive, label}) => ({\n ...buildInsightNumericRange({start, end, endInclusive}),\n label,\n }));\n\n this.facetForRange = buildInsightNumericFacet(this.bindings.engine, {\n options: {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n rangeAlgorithm: this.rangeAlgorithm,\n currentValues: this.manualRanges,\n generateAutomaticRanges: !this.manualRanges.length,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n },\n });\n\n return this.facetForRange;\n }\n\n private initializeFilter() {\n if (!this.withInput) {\n return;\n }\n\n this.filter = buildInsightNumericFilter(this.bindings.engine, {\n options: {\n facetId: `${this.facetId}_input`,\n field: this.field,\n },\n });\n }\n\n private initializeDependenciesManager() {\n this.dependenciesManager = buildInsightFacetConditionsManager(\n this.bindings.engine,\n {\n facetId:\n this.facetForRange?.state.facetId ?? this.filter!.state.facetId,\n conditions: parseDependsOn<\n InsightFacetValueRequest | InsightCategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n private initializeSearchStatus() {\n this.searchStatus = buildInsightSearchStatus(this.bindings.engine);\n }\n\n private registerFacetToStore() {\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\n this.bindings.store.registerFacet('numericFacets', {\n ...facetInfo,\n format: (value) =>\n formatHumanReadable({\n facetValue: value,\n logger: this.bindings.engine.logger,\n i18n: this.bindings.i18n,\n field: this.field,\n manualRanges: this.manualRanges,\n formatter: this.formatter,\n }),\n });\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n\n if (this.filter) {\n this.bindings.store.state.numericFacets[this.filter.state.facetId] =\n this.bindings.store.state.numericFacets[this.facetId!];\n }\n }\n\n @Listen('atomic/numberFormat')\n public setFormat(event: CustomEvent<NumberFormatter>) {\n event.preventDefault();\n event.stopPropagation();\n this.formatter = event.detail;\n }\n\n @Listen('atomic/numberInputApply')\n public applyNumberInput() {\n this.facetId &&\n this.bindings.engine.dispatch(\n loadInsightNumericFacetSetActions(\n this.bindings.engine\n ).deselectAllNumericFacetValues(this.facetId)\n );\n }\n\n public render() {\n const {\n searchStatusState: {firstSearchExecuted, hasError},\n bindings: {i18n},\n label,\n numberOfSelectedValues,\n isCollapsed,\n headingLevel,\n focusTarget,\n withInput,\n filter,\n } = this;\n return (\n <FacetGuard\n enabled={this.enabled}\n firstSearchExecuted={firstSearchExecuted}\n hasError={hasError}\n hasResults={this.shouldRenderFacet}\n >\n {firstSearchExecuted ? (\n <FacetContainer>\n <FacetHeader\n i18n={i18n}\n label={label}\n onClearFilters={() => {\n focusTarget.focusAfterSearch();\n if (this.filterState?.range) {\n this.filter?.clear();\n return;\n }\n this.facetForRange?.deselectAll();\n }}\n numberOfActiveValues={numberOfSelectedValues}\n isCollapsed={isCollapsed}\n headingLevel={headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => focusTarget.setTarget(el)}\n />\n {!isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && (\n <atomic-facet-number-input\n type={withInput!}\n bindings={this.bindings}\n label={label}\n filter={filter!}\n filterState={filter!.state}\n ></atomic-facet-number-input>\n ),\n ]}\n </FacetContainer>\n ) : (\n <FacetPlaceholder\n isCollapsed={this.isCollapsed}\n numberOfValues={this.numberOfValues}\n />\n )}\n </FacetGuard>\n );\n }\n\n private renderValues() {\n const {\n displayValuesAs,\n field,\n manualRanges,\n label,\n bindings: {\n i18n,\n engine: {logger},\n },\n } = this;\n\n return (\n <NumericFacetValuesContainer i18n={i18n} label={label}>\n {this.valuesToRender.map((value) => (\n <NumericFacetValueLink\n formatter={this.formatter}\n displayValuesAs={displayValuesAs}\n facetValue={value}\n field={field}\n i18n={i18n}\n logger={logger}\n manualRanges={manualRanges}\n onClick={() =>\n this.displayValuesAs === 'link'\n ? this.facetForRange!.toggleSingleSelect(value)\n : this.facetForRange!.toggleSelect(value)\n }\n />\n ))}\n </NumericFacetValuesContainer>\n );\n }\n\n private get numberOfSelectedValues() {\n if (this.filter?.state.range) {\n return 1;\n }\n\n return (\n this.facetForRange?.state.values.filter(({state}) => state === 'selected')\n .length || 0\n );\n }\n\n private get shouldRenderValues() {\n return (\n !this.hasInputRange &&\n this.numberOfValues > 0 &&\n !!this.valuesToRender.length\n );\n }\n\n private get hasInputRange() {\n return !!this.filter?.state.range;\n }\n\n private get valuesToRender() {\n return (\n this.facetForRange?.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderInput() {\n return shouldDisplayInputForFacetRange({\n hasInputRange: this.hasInputRange,\n searchStatusState: this.searchStatusState,\n facetValues: this.facetForInput?.state.values || [],\n hasInput: !!this.withInput,\n });\n }\n\n private computeFacetId() {\n if (this.facetId) {\n return;\n }\n\n if (this.bindings.store.state.numericFacets[this.field]) {\n this.facetId = randomID(`${this.field}_`);\n }\n\n this.facetId = this.field;\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet || !this.facetState.enabled;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get hasValues() {\n if (this.facetForInput?.state.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private get enabled() {\n return this.facetState?.enabled ?? this.filter?.state.enabled ?? true;\n }\n\n private validateProps() {\n new Schema({\n displayValuesAs: new StringValue({constrainTo: ['checkbox', 'link']}),\n withInput: new StringValue({constrainTo: ['integer', 'decimal']}),\n }).validate({\n displayValuesAs: this.displayValuesAs,\n withInput: this.withInput,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}