@coveo/atomic 3.37.1 → 3.37.2

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 (285) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/atomic.esm.js.map +1 -1
  3. package/dist/atomic/components/_index.d.ts +0 -2
  4. package/dist/atomic/components/_index.js +0 -1
  5. package/dist/atomic/components/atomic-automatic-facet-generator2.js +1 -1
  6. package/dist/atomic/components/atomic-automatic-facet-generator2.js.map +1 -1
  7. package/dist/atomic/components/atomic-category-facet.js +2 -2
  8. package/dist/atomic/components/atomic-category-facet.js.map +1 -1
  9. package/dist/atomic/components/atomic-color-facet.js +1 -1
  10. package/dist/atomic/components/atomic-color-facet.js.map +1 -1
  11. package/dist/atomic/components/atomic-insight-facet.js +2 -2
  12. package/dist/atomic/components/atomic-insight-facet.js.map +1 -1
  13. package/dist/atomic/components/atomic-insight-numeric-facet.js +2 -2
  14. package/dist/atomic/components/atomic-insight-numeric-facet.js.map +1 -1
  15. package/dist/atomic/components/atomic-insight-timeframe-facet.js +1 -1
  16. package/dist/atomic/components/atomic-insight-timeframe-facet.js.map +1 -1
  17. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -2
  18. package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
  19. package/dist/atomic/components/atomic-numeric-facet.js +2 -2
  20. package/dist/atomic/components/atomic-numeric-facet.js.map +1 -1
  21. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  22. package/dist/atomic/components/atomic-quickview.js +1 -1
  23. package/dist/atomic/components/atomic-rating-facet.js +1 -1
  24. package/dist/atomic/components/atomic-rating-facet.js.map +1 -1
  25. package/dist/atomic/components/atomic-rating-range-facet.js +1 -1
  26. package/dist/atomic/components/atomic-rating-range-facet.js.map +1 -1
  27. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  28. package/dist/atomic/components/atomic-recs-list.js +1 -2
  29. package/dist/atomic/components/atomic-recs-list.js.map +1 -1
  30. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  31. package/dist/atomic/components/atomic-result-link.js +1 -1
  32. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  33. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  34. package/dist/atomic/components/atomic-timeframe-facet.js +1 -1
  35. package/dist/atomic/components/atomic-timeframe-facet.js.map +1 -1
  36. package/dist/atomic/components/components/commerce/atomic-commerce-facets/atomic-commerce-facets.js +12 -12
  37. package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +1 -1
  38. package/dist/atomic/components/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.js +1 -1
  39. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +1 -1
  40. package/dist/atomic/components/components/common/tabs/tab-wrapper.js +9 -0
  41. package/dist/atomic/components/components/insight/atomic-insight-interface/atomic-insight-interface.js +1 -1
  42. package/dist/atomic/components/components/search/atomic-external/atomic-external.js +1 -1
  43. package/dist/atomic/components/components/search/atomic-result-list/atomic-result-list.js +434 -0
  44. package/dist/atomic/components/components/search/atomic-result-template/atomic-result-template.js +1 -0
  45. package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +1 -1
  46. package/dist/atomic/components/components/search/index.js +1 -0
  47. package/dist/atomic/components/components/search/lazy-index.js +1 -0
  48. package/dist/atomic/components/decorators/bindings.js +1 -1
  49. package/dist/atomic/components/global/environment.js +1 -1
  50. package/dist/atomic/components/index.js.map +1 -1
  51. package/dist/atomic/components/stencil-carousel.js +16 -1
  52. package/dist/atomic/components/stencil-carousel.js.map +1 -1
  53. package/dist/atomic/components/{facet-placeholder.js → stencil-facet-placeholder.js} +1 -1
  54. package/dist/atomic/components/stencil-facet-placeholder.js.map +1 -0
  55. package/dist/atomic/components/stencil-result-template-common.js +2 -1
  56. package/dist/atomic/components/stencil-result-template-common.js.map +1 -1
  57. package/dist/atomic/components/timeframe-facet-common.js +1 -1
  58. package/dist/atomic/components/timeframe-facet-common.js.map +1 -1
  59. package/dist/atomic/components/utils/tab-utils.js +17 -0
  60. package/dist/atomic/{p-f8bbecdd.entry.js → p-0d3407e9.entry.js} +2 -2
  61. package/dist/atomic/{p-b986c752.entry.js → p-1fdd2a5a.entry.js} +2 -2
  62. package/dist/atomic/p-1fdd2a5a.entry.js.map +1 -0
  63. package/dist/atomic/p-2a979ae5.entry.js +2 -0
  64. package/dist/atomic/{p-564e93ba.entry.js.map → p-2a979ae5.entry.js.map} +1 -1
  65. package/dist/atomic/p-2d624182.entry.js +2 -0
  66. package/dist/atomic/{p-6e47c9a8.entry.js.map → p-2d624182.entry.js.map} +1 -1
  67. package/dist/atomic/{p-561a531c.entry.js → p-3302a10f.entry.js} +2 -2
  68. package/dist/atomic/{p-04e08959.entry.js → p-3a426d47.entry.js} +2 -2
  69. package/dist/atomic/p-3a426d47.entry.js.map +1 -0
  70. package/dist/atomic/{p-7dfced62.entry.js → p-4362ec1f.entry.js} +2 -2
  71. package/dist/atomic/p-4362ec1f.entry.js.map +1 -0
  72. package/dist/atomic/{p-8deeef5f.entry.js → p-4b46b80f.entry.js} +2 -2
  73. package/dist/atomic/{p-408ffc88.entry.js → p-50353e9d.entry.js} +2 -2
  74. package/dist/atomic/p-50353e9d.entry.js.map +1 -0
  75. package/dist/atomic/{p-b528927d.entry.js → p-52721bf1.entry.js} +2 -2
  76. package/dist/atomic/p-52721bf1.entry.js.map +1 -0
  77. package/dist/atomic/{p-8deb6142.entry.js → p-594e3243.entry.js} +2 -2
  78. package/dist/atomic/p-5bdd4fca.entry.js +2 -0
  79. package/dist/atomic/{p-e351c8ed.entry.js.map → p-5bdd4fca.entry.js.map} +1 -1
  80. package/dist/atomic/{p-4239e0ec.entry.js → p-7632eb9d.entry.js} +2 -2
  81. package/dist/atomic/p-7632eb9d.entry.js.map +1 -0
  82. package/dist/atomic/{p-99203e57.entry.js → p-9a66fe53.entry.js} +2 -2
  83. package/dist/atomic/p-9a66fe53.entry.js.map +1 -0
  84. package/dist/atomic/{p-0d955dec.entry.js → p-9f3b431f.entry.js} +2 -2
  85. package/dist/atomic/{p-29bbd3d3.js → p-a598dc5b.js} +1 -1
  86. package/dist/atomic/p-a598dc5b.js.map +1 -0
  87. package/dist/atomic/p-acf4faf8.js +2 -0
  88. package/dist/atomic/p-acf4faf8.js.map +1 -0
  89. package/dist/atomic/p-c6763212.entry.js +2 -0
  90. package/dist/atomic/{p-1f4853b1.entry.js.map → p-c6763212.entry.js.map} +1 -1
  91. package/dist/atomic/p-c827c5e3.entry.js +2 -0
  92. package/dist/atomic/{p-7ccbf77d.entry.js.map → p-c827c5e3.entry.js.map} +1 -1
  93. package/dist/atomic/p-caf548dd.js +2 -0
  94. package/dist/atomic/p-caf548dd.js.map +1 -0
  95. package/dist/atomic/{p-3e077971.js → p-da20ee92.js} +2 -2
  96. package/dist/atomic/p-da20ee92.js.map +1 -0
  97. package/dist/atomic/{p-7b718df8.entry.js → p-e0e50820.entry.js} +2 -2
  98. package/dist/atomic/{p-27765040.entry.js → p-ecb92feb.entry.js} +2 -2
  99. package/dist/atomic/{p-27765040.entry.js.map → p-ecb92feb.entry.js.map} +1 -1
  100. package/dist/atomic/{p-3119dcb8.entry.js → p-f2893341.entry.js} +2 -2
  101. package/dist/atomic/{p-906fd94d.entry.js → p-f29cee57.entry.js} +2 -2
  102. package/dist/atomic/p-f29cee57.entry.js.map +1 -0
  103. package/dist/atomic/{p-2cd906b9.entry.js → p-f350c5c4.entry.js} +2 -2
  104. package/dist/atomic/p-f350c5c4.entry.js.map +1 -0
  105. package/dist/atomic/p-fef9f7d9.entry.js +2 -0
  106. package/dist/atomic/{p-7b11e602.entry.js.map → p-fef9f7d9.entry.js.map} +1 -1
  107. package/dist/cjs/_loader.cjs.js +1 -1
  108. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +4 -4
  109. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js.map +1 -1
  110. package/dist/cjs/atomic-category-facet.cjs.entry.js +4 -4
  111. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  112. package/dist/cjs/atomic-color-facet.cjs.entry.js +4 -4
  113. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  114. package/dist/cjs/atomic-field-condition.cjs.entry.js +1 -2
  115. package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
  116. package/dist/cjs/atomic-insight-facet.cjs.entry.js +3 -3
  117. package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
  118. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +3 -3
  119. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
  120. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +1 -2
  121. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js.map +1 -1
  122. package/dist/cjs/atomic-insight-result-template.cjs.entry.js +1 -2
  123. package/dist/cjs/atomic-insight-result-template.cjs.entry.js.map +1 -1
  124. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +3 -3
  125. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
  126. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +4 -5
  127. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
  128. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +3 -3
  129. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  130. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  131. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  132. package/dist/cjs/atomic-rating-facet.cjs.entry.js +4 -4
  133. package/dist/cjs/atomic-rating-facet.cjs.entry.js.map +1 -1
  134. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +4 -4
  135. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js.map +1 -1
  136. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  137. package/dist/cjs/atomic-recs-list.cjs.entry.js +4 -5
  138. package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
  139. package/dist/cjs/atomic-recs-result-template.cjs.entry.js +1 -2
  140. package/dist/cjs/atomic-recs-result-template.cjs.entry.js.map +1 -1
  141. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  142. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  143. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  144. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  145. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +3 -3
  146. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js.map +1 -1
  147. package/dist/cjs/atomic.cjs.js +1 -1
  148. package/dist/cjs/index-1df73594.js +0 -4
  149. package/dist/cjs/{stencil-carousel-2beaa7d2.js → stencil-carousel-72557b3b.js} +17 -1
  150. package/dist/cjs/stencil-carousel-72557b3b.js.map +1 -0
  151. package/dist/cjs/{facet-placeholder-e86f105c.js → stencil-facet-placeholder-d3c0a675.js} +1 -1
  152. package/dist/cjs/stencil-facet-placeholder-d3c0a675.js.map +1 -0
  153. package/dist/cjs/{stencil-result-template-common-268ba233.js → stencil-result-template-common-46913299.js} +4 -3
  154. package/dist/cjs/stencil-result-template-common-46913299.js.map +1 -0
  155. package/dist/cjs/{timeframe-facet-common-16ba58fd.js → timeframe-facet-common-4fa4cc95.js} +5 -5
  156. package/dist/cjs/timeframe-facet-common-4fa4cc95.js.map +1 -0
  157. package/dist/cjs/version.cjs.js +2 -2
  158. package/dist/esm/_loader.js +1 -1
  159. package/dist/esm/atomic-automatic-facet_2.entry.js +1 -1
  160. package/dist/esm/atomic-automatic-facet_2.entry.js.map +1 -1
  161. package/dist/esm/atomic-category-facet.entry.js +2 -2
  162. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  163. package/dist/esm/atomic-color-facet.entry.js +1 -1
  164. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  165. package/dist/esm/atomic-field-condition.entry.js +1 -2
  166. package/dist/esm/atomic-field-condition.entry.js.map +1 -1
  167. package/dist/esm/atomic-insight-facet.entry.js +2 -2
  168. package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
  169. package/dist/esm/atomic-insight-numeric-facet.entry.js +2 -2
  170. package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
  171. package/dist/esm/atomic-insight-result-children-template.entry.js +1 -2
  172. package/dist/esm/atomic-insight-result-children-template.entry.js.map +1 -1
  173. package/dist/esm/atomic-insight-result-template.entry.js +1 -2
  174. package/dist/esm/atomic-insight-result-template.entry.js.map +1 -1
  175. package/dist/esm/atomic-insight-timeframe-facet.entry.js +2 -2
  176. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
  177. package/dist/esm/atomic-ipx-recs-list.entry.js +3 -4
  178. package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
  179. package/dist/esm/atomic-numeric-facet.entry.js +2 -2
  180. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  181. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  182. package/dist/esm/atomic-quickview.entry.js +1 -1
  183. package/dist/esm/atomic-rating-facet.entry.js +1 -1
  184. package/dist/esm/atomic-rating-facet.entry.js.map +1 -1
  185. package/dist/esm/atomic-rating-range-facet.entry.js +1 -1
  186. package/dist/esm/atomic-rating-range-facet.entry.js.map +1 -1
  187. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  188. package/dist/esm/atomic-recs-list.entry.js +3 -4
  189. package/dist/esm/atomic-recs-list.entry.js.map +1 -1
  190. package/dist/esm/atomic-recs-result-template.entry.js +1 -2
  191. package/dist/esm/atomic-recs-result-template.entry.js.map +1 -1
  192. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  193. package/dist/esm/atomic-result-link.entry.js +1 -1
  194. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  195. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  196. package/dist/esm/atomic-timeframe-facet.entry.js +2 -2
  197. package/dist/esm/atomic-timeframe-facet.entry.js.map +1 -1
  198. package/dist/esm/atomic.js +1 -1
  199. package/dist/esm/index-a59c51bd.js +0 -4
  200. package/dist/esm/{stencil-carousel-be6f0bc1.js → stencil-carousel-a9540851.js} +17 -2
  201. package/dist/esm/stencil-carousel-a9540851.js.map +1 -0
  202. package/dist/esm/{facet-placeholder-7e0836c1.js → stencil-facet-placeholder-8201b5c9.js} +1 -1
  203. package/dist/esm/stencil-facet-placeholder-8201b5c9.js.map +1 -0
  204. package/dist/esm/{stencil-result-template-common-cddca36d.js → stencil-result-template-common-8be1ff35.js} +3 -2
  205. package/dist/esm/stencil-result-template-common-8be1ff35.js.map +1 -0
  206. package/dist/esm/{timeframe-facet-common-906a271d.js → timeframe-facet-common-4c8d95f2.js} +2 -2
  207. package/dist/esm/timeframe-facet-common-4c8d95f2.js.map +1 -0
  208. package/dist/esm/version.js +2 -2
  209. package/dist/types/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.d.ts +1 -1
  210. package/dist/types/components/{context → common/context}/bindings-context.d.ts +1 -1
  211. package/dist/types/components/common/facets/facet-placeholder/facet-placeholder.d.ts +2 -5
  212. package/dist/types/components/common/facets/facet-placeholder/stencil-facet-placeholder.d.ts +10 -0
  213. package/dist/types/components/common/template-controller/base-template-controller.d.ts +2 -1
  214. package/dist/types/components/search/atomic-result/atomic-result.d.ts +1 -1
  215. package/dist/types/components/search/{result-lists/atomic-result-list → atomic-result-list}/atomic-result-list.d.ts +45 -33
  216. package/dist/types/components/search/atomic-result-section-visual/atomic-result-section-visual.d.ts +1 -1
  217. package/dist/types/components/search/atomic-result-template/atomic-result-template.d.ts +1 -0
  218. package/dist/types/components/search/index.d.ts +1 -0
  219. package/dist/types/components.d.ts +0 -70
  220. package/docs/atomic-docs.json +1 -359
  221. package/package.json +5 -5
  222. package/dist/atomic/components/atomic-result-list.d.ts +0 -11
  223. package/dist/atomic/components/atomic-result-list.js +0 -343
  224. package/dist/atomic/components/atomic-result-list.js.map +0 -1
  225. package/dist/atomic/components/facet-placeholder.js.map +0 -1
  226. package/dist/atomic/components/stencil-display-grid.js +0 -20
  227. package/dist/atomic/components/stencil-display-grid.js.map +0 -1
  228. package/dist/atomic/components/table-element-utils.js +0 -5
  229. package/dist/atomic/components/table-element-utils.js.map +0 -1
  230. package/dist/atomic/p-023c1f4f.js +0 -2
  231. package/dist/atomic/p-023c1f4f.js.map +0 -1
  232. package/dist/atomic/p-04e08959.entry.js.map +0 -1
  233. package/dist/atomic/p-0a9d79a3.entry.js +0 -2
  234. package/dist/atomic/p-0a9d79a3.entry.js.map +0 -1
  235. package/dist/atomic/p-1f4853b1.entry.js +0 -2
  236. package/dist/atomic/p-2324ab77.js +0 -2
  237. package/dist/atomic/p-2324ab77.js.map +0 -1
  238. package/dist/atomic/p-29bbd3d3.js.map +0 -1
  239. package/dist/atomic/p-2cd906b9.entry.js.map +0 -1
  240. package/dist/atomic/p-3e077971.js.map +0 -1
  241. package/dist/atomic/p-408ffc88.entry.js.map +0 -1
  242. package/dist/atomic/p-4239e0ec.entry.js.map +0 -1
  243. package/dist/atomic/p-564e93ba.entry.js +0 -2
  244. package/dist/atomic/p-6e47c9a8.entry.js +0 -2
  245. package/dist/atomic/p-7b11e602.entry.js +0 -2
  246. package/dist/atomic/p-7ccbf77d.entry.js +0 -2
  247. package/dist/atomic/p-7dfced62.entry.js.map +0 -1
  248. package/dist/atomic/p-8b38c143.js +0 -2
  249. package/dist/atomic/p-8b38c143.js.map +0 -1
  250. package/dist/atomic/p-906fd94d.entry.js.map +0 -1
  251. package/dist/atomic/p-99203e57.entry.js.map +0 -1
  252. package/dist/atomic/p-b528927d.entry.js.map +0 -1
  253. package/dist/atomic/p-b986c752.entry.js.map +0 -1
  254. package/dist/atomic/p-be0518ae.js +0 -2
  255. package/dist/atomic/p-be0518ae.js.map +0 -1
  256. package/dist/atomic/p-e351c8ed.entry.js +0 -2
  257. package/dist/cjs/atomic-result-list.cjs.entry.js +0 -303
  258. package/dist/cjs/atomic-result-list.cjs.entry.js.map +0 -1
  259. package/dist/cjs/facet-placeholder-e86f105c.js.map +0 -1
  260. package/dist/cjs/stencil-carousel-2beaa7d2.js.map +0 -1
  261. package/dist/cjs/stencil-display-grid-04536fdc.js +0 -22
  262. package/dist/cjs/stencil-display-grid-04536fdc.js.map +0 -1
  263. package/dist/cjs/stencil-result-template-common-268ba233.js.map +0 -1
  264. package/dist/cjs/table-element-utils-2cc6dc82.js +0 -7
  265. package/dist/cjs/table-element-utils-2cc6dc82.js.map +0 -1
  266. package/dist/cjs/timeframe-facet-common-16ba58fd.js.map +0 -1
  267. package/dist/esm/atomic-result-list.entry.js +0 -299
  268. package/dist/esm/atomic-result-list.entry.js.map +0 -1
  269. package/dist/esm/facet-placeholder-7e0836c1.js.map +0 -1
  270. package/dist/esm/stencil-carousel-be6f0bc1.js.map +0 -1
  271. package/dist/esm/stencil-display-grid-02c4f5d0.js +0 -20
  272. package/dist/esm/stencil-display-grid-02c4f5d0.js.map +0 -1
  273. package/dist/esm/stencil-result-template-common-cddca36d.js.map +0 -1
  274. package/dist/esm/table-element-utils-1dbc5ef6.js +0 -5
  275. package/dist/esm/table-element-utils-1dbc5ef6.js.map +0 -1
  276. package/dist/esm/timeframe-facet-common-906a271d.js.map +0 -1
  277. package/dist/types/components/common/tabs/stencil-tab-guard.d.ts +0 -11
  278. /package/dist/atomic/components/components/{context → common/context}/bindings-context.js +0 -0
  279. /package/dist/atomic/{p-f8bbecdd.entry.js.map → p-0d3407e9.entry.js.map} +0 -0
  280. /package/dist/atomic/{p-561a531c.entry.js.map → p-3302a10f.entry.js.map} +0 -0
  281. /package/dist/atomic/{p-8deeef5f.entry.js.map → p-4b46b80f.entry.js.map} +0 -0
  282. /package/dist/atomic/{p-8deb6142.entry.js.map → p-594e3243.entry.js.map} +0 -0
  283. /package/dist/atomic/{p-0d955dec.entry.js.map → p-9f3b431f.entry.js.map} +0 -0
  284. /package/dist/atomic/{p-7b718df8.entry.js.map → p-e0e50820.entry.js.map} +0 -0
  285. /package/dist/atomic/{p-3119dcb8.entry.js.map → p-f2893341.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"atomic-color-facet.js","mappings":"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","names":["AtomicColorFacet"],"sources":["src/components/search/facets/color-facet-checkbox/color-facet-checkbox.tsx","src/components/search/facets/atomic-color-facet/atomic-color-facet.pcss?tag=atomic-color-facet&encapsulation=shadow","src/components/search/facets/atomic-color-facet/atomic-color-facet.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {createRipple} from '../../../../utils/ripple-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {FacetValueProps} from '../../../common/facets/stencil-facet-common';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ColorFacetCheckbox: FunctionalComponent<FacetValueProps> = (\n props,\n children\n) => {\n const id = randomID('facet-value-');\n const count = props.numberOfResults.toLocaleString(props.i18n.language);\n const ariaLabel = props.i18n.t('facet-value', {\n value: props.displayValue,\n count: props.numberOfResults,\n formattedCount: count,\n });\n const partValue = props.displayValue\n .match(new RegExp('-?[_a-zA-Z]+[_a-zA-Z0-9-]*'))\n ?.toString();\n let labelRef: HTMLLabelElement;\n\n return (\n <li key={props.displayValue} class=\"relative flex items-center\">\n <button\n id={id}\n role=\"checkbox\"\n part={`value-checkbox value-${partValue}${\n props.isSelected ? ' value-checkbox-checked' : ''\n }`}\n onClick={() => props.onClick()}\n onMouseDown={(e) =>\n createRipple(e, {color: 'neutral', parent: labelRef})\n }\n aria-checked={props.isSelected.toString()}\n class={`value-checkbox ${props.isSelected ? 'ring-primary' : ''}`}\n aria-label={ariaLabel}\n ></button>\n <label\n ref={(ref) => (labelRef = ref!)}\n htmlFor={id}\n part=\"value-checkbox-label\"\n onMouseDown={(e) => createRipple(e, {color: 'neutral'})}\n >\n {children}\n <span part=\"value-count\" class=\"value-count\">\n {props.i18n.t('between-parentheses', {\n text: count,\n })}\n </span>\n </label>\n </li>\n );\n};\n","@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-search/facet-search.pcss';\n@import '../../../common/facets/facet-value-box/facet-value-box.pcss';\n@import '../color-facet-checkbox/color-facet-checkbox.pcss';\n\n/**\n * @prop --atomic-facet-color-boxes-per-row: Number of facet values for the Color Facet to display per row, when the display is 'box'\n * @prop --atomic-facet-color-boxes-gap: Gap value for facet values for the Color Facet , when the display is 'box'\n */\n.box-color-container {\n @apply grid px-2;\n grid-template-columns: repeat(var(--atomic-facet-color-boxes-per-row, 3), minmax(0, 1fr));\n gap: var(--atomic-facet-color-boxes-gap, 0.5rem);\n}\n","import {\n Facet,\n buildFacet,\n FacetState,\n FacetOptions,\n FacetSortCriterion,\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n FacetValue,\n buildFacetConditionsManager,\n FacetConditionsManager,\n FacetResultsMustMatch,\n FacetValueRequest,\n CategoryFacetValueRequest,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, VNode, Element} 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 {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 {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 {FacetValueBox} from '../../../common/facets/facet-value-box/stencil-facet-value-box';\nimport {FacetValueLabelHighlight} from '../../../common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ColorFacetCheckbox} from '../color-facet-checkbox/color-facet-checkbox';\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-color-facet` displays a facet of the results for the current query as colors.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and allows to expand/collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part search-wrapper - The search box wrapper.\n * @part search-input - The search box input.\n * @part search-icon - The search box submit button.\n * @part search-clear-button - The button to clear the search box of input.\n * @part more-matches - The label indicating there are more matches for the current facet search query.\n * @part no-matches - The label indicating there are no matches for the current facet search query.\n * @part matches-query - The highlighted query inside the matches labels.\n * @part search-highlight - The highlighted query inside the facet values.\n *\n * @part values - The facet values container.\n * @part value-label - The facet value label, common for all displays.\n * @part value-count - The facet value count, common for all displays.\n * @part default-color-value - The default part name used to customize color facet values. Should be defined before dynamic parts.\n * @part value-* - The dynamic part name used to customize a facet value. The `*` is a syntactical placeholder for a specific facet value. For example, if the component's `field` property is set to 'filetype' and your source has a `YouTubeVideo` file type, the part would be targeted like this: `atomic-color-facet::part(value-YouTubeVideo)...`.\n *\n * @part value-box - The facet value when display is 'box'.\n * @part value-box-selected - The selected facet value when display is 'box'.\n * @part value-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 *\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-color-facet',\n styleUrl: 'atomic-color-facet.pcss',\n shadow: true,\n})\nexport class AtomicColorFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facet!: Facet;\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!: FacetState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-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 = true;\n /**\n * The sort criterion to apply to the returned facet values.\n * Possible values are 'score', 'alphanumeric', 'alphanumericDescending', 'occurrences', alphanumericNatural', 'alphanumericNaturalDescending' and 'automatic'.\n */\n @Prop({reflect: true}) public sortCriteria: FacetSortCriterion = 'automatic';\n /**\n * Specifies how a result must match the selected facet values.\n * Allowed values:\n * - `atLeastOneValue`: A result will match if at least one of the corresponding facet values is selected.\n * - `allValues`: A result will match if all corresponding facet values are selected.\n */\n @Prop({reflect: true}) public resultsMustMatch: FacetResultsMustMatch =\n 'atLeastOneValue';\n /**\n * Whether to display the facet values as checkboxes (multiple selection) or boxes (multiple selection).\n * Possible values are 'checkbox', and 'box'.\n */\n @Prop({reflect: true}) public displayValuesAs: 'checkbox' | 'box' = 'box';\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-color-facet\n * depends-on-abc\n * ...\n * ></atomic-color-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-color-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-color-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n /**\n * Specifies an explicit list of `allowedValues` in the Search API request. This list is in the form of a JSON string.\n *\n * If you specify a list of values for this option, the facet only uses these values (if they are available in\n * the current result set).\n *\n * Example:\n *\n * The following facet only uses the `Contact`, `Account`, and `File` values of the `objecttype` field. Even if the\n * current result set contains other `objecttype` values, such as `Message` or `Product`, the facet does not use\n * them.\n *\n * ```html\n * <atomic-color-facet field=\"objecttype\" allowed-values='[\"Contact\",\"Account\",\"File\"]'></atomic-color-facet>\n * ```\n *\n * The maximum amount of allowed values is 25.\n *\n * The default value is `undefined`, and the facet uses all available values for its `field` in the current result set.\n */\n @ArrayProp()\n @Prop({mutable: true})\n public allowedValues: string[] | string = '[]';\n\n /**\n * Identifies the facet values that must appear at the top, in this order.\n * This parameter can be used in conjunction with the `sortCriteria` parameter.\n *\n * Facet values not part of the `customSort` list will be sorted according to the `sortCriteria`.\n *\n * Example:\n *\n * The following facet will sort the `Contact`, `Account`, and `File` values at the top of the list for the `objecttype` field.\n *\n * If there are more than these 3 values available, the rest of the list will be sorted using `occurrences`.\n *\n * ```html\n * <atomic-color-facet field=\"objecttype\" custom-sort='[\"Contact\",\"Account\",\"File\"]' sort-criteria='occurrences'></atomic-color-facet>\n * ```\n * The maximum amount of custom sort values is 25.\n *\n * The default value is `undefined`, and the facet values will be sorted using only the `sortCriteria`.\n */\n @ArrayProp()\n @Prop({mutable: true})\n public customSort: string[] | string = '[]';\n\n private showLessFocus?: FocusTargetController;\n\n private showMoreFocus?: FocusTargetController;\n\n private headerFocus?: 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.facet = buildFacet(this.bindings.engine, {options: this.facetOptions});\n this.tabManager = buildTabManager(this.bindings.engine);\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('facets', facetInfo);\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.facet.state.values.length,\n numberOfActiveValues: () => this.numberOfSelectedValues,\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\n return {\n showLessFocus: this.showLessFocus,\n showMoreFocus: this.showMoreFocus,\n headerFocus: this.headerFocus,\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.values.length\n );\n }\n\n public componentShouldUpdate(\n next: unknown,\n prev: unknown,\n propName: keyof AtomicColorFacet\n ) {\n if (propName === 'facetState' && prev && this.withSearch) {\n return shouldUpdateFacetSearchComponent(\n (next as FacetState).facetSearch,\n (prev as FacetState).facetSearch\n );\n }\n\n return true;\n }\n\n private get numberOfSelectedValues() {\n return this.facetState.values.filter(({state}) => state === 'selected')\n .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 onClearFilters={() => {\n this.focusTargets.headerFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTargets.headerFocus.setTarget(el)}\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 renderValue(\n facetValue: FacetValue,\n onClick: () => void,\n isShowLessFocusTarget: boolean,\n isShowMoreFocusTarget: boolean\n ) {\n const displayValue = getFieldValueCaption(\n this.facetId!,\n facetValue.value,\n this.bindings.i18n\n );\n const isSelected = facetValue.state === 'selected';\n const isExcluded = facetValue.state === 'excluded';\n const partValueWithDisplayValue = displayValue.replace(/[^a-z0-9]/gi, '');\n const partValueWithAPIValue = facetValue.value.replace(/[^a-z0-9]/gi, '');\n switch (this.displayValuesAs) {\n case 'checkbox':\n return (\n <ColorFacetCheckbox\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n searchQuery={this.facetState.facetSearch.query}\n buttonRef={(element) => {\n isShowLessFocusTarget &&\n this.focusTargets.showLessFocus.setTarget(element);\n isShowMoreFocusTarget &&\n this.focusTargets.showMoreFocus.setTarget(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n searchQuery={this.facetState.facetSearch.query}\n ></FacetValueLabelHighlight>\n </ColorFacetCheckbox>\n );\n case 'box':\n return (\n <FacetValueBox\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n searchQuery={this.facetState.facetSearch.query}\n buttonRef={(element) => {\n isShowLessFocusTarget &&\n this.focusTargets.showLessFocus.setTarget(element);\n isShowMoreFocusTarget &&\n this.focusTargets.showMoreFocus.setTarget(element);\n }}\n >\n <div\n part={`value-${partValueWithDisplayValue} value-${partValueWithAPIValue} default-color-value`}\n class=\"value-box-color bg-neutral-dark mb-2 h-12 w-full rounded-md\"\n ></div>\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n searchQuery={this.facetState.facetSearch.query}\n ></FacetValueLabelHighlight>\n </FacetValueBox>\n );\n }\n }\n\n private renderValuesContainer(children: VNode[], query?: string) {\n const classes = `mt-3 ${\n this.displayValuesAs === 'box' ? 'box-color-container' : ''\n }`;\n return (\n <FacetValuesGroup\n i18n={this.bindings.i18n}\n label={this.label}\n query={query}\n >\n <ul class={classes} part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.facetState.values.map((value, i) =>\n this.renderValue(\n value,\n () => this.facet.toggleSelect(value),\n i === 0,\n i ===\n (this.sortCriteria === 'automatic'\n ? 0\n : this.resultIndexToFocusOnShowMore)\n )\n )\n );\n }\n\n private renderSearchResults() {\n return this.renderValuesContainer(\n this.facetState.facetSearch.values.map((value) =>\n this.renderValue(\n {\n state: 'idle',\n numberOfResults: value.count,\n value: value.rawValue,\n },\n () => this.facet.facetSearch.select(value),\n false,\n false\n )\n ),\n this.facetState.facetSearch.query\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 <FacetShowMoreLess\n label={this.label}\n i18n={this.bindings.i18n}\n onShowMore={() => {\n this.resultIndexToFocusOnShowMore = this.facet.state.values.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 );\n }\n\n private get facetOptions(): FacetOptions {\n return {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n resultsMustMatch: this.resultsMustMatch,\n facetSearch: {numberOfValues: this.numberOfValues},\n injectionDepth: this.injectionDepth,\n filterFacetCount: this.filterFacetCount,\n allowedValues: this.allowedValues.length\n ? [...this.allowedValues]\n : undefined,\n customSort: this.customSort.length ? [...this.customSort] : undefined,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n }\n\n public render() {\n if (this.searchStatusState.hasError || !this.facet.state.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!this.searchStatusState.firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.numberOfValues}\n isCollapsed={this.isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.facetState.values.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && [\n this.renderSearchInput(),\n shouldDisplaySearchResults(this.facetState.facetSearch)\n ? [this.renderSearchResults(), this.renderMatches()]\n : [this.renderValues(), this.renderShowMoreLess()],\n ]}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-color-facet.js","mappings":"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","names":["AtomicColorFacet"],"sources":["src/components/search/facets/color-facet-checkbox/color-facet-checkbox.tsx","src/components/search/facets/atomic-color-facet/atomic-color-facet.pcss?tag=atomic-color-facet&encapsulation=shadow","src/components/search/facets/atomic-color-facet/atomic-color-facet.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {createRipple} from '../../../../utils/ripple-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {FacetValueProps} from '../../../common/facets/stencil-facet-common';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ColorFacetCheckbox: FunctionalComponent<FacetValueProps> = (\n props,\n children\n) => {\n const id = randomID('facet-value-');\n const count = props.numberOfResults.toLocaleString(props.i18n.language);\n const ariaLabel = props.i18n.t('facet-value', {\n value: props.displayValue,\n count: props.numberOfResults,\n formattedCount: count,\n });\n const partValue = props.displayValue\n .match(new RegExp('-?[_a-zA-Z]+[_a-zA-Z0-9-]*'))\n ?.toString();\n let labelRef: HTMLLabelElement;\n\n return (\n <li key={props.displayValue} class=\"relative flex items-center\">\n <button\n id={id}\n role=\"checkbox\"\n part={`value-checkbox value-${partValue}${\n props.isSelected ? ' value-checkbox-checked' : ''\n }`}\n onClick={() => props.onClick()}\n onMouseDown={(e) =>\n createRipple(e, {color: 'neutral', parent: labelRef})\n }\n aria-checked={props.isSelected.toString()}\n class={`value-checkbox ${props.isSelected ? 'ring-primary' : ''}`}\n aria-label={ariaLabel}\n ></button>\n <label\n ref={(ref) => (labelRef = ref!)}\n htmlFor={id}\n part=\"value-checkbox-label\"\n onMouseDown={(e) => createRipple(e, {color: 'neutral'})}\n >\n {children}\n <span part=\"value-count\" class=\"value-count\">\n {props.i18n.t('between-parentheses', {\n text: count,\n })}\n </span>\n </label>\n </li>\n );\n};\n","@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-search/facet-search.pcss';\n@import '../../../common/facets/facet-value-box/facet-value-box.pcss';\n@import '../color-facet-checkbox/color-facet-checkbox.pcss';\n\n/**\n * @prop --atomic-facet-color-boxes-per-row: Number of facet values for the Color Facet to display per row, when the display is 'box'\n * @prop --atomic-facet-color-boxes-gap: Gap value for facet values for the Color Facet , when the display is 'box'\n */\n.box-color-container {\n @apply grid px-2;\n grid-template-columns: repeat(var(--atomic-facet-color-boxes-per-row, 3), minmax(0, 1fr));\n gap: var(--atomic-facet-color-boxes-gap, 0.5rem);\n}\n","import {\n Facet,\n buildFacet,\n FacetState,\n FacetOptions,\n FacetSortCriterion,\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n FacetValue,\n buildFacetConditionsManager,\n FacetConditionsManager,\n FacetResultsMustMatch,\n FacetValueRequest,\n CategoryFacetValueRequest,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, VNode, Element} 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 {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 {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/stencil-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 {FacetValueBox} from '../../../common/facets/facet-value-box/stencil-facet-value-box';\nimport {FacetValueLabelHighlight} from '../../../common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ColorFacetCheckbox} from '../color-facet-checkbox/color-facet-checkbox';\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-color-facet` displays a facet of the results for the current query as colors.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and allows to expand/collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part search-wrapper - The search box wrapper.\n * @part search-input - The search box input.\n * @part search-icon - The search box submit button.\n * @part search-clear-button - The button to clear the search box of input.\n * @part more-matches - The label indicating there are more matches for the current facet search query.\n * @part no-matches - The label indicating there are no matches for the current facet search query.\n * @part matches-query - The highlighted query inside the matches labels.\n * @part search-highlight - The highlighted query inside the facet values.\n *\n * @part values - The facet values container.\n * @part value-label - The facet value label, common for all displays.\n * @part value-count - The facet value count, common for all displays.\n * @part default-color-value - The default part name used to customize color facet values. Should be defined before dynamic parts.\n * @part value-* - The dynamic part name used to customize a facet value. The `*` is a syntactical placeholder for a specific facet value. For example, if the component's `field` property is set to 'filetype' and your source has a `YouTubeVideo` file type, the part would be targeted like this: `atomic-color-facet::part(value-YouTubeVideo)...`.\n *\n * @part value-box - The facet value when display is 'box'.\n * @part value-box-selected - The selected facet value when display is 'box'.\n * @part value-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 *\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-color-facet',\n styleUrl: 'atomic-color-facet.pcss',\n shadow: true,\n})\nexport class AtomicColorFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facet!: Facet;\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!: FacetState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-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 = true;\n /**\n * The sort criterion to apply to the returned facet values.\n * Possible values are 'score', 'alphanumeric', 'alphanumericDescending', 'occurrences', alphanumericNatural', 'alphanumericNaturalDescending' and 'automatic'.\n */\n @Prop({reflect: true}) public sortCriteria: FacetSortCriterion = 'automatic';\n /**\n * Specifies how a result must match the selected facet values.\n * Allowed values:\n * - `atLeastOneValue`: A result will match if at least one of the corresponding facet values is selected.\n * - `allValues`: A result will match if all corresponding facet values are selected.\n */\n @Prop({reflect: true}) public resultsMustMatch: FacetResultsMustMatch =\n 'atLeastOneValue';\n /**\n * Whether to display the facet values as checkboxes (multiple selection) or boxes (multiple selection).\n * Possible values are 'checkbox', and 'box'.\n */\n @Prop({reflect: true}) public displayValuesAs: 'checkbox' | 'box' = 'box';\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-color-facet\n * depends-on-abc\n * ...\n * ></atomic-color-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-color-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-color-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n /**\n * Specifies an explicit list of `allowedValues` in the Search API request. This list is in the form of a JSON string.\n *\n * If you specify a list of values for this option, the facet only uses these values (if they are available in\n * the current result set).\n *\n * Example:\n *\n * The following facet only uses the `Contact`, `Account`, and `File` values of the `objecttype` field. Even if the\n * current result set contains other `objecttype` values, such as `Message` or `Product`, the facet does not use\n * them.\n *\n * ```html\n * <atomic-color-facet field=\"objecttype\" allowed-values='[\"Contact\",\"Account\",\"File\"]'></atomic-color-facet>\n * ```\n *\n * The maximum amount of allowed values is 25.\n *\n * The default value is `undefined`, and the facet uses all available values for its `field` in the current result set.\n */\n @ArrayProp()\n @Prop({mutable: true})\n public allowedValues: string[] | string = '[]';\n\n /**\n * Identifies the facet values that must appear at the top, in this order.\n * This parameter can be used in conjunction with the `sortCriteria` parameter.\n *\n * Facet values not part of the `customSort` list will be sorted according to the `sortCriteria`.\n *\n * Example:\n *\n * The following facet will sort the `Contact`, `Account`, and `File` values at the top of the list for the `objecttype` field.\n *\n * If there are more than these 3 values available, the rest of the list will be sorted using `occurrences`.\n *\n * ```html\n * <atomic-color-facet field=\"objecttype\" custom-sort='[\"Contact\",\"Account\",\"File\"]' sort-criteria='occurrences'></atomic-color-facet>\n * ```\n * The maximum amount of custom sort values is 25.\n *\n * The default value is `undefined`, and the facet values will be sorted using only the `sortCriteria`.\n */\n @ArrayProp()\n @Prop({mutable: true})\n public customSort: string[] | string = '[]';\n\n private showLessFocus?: FocusTargetController;\n\n private showMoreFocus?: FocusTargetController;\n\n private headerFocus?: 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.facet = buildFacet(this.bindings.engine, {options: this.facetOptions});\n this.tabManager = buildTabManager(this.bindings.engine);\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('facets', facetInfo);\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.facet.state.values.length,\n numberOfActiveValues: () => this.numberOfSelectedValues,\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\n return {\n showLessFocus: this.showLessFocus,\n showMoreFocus: this.showMoreFocus,\n headerFocus: this.headerFocus,\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.values.length\n );\n }\n\n public componentShouldUpdate(\n next: unknown,\n prev: unknown,\n propName: keyof AtomicColorFacet\n ) {\n if (propName === 'facetState' && prev && this.withSearch) {\n return shouldUpdateFacetSearchComponent(\n (next as FacetState).facetSearch,\n (prev as FacetState).facetSearch\n );\n }\n\n return true;\n }\n\n private get numberOfSelectedValues() {\n return this.facetState.values.filter(({state}) => state === 'selected')\n .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 onClearFilters={() => {\n this.focusTargets.headerFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTargets.headerFocus.setTarget(el)}\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 renderValue(\n facetValue: FacetValue,\n onClick: () => void,\n isShowLessFocusTarget: boolean,\n isShowMoreFocusTarget: boolean\n ) {\n const displayValue = getFieldValueCaption(\n this.facetId!,\n facetValue.value,\n this.bindings.i18n\n );\n const isSelected = facetValue.state === 'selected';\n const isExcluded = facetValue.state === 'excluded';\n const partValueWithDisplayValue = displayValue.replace(/[^a-z0-9]/gi, '');\n const partValueWithAPIValue = facetValue.value.replace(/[^a-z0-9]/gi, '');\n switch (this.displayValuesAs) {\n case 'checkbox':\n return (\n <ColorFacetCheckbox\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n searchQuery={this.facetState.facetSearch.query}\n buttonRef={(element) => {\n isShowLessFocusTarget &&\n this.focusTargets.showLessFocus.setTarget(element);\n isShowMoreFocusTarget &&\n this.focusTargets.showMoreFocus.setTarget(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n searchQuery={this.facetState.facetSearch.query}\n ></FacetValueLabelHighlight>\n </ColorFacetCheckbox>\n );\n case 'box':\n return (\n <FacetValueBox\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n searchQuery={this.facetState.facetSearch.query}\n buttonRef={(element) => {\n isShowLessFocusTarget &&\n this.focusTargets.showLessFocus.setTarget(element);\n isShowMoreFocusTarget &&\n this.focusTargets.showMoreFocus.setTarget(element);\n }}\n >\n <div\n part={`value-${partValueWithDisplayValue} value-${partValueWithAPIValue} default-color-value`}\n class=\"value-box-color bg-neutral-dark mb-2 h-12 w-full rounded-md\"\n ></div>\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n searchQuery={this.facetState.facetSearch.query}\n ></FacetValueLabelHighlight>\n </FacetValueBox>\n );\n }\n }\n\n private renderValuesContainer(children: VNode[], query?: string) {\n const classes = `mt-3 ${\n this.displayValuesAs === 'box' ? 'box-color-container' : ''\n }`;\n return (\n <FacetValuesGroup\n i18n={this.bindings.i18n}\n label={this.label}\n query={query}\n >\n <ul class={classes} part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.facetState.values.map((value, i) =>\n this.renderValue(\n value,\n () => this.facet.toggleSelect(value),\n i === 0,\n i ===\n (this.sortCriteria === 'automatic'\n ? 0\n : this.resultIndexToFocusOnShowMore)\n )\n )\n );\n }\n\n private renderSearchResults() {\n return this.renderValuesContainer(\n this.facetState.facetSearch.values.map((value) =>\n this.renderValue(\n {\n state: 'idle',\n numberOfResults: value.count,\n value: value.rawValue,\n },\n () => this.facet.facetSearch.select(value),\n false,\n false\n )\n ),\n this.facetState.facetSearch.query\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 <FacetShowMoreLess\n label={this.label}\n i18n={this.bindings.i18n}\n onShowMore={() => {\n this.resultIndexToFocusOnShowMore = this.facet.state.values.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 );\n }\n\n private get facetOptions(): FacetOptions {\n return {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n resultsMustMatch: this.resultsMustMatch,\n facetSearch: {numberOfValues: this.numberOfValues},\n injectionDepth: this.injectionDepth,\n filterFacetCount: this.filterFacetCount,\n allowedValues: this.allowedValues.length\n ? [...this.allowedValues]\n : undefined,\n customSort: this.customSort.length ? [...this.customSort] : undefined,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n }\n\n public render() {\n if (this.searchStatusState.hasError || !this.facet.state.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!this.searchStatusState.firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.numberOfValues}\n isCollapsed={this.isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.facetState.values.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && [\n this.renderSearchInput(),\n shouldDisplaySearchResults(this.facetState.facetSearch)\n ? [this.renderSearchResults(), this.renderMatches()]\n : [this.renderValues(), this.renderShowMoreLess()],\n ]}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
@@ -5,7 +5,7 @@ import { A as AriaLiveRegion, F as FocusTargetController } from './stencil-acces
5
5
  import { p as parseDependsOn } from './depends-on.js';
6
6
  import { a as FacetContainer, F as FacetHeader } from './stencil-facet-header.js';
7
7
  import { F as FacetGuard } from './stencil-facet-guard.js';
8
- import { F as FacetPlaceholder } from './facet-placeholder.js';
8
+ import { F as FacetPlaceholder } from './stencil-facet-placeholder.js';
9
9
  import { F as FacetShowMoreLess, a as announceFacetSearchResultsWithAriaLive } from './stencil-facet-show-more-less.js';
10
10
  import { g as getFieldValueCaption } from './field-utils.js';
11
11
  import { F as FacetValueBox } from './stencil-facet-value-box.js';
@@ -175,7 +175,7 @@ const AtomicInsightFacet$1 = /*@__PURE__*/ proxyCustomElement(class AtomicInsigh
175
175
  this.facetConditionsManager?.stopWatching();
176
176
  }
177
177
  render() {
178
- return (h(FacetGuard, { key: '782f74155d083489d763f422cfaa7ab1163ec6c4', enabled: this.facetState.enabled, hasError: this.searchStatusState.hasError, firstSearchExecuted: this.searchStatusState.firstSearchExecuted, hasResults: this.facetState.values.length > 0 }, this.searchStatusState.firstSearchExecuted ? (h(FacetContainer, null, h(FacetHeader, { i18n: this.bindings.i18n, label: this.label, onClearFilters: () => {
178
+ return (h(FacetGuard, { key: '95c4b2af1a9a98b8651ba0722b788ba8600a78b8', enabled: this.facetState.enabled, hasError: this.searchStatusState.hasError, firstSearchExecuted: this.searchStatusState.firstSearchExecuted, hasResults: this.facetState.values.length > 0 }, this.searchStatusState.firstSearchExecuted ? (h(FacetContainer, null, h(FacetHeader, { i18n: this.bindings.i18n, label: this.label, onClearFilters: () => {
179
179
  this.focusTargets.header.focusAfterSearch();
180
180
  this.facet.deselectAll();
181
181
  }, numberOfActiveValues: this.activeValues.length, isCollapsed: this.isCollapsed, headingLevel: this.headingLevel, onToggleCollapse: () => (this.isCollapsed = !this.isCollapsed), headerRef: (el) => this.focusTargets.header.setTarget(el) }), this.renderBody())) : (h(FacetPlaceholder, { numberOfValues: this.numberOfValues, isCollapsed: this.isCollapsed }))));
@@ -1 +1 @@
1
- {"file":"atomic-insight-facet.js","mappings":"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","names":["AtomicInsightFacet","buildInsightFacet","buildInsightSearchStatus","buildInsightFacetConditionsManager"],"sources":["src/components/common/facets/facet-value/stencil-facet-value.tsx","src/components/insight/atomic-insight-facet/atomic-insight-facet.pcss?tag=atomic-insight-facet&encapsulation=shadow","src/components/insight/atomic-insight-facet/atomic-insight-facet.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {FacetValueBox} from '../facet-value-box/stencil-facet-value-box';\nimport {FacetValueCheckbox} from '../facet-value-checkbox/stencil-facet-value-checkbox';\nimport {FacetValueLabelHighlight} from '../facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from '../facet-value-link/stencil-facet-value-link';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport interface FacetValueProps {\n field: string;\n facetValue: string;\n facetCount: number;\n facetState: 'idle' | 'selected' | 'excluded';\n i18n: i18n;\n enableExclusion: boolean;\n onExclude: () => void;\n onSelect: () => void;\n displayValuesAs: 'checkbox' | 'link' | 'box';\n facetSearchQuery: string;\n setRef?: (btn?: HTMLButtonElement) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const FacetValue: FunctionalComponent<FacetValueProps> = ({\n facetSearchQuery,\n displayValuesAs,\n enableExclusion,\n facetCount,\n facetState,\n facetValue,\n field,\n i18n,\n onExclude,\n onSelect,\n setRef,\n}) => {\n const displayValue = getFieldValueCaption(field, facetValue, i18n);\n const isSelected = facetState === 'selected';\n const isExcluded = facetState === 'excluded';\n const triStateProps = enableExclusion\n ? {\n onExclude,\n state: facetState,\n }\n : {};\n switch (displayValuesAs) {\n case 'checkbox':\n return (\n <FacetValueCheckbox\n {...triStateProps}\n displayValue={displayValue}\n numberOfResults={facetCount}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onSelect}\n searchQuery={facetSearchQuery}\n buttonRef={(element) => {\n setRef && setRef(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n searchQuery={facetSearchQuery}\n ></FacetValueLabelHighlight>\n </FacetValueCheckbox>\n );\n case 'link':\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={facetCount}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onSelect}\n searchQuery={facetSearchQuery}\n buttonRef={(element) => {\n setRef && setRef(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n searchQuery={facetSearchQuery}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n case 'box':\n return (\n <FacetValueBox\n displayValue={displayValue}\n numberOfResults={facetCount}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onSelect}\n searchQuery={facetSearchQuery}\n buttonRef={(element) => {\n setRef && setRef(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n searchQuery={facetSearchQuery}\n ></FacetValueLabelHighlight>\n </FacetValueBox>\n );\n }\n};\n","@import '../../common/facets/facet-common.pcss';\n@import '../../common/facets/facet-search/facet-search.pcss';\n@import '../../common/facets/facet-value-checkbox/facet-value-checkbox.pcss';\n@import '../../common/facets/facet-value-exclude/facet-value-exclude.pcss';\n@import '../../common/facets/facet-value-box/facet-value-box.pcss';\n","import {FacetResultsMustMatch} from '@coveo/headless';\nimport {\n buildFacet as buildInsightFacet,\n buildFacetConditionsManager as buildInsightFacetConditionsManager,\n buildSearchStatus as buildInsightSearchStatus,\n CategoryFacetValueRequest as InsightCategoryFacetValueRequest,\n Facet as InsightFacet,\n FacetConditionsManager as InsightFacetConditionsManager,\n FacetOptions as InsightFacetOptions,\n FacetSortCriterion as InsightFacetSortCriterion,\n FacetState as InsightFacetState,\n FacetValueRequest as InsightFacetValueRequest,\n SearchStatus as InsightSearchStatus,\n SearchStatusState as InsightSearchStatusState,\n} from '@coveo/headless/insight';\nimport {Component, h, State, Prop, Element, VNode} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n AriaLiveRegion,\n FocusTargetController,\n} from '../../../utils/stencil-accessibility-utils';\nimport {parseDependsOn} from '../../common/facets/depends-on';\nimport {FacetInfo} from '../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../common/facets/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 {FacetShowMoreLess} from '../../common/facets/facet-show-more-less/stencil-facet-show-more-less';\nimport {\n FacetValueProps,\n FacetValue,\n} from '../../common/facets/facet-value/stencil-facet-value';\nimport {FacetValuesGroup} from '../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../common/facets/popover/popover-type';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-facet',\n styleUrl: 'atomic-insight-facet.pcss',\n shadow: true,\n})\nexport class AtomicInsightFacet\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public facet!: InsightFacet;\n public searchStatus!: InsightSearchStatus;\n public dependsOn = {};\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: InsightFacetState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: InsightSearchStatusState;\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 */\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.\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 * The sort criterion to apply to the returned facet values.\n * Possible values are 'score', 'alphanumeric', 'alphanumericDescending', 'occurrences', alphanumericNatural', 'alphanumericNaturalDescending' and 'automatic'.\n */\n @Prop({reflect: true}) public sortCriteria: InsightFacetSortCriterion =\n 'automatic';\n /**\n * Specifies how a result must match the selected facet values.\n * Allowed values:\n * - `atLeastOneValue`: A result will match if at least one of the corresponding facet values is selected.\n * - `allValues`: A result will match if all corresponding facet values are selected.\n */\n @Prop({reflect: true}) public resultsMustMatch: FacetResultsMustMatch =\n 'atLeastOneValue';\n /**\n * Whether to display the facet values as checkboxes (multiple selection), links (single selection) or boxes (multiple selection).\n * Possible values are 'checkbox', 'link', and 'box'.\n */\n @Prop({reflect: true}) public displayValuesAs: 'checkbox' | 'link' | 'box' =\n 'checkbox';\n /**\n * Specifies 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() public injectionDepth = 1000;\n /**\n * Whether to allow excluding values from the facet.\n */\n @Prop({reflect: true}) public enableExclusion = false;\n\n private showLessFocus?: FocusTargetController;\n private showMoreFocus?: FocusTargetController;\n private headerFocus?: FocusTargetController;\n private facetConditionsManager?: InsightFacetConditionsManager;\n\n @AriaLiveRegion('facet-search')\n protected facetSearchAriaMessage!: string;\n\n public initialize() {\n const options: InsightFacetOptions = {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n facetSearch: {numberOfValues: this.numberOfValues},\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n };\n\n this.facet = buildInsightFacet(this.bindings.engine, {options});\n this.facetId = this.facet.state.facetId;\n this.searchStatus = buildInsightSearchStatus(this.bindings.engine);\n this.initAriaLive();\n this.initConditionManager();\n this.initPopover();\n this.registerFacet();\n }\n\n private get focusTargets(): {\n showLess: FocusTargetController;\n showMore: FocusTargetController;\n header: FocusTargetController;\n } {\n if (!this.showLessFocus) {\n this.showLessFocus = new FocusTargetController(this);\n }\n if (!this.showMoreFocus) {\n this.showMoreFocus = new FocusTargetController(this);\n }\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return {\n showLess: this.showLessFocus,\n showMore: this.showMoreFocus,\n header: this.headerFocus,\n };\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.facetConditionsManager?.stopWatching();\n }\n\n public render() {\n return (\n <FacetGuard\n enabled={this.facetState.enabled}\n hasError={this.searchStatusState.hasError}\n firstSearchExecuted={this.searchStatusState.firstSearchExecuted}\n hasResults={this.facetState.values.length > 0}\n >\n {this.searchStatusState.firstSearchExecuted ? (\n <FacetContainer>\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.label}\n onClearFilters={() => {\n this.focusTargets.header.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.activeValues.length}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTargets.header.setTarget(el)}\n ></FacetHeader>\n {this.renderBody()}\n </FacetContainer>\n ) : (\n <FacetPlaceholder\n numberOfValues={this.numberOfValues}\n isCollapsed={this.isCollapsed}\n />\n )}\n </FacetGuard>\n );\n }\n\n private renderBody() {\n if (this.isCollapsed) {\n return;\n }\n return [this.renderValues(), this.renderShowMoreLess()];\n }\n\n private renderValuesContainer(children: VNode[], query?: string) {\n const classes = `mt-3 ${\n this.displayValuesAs === 'box' ? 'box-container' : ''\n }`;\n return (\n <FacetValuesGroup\n i18n={this.bindings.i18n}\n label={this.label}\n query={query}\n >\n <ul class={classes} part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.facet.state.values.map((value, i) => {\n const shouldFocusOnShowLessAfterInteraction = i === 0;\n const shouldFocusOnShowMoreAfterInteraction =\n i ===\n (this.sortCriteria === 'automatic'\n ? 0\n : this.facetState.values.length - 1);\n\n return (\n <FacetValue\n {...this.facetValueProps}\n facetCount={value.numberOfResults}\n onExclude={() => this.facet.toggleExclude(value)}\n onSelect={() =>\n this.displayValuesAs === 'link'\n ? this.facet.toggleSingleSelect(value)\n : this.facet.toggleSelect(value)\n }\n facetValue={value.value}\n facetState={value.state}\n setRef={(btn) => {\n if (shouldFocusOnShowLessAfterInteraction) {\n this.showLessFocus?.setTarget(btn);\n }\n if (shouldFocusOnShowMoreAfterInteraction) {\n this.showMoreFocus?.setTarget(btn);\n }\n }}\n />\n );\n })\n );\n }\n\n private renderShowMoreLess() {\n return (\n <FacetShowMoreLess\n label={this.label}\n i18n={this.bindings.i18n}\n onShowMore={() => {\n this.focusTargets.showMore.focusAfterSearch();\n this.facet.showMoreValues();\n }}\n onShowLess={() => {\n this.focusTargets.showLess.focusAfterSearch();\n this.facet.showLessValues();\n }}\n canShowMoreValues={this.facet.state.canShowMoreValues}\n canShowLessValues={this.facet.state.canShowLessValues}\n ></FacetShowMoreLess>\n );\n }\n\n private get activeValues() {\n return this.facet.state.values.filter(({state}) => state !== 'idle');\n }\n\n private get facetValueProps(): Pick<\n FacetValueProps,\n | 'displayValuesAs'\n | 'facetSearchQuery'\n | 'enableExclusion'\n | 'field'\n | 'i18n'\n > {\n return {\n facetSearchQuery: this.facetState.facetSearch.query,\n displayValuesAs: this.displayValuesAs,\n enableExclusion: this.enableExclusion,\n field: this.field,\n i18n: this.bindings.i18n,\n };\n }\n\n private initAriaLive() {\n announceFacetSearchResultsWithAriaLive(\n this.facet,\n this.label,\n (msg) => (this.facetSearchAriaMessage = msg),\n this.bindings.i18n\n );\n }\n\n private initConditionManager() {\n this.facetConditionsManager = buildInsightFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n InsightFacetValueRequest | InsightCategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n private initPopover() {\n initializePopover(this.host, {\n ...this.facetInfo,\n hasValues: () => !!this.facet.state.values.length,\n numberOfActiveValues: () => this.activeValues.length,\n });\n }\n\n private get isHidden() {\n return !this.facet.state.enabled || !this.facet.state.values.length;\n }\n\n private get facetInfo(): FacetInfo {\n return {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n }\n\n private registerFacet() {\n this.bindings.store.registerFacet('facets', this.facetInfo);\n }\n}\n"],"version":3}
1
+ {"file":"atomic-insight-facet.js","mappings":"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","names":["AtomicInsightFacet","buildInsightFacet","buildInsightSearchStatus","buildInsightFacetConditionsManager"],"sources":["src/components/common/facets/facet-value/stencil-facet-value.tsx","src/components/insight/atomic-insight-facet/atomic-insight-facet.pcss?tag=atomic-insight-facet&encapsulation=shadow","src/components/insight/atomic-insight-facet/atomic-insight-facet.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {FacetValueBox} from '../facet-value-box/stencil-facet-value-box';\nimport {FacetValueCheckbox} from '../facet-value-checkbox/stencil-facet-value-checkbox';\nimport {FacetValueLabelHighlight} from '../facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from '../facet-value-link/stencil-facet-value-link';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport interface FacetValueProps {\n field: string;\n facetValue: string;\n facetCount: number;\n facetState: 'idle' | 'selected' | 'excluded';\n i18n: i18n;\n enableExclusion: boolean;\n onExclude: () => void;\n onSelect: () => void;\n displayValuesAs: 'checkbox' | 'link' | 'box';\n facetSearchQuery: string;\n setRef?: (btn?: HTMLButtonElement) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const FacetValue: FunctionalComponent<FacetValueProps> = ({\n facetSearchQuery,\n displayValuesAs,\n enableExclusion,\n facetCount,\n facetState,\n facetValue,\n field,\n i18n,\n onExclude,\n onSelect,\n setRef,\n}) => {\n const displayValue = getFieldValueCaption(field, facetValue, i18n);\n const isSelected = facetState === 'selected';\n const isExcluded = facetState === 'excluded';\n const triStateProps = enableExclusion\n ? {\n onExclude,\n state: facetState,\n }\n : {};\n switch (displayValuesAs) {\n case 'checkbox':\n return (\n <FacetValueCheckbox\n {...triStateProps}\n displayValue={displayValue}\n numberOfResults={facetCount}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onSelect}\n searchQuery={facetSearchQuery}\n buttonRef={(element) => {\n setRef && setRef(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n searchQuery={facetSearchQuery}\n ></FacetValueLabelHighlight>\n </FacetValueCheckbox>\n );\n case 'link':\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={facetCount}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onSelect}\n searchQuery={facetSearchQuery}\n buttonRef={(element) => {\n setRef && setRef(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n searchQuery={facetSearchQuery}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n case 'box':\n return (\n <FacetValueBox\n displayValue={displayValue}\n numberOfResults={facetCount}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onSelect}\n searchQuery={facetSearchQuery}\n buttonRef={(element) => {\n setRef && setRef(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n searchQuery={facetSearchQuery}\n ></FacetValueLabelHighlight>\n </FacetValueBox>\n );\n }\n};\n","@import '../../common/facets/facet-common.pcss';\n@import '../../common/facets/facet-search/facet-search.pcss';\n@import '../../common/facets/facet-value-checkbox/facet-value-checkbox.pcss';\n@import '../../common/facets/facet-value-exclude/facet-value-exclude.pcss';\n@import '../../common/facets/facet-value-box/facet-value-box.pcss';\n","import {FacetResultsMustMatch} from '@coveo/headless';\nimport {\n buildFacet as buildInsightFacet,\n buildFacetConditionsManager as buildInsightFacetConditionsManager,\n buildSearchStatus as buildInsightSearchStatus,\n CategoryFacetValueRequest as InsightCategoryFacetValueRequest,\n Facet as InsightFacet,\n FacetConditionsManager as InsightFacetConditionsManager,\n FacetOptions as InsightFacetOptions,\n FacetSortCriterion as InsightFacetSortCriterion,\n FacetState as InsightFacetState,\n FacetValueRequest as InsightFacetValueRequest,\n SearchStatus as InsightSearchStatus,\n SearchStatusState as InsightSearchStatusState,\n} from '@coveo/headless/insight';\nimport {Component, h, State, Prop, Element, VNode} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n AriaLiveRegion,\n FocusTargetController,\n} from '../../../utils/stencil-accessibility-utils';\nimport {parseDependsOn} from '../../common/facets/depends-on';\nimport {FacetInfo} from '../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../common/facets/stencil-facet-guard';\nimport {FacetHeader} from '../../common/facets/facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from '../../common/facets/facet-placeholder/stencil-facet-placeholder';\nimport {announceFacetSearchResultsWithAriaLive} from '../../common/facets/facet-search/facet-search-aria-live';\nimport {FacetShowMoreLess} from '../../common/facets/facet-show-more-less/stencil-facet-show-more-less';\nimport {\n FacetValueProps,\n FacetValue,\n} from '../../common/facets/facet-value/stencil-facet-value';\nimport {FacetValuesGroup} from '../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../common/facets/popover/popover-type';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-facet',\n styleUrl: 'atomic-insight-facet.pcss',\n shadow: true,\n})\nexport class AtomicInsightFacet\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public facet!: InsightFacet;\n public searchStatus!: InsightSearchStatus;\n public dependsOn = {};\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: InsightFacetState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: InsightSearchStatusState;\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 */\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.\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 * The sort criterion to apply to the returned facet values.\n * Possible values are 'score', 'alphanumeric', 'alphanumericDescending', 'occurrences', alphanumericNatural', 'alphanumericNaturalDescending' and 'automatic'.\n */\n @Prop({reflect: true}) public sortCriteria: InsightFacetSortCriterion =\n 'automatic';\n /**\n * Specifies how a result must match the selected facet values.\n * Allowed values:\n * - `atLeastOneValue`: A result will match if at least one of the corresponding facet values is selected.\n * - `allValues`: A result will match if all corresponding facet values are selected.\n */\n @Prop({reflect: true}) public resultsMustMatch: FacetResultsMustMatch =\n 'atLeastOneValue';\n /**\n * Whether to display the facet values as checkboxes (multiple selection), links (single selection) or boxes (multiple selection).\n * Possible values are 'checkbox', 'link', and 'box'.\n */\n @Prop({reflect: true}) public displayValuesAs: 'checkbox' | 'link' | 'box' =\n 'checkbox';\n /**\n * Specifies 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() public injectionDepth = 1000;\n /**\n * Whether to allow excluding values from the facet.\n */\n @Prop({reflect: true}) public enableExclusion = false;\n\n private showLessFocus?: FocusTargetController;\n private showMoreFocus?: FocusTargetController;\n private headerFocus?: FocusTargetController;\n private facetConditionsManager?: InsightFacetConditionsManager;\n\n @AriaLiveRegion('facet-search')\n protected facetSearchAriaMessage!: string;\n\n public initialize() {\n const options: InsightFacetOptions = {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n facetSearch: {numberOfValues: this.numberOfValues},\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n };\n\n this.facet = buildInsightFacet(this.bindings.engine, {options});\n this.facetId = this.facet.state.facetId;\n this.searchStatus = buildInsightSearchStatus(this.bindings.engine);\n this.initAriaLive();\n this.initConditionManager();\n this.initPopover();\n this.registerFacet();\n }\n\n private get focusTargets(): {\n showLess: FocusTargetController;\n showMore: FocusTargetController;\n header: FocusTargetController;\n } {\n if (!this.showLessFocus) {\n this.showLessFocus = new FocusTargetController(this);\n }\n if (!this.showMoreFocus) {\n this.showMoreFocus = new FocusTargetController(this);\n }\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return {\n showLess: this.showLessFocus,\n showMore: this.showMoreFocus,\n header: this.headerFocus,\n };\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.facetConditionsManager?.stopWatching();\n }\n\n public render() {\n return (\n <FacetGuard\n enabled={this.facetState.enabled}\n hasError={this.searchStatusState.hasError}\n firstSearchExecuted={this.searchStatusState.firstSearchExecuted}\n hasResults={this.facetState.values.length > 0}\n >\n {this.searchStatusState.firstSearchExecuted ? (\n <FacetContainer>\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.label}\n onClearFilters={() => {\n this.focusTargets.header.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.activeValues.length}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTargets.header.setTarget(el)}\n ></FacetHeader>\n {this.renderBody()}\n </FacetContainer>\n ) : (\n <FacetPlaceholder\n numberOfValues={this.numberOfValues}\n isCollapsed={this.isCollapsed}\n />\n )}\n </FacetGuard>\n );\n }\n\n private renderBody() {\n if (this.isCollapsed) {\n return;\n }\n return [this.renderValues(), this.renderShowMoreLess()];\n }\n\n private renderValuesContainer(children: VNode[], query?: string) {\n const classes = `mt-3 ${\n this.displayValuesAs === 'box' ? 'box-container' : ''\n }`;\n return (\n <FacetValuesGroup\n i18n={this.bindings.i18n}\n label={this.label}\n query={query}\n >\n <ul class={classes} part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.facet.state.values.map((value, i) => {\n const shouldFocusOnShowLessAfterInteraction = i === 0;\n const shouldFocusOnShowMoreAfterInteraction =\n i ===\n (this.sortCriteria === 'automatic'\n ? 0\n : this.facetState.values.length - 1);\n\n return (\n <FacetValue\n {...this.facetValueProps}\n facetCount={value.numberOfResults}\n onExclude={() => this.facet.toggleExclude(value)}\n onSelect={() =>\n this.displayValuesAs === 'link'\n ? this.facet.toggleSingleSelect(value)\n : this.facet.toggleSelect(value)\n }\n facetValue={value.value}\n facetState={value.state}\n setRef={(btn) => {\n if (shouldFocusOnShowLessAfterInteraction) {\n this.showLessFocus?.setTarget(btn);\n }\n if (shouldFocusOnShowMoreAfterInteraction) {\n this.showMoreFocus?.setTarget(btn);\n }\n }}\n />\n );\n })\n );\n }\n\n private renderShowMoreLess() {\n return (\n <FacetShowMoreLess\n label={this.label}\n i18n={this.bindings.i18n}\n onShowMore={() => {\n this.focusTargets.showMore.focusAfterSearch();\n this.facet.showMoreValues();\n }}\n onShowLess={() => {\n this.focusTargets.showLess.focusAfterSearch();\n this.facet.showLessValues();\n }}\n canShowMoreValues={this.facet.state.canShowMoreValues}\n canShowLessValues={this.facet.state.canShowLessValues}\n ></FacetShowMoreLess>\n );\n }\n\n private get activeValues() {\n return this.facet.state.values.filter(({state}) => state !== 'idle');\n }\n\n private get facetValueProps(): Pick<\n FacetValueProps,\n | 'displayValuesAs'\n | 'facetSearchQuery'\n | 'enableExclusion'\n | 'field'\n | 'i18n'\n > {\n return {\n facetSearchQuery: this.facetState.facetSearch.query,\n displayValuesAs: this.displayValuesAs,\n enableExclusion: this.enableExclusion,\n field: this.field,\n i18n: this.bindings.i18n,\n };\n }\n\n private initAriaLive() {\n announceFacetSearchResultsWithAriaLive(\n this.facet,\n this.label,\n (msg) => (this.facetSearchAriaMessage = msg),\n this.bindings.i18n\n );\n }\n\n private initConditionManager() {\n this.facetConditionsManager = buildInsightFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n InsightFacetValueRequest | InsightCategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n private initPopover() {\n initializePopover(this.host, {\n ...this.facetInfo,\n hasValues: () => !!this.facet.state.values.length,\n numberOfActiveValues: () => this.activeValues.length,\n });\n }\n\n private get isHidden() {\n return !this.facet.state.enabled || !this.facet.state.values.length;\n }\n\n private get facetInfo(): FacetInfo {\n return {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n }\n\n private registerFacet() {\n this.bindings.store.registerFacet('facets', this.facetInfo);\n }\n}\n"],"version":3}
@@ -8,7 +8,7 @@ import { r as randomID } from './utils.js';
8
8
  import { p as parseDependsOn } from './depends-on.js';
9
9
  import { a as FacetContainer, F as FacetHeader } from './stencil-facet-header.js';
10
10
  import { F as FacetGuard } from './stencil-facet-guard.js';
11
- import { F as FacetPlaceholder } from './facet-placeholder.js';
11
+ import { F as FacetPlaceholder } from './stencil-facet-placeholder.js';
12
12
  import { f as formatHumanReadable, N as NumericFacetValuesContainer, a as NumericFacetValueLink } from './stencil-values-container.js';
13
13
  import { i as initializePopover } from './popover-type.js';
14
14
  import { b as shouldDisplayInputForFacetRange } from './stencil-facet-common.js';
@@ -242,7 +242,7 @@ const AtomicInsightNumericFacet$1 = /*@__PURE__*/ proxyCustomElement(class Atomi
242
242
  }
243
243
  render() {
244
244
  const { searchStatusState: { firstSearchExecuted, hasError }, bindings: { i18n }, label, numberOfSelectedValues, isCollapsed, headingLevel, focusTarget, withInput, filter, } = this;
245
- return (h(FacetGuard, { key: 'ae630bef76d4965bfc3112f4e1ee22a783934e0a', enabled: this.enabled, firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: this.shouldRenderFacet }, firstSearchExecuted ? (h(FacetContainer, null, h(FacetHeader, { i18n: i18n, label: label, onClearFilters: () => {
245
+ return (h(FacetGuard, { key: '84f58d867de49e223fe81e833b50ce15fd972415', enabled: this.enabled, firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: this.shouldRenderFacet }, firstSearchExecuted ? (h(FacetContainer, null, h(FacetHeader, { i18n: i18n, label: label, onClearFilters: () => {
246
246
  focusTarget.focusAfterSearch();
247
247
  if (this.filterState?.range) {
248
248
  this.filter?.clear();
@@ -1 +1 @@
1
- {"file":"atomic-insight-numeric-facet.js","mappings":"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","names":["AtomicInsightNumericFacet","buildInsightNumericFacet","buildInsightNumericRange","buildInsightNumericFilter","buildInsightFacetConditionsManager","buildInsightSearchStatus","loadInsightNumericFacetSetActions"],"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"],"version":3}
1
+ {"file":"atomic-insight-numeric-facet.js","mappings":"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","names":["AtomicInsightNumericFacet","buildInsightNumericFacet","buildInsightNumericRange","buildInsightNumericFilter","buildInsightFacetConditionsManager","buildInsightSearchStatus","loadInsightNumericFacetSetActions"],"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/stencil-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"],"version":3}