@coveo/atomic 3.32.0-pre.df0768c2ef → 3.32.0-pre.e8ed1bb1ff

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 (716) 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/analytics-config.js +1 -1
  6. package/dist/atomic/components/atomic-category-facet.js +1 -1
  7. package/dist/atomic/components/atomic-color-facet.js +1 -1
  8. package/dist/atomic/components/atomic-facet.js +1 -1
  9. package/dist/atomic/components/atomic-format-currency.js +1 -1
  10. package/dist/atomic/components/atomic-format-number.js +1 -1
  11. package/dist/atomic/components/atomic-format-unit.js +1 -1
  12. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  13. package/dist/atomic/components/atomic-pager.js +12 -3
  14. package/dist/atomic/components/atomic-pager.js.map +1 -1
  15. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  16. package/dist/atomic/components/atomic-quickview.js +1 -1
  17. package/dist/atomic/components/atomic-result-children.js +1 -1
  18. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  19. package/dist/atomic/components/atomic-result-link.js +1 -1
  20. package/dist/atomic/components/atomic-result-list.js +1 -1
  21. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
  22. package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
  23. package/dist/atomic/components/atomic-search-box.js +4 -4
  24. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  25. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  26. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  27. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  28. package/dist/atomic/components/components/search/atomic-results-per-page/atomic-results-per-page.js +135 -0
  29. package/dist/atomic/components/components/search/atomic-search-interface/interfaces.js +1 -0
  30. package/dist/atomic/components/components/search/index.js +2 -1
  31. package/dist/atomic/components/components/search/lazy-index.js +3 -1
  32. package/dist/atomic/components/global/environment.js +1 -1
  33. package/dist/atomic/components/index.js.map +1 -1
  34. package/dist/atomic/components/stencil-button.js +42 -2
  35. package/dist/atomic/components/stencil-button.js.map +1 -1
  36. package/dist/atomic/components/stencil-facet-value-checkbox.js +1 -1
  37. package/dist/atomic/components/stencil-radio-button.js +1 -1
  38. package/dist/atomic/p-03044c63.entry.js +2 -0
  39. package/dist/atomic/{p-fbe77e4c.entry.js.map → p-03044c63.entry.js.map} +1 -1
  40. package/dist/atomic/p-051bf0a9.entry.js +2 -0
  41. package/dist/atomic/{p-f64b72ba.entry.js.map → p-051bf0a9.entry.js.map} +1 -1
  42. package/dist/atomic/{p-bb5786e8.js → p-05768310.js} +2 -2
  43. package/dist/atomic/p-06c81f77.entry.js +2 -0
  44. package/dist/atomic/{p-1a819cf9.entry.js.map → p-06c81f77.entry.js.map} +1 -1
  45. package/dist/atomic/{p-1ae38c73.entry.js → p-094221e8.entry.js} +2 -2
  46. package/dist/atomic/{p-74efd4b9.entry.js.map → p-094221e8.entry.js.map} +1 -1
  47. package/dist/atomic/p-17ba2cfd.entry.js +2 -0
  48. package/dist/atomic/p-17ba2cfd.entry.js.map +1 -0
  49. package/dist/atomic/{p-143b8dde.entry.js → p-19d45b5e.entry.js} +2 -2
  50. package/dist/atomic/p-1ab403a9.entry.js +2 -0
  51. package/dist/atomic/{p-42f148ff.entry.js.map → p-1ab403a9.entry.js.map} +1 -1
  52. package/dist/atomic/{p-a3dabead.js → p-1b679702.js} +2 -2
  53. package/dist/atomic/p-1f4ecbd5.entry.js +2 -0
  54. package/dist/atomic/{p-787959af.entry.js.map → p-1f4ecbd5.entry.js.map} +1 -1
  55. package/dist/atomic/p-2057acaf.entry.js +2 -0
  56. package/dist/atomic/{p-393ba53d.entry.js.map → p-2057acaf.entry.js.map} +1 -1
  57. package/dist/atomic/{p-5fa99042.js → p-225ff26e.js} +2 -2
  58. package/dist/atomic/{p-78fbfed0.entry.js → p-22fd08c5.entry.js} +2 -2
  59. package/dist/atomic/p-27fe0fb7.entry.js +2 -0
  60. package/dist/atomic/{p-53c4db57.entry.js.map → p-27fe0fb7.entry.js.map} +1 -1
  61. package/dist/atomic/p-2d6cf1f4.js +2 -0
  62. package/dist/atomic/{p-8b1a4f9e.entry.js → p-2ed1c3e7.entry.js} +2 -2
  63. package/dist/atomic/{p-56fdd00a.entry.js.map → p-2ed1c3e7.entry.js.map} +1 -1
  64. package/dist/atomic/{p-d917f9a3.js → p-2ef593e5.js} +2 -2
  65. package/dist/atomic/p-30d55166.entry.js +2 -0
  66. package/dist/atomic/{p-319a4417.entry.js.map → p-30d55166.entry.js.map} +1 -1
  67. package/dist/atomic/p-35ecd3a6.entry.js +2 -0
  68. package/dist/atomic/{p-10c682e1.entry.js.map → p-35ecd3a6.entry.js.map} +1 -1
  69. package/dist/atomic/p-386a9a7a.entry.js +2 -0
  70. package/dist/atomic/{p-cad100d5.entry.js.map → p-386a9a7a.entry.js.map} +1 -1
  71. package/dist/atomic/p-3e4df2e3.entry.js +2 -0
  72. package/dist/atomic/{p-e1e7434e.entry.js.map → p-3e4df2e3.entry.js.map} +1 -1
  73. package/dist/atomic/{p-1192c7ba.js → p-41200765.js} +2 -2
  74. package/dist/atomic/p-42a13138.entry.js +2 -0
  75. package/dist/atomic/{p-fbd06c3f.entry.js.map → p-42a13138.entry.js.map} +1 -1
  76. package/dist/atomic/{p-7c6865a2.entry.js → p-4304b82a.entry.js} +2 -2
  77. package/dist/atomic/{p-6a9280c3.entry.js.map → p-4304b82a.entry.js.map} +1 -1
  78. package/dist/atomic/p-43a05112.entry.js +2 -0
  79. package/dist/atomic/{p-34280d19.entry.js.map → p-43a05112.entry.js.map} +1 -1
  80. package/dist/atomic/p-481b3512.entry.js +2 -0
  81. package/dist/atomic/{p-43c979d8.entry.js.map → p-481b3512.entry.js.map} +1 -1
  82. package/dist/atomic/{p-74efd4b9.entry.js → p-4842dc87.entry.js} +2 -2
  83. package/dist/atomic/{p-e04a218a.entry.js.map → p-4842dc87.entry.js.map} +1 -1
  84. package/dist/atomic/{p-2857ab2b.js → p-486ad8f3.js} +2 -2
  85. package/dist/atomic/{p-67425787.js → p-499a97cc.js} +2 -2
  86. package/dist/atomic/{p-306161d1.entry.js → p-4f551719.entry.js} +2 -2
  87. package/dist/atomic/{p-f135f73c.entry.js → p-550a82ad.entry.js} +2 -2
  88. package/dist/atomic/{p-d5e44446.entry.js.map → p-550a82ad.entry.js.map} +1 -1
  89. package/dist/atomic/{p-53bcc515.js → p-5b28af78.js} +2 -2
  90. package/dist/atomic/{p-f0e861c5.entry.js → p-5db95f63.entry.js} +2 -2
  91. package/dist/atomic/p-5de4fd7b.entry.js +2 -0
  92. package/dist/atomic/{p-10d83071.entry.js.map → p-5de4fd7b.entry.js.map} +1 -1
  93. package/dist/atomic/p-5e785f48.entry.js +2 -0
  94. package/dist/atomic/{p-609782ca.entry.js.map → p-5e785f48.entry.js.map} +1 -1
  95. package/dist/atomic/{p-e7249acd.entry.js → p-666b8209.entry.js} +2 -2
  96. package/dist/atomic/{p-653c59f1.entry.js.map → p-666b8209.entry.js.map} +1 -1
  97. package/dist/atomic/p-6805b870.entry.js +2 -0
  98. package/dist/atomic/{p-864838e6.entry.js.map → p-6805b870.entry.js.map} +1 -1
  99. package/dist/atomic/p-6b1f5824.entry.js +2 -0
  100. package/dist/atomic/{p-5ccb7a8e.entry.js.map → p-6b1f5824.entry.js.map} +1 -1
  101. package/dist/atomic/{p-6638ca39.entry.js → p-6bf1c797.entry.js} +2 -2
  102. package/dist/atomic/{p-2be3757d.js → p-6c6208b2.js} +2 -2
  103. package/dist/atomic/{p-648070c3.entry.js → p-6f4b7ab8.entry.js} +2 -2
  104. package/dist/atomic/{p-cf82b6ab.entry.js.map → p-6f4b7ab8.entry.js.map} +1 -1
  105. package/dist/atomic/{p-cf82b6ab.entry.js → p-745b6c07.entry.js} +2 -2
  106. package/dist/atomic/{p-f135f73c.entry.js.map → p-745b6c07.entry.js.map} +1 -1
  107. package/dist/atomic/p-79ba07b2.entry.js +2 -0
  108. package/dist/atomic/{p-7c6865a2.entry.js.map → p-79ba07b2.entry.js.map} +1 -1
  109. package/dist/atomic/{p-a96a297e.js → p-7c023024.js} +2 -2
  110. package/dist/atomic/{p-1cf33009.js → p-7e85b9b3.js} +2 -2
  111. package/dist/atomic/p-7ef23e1c.entry.js +2 -0
  112. package/dist/atomic/{p-edfd8772.entry.js.map → p-7ef23e1c.entry.js.map} +1 -1
  113. package/dist/atomic/p-7f48fd77.js +2 -0
  114. package/dist/atomic/{p-3dabd73e.js → p-7f5ee44b.js} +2 -2
  115. package/dist/atomic/p-80ed1b5f.entry.js +2 -0
  116. package/dist/atomic/{p-a76595eb.entry.js.map → p-80ed1b5f.entry.js.map} +1 -1
  117. package/dist/atomic/{p-b5a37a42.entry.js → p-823ad2e7.entry.js} +2 -2
  118. package/dist/atomic/{p-1ad41df0.entry.js → p-84e43898.entry.js} +2 -2
  119. package/dist/atomic/{p-b65ab89e.entry.js.map → p-84e43898.entry.js.map} +1 -1
  120. package/dist/atomic/p-899825b2.entry.js +2 -0
  121. package/dist/atomic/{p-42dfce15.entry.js.map → p-899825b2.entry.js.map} +1 -1
  122. package/dist/atomic/{p-393ba53d.entry.js → p-89c72b2f.entry.js} +2 -2
  123. package/dist/atomic/{p-648070c3.entry.js.map → p-89c72b2f.entry.js.map} +1 -1
  124. package/dist/atomic/p-8fc2a0f1.entry.js +2 -0
  125. package/dist/atomic/{p-1a8cdf37.entry.js.map → p-8fc2a0f1.entry.js.map} +1 -1
  126. package/dist/atomic/{p-42dfce15.entry.js → p-8fe38f4f.entry.js} +2 -2
  127. package/dist/atomic/{p-cf57da93.entry.js.map → p-8fe38f4f.entry.js.map} +1 -1
  128. package/dist/atomic/{p-f8cd64b9.js → p-92c85f14.js} +2 -2
  129. package/dist/atomic/p-972e52f3.entry.js +2 -0
  130. package/dist/atomic/{p-20202259.entry.js.map → p-972e52f3.entry.js.map} +1 -1
  131. package/dist/atomic/p-98276f38.entry.js +2 -0
  132. package/dist/atomic/{p-e7249acd.entry.js.map → p-98276f38.entry.js.map} +1 -1
  133. package/dist/atomic/{p-7a5d346b.entry.js → p-9a250d55.entry.js} +2 -2
  134. package/dist/atomic/{p-b9ba2c5a.entry.js → p-9a2d68d5.entry.js} +2 -2
  135. package/dist/atomic/p-9b8c25fc.entry.js +2 -0
  136. package/dist/atomic/{p-92e09b96.entry.js.map → p-9b8c25fc.entry.js.map} +1 -1
  137. package/dist/atomic/p-9c98feeb.entry.js +2 -0
  138. package/dist/atomic/{p-154e5769.entry.js.map → p-9c98feeb.entry.js.map} +1 -1
  139. package/dist/atomic/{p-853208fa.entry.js → p-9f2c82d2.entry.js} +2 -2
  140. package/dist/atomic/{p-f4eb207b.entry.js → p-a24bcb7b.entry.js} +2 -2
  141. package/dist/atomic/p-a5522822.entry.js +2 -0
  142. package/dist/atomic/{p-cfaab662.entry.js.map → p-a5522822.entry.js.map} +1 -1
  143. package/dist/atomic/p-a98d7a4c.entry.js +2 -0
  144. package/dist/atomic/{p-8cd68a1d.entry.js.map → p-a98d7a4c.entry.js.map} +1 -1
  145. package/dist/atomic/{p-5e663f28.entry.js → p-aa0aa75c.entry.js} +2 -2
  146. package/dist/atomic/{p-4b964dcb.entry.js.map → p-aa0aa75c.entry.js.map} +1 -1
  147. package/dist/atomic/p-b379dc5d.entry.js +2 -0
  148. package/dist/atomic/{p-08710486.entry.js.map → p-b379dc5d.entry.js.map} +1 -1
  149. package/dist/atomic/p-b389ea6d.js +2 -0
  150. package/dist/atomic/p-b389ea6d.js.map +1 -0
  151. package/dist/atomic/{p-506bb38b.js → p-b5e46e49.js} +2 -2
  152. package/dist/atomic/{p-319a4417.entry.js → p-b74f40d7.entry.js} +2 -2
  153. package/dist/atomic/{p-27930b8b.entry.js.map → p-b74f40d7.entry.js.map} +1 -1
  154. package/dist/atomic/{p-56fdd00a.entry.js → p-bddfd4cb.entry.js} +2 -2
  155. package/dist/atomic/{p-4227dee9.entry.js.map → p-bddfd4cb.entry.js.map} +1 -1
  156. package/dist/atomic/p-bfff9495.entry.js +2 -0
  157. package/dist/atomic/{p-9bd4cc55.entry.js.map → p-bfff9495.entry.js.map} +1 -1
  158. package/dist/atomic/{p-2806f745.entry.js → p-c2bd75b2.entry.js} +2 -2
  159. package/dist/atomic/{p-93116ce1.js → p-c35c892e.js} +2 -2
  160. package/dist/atomic/p-c645513e.entry.js +2 -0
  161. package/dist/atomic/{p-752d0275.entry.js.map → p-c645513e.entry.js.map} +1 -1
  162. package/dist/atomic/p-c73bfcee.entry.js +2 -0
  163. package/dist/atomic/{p-e4cc1659.entry.js.map → p-c73bfcee.entry.js.map} +1 -1
  164. package/dist/atomic/p-c791e555.entry.js +2 -0
  165. package/dist/atomic/{p-8b1a4f9e.entry.js.map → p-c791e555.entry.js.map} +1 -1
  166. package/dist/atomic/{p-79075abe.js → p-c8e10077.js} +2 -2
  167. package/dist/atomic/{p-417b1b64.js → p-c953462e.js} +2 -2
  168. package/dist/atomic/{p-3932950f.entry.js → p-c9aa9243.entry.js} +2 -2
  169. package/dist/atomic/p-c9bb29aa.entry.js +2 -0
  170. package/dist/atomic/{p-dcfd6207.entry.js.map → p-c9bb29aa.entry.js.map} +1 -1
  171. package/dist/atomic/p-ca860fba.entry.js +2 -0
  172. package/dist/atomic/{p-7abdbad3.entry.js.map → p-ca860fba.entry.js.map} +1 -1
  173. package/dist/atomic/p-cd469a4c.entry.js +2 -0
  174. package/dist/atomic/{p-8fcf605b.entry.js.map → p-cd469a4c.entry.js.map} +1 -1
  175. package/dist/atomic/p-cfc04aca.entry.js +2 -0
  176. package/dist/atomic/{p-e8081870.entry.js.map → p-cfc04aca.entry.js.map} +1 -1
  177. package/dist/atomic/p-cfe35775.entry.js +2 -0
  178. package/dist/atomic/{p-5e663f28.entry.js.map → p-cfe35775.entry.js.map} +1 -1
  179. package/dist/atomic/{p-214cbca8.js → p-d2855a6f.js} +2 -2
  180. package/dist/atomic/p-d48eba56.entry.js +2 -0
  181. package/dist/atomic/{p-4ba72326.entry.js.map → p-d48eba56.entry.js.map} +1 -1
  182. package/dist/atomic/p-d71f4437.entry.js +2 -0
  183. package/dist/atomic/{p-a2414c11.entry.js.map → p-d71f4437.entry.js.map} +1 -1
  184. package/dist/atomic/p-d8d12bbf.entry.js +2 -0
  185. package/dist/atomic/{p-eeb8c8f0.entry.js.map → p-d8d12bbf.entry.js.map} +1 -1
  186. package/dist/atomic/p-e5c3ace0.entry.js +2 -0
  187. package/dist/atomic/{p-c6663ac0.entry.js.map → p-e5c3ace0.entry.js.map} +1 -1
  188. package/dist/atomic/{p-26a0e19e.js → p-e5fc5860.js} +2 -2
  189. package/dist/atomic/p-e6fb199d.entry.js +2 -0
  190. package/dist/atomic/{p-1ae38c73.entry.js.map → p-e6fb199d.entry.js.map} +1 -1
  191. package/dist/atomic/{p-b31d8fdd.js → p-e7986445.js} +2 -2
  192. package/dist/atomic/{p-a76595eb.entry.js → p-e83bde33.entry.js} +2 -2
  193. package/dist/atomic/{p-8e7c3414.entry.js.map → p-e83bde33.entry.js.map} +1 -1
  194. package/dist/atomic/{p-0683a114.js → p-e9605127.js} +2 -2
  195. package/dist/atomic/p-f0293b38.entry.js +2 -0
  196. package/dist/atomic/{p-1441bce7.entry.js.map → p-f0293b38.entry.js.map} +1 -1
  197. package/dist/atomic/{p-958f7721.js → p-f4464f33.js} +2 -2
  198. package/dist/atomic/p-f6fbebb4.entry.js +2 -0
  199. package/dist/atomic/{p-cacda7f8.entry.js.map → p-f6fbebb4.entry.js.map} +1 -1
  200. package/dist/atomic/{p-dcfd6207.entry.js → p-f8355b26.entry.js} +2 -2
  201. package/dist/atomic/{p-274f8bab.entry.js.map → p-f8355b26.entry.js.map} +1 -1
  202. package/dist/atomic/p-fd0faa1b.entry.js +2 -0
  203. package/dist/atomic/{p-aadfd670.entry.js.map → p-fd0faa1b.entry.js.map} +1 -1
  204. package/dist/atomic/{p-bf5d5c79.entry.js → p-fe784c2c.entry.js} +2 -2
  205. package/dist/cjs/_loader.cjs.js +1 -1
  206. package/dist/cjs/{analytics-config-df959e20.js → analytics-config-91c71e88.js} +2 -2
  207. package/dist/cjs/{analytics-config-df959e20.js.map → analytics-config-91c71e88.js.map} +1 -1
  208. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +3 -4
  209. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js.map +1 -1
  210. package/dist/cjs/atomic-breadbox.cjs.entry.js +1 -2
  211. package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
  212. package/dist/cjs/atomic-category-facet.cjs.entry.js +7 -8
  213. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  214. package/dist/cjs/atomic-color-facet.cjs.entry.js +8 -9
  215. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  216. package/dist/cjs/atomic-commerce-category-facet_4.cjs.entry.js +11 -12
  217. package/dist/cjs/atomic-commerce-category-facet_4.cjs.entry.js.map +1 -1
  218. package/dist/cjs/atomic-commerce-facet-number-input.cjs.entry.js +1 -2
  219. package/dist/cjs/atomic-commerce-facet-number-input.cjs.entry.js.map +1 -1
  220. package/dist/cjs/atomic-facet-date-input.cjs.entry.js +1 -2
  221. package/dist/cjs/atomic-facet-date-input.cjs.entry.js.map +1 -1
  222. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +1 -2
  223. package/dist/cjs/atomic-facet-number-input.cjs.entry.js.map +1 -1
  224. package/dist/cjs/atomic-facet.cjs.entry.js +10 -11
  225. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  226. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  227. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  228. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  229. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +3 -4
  230. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +1 -1
  231. package/dist/cjs/atomic-generated-answer.cjs.entry.js +2 -3
  232. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  233. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +2 -3
  234. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js.map +1 -1
  235. package/dist/cjs/atomic-insight-facet.cjs.entry.js +7 -8
  236. package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
  237. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +2 -3
  238. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js.map +1 -1
  239. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +2 -3
  240. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  241. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +2 -3
  242. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +1 -1
  243. package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
  244. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +5 -6
  245. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
  246. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -4
  247. package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
  248. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -3
  249. package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
  250. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -3
  251. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js.map +1 -1
  252. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +2 -3
  253. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js.map +1 -1
  254. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +2 -3
  255. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  256. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +2 -3
  257. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  258. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +2 -3
  259. package/dist/cjs/atomic-insight-result-children.cjs.entry.js.map +1 -1
  260. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +2 -3
  261. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
  262. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -3
  263. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  264. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -3
  265. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
  266. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +2 -3
  267. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  268. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +3 -4
  269. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js.map +1 -1
  270. package/dist/cjs/atomic-insight-tab.cjs.entry.js +1 -2
  271. package/dist/cjs/atomic-insight-tab.cjs.entry.js.map +1 -1
  272. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +4 -5
  273. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
  274. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +1 -2
  275. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js.map +1 -1
  276. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -2
  277. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
  278. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -3
  279. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
  280. package/dist/cjs/atomic-ipx-button.cjs.entry.js +1 -2
  281. package/dist/cjs/atomic-ipx-button.cjs.entry.js.map +1 -1
  282. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +2 -3
  283. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
  284. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +2 -3
  285. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js.map +1 -1
  286. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +2 -3
  287. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +1 -1
  288. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -2
  289. package/dist/cjs/atomic-ipx-tab.cjs.entry.js.map +1 -1
  290. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -2
  291. package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
  292. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -2
  293. package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
  294. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +6 -7
  295. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  296. package/dist/cjs/atomic-pager.cjs.entry.js +14 -6
  297. package/dist/cjs/atomic-pager.cjs.entry.js.map +1 -1
  298. package/dist/cjs/atomic-popover.cjs.entry.js +1 -2
  299. package/dist/cjs/atomic-popover.cjs.entry.js.map +1 -1
  300. package/dist/cjs/atomic-query-error.cjs.entry.js +2 -3
  301. package/dist/cjs/atomic-query-error.cjs.entry.js.map +1 -1
  302. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +3 -4
  303. package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
  304. package/dist/cjs/atomic-quickview.cjs.entry.js +2 -3
  305. package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
  306. package/dist/cjs/atomic-rating-facet.cjs.entry.js +4 -5
  307. package/dist/cjs/atomic-rating-facet.cjs.entry.js.map +1 -1
  308. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +3 -4
  309. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js.map +1 -1
  310. package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -3
  311. package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
  312. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  313. package/dist/cjs/atomic-recs-list.cjs.entry.js +2 -3
  314. package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
  315. package/dist/cjs/atomic-refine-modal.cjs.entry.js +2 -3
  316. package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
  317. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -2
  318. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  319. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +1 -2
  320. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js.map +1 -1
  321. package/dist/cjs/atomic-result-children.cjs.entry.js +3 -4
  322. package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
  323. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  324. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  325. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  326. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
  327. package/dist/cjs/atomic-search-box.cjs.entry.js +6 -7
  328. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  329. package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
  330. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +1 -2
  331. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js.map +1 -1
  332. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +1 -2
  333. package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
  334. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +4 -5
  335. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
  336. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +2 -3
  337. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  338. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +3 -4
  339. package/dist/cjs/atomic-smart-snippet.cjs.entry.js.map +1 -1
  340. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  341. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  342. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -2
  343. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js.map +1 -1
  344. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -2
  345. package/dist/cjs/atomic-tab-button.cjs.entry.js.map +1 -1
  346. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  347. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +4 -5
  348. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js.map +1 -1
  349. package/dist/cjs/atomic.cjs.js +1 -1
  350. package/dist/cjs/{generated-answer-common-1f7e3c88.js → generated-answer-common-e5cd257b.js} +2 -2
  351. package/dist/cjs/{generated-answer-common-1f7e3c88.js.map → generated-answer-common-e5cd257b.js.map} +1 -1
  352. package/dist/cjs/{iconButton-bf5b24cf.js → iconButton-3aef664a.js} +2 -2
  353. package/dist/cjs/{iconButton-bf5b24cf.js.map → iconButton-3aef664a.js.map} +1 -1
  354. package/dist/cjs/index-757bc886.js +0 -4
  355. package/dist/cjs/{show-hide-button-2fb7407f.js → show-hide-button-f9096749.js} +2 -2
  356. package/dist/cjs/{show-hide-button-2fb7407f.js.map → show-hide-button-f9096749.js.map} +1 -1
  357. package/dist/cjs/{smart-snippet-common-abb0cdce.js → smart-snippet-common-118a7188.js} +3 -3
  358. package/dist/cjs/{smart-snippet-common-abb0cdce.js.map → smart-snippet-common-118a7188.js.map} +1 -1
  359. package/dist/cjs/{smart-snippet-feedback-modal-common-c29844fa.js → smart-snippet-feedback-modal-common-9b3e5c88.js} +2 -2
  360. package/dist/cjs/{smart-snippet-feedback-modal-common-c29844fa.js.map → smart-snippet-feedback-modal-common-9b3e5c88.js.map} +1 -1
  361. package/dist/cjs/{smart-snippet-suggestions-common-f0d8677b.js → smart-snippet-suggestions-common-1a6af6e7.js} +2 -2
  362. package/dist/cjs/{smart-snippet-suggestions-common-f0d8677b.js.map → smart-snippet-suggestions-common-1a6af6e7.js.map} +1 -1
  363. package/dist/cjs/{ripple-4070d750.js → stencil-button-f6c2410c.js} +43 -1
  364. package/dist/cjs/stencil-button-f6c2410c.js.map +1 -0
  365. package/dist/cjs/{stencil-carousel-cb870e4d.js → stencil-carousel-51a30e42.js} +2 -2
  366. package/dist/cjs/{stencil-carousel-cb870e4d.js.map → stencil-carousel-51a30e42.js.map} +1 -1
  367. package/dist/cjs/{stencil-facet-header-60732c1b.js → stencil-facet-header-ab3f7a66.js} +2 -2
  368. package/dist/cjs/{stencil-facet-header-60732c1b.js.map → stencil-facet-header-ab3f7a66.js.map} +1 -1
  369. package/dist/cjs/{stencil-facet-search-matches-f2fd2b83.js → stencil-facet-search-matches-43fad15c.js} +2 -2
  370. package/dist/cjs/{stencil-facet-search-matches-f2fd2b83.js.map → stencil-facet-search-matches-43fad15c.js.map} +1 -1
  371. package/dist/cjs/{stencil-facet-search-value-a464968e.js → stencil-facet-search-value-495a0a70.js} +2 -2
  372. package/dist/cjs/{stencil-facet-search-value-a464968e.js.map → stencil-facet-search-value-495a0a70.js.map} +1 -1
  373. package/dist/cjs/{stencil-facet-show-more-less-541e1544.js → stencil-facet-show-more-less-0894c761.js} +2 -2
  374. package/dist/cjs/{stencil-facet-show-more-less-541e1544.js.map → stencil-facet-show-more-less-0894c761.js.map} +1 -1
  375. package/dist/cjs/{stencil-facet-value-box-2949669d.js → stencil-facet-value-box-f3f982f2.js} +2 -2
  376. package/dist/cjs/{stencil-facet-value-box-2949669d.js.map → stencil-facet-value-box-f3f982f2.js.map} +1 -1
  377. package/dist/cjs/{stencil-facet-value-a4da653b.js → stencil-facet-value-c72a58e6.js} +4 -4
  378. package/dist/cjs/{stencil-facet-value-a4da653b.js.map → stencil-facet-value-c72a58e6.js.map} +1 -1
  379. package/dist/cjs/{stencil-facet-value-checkbox-49e6843d.js → stencil-facet-value-checkbox-169fade3.js} +4 -4
  380. package/dist/cjs/{stencil-facet-value-checkbox-49e6843d.js.map → stencil-facet-value-checkbox-169fade3.js.map} +1 -1
  381. package/dist/cjs/{stencil-facet-value-link-089a2160.js → stencil-facet-value-link-bd461250.js} +2 -2
  382. package/dist/cjs/{stencil-facet-value-link-089a2160.js.map → stencil-facet-value-link-bd461250.js.map} +1 -1
  383. package/dist/cjs/{stencil-link-37587e3a.js → stencil-link-f0f8fc23.js} +2 -2
  384. package/dist/cjs/{stencil-link-37587e3a.js.map → stencil-link-f0f8fc23.js.map} +1 -1
  385. package/dist/cjs/{stencil-modal-33439a14.js → stencil-modal-8229c340.js} +2 -2
  386. package/dist/cjs/{stencil-modal-33439a14.js.map → stencil-modal-8229c340.js.map} +1 -1
  387. package/dist/cjs/{stencil-pager-navigation-54ce337f.js → stencil-pager-navigation-f5c13e0c.js} +3 -3
  388. package/dist/cjs/{stencil-pager-navigation-54ce337f.js.map → stencil-pager-navigation-f5c13e0c.js.map} +1 -1
  389. package/dist/cjs/{stencil-radio-button-b7440398.js → stencil-radio-button-f86cc13b.js} +3 -3
  390. package/dist/cjs/{stencil-radio-button-b7440398.js.map → stencil-radio-button-f86cc13b.js.map} +1 -1
  391. package/dist/cjs/{stencil-suggestion-manager-5fa3ac70.js → stencil-suggestion-manager-9079f36d.js} +2 -2
  392. package/dist/cjs/{stencil-suggestion-manager-5fa3ac70.js.map → stencil-suggestion-manager-9079f36d.js.map} +1 -1
  393. package/dist/cjs/{timeframe-facet-common-bd2f9c45.js → timeframe-facet-common-5afa7031.js} +3 -3
  394. package/dist/cjs/{timeframe-facet-common-bd2f9c45.js.map → timeframe-facet-common-5afa7031.js.map} +1 -1
  395. package/dist/cjs/{value-as-tree-container-d9952f1f.js → value-as-tree-container-5ba71f5d.js} +3 -3
  396. package/dist/cjs/{value-as-tree-container-d9952f1f.js.map → value-as-tree-container-5ba71f5d.js.map} +1 -1
  397. package/dist/cjs/{values-container-dfa0c20b.js → values-container-dffbdcc7.js} +3 -3
  398. package/dist/cjs/{values-container-dfa0c20b.js.map → values-container-dffbdcc7.js.map} +1 -1
  399. package/dist/cjs/version.cjs.js +2 -2
  400. package/dist/esm/_loader.js +1 -1
  401. package/dist/esm/{analytics-config-da9dfa1f.js → analytics-config-7c7ea33c.js} +2 -2
  402. package/dist/esm/{analytics-config-da9dfa1f.js.map → analytics-config-7c7ea33c.js.map} +1 -1
  403. package/dist/esm/atomic-automatic-facet_2.entry.js +3 -4
  404. package/dist/esm/atomic-automatic-facet_2.entry.js.map +1 -1
  405. package/dist/esm/atomic-breadbox.entry.js +1 -2
  406. package/dist/esm/atomic-breadbox.entry.js.map +1 -1
  407. package/dist/esm/atomic-category-facet.entry.js +7 -8
  408. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  409. package/dist/esm/atomic-color-facet.entry.js +6 -7
  410. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  411. package/dist/esm/atomic-commerce-category-facet_4.entry.js +11 -12
  412. package/dist/esm/atomic-commerce-category-facet_4.entry.js.map +1 -1
  413. package/dist/esm/atomic-commerce-facet-number-input.entry.js +1 -2
  414. package/dist/esm/atomic-commerce-facet-number-input.entry.js.map +1 -1
  415. package/dist/esm/atomic-facet-date-input.entry.js +1 -2
  416. package/dist/esm/atomic-facet-date-input.entry.js.map +1 -1
  417. package/dist/esm/atomic-facet-number-input.entry.js +1 -2
  418. package/dist/esm/atomic-facet-number-input.entry.js.map +1 -1
  419. package/dist/esm/atomic-facet.entry.js +10 -11
  420. package/dist/esm/atomic-facet.entry.js.map +1 -1
  421. package/dist/esm/atomic-format-currency.entry.js +1 -1
  422. package/dist/esm/atomic-format-number.entry.js +1 -1
  423. package/dist/esm/atomic-format-unit.entry.js +1 -1
  424. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +3 -4
  425. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +1 -1
  426. package/dist/esm/atomic-generated-answer.entry.js +2 -3
  427. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  428. package/dist/esm/atomic-insight-edit-toggle.entry.js +2 -3
  429. package/dist/esm/atomic-insight-edit-toggle.entry.js.map +1 -1
  430. package/dist/esm/atomic-insight-facet.entry.js +7 -8
  431. package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
  432. package/dist/esm/atomic-insight-full-search-button.entry.js +2 -3
  433. package/dist/esm/atomic-insight-full-search-button.entry.js.map +1 -1
  434. package/dist/esm/atomic-insight-generated-answer.entry.js +2 -3
  435. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  436. package/dist/esm/atomic-insight-history-toggle.entry.js +2 -3
  437. package/dist/esm/atomic-insight-history-toggle.entry.js.map +1 -1
  438. package/dist/esm/atomic-insight-interface.entry.js +1 -1
  439. package/dist/esm/atomic-insight-numeric-facet.entry.js +5 -6
  440. package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
  441. package/dist/esm/atomic-insight-pager.entry.js +3 -4
  442. package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
  443. package/dist/esm/atomic-insight-query-error.entry.js +2 -3
  444. package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
  445. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -3
  446. package/dist/esm/atomic-insight-refine-modal.entry.js.map +1 -1
  447. package/dist/esm/atomic-insight-refine-toggle.entry.js +2 -3
  448. package/dist/esm/atomic-insight-refine-toggle.entry.js.map +1 -1
  449. package/dist/esm/atomic-insight-result-action.entry.js +2 -3
  450. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  451. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -3
  452. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  453. package/dist/esm/atomic-insight-result-children.entry.js +2 -3
  454. package/dist/esm/atomic-insight-result-children.entry.js.map +1 -1
  455. package/dist/esm/atomic-insight-result-quickview-action.entry.js +2 -3
  456. package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
  457. package/dist/esm/atomic-insight-search-box.entry.js +2 -3
  458. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  459. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -3
  460. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js.map +1 -1
  461. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +2 -3
  462. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js.map +1 -1
  463. package/dist/esm/atomic-insight-smart-snippet.entry.js +3 -4
  464. package/dist/esm/atomic-insight-smart-snippet.entry.js.map +1 -1
  465. package/dist/esm/atomic-insight-tab.entry.js +1 -2
  466. package/dist/esm/atomic-insight-tab.entry.js.map +1 -1
  467. package/dist/esm/atomic-insight-timeframe-facet.entry.js +4 -5
  468. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
  469. package/dist/esm/atomic-insight-user-actions-modal.entry.js +1 -2
  470. package/dist/esm/atomic-insight-user-actions-modal.entry.js.map +1 -1
  471. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -2
  472. package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
  473. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -3
  474. package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
  475. package/dist/esm/atomic-ipx-button.entry.js +1 -2
  476. package/dist/esm/atomic-ipx-button.entry.js.map +1 -1
  477. package/dist/esm/atomic-ipx-recs-list.entry.js +2 -3
  478. package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
  479. package/dist/esm/atomic-ipx-refine-modal.entry.js +2 -3
  480. package/dist/esm/atomic-ipx-refine-modal.entry.js.map +1 -1
  481. package/dist/esm/atomic-ipx-refine-toggle.entry.js +2 -3
  482. package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +1 -1
  483. package/dist/esm/atomic-ipx-tab.entry.js +1 -2
  484. package/dist/esm/atomic-ipx-tab.entry.js.map +1 -1
  485. package/dist/esm/atomic-load-more-results.entry.js +1 -2
  486. package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
  487. package/dist/esm/atomic-no-results.entry.js +1 -2
  488. package/dist/esm/atomic-no-results.entry.js.map +1 -1
  489. package/dist/esm/atomic-numeric-facet.entry.js +6 -7
  490. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  491. package/dist/esm/atomic-pager.entry.js +15 -7
  492. package/dist/esm/atomic-pager.entry.js.map +1 -1
  493. package/dist/esm/atomic-popover.entry.js +1 -2
  494. package/dist/esm/atomic-popover.entry.js.map +1 -1
  495. package/dist/esm/atomic-query-error.entry.js +2 -3
  496. package/dist/esm/atomic-query-error.entry.js.map +1 -1
  497. package/dist/esm/atomic-quickview-modal.entry.js +3 -4
  498. package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
  499. package/dist/esm/atomic-quickview.entry.js +2 -3
  500. package/dist/esm/atomic-quickview.entry.js.map +1 -1
  501. package/dist/esm/atomic-rating-facet.entry.js +4 -5
  502. package/dist/esm/atomic-rating-facet.entry.js.map +1 -1
  503. package/dist/esm/atomic-rating-range-facet.entry.js +3 -4
  504. package/dist/esm/atomic-rating-range-facet.entry.js.map +1 -1
  505. package/dist/esm/atomic-recs-error.entry.js +2 -3
  506. package/dist/esm/atomic-recs-error.entry.js.map +1 -1
  507. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  508. package/dist/esm/atomic-recs-list.entry.js +2 -3
  509. package/dist/esm/atomic-recs-list.entry.js.map +1 -1
  510. package/dist/esm/atomic-refine-modal.entry.js +2 -3
  511. package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
  512. package/dist/esm/atomic-refine-toggle.entry.js +1 -2
  513. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  514. package/dist/esm/atomic-relevance-inspector.entry.js +1 -2
  515. package/dist/esm/atomic-relevance-inspector.entry.js.map +1 -1
  516. package/dist/esm/atomic-result-children.entry.js +3 -4
  517. package/dist/esm/atomic-result-children.entry.js.map +1 -1
  518. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  519. package/dist/esm/atomic-result-link.entry.js +1 -1
  520. package/dist/esm/atomic-result-list.entry.js +1 -1
  521. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +2 -2
  522. package/dist/esm/atomic-search-box.entry.js +6 -7
  523. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  524. package/dist/esm/atomic-search-interface.entry.js +1 -1
  525. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +1 -2
  526. package/dist/esm/atomic-segmented-facet-scrollable.entry.js.map +1 -1
  527. package/dist/esm/atomic-segmented-facet.entry.js +1 -2
  528. package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
  529. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +4 -5
  530. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js.map +1 -1
  531. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +2 -3
  532. package/dist/esm/atomic-smart-snippet-suggestions.entry.js.map +1 -1
  533. package/dist/esm/atomic-smart-snippet.entry.js +3 -4
  534. package/dist/esm/atomic-smart-snippet.entry.js.map +1 -1
  535. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  536. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  537. package/dist/esm/atomic-tab-bar_2.entry.js +1 -2
  538. package/dist/esm/atomic-tab-bar_2.entry.js.map +1 -1
  539. package/dist/esm/atomic-tab-button.entry.js +1 -2
  540. package/dist/esm/atomic-tab-button.entry.js.map +1 -1
  541. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  542. package/dist/esm/atomic-timeframe-facet.entry.js +4 -5
  543. package/dist/esm/atomic-timeframe-facet.entry.js.map +1 -1
  544. package/dist/esm/atomic.js +1 -1
  545. package/dist/esm/{generated-answer-common-ee9bfc67.js → generated-answer-common-835787fa.js} +2 -2
  546. package/dist/esm/{generated-answer-common-ee9bfc67.js.map → generated-answer-common-835787fa.js.map} +1 -1
  547. package/dist/esm/{iconButton-2e6938c5.js → iconButton-779dd472.js} +2 -2
  548. package/dist/esm/{iconButton-2e6938c5.js.map → iconButton-779dd472.js.map} +1 -1
  549. package/dist/esm/index-3f35faca.js +0 -4
  550. package/dist/esm/{show-hide-button-caaec7b0.js → show-hide-button-7cc80d21.js} +2 -2
  551. package/dist/esm/{show-hide-button-caaec7b0.js.map → show-hide-button-7cc80d21.js.map} +1 -1
  552. package/dist/esm/{smart-snippet-common-fb774198.js → smart-snippet-common-86bb93a7.js} +3 -3
  553. package/dist/esm/{smart-snippet-common-fb774198.js.map → smart-snippet-common-86bb93a7.js.map} +1 -1
  554. package/dist/esm/{smart-snippet-feedback-modal-common-d72f9043.js → smart-snippet-feedback-modal-common-8ec991db.js} +2 -2
  555. package/dist/esm/{smart-snippet-feedback-modal-common-d72f9043.js.map → smart-snippet-feedback-modal-common-8ec991db.js.map} +1 -1
  556. package/dist/esm/{smart-snippet-suggestions-common-25d34a7b.js → smart-snippet-suggestions-common-6c465bbf.js} +2 -2
  557. package/dist/esm/{smart-snippet-suggestions-common-25d34a7b.js.map → smart-snippet-suggestions-common-6c465bbf.js.map} +1 -1
  558. package/dist/esm/{ripple-b1f0b09d.js → stencil-button-75e8b31b.js} +43 -2
  559. package/dist/esm/stencil-button-75e8b31b.js.map +1 -0
  560. package/dist/esm/{stencil-carousel-a0eb523c.js → stencil-carousel-d335bf03.js} +2 -2
  561. package/dist/esm/{stencil-carousel-a0eb523c.js.map → stencil-carousel-d335bf03.js.map} +1 -1
  562. package/dist/esm/{stencil-facet-header-6a0bb1d4.js → stencil-facet-header-292666ee.js} +2 -2
  563. package/dist/esm/{stencil-facet-header-6a0bb1d4.js.map → stencil-facet-header-292666ee.js.map} +1 -1
  564. package/dist/esm/{stencil-facet-search-matches-7e6acab2.js → stencil-facet-search-matches-84f41731.js} +2 -2
  565. package/dist/esm/{stencil-facet-search-matches-7e6acab2.js.map → stencil-facet-search-matches-84f41731.js.map} +1 -1
  566. package/dist/esm/{stencil-facet-search-value-832313d5.js → stencil-facet-search-value-318f5f9a.js} +2 -2
  567. package/dist/esm/{stencil-facet-search-value-832313d5.js.map → stencil-facet-search-value-318f5f9a.js.map} +1 -1
  568. package/dist/esm/{stencil-facet-show-more-less-1198472f.js → stencil-facet-show-more-less-ea417674.js} +2 -2
  569. package/dist/esm/{stencil-facet-show-more-less-1198472f.js.map → stencil-facet-show-more-less-ea417674.js.map} +1 -1
  570. package/dist/esm/{stencil-facet-value-fda6d52e.js → stencil-facet-value-45187df6.js} +4 -4
  571. package/dist/esm/{stencil-facet-value-fda6d52e.js.map → stencil-facet-value-45187df6.js.map} +1 -1
  572. package/dist/esm/{stencil-facet-value-box-30a3003f.js → stencil-facet-value-box-ecd5015e.js} +2 -2
  573. package/dist/esm/{stencil-facet-value-box-30a3003f.js.map → stencil-facet-value-box-ecd5015e.js.map} +1 -1
  574. package/dist/esm/{stencil-facet-value-checkbox-82d52a44.js → stencil-facet-value-checkbox-de8aa366.js} +2 -2
  575. package/dist/esm/{stencil-facet-value-checkbox-82d52a44.js.map → stencil-facet-value-checkbox-de8aa366.js.map} +1 -1
  576. package/dist/esm/{stencil-facet-value-link-b3b194b7.js → stencil-facet-value-link-4c270d4d.js} +2 -2
  577. package/dist/esm/{stencil-facet-value-link-b3b194b7.js.map → stencil-facet-value-link-4c270d4d.js.map} +1 -1
  578. package/dist/esm/{stencil-link-d52947a6.js → stencil-link-4136c3ad.js} +2 -2
  579. package/dist/esm/{stencil-link-d52947a6.js.map → stencil-link-4136c3ad.js.map} +1 -1
  580. package/dist/esm/{stencil-modal-01e42232.js → stencil-modal-151563e7.js} +2 -2
  581. package/dist/esm/{stencil-modal-01e42232.js.map → stencil-modal-151563e7.js.map} +1 -1
  582. package/dist/esm/{stencil-pager-navigation-e906e3ae.js → stencil-pager-navigation-c6870b0f.js} +3 -3
  583. package/dist/esm/{stencil-pager-navigation-e906e3ae.js.map → stencil-pager-navigation-c6870b0f.js.map} +1 -1
  584. package/dist/esm/{stencil-radio-button-022ec547.js → stencil-radio-button-ce6ec704.js} +2 -2
  585. package/dist/esm/{stencil-radio-button-022ec547.js.map → stencil-radio-button-ce6ec704.js.map} +1 -1
  586. package/dist/esm/{stencil-suggestion-manager-f52c6e39.js → stencil-suggestion-manager-8240b520.js} +2 -2
  587. package/dist/esm/{stencil-suggestion-manager-f52c6e39.js.map → stencil-suggestion-manager-8240b520.js.map} +1 -1
  588. package/dist/esm/{timeframe-facet-common-1aad36a0.js → timeframe-facet-common-578fd7e4.js} +3 -3
  589. package/dist/esm/{timeframe-facet-common-1aad36a0.js.map → timeframe-facet-common-578fd7e4.js.map} +1 -1
  590. package/dist/esm/{value-as-tree-container-817faf3b.js → value-as-tree-container-c8f3e846.js} +3 -3
  591. package/dist/esm/{value-as-tree-container-817faf3b.js.map → value-as-tree-container-c8f3e846.js.map} +1 -1
  592. package/dist/esm/{values-container-0be51709.js → values-container-07d68875.js} +3 -3
  593. package/dist/esm/{values-container-0be51709.js.map → values-container-07d68875.js.map} +1 -1
  594. package/dist/esm/version.js +2 -2
  595. package/dist/types/components/search/atomic-results-per-page/atomic-results-per-page.d.ts +12 -9
  596. package/dist/types/components/search/index.d.ts +1 -1
  597. package/dist/types/components.d.ts +0 -59
  598. package/docs/atomic-docs.json +1 -120
  599. package/package.json +5 -5
  600. package/dist/atomic/components/atomic-results-per-page.d.ts +0 -11
  601. package/dist/atomic/components/atomic-results-per-page.js +0 -171
  602. package/dist/atomic/components/atomic-results-per-page.js.map +0 -1
  603. package/dist/atomic/components/ripple.js +0 -45
  604. package/dist/atomic/components/ripple.js.map +0 -1
  605. package/dist/atomic/components/stencil-pager-guard.js +0 -16
  606. package/dist/atomic/components/stencil-pager-guard.js.map +0 -1
  607. package/dist/atomic/p-08710486.entry.js +0 -2
  608. package/dist/atomic/p-10c682e1.entry.js +0 -2
  609. package/dist/atomic/p-10d83071.entry.js +0 -2
  610. package/dist/atomic/p-1441bce7.entry.js +0 -2
  611. package/dist/atomic/p-154e5769.entry.js +0 -2
  612. package/dist/atomic/p-1a819cf9.entry.js +0 -2
  613. package/dist/atomic/p-1a8cdf37.entry.js +0 -2
  614. package/dist/atomic/p-1ad41df0.entry.js.map +0 -1
  615. package/dist/atomic/p-20202259.entry.js +0 -2
  616. package/dist/atomic/p-274f8bab.entry.js +0 -2
  617. package/dist/atomic/p-27930b8b.entry.js +0 -2
  618. package/dist/atomic/p-28a6dd9b.js +0 -2
  619. package/dist/atomic/p-28a6dd9b.js.map +0 -1
  620. package/dist/atomic/p-34280d19.entry.js +0 -2
  621. package/dist/atomic/p-36acf9d8.js +0 -2
  622. package/dist/atomic/p-36acf9d8.js.map +0 -1
  623. package/dist/atomic/p-4227dee9.entry.js +0 -2
  624. package/dist/atomic/p-42f148ff.entry.js +0 -2
  625. package/dist/atomic/p-43c979d8.entry.js +0 -2
  626. package/dist/atomic/p-4b964dcb.entry.js +0 -2
  627. package/dist/atomic/p-4ba72326.entry.js +0 -2
  628. package/dist/atomic/p-4bf140ca.js +0 -2
  629. package/dist/atomic/p-53c4db57.entry.js +0 -2
  630. package/dist/atomic/p-5ccb7a8e.entry.js +0 -2
  631. package/dist/atomic/p-609782ca.entry.js +0 -2
  632. package/dist/atomic/p-653c59f1.entry.js +0 -2
  633. package/dist/atomic/p-6a9280c3.entry.js +0 -2
  634. package/dist/atomic/p-752d0275.entry.js +0 -2
  635. package/dist/atomic/p-787959af.entry.js +0 -2
  636. package/dist/atomic/p-7abdbad3.entry.js +0 -2
  637. package/dist/atomic/p-864838e6.entry.js +0 -2
  638. package/dist/atomic/p-8cd68a1d.entry.js +0 -2
  639. package/dist/atomic/p-8e7c3414.entry.js +0 -2
  640. package/dist/atomic/p-8fcf605b.entry.js +0 -2
  641. package/dist/atomic/p-92e09b96.entry.js +0 -2
  642. package/dist/atomic/p-9bd4cc55.entry.js +0 -2
  643. package/dist/atomic/p-a2414c11.entry.js +0 -2
  644. package/dist/atomic/p-aa10238a.js +0 -2
  645. package/dist/atomic/p-aadfd670.entry.js +0 -2
  646. package/dist/atomic/p-b65ab89e.entry.js +0 -2
  647. package/dist/atomic/p-c6663ac0.entry.js +0 -2
  648. package/dist/atomic/p-cacda7f8.entry.js +0 -2
  649. package/dist/atomic/p-cad100d5.entry.js +0 -2
  650. package/dist/atomic/p-cf57da93.entry.js +0 -2
  651. package/dist/atomic/p-cfaab662.entry.js +0 -2
  652. package/dist/atomic/p-d5e44446.entry.js +0 -2
  653. package/dist/atomic/p-e04a218a.entry.js +0 -2
  654. package/dist/atomic/p-e1e7434e.entry.js +0 -2
  655. package/dist/atomic/p-e4cc1659.entry.js +0 -2
  656. package/dist/atomic/p-e8081870.entry.js +0 -2
  657. package/dist/atomic/p-edfd8772.entry.js +0 -2
  658. package/dist/atomic/p-eeb8c8f0.entry.js +0 -2
  659. package/dist/atomic/p-ef905286.js +0 -2
  660. package/dist/atomic/p-ef905286.js.map +0 -1
  661. package/dist/atomic/p-f64b72ba.entry.js +0 -2
  662. package/dist/atomic/p-fbd06c3f.entry.js +0 -2
  663. package/dist/atomic/p-fbe77e4c.entry.js +0 -2
  664. package/dist/atomic/p-ff6504c8.entry.js +0 -2
  665. package/dist/atomic/p-ff6504c8.entry.js.map +0 -1
  666. package/dist/cjs/atomic-results-per-page.cjs.entry.js +0 -158
  667. package/dist/cjs/atomic-results-per-page.cjs.entry.js.map +0 -1
  668. package/dist/cjs/ripple-4070d750.js.map +0 -1
  669. package/dist/cjs/stencil-button-aa4c0879.js +0 -48
  670. package/dist/cjs/stencil-button-aa4c0879.js.map +0 -1
  671. package/dist/cjs/stencil-pager-guard-16f46f73.js +0 -18
  672. package/dist/cjs/stencil-pager-guard-16f46f73.js.map +0 -1
  673. package/dist/esm/atomic-results-per-page.entry.js +0 -154
  674. package/dist/esm/atomic-results-per-page.entry.js.map +0 -1
  675. package/dist/esm/ripple-b1f0b09d.js.map +0 -1
  676. package/dist/esm/stencil-button-2a8cc429.js +0 -46
  677. package/dist/esm/stencil-button-2a8cc429.js.map +0 -1
  678. package/dist/esm/stencil-pager-guard-16dd9188.js +0 -16
  679. package/dist/esm/stencil-pager-guard-16dd9188.js.map +0 -1
  680. /package/dist/atomic/{p-bb5786e8.js.map → p-05768310.js.map} +0 -0
  681. /package/dist/atomic/{p-143b8dde.entry.js.map → p-19d45b5e.entry.js.map} +0 -0
  682. /package/dist/atomic/{p-a3dabead.js.map → p-1b679702.js.map} +0 -0
  683. /package/dist/atomic/{p-5fa99042.js.map → p-225ff26e.js.map} +0 -0
  684. /package/dist/atomic/{p-78fbfed0.entry.js.map → p-22fd08c5.entry.js.map} +0 -0
  685. /package/dist/atomic/{p-aa10238a.js.map → p-2d6cf1f4.js.map} +0 -0
  686. /package/dist/atomic/{p-d917f9a3.js.map → p-2ef593e5.js.map} +0 -0
  687. /package/dist/atomic/{p-1192c7ba.js.map → p-41200765.js.map} +0 -0
  688. /package/dist/atomic/{p-2857ab2b.js.map → p-486ad8f3.js.map} +0 -0
  689. /package/dist/atomic/{p-67425787.js.map → p-499a97cc.js.map} +0 -0
  690. /package/dist/atomic/{p-306161d1.entry.js.map → p-4f551719.entry.js.map} +0 -0
  691. /package/dist/atomic/{p-53bcc515.js.map → p-5b28af78.js.map} +0 -0
  692. /package/dist/atomic/{p-f0e861c5.entry.js.map → p-5db95f63.entry.js.map} +0 -0
  693. /package/dist/atomic/{p-6638ca39.entry.js.map → p-6bf1c797.entry.js.map} +0 -0
  694. /package/dist/atomic/{p-2be3757d.js.map → p-6c6208b2.js.map} +0 -0
  695. /package/dist/atomic/{p-a96a297e.js.map → p-7c023024.js.map} +0 -0
  696. /package/dist/atomic/{p-1cf33009.js.map → p-7e85b9b3.js.map} +0 -0
  697. /package/dist/atomic/{p-4bf140ca.js.map → p-7f48fd77.js.map} +0 -0
  698. /package/dist/atomic/{p-3dabd73e.js.map → p-7f5ee44b.js.map} +0 -0
  699. /package/dist/atomic/{p-b5a37a42.entry.js.map → p-823ad2e7.entry.js.map} +0 -0
  700. /package/dist/atomic/{p-f8cd64b9.js.map → p-92c85f14.js.map} +0 -0
  701. /package/dist/atomic/{p-7a5d346b.entry.js.map → p-9a250d55.entry.js.map} +0 -0
  702. /package/dist/atomic/{p-b9ba2c5a.entry.js.map → p-9a2d68d5.entry.js.map} +0 -0
  703. /package/dist/atomic/{p-853208fa.entry.js.map → p-9f2c82d2.entry.js.map} +0 -0
  704. /package/dist/atomic/{p-f4eb207b.entry.js.map → p-a24bcb7b.entry.js.map} +0 -0
  705. /package/dist/atomic/{p-506bb38b.js.map → p-b5e46e49.js.map} +0 -0
  706. /package/dist/atomic/{p-2806f745.entry.js.map → p-c2bd75b2.entry.js.map} +0 -0
  707. /package/dist/atomic/{p-93116ce1.js.map → p-c35c892e.js.map} +0 -0
  708. /package/dist/atomic/{p-79075abe.js.map → p-c8e10077.js.map} +0 -0
  709. /package/dist/atomic/{p-417b1b64.js.map → p-c953462e.js.map} +0 -0
  710. /package/dist/atomic/{p-3932950f.entry.js.map → p-c9aa9243.entry.js.map} +0 -0
  711. /package/dist/atomic/{p-214cbca8.js.map → p-d2855a6f.js.map} +0 -0
  712. /package/dist/atomic/{p-26a0e19e.js.map → p-e5fc5860.js.map} +0 -0
  713. /package/dist/atomic/{p-b31d8fdd.js.map → p-e7986445.js.map} +0 -0
  714. /package/dist/atomic/{p-0683a114.js.map → p-e9605127.js.map} +0 -0
  715. /package/dist/atomic/{p-958f7721.js.map → p-f4464f33.js.map} +0 -0
  716. /package/dist/atomic/{p-bf5d5c79.entry.js.map → p-fe784c2c.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"atomic-commerce-category-facet.atomic-commerce-facet.atomic-commerce-numeric-facet.atomic-commerce-timeframe-facet.entry.js","mappings":"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","names":["__decorate"],"sources":["src/components/commerce/facets/atomic-commerce-category-facet/atomic-commerce-category-facet.pcss?tag=atomic-commerce-category-facet&encapsulation=shadow","src/components/commerce/facets/atomic-commerce-category-facet/atomic-commerce-category-facet.tsx","src/components/commerce/facets/atomic-commerce-facet/atomic-commerce-facet.pcss?tag=atomic-commerce-facet&encapsulation=shadow","src/components/commerce/facets/atomic-commerce-facet/atomic-commerce-facet.tsx","src/components/commerce/facets/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.pcss?tag=atomic-commerce-numeric-facet&encapsulation=shadow","src/components/commerce/facets/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.tsx","src/components/commerce/facets/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.pcss?tag=atomic-commerce-timeframe-facet&encapsulation=shadow","src/components/commerce/facets/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.tsx"],"sourcesContent":["@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-search/facet-search.pcss';\n\n[part~='active-parent'] {\n @apply pl-9;\n}\n\n[part~='parents'] [part~='values'] {\n @apply pl-9;\n}\n\n[part~='all-categories-button'],\n[part~='parent-button'] {\n @apply relative flex w-full items-center py-2.5 pr-2 pl-7 text-left;\n}\n\n[part~='back-arrow'] {\n @apply absolute left-1 h-5 w-5;\n}\n","import {\n CategoryFacetState,\n CategoryFacetValue,\n CategoryFacet,\n SearchSummaryState,\n ProductListingSummaryState,\n Summary,\n} from '@coveo/headless/commerce';\nimport {Component, h, State, Prop, Element, Fragment} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {\n AriaLiveRegion,\n FocusTargetController,\n} from '../../../../utils/stencil-accessibility-utils';\nimport {CategoryFacetAllCategoryButton} from '../../../common/facets/category-facet/all-categories-button';\nimport {CategoryFacetChildValueLink} from '../../../common/facets/category-facet/child-value-link';\nimport {CategoryFacetChildrenAsTreeContainer} from '../../../common/facets/category-facet/children-as-tree-container';\nimport {CategoryFacetParentAsTreeContainer} from '../../../common/facets/category-facet/parent-as-tree-container';\nimport {CategoryFacetParentButton} from '../../../common/facets/category-facet/parent-button';\nimport {CategoryFacetParentValueLink} from '../../../common/facets/category-facet/parent-value-link';\nimport {CategoryFacetSearchResultsContainer} from '../../../common/facets/category-facet/search-results-container';\nimport {CategoryFacetSearchValue} from '../../../common/facets/category-facet/search-value';\nimport {CategoryFacetTreeValueContainer} from '../../../common/facets/category-facet/value-as-tree-container';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {announceFacetSearchResultsWithAriaLive} from '../../../common/facets/facet-search/facet-search-aria-live';\nimport {\n shouldUpdateFacetSearchComponent,\n shouldDisplaySearchResults,\n} from '../../../common/facets/facet-search/facet-search-utils';\nimport {FacetSearchInput} from '../../../common/facets/facet-search/stencil-facet-search-input';\nimport {FacetSearchMatches} from '../../../common/facets/facet-search/stencil-facet-search-matches';\nimport {FacetShowMoreLess} from '../../../common/facets/facet-show-more-less/stencil-facet-show-more-less';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (e.g., number of occurrences).\n * An `atomic-commerce-category-facet` displays a facet of values in a browsable, hierarchical fashion.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and allows to expand/collapse the facet.\n * @part label-button-icon - The label button icon.\n *\n * @part search-wrapper - The search box wrapper.\n * @part search-input - The search box input.\n * @part search-icon - The search box submit button.\n * @part search-clear-button - The button to clear the search box of input.\n * @part more-matches - The label indicating there are more matches for the current facet search query.\n * @part no-matches - The label indicating there are no matches for the current facet search query.\n * @part matches-query - The highlighted query inside the matches labels.\n * @part search-results - The search results container.\n * @part search-result - The search result value.\n * @part search-result-path - The search result path.\n * @part search-highlight - The highlighted query inside the facet values.\n *\n * @part parents - The container surrounding the whole hierarchy of values.\n * @part sub-parents - The container surrounding a sub-hierarchy of values.\n * @part values - The container surrounding either the children of the active value or the values at the base.\n * @part all-categories-button - The \"View all\" button displayed first within the parents.\n * @part parent-button - The clickable parent button displayed first within sub-parents.\n * @part active-parent - The clickable active parent displayed first within the last sub-parents.\n * @part value-link - The clickable value displayed first within values.\n * @part back-arrow - The back arrow displayed before the clickable parents.\n * @part value-label - The facet value label within a value button.\n * @part value-count - The facet value count within a value button.\n * @part leaf-value - A facet value with no child value.\n * @part node-value - A facet value with child values.\n *\n * @part show-more - The show more results button.\n * @part show-less - The show less results button.\n * @part show-more-less-icon - The icons of the show more & show less buttons.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-category-facet',\n styleUrl: 'atomic-commerce-category-facet.pcss',\n shadow: true,\n})\nexport class AtomicCommerceCategoryFacet\n implements InitializableComponent<Bindings>\n{\n @InitializeBindings() public bindings!: Bindings;\n @Element() private host!: HTMLElement;\n\n /**\n * The summary controller instance.\n */\n @Prop() summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n /**\n * The category facet controller instance.\n */\n @Prop() public facet!: CategoryFacet;\n /**\n * Specifies whether the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The field identifier for this facet.\n */\n @Prop({reflect: true}) field?: string;\n\n @State()\n public facetState!: CategoryFacetState;\n\n @BindStateToController('summary')\n @State()\n public summaryState!: SearchSummaryState | ProductListingSummaryState;\n\n @State() public error!: Error;\n\n private resultIndexToFocusOnShowMore = 0;\n private showLessFocus?: FocusTargetController;\n private showMoreFocus?: FocusTargetController;\n private headerFocus?: FocusTargetController;\n private activeValueFocus?: FocusTargetController;\n private unsubscribeFacetController?: () => void | undefined;\n\n @AriaLiveRegion('facet-search')\n protected facetSearchAriaMessage!: string;\n\n public initialize() {\n if (!this.facet) {\n return;\n }\n\n this.ensureSubscribed();\n announceFacetSearchResultsWithAriaLive(\n this.facet,\n this.displayName,\n (msg) => (this.facetSearchAriaMessage = msg),\n this.bindings.i18n\n );\n\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.displayName),\n facetId: this.facetState.facetId,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.facetState.values.length,\n numberOfActiveValues: () => (this.facetState.hasActiveValues ? 1 : 0),\n });\n }\n\n private get displayName() {\n return this.facetState?.displayName || 'no-label';\n }\n\n private get focusTargets() {\n if (!this.showLessFocus) {\n this.showLessFocus = new FocusTargetController(this);\n }\n if (!this.showMoreFocus) {\n this.showMoreFocus = new FocusTargetController(this);\n }\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n if (!this.activeValueFocus) {\n this.activeValueFocus = new FocusTargetController(this);\n }\n\n return {\n showLessFocus: this.showLessFocus,\n showMoreFocus: this.showMoreFocus,\n headerFocus: this.headerFocus,\n activeValueFocus: this.activeValueFocus,\n };\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.unsubscribeFacetController?.();\n this.unsubscribeFacetController = undefined;\n }\n\n public connectedCallback(): void {\n this.ensureSubscribed();\n }\n\n private get isHidden() {\n return (\n this.summaryState.hasError ||\n (!this.facetState.values.length &&\n !this.facetState.selectedValueAncestry?.length)\n );\n }\n\n public componentShouldUpdate(\n next: unknown,\n prev: unknown,\n propName: keyof AtomicCommerceCategoryFacet\n ) {\n if (\n this.isCategoryFacetState(prev, propName) &&\n this.isCategoryFacetState(next, propName)\n ) {\n return shouldUpdateFacetSearchComponent(\n next.facetSearch,\n prev.facetSearch\n );\n }\n return true;\n }\n\n private get hasParents() {\n return !!this.facetState.selectedValueAncestry?.length;\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.displayName}\n numberOfActiveValues={\n this.facetState.hasActiveValues && this.isCollapsed ? 1 : 0\n }\n isCollapsed={this.isCollapsed}\n headingLevel={0}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n onClearFilters={() => {\n this.focusTargets.headerFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n headerRef={(header) => {\n this.focusTargets.headerFocus.setTarget(header);\n if (!this.hasParents) {\n this.focusTargets.activeValueFocus.setTarget(header);\n }\n }}\n ></FacetHeader>\n );\n }\n\n private renderSearchInput() {\n return (\n <FacetSearchInput\n i18n={this.bindings.i18n}\n label={this.displayName}\n query={this.facetState.facetSearch.query}\n onChange={(value: string) => {\n if (value === '') {\n this.facet.facetSearch.clear();\n return;\n }\n this.facet.facetSearch.updateText(value);\n this.facet.facetSearch.search();\n }}\n onClear={() => this.facet.facetSearch.clear()}\n ></FacetSearchInput>\n );\n }\n\n private renderValuesTree(parents: CategoryFacetValue[], isRoot: boolean) {\n if (!this.hasParents) {\n return this.renderChildren();\n }\n\n if (isRoot) {\n return (\n <CategoryFacetTreeValueContainer>\n <CategoryFacetAllCategoryButton\n i18n={this.bindings.i18n}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n />\n <CategoryFacetParentAsTreeContainer isTopLevel={false}>\n {this.renderValuesTree(parents, false)}\n </CategoryFacetParentAsTreeContainer>\n </CategoryFacetTreeValueContainer>\n );\n }\n\n if (parents.length > 1) {\n const parentValue = parents[0];\n\n return (\n <CategoryFacetTreeValueContainer>\n <CategoryFacetParentButton\n facetValue={parentValue}\n field={this.facetState?.field}\n i18n={this.bindings.i18n}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.toggleSelect(parentValue);\n }}\n />\n <CategoryFacetParentAsTreeContainer isTopLevel={false}>\n {this.renderValuesTree(parents.slice(1), false)}\n </CategoryFacetParentAsTreeContainer>\n </CategoryFacetTreeValueContainer>\n );\n }\n\n const activeParent = parents[0];\n const activeParentDisplayValue = getFieldValueCaption(\n this.facetState?.field,\n activeParent.value,\n this.bindings.i18n\n );\n\n return (\n <CategoryFacetParentValueLink\n displayValue={activeParentDisplayValue}\n numberOfResults={activeParent.numberOfResults}\n i18n={this.bindings.i18n}\n isLeafValue={activeParent.isLeafValue}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n searchQuery={this.facetState.facetSearch.query}\n setRef={(el) => this.focusTargets.activeValueFocus.setTarget(el)}\n >\n <CategoryFacetChildrenAsTreeContainer>\n {this.renderChildren()}\n </CategoryFacetChildrenAsTreeContainer>\n </CategoryFacetParentValueLink>\n );\n }\n\n private renderChild(\n facetValue: CategoryFacetValue,\n isShowLessFocusTarget: boolean,\n isShowMoreFocusTarget: boolean\n ) {\n const displayValue = getFieldValueCaption(\n this.facetState?.field,\n facetValue.value,\n this.bindings.i18n\n );\n const isSelected = facetValue.state === 'selected';\n return (\n <CategoryFacetChildValueLink\n displayValue={displayValue}\n i18n={this.bindings.i18n}\n isLeafValue={facetValue.isLeafValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.toggleSelect(facetValue);\n }}\n searchQuery={this.facetState.facetSearch.query}\n setRef={(element) => {\n isShowLessFocusTarget &&\n this.focusTargets.showLessFocus.setTarget(element);\n isShowMoreFocusTarget &&\n this.focusTargets.showMoreFocus.setTarget(element);\n }}\n ></CategoryFacetChildValueLink>\n );\n }\n\n private renderChildren() {\n const {values, selectedValueAncestry, hasActiveValues} = this.facetState;\n const nextValues = hasActiveValues ? selectedValueAncestry : values;\n\n const children = nextValues?.length\n ? hasActiveValues\n ? nextValues[nextValues.length - 1].children\n : nextValues\n : [];\n\n return children.map((value, i) =>\n this.renderChild(value, i === 0, i === this.resultIndexToFocusOnShowMore)\n );\n }\n\n private renderSearchResults() {\n return (\n <CategoryFacetSearchResultsContainer>\n {this.facetState.facetSearch.values.map((value) => (\n <CategoryFacetSearchValue\n value={value}\n field={this.facetState?.field}\n i18n={this.bindings.i18n}\n searchQuery={this.facetState.facetSearch.query}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.facetSearch.select(value);\n }}\n ></CategoryFacetSearchValue>\n ))}\n </CategoryFacetSearchResultsContainer>\n );\n }\n\n private renderMatches() {\n return (\n <FacetSearchMatches\n i18n={this.bindings.i18n}\n query={this.facetState.facetSearch.query}\n numberOfMatches={this.facetState.facetSearch.values.length}\n hasMoreMatches={this.facetState.facetSearch.moreValuesAvailable}\n ></FacetSearchMatches>\n );\n }\n\n private renderShowMoreLess() {\n return (\n <div class={this.hasParents ? 'pl-9' : ''}>\n <FacetShowMoreLess\n label={this.displayName}\n i18n={this.bindings.i18n}\n onShowMore={() => {\n this.resultIndexToFocusOnShowMore = this.facetState.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 </div>\n );\n }\n\n private isCategoryFacetState(\n state: unknown,\n propName: string\n ): state is CategoryFacetState {\n return (\n propName === 'facetState' &&\n typeof (state as CategoryFacetState)?.facetId === 'string'\n );\n }\n\n public render() {\n const {\n bindings: {i18n},\n facetState: {facetSearch, selectedValueAncestry, values},\n } = this;\n\n const {hasError, firstRequestExecuted} = this.summaryState;\n\n return (\n <FacetGuard\n enabled={true}\n firstSearchExecuted={firstRequestExecuted}\n hasError={hasError}\n hasResults={values.length > 0}\n >\n {\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && [\n this.renderSearchInput(),\n shouldDisplaySearchResults(facetSearch) ? (\n <Fragment>\n {facetSearch.values.length ? (\n <FacetValuesGroup\n i18n={i18n}\n label={this.displayName}\n query={facetSearch.query}\n >\n {this.renderSearchResults()}\n </FacetValuesGroup>\n ) : (\n <div class=\"mt-3\"></div>\n )}\n {this.renderMatches()}\n </Fragment>\n ) : (\n <Fragment>\n <FacetValuesGroup i18n={i18n} label={this.displayName}>\n {this.hasParents ? (\n <CategoryFacetParentAsTreeContainer\n isTopLevel={true}\n className=\"mt-3\"\n >\n {selectedValueAncestry &&\n this.renderValuesTree(selectedValueAncestry, true)}\n </CategoryFacetParentAsTreeContainer>\n ) : (\n <CategoryFacetChildrenAsTreeContainer className=\"mt-3\">\n {this.renderChildren()}\n </CategoryFacetChildrenAsTreeContainer>\n )}\n </FacetValuesGroup>\n {this.renderShowMoreLess()}\n </Fragment>\n ),\n ]}\n </FacetContainer>\n }\n </FacetGuard>\n );\n }\n\n private ensureSubscribed() {\n if (this.unsubscribeFacetController) {\n return;\n }\n this.unsubscribeFacetController = this.facet.subscribe(\n () => (this.facetState = this.facet.state)\n );\n }\n}\n","@import '../../../../global/global.pcss';\n@import '../../../common/facets/facet-search/facet-search.pcss';\n@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-value-checkbox/facet-value-checkbox.pcss';\n@import '../../../common/facets/facet-value-exclude/facet-value-exclude.pcss';\n@import '../../../common/facets/facet-value-box/facet-value-box.pcss';\n","import {\n ProductListingSummaryState,\n RegularFacet,\n RegularFacetState,\n SearchSummaryState,\n Summary,\n} from '@coveo/headless/commerce';\nimport {\n Component,\n h,\n State,\n Prop,\n Element,\n VNode,\n Fragment,\n} 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 {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {announceFacetSearchResultsWithAriaLive} from '../../../common/facets/facet-search/facet-search-aria-live';\nimport {\n shouldDisplaySearchResults,\n shouldUpdateFacetSearchComponent,\n} from '../../../common/facets/facet-search/facet-search-utils';\nimport {FacetSearchInput} from '../../../common/facets/facet-search/stencil-facet-search-input';\nimport {FacetSearchInputGuard} from '../../../common/facets/facet-search/stencil-facet-search-input-guard';\nimport {FacetSearchMatches} from '../../../common/facets/facet-search/stencil-facet-search-matches';\nimport {FacetSearchValue} from '../../../common/facets/facet-search/stencil-facet-search-value';\nimport {FacetShowMoreLess} from '../../../common/facets/facet-show-more-less/stencil-facet-show-more-less';\nimport {\n FacetValueProps,\n FacetValue,\n} from '../../../common/facets/facet-value/stencil-facet-value';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\n\n/**\n * The `atomic-commerce-facet` component renders a commerce facet that the end user can interact with to filter products.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and allows to expand/collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part search-wrapper - The search box wrapper.\n * @part search-input - The search box input.\n * @part search-icon - The search box submit button.\n * @part search-clear-button - The button to clear the search box of input.\n * @part more-matches - The label indicating there are more matches for the current facet search query.\n * @part no-matches - The label indicating there are no matches for the current facet search query.\n * @part matches-query - The highlighted query inside the matches labels.\n * @part search-highlight - The highlighted query inside the facet values.\n *\n * @part values - The facet values container.\n * @part value-label - The facet value label, common for all displays.\n * @part value-count - The facet value count, common for all displays.\n *\n * @part value-checkbox - The facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-checked - The checked facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-label - The facet value checkbox clickable label, available when display is 'checkbox'.\n * @part value-checkbox-icon - The facet value checkbox icon, available when display is 'checkbox'.\n * @part value-link - The facet value when display is 'link'.\n * @part value-link-selected - The selected facet value when display is 'link'.\n * @part value-box - The facet value when display is 'box'.\n * @part value-box-selected - The selected facet value when display is 'box'.\n * @part value-exclude-button - The button to exclude a facet value, available when display is 'checkbox'.\n *\n * @part show-more - The show more results button.\n * @part show-less - The show less results button.\n * @part show-more-less-icon - The icons of the show more & show less buttons.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-facet',\n styleUrl: 'atomic-commerce-facet.pcss',\n shadow: true,\n})\nexport class AtomicCommerceFacet implements InitializableComponent<Bindings> {\n @InitializeBindings() public bindings!: Bindings;\n @Element() private host!: HTMLElement;\n\n /**\n * The Summary controller instance.\n */\n @Prop() summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n /**\n * The facet controller instance.\n */\n @Prop() public facet!: RegularFacet;\n /**\n * Specifies whether the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The field identifier for this facet.\n */\n @Prop({reflect: true}) field?: string;\n\n @State()\n public facetState!: RegularFacetState;\n\n @BindStateToController('summary')\n @State()\n public summaryState!: SearchSummaryState | ProductListingSummaryState;\n\n @State() public error!: Error;\n\n private showLessFocus?: FocusTargetController;\n private showMoreFocus?: FocusTargetController;\n private headerFocus?: FocusTargetController;\n private unsubscribeFacetController?: () => void | undefined;\n\n @AriaLiveRegion('facet-search')\n protected facetSearchAriaMessage!: string;\n\n public initialize() {\n if (!this.facet) {\n return;\n }\n this.ensureSubscribed();\n this.initAriaLive();\n this.initPopover();\n }\n\n public connectedCallback(): void {\n this.ensureSubscribed();\n }\n\n public disconnectedCallback(): void {\n this.unsubscribeFacetController?.();\n this.unsubscribeFacetController = undefined;\n }\n\n public componentShouldUpdate(\n next: unknown,\n prev: unknown,\n propName: keyof AtomicCommerceFacet\n ) {\n if (\n this.isFacetState(prev, propName) &&\n this.isFacetState(next, propName)\n ) {\n return shouldUpdateFacetSearchComponent(\n next.facetSearch,\n prev.facetSearch\n );\n }\n return true;\n }\n\n public render() {\n if (!this.facet) {\n return;\n }\n const {hasError, firstRequestExecuted} = this.summaryState;\n return (\n <FacetGuard\n enabled={true}\n hasError={hasError}\n firstSearchExecuted={firstRequestExecuted}\n hasResults={this.facetState.values.length > 0}\n >\n {\n <FacetContainer>\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.displayName}\n onClearFilters={() => {\n this.focusTargets.header.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.activeValues.length}\n isCollapsed={this.isCollapsed}\n headingLevel={0}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTargets.header.setTarget(el)}\n ></FacetHeader>\n {this.renderBody()}\n </FacetContainer>\n }\n </FacetGuard>\n );\n }\n\n private renderBody() {\n if (this.isCollapsed) {\n return;\n }\n return (\n <Fragment>\n <FacetSearchInputGuard\n canShowMoreValues={this.facetState.canShowMoreValues}\n numberOfDisplayedValues={this.facetState.values.length}\n withSearch={true}\n >\n <FacetSearchInput\n i18n={this.bindings.i18n}\n label={this.displayName}\n onChange={(value) => {\n if (value === '') {\n this.facet.facetSearch.clear();\n return;\n }\n this.facet.facetSearch.updateText(value);\n this.facet.facetSearch.search();\n }}\n onClear={() => this.facet.facetSearch.clear()}\n query={this.facetState.facetSearch.query}\n />\n </FacetSearchInputGuard>\n {shouldDisplaySearchResults(this.facetState.facetSearch)\n ? [this.renderSearchResults(), this.renderMatches()]\n : [this.renderValues(), this.renderShowMoreLess()]}\n </Fragment>\n );\n }\n\n private renderValuesContainer(children: VNode[], query?: string) {\n return (\n <FacetValuesGroup\n i18n={this.bindings.i18n}\n label={this.displayName}\n query={query}\n >\n <ul part=\"values\" class=\"mt-3\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderSearchResults() {\n return this.renderValuesContainer(\n this.facetState.facetSearch.values.map((value) => (\n <FacetSearchValue\n {...this.facetValueProps}\n facetCount={value.count}\n onExclude={() => this.facet.facetSearch.exclude(value)}\n onSelect={() => this.facet.facetSearch.select(value)}\n facetValue={value.rawValue}\n />\n ))\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.facetState.values.map((value, i) => {\n const shouldFocusOnShowLessAfterInteraction = i === 0;\n const shouldFocusOnShowMoreAfterInteraction = i === 0;\n\n return (\n <FacetValue\n {...this.facetValueProps}\n facetCount={value.numberOfResults}\n onExclude={() => this.facet.toggleExclude(value)}\n onSelect={() => this.facet.toggleSelect(value)}\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.displayName}\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.facetState.canShowMoreValues}\n canShowLessValues={this.facetState.canShowLessValues}\n ></FacetShowMoreLess>\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 ></FacetSearchMatches>\n );\n }\n\n private get activeValues() {\n return this.facetState.values.filter(({state}) => state !== 'idle');\n }\n\n private get displayName() {\n return this.facetState.displayName || 'no-label';\n }\n\n private get facetValueProps(): Pick<\n FacetValueProps,\n | 'facetSearchQuery'\n | 'enableExclusion'\n | 'field'\n | 'i18n'\n | 'displayValuesAs'\n > {\n return {\n facetSearchQuery: this.facetState.facetSearch.query,\n displayValuesAs: 'checkbox',\n enableExclusion: false,\n field: this.facetState.field,\n i18n: this.bindings.i18n,\n };\n }\n\n private get isHidden() {\n return !this.facetState.values.length;\n }\n\n private initPopover() {\n initializePopover(this.host, {\n ...this.facetInfo,\n hasValues: () => !!this.facetState.values.length,\n numberOfActiveValues: () => this.activeValues.length,\n });\n }\n\n private initAriaLive() {\n announceFacetSearchResultsWithAriaLive(\n this.facet,\n this.displayName,\n (msg) => (this.facetSearchAriaMessage = msg),\n this.bindings.i18n\n );\n }\n\n private get facetInfo(): FacetInfo {\n return {\n label: () => this.bindings.i18n.t(this.displayName),\n facetId: this.facetState.facetId,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n }\n\n private get focusTargets(): {\n showLess: FocusTargetController;\n showMore: FocusTargetController;\n header: FocusTargetController;\n } {\n if (!this.showLessFocus) {\n this.showLessFocus = new FocusTargetController(this);\n }\n if (!this.showMoreFocus) {\n this.showMoreFocus = new FocusTargetController(this);\n }\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n\n return {\n showLess: this.showLessFocus,\n showMore: this.showMoreFocus,\n header: this.headerFocus,\n };\n }\n\n private isFacetState(\n state: unknown,\n propName: string\n ): state is RegularFacetState {\n return (\n propName === 'facetState' &&\n typeof (state as RegularFacetState)?.facetId === 'string'\n );\n }\n\n private ensureSubscribed() {\n if (this.unsubscribeFacetController) {\n return;\n }\n this.unsubscribeFacetController = this.facet.subscribe(\n () => (this.facetState = this.facet.state)\n );\n }\n}\n","@import '../../../common/facets/numeric-facet-common.pcss';\n","import {\n NumericFacet,\n NumericFacetState,\n NumericRangeRequest,\n ProductListingSummaryState,\n SearchSummaryState,\n Summary,\n Context,\n ContextState,\n buildContext,\n} from '@coveo/headless/commerce';\nimport {Component, Element, h, Listen, Prop, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {NumericFacetValueLink} from '../../../common/facets/numeric-facet/value-link';\nimport {NumericFacetValuesContainer} from '../../../common/facets/numeric-facet/values-container';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from '../../../common/facets/stencil-facet-common';\nimport {\n defaultCurrencyFormatter,\n defaultNumberFormatter,\n} from '../../../common/formats/format-common';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\nimport type {Range} from '../facet-number-input/atomic-commerce-facet-number-input';\n\n/**\n * The `atomic-commerce-numeric-facet` component is responsible for rendering a commerce facet that allows the user to filter products using numeric ranges.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-numeric-facet',\n styleUrl: './atomic-commerce-numeric-facet.pcss',\n shadow: true,\n})\nexport class AtomicCommerceNumericFacet\n implements InitializableComponent<Bindings>\n{\n @InitializeBindings() public bindings!: Bindings;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: NumericFacetState;\n\n @BindStateToController('summary')\n @State()\n public summaryState!: SearchSummaryState | ProductListingSummaryState;\n\n public context!: Context;\n @BindStateToController('context') contextState!: ContextState;\n\n @State() public error!: Error;\n\n private manualRanges: (NumericRangeRequest & {label?: string})[] = [];\n\n /**\n * The Summary controller instance.\n */\n @Prop() summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n /**\n * The numeric facet controller instance.\n */\n @Prop({reflect: true}) public facet!: NumericFacet;\n /**\n * Specifies whether the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The field identifier for this facet.\n */\n @Prop({reflect: true}) field?: string;\n\n private headerFocus?: FocusTargetController;\n\n private get focusTarget(): FocusTargetController {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\n\n private unsubscribeFacetController?: () => void | undefined;\n\n public initialize() {\n if (!this.facet) {\n return;\n }\n\n this.context = buildContext(this.bindings.engine);\n this.ensureSubscribed();\n this.registerFacetToStore();\n }\n\n public connectedCallback() {\n this.ensureSubscribed();\n }\n\n public disconnectedCallback() {\n this.unsubscribeFacetController?.();\n this.unsubscribeFacetController = undefined;\n }\n\n private get formatter() {\n if (this.field === 'ec_price' || this.field === 'ec_promo_price') {\n return defaultCurrencyFormatter(this.contextState.currency);\n }\n return defaultNumberFormatter;\n }\n\n private registerFacetToStore() {\n const {facetId} = this.facetState;\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.displayName),\n facetId: facetId,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n }\n\n @Listen('atomic/numberInputApply')\n public applyNumberInput({detail}: CustomEvent<Range>) {\n const {start, end} = detail;\n this.facet.setRanges([\n {\n start,\n end,\n endInclusive: true,\n state: 'selected',\n },\n ]);\n }\n\n public render() {\n const {\n bindings: {i18n},\n } = this;\n const {firstRequestExecuted, hasError} = this.summaryState;\n return (\n <FacetGuard\n enabled={true}\n firstSearchExecuted={firstRequestExecuted}\n hasError={hasError}\n hasResults={this.shouldRenderFacet}\n >\n {\n <FacetContainer>\n <FacetHeader\n i18n={i18n}\n label={this.displayName}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={0}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n />\n {!this.isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && (\n <atomic-commerce-facet-number-input\n bindings={this.bindings}\n label={this.displayName}\n facet={this.facet}\n range={this.facetState.manualRange}\n ></atomic-commerce-facet-number-input>\n ),\n ]}\n </FacetContainer>\n }\n </FacetGuard>\n );\n }\n\n private renderValues() {\n const {\n manualRanges,\n displayName,\n bindings: {\n i18n,\n engine: {logger},\n },\n formatter,\n } = this;\n\n return (\n <NumericFacetValuesContainer i18n={i18n} label={displayName}>\n {this.valuesToRender.map((value) => (\n <NumericFacetValueLink\n formatter={formatter}\n displayValuesAs={'checkbox'}\n facetValue={value}\n field={this.facetState.field}\n i18n={i18n}\n logger={logger}\n manualRanges={manualRanges}\n onClick={() => this.facet.toggleSelect(value)}\n />\n ))}\n </NumericFacetValuesContainer>\n );\n }\n\n private get displayName() {\n return this.facetState.displayName || 'no-label';\n }\n\n private get numberOfSelectedValues() {\n return (\n this.facetState.values.filter(({state}) => state === 'selected').length ||\n 0\n );\n }\n\n private get hasInputRange() {\n return !!this.facetState.manualRange || this.summaryState.isLoading;\n }\n\n private get shouldRenderValues() {\n return !this.hasInputRange && !!this.valuesToRender.length;\n }\n\n private get valuesToRender() {\n return (\n this.facetState.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderInput() {\n const {\n firstRequestExecuted: firstSearchExecuted,\n hasError,\n isLoading,\n hasProducts: hasResults,\n } = this.summaryState;\n return shouldDisplayInputForFacetRange({\n hasInputRange: this.hasInputRange,\n searchStatusState: {\n firstSearchExecuted,\n hasError,\n hasResults,\n isLoading,\n },\n facetValues: this.facetState.values,\n hasInput: true,\n });\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get hasValues() {\n if (this.facetState.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private ensureSubscribed() {\n if (this.unsubscribeFacetController) {\n return;\n }\n this.unsubscribeFacetController = this.facet.subscribe(\n () => (this.facetState = this.facet.state)\n );\n }\n}\n","@import '../../../common/facets/facet-common.pcss';\n","import {\n DateFacet,\n DateFilterRange,\n deserializeRelativeDate,\n DateFacetValue,\n DateFacetState,\n DateRangeRequest,\n SearchSummaryState,\n ProductListingSummaryState,\n Summary,\n} from '@coveo/headless/commerce';\nimport {Component, Element, h, Listen, Prop, State, VNode} from '@stencil/core';\nimport {parseDate} from '../../../../utils/date-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {FacetValueLabelHighlight} from '../../../common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from '../../../common/facets/facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from '../../../common/facets/stencil-facet-common';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results.\n * An `atomic-commerce-timeframe-facet` displays a facet of the results for the current query as date intervals.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-timeframe-facet',\n styleUrl: './atomic-commerce-timeframe-facet.pcss',\n shadow: true,\n})\nexport class AtomicCommerceTimeframeFacet\n implements InitializableComponent<Bindings>\n{\n @InitializeBindings() public bindings!: Bindings;\n @Element() private host!: HTMLElement;\n\n /**\n * The summary controller instance.\n */\n @Prop() summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n /**\n * The date facet controller instance.\n */\n @Prop() public facet!: DateFacet;\n /**\n * Specifies whether the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The field identifier for this facet.\n */\n @Prop({reflect: true}) field?: string;\n\n @State()\n public facetState!: DateFacetState;\n\n @BindStateToController('summary')\n @State()\n public summaryState!: SearchSummaryState | ProductListingSummaryState;\n\n @State() public error!: Error;\n\n @State() private inputRange?: DateFilterRange;\n\n private headerFocus?: FocusTargetController;\n\n private get displayName() {\n return this.facetState.displayName || 'no-label';\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 private unsubscribeFacetController?: () => void | undefined;\n\n public initialize() {\n if (!this.facet) {\n return;\n }\n this.ensureSubscribed();\n this.registerFacetToStore();\n }\n\n public connectedCallback(): void {\n this.ensureSubscribed();\n }\n\n @Listen('atomic/dateInputApply')\n public applyDateInput({detail}: CustomEvent<DateFilterRange>) {\n this.inputRange = {start: detail.start, end: detail.end};\n }\n\n private get valuesToRender() {\n return (\n this.facetState.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderValues() {\n return !this.hasInputRange && !!this.valuesToRender.length;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get shouldRenderInput() {\n const {\n firstRequestExecuted: firstSearchExecuted,\n hasError,\n isLoading,\n hasProducts: hasResults,\n } = this.summaryState;\n return shouldDisplayInputForFacetRange({\n hasInputRange: this.hasInputRange,\n searchStatusState: {\n firstSearchExecuted,\n hasError,\n hasResults,\n isLoading,\n },\n facetValues: this.facetState.values || [],\n hasInput: true,\n });\n }\n\n private get hasValues() {\n if (this.facetState.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private get numberOfSelectedValues() {\n if (this.hasInputRange) {\n return 1;\n }\n\n return (\n this.facetState.values.filter(({state}) => state === 'selected').length ||\n 0\n );\n }\n\n private get hasInputRange() {\n return !!this.inputRange;\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.unsubscribeFacetController?.();\n this.unsubscribeFacetController = undefined;\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet;\n }\n\n private resetRange() {\n this.inputRange = undefined;\n this.facet.setRanges([]);\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.displayName),\n facetId: this.facetState.facetId,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n }\n\n private formatFacetValue(facetValue: DateFacetValue) {\n try {\n const startDate = deserializeRelativeDate(facetValue.start);\n const relativeDate =\n startDate.period === 'past'\n ? startDate\n : deserializeRelativeDate(facetValue.end);\n\n return this.bindings.i18n.t(\n `${relativeDate.period}-${relativeDate.unit}`,\n {\n count: relativeDate.amount,\n }\n );\n } catch (error) {\n return this.bindings.i18n.t('to', {\n start: parseDate(facetValue.start).format('YYYY-MM-DD'),\n end: parseDate(facetValue.end).format('YYYY-MM-DD'),\n });\n }\n }\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) => this.renderValue(value))\n );\n }\n\n private renderValue(facetValue: DateFacetValue) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n const isExcluded = facetValue.state === 'excluded';\n return (\n <FacetValueLink\n displayValue={displayValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n i18n={this.bindings.i18n}\n onClick={() => this.facet.toggleSingleSelect(facetValue)}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup i18n={this.bindings.i18n} label={this.displayName}>\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.displayName}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n if (this.hasInputRange) {\n this.resetRange();\n return;\n }\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={0}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderDateInput() {\n return (\n <atomic-facet-date-input\n bindings={this.bindings}\n label={this.displayName}\n rangeGetter={() => this.inputRange}\n facetId={this.facetState.facetId}\n rangeSetter={({start, end, endInclusive}: DateRangeRequest) => {\n this.facet.setRanges([\n {\n start,\n end,\n endInclusive,\n state: 'selected',\n },\n ]);\n }}\n ></atomic-facet-date-input>\n );\n }\n\n public render() {\n const {hasError, firstRequestExecuted} = this.summaryState;\n\n return (\n <FacetGuard\n enabled={true}\n firstSearchExecuted={firstRequestExecuted}\n hasError={hasError}\n hasResults={this.shouldRenderFacet}\n >\n {\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && this.renderDateInput(),\n ]}\n </FacetContainer>\n }\n </FacetGuard>\n );\n }\n\n private ensureSubscribed() {\n if (this.unsubscribeFacetController) {\n return;\n }\n this.unsubscribeFacetController = this.facet.subscribe(\n () => (this.facetState = this.facet.state)\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-commerce-category-facet.atomic-commerce-facet.atomic-commerce-numeric-facet.atomic-commerce-timeframe-facet.entry.js","mappings":"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","names":["__decorate"],"sources":["src/components/commerce/facets/atomic-commerce-category-facet/atomic-commerce-category-facet.pcss?tag=atomic-commerce-category-facet&encapsulation=shadow","src/components/commerce/facets/atomic-commerce-category-facet/atomic-commerce-category-facet.tsx","src/components/commerce/facets/atomic-commerce-facet/atomic-commerce-facet.pcss?tag=atomic-commerce-facet&encapsulation=shadow","src/components/commerce/facets/atomic-commerce-facet/atomic-commerce-facet.tsx","src/components/commerce/facets/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.pcss?tag=atomic-commerce-numeric-facet&encapsulation=shadow","src/components/commerce/facets/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.tsx","src/components/commerce/facets/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.pcss?tag=atomic-commerce-timeframe-facet&encapsulation=shadow","src/components/commerce/facets/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.tsx"],"sourcesContent":["@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-search/facet-search.pcss';\n\n[part~='active-parent'] {\n @apply pl-9;\n}\n\n[part~='parents'] [part~='values'] {\n @apply pl-9;\n}\n\n[part~='all-categories-button'],\n[part~='parent-button'] {\n @apply relative flex w-full items-center py-2.5 pr-2 pl-7 text-left;\n}\n\n[part~='back-arrow'] {\n @apply absolute left-1 h-5 w-5;\n}\n","import {\n CategoryFacetState,\n CategoryFacetValue,\n CategoryFacet,\n SearchSummaryState,\n ProductListingSummaryState,\n Summary,\n} from '@coveo/headless/commerce';\nimport {Component, h, State, Prop, Element, Fragment} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {\n AriaLiveRegion,\n FocusTargetController,\n} from '../../../../utils/stencil-accessibility-utils';\nimport {CategoryFacetAllCategoryButton} from '../../../common/facets/category-facet/all-categories-button';\nimport {CategoryFacetChildValueLink} from '../../../common/facets/category-facet/child-value-link';\nimport {CategoryFacetChildrenAsTreeContainer} from '../../../common/facets/category-facet/children-as-tree-container';\nimport {CategoryFacetParentAsTreeContainer} from '../../../common/facets/category-facet/parent-as-tree-container';\nimport {CategoryFacetParentButton} from '../../../common/facets/category-facet/parent-button';\nimport {CategoryFacetParentValueLink} from '../../../common/facets/category-facet/parent-value-link';\nimport {CategoryFacetSearchResultsContainer} from '../../../common/facets/category-facet/search-results-container';\nimport {CategoryFacetSearchValue} from '../../../common/facets/category-facet/search-value';\nimport {CategoryFacetTreeValueContainer} from '../../../common/facets/category-facet/value-as-tree-container';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {announceFacetSearchResultsWithAriaLive} from '../../../common/facets/facet-search/facet-search-aria-live';\nimport {\n shouldUpdateFacetSearchComponent,\n shouldDisplaySearchResults,\n} from '../../../common/facets/facet-search/facet-search-utils';\nimport {FacetSearchInput} from '../../../common/facets/facet-search/stencil-facet-search-input';\nimport {FacetSearchMatches} from '../../../common/facets/facet-search/stencil-facet-search-matches';\nimport {FacetShowMoreLess} from '../../../common/facets/facet-show-more-less/stencil-facet-show-more-less';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (e.g., number of occurrences).\n * An `atomic-commerce-category-facet` displays a facet of values in a browsable, hierarchical fashion.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and allows to expand/collapse the facet.\n * @part label-button-icon - The label button icon.\n *\n * @part search-wrapper - The search box wrapper.\n * @part search-input - The search box input.\n * @part search-icon - The search box submit button.\n * @part search-clear-button - The button to clear the search box of input.\n * @part more-matches - The label indicating there are more matches for the current facet search query.\n * @part no-matches - The label indicating there are no matches for the current facet search query.\n * @part matches-query - The highlighted query inside the matches labels.\n * @part search-results - The search results container.\n * @part search-result - The search result value.\n * @part search-result-path - The search result path.\n * @part search-highlight - The highlighted query inside the facet values.\n *\n * @part parents - The container surrounding the whole hierarchy of values.\n * @part sub-parents - The container surrounding a sub-hierarchy of values.\n * @part values - The container surrounding either the children of the active value or the values at the base.\n * @part all-categories-button - The \"View all\" button displayed first within the parents.\n * @part parent-button - The clickable parent button displayed first within sub-parents.\n * @part active-parent - The clickable active parent displayed first within the last sub-parents.\n * @part value-link - The clickable value displayed first within values.\n * @part back-arrow - The back arrow displayed before the clickable parents.\n * @part value-label - The facet value label within a value button.\n * @part value-count - The facet value count within a value button.\n * @part leaf-value - A facet value with no child value.\n * @part node-value - A facet value with child values.\n *\n * @part show-more - The show more results button.\n * @part show-less - The show less results button.\n * @part show-more-less-icon - The icons of the show more & show less buttons.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-category-facet',\n styleUrl: 'atomic-commerce-category-facet.pcss',\n shadow: true,\n})\nexport class AtomicCommerceCategoryFacet\n implements InitializableComponent<Bindings>\n{\n @InitializeBindings() public bindings!: Bindings;\n @Element() private host!: HTMLElement;\n\n /**\n * The summary controller instance.\n */\n @Prop() summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n /**\n * The category facet controller instance.\n */\n @Prop() public facet!: CategoryFacet;\n /**\n * Specifies whether the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The field identifier for this facet.\n */\n @Prop({reflect: true}) field?: string;\n\n @State()\n public facetState!: CategoryFacetState;\n\n @BindStateToController('summary')\n @State()\n public summaryState!: SearchSummaryState | ProductListingSummaryState;\n\n @State() public error!: Error;\n\n private resultIndexToFocusOnShowMore = 0;\n private showLessFocus?: FocusTargetController;\n private showMoreFocus?: FocusTargetController;\n private headerFocus?: FocusTargetController;\n private activeValueFocus?: FocusTargetController;\n private unsubscribeFacetController?: () => void | undefined;\n\n @AriaLiveRegion('facet-search')\n protected facetSearchAriaMessage!: string;\n\n public initialize() {\n if (!this.facet) {\n return;\n }\n\n this.ensureSubscribed();\n announceFacetSearchResultsWithAriaLive(\n this.facet,\n this.displayName,\n (msg) => (this.facetSearchAriaMessage = msg),\n this.bindings.i18n\n );\n\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.displayName),\n facetId: this.facetState.facetId,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.facetState.values.length,\n numberOfActiveValues: () => (this.facetState.hasActiveValues ? 1 : 0),\n });\n }\n\n private get displayName() {\n return this.facetState?.displayName || 'no-label';\n }\n\n private get focusTargets() {\n if (!this.showLessFocus) {\n this.showLessFocus = new FocusTargetController(this);\n }\n if (!this.showMoreFocus) {\n this.showMoreFocus = new FocusTargetController(this);\n }\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n if (!this.activeValueFocus) {\n this.activeValueFocus = new FocusTargetController(this);\n }\n\n return {\n showLessFocus: this.showLessFocus,\n showMoreFocus: this.showMoreFocus,\n headerFocus: this.headerFocus,\n activeValueFocus: this.activeValueFocus,\n };\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.unsubscribeFacetController?.();\n this.unsubscribeFacetController = undefined;\n }\n\n public connectedCallback(): void {\n this.ensureSubscribed();\n }\n\n private get isHidden() {\n return (\n this.summaryState.hasError ||\n (!this.facetState.values.length &&\n !this.facetState.selectedValueAncestry?.length)\n );\n }\n\n public componentShouldUpdate(\n next: unknown,\n prev: unknown,\n propName: keyof AtomicCommerceCategoryFacet\n ) {\n if (\n this.isCategoryFacetState(prev, propName) &&\n this.isCategoryFacetState(next, propName)\n ) {\n return shouldUpdateFacetSearchComponent(\n next.facetSearch,\n prev.facetSearch\n );\n }\n return true;\n }\n\n private get hasParents() {\n return !!this.facetState.selectedValueAncestry?.length;\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.displayName}\n numberOfActiveValues={\n this.facetState.hasActiveValues && this.isCollapsed ? 1 : 0\n }\n isCollapsed={this.isCollapsed}\n headingLevel={0}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n onClearFilters={() => {\n this.focusTargets.headerFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n headerRef={(header) => {\n this.focusTargets.headerFocus.setTarget(header);\n if (!this.hasParents) {\n this.focusTargets.activeValueFocus.setTarget(header);\n }\n }}\n ></FacetHeader>\n );\n }\n\n private renderSearchInput() {\n return (\n <FacetSearchInput\n i18n={this.bindings.i18n}\n label={this.displayName}\n query={this.facetState.facetSearch.query}\n onChange={(value: string) => {\n if (value === '') {\n this.facet.facetSearch.clear();\n return;\n }\n this.facet.facetSearch.updateText(value);\n this.facet.facetSearch.search();\n }}\n onClear={() => this.facet.facetSearch.clear()}\n ></FacetSearchInput>\n );\n }\n\n private renderValuesTree(parents: CategoryFacetValue[], isRoot: boolean) {\n if (!this.hasParents) {\n return this.renderChildren();\n }\n\n if (isRoot) {\n return (\n <CategoryFacetTreeValueContainer>\n <CategoryFacetAllCategoryButton\n i18n={this.bindings.i18n}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n />\n <CategoryFacetParentAsTreeContainer isTopLevel={false}>\n {this.renderValuesTree(parents, false)}\n </CategoryFacetParentAsTreeContainer>\n </CategoryFacetTreeValueContainer>\n );\n }\n\n if (parents.length > 1) {\n const parentValue = parents[0];\n\n return (\n <CategoryFacetTreeValueContainer>\n <CategoryFacetParentButton\n facetValue={parentValue}\n field={this.facetState?.field}\n i18n={this.bindings.i18n}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.toggleSelect(parentValue);\n }}\n />\n <CategoryFacetParentAsTreeContainer isTopLevel={false}>\n {this.renderValuesTree(parents.slice(1), false)}\n </CategoryFacetParentAsTreeContainer>\n </CategoryFacetTreeValueContainer>\n );\n }\n\n const activeParent = parents[0];\n const activeParentDisplayValue = getFieldValueCaption(\n this.facetState?.field,\n activeParent.value,\n this.bindings.i18n\n );\n\n return (\n <CategoryFacetParentValueLink\n displayValue={activeParentDisplayValue}\n numberOfResults={activeParent.numberOfResults}\n i18n={this.bindings.i18n}\n isLeafValue={activeParent.isLeafValue}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n searchQuery={this.facetState.facetSearch.query}\n setRef={(el) => this.focusTargets.activeValueFocus.setTarget(el)}\n >\n <CategoryFacetChildrenAsTreeContainer>\n {this.renderChildren()}\n </CategoryFacetChildrenAsTreeContainer>\n </CategoryFacetParentValueLink>\n );\n }\n\n private renderChild(\n facetValue: CategoryFacetValue,\n isShowLessFocusTarget: boolean,\n isShowMoreFocusTarget: boolean\n ) {\n const displayValue = getFieldValueCaption(\n this.facetState?.field,\n facetValue.value,\n this.bindings.i18n\n );\n const isSelected = facetValue.state === 'selected';\n return (\n <CategoryFacetChildValueLink\n displayValue={displayValue}\n i18n={this.bindings.i18n}\n isLeafValue={facetValue.isLeafValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.toggleSelect(facetValue);\n }}\n searchQuery={this.facetState.facetSearch.query}\n setRef={(element) => {\n isShowLessFocusTarget &&\n this.focusTargets.showLessFocus.setTarget(element);\n isShowMoreFocusTarget &&\n this.focusTargets.showMoreFocus.setTarget(element);\n }}\n ></CategoryFacetChildValueLink>\n );\n }\n\n private renderChildren() {\n const {values, selectedValueAncestry, hasActiveValues} = this.facetState;\n const nextValues = hasActiveValues ? selectedValueAncestry : values;\n\n const children = nextValues?.length\n ? hasActiveValues\n ? nextValues[nextValues.length - 1].children\n : nextValues\n : [];\n\n return children.map((value, i) =>\n this.renderChild(value, i === 0, i === this.resultIndexToFocusOnShowMore)\n );\n }\n\n private renderSearchResults() {\n return (\n <CategoryFacetSearchResultsContainer>\n {this.facetState.facetSearch.values.map((value) => (\n <CategoryFacetSearchValue\n value={value}\n field={this.facetState?.field}\n i18n={this.bindings.i18n}\n searchQuery={this.facetState.facetSearch.query}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.facetSearch.select(value);\n }}\n ></CategoryFacetSearchValue>\n ))}\n </CategoryFacetSearchResultsContainer>\n );\n }\n\n private renderMatches() {\n return (\n <FacetSearchMatches\n i18n={this.bindings.i18n}\n query={this.facetState.facetSearch.query}\n numberOfMatches={this.facetState.facetSearch.values.length}\n hasMoreMatches={this.facetState.facetSearch.moreValuesAvailable}\n ></FacetSearchMatches>\n );\n }\n\n private renderShowMoreLess() {\n return (\n <div class={this.hasParents ? 'pl-9' : ''}>\n <FacetShowMoreLess\n label={this.displayName}\n i18n={this.bindings.i18n}\n onShowMore={() => {\n this.resultIndexToFocusOnShowMore = this.facetState.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 </div>\n );\n }\n\n private isCategoryFacetState(\n state: unknown,\n propName: string\n ): state is CategoryFacetState {\n return (\n propName === 'facetState' &&\n typeof (state as CategoryFacetState)?.facetId === 'string'\n );\n }\n\n public render() {\n const {\n bindings: {i18n},\n facetState: {facetSearch, selectedValueAncestry, values},\n } = this;\n\n const {hasError, firstRequestExecuted} = this.summaryState;\n\n return (\n <FacetGuard\n enabled={true}\n firstSearchExecuted={firstRequestExecuted}\n hasError={hasError}\n hasResults={values.length > 0}\n >\n {\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && [\n this.renderSearchInput(),\n shouldDisplaySearchResults(facetSearch) ? (\n <Fragment>\n {facetSearch.values.length ? (\n <FacetValuesGroup\n i18n={i18n}\n label={this.displayName}\n query={facetSearch.query}\n >\n {this.renderSearchResults()}\n </FacetValuesGroup>\n ) : (\n <div class=\"mt-3\"></div>\n )}\n {this.renderMatches()}\n </Fragment>\n ) : (\n <Fragment>\n <FacetValuesGroup i18n={i18n} label={this.displayName}>\n {this.hasParents ? (\n <CategoryFacetParentAsTreeContainer\n isTopLevel={true}\n className=\"mt-3\"\n >\n {selectedValueAncestry &&\n this.renderValuesTree(selectedValueAncestry, true)}\n </CategoryFacetParentAsTreeContainer>\n ) : (\n <CategoryFacetChildrenAsTreeContainer className=\"mt-3\">\n {this.renderChildren()}\n </CategoryFacetChildrenAsTreeContainer>\n )}\n </FacetValuesGroup>\n {this.renderShowMoreLess()}\n </Fragment>\n ),\n ]}\n </FacetContainer>\n }\n </FacetGuard>\n );\n }\n\n private ensureSubscribed() {\n if (this.unsubscribeFacetController) {\n return;\n }\n this.unsubscribeFacetController = this.facet.subscribe(\n () => (this.facetState = this.facet.state)\n );\n }\n}\n","@import '../../../../global/global.pcss';\n@import '../../../common/facets/facet-search/facet-search.pcss';\n@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-value-checkbox/facet-value-checkbox.pcss';\n@import '../../../common/facets/facet-value-exclude/facet-value-exclude.pcss';\n@import '../../../common/facets/facet-value-box/facet-value-box.pcss';\n","import {\n ProductListingSummaryState,\n RegularFacet,\n RegularFacetState,\n SearchSummaryState,\n Summary,\n} from '@coveo/headless/commerce';\nimport {\n Component,\n h,\n State,\n Prop,\n Element,\n VNode,\n Fragment,\n} 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 {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {announceFacetSearchResultsWithAriaLive} from '../../../common/facets/facet-search/facet-search-aria-live';\nimport {\n shouldDisplaySearchResults,\n shouldUpdateFacetSearchComponent,\n} from '../../../common/facets/facet-search/facet-search-utils';\nimport {FacetSearchInput} from '../../../common/facets/facet-search/stencil-facet-search-input';\nimport {FacetSearchInputGuard} from '../../../common/facets/facet-search/stencil-facet-search-input-guard';\nimport {FacetSearchMatches} from '../../../common/facets/facet-search/stencil-facet-search-matches';\nimport {FacetSearchValue} from '../../../common/facets/facet-search/stencil-facet-search-value';\nimport {FacetShowMoreLess} from '../../../common/facets/facet-show-more-less/stencil-facet-show-more-less';\nimport {\n FacetValueProps,\n FacetValue,\n} from '../../../common/facets/facet-value/stencil-facet-value';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\n\n/**\n * The `atomic-commerce-facet` component renders a commerce facet that the end user can interact with to filter products.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and allows to expand/collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part search-wrapper - The search box wrapper.\n * @part search-input - The search box input.\n * @part search-icon - The search box submit button.\n * @part search-clear-button - The button to clear the search box of input.\n * @part more-matches - The label indicating there are more matches for the current facet search query.\n * @part no-matches - The label indicating there are no matches for the current facet search query.\n * @part matches-query - The highlighted query inside the matches labels.\n * @part search-highlight - The highlighted query inside the facet values.\n *\n * @part values - The facet values container.\n * @part value-label - The facet value label, common for all displays.\n * @part value-count - The facet value count, common for all displays.\n *\n * @part value-checkbox - The facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-checked - The checked facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-label - The facet value checkbox clickable label, available when display is 'checkbox'.\n * @part value-checkbox-icon - The facet value checkbox icon, available when display is 'checkbox'.\n * @part value-link - The facet value when display is 'link'.\n * @part value-link-selected - The selected facet value when display is 'link'.\n * @part value-box - The facet value when display is 'box'.\n * @part value-box-selected - The selected facet value when display is 'box'.\n * @part value-exclude-button - The button to exclude a facet value, available when display is 'checkbox'.\n *\n * @part show-more - The show more results button.\n * @part show-less - The show less results button.\n * @part show-more-less-icon - The icons of the show more & show less buttons.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-facet',\n styleUrl: 'atomic-commerce-facet.pcss',\n shadow: true,\n})\nexport class AtomicCommerceFacet implements InitializableComponent<Bindings> {\n @InitializeBindings() public bindings!: Bindings;\n @Element() private host!: HTMLElement;\n\n /**\n * The Summary controller instance.\n */\n @Prop() summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n /**\n * The facet controller instance.\n */\n @Prop() public facet!: RegularFacet;\n /**\n * Specifies whether the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The field identifier for this facet.\n */\n @Prop({reflect: true}) field?: string;\n\n @State()\n public facetState!: RegularFacetState;\n\n @BindStateToController('summary')\n @State()\n public summaryState!: SearchSummaryState | ProductListingSummaryState;\n\n @State() public error!: Error;\n\n private showLessFocus?: FocusTargetController;\n private showMoreFocus?: FocusTargetController;\n private headerFocus?: FocusTargetController;\n private unsubscribeFacetController?: () => void | undefined;\n\n @AriaLiveRegion('facet-search')\n protected facetSearchAriaMessage!: string;\n\n public initialize() {\n if (!this.facet) {\n return;\n }\n this.ensureSubscribed();\n this.initAriaLive();\n this.initPopover();\n }\n\n public connectedCallback(): void {\n this.ensureSubscribed();\n }\n\n public disconnectedCallback(): void {\n this.unsubscribeFacetController?.();\n this.unsubscribeFacetController = undefined;\n }\n\n public componentShouldUpdate(\n next: unknown,\n prev: unknown,\n propName: keyof AtomicCommerceFacet\n ) {\n if (\n this.isFacetState(prev, propName) &&\n this.isFacetState(next, propName)\n ) {\n return shouldUpdateFacetSearchComponent(\n next.facetSearch,\n prev.facetSearch\n );\n }\n return true;\n }\n\n public render() {\n if (!this.facet) {\n return;\n }\n const {hasError, firstRequestExecuted} = this.summaryState;\n return (\n <FacetGuard\n enabled={true}\n hasError={hasError}\n firstSearchExecuted={firstRequestExecuted}\n hasResults={this.facetState.values.length > 0}\n >\n {\n <FacetContainer>\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.displayName}\n onClearFilters={() => {\n this.focusTargets.header.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.activeValues.length}\n isCollapsed={this.isCollapsed}\n headingLevel={0}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTargets.header.setTarget(el)}\n ></FacetHeader>\n {this.renderBody()}\n </FacetContainer>\n }\n </FacetGuard>\n );\n }\n\n private renderBody() {\n if (this.isCollapsed) {\n return;\n }\n return (\n <Fragment>\n <FacetSearchInputGuard\n canShowMoreValues={this.facetState.canShowMoreValues}\n numberOfDisplayedValues={this.facetState.values.length}\n withSearch={true}\n >\n <FacetSearchInput\n i18n={this.bindings.i18n}\n label={this.displayName}\n onChange={(value) => {\n if (value === '') {\n this.facet.facetSearch.clear();\n return;\n }\n this.facet.facetSearch.updateText(value);\n this.facet.facetSearch.search();\n }}\n onClear={() => this.facet.facetSearch.clear()}\n query={this.facetState.facetSearch.query}\n />\n </FacetSearchInputGuard>\n {shouldDisplaySearchResults(this.facetState.facetSearch)\n ? [this.renderSearchResults(), this.renderMatches()]\n : [this.renderValues(), this.renderShowMoreLess()]}\n </Fragment>\n );\n }\n\n private renderValuesContainer(children: VNode[], query?: string) {\n return (\n <FacetValuesGroup\n i18n={this.bindings.i18n}\n label={this.displayName}\n query={query}\n >\n <ul part=\"values\" class=\"mt-3\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderSearchResults() {\n return this.renderValuesContainer(\n this.facetState.facetSearch.values.map((value) => (\n <FacetSearchValue\n {...this.facetValueProps}\n facetCount={value.count}\n onExclude={() => this.facet.facetSearch.exclude(value)}\n onSelect={() => this.facet.facetSearch.select(value)}\n facetValue={value.rawValue}\n />\n ))\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.facetState.values.map((value, i) => {\n const shouldFocusOnShowLessAfterInteraction = i === 0;\n const shouldFocusOnShowMoreAfterInteraction = i === 0;\n\n return (\n <FacetValue\n {...this.facetValueProps}\n facetCount={value.numberOfResults}\n onExclude={() => this.facet.toggleExclude(value)}\n onSelect={() => this.facet.toggleSelect(value)}\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.displayName}\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.facetState.canShowMoreValues}\n canShowLessValues={this.facetState.canShowLessValues}\n ></FacetShowMoreLess>\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 ></FacetSearchMatches>\n );\n }\n\n private get activeValues() {\n return this.facetState.values.filter(({state}) => state !== 'idle');\n }\n\n private get displayName() {\n return this.facetState.displayName || 'no-label';\n }\n\n private get facetValueProps(): Pick<\n FacetValueProps,\n | 'facetSearchQuery'\n | 'enableExclusion'\n | 'field'\n | 'i18n'\n | 'displayValuesAs'\n > {\n return {\n facetSearchQuery: this.facetState.facetSearch.query,\n displayValuesAs: 'checkbox',\n enableExclusion: false,\n field: this.facetState.field,\n i18n: this.bindings.i18n,\n };\n }\n\n private get isHidden() {\n return !this.facetState.values.length;\n }\n\n private initPopover() {\n initializePopover(this.host, {\n ...this.facetInfo,\n hasValues: () => !!this.facetState.values.length,\n numberOfActiveValues: () => this.activeValues.length,\n });\n }\n\n private initAriaLive() {\n announceFacetSearchResultsWithAriaLive(\n this.facet,\n this.displayName,\n (msg) => (this.facetSearchAriaMessage = msg),\n this.bindings.i18n\n );\n }\n\n private get facetInfo(): FacetInfo {\n return {\n label: () => this.bindings.i18n.t(this.displayName),\n facetId: this.facetState.facetId,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n }\n\n private get focusTargets(): {\n showLess: FocusTargetController;\n showMore: FocusTargetController;\n header: FocusTargetController;\n } {\n if (!this.showLessFocus) {\n this.showLessFocus = new FocusTargetController(this);\n }\n if (!this.showMoreFocus) {\n this.showMoreFocus = new FocusTargetController(this);\n }\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n\n return {\n showLess: this.showLessFocus,\n showMore: this.showMoreFocus,\n header: this.headerFocus,\n };\n }\n\n private isFacetState(\n state: unknown,\n propName: string\n ): state is RegularFacetState {\n return (\n propName === 'facetState' &&\n typeof (state as RegularFacetState)?.facetId === 'string'\n );\n }\n\n private ensureSubscribed() {\n if (this.unsubscribeFacetController) {\n return;\n }\n this.unsubscribeFacetController = this.facet.subscribe(\n () => (this.facetState = this.facet.state)\n );\n }\n}\n","@import '../../../common/facets/numeric-facet-common.pcss';\n","import {\n NumericFacet,\n NumericFacetState,\n NumericRangeRequest,\n ProductListingSummaryState,\n SearchSummaryState,\n Summary,\n Context,\n ContextState,\n buildContext,\n} from '@coveo/headless/commerce';\nimport {Component, Element, h, Listen, Prop, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {NumericFacetValueLink} from '../../../common/facets/numeric-facet/value-link';\nimport {NumericFacetValuesContainer} from '../../../common/facets/numeric-facet/values-container';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from '../../../common/facets/stencil-facet-common';\nimport {\n defaultCurrencyFormatter,\n defaultNumberFormatter,\n} from '../../../common/formats/format-common';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\nimport type {Range} from '../facet-number-input/atomic-commerce-facet-number-input';\n\n/**\n * The `atomic-commerce-numeric-facet` component is responsible for rendering a commerce facet that allows the user to filter products using numeric ranges.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-numeric-facet',\n styleUrl: './atomic-commerce-numeric-facet.pcss',\n shadow: true,\n})\nexport class AtomicCommerceNumericFacet\n implements InitializableComponent<Bindings>\n{\n @InitializeBindings() public bindings!: Bindings;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: NumericFacetState;\n\n @BindStateToController('summary')\n @State()\n public summaryState!: SearchSummaryState | ProductListingSummaryState;\n\n public context!: Context;\n @BindStateToController('context') contextState!: ContextState;\n\n @State() public error!: Error;\n\n private manualRanges: (NumericRangeRequest & {label?: string})[] = [];\n\n /**\n * The Summary controller instance.\n */\n @Prop() summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n /**\n * The numeric facet controller instance.\n */\n @Prop({reflect: true}) public facet!: NumericFacet;\n /**\n * Specifies whether the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The field identifier for this facet.\n */\n @Prop({reflect: true}) field?: string;\n\n private headerFocus?: FocusTargetController;\n\n private get focusTarget(): FocusTargetController {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\n\n private unsubscribeFacetController?: () => void | undefined;\n\n public initialize() {\n if (!this.facet) {\n return;\n }\n\n this.context = buildContext(this.bindings.engine);\n this.ensureSubscribed();\n this.registerFacetToStore();\n }\n\n public connectedCallback() {\n this.ensureSubscribed();\n }\n\n public disconnectedCallback() {\n this.unsubscribeFacetController?.();\n this.unsubscribeFacetController = undefined;\n }\n\n private get formatter() {\n if (this.field === 'ec_price' || this.field === 'ec_promo_price') {\n return defaultCurrencyFormatter(this.contextState.currency);\n }\n return defaultNumberFormatter;\n }\n\n private registerFacetToStore() {\n const {facetId} = this.facetState;\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.displayName),\n facetId: facetId,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n }\n\n @Listen('atomic/numberInputApply')\n public applyNumberInput({detail}: CustomEvent<Range>) {\n const {start, end} = detail;\n this.facet.setRanges([\n {\n start,\n end,\n endInclusive: true,\n state: 'selected',\n },\n ]);\n }\n\n public render() {\n const {\n bindings: {i18n},\n } = this;\n const {firstRequestExecuted, hasError} = this.summaryState;\n return (\n <FacetGuard\n enabled={true}\n firstSearchExecuted={firstRequestExecuted}\n hasError={hasError}\n hasResults={this.shouldRenderFacet}\n >\n {\n <FacetContainer>\n <FacetHeader\n i18n={i18n}\n label={this.displayName}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={0}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n />\n {!this.isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && (\n <atomic-commerce-facet-number-input\n bindings={this.bindings}\n label={this.displayName}\n facet={this.facet}\n range={this.facetState.manualRange}\n ></atomic-commerce-facet-number-input>\n ),\n ]}\n </FacetContainer>\n }\n </FacetGuard>\n );\n }\n\n private renderValues() {\n const {\n manualRanges,\n displayName,\n bindings: {\n i18n,\n engine: {logger},\n },\n formatter,\n } = this;\n\n return (\n <NumericFacetValuesContainer i18n={i18n} label={displayName}>\n {this.valuesToRender.map((value) => (\n <NumericFacetValueLink\n formatter={formatter}\n displayValuesAs={'checkbox'}\n facetValue={value}\n field={this.facetState.field}\n i18n={i18n}\n logger={logger}\n manualRanges={manualRanges}\n onClick={() => this.facet.toggleSelect(value)}\n />\n ))}\n </NumericFacetValuesContainer>\n );\n }\n\n private get displayName() {\n return this.facetState.displayName || 'no-label';\n }\n\n private get numberOfSelectedValues() {\n return (\n this.facetState.values.filter(({state}) => state === 'selected').length ||\n 0\n );\n }\n\n private get hasInputRange() {\n return !!this.facetState.manualRange || this.summaryState.isLoading;\n }\n\n private get shouldRenderValues() {\n return !this.hasInputRange && !!this.valuesToRender.length;\n }\n\n private get valuesToRender() {\n return (\n this.facetState.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderInput() {\n const {\n firstRequestExecuted: firstSearchExecuted,\n hasError,\n isLoading,\n hasProducts: hasResults,\n } = this.summaryState;\n return shouldDisplayInputForFacetRange({\n hasInputRange: this.hasInputRange,\n searchStatusState: {\n firstSearchExecuted,\n hasError,\n hasResults,\n isLoading,\n },\n facetValues: this.facetState.values,\n hasInput: true,\n });\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get hasValues() {\n if (this.facetState.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private ensureSubscribed() {\n if (this.unsubscribeFacetController) {\n return;\n }\n this.unsubscribeFacetController = this.facet.subscribe(\n () => (this.facetState = this.facet.state)\n );\n }\n}\n","@import '../../../common/facets/facet-common.pcss';\n","import {\n DateFacet,\n DateFilterRange,\n deserializeRelativeDate,\n DateFacetValue,\n DateFacetState,\n DateRangeRequest,\n SearchSummaryState,\n ProductListingSummaryState,\n Summary,\n} from '@coveo/headless/commerce';\nimport {Component, Element, h, Listen, Prop, State, VNode} from '@stencil/core';\nimport {parseDate} from '../../../../utils/date-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {FacetValueLabelHighlight} from '../../../common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from '../../../common/facets/facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from '../../../common/facets/stencil-facet-common';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results.\n * An `atomic-commerce-timeframe-facet` displays a facet of the results for the current query as date intervals.\n *\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-timeframe-facet',\n styleUrl: './atomic-commerce-timeframe-facet.pcss',\n shadow: true,\n})\nexport class AtomicCommerceTimeframeFacet\n implements InitializableComponent<Bindings>\n{\n @InitializeBindings() public bindings!: Bindings;\n @Element() private host!: HTMLElement;\n\n /**\n * The summary controller instance.\n */\n @Prop() summary!: Summary<SearchSummaryState | ProductListingSummaryState>;\n /**\n * The date facet controller instance.\n */\n @Prop() public facet!: DateFacet;\n /**\n * Specifies whether the facet is collapsed.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The field identifier for this facet.\n */\n @Prop({reflect: true}) field?: string;\n\n @State()\n public facetState!: DateFacetState;\n\n @BindStateToController('summary')\n @State()\n public summaryState!: SearchSummaryState | ProductListingSummaryState;\n\n @State() public error!: Error;\n\n @State() private inputRange?: DateFilterRange;\n\n private headerFocus?: FocusTargetController;\n\n private get displayName() {\n return this.facetState.displayName || 'no-label';\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 private unsubscribeFacetController?: () => void | undefined;\n\n public initialize() {\n if (!this.facet) {\n return;\n }\n this.ensureSubscribed();\n this.registerFacetToStore();\n }\n\n public connectedCallback(): void {\n this.ensureSubscribed();\n }\n\n @Listen('atomic/dateInputApply')\n public applyDateInput({detail}: CustomEvent<DateFilterRange>) {\n this.inputRange = {start: detail.start, end: detail.end};\n }\n\n private get valuesToRender() {\n return (\n this.facetState.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderValues() {\n return !this.hasInputRange && !!this.valuesToRender.length;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get shouldRenderInput() {\n const {\n firstRequestExecuted: firstSearchExecuted,\n hasError,\n isLoading,\n hasProducts: hasResults,\n } = this.summaryState;\n return shouldDisplayInputForFacetRange({\n hasInputRange: this.hasInputRange,\n searchStatusState: {\n firstSearchExecuted,\n hasError,\n hasResults,\n isLoading,\n },\n facetValues: this.facetState.values || [],\n hasInput: true,\n });\n }\n\n private get hasValues() {\n if (this.facetState.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private get numberOfSelectedValues() {\n if (this.hasInputRange) {\n return 1;\n }\n\n return (\n this.facetState.values.filter(({state}) => state === 'selected').length ||\n 0\n );\n }\n\n private get hasInputRange() {\n return !!this.inputRange;\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.unsubscribeFacetController?.();\n this.unsubscribeFacetController = undefined;\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet;\n }\n\n private resetRange() {\n this.inputRange = undefined;\n this.facet.setRanges([]);\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.displayName),\n facetId: this.facetState.facetId,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n }\n\n private formatFacetValue(facetValue: DateFacetValue) {\n try {\n const startDate = deserializeRelativeDate(facetValue.start);\n const relativeDate =\n startDate.period === 'past'\n ? startDate\n : deserializeRelativeDate(facetValue.end);\n\n return this.bindings.i18n.t(\n `${relativeDate.period}-${relativeDate.unit}`,\n {\n count: relativeDate.amount,\n }\n );\n } catch (error) {\n return this.bindings.i18n.t('to', {\n start: parseDate(facetValue.start).format('YYYY-MM-DD'),\n end: parseDate(facetValue.end).format('YYYY-MM-DD'),\n });\n }\n }\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) => this.renderValue(value))\n );\n }\n\n private renderValue(facetValue: DateFacetValue) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n const isExcluded = facetValue.state === 'excluded';\n return (\n <FacetValueLink\n displayValue={displayValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n i18n={this.bindings.i18n}\n onClick={() => this.facet.toggleSingleSelect(facetValue)}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup i18n={this.bindings.i18n} label={this.displayName}>\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.displayName}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n if (this.hasInputRange) {\n this.resetRange();\n return;\n }\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={0}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderDateInput() {\n return (\n <atomic-facet-date-input\n bindings={this.bindings}\n label={this.displayName}\n rangeGetter={() => this.inputRange}\n facetId={this.facetState.facetId}\n rangeSetter={({start, end, endInclusive}: DateRangeRequest) => {\n this.facet.setRanges([\n {\n start,\n end,\n endInclusive,\n state: 'selected',\n },\n ]);\n }}\n ></atomic-facet-date-input>\n );\n }\n\n public render() {\n const {hasError, firstRequestExecuted} = this.summaryState;\n\n return (\n <FacetGuard\n enabled={true}\n firstSearchExecuted={firstRequestExecuted}\n hasError={hasError}\n hasResults={this.shouldRenderFacet}\n >\n {\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && this.renderDateInput(),\n ]}\n </FacetContainer>\n }\n </FacetGuard>\n );\n }\n\n private ensureSubscribed() {\n if (this.unsubscribeFacetController) {\n return;\n }\n this.unsubscribeFacetController = this.facet.subscribe(\n () => (this.facetState = this.facet.state)\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-3f35faca.js';
2
2
  import { isUndefined } from '@coveo/bueno';
3
- import { B as Button } from './stencil-button-2a8cc429.js';
4
- import './ripple-b1f0b09d.js';
3
+ import { B as Button } from './stencil-button-75e8b31b.js';
5
4
  import './event-utils-8de63ec3.js';
6
5
  import './stencil-button-style-0bc80040.js';
7
6
 
@@ -1 +1 @@
1
- {"file":"atomic-commerce-facet-number-input.entry.js","mappings":"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","names":[],"sources":["src/components/commerce/facets/facet-number-input/atomic-commerce-facet-number-input.pcss?tag=atomic-commerce-facet-number-input","src/components/commerce/facets/facet-number-input/atomic-commerce-facet-number-input.tsx"],"sourcesContent":["[part='input-form'] {\n display: grid;\n grid-template-areas:\n 'label-start label-end .'\n 'input-start input-end apply-button';\n grid-template-columns: 1fr 1fr auto;\n}\n\n[part='label-start'] {\n grid-area: label-start;\n}\n[part='label-end'] {\n grid-area: label-end;\n}\n[part='input-start'] {\n grid-area: input-start;\n}\n[part='input-end'] {\n grid-area: input-end;\n}\n\n[part='input-apply-button'] {\n grid-area: apply-button;\n}\n","import {isUndefined} from '@coveo/bueno';\nimport {NumericFacet} from '@coveo/headless/commerce';\nimport {Component, h, Prop, Event, EventEmitter, State} from '@stencil/core';\nimport {Button} from '../../../common/stencil-button';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\n\nexport type Range = {start: number; end: number};\n\n/**\n * Internal component made to be integrated in a NumericFacet.\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-facet-number-input',\n styleUrl: 'atomic-commerce-facet-number-input.pcss',\n shadow: false,\n})\nexport class AtomicCommerceFacetNumberInput {\n private startRef!: HTMLInputElement;\n private endRef!: HTMLInputElement;\n\n @State() private start?: number;\n @State() private end?: number;\n\n @Prop() public bindings!: Bindings;\n @Prop() public label!: string;\n @Prop() public range?: Range;\n @Prop() public facet!: NumericFacet;\n\n @Event({\n eventName: 'atomic/numberInputApply',\n })\n private applyInput!: EventEmitter;\n\n public connectedCallback() {\n this.start = this.range?.start;\n this.end = this.range?.end;\n }\n\n private apply() {\n if (!this.startRef.validity.valid || !this.endRef.validity.valid) {\n return;\n }\n\n this.applyInput.emit({\n start: this.start,\n end: this.end,\n });\n }\n\n private get absoluteMinimum(): number {\n const {field} = this.facet.state;\n const isPriceField = ['ec_price', 'ec_promo_price'].includes(field);\n return isPriceField ? 0 : Number.MIN_SAFE_INTEGER;\n }\n\n private get minimumInputValue(): number {\n return isUndefined(this.start) ? this.absoluteMinimum : this.start;\n }\n\n private get maximumInputValue() {\n return isUndefined(this.end) ? Number.MAX_SAFE_INTEGER : this.end;\n }\n\n render() {\n const {facetId} = this.facet.state;\n const label = this.bindings.i18n.t(this.label);\n const minText = this.bindings.i18n.t('min');\n const maxText = this.bindings.i18n.t('max');\n const minAria = this.bindings.i18n.t('number-input-minimum', {label});\n const maxAria = this.bindings.i18n.t('number-input-maximum', {label});\n const apply = this.bindings.i18n.t('apply');\n const applyAria = this.bindings.i18n.t('number-input-apply', {label});\n\n const inputClasses =\n 'p-2.5 input-primary placeholder-neutral-dark min-w-0 mr-1';\n const labelClasses = 'text-neutral-dark text-sm';\n const step = 'any';\n\n return (\n <form\n class=\"mt-4 gap-y-0.5 px-2\"\n part=\"input-form\"\n onSubmit={(e) => {\n e.preventDefault();\n this.apply();\n return false;\n }}\n >\n <label\n part=\"label-start\"\n class={labelClasses}\n htmlFor={`${facetId}_start`}\n >\n {minText}\n </label>\n <input\n part=\"input-start\"\n id={`${facetId}_start`}\n type=\"number\"\n step={step}\n ref={(ref) => (this.startRef = ref!)}\n class={inputClasses}\n aria-label={minAria}\n required\n min={this.absoluteMinimum}\n max={this.maximumInputValue}\n value={this.range?.start}\n onInput={(e) =>\n (this.start = (e.target as HTMLInputElement).valueAsNumber)\n }\n />\n <label part=\"label-end\" class={labelClasses} htmlFor={`${facetId}_end`}>\n {maxText}\n </label>\n <input\n part=\"input-end\"\n id={`${facetId}_end`}\n type=\"number\"\n step={step}\n ref={(ref) => (this.endRef = ref!)}\n class={inputClasses}\n aria-label={maxAria}\n required\n min={this.minimumInputValue}\n max={Number.MAX_SAFE_INTEGER}\n value={this.range?.end}\n onInput={(e) =>\n (this.end = (e.target as HTMLInputElement).valueAsNumber)\n }\n />\n <Button\n style=\"outline-primary\"\n type=\"submit\"\n part=\"input-apply-button\"\n class=\"flex-none truncate p-2.5\"\n ariaLabel={applyAria}\n text={apply}\n ></Button>\n </form>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-commerce-facet-number-input.entry.js","mappings":"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","names":[],"sources":["src/components/commerce/facets/facet-number-input/atomic-commerce-facet-number-input.pcss?tag=atomic-commerce-facet-number-input","src/components/commerce/facets/facet-number-input/atomic-commerce-facet-number-input.tsx"],"sourcesContent":["[part='input-form'] {\n display: grid;\n grid-template-areas:\n 'label-start label-end .'\n 'input-start input-end apply-button';\n grid-template-columns: 1fr 1fr auto;\n}\n\n[part='label-start'] {\n grid-area: label-start;\n}\n[part='label-end'] {\n grid-area: label-end;\n}\n[part='input-start'] {\n grid-area: input-start;\n}\n[part='input-end'] {\n grid-area: input-end;\n}\n\n[part='input-apply-button'] {\n grid-area: apply-button;\n}\n","import {isUndefined} from '@coveo/bueno';\nimport {NumericFacet} from '@coveo/headless/commerce';\nimport {Component, h, Prop, Event, EventEmitter, State} from '@stencil/core';\nimport {Button} from '../../../common/stencil-button';\nimport {CommerceBindings as Bindings} from '../../atomic-commerce-interface/atomic-commerce-interface';\n\nexport type Range = {start: number; end: number};\n\n/**\n * Internal component made to be integrated in a NumericFacet.\n * @alpha\n */\n@Component({\n tag: 'atomic-commerce-facet-number-input',\n styleUrl: 'atomic-commerce-facet-number-input.pcss',\n shadow: false,\n})\nexport class AtomicCommerceFacetNumberInput {\n private startRef!: HTMLInputElement;\n private endRef!: HTMLInputElement;\n\n @State() private start?: number;\n @State() private end?: number;\n\n @Prop() public bindings!: Bindings;\n @Prop() public label!: string;\n @Prop() public range?: Range;\n @Prop() public facet!: NumericFacet;\n\n @Event({\n eventName: 'atomic/numberInputApply',\n })\n private applyInput!: EventEmitter;\n\n public connectedCallback() {\n this.start = this.range?.start;\n this.end = this.range?.end;\n }\n\n private apply() {\n if (!this.startRef.validity.valid || !this.endRef.validity.valid) {\n return;\n }\n\n this.applyInput.emit({\n start: this.start,\n end: this.end,\n });\n }\n\n private get absoluteMinimum(): number {\n const {field} = this.facet.state;\n const isPriceField = ['ec_price', 'ec_promo_price'].includes(field);\n return isPriceField ? 0 : Number.MIN_SAFE_INTEGER;\n }\n\n private get minimumInputValue(): number {\n return isUndefined(this.start) ? this.absoluteMinimum : this.start;\n }\n\n private get maximumInputValue() {\n return isUndefined(this.end) ? Number.MAX_SAFE_INTEGER : this.end;\n }\n\n render() {\n const {facetId} = this.facet.state;\n const label = this.bindings.i18n.t(this.label);\n const minText = this.bindings.i18n.t('min');\n const maxText = this.bindings.i18n.t('max');\n const minAria = this.bindings.i18n.t('number-input-minimum', {label});\n const maxAria = this.bindings.i18n.t('number-input-maximum', {label});\n const apply = this.bindings.i18n.t('apply');\n const applyAria = this.bindings.i18n.t('number-input-apply', {label});\n\n const inputClasses =\n 'p-2.5 input-primary placeholder-neutral-dark min-w-0 mr-1';\n const labelClasses = 'text-neutral-dark text-sm';\n const step = 'any';\n\n return (\n <form\n class=\"mt-4 gap-y-0.5 px-2\"\n part=\"input-form\"\n onSubmit={(e) => {\n e.preventDefault();\n this.apply();\n return false;\n }}\n >\n <label\n part=\"label-start\"\n class={labelClasses}\n htmlFor={`${facetId}_start`}\n >\n {minText}\n </label>\n <input\n part=\"input-start\"\n id={`${facetId}_start`}\n type=\"number\"\n step={step}\n ref={(ref) => (this.startRef = ref!)}\n class={inputClasses}\n aria-label={minAria}\n required\n min={this.absoluteMinimum}\n max={this.maximumInputValue}\n value={this.range?.start}\n onInput={(e) =>\n (this.start = (e.target as HTMLInputElement).valueAsNumber)\n }\n />\n <label part=\"label-end\" class={labelClasses} htmlFor={`${facetId}_end`}>\n {maxText}\n </label>\n <input\n part=\"input-end\"\n id={`${facetId}_end`}\n type=\"number\"\n step={step}\n ref={(ref) => (this.endRef = ref!)}\n class={inputClasses}\n aria-label={maxAria}\n required\n min={this.minimumInputValue}\n max={Number.MAX_SAFE_INTEGER}\n value={this.range?.end}\n onInput={(e) =>\n (this.end = (e.target as HTMLInputElement).valueAsNumber)\n }\n />\n <Button\n style=\"outline-primary\"\n type=\"submit\"\n part=\"input-apply-button\"\n class=\"flex-none truncate p-2.5\"\n ariaLabel={applyAria}\n text={apply}\n ></Button>\n </form>\n );\n }\n}\n"],"version":3}
@@ -1,10 +1,9 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-3f35faca.js';
2
2
  import { buildDateRange } from '@coveo/headless';
3
3
  import { p as parseDate } from './date-utils-e07b72d6.js';
4
- import { B as Button } from './stencil-button-2a8cc429.js';
4
+ import { B as Button } from './stencil-button-75e8b31b.js';
5
5
  import './dayjs.min-d04628c6.js';
6
6
  import './_commonjsHelpers-1789f0cf.js';
7
- import './ripple-b1f0b09d.js';
8
7
  import './event-utils-8de63ec3.js';
9
8
  import './stencil-button-style-0bc80040.js';
10
9
 
@@ -1 +1 @@
1
- {"file":"atomic-facet-date-input.entry.js","mappings":"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","names":[],"sources":["src/components/common/facets/facet-date-input/facet-date-input.tsx"],"sourcesContent":["import {\n buildDateRange,\n DateFilterRange,\n DateRangeRequest,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Event, EventEmitter} from '@stencil/core';\nimport {parseDate} from '../../../../utils/date-utils';\nimport {Button} from '../../../common/stencil-button';\nimport {AnyBindings} from '../../interface/bindings';\n\n/**\n * Internal component made to be integrated in a TimeframeFacet.\n * @internal\n */\n@Component({\n tag: 'atomic-facet-date-input',\n shadow: false,\n})\nexport class FacetDateInput {\n @State() private start?: Date;\n @State() private end?: Date;\n private startRef!: HTMLInputElement;\n private endRef!: HTMLInputElement;\n\n @Prop() public bindings!: AnyBindings;\n @Prop() public rangeGetter!: () => DateFilterRange | undefined;\n @Prop() public rangeSetter!: (range: DateRangeRequest) => void;\n @Prop() public facetId!: string;\n @Prop() public label!: string;\n @Prop() public min?: string;\n @Prop() public max?: string;\n\n @Event({\n eventName: 'atomic/dateInputApply',\n })\n private applyInput!: EventEmitter;\n\n public connectedCallback() {\n const range = this.rangeGetter();\n this.start = range ? parseDate(range.start).toDate() : undefined;\n this.end = range ? parseDate(range.end).toDate() : undefined;\n }\n public componentDidUpdate() {\n if (!this.startRef.value && !this.endRef.value) {\n this.startRef.min = this.min || this.formattedDateValue('1401-01-01');\n this.endRef.max = this.max || '';\n this.startRef.max = this.max || '';\n this.endRef.min = this.min || '';\n }\n }\n\n private apply() {\n if (!this.startRef.validity.valid || !this.endRef.validity.valid) {\n return;\n }\n\n this.applyInput.emit({\n start: this.start,\n end: this.end,\n });\n\n const rangeRequest = buildDateRange({\n start: this.start!,\n end: this.end!.setHours(23, 59, 59, 999),\n });\n\n this.rangeSetter(rangeRequest);\n }\n\n private formattedDateValue(date?: string | Date) {\n if (!date) {\n return '';\n }\n return parseDate(date).format('YYYY-MM-DD');\n }\n\n render() {\n const label = this.bindings.i18n.t(this.label);\n const startLabel = this.bindings.i18n.t('start');\n const endLabel = this.bindings.i18n.t('end');\n const startAria = this.bindings.i18n.t('date-input-start', {label});\n const endAria = this.bindings.i18n.t('date-input-end', {label});\n const apply = this.bindings.i18n.t('apply');\n const applyAria = this.bindings.i18n.t('date-input-apply', {label});\n\n const inputClasses = 'input-primary p-2.5';\n const labelClasses = 'text-neutral-dark self-center';\n\n const placeholder = 'yyyy-mm-dd';\n // Fallback for Safari < 14.1, date with format yyyy-mm-dd over 1400 (API limit)\n const pattern =\n '^(1[4-9]\\\\d{2}|2\\\\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01])$';\n\n const range = this.rangeGetter();\n\n return (\n <form\n class=\"mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2\"\n onSubmit={(e) => {\n e.preventDefault();\n this.apply();\n return false;\n }}\n >\n <label\n part=\"input-label\"\n class={labelClasses}\n htmlFor={`${this.facetId}_start`}\n >\n {startLabel}:\n </label>\n <input\n id={`${this.facetId}_start`}\n part=\"input-start\"\n type=\"date\"\n ref={(ref) => (this.startRef = ref!)}\n class={inputClasses}\n aria-label={startAria}\n placeholder={placeholder}\n pattern={pattern}\n required\n // API/Index minimum supported date\n min={this.min || this.formattedDateValue('1401-01-01')}\n max={this.end ? this.formattedDateValue(this.end) : this.max}\n value={this.formattedDateValue(range?.start)}\n onInput={(e) =>\n (this.start = parseDate(\n (e.target as HTMLInputElement).value\n ).toDate())\n }\n />\n <label\n part=\"input-label\"\n class={labelClasses}\n htmlFor={`${this.facetId}_end`}\n >\n {endLabel}:\n </label>\n <input\n id={`${this.facetId}_end`}\n part=\"input-end\"\n type=\"date\"\n ref={(ref) => (this.endRef = ref!)}\n class={inputClasses}\n aria-label={endAria}\n placeholder={placeholder}\n pattern={pattern}\n required\n min={this.formattedDateValue(this.start) || this.min}\n max={this.max}\n value={this.formattedDateValue(range?.end)}\n onInput={(e) =>\n (this.end = parseDate(\n (e.target as HTMLInputElement).value\n ).toDate())\n }\n />\n <Button\n style=\"outline-primary\"\n type=\"submit\"\n part=\"input-apply-button\"\n class=\"col-span-2 truncate p-2.5\"\n ariaLabel={applyAria}\n text={apply}\n ></Button>\n </form>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-facet-date-input.entry.js","mappings":"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","names":[],"sources":["src/components/common/facets/facet-date-input/facet-date-input.tsx"],"sourcesContent":["import {\n buildDateRange,\n DateFilterRange,\n DateRangeRequest,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Event, EventEmitter} from '@stencil/core';\nimport {parseDate} from '../../../../utils/date-utils';\nimport {Button} from '../../../common/stencil-button';\nimport {AnyBindings} from '../../interface/bindings';\n\n/**\n * Internal component made to be integrated in a TimeframeFacet.\n * @internal\n */\n@Component({\n tag: 'atomic-facet-date-input',\n shadow: false,\n})\nexport class FacetDateInput {\n @State() private start?: Date;\n @State() private end?: Date;\n private startRef!: HTMLInputElement;\n private endRef!: HTMLInputElement;\n\n @Prop() public bindings!: AnyBindings;\n @Prop() public rangeGetter!: () => DateFilterRange | undefined;\n @Prop() public rangeSetter!: (range: DateRangeRequest) => void;\n @Prop() public facetId!: string;\n @Prop() public label!: string;\n @Prop() public min?: string;\n @Prop() public max?: string;\n\n @Event({\n eventName: 'atomic/dateInputApply',\n })\n private applyInput!: EventEmitter;\n\n public connectedCallback() {\n const range = this.rangeGetter();\n this.start = range ? parseDate(range.start).toDate() : undefined;\n this.end = range ? parseDate(range.end).toDate() : undefined;\n }\n public componentDidUpdate() {\n if (!this.startRef.value && !this.endRef.value) {\n this.startRef.min = this.min || this.formattedDateValue('1401-01-01');\n this.endRef.max = this.max || '';\n this.startRef.max = this.max || '';\n this.endRef.min = this.min || '';\n }\n }\n\n private apply() {\n if (!this.startRef.validity.valid || !this.endRef.validity.valid) {\n return;\n }\n\n this.applyInput.emit({\n start: this.start,\n end: this.end,\n });\n\n const rangeRequest = buildDateRange({\n start: this.start!,\n end: this.end!.setHours(23, 59, 59, 999),\n });\n\n this.rangeSetter(rangeRequest);\n }\n\n private formattedDateValue(date?: string | Date) {\n if (!date) {\n return '';\n }\n return parseDate(date).format('YYYY-MM-DD');\n }\n\n render() {\n const label = this.bindings.i18n.t(this.label);\n const startLabel = this.bindings.i18n.t('start');\n const endLabel = this.bindings.i18n.t('end');\n const startAria = this.bindings.i18n.t('date-input-start', {label});\n const endAria = this.bindings.i18n.t('date-input-end', {label});\n const apply = this.bindings.i18n.t('apply');\n const applyAria = this.bindings.i18n.t('date-input-apply', {label});\n\n const inputClasses = 'input-primary p-2.5';\n const labelClasses = 'text-neutral-dark self-center';\n\n const placeholder = 'yyyy-mm-dd';\n // Fallback for Safari < 14.1, date with format yyyy-mm-dd over 1400 (API limit)\n const pattern =\n '^(1[4-9]\\\\d{2}|2\\\\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01])$';\n\n const range = this.rangeGetter();\n\n return (\n <form\n class=\"mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2\"\n onSubmit={(e) => {\n e.preventDefault();\n this.apply();\n return false;\n }}\n >\n <label\n part=\"input-label\"\n class={labelClasses}\n htmlFor={`${this.facetId}_start`}\n >\n {startLabel}:\n </label>\n <input\n id={`${this.facetId}_start`}\n part=\"input-start\"\n type=\"date\"\n ref={(ref) => (this.startRef = ref!)}\n class={inputClasses}\n aria-label={startAria}\n placeholder={placeholder}\n pattern={pattern}\n required\n // API/Index minimum supported date\n min={this.min || this.formattedDateValue('1401-01-01')}\n max={this.end ? this.formattedDateValue(this.end) : this.max}\n value={this.formattedDateValue(range?.start)}\n onInput={(e) =>\n (this.start = parseDate(\n (e.target as HTMLInputElement).value\n ).toDate())\n }\n />\n <label\n part=\"input-label\"\n class={labelClasses}\n htmlFor={`${this.facetId}_end`}\n >\n {endLabel}:\n </label>\n <input\n id={`${this.facetId}_end`}\n part=\"input-end\"\n type=\"date\"\n ref={(ref) => (this.endRef = ref!)}\n class={inputClasses}\n aria-label={endAria}\n placeholder={placeholder}\n pattern={pattern}\n required\n min={this.formattedDateValue(this.start) || this.min}\n max={this.max}\n value={this.formattedDateValue(range?.end)}\n onInput={(e) =>\n (this.end = parseDate(\n (e.target as HTMLInputElement).value\n ).toDate())\n }\n />\n <Button\n style=\"outline-primary\"\n type=\"submit\"\n part=\"input-apply-button\"\n class=\"col-span-2 truncate p-2.5\"\n ariaLabel={applyAria}\n text={apply}\n ></Button>\n </form>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-3f35faca.js';
2
- import { B as Button } from './stencil-button-2a8cc429.js';
3
- import './ripple-b1f0b09d.js';
2
+ import { B as Button } from './stencil-button-75e8b31b.js';
4
3
  import './event-utils-8de63ec3.js';
5
4
  import './stencil-button-style-0bc80040.js';
6
5
 
@@ -1 +1 @@
1
- {"file":"atomic-facet-number-input.entry.js","mappings":"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","names":[],"sources":["src/components/common/facets/facet-number-input/atomic-facet-number-input.pcss?tag=atomic-facet-number-input","src/components/common/facets/facet-number-input/facet-number-input.tsx"],"sourcesContent":["[part='input-form'] {\n display: grid;\n grid-template-areas:\n 'label-start label-end .'\n 'input-start input-end apply-button';\n grid-template-columns: 1fr 1fr auto;\n}\n\n[part='label-start'] {\n grid-area: label-start;\n}\n[part='label-end'] {\n grid-area: label-end;\n}\n[part='input-start'] {\n grid-area: input-start;\n}\n[part='input-end'] {\n grid-area: input-end;\n}\n\n[part='input-apply-button'] {\n grid-area: apply-button;\n}\n","import {NumericFilter, NumericFilterState} from '@coveo/headless';\nimport {Component, h, State, Prop, Event, EventEmitter} from '@stencil/core';\nimport {AnyBindings} from '../../interface/bindings';\nimport {Button} from '../../stencil-button';\nimport {NumberInputType} from './number-input-type';\n\n/**\n * Internal component made to be integrated in a NumericFacet.\n * @internal\n */\n@Component({\n tag: 'atomic-facet-number-input',\n styleUrl: 'atomic-facet-number-input.pcss',\n shadow: false,\n})\nexport class FacetNumberInput {\n @State() private start?: number;\n @State() private end?: number;\n private startRef!: HTMLInputElement;\n private endRef!: HTMLInputElement;\n\n @Prop() public bindings!: AnyBindings;\n @Prop() public type!: NumberInputType;\n @Prop() public filter!: NumericFilter;\n @Prop() public filterState!: NumericFilterState;\n @Prop() public label!: string;\n\n @Event({\n eventName: 'atomic/numberInputApply',\n })\n private applyInput!: EventEmitter;\n\n public connectedCallback() {\n this.start = this.filterState.range?.start;\n this.end = this.filterState.range?.end;\n }\n\n private apply() {\n if (!this.startRef.validity.valid || !this.endRef.validity.valid) {\n return;\n }\n\n this.applyInput.emit();\n this.filter.setRange({\n start: this.start!,\n end: this.end!,\n });\n }\n\n render() {\n const label = this.bindings.i18n.t(this.label);\n const minText = this.bindings.i18n.t('min');\n const maxText = this.bindings.i18n.t('max');\n const minAria = this.bindings.i18n.t('number-input-minimum', {label});\n const maxAria = this.bindings.i18n.t('number-input-maximum', {label});\n const apply = this.bindings.i18n.t('apply');\n const applyAria = this.bindings.i18n.t('number-input-apply', {label});\n\n const inputClasses =\n 'p-2.5 input-primary placeholder-neutral-dark min-w-0 mr-1';\n const labelClasses = 'text-neutral-dark text-sm';\n\n const step = this.type === 'integer' ? '1' : 'any';\n\n return (\n <form\n class=\"mt-4 gap-y-0.5 px-2\"\n part=\"input-form\"\n onSubmit={(e) => {\n e.preventDefault();\n this.apply();\n return false;\n }}\n >\n <label\n part=\"label-start\"\n class={labelClasses}\n htmlFor={`${this.filterState.facetId}_start`}\n >\n {minText}\n </label>\n <input\n part=\"input-start\"\n id={`${this.filterState.facetId}_start`}\n type=\"number\"\n step={step}\n ref={(ref) => (this.startRef = ref!)}\n class={inputClasses}\n aria-label={minAria}\n required\n min={Number.MIN_SAFE_INTEGER}\n max={this.end}\n value={this.filterState.range?.start}\n onInput={(e) =>\n (this.start = (e.target as HTMLInputElement).valueAsNumber)\n }\n />\n <label\n part=\"label-end\"\n class={labelClasses}\n htmlFor={`${this.filterState.facetId}_end`}\n >\n {maxText}\n </label>\n <input\n part=\"input-end\"\n id={`${this.filterState.facetId}_end`}\n type=\"number\"\n step={step}\n ref={(ref) => (this.endRef = ref!)}\n class={inputClasses}\n aria-label={maxAria}\n required\n min={this.start}\n max={Number.MAX_SAFE_INTEGER}\n value={this.filterState.range?.end}\n onInput={(e) =>\n (this.end = (e.target as HTMLInputElement).valueAsNumber)\n }\n />\n <Button\n style=\"outline-primary\"\n type=\"submit\"\n part=\"input-apply-button\"\n class=\"flex-none truncate p-2.5\"\n ariaLabel={applyAria}\n text={apply}\n ></Button>\n </form>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-facet-number-input.entry.js","mappings":"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","names":[],"sources":["src/components/common/facets/facet-number-input/atomic-facet-number-input.pcss?tag=atomic-facet-number-input","src/components/common/facets/facet-number-input/facet-number-input.tsx"],"sourcesContent":["[part='input-form'] {\n display: grid;\n grid-template-areas:\n 'label-start label-end .'\n 'input-start input-end apply-button';\n grid-template-columns: 1fr 1fr auto;\n}\n\n[part='label-start'] {\n grid-area: label-start;\n}\n[part='label-end'] {\n grid-area: label-end;\n}\n[part='input-start'] {\n grid-area: input-start;\n}\n[part='input-end'] {\n grid-area: input-end;\n}\n\n[part='input-apply-button'] {\n grid-area: apply-button;\n}\n","import {NumericFilter, NumericFilterState} from '@coveo/headless';\nimport {Component, h, State, Prop, Event, EventEmitter} from '@stencil/core';\nimport {AnyBindings} from '../../interface/bindings';\nimport {Button} from '../../stencil-button';\nimport {NumberInputType} from './number-input-type';\n\n/**\n * Internal component made to be integrated in a NumericFacet.\n * @internal\n */\n@Component({\n tag: 'atomic-facet-number-input',\n styleUrl: 'atomic-facet-number-input.pcss',\n shadow: false,\n})\nexport class FacetNumberInput {\n @State() private start?: number;\n @State() private end?: number;\n private startRef!: HTMLInputElement;\n private endRef!: HTMLInputElement;\n\n @Prop() public bindings!: AnyBindings;\n @Prop() public type!: NumberInputType;\n @Prop() public filter!: NumericFilter;\n @Prop() public filterState!: NumericFilterState;\n @Prop() public label!: string;\n\n @Event({\n eventName: 'atomic/numberInputApply',\n })\n private applyInput!: EventEmitter;\n\n public connectedCallback() {\n this.start = this.filterState.range?.start;\n this.end = this.filterState.range?.end;\n }\n\n private apply() {\n if (!this.startRef.validity.valid || !this.endRef.validity.valid) {\n return;\n }\n\n this.applyInput.emit();\n this.filter.setRange({\n start: this.start!,\n end: this.end!,\n });\n }\n\n render() {\n const label = this.bindings.i18n.t(this.label);\n const minText = this.bindings.i18n.t('min');\n const maxText = this.bindings.i18n.t('max');\n const minAria = this.bindings.i18n.t('number-input-minimum', {label});\n const maxAria = this.bindings.i18n.t('number-input-maximum', {label});\n const apply = this.bindings.i18n.t('apply');\n const applyAria = this.bindings.i18n.t('number-input-apply', {label});\n\n const inputClasses =\n 'p-2.5 input-primary placeholder-neutral-dark min-w-0 mr-1';\n const labelClasses = 'text-neutral-dark text-sm';\n\n const step = this.type === 'integer' ? '1' : 'any';\n\n return (\n <form\n class=\"mt-4 gap-y-0.5 px-2\"\n part=\"input-form\"\n onSubmit={(e) => {\n e.preventDefault();\n this.apply();\n return false;\n }}\n >\n <label\n part=\"label-start\"\n class={labelClasses}\n htmlFor={`${this.filterState.facetId}_start`}\n >\n {minText}\n </label>\n <input\n part=\"input-start\"\n id={`${this.filterState.facetId}_start`}\n type=\"number\"\n step={step}\n ref={(ref) => (this.startRef = ref!)}\n class={inputClasses}\n aria-label={minAria}\n required\n min={Number.MIN_SAFE_INTEGER}\n max={this.end}\n value={this.filterState.range?.start}\n onInput={(e) =>\n (this.start = (e.target as HTMLInputElement).valueAsNumber)\n }\n />\n <label\n part=\"label-end\"\n class={labelClasses}\n htmlFor={`${this.filterState.facetId}_end`}\n >\n {maxText}\n </label>\n <input\n part=\"input-end\"\n id={`${this.filterState.facetId}_end`}\n type=\"number\"\n step={step}\n ref={(ref) => (this.endRef = ref!)}\n class={inputClasses}\n aria-label={maxAria}\n required\n min={this.start}\n max={Number.MAX_SAFE_INTEGER}\n value={this.filterState.range?.end}\n onInput={(e) =>\n (this.end = (e.target as HTMLInputElement).valueAsNumber)\n }\n />\n <Button\n style=\"outline-primary\"\n type=\"submit\"\n part=\"input-apply-button\"\n class=\"flex-none truncate p-2.5\"\n ariaLabel={applyAria}\n text={apply}\n ></Button>\n </form>\n );\n }\n}\n"],"version":3}