@coveo/atomic 3.29.1 → 3.29.2-pre.1b0a4b3894

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 (702) 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/analytics-config.js.map +1 -1
  7. package/dist/atomic/components/atomic-aria-live2.js +1 -1
  8. package/dist/atomic/components/atomic-category-facet.js +1 -1
  9. package/dist/atomic/components/atomic-citation.js +1 -1
  10. package/dist/atomic/components/atomic-commerce-category-facet2.js +1 -1
  11. package/dist/atomic/components/atomic-commerce-facets.js +160 -1
  12. package/dist/atomic/components/atomic-commerce-facets.js.map +1 -1
  13. package/dist/atomic/components/atomic-commerce-numeric-facet2.js +2 -2
  14. package/dist/atomic/components/atomic-commerce-timeframe-facet2.js +1 -1
  15. package/dist/atomic/components/atomic-facet-manager.js +1 -1
  16. package/dist/atomic/components/atomic-facet.js +1 -1
  17. package/dist/atomic/components/atomic-format-currency.js +1 -1
  18. package/dist/atomic/components/atomic-format-number.js +1 -1
  19. package/dist/atomic/components/atomic-format-unit.js +1 -1
  20. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  21. package/dist/atomic/components/atomic-html2.js +1 -1
  22. package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
  23. package/dist/atomic/components/atomic-insight-facet.js +1 -1
  24. package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
  25. package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
  26. package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
  27. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  28. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  29. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  30. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  31. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  32. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  33. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
  34. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  35. package/dist/atomic/components/atomic-insight-result-list.js +1 -1
  36. package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
  37. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  38. package/dist/atomic/components/atomic-insight-search-box.js +2 -2
  39. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  40. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  41. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  42. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  43. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  44. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  45. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  46. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  47. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
  48. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  49. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  50. package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
  51. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  52. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  53. package/dist/atomic/components/atomic-modal2.js +2 -2
  54. package/dist/atomic/components/atomic-no-results.js +1 -1
  55. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  56. package/dist/atomic/components/atomic-pager.js +3 -3
  57. package/dist/atomic/components/atomic-product-price.js +1 -1
  58. package/dist/atomic/components/atomic-query-error.js +1 -1
  59. package/dist/atomic/components/atomic-query-summary.js +1 -1
  60. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  61. package/dist/atomic/components/atomic-quickview.js +1 -1
  62. package/dist/atomic/components/atomic-recs-error.js +1 -1
  63. package/dist/atomic/components/atomic-recs-list.js +1 -1
  64. package/dist/atomic/components/atomic-refine-modal2.js +35 -3
  65. package/dist/atomic/components/atomic-refine-modal2.js.map +1 -1
  66. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  67. package/dist/atomic/components/atomic-relevance-inspector2.js +2 -2
  68. package/dist/atomic/components/atomic-result-children.js +1 -1
  69. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  70. package/dist/atomic/components/atomic-result-link.js +1 -1
  71. package/dist/atomic/components/atomic-result-list.js +1 -1
  72. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  73. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  74. package/dist/atomic/components/atomic-results-per-page.js +1 -1
  75. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
  76. package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
  77. package/dist/atomic/components/atomic-search-box.js +4 -4
  78. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  79. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  80. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  81. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  82. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  83. package/dist/atomic/components/atomic-sort-dropdown.js +6 -3
  84. package/dist/atomic/components/atomic-sort-dropdown.js.map +1 -1
  85. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  86. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  87. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  88. package/dist/atomic/components/components/commerce/atomic-commerce-refine-modal/atomic-commerce-refine-modal.js +202 -0
  89. package/dist/atomic/components/components/commerce/atomic-commerce-refine-modal/atomic-commerce-refine-modal.tw.css.js +7 -0
  90. package/dist/atomic/components/components/commerce/index.js +1 -0
  91. package/dist/atomic/components/components/commerce/lazy-index.js +1 -0
  92. package/dist/atomic/components/components/common/atomic-modal/export-parts.js +1 -0
  93. package/dist/atomic/components/components/common/refine-modal/body.js +12 -0
  94. package/dist/atomic/components/components/common/refine-modal/filters.js +29 -0
  95. package/dist/atomic/components/components/common/refine-modal/modal.js +76 -0
  96. package/dist/atomic/components/components/common/refine-modal/refine-modal-common.tw.css.js +2 -0
  97. package/dist/atomic/components/components/common/refine-modal/sort.js +32 -0
  98. package/dist/atomic/components/facet-date-input.js +3 -3
  99. package/dist/atomic/components/facet-number-input.js +2 -2
  100. package/dist/atomic/components/global/environment.js +1 -1
  101. package/dist/atomic/components/index.js.map +1 -1
  102. package/dist/atomic/components/tab-button.js +1 -1
  103. package/dist/atomic/components/tab-popover.js +1 -1
  104. package/dist/atomic/{p-02dc6f22.entry.js → p-02af42b6.entry.js} +2 -2
  105. package/dist/atomic/{p-237b6498.entry.js → p-03beab8e.entry.js} +2 -2
  106. package/dist/atomic/p-04b3493d.js +2 -0
  107. package/dist/atomic/{p-fe7f8010.entry.js → p-0581b5ee.entry.js} +2 -2
  108. package/dist/atomic/{p-527b4d37.entry.js → p-066af171.entry.js} +2 -2
  109. package/dist/atomic/{p-ec2161f4.entry.js → p-0a144948.entry.js} +2 -2
  110. package/dist/atomic/{p-5a62a764.entry.js → p-0b790b7c.entry.js} +2 -2
  111. package/dist/atomic/{p-ea30c2c5.entry.js → p-0bfb845f.entry.js} +2 -2
  112. package/dist/atomic/{p-a4003b93.entry.js → p-199ff90b.entry.js} +2 -2
  113. package/dist/atomic/{p-7e35c35d.entry.js → p-1c8468e7.entry.js} +2 -2
  114. package/dist/atomic/{p-9dae1cd8.entry.js → p-1e634caa.entry.js} +2 -2
  115. package/dist/atomic/{p-3deb404f.entry.js → p-1fb5a818.entry.js} +2 -2
  116. package/dist/atomic/{p-6195bd9a.entry.js → p-20970213.entry.js} +2 -2
  117. package/dist/atomic/{p-47156866.entry.js → p-21c20ec6.entry.js} +2 -2
  118. package/dist/atomic/{p-607fee37.entry.js → p-22708648.entry.js} +2 -2
  119. package/dist/atomic/{p-605ad290.entry.js → p-23037179.entry.js} +2 -2
  120. package/dist/atomic/{p-40a6b242.entry.js → p-30529a7b.entry.js} +2 -2
  121. package/dist/atomic/p-308c8f97.entry.js +2 -0
  122. package/dist/atomic/{p-03325add.entry.js → p-31c65a76.entry.js} +2 -2
  123. package/dist/atomic/{p-fe735188.entry.js → p-35ba070e.entry.js} +2 -2
  124. package/dist/atomic/{p-263f6746.entry.js → p-381e9292.entry.js} +2 -2
  125. package/dist/atomic/{p-c2a0f838.entry.js → p-3858311d.entry.js} +2 -2
  126. package/dist/atomic/{p-3116ec7b.entry.js → p-3ae51da2.entry.js} +2 -2
  127. package/dist/atomic/{p-871bd105.entry.js → p-3b19694c.entry.js} +2 -2
  128. package/dist/atomic/{p-56e2b35d.entry.js → p-3d66abef.entry.js} +2 -2
  129. package/dist/atomic/{p-d044ff5f.js → p-3dabd73e.js} +2 -2
  130. package/dist/atomic/{p-a5aaa14c.entry.js → p-3ebbf512.entry.js} +2 -2
  131. package/dist/atomic/{p-ddb5a587.entry.js → p-3f27f540.entry.js} +2 -2
  132. package/dist/atomic/p-42bcba44.js +2 -0
  133. package/dist/atomic/{p-2fcbc513.entry.js → p-4475b820.entry.js} +2 -2
  134. package/dist/atomic/{p-4fe614d1.entry.js → p-4ac7cf4d.entry.js} +2 -2
  135. package/dist/atomic/p-4bf140ca.js +2 -0
  136. package/dist/atomic/{p-58193542.entry.js → p-4e93452a.entry.js} +2 -2
  137. package/dist/atomic/{p-c9cbc469.entry.js → p-532aea78.entry.js} +2 -2
  138. package/dist/atomic/{p-022e2c88.entry.js → p-538fa6a8.entry.js} +2 -2
  139. package/dist/atomic/{p-67439395.entry.js → p-54acf51c.entry.js} +2 -2
  140. package/dist/atomic/p-5a1b0c43.entry.js +2 -0
  141. package/dist/atomic/{p-61520136.entry.js → p-5a7287d7.entry.js} +2 -2
  142. package/dist/atomic/p-5c120caf.entry.js +2 -0
  143. package/dist/atomic/p-5c120caf.entry.js.map +1 -0
  144. package/dist/atomic/{p-2f89eaa5.entry.js → p-5e1091db.entry.js} +2 -2
  145. package/dist/atomic/{p-03e139a8.entry.js → p-5e43c72a.entry.js} +2 -2
  146. package/dist/atomic/{p-261cc069.entry.js → p-5fad24d1.entry.js} +2 -2
  147. package/dist/atomic/{p-06b55a5e.js → p-61f9c3f7.js} +2 -2
  148. package/dist/atomic/{p-3b92373f.entry.js → p-62896d9f.entry.js} +2 -2
  149. package/dist/atomic/p-62ad64ad.entry.js +2 -0
  150. package/dist/atomic/p-62ad64ad.entry.js.map +1 -0
  151. package/dist/atomic/p-6327b8c5.entry.js +2 -0
  152. package/dist/atomic/{p-5df995d2.entry.js.map → p-6327b8c5.entry.js.map} +1 -1
  153. package/dist/atomic/{p-83b61fc7.entry.js → p-68cf6c73.entry.js} +2 -2
  154. package/dist/atomic/p-68ec0487.entry.js +2 -0
  155. package/dist/atomic/p-68ec0487.entry.js.map +1 -0
  156. package/dist/atomic/{p-43ef2a78.entry.js → p-6a7ad933.entry.js} +2 -2
  157. package/dist/atomic/{p-d61e65c5.entry.js → p-6c833c68.entry.js} +2 -2
  158. package/dist/atomic/{p-ae067eb1.entry.js → p-6e0aa85b.entry.js} +2 -2
  159. package/dist/atomic/{p-0297467f.entry.js → p-710756b1.entry.js} +2 -2
  160. package/dist/atomic/{p-10bfcc08.entry.js → p-719d27a4.entry.js} +2 -2
  161. package/dist/atomic/{p-e3abb9bf.entry.js → p-72693691.entry.js} +2 -2
  162. package/dist/atomic/{p-cc11dfe5.entry.js → p-72cb8c3d.entry.js} +2 -2
  163. package/dist/atomic/{p-5fb33957.entry.js → p-741cfe8d.entry.js} +2 -2
  164. package/dist/atomic/{p-37d04bd3.entry.js → p-76fde50b.entry.js} +2 -2
  165. package/dist/atomic/{p-9841c955.entry.js → p-778b5a69.entry.js} +2 -2
  166. package/dist/atomic/{p-85b0eb2c.entry.js → p-7969276e.entry.js} +2 -2
  167. package/dist/atomic/{p-cd65617e.entry.js → p-7b5c63e4.entry.js} +2 -2
  168. package/dist/atomic/p-7b67c9b9.entry.js +2 -0
  169. package/dist/atomic/p-7b6843d6.entry.js +2 -0
  170. package/dist/atomic/{p-43c60cfc.entry.js → p-7c62d253.entry.js} +2 -2
  171. package/dist/atomic/{p-766cbe34.js → p-7e2b1683.js} +2 -2
  172. package/dist/atomic/{p-766cbe34.js.map → p-7e2b1683.js.map} +1 -1
  173. package/dist/atomic/{p-e467bb89.entry.js → p-7f381070.entry.js} +2 -2
  174. package/dist/atomic/{p-33aeda20.entry.js → p-816f3469.entry.js} +2 -2
  175. package/dist/atomic/{p-5a397a22.entry.js → p-81cb6bbb.entry.js} +2 -2
  176. package/dist/atomic/{p-c3d0cd58.entry.js → p-833f101f.entry.js} +2 -2
  177. package/dist/atomic/{p-d730d365.entry.js → p-83a42baf.entry.js} +2 -2
  178. package/dist/atomic/p-8481d20b.entry.js +2 -0
  179. package/dist/atomic/p-8481d20b.entry.js.map +1 -0
  180. package/dist/atomic/{p-93e9272d.entry.js → p-84efa266.entry.js} +2 -2
  181. package/dist/atomic/{p-8471090e.entry.js → p-88d2981f.entry.js} +2 -2
  182. package/dist/atomic/{p-71743e67.entry.js → p-8981e00e.entry.js} +2 -2
  183. package/dist/atomic/{p-47307bf9.entry.js → p-8a959224.entry.js} +2 -2
  184. package/dist/atomic/{p-adf75ecf.entry.js → p-8c0cc64c.entry.js} +2 -2
  185. package/dist/atomic/{p-3f77fe9e.entry.js → p-8c780987.entry.js} +2 -2
  186. package/dist/atomic/{p-3bcfc0a2.entry.js → p-8e46ebd3.entry.js} +2 -2
  187. package/dist/atomic/{p-10e8d6e9.entry.js → p-8ec6e54b.entry.js} +2 -2
  188. package/dist/atomic/{p-2edbbd2c.entry.js → p-8ecb50bb.entry.js} +2 -2
  189. package/dist/atomic/{p-47591d90.entry.js → p-911adb53.entry.js} +2 -2
  190. package/dist/atomic/p-92e09b96.entry.js +2 -0
  191. package/dist/atomic/p-92e09b96.entry.js.map +1 -0
  192. package/dist/atomic/p-93030acf.js +2 -0
  193. package/dist/atomic/{p-aaf5add5.entry.js → p-9310cce8.entry.js} +2 -2
  194. package/dist/atomic/{p-463916e1.entry.js → p-942b2556.entry.js} +2 -2
  195. package/dist/atomic/{p-f1630863.js → p-958f7721.js} +2 -2
  196. package/dist/atomic/{p-9f3ecfe5.js → p-96a6f84f.js} +2 -2
  197. package/dist/atomic/{p-c030a2f0.entry.js → p-9aa8d0f8.entry.js} +2 -2
  198. package/dist/atomic/{p-eba0c897.entry.js → p-9b2e7084.entry.js} +2 -2
  199. package/dist/atomic/{p-e111d8f6.entry.js → p-9c3411c5.entry.js} +2 -2
  200. package/dist/atomic/{p-5c040ebc.entry.js → p-9ebb392a.entry.js} +2 -2
  201. package/dist/atomic/{p-6b780715.entry.js → p-a35f225e.entry.js} +2 -2
  202. package/dist/atomic/{p-22b3c655.entry.js → p-a35f2759.entry.js} +2 -2
  203. package/dist/atomic/{p-0d1f928f.entry.js → p-a46d0a72.entry.js} +2 -2
  204. package/dist/atomic/{p-0b705c31.entry.js → p-a55516b4.entry.js} +2 -2
  205. package/dist/atomic/{p-9ff8fec2.entry.js → p-a8f9ba93.entry.js} +2 -2
  206. package/dist/atomic/{p-5db46842.js → p-aa10238a.js} +2 -2
  207. package/dist/atomic/{p-ca98cb79.entry.js → p-ac60cfe4.entry.js} +2 -2
  208. package/dist/atomic/{p-95e4c09e.entry.js → p-ace62ee0.entry.js} +2 -2
  209. package/dist/atomic/{p-fc2cceb3.entry.js → p-ad5e7351.entry.js} +2 -2
  210. package/dist/atomic/{p-9957b28c.js → p-ad9fbb29.js} +2 -2
  211. package/dist/atomic/{p-62d16036.entry.js → p-ae7a143b.entry.js} +2 -2
  212. package/dist/atomic/{p-ec0b64a5.entry.js → p-aed080d1.entry.js} +2 -2
  213. package/dist/atomic/{p-da1d8792.js → p-b31d8fdd.js} +2 -2
  214. package/dist/atomic/{p-cb1905a6.entry.js → p-b3f05420.entry.js} +2 -2
  215. package/dist/atomic/{p-3835716f.entry.js → p-b3fa18f1.entry.js} +2 -2
  216. package/dist/atomic/{p-aaa324cd.entry.js → p-b878425f.entry.js} +2 -2
  217. package/dist/atomic/{p-186a5f0d.entry.js → p-b8b67309.entry.js} +2 -2
  218. package/dist/atomic/{p-b875f4b6.entry.js → p-b8beb062.entry.js} +2 -2
  219. package/dist/atomic/{p-0f506869.js → p-bc96b8f6.js} +2 -2
  220. package/dist/atomic/{p-6e592bf0.entry.js → p-bcbbb63f.entry.js} +2 -2
  221. package/dist/atomic/{p-b0d10266.entry.js → p-bd10dac1.entry.js} +2 -2
  222. package/dist/atomic/{p-57b6b64c.entry.js → p-be04b3b0.entry.js} +2 -2
  223. package/dist/atomic/{p-1519454c.entry.js → p-bf7d7b24.entry.js} +2 -2
  224. package/dist/atomic/{p-7e80de89.entry.js → p-c0edac65.entry.js} +2 -2
  225. package/dist/atomic/{p-b973f6f4.entry.js → p-c164379a.entry.js} +2 -2
  226. package/dist/atomic/{p-f5054252.entry.js → p-c5df6d2d.entry.js} +2 -2
  227. package/dist/atomic/{p-0fe2face.entry.js → p-c6e5e68e.entry.js} +2 -2
  228. package/dist/atomic/{p-2f6d4b52.entry.js → p-c7b888be.entry.js} +2 -2
  229. package/dist/atomic/{p-1697fe78.entry.js → p-c92957d3.entry.js} +2 -2
  230. package/dist/atomic/{p-d625f03b.entry.js → p-c9f3c083.entry.js} +2 -2
  231. package/dist/atomic/{p-934470ac.entry.js → p-cce54989.entry.js} +2 -2
  232. package/dist/atomic/{p-bf460507.entry.js → p-cd124dd9.entry.js} +2 -2
  233. package/dist/atomic/{p-dc7b46cc.entry.js → p-ce19125a.entry.js} +2 -2
  234. package/dist/atomic/{p-d28ce9d0.entry.js → p-d048d414.entry.js} +2 -2
  235. package/dist/atomic/{p-6776811d.js → p-d2db2d70.js} +2 -2
  236. package/dist/atomic/{p-26d0a8d6.entry.js → p-d57f5ca9.entry.js} +2 -2
  237. package/dist/atomic/{p-67438aff.entry.js → p-da1849e7.entry.js} +2 -2
  238. package/dist/atomic/p-db75a4d7.entry.js +2 -0
  239. package/dist/atomic/{p-a06e88d4.entry.js → p-dbee1385.entry.js} +2 -2
  240. package/dist/atomic/{p-29242cf4.entry.js → p-dcaabb9f.entry.js} +2 -2
  241. package/dist/atomic/{p-aba83a12.entry.js → p-dcc17bed.entry.js} +2 -2
  242. package/dist/atomic/{p-97cb6aa3.entry.js → p-e5b9e75e.entry.js} +2 -2
  243. package/dist/atomic/{p-c20f8897.entry.js → p-e661342b.entry.js} +2 -2
  244. package/dist/atomic/{p-f7b4d419.entry.js → p-e9b3e6c2.entry.js} +2 -2
  245. package/dist/atomic/{p-b7488ef9.entry.js → p-eaf09638.entry.js} +2 -2
  246. package/dist/atomic/{p-27fc83ff.entry.js → p-ecfe4a14.entry.js} +2 -2
  247. package/dist/atomic/{p-b3b4f0cb.entry.js → p-f2191c75.entry.js} +2 -2
  248. package/dist/atomic/{p-e5434c27.entry.js → p-f4a4f813.entry.js} +2 -2
  249. package/dist/atomic/{p-9450b20c.entry.js → p-f67a7223.entry.js} +2 -2
  250. package/dist/atomic/{p-ed21f076.js → p-f8cb48e1.js} +2 -2
  251. package/dist/atomic/{p-5a9d6ec0.entry.js → p-f95f4574.entry.js} +2 -2
  252. package/dist/atomic/{p-ad38f245.js → p-fcec0e93.js} +2 -2
  253. package/dist/atomic/p-fee37590.entry.js +2 -0
  254. package/dist/atomic/{p-4b93d185.entry.js → p-ff6407a0.entry.js} +2 -2
  255. package/dist/cjs/_loader.cjs.js +1 -1
  256. package/dist/cjs/{analytics-config-1d8e0cc4.js → analytics-config-118f01ef.js} +2 -2
  257. package/dist/cjs/analytics-config-118f01ef.js.map +1 -0
  258. package/dist/cjs/atomic-aria-live_2.cjs.entry.js +3 -3
  259. package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
  260. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  261. package/dist/cjs/{atomic-commerce-category-facet_6.cjs.entry.js → atomic-commerce-category-facet_4.cjs.entry.js} +8 -142
  262. package/dist/cjs/atomic-commerce-category-facet_4.cjs.entry.js.map +1 -0
  263. package/dist/cjs/atomic-commerce-facet-number-input.cjs.entry.js +73 -0
  264. package/dist/cjs/atomic-commerce-facet-number-input.cjs.entry.js.map +1 -0
  265. package/dist/cjs/atomic-facet-date-input.cjs.entry.js +88 -0
  266. package/dist/cjs/atomic-facet-date-input.cjs.entry.js.map +1 -0
  267. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  268. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
  269. package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
  270. package/dist/cjs/atomic-focus-trap_2.cjs.entry.js +2 -2
  271. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  272. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  273. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  274. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  275. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  276. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
  277. package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
  278. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  279. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  280. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
  281. package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
  282. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  283. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
  284. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
  285. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +1 -1
  286. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  287. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  288. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  289. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  290. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  291. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  292. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  293. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
  294. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  295. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  296. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  297. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  298. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  299. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  300. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  301. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  302. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  303. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  304. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  305. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  306. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  307. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  308. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
  309. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -1
  310. package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
  311. package/dist/cjs/atomic-product-price.cjs.entry.js +1 -1
  312. package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
  313. package/dist/cjs/atomic-query-summary.cjs.entry.js +1 -1
  314. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  315. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  316. package/dist/cjs/atomic-recs-error.cjs.entry.js +1 -1
  317. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  318. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  319. package/dist/cjs/atomic-refine-modal.cjs.entry.js +36 -5
  320. package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
  321. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
  322. package/dist/cjs/atomic-result-children.cjs.entry.js +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-result-placeholder_8.cjs.entry.js +3 -3
  327. package/dist/cjs/atomic-results-per-page.cjs.entry.js +1 -1
  328. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
  329. package/dist/cjs/atomic-search-box.cjs.entry.js +4 -4
  330. package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
  331. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  332. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  333. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  334. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +6 -3
  335. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js.map +1 -1
  336. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  337. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  338. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  339. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  340. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  341. package/dist/cjs/atomic.cjs.js +1 -1
  342. package/dist/cjs/index-757bc886.js +12 -8
  343. package/dist/cjs/version.cjs.js +1 -1
  344. package/dist/esm/_loader.js +1 -1
  345. package/dist/esm/{analytics-config-dab2213e.js → analytics-config-7d461918.js} +2 -2
  346. package/dist/esm/analytics-config-7d461918.js.map +1 -0
  347. package/dist/esm/atomic-aria-live_2.entry.js +4 -4
  348. package/dist/esm/atomic-automatic-facet_2.entry.js +3 -3
  349. package/dist/esm/atomic-breadbox.entry.js +2 -2
  350. package/dist/esm/atomic-category-facet.entry.js +4 -4
  351. package/dist/esm/atomic-citation.entry.js +1 -1
  352. package/dist/esm/atomic-color-facet.entry.js +3 -3
  353. package/dist/esm/{atomic-commerce-category-facet_6.entry.js → atomic-commerce-category-facet_4.entry.js} +16 -148
  354. package/dist/esm/atomic-commerce-category-facet_4.entry.js.map +1 -0
  355. package/dist/esm/atomic-commerce-facet-number-input.entry.js +69 -0
  356. package/dist/esm/atomic-commerce-facet-number-input.entry.js.map +1 -0
  357. package/dist/esm/atomic-commerce-facets.entry.js +2 -2
  358. package/dist/esm/atomic-commerce-query-error.entry.js +2 -2
  359. package/dist/esm/atomic-facet-date-input.entry.js +84 -0
  360. package/dist/esm/atomic-facet-date-input.entry.js.map +1 -0
  361. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  362. package/dist/esm/atomic-facet-number-input.entry.js +2 -2
  363. package/dist/esm/atomic-facet.entry.js +7 -7
  364. package/dist/esm/atomic-field-condition.entry.js +4 -4
  365. package/dist/esm/atomic-focus-trap_2.entry.js +4 -4
  366. package/dist/esm/atomic-folded-result-list.entry.js +7 -7
  367. package/dist/esm/atomic-format-currency.entry.js +1 -1
  368. package/dist/esm/atomic-format-number.entry.js +1 -1
  369. package/dist/esm/atomic-format-unit.entry.js +1 -1
  370. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +2 -2
  371. package/dist/esm/atomic-generated-answer.entry.js +3 -3
  372. package/dist/esm/atomic-html.entry.js +1 -1
  373. package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
  374. package/dist/esm/atomic-insight-facet.entry.js +5 -5
  375. package/dist/esm/atomic-insight-folded-result-list.entry.js +7 -7
  376. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  377. package/dist/esm/atomic-insight-generated-answer.entry.js +2 -2
  378. package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
  379. package/dist/esm/atomic-insight-interface.entry.js +4 -4
  380. package/dist/esm/atomic-insight-layout.entry.js +1 -1
  381. package/dist/esm/atomic-insight-no-results.entry.js +3 -3
  382. package/dist/esm/atomic-insight-numeric-facet.entry.js +6 -6
  383. package/dist/esm/atomic-insight-pager.entry.js +4 -4
  384. package/dist/esm/atomic-insight-query-error.entry.js +3 -3
  385. package/dist/esm/atomic-insight-query-summary.entry.js +2 -2
  386. package/dist/esm/atomic-insight-refine-modal.entry.js +5 -5
  387. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  388. package/dist/esm/atomic-insight-result-action-bar.entry.js +2 -2
  389. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  390. package/dist/esm/atomic-insight-result-children-template.entry.js +4 -4
  391. package/dist/esm/atomic-insight-result-children.entry.js +2 -2
  392. package/dist/esm/atomic-insight-result-list.entry.js +7 -7
  393. package/dist/esm/atomic-insight-result-quickview-action.entry.js +3 -3
  394. package/dist/esm/atomic-insight-result-template.entry.js +4 -4
  395. package/dist/esm/atomic-insight-result.entry.js +6 -6
  396. package/dist/esm/atomic-insight-search-box.entry.js +4 -4
  397. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +3 -3
  398. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +1 -1
  399. package/dist/esm/atomic-insight-smart-snippet.entry.js +1 -1
  400. package/dist/esm/atomic-insight-tab.entry.js +2 -2
  401. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  402. package/dist/esm/atomic-insight-timeframe-facet.entry.js +4 -4
  403. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  404. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  405. package/dist/esm/atomic-ipx-body.entry.js +3 -3
  406. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  407. package/dist/esm/atomic-ipx-embedded.entry.js +2 -2
  408. package/dist/esm/atomic-ipx-modal.entry.js +3 -3
  409. package/dist/esm/atomic-ipx-recs-list.entry.js +7 -7
  410. package/dist/esm/atomic-ipx-refine-modal.entry.js +4 -4
  411. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  412. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  413. package/dist/esm/atomic-ipx-tab.entry.js +2 -2
  414. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  415. package/dist/esm/atomic-load-more-results.entry.js +3 -3
  416. package/dist/esm/atomic-no-results.entry.js +3 -3
  417. package/dist/esm/atomic-notifications.entry.js +2 -2
  418. package/dist/esm/atomic-numeric-facet.entry.js +6 -6
  419. package/dist/esm/atomic-pager.entry.js +5 -5
  420. package/dist/esm/atomic-product-field-condition.entry.js +2 -2
  421. package/dist/esm/atomic-product-multi-value-text.entry.js +1 -1
  422. package/dist/esm/atomic-product-price.entry.js +1 -1
  423. package/dist/esm/atomic-product-section-actions.entry.js +2 -2
  424. package/dist/esm/atomic-product-section-badges.entry.js +2 -2
  425. package/dist/esm/atomic-product-section-bottom-metadata.entry.js +2 -2
  426. package/dist/esm/atomic-product-section-children.entry.js +2 -2
  427. package/dist/esm/atomic-product-section-description.entry.js +2 -2
  428. package/dist/esm/atomic-product-section-emphasized.entry.js +2 -2
  429. package/dist/esm/atomic-product-section-metadata.entry.js +2 -2
  430. package/dist/esm/atomic-product-section-name.entry.js +2 -2
  431. package/dist/esm/atomic-product-section-visual.entry.js +2 -2
  432. package/dist/esm/atomic-query-error.entry.js +3 -3
  433. package/dist/esm/atomic-query-summary.entry.js +3 -3
  434. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  435. package/dist/esm/atomic-quickview.entry.js +3 -3
  436. package/dist/esm/atomic-rating-facet.entry.js +4 -4
  437. package/dist/esm/atomic-rating-range-facet.entry.js +3 -3
  438. package/dist/esm/atomic-recs-error.entry.js +3 -3
  439. package/dist/esm/atomic-recs-interface.entry.js +4 -4
  440. package/dist/esm/atomic-recs-list.entry.js +7 -7
  441. package/dist/esm/atomic-recs-result-template.entry.js +4 -4
  442. package/dist/esm/atomic-recs-result.entry.js +5 -5
  443. package/dist/esm/atomic-refine-modal.entry.js +37 -6
  444. package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
  445. package/dist/esm/atomic-refine-toggle.entry.js +1 -1
  446. package/dist/esm/atomic-result-children-template.entry.js +4 -4
  447. package/dist/esm/atomic-result-children.entry.js +2 -2
  448. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  449. package/dist/esm/atomic-result-icon.entry.js +1 -1
  450. package/dist/esm/atomic-result-link.entry.js +1 -1
  451. package/dist/esm/atomic-result-list.entry.js +8 -8
  452. package/dist/esm/atomic-result-localized-text.entry.js +2 -2
  453. package/dist/esm/atomic-result-multi-value-text.entry.js +1 -1
  454. package/dist/esm/atomic-result-placeholder_8.entry.js +7 -7
  455. package/dist/esm/atomic-result-printable-uri.entry.js +2 -2
  456. package/dist/esm/atomic-result-section-children.entry.js +2 -2
  457. package/dist/esm/atomic-result-section-emphasized.entry.js +2 -2
  458. package/dist/esm/atomic-result-section-title-metadata.entry.js +2 -2
  459. package/dist/esm/atomic-result-template.entry.js +4 -4
  460. package/dist/esm/atomic-result.entry.js +5 -5
  461. package/dist/esm/atomic-results-per-page.entry.js +3 -3
  462. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +3 -3
  463. package/dist/esm/atomic-search-box.entry.js +6 -6
  464. package/dist/esm/atomic-search-interface.entry.js +4 -4
  465. package/dist/esm/atomic-search-layout.entry.js +1 -1
  466. package/dist/esm/atomic-segmented-facet.entry.js +2 -2
  467. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +3 -3
  468. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  469. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +3 -3
  470. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +1 -1
  471. package/dist/esm/atomic-smart-snippet.entry.js +2 -2
  472. package/dist/esm/atomic-sort-dropdown.entry.js +7 -4
  473. package/dist/esm/atomic-sort-dropdown.entry.js.map +1 -1
  474. package/dist/esm/atomic-sort-expression.entry.js +3 -3
  475. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  476. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  477. package/dist/esm/atomic-tab-button.entry.js +1 -1
  478. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  479. package/dist/esm/atomic-timeframe-facet.entry.js +4 -4
  480. package/dist/esm/atomic.js +1 -1
  481. package/dist/esm/{cloned-facet-elements-cb9ef91b.js → cloned-facet-elements-c9417f2c.js} +2 -2
  482. package/dist/esm/{cloned-facet-elements-cb9ef91b.js.map → cloned-facet-elements-c9417f2c.js.map} +1 -1
  483. package/dist/esm/{display-options-e07c9a5b.js → display-options-49a0539f.js} +2 -2
  484. package/dist/esm/{display-options-e07c9a5b.js.map → display-options-49a0539f.js.map} +1 -1
  485. package/dist/esm/index-3f35faca.js +12 -8
  486. package/dist/esm/{item-section-utils-32bbb943.js → item-section-utils-dab19320.js} +2 -2
  487. package/dist/esm/{item-section-utils-32bbb943.js.map → item-section-utils-dab19320.js.map} +1 -1
  488. package/dist/esm/{props-utils-03d9fdf9.js → props-utils-8e3d7f26.js} +2 -2
  489. package/dist/esm/{props-utils-03d9fdf9.js.map → props-utils-8e3d7f26.js.map} +1 -1
  490. package/dist/esm/{result-template-common-5d59a9b5.js → result-template-common-0eb26069.js} +3 -3
  491. package/dist/esm/{result-template-common-5d59a9b5.js.map → result-template-common-0eb26069.js.map} +1 -1
  492. package/dist/esm/{sections-ef7bfd7a.js → sections-8f508dc1.js} +2 -2
  493. package/dist/esm/{sections-ef7bfd7a.js.map → sections-8f508dc1.js.map} +1 -1
  494. package/dist/esm/{stencil-accessibility-utils-2d41d4cd.js → stencil-accessibility-utils-bc273be5.js} +2 -2
  495. package/dist/esm/{stencil-accessibility-utils-2d41d4cd.js.map → stencil-accessibility-utils-bc273be5.js.map} +1 -1
  496. package/dist/esm/{stencil-facet-search-value-6a3f8ef6.js → stencil-facet-search-value-832313d5.js} +2 -2
  497. package/dist/esm/{stencil-facet-search-value-6a3f8ef6.js.map → stencil-facet-search-value-832313d5.js.map} +1 -1
  498. package/dist/esm/{stencil-facet-value-checkbox-5a90f933.js → stencil-facet-value-checkbox-82d52a44.js} +2 -2
  499. package/dist/esm/{stencil-facet-value-checkbox-5a90f933.js.map → stencil-facet-value-checkbox-82d52a44.js.map} +1 -1
  500. package/dist/esm/{stencil-facet-value-325f019d.js → stencil-facet-value-fda6d52e.js} +2 -2
  501. package/dist/esm/{stencil-facet-value-325f019d.js.map → stencil-facet-value-fda6d52e.js.map} +1 -1
  502. package/dist/esm/{stencil-item-list-common-7eaed4dd.js → stencil-item-list-common-ddc6fb51.js} +3 -3
  503. package/dist/esm/{stencil-item-list-common-7eaed4dd.js.map → stencil-item-list-common-ddc6fb51.js.map} +1 -1
  504. package/dist/esm/{store-e14e2958.js → store-5fcae420.js} +2 -2
  505. package/dist/esm/{store-e14e2958.js.map → store-5fcae420.js.map} +1 -1
  506. package/dist/esm/{timeframe-facet-common-8d7fa83e.js → timeframe-facet-common-1aad36a0.js} +2 -2
  507. package/dist/esm/{timeframe-facet-common-8d7fa83e.js.map → timeframe-facet-common-1aad36a0.js.map} +1 -1
  508. package/dist/esm/{utils-7ac76ba7.js → utils-30b00491.js} +2 -2
  509. package/dist/esm/{utils-7ac76ba7.js.map → utils-30b00491.js.map} +1 -1
  510. package/dist/esm/{values-container-29bf9f6b.js → values-container-0be51709.js} +2 -2
  511. package/dist/esm/{values-container-29bf9f6b.js.map → values-container-0be51709.js.map} +1 -1
  512. package/dist/esm/version.js +1 -1
  513. package/dist/types/components/commerce/atomic-commerce-refine-modal/atomic-commerce-refine-modal.d.ts +39 -31
  514. package/dist/types/components/commerce/index.d.ts +1 -0
  515. package/dist/types/components.d.ts +0 -45
  516. package/docs/atomic-docs.json +2 -326
  517. package/package.json +1 -1
  518. package/dist/atomic/components/atomic-commerce-facets2.js +0 -164
  519. package/dist/atomic/components/atomic-commerce-facets2.js.map +0 -1
  520. package/dist/atomic/components/atomic-commerce-refine-modal.d.ts +0 -11
  521. package/dist/atomic/components/atomic-commerce-refine-modal.js +0 -222
  522. package/dist/atomic/components/atomic-commerce-refine-modal.js.map +0 -1
  523. package/dist/atomic/components/stencil-option.js +0 -9
  524. package/dist/atomic/components/stencil-option.js.map +0 -1
  525. package/dist/atomic/components/stencil-sort.js +0 -38
  526. package/dist/atomic/components/stencil-sort.js.map +0 -1
  527. package/dist/atomic/p-0a81e031.js +0 -2
  528. package/dist/atomic/p-0a81e031.js.map +0 -1
  529. package/dist/atomic/p-1f1d886c.entry.js +0 -2
  530. package/dist/atomic/p-436c41dd.js +0 -2
  531. package/dist/atomic/p-436c41dd.js.map +0 -1
  532. package/dist/atomic/p-492520bf.js +0 -2
  533. package/dist/atomic/p-5cafb3fe.js +0 -2
  534. package/dist/atomic/p-5df995d2.entry.js +0 -2
  535. package/dist/atomic/p-639696da.entry.js +0 -2
  536. package/dist/atomic/p-83a78247.entry.js +0 -2
  537. package/dist/atomic/p-8596426c.js +0 -2
  538. package/dist/atomic/p-893058c6.entry.js +0 -2
  539. package/dist/atomic/p-893058c6.entry.js.map +0 -1
  540. package/dist/atomic/p-9bb2603f.entry.js +0 -2
  541. package/dist/atomic/p-9bb2603f.entry.js.map +0 -1
  542. package/dist/atomic/p-b01bce99.entry.js +0 -2
  543. package/dist/atomic/p-b01bce99.entry.js.map +0 -1
  544. package/dist/atomic/p-c3606352.entry.js +0 -2
  545. package/dist/atomic/p-d38b2556.entry.js +0 -2
  546. package/dist/atomic/p-d38b2556.entry.js.map +0 -1
  547. package/dist/atomic/p-de544499.entry.js +0 -2
  548. package/dist/atomic/p-f4586b3a.entry.js +0 -2
  549. package/dist/atomic/p-fc0e5c34.js +0 -2
  550. package/dist/cjs/analytics-config-1d8e0cc4.js.map +0 -1
  551. package/dist/cjs/atomic-commerce-category-facet_6.cjs.entry.js.map +0 -1
  552. package/dist/cjs/atomic-commerce-refine-modal.cjs.entry.js +0 -152
  553. package/dist/cjs/atomic-commerce-refine-modal.cjs.entry.js.map +0 -1
  554. package/dist/cjs/stencil-option-273dd381.js +0 -11
  555. package/dist/cjs/stencil-option-273dd381.js.map +0 -1
  556. package/dist/cjs/stencil-sort-7d3e410e.js +0 -43
  557. package/dist/cjs/stencil-sort-7d3e410e.js.map +0 -1
  558. package/dist/esm/analytics-config-dab2213e.js.map +0 -1
  559. package/dist/esm/atomic-commerce-category-facet_6.entry.js.map +0 -1
  560. package/dist/esm/atomic-commerce-refine-modal.entry.js +0 -148
  561. package/dist/esm/atomic-commerce-refine-modal.entry.js.map +0 -1
  562. package/dist/esm/stencil-option-499a6807.js +0 -9
  563. package/dist/esm/stencil-option-499a6807.js.map +0 -1
  564. package/dist/esm/stencil-sort-7a7ebea2.js +0 -38
  565. package/dist/esm/stencil-sort-7a7ebea2.js.map +0 -1
  566. /package/dist/atomic/{p-02dc6f22.entry.js.map → p-02af42b6.entry.js.map} +0 -0
  567. /package/dist/atomic/{p-237b6498.entry.js.map → p-03beab8e.entry.js.map} +0 -0
  568. /package/dist/atomic/{p-492520bf.js.map → p-04b3493d.js.map} +0 -0
  569. /package/dist/atomic/{p-fe7f8010.entry.js.map → p-0581b5ee.entry.js.map} +0 -0
  570. /package/dist/atomic/{p-527b4d37.entry.js.map → p-066af171.entry.js.map} +0 -0
  571. /package/dist/atomic/{p-ec2161f4.entry.js.map → p-0a144948.entry.js.map} +0 -0
  572. /package/dist/atomic/{p-5a62a764.entry.js.map → p-0b790b7c.entry.js.map} +0 -0
  573. /package/dist/atomic/{p-ea30c2c5.entry.js.map → p-0bfb845f.entry.js.map} +0 -0
  574. /package/dist/atomic/{p-a4003b93.entry.js.map → p-199ff90b.entry.js.map} +0 -0
  575. /package/dist/atomic/{p-7e35c35d.entry.js.map → p-1c8468e7.entry.js.map} +0 -0
  576. /package/dist/atomic/{p-9dae1cd8.entry.js.map → p-1e634caa.entry.js.map} +0 -0
  577. /package/dist/atomic/{p-3deb404f.entry.js.map → p-1fb5a818.entry.js.map} +0 -0
  578. /package/dist/atomic/{p-6195bd9a.entry.js.map → p-20970213.entry.js.map} +0 -0
  579. /package/dist/atomic/{p-47156866.entry.js.map → p-21c20ec6.entry.js.map} +0 -0
  580. /package/dist/atomic/{p-607fee37.entry.js.map → p-22708648.entry.js.map} +0 -0
  581. /package/dist/atomic/{p-605ad290.entry.js.map → p-23037179.entry.js.map} +0 -0
  582. /package/dist/atomic/{p-40a6b242.entry.js.map → p-30529a7b.entry.js.map} +0 -0
  583. /package/dist/atomic/{p-1f1d886c.entry.js.map → p-308c8f97.entry.js.map} +0 -0
  584. /package/dist/atomic/{p-03325add.entry.js.map → p-31c65a76.entry.js.map} +0 -0
  585. /package/dist/atomic/{p-fe735188.entry.js.map → p-35ba070e.entry.js.map} +0 -0
  586. /package/dist/atomic/{p-263f6746.entry.js.map → p-381e9292.entry.js.map} +0 -0
  587. /package/dist/atomic/{p-c2a0f838.entry.js.map → p-3858311d.entry.js.map} +0 -0
  588. /package/dist/atomic/{p-3116ec7b.entry.js.map → p-3ae51da2.entry.js.map} +0 -0
  589. /package/dist/atomic/{p-871bd105.entry.js.map → p-3b19694c.entry.js.map} +0 -0
  590. /package/dist/atomic/{p-56e2b35d.entry.js.map → p-3d66abef.entry.js.map} +0 -0
  591. /package/dist/atomic/{p-d044ff5f.js.map → p-3dabd73e.js.map} +0 -0
  592. /package/dist/atomic/{p-a5aaa14c.entry.js.map → p-3ebbf512.entry.js.map} +0 -0
  593. /package/dist/atomic/{p-ddb5a587.entry.js.map → p-3f27f540.entry.js.map} +0 -0
  594. /package/dist/atomic/{p-5cafb3fe.js.map → p-42bcba44.js.map} +0 -0
  595. /package/dist/atomic/{p-2fcbc513.entry.js.map → p-4475b820.entry.js.map} +0 -0
  596. /package/dist/atomic/{p-4fe614d1.entry.js.map → p-4ac7cf4d.entry.js.map} +0 -0
  597. /package/dist/atomic/{p-fc0e5c34.js.map → p-4bf140ca.js.map} +0 -0
  598. /package/dist/atomic/{p-58193542.entry.js.map → p-4e93452a.entry.js.map} +0 -0
  599. /package/dist/atomic/{p-c9cbc469.entry.js.map → p-532aea78.entry.js.map} +0 -0
  600. /package/dist/atomic/{p-022e2c88.entry.js.map → p-538fa6a8.entry.js.map} +0 -0
  601. /package/dist/atomic/{p-67439395.entry.js.map → p-54acf51c.entry.js.map} +0 -0
  602. /package/dist/atomic/{p-639696da.entry.js.map → p-5a1b0c43.entry.js.map} +0 -0
  603. /package/dist/atomic/{p-61520136.entry.js.map → p-5a7287d7.entry.js.map} +0 -0
  604. /package/dist/atomic/{p-2f89eaa5.entry.js.map → p-5e1091db.entry.js.map} +0 -0
  605. /package/dist/atomic/{p-03e139a8.entry.js.map → p-5e43c72a.entry.js.map} +0 -0
  606. /package/dist/atomic/{p-261cc069.entry.js.map → p-5fad24d1.entry.js.map} +0 -0
  607. /package/dist/atomic/{p-06b55a5e.js.map → p-61f9c3f7.js.map} +0 -0
  608. /package/dist/atomic/{p-3b92373f.entry.js.map → p-62896d9f.entry.js.map} +0 -0
  609. /package/dist/atomic/{p-83b61fc7.entry.js.map → p-68cf6c73.entry.js.map} +0 -0
  610. /package/dist/atomic/{p-43ef2a78.entry.js.map → p-6a7ad933.entry.js.map} +0 -0
  611. /package/dist/atomic/{p-d61e65c5.entry.js.map → p-6c833c68.entry.js.map} +0 -0
  612. /package/dist/atomic/{p-ae067eb1.entry.js.map → p-6e0aa85b.entry.js.map} +0 -0
  613. /package/dist/atomic/{p-0297467f.entry.js.map → p-710756b1.entry.js.map} +0 -0
  614. /package/dist/atomic/{p-10bfcc08.entry.js.map → p-719d27a4.entry.js.map} +0 -0
  615. /package/dist/atomic/{p-e3abb9bf.entry.js.map → p-72693691.entry.js.map} +0 -0
  616. /package/dist/atomic/{p-cc11dfe5.entry.js.map → p-72cb8c3d.entry.js.map} +0 -0
  617. /package/dist/atomic/{p-5fb33957.entry.js.map → p-741cfe8d.entry.js.map} +0 -0
  618. /package/dist/atomic/{p-37d04bd3.entry.js.map → p-76fde50b.entry.js.map} +0 -0
  619. /package/dist/atomic/{p-9841c955.entry.js.map → p-778b5a69.entry.js.map} +0 -0
  620. /package/dist/atomic/{p-85b0eb2c.entry.js.map → p-7969276e.entry.js.map} +0 -0
  621. /package/dist/atomic/{p-cd65617e.entry.js.map → p-7b5c63e4.entry.js.map} +0 -0
  622. /package/dist/atomic/{p-c3606352.entry.js.map → p-7b67c9b9.entry.js.map} +0 -0
  623. /package/dist/atomic/{p-de544499.entry.js.map → p-7b6843d6.entry.js.map} +0 -0
  624. /package/dist/atomic/{p-43c60cfc.entry.js.map → p-7c62d253.entry.js.map} +0 -0
  625. /package/dist/atomic/{p-e467bb89.entry.js.map → p-7f381070.entry.js.map} +0 -0
  626. /package/dist/atomic/{p-33aeda20.entry.js.map → p-816f3469.entry.js.map} +0 -0
  627. /package/dist/atomic/{p-5a397a22.entry.js.map → p-81cb6bbb.entry.js.map} +0 -0
  628. /package/dist/atomic/{p-c3d0cd58.entry.js.map → p-833f101f.entry.js.map} +0 -0
  629. /package/dist/atomic/{p-d730d365.entry.js.map → p-83a42baf.entry.js.map} +0 -0
  630. /package/dist/atomic/{p-93e9272d.entry.js.map → p-84efa266.entry.js.map} +0 -0
  631. /package/dist/atomic/{p-8471090e.entry.js.map → p-88d2981f.entry.js.map} +0 -0
  632. /package/dist/atomic/{p-71743e67.entry.js.map → p-8981e00e.entry.js.map} +0 -0
  633. /package/dist/atomic/{p-47307bf9.entry.js.map → p-8a959224.entry.js.map} +0 -0
  634. /package/dist/atomic/{p-adf75ecf.entry.js.map → p-8c0cc64c.entry.js.map} +0 -0
  635. /package/dist/atomic/{p-3f77fe9e.entry.js.map → p-8c780987.entry.js.map} +0 -0
  636. /package/dist/atomic/{p-3bcfc0a2.entry.js.map → p-8e46ebd3.entry.js.map} +0 -0
  637. /package/dist/atomic/{p-10e8d6e9.entry.js.map → p-8ec6e54b.entry.js.map} +0 -0
  638. /package/dist/atomic/{p-2edbbd2c.entry.js.map → p-8ecb50bb.entry.js.map} +0 -0
  639. /package/dist/atomic/{p-47591d90.entry.js.map → p-911adb53.entry.js.map} +0 -0
  640. /package/dist/atomic/{p-8596426c.js.map → p-93030acf.js.map} +0 -0
  641. /package/dist/atomic/{p-aaf5add5.entry.js.map → p-9310cce8.entry.js.map} +0 -0
  642. /package/dist/atomic/{p-463916e1.entry.js.map → p-942b2556.entry.js.map} +0 -0
  643. /package/dist/atomic/{p-f1630863.js.map → p-958f7721.js.map} +0 -0
  644. /package/dist/atomic/{p-9f3ecfe5.js.map → p-96a6f84f.js.map} +0 -0
  645. /package/dist/atomic/{p-c030a2f0.entry.js.map → p-9aa8d0f8.entry.js.map} +0 -0
  646. /package/dist/atomic/{p-eba0c897.entry.js.map → p-9b2e7084.entry.js.map} +0 -0
  647. /package/dist/atomic/{p-e111d8f6.entry.js.map → p-9c3411c5.entry.js.map} +0 -0
  648. /package/dist/atomic/{p-5c040ebc.entry.js.map → p-9ebb392a.entry.js.map} +0 -0
  649. /package/dist/atomic/{p-6b780715.entry.js.map → p-a35f225e.entry.js.map} +0 -0
  650. /package/dist/atomic/{p-22b3c655.entry.js.map → p-a35f2759.entry.js.map} +0 -0
  651. /package/dist/atomic/{p-0d1f928f.entry.js.map → p-a46d0a72.entry.js.map} +0 -0
  652. /package/dist/atomic/{p-0b705c31.entry.js.map → p-a55516b4.entry.js.map} +0 -0
  653. /package/dist/atomic/{p-9ff8fec2.entry.js.map → p-a8f9ba93.entry.js.map} +0 -0
  654. /package/dist/atomic/{p-5db46842.js.map → p-aa10238a.js.map} +0 -0
  655. /package/dist/atomic/{p-ca98cb79.entry.js.map → p-ac60cfe4.entry.js.map} +0 -0
  656. /package/dist/atomic/{p-95e4c09e.entry.js.map → p-ace62ee0.entry.js.map} +0 -0
  657. /package/dist/atomic/{p-fc2cceb3.entry.js.map → p-ad5e7351.entry.js.map} +0 -0
  658. /package/dist/atomic/{p-9957b28c.js.map → p-ad9fbb29.js.map} +0 -0
  659. /package/dist/atomic/{p-62d16036.entry.js.map → p-ae7a143b.entry.js.map} +0 -0
  660. /package/dist/atomic/{p-ec0b64a5.entry.js.map → p-aed080d1.entry.js.map} +0 -0
  661. /package/dist/atomic/{p-da1d8792.js.map → p-b31d8fdd.js.map} +0 -0
  662. /package/dist/atomic/{p-cb1905a6.entry.js.map → p-b3f05420.entry.js.map} +0 -0
  663. /package/dist/atomic/{p-3835716f.entry.js.map → p-b3fa18f1.entry.js.map} +0 -0
  664. /package/dist/atomic/{p-aaa324cd.entry.js.map → p-b878425f.entry.js.map} +0 -0
  665. /package/dist/atomic/{p-186a5f0d.entry.js.map → p-b8b67309.entry.js.map} +0 -0
  666. /package/dist/atomic/{p-b875f4b6.entry.js.map → p-b8beb062.entry.js.map} +0 -0
  667. /package/dist/atomic/{p-0f506869.js.map → p-bc96b8f6.js.map} +0 -0
  668. /package/dist/atomic/{p-6e592bf0.entry.js.map → p-bcbbb63f.entry.js.map} +0 -0
  669. /package/dist/atomic/{p-b0d10266.entry.js.map → p-bd10dac1.entry.js.map} +0 -0
  670. /package/dist/atomic/{p-57b6b64c.entry.js.map → p-be04b3b0.entry.js.map} +0 -0
  671. /package/dist/atomic/{p-1519454c.entry.js.map → p-bf7d7b24.entry.js.map} +0 -0
  672. /package/dist/atomic/{p-7e80de89.entry.js.map → p-c0edac65.entry.js.map} +0 -0
  673. /package/dist/atomic/{p-b973f6f4.entry.js.map → p-c164379a.entry.js.map} +0 -0
  674. /package/dist/atomic/{p-f5054252.entry.js.map → p-c5df6d2d.entry.js.map} +0 -0
  675. /package/dist/atomic/{p-0fe2face.entry.js.map → p-c6e5e68e.entry.js.map} +0 -0
  676. /package/dist/atomic/{p-2f6d4b52.entry.js.map → p-c7b888be.entry.js.map} +0 -0
  677. /package/dist/atomic/{p-1697fe78.entry.js.map → p-c92957d3.entry.js.map} +0 -0
  678. /package/dist/atomic/{p-d625f03b.entry.js.map → p-c9f3c083.entry.js.map} +0 -0
  679. /package/dist/atomic/{p-934470ac.entry.js.map → p-cce54989.entry.js.map} +0 -0
  680. /package/dist/atomic/{p-bf460507.entry.js.map → p-cd124dd9.entry.js.map} +0 -0
  681. /package/dist/atomic/{p-dc7b46cc.entry.js.map → p-ce19125a.entry.js.map} +0 -0
  682. /package/dist/atomic/{p-d28ce9d0.entry.js.map → p-d048d414.entry.js.map} +0 -0
  683. /package/dist/atomic/{p-6776811d.js.map → p-d2db2d70.js.map} +0 -0
  684. /package/dist/atomic/{p-26d0a8d6.entry.js.map → p-d57f5ca9.entry.js.map} +0 -0
  685. /package/dist/atomic/{p-67438aff.entry.js.map → p-da1849e7.entry.js.map} +0 -0
  686. /package/dist/atomic/{p-f4586b3a.entry.js.map → p-db75a4d7.entry.js.map} +0 -0
  687. /package/dist/atomic/{p-a06e88d4.entry.js.map → p-dbee1385.entry.js.map} +0 -0
  688. /package/dist/atomic/{p-29242cf4.entry.js.map → p-dcaabb9f.entry.js.map} +0 -0
  689. /package/dist/atomic/{p-aba83a12.entry.js.map → p-dcc17bed.entry.js.map} +0 -0
  690. /package/dist/atomic/{p-97cb6aa3.entry.js.map → p-e5b9e75e.entry.js.map} +0 -0
  691. /package/dist/atomic/{p-c20f8897.entry.js.map → p-e661342b.entry.js.map} +0 -0
  692. /package/dist/atomic/{p-f7b4d419.entry.js.map → p-e9b3e6c2.entry.js.map} +0 -0
  693. /package/dist/atomic/{p-b7488ef9.entry.js.map → p-eaf09638.entry.js.map} +0 -0
  694. /package/dist/atomic/{p-27fc83ff.entry.js.map → p-ecfe4a14.entry.js.map} +0 -0
  695. /package/dist/atomic/{p-b3b4f0cb.entry.js.map → p-f2191c75.entry.js.map} +0 -0
  696. /package/dist/atomic/{p-e5434c27.entry.js.map → p-f4a4f813.entry.js.map} +0 -0
  697. /package/dist/atomic/{p-9450b20c.entry.js.map → p-f67a7223.entry.js.map} +0 -0
  698. /package/dist/atomic/{p-ed21f076.js.map → p-f8cb48e1.js.map} +0 -0
  699. /package/dist/atomic/{p-5a9d6ec0.entry.js.map → p-f95f4574.entry.js.map} +0 -0
  700. /package/dist/atomic/{p-ad38f245.js.map → p-fcec0e93.js.map} +0 -0
  701. /package/dist/atomic/{p-83a78247.entry.js.map → p-fee37590.entry.js.map} +0 -0
  702. /package/dist/atomic/{p-4b93d185.entry.js.map → p-ff6407a0.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"store-e14e2958.js","mappings":"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","names":[],"sources":["src/components/common/interface/store.ts"],"sourcesContent":["import type {DateFacetValue, NumericFacetValue} from '@coveo/headless';\nimport {isInDocument} from '../../../utils/utils';\nimport type {\n FacetInfo,\n FacetStore,\n FacetType,\n FacetValueFormat,\n} from '../facets/facet-common-store';\nimport type {AnyEngineType} from './bindings';\n\nexport const isRefineModalFacet = 'is-refine-modal';\n\nexport type BaseStore<T> = CommonStore<T> & {\n getUniqueIDFromEngine(engine: unknown): string | undefined;\n};\n\nexport interface ResultListInfo {\n focusOnNextNewResult(): void;\n focusOnFirstResultAfterNextSearch(): Promise<void>;\n}\n\nexport function createAppLoadedListener(\n store: CommonStore<{loadingFlags: string[]}>,\n callback: (isAppLoaded: boolean) => void\n) {\n const updateIsAppLoaded = () => {\n const isAppLoaded = store.state.loadingFlags.length === 0;\n callback(isAppLoaded);\n };\n\n store.onChange('loadingFlags', updateIsAppLoaded);\n updateIsAppLoaded();\n}\n\nexport function createBaseStore<T extends {}>(initialState: T): BaseStore<T> {\n const store = createStore(initialState) as CommonStore<T>;\n\n return {\n ...store,\n\n getUniqueIDFromEngine(_engine: AnyEngineType) {\n throw new Error(\n 'getUniqueIDFromEngine not implemented at the base store level.'\n );\n },\n };\n}\n\nexport function registerFacet<T extends FacetType, U extends string>(\n store: CommonStore<Facets>,\n facetType: T,\n data: Facets[T][U] & {facetId: U; element: HTMLElement}\n) {\n const clearExistingFacetElement = (facetType: FacetType, facetId: string) => {\n if (store.state[facetType][facetId]) {\n store.state.facetElements = store.state.facetElements.filter(\n (facetElement) => facetElement.getAttribute('facet-id') !== facetId\n );\n }\n };\n\n if (data.element.getAttribute(isRefineModalFacet) !== null) {\n return;\n }\n\n clearExistingFacetElement(facetType, data.facetId);\n store.state.facetElements.push(data.element);\n store.state[facetType][data.facetId] = data;\n}\n\nexport function setLoadingFlag(\n store: CommonStore<{loadingFlags: string[]}>,\n loadingFlag: string\n) {\n const flags = store.state.loadingFlags;\n store.state.loadingFlags = flags.concat(loadingFlag);\n}\n\nexport function unsetLoadingFlag(\n store: CommonStore<{loadingFlags: string[]}>,\n loadingFlag: string\n) {\n const flags = store.state.loadingFlags;\n store.state.loadingFlags = flags.filter((value) => value !== loadingFlag);\n}\n\nexport function getFacetElements(store: CommonStore<Facets>) {\n return store.state.facetElements.filter((element) => isInDocument(element));\n}\n\nexport function waitUntilAppLoaded(\n store: CommonStore<{loadingFlags: string[]}>,\n callback: () => void\n) {\n if (!store.state.loadingFlags.length) {\n callback();\n } else {\n store.onChange('loadingFlags', (flags) => {\n if (!flags.length) {\n callback();\n }\n });\n }\n}\n\ninterface CommonStore<StoreData> {\n state: StoreData;\n get: <PropName extends keyof StoreData>(\n propName: PropName\n ) => StoreData[PropName];\n set: <PropName extends keyof StoreData>(\n propName: PropName,\n value: StoreData[PropName]\n ) => void;\n onChange: <PropName extends keyof StoreData>(\n propName: PropName,\n cb: (newValue: StoreData[PropName]) => void\n ) => () => void;\n}\n\ninterface Facets {\n facets: FacetStore<FacetInfo>;\n numericFacets: FacetStore<FacetInfo & FacetValueFormat<NumericFacetValue>>;\n dateFacets: FacetStore<FacetInfo & FacetValueFormat<DateFacetValue>>;\n categoryFacets: FacetStore<FacetInfo>;\n facetElements: HTMLElement[];\n}\n\nfunction createStore<StoreData extends Record<string, unknown>>(\n initialState: StoreData\n): CommonStore<StoreData> {\n const listeners = new Map<\n keyof StoreData,\n Set<(newValue: unknown) => void>\n >();\n\n const state = new Proxy(initialState, {\n set(target, prop: string, value) {\n const oldValue = target[prop];\n if (oldValue !== value) {\n (target as Record<string, unknown>)[prop] = value;\n\n if (listeners.has(prop)) {\n for (const cb of listeners.get(prop)!) {\n cb(value);\n }\n }\n }\n return true;\n },\n });\n\n const get = <PropName extends keyof StoreData>(\n propName: PropName\n ): StoreData[PropName] => {\n return state[propName];\n };\n\n const set = <PropName extends keyof StoreData>(\n propName: PropName,\n value: StoreData[PropName]\n ): void => {\n state[propName] = value;\n };\n\n const onChange = <PropName extends keyof StoreData>(\n propName: PropName,\n callback: (newValue: StoreData[PropName]) => void\n ): (() => void) => {\n if (!listeners.has(propName)) {\n listeners.set(propName, new Set());\n }\n listeners.get(propName)!.add(callback as (newValue: unknown) => void);\n\n return () => {\n listeners.get(propName)!.delete(callback as (newValue: unknown) => void);\n if (listeners.get(propName)!.size === 0) {\n listeners.delete(propName);\n }\n };\n };\n\n return {\n state,\n get,\n set,\n onChange,\n };\n}\n"],"version":3}
1
+ {"file":"store-5fcae420.js","mappings":"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","names":[],"sources":["src/components/common/interface/store.ts"],"sourcesContent":["import type {DateFacetValue, NumericFacetValue} from '@coveo/headless';\nimport {isInDocument} from '../../../utils/utils';\nimport type {\n FacetInfo,\n FacetStore,\n FacetType,\n FacetValueFormat,\n} from '../facets/facet-common-store';\nimport type {AnyEngineType} from './bindings';\n\nexport const isRefineModalFacet = 'is-refine-modal';\n\nexport type BaseStore<T> = CommonStore<T> & {\n getUniqueIDFromEngine(engine: unknown): string | undefined;\n};\n\nexport interface ResultListInfo {\n focusOnNextNewResult(): void;\n focusOnFirstResultAfterNextSearch(): Promise<void>;\n}\n\nexport function createAppLoadedListener(\n store: CommonStore<{loadingFlags: string[]}>,\n callback: (isAppLoaded: boolean) => void\n) {\n const updateIsAppLoaded = () => {\n const isAppLoaded = store.state.loadingFlags.length === 0;\n callback(isAppLoaded);\n };\n\n store.onChange('loadingFlags', updateIsAppLoaded);\n updateIsAppLoaded();\n}\n\nexport function createBaseStore<T extends {}>(initialState: T): BaseStore<T> {\n const store = createStore(initialState) as CommonStore<T>;\n\n return {\n ...store,\n\n getUniqueIDFromEngine(_engine: AnyEngineType) {\n throw new Error(\n 'getUniqueIDFromEngine not implemented at the base store level.'\n );\n },\n };\n}\n\nexport function registerFacet<T extends FacetType, U extends string>(\n store: CommonStore<Facets>,\n facetType: T,\n data: Facets[T][U] & {facetId: U; element: HTMLElement}\n) {\n const clearExistingFacetElement = (facetType: FacetType, facetId: string) => {\n if (store.state[facetType][facetId]) {\n store.state.facetElements = store.state.facetElements.filter(\n (facetElement) => facetElement.getAttribute('facet-id') !== facetId\n );\n }\n };\n\n if (data.element.getAttribute(isRefineModalFacet) !== null) {\n return;\n }\n\n clearExistingFacetElement(facetType, data.facetId);\n store.state.facetElements.push(data.element);\n store.state[facetType][data.facetId] = data;\n}\n\nexport function setLoadingFlag(\n store: CommonStore<{loadingFlags: string[]}>,\n loadingFlag: string\n) {\n const flags = store.state.loadingFlags;\n store.state.loadingFlags = flags.concat(loadingFlag);\n}\n\nexport function unsetLoadingFlag(\n store: CommonStore<{loadingFlags: string[]}>,\n loadingFlag: string\n) {\n const flags = store.state.loadingFlags;\n store.state.loadingFlags = flags.filter((value) => value !== loadingFlag);\n}\n\nexport function getFacetElements(store: CommonStore<Facets>) {\n return store.state.facetElements.filter((element) => isInDocument(element));\n}\n\nexport function waitUntilAppLoaded(\n store: CommonStore<{loadingFlags: string[]}>,\n callback: () => void\n) {\n if (!store.state.loadingFlags.length) {\n callback();\n } else {\n store.onChange('loadingFlags', (flags) => {\n if (!flags.length) {\n callback();\n }\n });\n }\n}\n\ninterface CommonStore<StoreData> {\n state: StoreData;\n get: <PropName extends keyof StoreData>(\n propName: PropName\n ) => StoreData[PropName];\n set: <PropName extends keyof StoreData>(\n propName: PropName,\n value: StoreData[PropName]\n ) => void;\n onChange: <PropName extends keyof StoreData>(\n propName: PropName,\n cb: (newValue: StoreData[PropName]) => void\n ) => () => void;\n}\n\ninterface Facets {\n facets: FacetStore<FacetInfo>;\n numericFacets: FacetStore<FacetInfo & FacetValueFormat<NumericFacetValue>>;\n dateFacets: FacetStore<FacetInfo & FacetValueFormat<DateFacetValue>>;\n categoryFacets: FacetStore<FacetInfo>;\n facetElements: HTMLElement[];\n}\n\nfunction createStore<StoreData extends Record<string, unknown>>(\n initialState: StoreData\n): CommonStore<StoreData> {\n const listeners = new Map<\n keyof StoreData,\n Set<(newValue: unknown) => void>\n >();\n\n const state = new Proxy(initialState, {\n set(target, prop: string, value) {\n const oldValue = target[prop];\n if (oldValue !== value) {\n (target as Record<string, unknown>)[prop] = value;\n\n if (listeners.has(prop)) {\n for (const cb of listeners.get(prop)!) {\n cb(value);\n }\n }\n }\n return true;\n },\n });\n\n const get = <PropName extends keyof StoreData>(\n propName: PropName\n ): StoreData[PropName] => {\n return state[propName];\n };\n\n const set = <PropName extends keyof StoreData>(\n propName: PropName,\n value: StoreData[PropName]\n ): void => {\n state[propName] = value;\n };\n\n const onChange = <PropName extends keyof StoreData>(\n propName: PropName,\n callback: (newValue: StoreData[PropName]) => void\n ): (() => void) => {\n if (!listeners.has(propName)) {\n listeners.set(propName, new Set());\n }\n listeners.get(propName)!.add(callback as (newValue: unknown) => void);\n\n return () => {\n listeners.get(propName)!.delete(callback as (newValue: unknown) => void);\n if (listeners.get(propName)!.size === 0) {\n listeners.delete(propName);\n }\n };\n };\n\n return {\n state,\n get,\n set,\n onChange,\n };\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { h } from './index-3f35faca.js';
2
2
  import { p as parseDate } from './date-utils-e07b72d6.js';
3
3
  import { g as getFieldValueCaption } from './field-utils-f0146383.js';
4
- import { r as randomID } from './utils-7ac76ba7.js';
4
+ import { r as randomID } from './utils-30b00491.js';
5
5
  import { H as Hidden } from './initialization-utils-ff3edf9a.js';
6
6
  import { F as FacetHeader, a as FacetContainer } from './stencil-facet-header-6a0bb1d4.js';
7
7
  import { F as FacetPlaceholder } from './facet-placeholder-ecbe6e6f.js';
@@ -210,4 +210,4 @@ class TimeframeFacetCommon {
210
210
 
211
211
  export { TimeframeFacetCommon as T };
212
212
 
213
- //# sourceMappingURL=timeframe-facet-common-8d7fa83e.js.map
213
+ //# sourceMappingURL=timeframe-facet-common-1aad36a0.js.map
@@ -1 +1 @@
1
- {"file":"timeframe-facet-common-8d7fa83e.js","mappings":"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","names":[],"sources":["src/components/common/facets/timeframe-facet-common.tsx"],"sourcesContent":["import {FocusTargetController} from '@/src/utils/stencil-accessibility-utils';\nimport {\n DateFacet,\n DateFacetValue,\n DateFilter,\n DateRangeOptions,\n DateRangeRequest,\n FacetConditionsManager,\n RangeFacetSortCriterion,\n RelativeDate,\n RelativeDatePeriod,\n RelativeDateUnit,\n SearchStatusState,\n} from '@coveo/headless';\nimport {h, VNode} from '@stencil/core';\nimport {parseDate} from '../../../utils/date-utils';\nimport {getFieldValueCaption} from '../../../utils/field-utils';\nimport {randomID} from '../../../utils/utils';\nimport {InsightBindings} from '../../insight/atomic-insight-interface/atomic-insight-interface';\nimport {Bindings as SearchBindings} from '../../search/atomic-search-interface/atomic-search-interface';\nimport {Hidden} from '../stencil-hidden';\nimport {FacetInfo} from './facet-common-store';\nimport {FacetContainer} from './facet-container/stencil-facet-container';\nimport {FacetHeader} from './facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from './facet-placeholder/facet-placeholder';\nimport {FacetValueLabelHighlight} from './facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from './facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from './facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from './popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from './stencil-facet-common';\n\nexport interface Timeframe {\n period: RelativeDatePeriod;\n unit?: RelativeDateUnit;\n amount?: number;\n label?: string;\n}\n\ninterface TimeframeFacetCommonOptions {\n facetId?: string;\n host: HTMLElement;\n bindings: SearchBindings | InsightBindings;\n label: string;\n field: string;\n headingLevel: number;\n dependsOn: Record<string, string>;\n withDatePicker: boolean;\n setFacetId(id: string): string;\n getSearchStatusState(): SearchStatusState;\n buildDependenciesManager(facetId: string): FacetConditionsManager;\n deserializeRelativeDate(date: string): RelativeDate;\n buildDateRange(config: DateRangeOptions): DateRangeRequest;\n initializeFacetForDatePicker(): DateFacet;\n initializeFacetForDateRange(values: DateRangeRequest[]): DateFacet;\n initializeFilter(): DateFilter;\n min?: string;\n max?: string;\n sortCriteria: RangeFacetSortCriterion;\n}\n\ninterface TimeframeFacetCommonRenderProps {\n hasError: boolean;\n firstSearchExecuted: boolean;\n isCollapsed: boolean;\n headerFocus: FocusTargetController;\n onToggleCollapse: () => boolean;\n}\n\nexport class TimeframeFacetCommon {\n private facetId?: string;\n private facetForDatePicker?: DateFacet;\n private facetForDateRange?: DateFacet;\n private filter?: DateFilter;\n private manualTimeframes: Timeframe[] = [];\n private facetForDateRangeDependenciesManager?: FacetConditionsManager;\n private facetForDatePickerDependenciesManager?: FacetConditionsManager;\n private filterDependenciesManager?: FacetConditionsManager;\n\n constructor(private props: TimeframeFacetCommonOptions) {\n this.facetId = this.determineFacetId;\n this.props.setFacetId(this.facetId);\n\n this.manualTimeframes = this.getManualTimeframes();\n\n // Initialize two facets: One that is actually used to display values for end users, which only exists\n // if we need to display something to the end user (ie: timeframes > 0)\n\n // A second facet is initialized only to verify the results count. It is never used to display results to end user.\n // It serves as a way to determine if the input should be rendered or not, independent of the ranges configured in the component\n if (this.manualTimeframes.length > 0) {\n this.facetForDateRange = this.props.initializeFacetForDateRange(\n this.currentValues\n );\n }\n\n if (this.props.withDatePicker) {\n this.facetForDatePicker = this.props.initializeFacetForDatePicker();\n this.facetForDatePickerDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDatePicker.state.facetId\n );\n this.filter = this.props.initializeFilter();\n }\n\n if (this.facetForDateRange) {\n this.facetForDateRangeDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDateRange?.state.facetId\n );\n }\n\n if (this.filter) {\n this.filterDependenciesManager = this.props.buildDependenciesManager(\n this.filter?.state.facetId\n );\n }\n\n this.registerFacetToStore();\n }\n\n private get determineFacetId() {\n if (this.props.facetId) {\n return this.props.facetId;\n }\n\n if (this.props.bindings.store.state.dateFacets[this.props.field]) {\n return randomID(`${this.props.field}_`);\n }\n\n return this.props.field;\n }\n\n private get enabled() {\n return (\n this.facetForDateRange?.state.enabled ??\n this.filter?.state.enabled ??\n true\n );\n }\n\n private get valuesToRender() {\n return (\n this.facetForDateRange?.state.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 return shouldDisplayInputForFacetRange({\n hasInput: this.props.withDatePicker,\n hasInputRange: this.hasInputRange,\n searchStatusState: this.props.getSearchStatusState(),\n facetValues: this.facetForDatePicker?.state?.values || [],\n });\n }\n\n private get hasValues() {\n if (this.facetForDatePicker?.state.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private get numberOfSelectedValues() {\n if (this.filter?.state?.range) {\n return 1;\n }\n\n return (\n this.facetForDateRange?.state.values.filter(\n ({state}) => state === 'selected'\n ).length || 0\n );\n }\n\n private get hasInputRange() {\n return !!this.filter?.state.range;\n }\n\n public get currentValues(): DateRangeRequest[] {\n return this.manualTimeframes.map(({period, amount, unit}) =>\n period === 'past'\n ? this.props.buildDateRange({\n start: {period, unit, amount},\n end: {period: 'now'},\n })\n : this.props.buildDateRange({\n start: {period: 'now'},\n end: {period, unit, amount},\n })\n );\n }\n\n public disconnectedCallback() {\n if (this.props.host.isConnected) {\n return;\n }\n this.facetForDateRangeDependenciesManager?.stopWatching();\n this.facetForDatePickerDependenciesManager?.stopWatching();\n this.filterDependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet || !this.enabled;\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.props.bindings.i18n.t(this.props.label),\n facetId: this.facetId!,\n element: this.props.host,\n isHidden: () => this.isHidden,\n };\n\n this.props.bindings.store.registerFacet('dateFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n });\n\n initializePopover(this.props.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n\n if (this.filter) {\n this.props.bindings.store.state.dateFacets[this.filter.state.facetId] =\n this.props.bindings.store.state.dateFacets[this.facetId!];\n }\n }\n\n private getManualTimeframes(): Timeframe[] {\n return Array.from(this.props.host.querySelectorAll('atomic-timeframe')).map(\n ({label, amount, unit, period}) => ({\n label,\n amount,\n unit,\n period,\n })\n );\n }\n\n private formatFacetValue(facetValue: DateFacetValue) {\n try {\n const startDate = this.props.deserializeRelativeDate(facetValue.start);\n const relativeDate =\n startDate.period === 'past'\n ? startDate\n : this.props.deserializeRelativeDate(facetValue.end);\n const timeframe = this.getManualTimeframes().find(\n (timeframe) =>\n timeframe.period === relativeDate.period &&\n timeframe.unit === relativeDate.unit &&\n timeframe.amount === relativeDate.amount\n );\n\n if (timeframe?.label) {\n return getFieldValueCaption(\n this.props.field,\n timeframe.label,\n this.props.bindings.i18n\n );\n }\n return this.props.bindings.i18n.t(\n `${relativeDate.period}-${relativeDate.unit}`,\n {\n count: relativeDate.amount,\n }\n );\n } catch (error) {\n return this.props.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 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.props.bindings.i18n}\n onClick={() => this.facetForDateRange!.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\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n >\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderHeader(\n isCollapsed: boolean,\n headerFocus: FocusTargetController,\n onToggleCollapse: () => void\n ) {\n return (\n <FacetHeader\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n onClearFilters={() => {\n headerFocus.focusAfterSearch();\n if (this.filter?.state.range) {\n this.filter?.clear();\n return;\n }\n this.facetForDateRange?.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={isCollapsed}\n headingLevel={this.props.headingLevel}\n onToggleCollapse={onToggleCollapse}\n headerRef={(el) => headerFocus.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderDateInput() {\n return (\n <atomic-facet-date-input\n min={this.props.min}\n max={this.props.max}\n bindings={this.props.bindings}\n label={this.props.label}\n facetId={this.filter!.state!.facetId}\n rangeGetter={() => this.filter!.state.range}\n rangeSetter={(request: DateRangeRequest) => {\n this.filter!.setRange(request);\n }}\n ></atomic-facet-date-input>\n );\n }\n\n public render({\n hasError,\n firstSearchExecuted,\n isCollapsed,\n headerFocus,\n onToggleCollapse,\n }: TimeframeFacetCommonRenderProps) {\n if (hasError || !this.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.currentValues.length}\n isCollapsed={isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.shouldRenderFacet) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader(isCollapsed, headerFocus, onToggleCollapse)}\n {!isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && this.renderDateInput(),\n ]}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
1
+ {"file":"timeframe-facet-common-1aad36a0.js","mappings":"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","names":[],"sources":["src/components/common/facets/timeframe-facet-common.tsx"],"sourcesContent":["import {FocusTargetController} from '@/src/utils/stencil-accessibility-utils';\nimport {\n DateFacet,\n DateFacetValue,\n DateFilter,\n DateRangeOptions,\n DateRangeRequest,\n FacetConditionsManager,\n RangeFacetSortCriterion,\n RelativeDate,\n RelativeDatePeriod,\n RelativeDateUnit,\n SearchStatusState,\n} from '@coveo/headless';\nimport {h, VNode} from '@stencil/core';\nimport {parseDate} from '../../../utils/date-utils';\nimport {getFieldValueCaption} from '../../../utils/field-utils';\nimport {randomID} from '../../../utils/utils';\nimport {InsightBindings} from '../../insight/atomic-insight-interface/atomic-insight-interface';\nimport {Bindings as SearchBindings} from '../../search/atomic-search-interface/atomic-search-interface';\nimport {Hidden} from '../stencil-hidden';\nimport {FacetInfo} from './facet-common-store';\nimport {FacetContainer} from './facet-container/stencil-facet-container';\nimport {FacetHeader} from './facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from './facet-placeholder/facet-placeholder';\nimport {FacetValueLabelHighlight} from './facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from './facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from './facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from './popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from './stencil-facet-common';\n\nexport interface Timeframe {\n period: RelativeDatePeriod;\n unit?: RelativeDateUnit;\n amount?: number;\n label?: string;\n}\n\ninterface TimeframeFacetCommonOptions {\n facetId?: string;\n host: HTMLElement;\n bindings: SearchBindings | InsightBindings;\n label: string;\n field: string;\n headingLevel: number;\n dependsOn: Record<string, string>;\n withDatePicker: boolean;\n setFacetId(id: string): string;\n getSearchStatusState(): SearchStatusState;\n buildDependenciesManager(facetId: string): FacetConditionsManager;\n deserializeRelativeDate(date: string): RelativeDate;\n buildDateRange(config: DateRangeOptions): DateRangeRequest;\n initializeFacetForDatePicker(): DateFacet;\n initializeFacetForDateRange(values: DateRangeRequest[]): DateFacet;\n initializeFilter(): DateFilter;\n min?: string;\n max?: string;\n sortCriteria: RangeFacetSortCriterion;\n}\n\ninterface TimeframeFacetCommonRenderProps {\n hasError: boolean;\n firstSearchExecuted: boolean;\n isCollapsed: boolean;\n headerFocus: FocusTargetController;\n onToggleCollapse: () => boolean;\n}\n\nexport class TimeframeFacetCommon {\n private facetId?: string;\n private facetForDatePicker?: DateFacet;\n private facetForDateRange?: DateFacet;\n private filter?: DateFilter;\n private manualTimeframes: Timeframe[] = [];\n private facetForDateRangeDependenciesManager?: FacetConditionsManager;\n private facetForDatePickerDependenciesManager?: FacetConditionsManager;\n private filterDependenciesManager?: FacetConditionsManager;\n\n constructor(private props: TimeframeFacetCommonOptions) {\n this.facetId = this.determineFacetId;\n this.props.setFacetId(this.facetId);\n\n this.manualTimeframes = this.getManualTimeframes();\n\n // Initialize two facets: One that is actually used to display values for end users, which only exists\n // if we need to display something to the end user (ie: timeframes > 0)\n\n // A second facet is initialized only to verify the results count. It is never used to display results to end user.\n // It serves as a way to determine if the input should be rendered or not, independent of the ranges configured in the component\n if (this.manualTimeframes.length > 0) {\n this.facetForDateRange = this.props.initializeFacetForDateRange(\n this.currentValues\n );\n }\n\n if (this.props.withDatePicker) {\n this.facetForDatePicker = this.props.initializeFacetForDatePicker();\n this.facetForDatePickerDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDatePicker.state.facetId\n );\n this.filter = this.props.initializeFilter();\n }\n\n if (this.facetForDateRange) {\n this.facetForDateRangeDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDateRange?.state.facetId\n );\n }\n\n if (this.filter) {\n this.filterDependenciesManager = this.props.buildDependenciesManager(\n this.filter?.state.facetId\n );\n }\n\n this.registerFacetToStore();\n }\n\n private get determineFacetId() {\n if (this.props.facetId) {\n return this.props.facetId;\n }\n\n if (this.props.bindings.store.state.dateFacets[this.props.field]) {\n return randomID(`${this.props.field}_`);\n }\n\n return this.props.field;\n }\n\n private get enabled() {\n return (\n this.facetForDateRange?.state.enabled ??\n this.filter?.state.enabled ??\n true\n );\n }\n\n private get valuesToRender() {\n return (\n this.facetForDateRange?.state.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 return shouldDisplayInputForFacetRange({\n hasInput: this.props.withDatePicker,\n hasInputRange: this.hasInputRange,\n searchStatusState: this.props.getSearchStatusState(),\n facetValues: this.facetForDatePicker?.state?.values || [],\n });\n }\n\n private get hasValues() {\n if (this.facetForDatePicker?.state.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private get numberOfSelectedValues() {\n if (this.filter?.state?.range) {\n return 1;\n }\n\n return (\n this.facetForDateRange?.state.values.filter(\n ({state}) => state === 'selected'\n ).length || 0\n );\n }\n\n private get hasInputRange() {\n return !!this.filter?.state.range;\n }\n\n public get currentValues(): DateRangeRequest[] {\n return this.manualTimeframes.map(({period, amount, unit}) =>\n period === 'past'\n ? this.props.buildDateRange({\n start: {period, unit, amount},\n end: {period: 'now'},\n })\n : this.props.buildDateRange({\n start: {period: 'now'},\n end: {period, unit, amount},\n })\n );\n }\n\n public disconnectedCallback() {\n if (this.props.host.isConnected) {\n return;\n }\n this.facetForDateRangeDependenciesManager?.stopWatching();\n this.facetForDatePickerDependenciesManager?.stopWatching();\n this.filterDependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet || !this.enabled;\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.props.bindings.i18n.t(this.props.label),\n facetId: this.facetId!,\n element: this.props.host,\n isHidden: () => this.isHidden,\n };\n\n this.props.bindings.store.registerFacet('dateFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n });\n\n initializePopover(this.props.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n\n if (this.filter) {\n this.props.bindings.store.state.dateFacets[this.filter.state.facetId] =\n this.props.bindings.store.state.dateFacets[this.facetId!];\n }\n }\n\n private getManualTimeframes(): Timeframe[] {\n return Array.from(this.props.host.querySelectorAll('atomic-timeframe')).map(\n ({label, amount, unit, period}) => ({\n label,\n amount,\n unit,\n period,\n })\n );\n }\n\n private formatFacetValue(facetValue: DateFacetValue) {\n try {\n const startDate = this.props.deserializeRelativeDate(facetValue.start);\n const relativeDate =\n startDate.period === 'past'\n ? startDate\n : this.props.deserializeRelativeDate(facetValue.end);\n const timeframe = this.getManualTimeframes().find(\n (timeframe) =>\n timeframe.period === relativeDate.period &&\n timeframe.unit === relativeDate.unit &&\n timeframe.amount === relativeDate.amount\n );\n\n if (timeframe?.label) {\n return getFieldValueCaption(\n this.props.field,\n timeframe.label,\n this.props.bindings.i18n\n );\n }\n return this.props.bindings.i18n.t(\n `${relativeDate.period}-${relativeDate.unit}`,\n {\n count: relativeDate.amount,\n }\n );\n } catch (error) {\n return this.props.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 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.props.bindings.i18n}\n onClick={() => this.facetForDateRange!.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\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n >\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderHeader(\n isCollapsed: boolean,\n headerFocus: FocusTargetController,\n onToggleCollapse: () => void\n ) {\n return (\n <FacetHeader\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n onClearFilters={() => {\n headerFocus.focusAfterSearch();\n if (this.filter?.state.range) {\n this.filter?.clear();\n return;\n }\n this.facetForDateRange?.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={isCollapsed}\n headingLevel={this.props.headingLevel}\n onToggleCollapse={onToggleCollapse}\n headerRef={(el) => headerFocus.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderDateInput() {\n return (\n <atomic-facet-date-input\n min={this.props.min}\n max={this.props.max}\n bindings={this.props.bindings}\n label={this.props.label}\n facetId={this.filter!.state!.facetId}\n rangeGetter={() => this.filter!.state.range}\n rangeSetter={(request: DateRangeRequest) => {\n this.filter!.setRange(request);\n }}\n ></atomic-facet-date-input>\n );\n }\n\n public render({\n hasError,\n firstSearchExecuted,\n isCollapsed,\n headerFocus,\n onToggleCollapse,\n }: TimeframeFacetCommonRenderProps) {\n if (hasError || !this.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.currentValues.length}\n isCollapsed={isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.shouldRenderFacet) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader(isCollapsed, headerFocus, onToggleCollapse)}\n {!isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && this.renderDateInput(),\n ]}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
@@ -163,6 +163,6 @@ async function defer() {
163
163
  return new Promise((resolve) => setTimeout(resolve, 10));
164
164
  }
165
165
 
166
- export { aggregate as a, isElementNode as b, camelToKebab as c, defer as d, isInDocument as e, containsVisualElement as f, elementHasAncestorTag as g, isFocusingOut as h, isVisualNode as i, spreadProperties as j, kebabToCamel as k, sortByDocumentPosition as l, sanitizeStyle as m, isAncestorOf as n, once as o, parseXML as p, getParent as q, randomID as r, snakeToCamel as s, titleToKebab as t, getFocusedElement as u };
166
+ export { aggregate as a, isVisualNode as b, camelToKebab as c, defer as d, isElementNode as e, containsVisualElement as f, elementHasAncestorTag as g, isFocusingOut as h, isInDocument as i, spreadProperties as j, kebabToCamel as k, sortByDocumentPosition as l, sanitizeStyle as m, isAncestorOf as n, once as o, parseXML as p, getParent as q, randomID as r, snakeToCamel as s, titleToKebab as t, getFocusedElement as u };
167
167
 
168
- //# sourceMappingURL=utils-7ac76ba7.js.map
168
+ //# sourceMappingURL=utils-30b00491.js.map
@@ -1 +1 @@
1
- {"file":"utils-7ac76ba7.js","mappings":"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","names":[],"sources":["src/utils/utils.ts"],"sourcesContent":["import DOMPurify from 'dompurify';\n\n/**\n * Returns a function that can be executed only once\n */\nexport function once<T extends unknown[]>(fn: (...args: T) => unknown) {\n let result: unknown;\n return function (this: unknown, ...args: T) {\n if (fn) {\n result = fn.apply(this, args);\n fn = () => {};\n }\n return result;\n };\n}\n\nexport function camelToKebab(value: string) {\n return value.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function kebabToCamel(value: string) {\n return value.replace(/-./g, (x) => x[1].toUpperCase());\n}\n\nexport function snakeToCamel(value: string) {\n return value\n .toLowerCase()\n .replace(/([_][a-z])/g, (group) => group.toUpperCase().replace('_', ''));\n}\n\nexport function titleToKebab(value: string) {\n return value.replace(/\\s/g, '-').toLowerCase();\n}\n\nexport function randomID(prepend?: string, length = 5) {\n const randomStr = Math.random()\n .toString(36)\n .substring(2, 2 + length);\n if (!prepend) {\n return randomStr;\n }\n return prepend + randomStr;\n}\n\nexport function getRandomArbitrary(min: number, max: number) {\n return Math.random() * (max - min) + min;\n}\n\nexport function parseXML(string: string) {\n return new window.DOMParser().parseFromString(string, 'text/xml');\n}\n\nexport function parseHTML(string: string) {\n return new window.DOMParser().parseFromString(string, 'text/html');\n}\n\nexport function isElementNode(node: Node): node is Element {\n return node.nodeType === Node.ELEMENT_NODE;\n}\n\nexport function isTextNode(node: Node): node is Text {\n return node.nodeType === Node.TEXT_NODE;\n}\n\nexport function isVisualNode(node: Node) {\n if (isElementNode(node)) {\n return !(node instanceof HTMLStyleElement);\n }\n if (isTextNode(node)) {\n return !!node.textContent?.trim();\n }\n return false;\n}\n\nexport function containsVisualElement(node: Node) {\n for (let i = 0; i < node.childNodes.length; i++) {\n const child = node.childNodes.item(i);\n if (isVisualNode(child)) {\n return true;\n }\n }\n return false;\n}\n\nexport function elementHasAncestorTag(\n el: HTMLElement,\n tagName: string\n): boolean {\n const parentElement = el.parentElement;\n if (!parentElement) {\n return false;\n }\n if (parentElement.tagName === tagName.toUpperCase()) {\n return true;\n }\n return elementHasAncestorTag(parentElement, tagName);\n}\n\nexport function sanitizeStyle(style: string) {\n const purifiedOuterHTML = DOMPurify.sanitize(`<style>${style}</style>`, {\n ALLOWED_TAGS: ['style'],\n ALLOWED_ATTR: [],\n FORCE_BODY: true,\n });\n const wrapperEl = document.createElement('div');\n // deepcode ignore ReactSetInnerHtml: sanitized by dompurify\n wrapperEl.innerHTML = purifiedOuterHTML;\n return wrapperEl.querySelector('style')?.innerHTML;\n}\n\nexport function getFocusedElement(\n rootElement: Document | ShadowRoot = document\n): Element | null {\n const activeElement = rootElement.activeElement;\n if (activeElement?.shadowRoot) {\n return getFocusedElement(activeElement.shadowRoot) ?? activeElement;\n }\n return activeElement;\n}\n\nexport function isFocusingOut(event: FocusEvent) {\n return (\n document.hasFocus() &&\n (!(event.relatedTarget instanceof Node) ||\n (event.currentTarget instanceof Node &&\n !event.currentTarget.contains(event.relatedTarget)))\n );\n}\n\n// https://terodox.tech/how-to-tell-if-an-element-is-in-the-dom-including-the-shadow-dom/\nexport function isInDocument(element: Node) {\n let currentElement = element;\n while (currentElement?.parentNode) {\n if (currentElement.parentNode === document) {\n return true;\n } else if (currentElement.parentNode instanceof ShadowRoot) {\n currentElement = currentElement.parentNode.host;\n } else {\n currentElement = currentElement.parentNode;\n }\n }\n return false;\n}\n\nexport function isPropValuesEqual<ObjectWithProperties extends object>(\n subject: ObjectWithProperties,\n target: ObjectWithProperties,\n propNames: (keyof ObjectWithProperties)[]\n) {\n return propNames.every((propName) => subject[propName] === target[propName]);\n}\n\nexport function getParent(element: Element | ShadowRoot) {\n if (element.parentNode) {\n return element.parentNode as Element | ShadowRoot;\n }\n if (element instanceof ShadowRoot) {\n return element.host;\n }\n return null;\n}\n\nexport function isAncestorOf(\n ancestor: Element | ShadowRoot,\n element: Element | ShadowRoot\n): boolean {\n if (element === ancestor) {\n return true;\n }\n if (\n element instanceof HTMLElement &&\n element.assignedSlot &&\n isAncestorOf(ancestor, element.assignedSlot)\n ) {\n return true;\n }\n const parent = getParent(element);\n return parent === null ? false : isAncestorOf(ancestor, parent);\n}\n\nexport function aggregate<V, K extends PropertyKey>(\n values: readonly V[],\n getKey: (value: V, index: number) => K\n): Record<K, V[] | undefined> {\n return values.reduce(\n (aggregatedValues, value, i) => {\n const key = getKey(value, i);\n if (!(key in aggregatedValues)) {\n aggregatedValues[key] = [];\n }\n aggregatedValues[key]!.push(value);\n return aggregatedValues;\n },\n <Record<K, V[] | undefined>>{}\n );\n}\n\n/**\n * Similar as a classic spread, but preserve all characteristics of properties (e.g. getter/setter).\n * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#description\n * for an explanation why (spread & assign work similarly).\n * @param objects the objects to \"spread\" together\n * @returns the spread result\n */\nexport function spreadProperties<Output extends object = {}>(\n ...objects: object[]\n) {\n const returnObject = {};\n for (const obj of objects) {\n Object.defineProperties(\n returnObject,\n Object.getOwnPropertyDescriptors(obj)\n );\n }\n return returnObject as Output;\n}\n\nexport const sortByDocumentPosition = (a: Node, b: Node): 1 | -1 =>\n a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n\nexport async function defer() {\n return new Promise<void>((resolve) => setTimeout(resolve, 10));\n}\n"],"version":3}
1
+ {"file":"utils-30b00491.js","mappings":"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","names":[],"sources":["src/utils/utils.ts"],"sourcesContent":["import DOMPurify from 'dompurify';\n\n/**\n * Returns a function that can be executed only once\n */\nexport function once<T extends unknown[]>(fn: (...args: T) => unknown) {\n let result: unknown;\n return function (this: unknown, ...args: T) {\n if (fn) {\n result = fn.apply(this, args);\n fn = () => {};\n }\n return result;\n };\n}\n\nexport function camelToKebab(value: string) {\n return value.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function kebabToCamel(value: string) {\n return value.replace(/-./g, (x) => x[1].toUpperCase());\n}\n\nexport function snakeToCamel(value: string) {\n return value\n .toLowerCase()\n .replace(/([_][a-z])/g, (group) => group.toUpperCase().replace('_', ''));\n}\n\nexport function titleToKebab(value: string) {\n return value.replace(/\\s/g, '-').toLowerCase();\n}\n\nexport function randomID(prepend?: string, length = 5) {\n const randomStr = Math.random()\n .toString(36)\n .substring(2, 2 + length);\n if (!prepend) {\n return randomStr;\n }\n return prepend + randomStr;\n}\n\nexport function getRandomArbitrary(min: number, max: number) {\n return Math.random() * (max - min) + min;\n}\n\nexport function parseXML(string: string) {\n return new window.DOMParser().parseFromString(string, 'text/xml');\n}\n\nexport function parseHTML(string: string) {\n return new window.DOMParser().parseFromString(string, 'text/html');\n}\n\nexport function isElementNode(node: Node): node is Element {\n return node.nodeType === Node.ELEMENT_NODE;\n}\n\nexport function isTextNode(node: Node): node is Text {\n return node.nodeType === Node.TEXT_NODE;\n}\n\nexport function isVisualNode(node: Node) {\n if (isElementNode(node)) {\n return !(node instanceof HTMLStyleElement);\n }\n if (isTextNode(node)) {\n return !!node.textContent?.trim();\n }\n return false;\n}\n\nexport function containsVisualElement(node: Node) {\n for (let i = 0; i < node.childNodes.length; i++) {\n const child = node.childNodes.item(i);\n if (isVisualNode(child)) {\n return true;\n }\n }\n return false;\n}\n\nexport function elementHasAncestorTag(\n el: HTMLElement,\n tagName: string\n): boolean {\n const parentElement = el.parentElement;\n if (!parentElement) {\n return false;\n }\n if (parentElement.tagName === tagName.toUpperCase()) {\n return true;\n }\n return elementHasAncestorTag(parentElement, tagName);\n}\n\nexport function sanitizeStyle(style: string) {\n const purifiedOuterHTML = DOMPurify.sanitize(`<style>${style}</style>`, {\n ALLOWED_TAGS: ['style'],\n ALLOWED_ATTR: [],\n FORCE_BODY: true,\n });\n const wrapperEl = document.createElement('div');\n // deepcode ignore ReactSetInnerHtml: sanitized by dompurify\n wrapperEl.innerHTML = purifiedOuterHTML;\n return wrapperEl.querySelector('style')?.innerHTML;\n}\n\nexport function getFocusedElement(\n rootElement: Document | ShadowRoot = document\n): Element | null {\n const activeElement = rootElement.activeElement;\n if (activeElement?.shadowRoot) {\n return getFocusedElement(activeElement.shadowRoot) ?? activeElement;\n }\n return activeElement;\n}\n\nexport function isFocusingOut(event: FocusEvent) {\n return (\n document.hasFocus() &&\n (!(event.relatedTarget instanceof Node) ||\n (event.currentTarget instanceof Node &&\n !event.currentTarget.contains(event.relatedTarget)))\n );\n}\n\n// https://terodox.tech/how-to-tell-if-an-element-is-in-the-dom-including-the-shadow-dom/\nexport function isInDocument(element: Node) {\n let currentElement = element;\n while (currentElement?.parentNode) {\n if (currentElement.parentNode === document) {\n return true;\n } else if (currentElement.parentNode instanceof ShadowRoot) {\n currentElement = currentElement.parentNode.host;\n } else {\n currentElement = currentElement.parentNode;\n }\n }\n return false;\n}\n\nexport function isPropValuesEqual<ObjectWithProperties extends object>(\n subject: ObjectWithProperties,\n target: ObjectWithProperties,\n propNames: (keyof ObjectWithProperties)[]\n) {\n return propNames.every((propName) => subject[propName] === target[propName]);\n}\n\nexport function getParent(element: Element | ShadowRoot) {\n if (element.parentNode) {\n return element.parentNode as Element | ShadowRoot;\n }\n if (element instanceof ShadowRoot) {\n return element.host;\n }\n return null;\n}\n\nexport function isAncestorOf(\n ancestor: Element | ShadowRoot,\n element: Element | ShadowRoot\n): boolean {\n if (element === ancestor) {\n return true;\n }\n if (\n element instanceof HTMLElement &&\n element.assignedSlot &&\n isAncestorOf(ancestor, element.assignedSlot)\n ) {\n return true;\n }\n const parent = getParent(element);\n return parent === null ? false : isAncestorOf(ancestor, parent);\n}\n\nexport function aggregate<V, K extends PropertyKey>(\n values: readonly V[],\n getKey: (value: V, index: number) => K\n): Record<K, V[] | undefined> {\n return values.reduce(\n (aggregatedValues, value, i) => {\n const key = getKey(value, i);\n if (!(key in aggregatedValues)) {\n aggregatedValues[key] = [];\n }\n aggregatedValues[key]!.push(value);\n return aggregatedValues;\n },\n <Record<K, V[] | undefined>>{}\n );\n}\n\n/**\n * Similar as a classic spread, but preserve all characteristics of properties (e.g. getter/setter).\n * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#description\n * for an explanation why (spread & assign work similarly).\n * @param objects the objects to \"spread\" together\n * @returns the spread result\n */\nexport function spreadProperties<Output extends object = {}>(\n ...objects: object[]\n) {\n const returnObject = {};\n for (const obj of objects) {\n Object.defineProperties(\n returnObject,\n Object.getOwnPropertyDescriptors(obj)\n );\n }\n return returnObject as Output;\n}\n\nexport const sortByDocumentPosition = (a: Node, b: Node): 1 | -1 =>\n a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n\nexport async function defer() {\n return new Promise<void>((resolve) => setTimeout(resolve, 10));\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { h } from './index-3f35faca.js';
2
- import { F as FacetValueCheckbox } from './stencil-facet-value-checkbox-5a90f933.js';
2
+ import { F as FacetValueCheckbox } from './stencil-facet-value-checkbox-82d52a44.js';
3
3
  import { F as FacetValueLabelHighlight } from './stencil-facet-value-label-highlight-b4083ffd.js';
4
4
  import { F as FacetValueLink } from './stencil-facet-value-link-b3b194b7.js';
5
5
  import { g as getFieldValueCaption } from './field-utils-f0146383.js';
@@ -50,4 +50,4 @@ const NumericFacetValuesContainer = ({ i18n, label }, children) => {
50
50
 
51
51
  export { NumericFacetValueLink as N, NumericFacetValuesContainer as a, formatHumanReadable as f };
52
52
 
53
- //# sourceMappingURL=values-container-29bf9f6b.js.map
53
+ //# sourceMappingURL=values-container-0be51709.js.map
@@ -1 +1 @@
1
- {"file":"values-container-29bf9f6b.js","mappings":";;;;;;;MAqBa,mBAAmB,GAAG,CAAC,EAClC,YAAY,EACZ,KAAK,EACL,IAAI,EACJ,UAAU,EACV,MAAM,EACN,SAAS,GACa;IACtB,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,KAC/C,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,CAClC,EAAE,KAAK,CAAC;IACT,OAAO,gBAAgB;UACnB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC;UACnD,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;YACX,KAAK,EAAE,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;YACvE,GAAG,EAAE,qBAAqB,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;SACpE,CAAC,CAAC;AACT,EAAE;AAEK,MAAM,qBAAqB,GAAG,CACnC,KAAa,EACb,IAAmC,EACnC,MAAuC,EACvC,SAA6C;IAE7C,IAAI;QACF,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,SAAqB,CAAC,CAAC;KACrD;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CACV,qCAAqC,KAAK,qCAAqC,EAC/E,KAAK,CACN,CAAC;QACF,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,UAA2B,EAC3B,WAA4B;IAE5B,QACE,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK;QACtC,UAAU,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG;QAClC,UAAU,CAAC,YAAY,KAAK,WAAW,CAAC,YAAY,EACpD;AACJ,CAAC;;MCtDY,qBAAqB,GAE9B,CAAC,KAAK;IACR,MAAM,EAAC,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAC,GAAG,KAAK,CAAC;IAC3D,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC;IACnD,QAAQ,eAAe;QACrB,KAAK,UAAU;YACb,QACE,EAAC,kBAAkB,IACjB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,UAAU,CAAC,eAAe,EAC3C,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,OAAO,EAAE;gBAExB,EAAC,wBAAwB,IACvB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,GACI,CACT,EACrB;QACJ,KAAK,MAAM;YACT,QACE,EAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,UAAU,CAAC,eAAe,EAC3C,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO;gBAEhB,EAAC,wBAAwB,IACvB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,GACI,CACb,EACjB;KACL;AACH;;MC1Ca,2BAA2B,GAEpC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,QAAQ;IAC1B,QACE,EAAC,gBAAgB,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;QACxC,UAAI,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,QAAQ,IAC3B,QAAQ,CACN,CACY,EACnB;AACJ;;;;","names":[],"sources":["src/components/common/facets/numeric-facet/formatter.ts","src/components/common/facets/numeric-facet/value-link.tsx","src/components/common/facets/numeric-facet/values-container.tsx"],"sourcesContent":["import type {i18n} from 'i18next';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport type {NumberFormatter} from '../../formats/format-common';\n\nexport interface FacetValueRange {\n endInclusive: boolean;\n start: number;\n end: number;\n label?: string;\n state: 'selected' | 'idle' | 'excluded';\n}\n\nexport interface FormatFacetValueRange {\n field: string;\n facetValue: FacetValueRange & {numberOfResults: number};\n manualRanges: FacetValueRange[];\n i18n: i18n;\n logger: Pick<Console, 'error'>;\n formatter: NumberFormatter;\n}\n\nexport const formatHumanReadable = ({\n manualRanges,\n field,\n i18n,\n facetValue,\n logger,\n formatter,\n}: FormatFacetValueRange) => {\n const manualRangeLabel = manualRanges.find((range) =>\n areRangesEqual(range, facetValue)\n )?.label;\n return manualRangeLabel\n ? getFieldValueCaption(field, manualRangeLabel, i18n)\n : i18n.t('to', {\n start: formatNumberLocalized(facetValue.start, i18n, logger, formatter),\n end: formatNumberLocalized(facetValue.end, i18n, logger, formatter),\n });\n};\n\nexport const formatNumberLocalized = (\n value: number,\n i18n: FormatFacetValueRange['i18n'],\n logger: FormatFacetValueRange['logger'],\n formatter: FormatFacetValueRange['formatter']\n) => {\n try {\n return formatter(value, i18n.languages as string[]);\n } catch (error) {\n logger.error(\n `atomic-numeric-facet facet value \"${value}\" could not be formatted correctly.`,\n error\n );\n return value;\n }\n};\n\nconst areRangesEqual = (\n firstRange: FacetValueRange,\n secondRange: FacetValueRange\n) => {\n return (\n firstRange.start === secondRange.start &&\n firstRange.end === secondRange.end &&\n firstRange.endInclusive === secondRange.endInclusive\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {FacetValueCheckbox} from '../facet-value-checkbox/stencil-facet-value-checkbox';\nimport {FacetValueLabelHighlight} from '../facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from '../facet-value-link/stencil-facet-value-link';\nimport {FormatFacetValueRange, formatHumanReadable} from './formatter';\n\ninterface NumericFacetValueLinkProps extends FormatFacetValueRange {\n onClick: () => void;\n logger: Pick<Console, 'error'>;\n displayValuesAs: 'checkbox' | 'link';\n}\n\nexport const NumericFacetValueLink: FunctionalComponent<\n NumericFacetValueLinkProps\n> = (props) => {\n const {facetValue, displayValuesAs, i18n, onClick} = props;\n const displayValue = formatHumanReadable(props);\n const isSelected = facetValue.state === 'selected';\n switch (displayValuesAs) {\n case 'checkbox':\n return (\n <FacetValueCheckbox\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={i18n}\n onClick={() => onClick()}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n ></FacetValueLabelHighlight>\n </FacetValueCheckbox>\n );\n case 'link':\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onClick}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n }\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {FacetValuesGroup} from '../facet-values-group/stencil-facet-values-group';\n\ninterface NumericFacetValuesContainerProps {\n i18n: i18n;\n label: string;\n}\nexport const NumericFacetValuesContainer: FunctionalComponent<\n NumericFacetValuesContainerProps\n> = ({i18n, label}, children) => {\n return (\n <FacetValuesGroup i18n={i18n} label={label}>\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n};\n"],"version":3}
1
+ {"file":"values-container-0be51709.js","mappings":";;;;;;;MAqBa,mBAAmB,GAAG,CAAC,EAClC,YAAY,EACZ,KAAK,EACL,IAAI,EACJ,UAAU,EACV,MAAM,EACN,SAAS,GACa;IACtB,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,KAC/C,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,CAClC,EAAE,KAAK,CAAC;IACT,OAAO,gBAAgB;UACnB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC;UACnD,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;YACX,KAAK,EAAE,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;YACvE,GAAG,EAAE,qBAAqB,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;SACpE,CAAC,CAAC;AACT,EAAE;AAEK,MAAM,qBAAqB,GAAG,CACnC,KAAa,EACb,IAAmC,EACnC,MAAuC,EACvC,SAA6C;IAE7C,IAAI;QACF,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,SAAqB,CAAC,CAAC;KACrD;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CACV,qCAAqC,KAAK,qCAAqC,EAC/E,KAAK,CACN,CAAC;QACF,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,UAA2B,EAC3B,WAA4B;IAE5B,QACE,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK;QACtC,UAAU,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG;QAClC,UAAU,CAAC,YAAY,KAAK,WAAW,CAAC,YAAY,EACpD;AACJ,CAAC;;MCtDY,qBAAqB,GAE9B,CAAC,KAAK;IACR,MAAM,EAAC,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAC,GAAG,KAAK,CAAC;IAC3D,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC;IACnD,QAAQ,eAAe;QACrB,KAAK,UAAU;YACb,QACE,EAAC,kBAAkB,IACjB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,UAAU,CAAC,eAAe,EAC3C,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,OAAO,EAAE;gBAExB,EAAC,wBAAwB,IACvB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,GACI,CACT,EACrB;QACJ,KAAK,MAAM;YACT,QACE,EAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,UAAU,CAAC,eAAe,EAC3C,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO;gBAEhB,EAAC,wBAAwB,IACvB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,GACI,CACb,EACjB;KACL;AACH;;MC1Ca,2BAA2B,GAEpC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,QAAQ;IAC1B,QACE,EAAC,gBAAgB,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;QACxC,UAAI,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,QAAQ,IAC3B,QAAQ,CACN,CACY,EACnB;AACJ;;;;","names":[],"sources":["src/components/common/facets/numeric-facet/formatter.ts","src/components/common/facets/numeric-facet/value-link.tsx","src/components/common/facets/numeric-facet/values-container.tsx"],"sourcesContent":["import type {i18n} from 'i18next';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport type {NumberFormatter} from '../../formats/format-common';\n\nexport interface FacetValueRange {\n endInclusive: boolean;\n start: number;\n end: number;\n label?: string;\n state: 'selected' | 'idle' | 'excluded';\n}\n\nexport interface FormatFacetValueRange {\n field: string;\n facetValue: FacetValueRange & {numberOfResults: number};\n manualRanges: FacetValueRange[];\n i18n: i18n;\n logger: Pick<Console, 'error'>;\n formatter: NumberFormatter;\n}\n\nexport const formatHumanReadable = ({\n manualRanges,\n field,\n i18n,\n facetValue,\n logger,\n formatter,\n}: FormatFacetValueRange) => {\n const manualRangeLabel = manualRanges.find((range) =>\n areRangesEqual(range, facetValue)\n )?.label;\n return manualRangeLabel\n ? getFieldValueCaption(field, manualRangeLabel, i18n)\n : i18n.t('to', {\n start: formatNumberLocalized(facetValue.start, i18n, logger, formatter),\n end: formatNumberLocalized(facetValue.end, i18n, logger, formatter),\n });\n};\n\nexport const formatNumberLocalized = (\n value: number,\n i18n: FormatFacetValueRange['i18n'],\n logger: FormatFacetValueRange['logger'],\n formatter: FormatFacetValueRange['formatter']\n) => {\n try {\n return formatter(value, i18n.languages as string[]);\n } catch (error) {\n logger.error(\n `atomic-numeric-facet facet value \"${value}\" could not be formatted correctly.`,\n error\n );\n return value;\n }\n};\n\nconst areRangesEqual = (\n firstRange: FacetValueRange,\n secondRange: FacetValueRange\n) => {\n return (\n firstRange.start === secondRange.start &&\n firstRange.end === secondRange.end &&\n firstRange.endInclusive === secondRange.endInclusive\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {FacetValueCheckbox} from '../facet-value-checkbox/stencil-facet-value-checkbox';\nimport {FacetValueLabelHighlight} from '../facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from '../facet-value-link/stencil-facet-value-link';\nimport {FormatFacetValueRange, formatHumanReadable} from './formatter';\n\ninterface NumericFacetValueLinkProps extends FormatFacetValueRange {\n onClick: () => void;\n logger: Pick<Console, 'error'>;\n displayValuesAs: 'checkbox' | 'link';\n}\n\nexport const NumericFacetValueLink: FunctionalComponent<\n NumericFacetValueLinkProps\n> = (props) => {\n const {facetValue, displayValuesAs, i18n, onClick} = props;\n const displayValue = formatHumanReadable(props);\n const isSelected = facetValue.state === 'selected';\n switch (displayValuesAs) {\n case 'checkbox':\n return (\n <FacetValueCheckbox\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={i18n}\n onClick={() => onClick()}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n ></FacetValueLabelHighlight>\n </FacetValueCheckbox>\n );\n case 'link':\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onClick}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n }\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {FacetValuesGroup} from '../facet-values-group/stencil-facet-values-group';\n\ninterface NumericFacetValuesContainerProps {\n i18n: i18n;\n label: string;\n}\nexport const NumericFacetValuesContainer: FunctionalComponent<\n NumericFacetValuesContainerProps\n> = ({i18n, label}, children) => {\n return (\n <FacetValuesGroup i18n={i18n} label={label}>\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n};\n"],"version":3}
@@ -1,2 +1,2 @@
1
1
  export const headlessVersion = '3.27.4';
2
- export const atomicVersion = '3.29.1';
2
+ export const atomicVersion = '3.29.2-pre.1b0a4b3894';
@@ -1,45 +1,49 @@
1
- import { Summary, SearchSummaryState, ProductListingSummaryState, Sort, SortState, FacetGenerator, FacetGeneratorState, BreadcrumbManager, BreadcrumbManagerState } from '@coveo/headless/commerce';
2
- import { InitializableComponent } from '../../../utils/initialization-utils';
3
- import { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
1
+ import { type BreadcrumbManager, type BreadcrumbManagerState, type FacetGenerator, type FacetGeneratorState, type ProductListingSummaryState, type SearchSummaryState, type Sort, type SortState, type Summary } from '@coveo/headless/commerce';
2
+ import { type CSSResultGroup, LitElement } from 'lit';
3
+ import type { InitializableComponent } from "../../../decorators/types";
4
+ import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
4
5
  /**
5
6
  * The `atomic-commerce-refine-modal` is automatically created as a child of the `atomic-commerce-search-interface` when the `atomic-commerce-refine-toggle` is initialized.
6
7
  *
7
8
  * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.
8
9
  *
9
- * @part container - The modal's outermost container.
10
- * @part header-wrapper - The wrapper around the header.
11
- * @part header - The header of the modal, containing the title.
12
10
  * @part title - The title of the modal.
13
11
  * @part close-button - The button in the header that closes the modal.
14
12
  * @part close-icon - The icon of the close button.
15
- * @part header-ruler - The horizontal ruler underneath the header.
16
- * @part body-wrapper - The wrapper around the body.
17
- * @part body - The body of the modal, between the header and the footer.
13
+ * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.
14
+ * @part footer-button - The button in the footer that closes the modal.
15
+ * @part footer-button-text - The text inside the button in the footer that closes the modal.
16
+ * @part footer-button-count - The count inside the button in the footer that closes the modal.
18
17
  * @part content - The wrapper around the content inside the body of the modal.
19
- * @part section-title - The title for each section.
18
+ * @part select - The `<select>` element of the dropdown list.
20
19
  * @part section-sort-title - The title for the sort section.
21
- * @part section-filters-title - The title for the filters section.
22
20
  * @part select-wrapper - The wrapper around the select element, used to position the icon.
23
- * @part select - The `<select>` element of the dropdown list.
24
21
  * @part select-icon-wrapper - The wrapper around the sort icon that's used to align it.
25
22
  * @part select-icon - The select dropdown's sort icon.
26
23
  * @part filter-section - The section containing facets and the "filters" title.
24
+ * @part section-filters-title - The title for the filters section.
27
25
  * @part filter-clear-all - The button that resets all actively selected facet values.
28
- * @part footer-wrapper - The wrapper with a shadow or background color around the footer.
29
- * @part footer - The footer of the modal.
30
- * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.
31
- * @part footer-button - The button in the footer that closes the modal.
32
- * @part footer-button-text - The text inside the button in the footer that closes the modal.
33
- * @part footer-button-count - The count inside the button in the footer that closes the modal.
34
- *
35
- * @alpha
26
+ * @part section-title - The title for each section.
36
27
  */
37
- export declare class AtomicCommerceRefineModal implements InitializableComponent<CommerceBindings> {
28
+ export declare class AtomicCommerceRefineModal extends LitElement implements InitializableComponent<CommerceBindings> {
29
+ static styles: CSSResultGroup;
38
30
  bindings: CommerceBindings;
39
- host: HTMLElement;
40
31
  error: Error;
32
+ /**
33
+ * The element that opens the modal when clicked.
34
+ */
41
35
  openButton?: HTMLElement;
36
+ /**
37
+ * Whether the modal is open.
38
+ */
42
39
  isOpen: boolean;
40
+ /**
41
+ * The number of expanded facets inside the refine modal.
42
+ * Remaining facets are automatically collapsed.
43
+ *
44
+ * Using the value `0` collapses all facets.
45
+ */
46
+ collapseFacetsAfter: number;
43
47
  summary: Summary;
44
48
  summaryState: SearchSummaryState | ProductListingSummaryState;
45
49
  sort: Sort;
@@ -48,19 +52,23 @@ export declare class AtomicCommerceRefineModal implements InitializableComponent
48
52
  facetGeneratorState: FacetGeneratorState;
49
53
  breadcrumbManager: BreadcrumbManager;
50
54
  breadcrumbManagerState: BreadcrumbManagerState;
55
+ initialize(): void;
56
+ watchEnabled(): void;
51
57
  /**
52
- * The number of expanded facets inside the refine modal.
53
- * Remaining facets are automatically collapsed.
54
- *
55
- * Using the value `0` collapses all facets.
58
+ * This method is necessary to ensure
59
+ * that the facets slot is rendered outside of the component's shadow DOM, preserving
60
+ * correct CSS inheritance and slot behavior. If this logic were placed in the render
61
+ * function, the slot would be rendered inside the shadow DOM, which would break
62
+ * expected CSS styling and slot distribution.
56
63
  */
57
- collapseFacetsAfter: number;
58
- watchEnabled(isOpen: boolean): void;
59
- initialize(): void;
60
64
  private createFacetSlot;
61
65
  private onSelectSortOption;
62
66
  private renderSort;
63
67
  private renderFilters;
64
- render(): any;
65
- componentDidLoad(): void;
68
+ render(): import("lit-html").TemplateResult<1>;
69
+ }
70
+ declare global {
71
+ interface HTMLElementTagNameMap {
72
+ 'atomic-commerce-refine-modal': AtomicCommerceRefineModal;
73
+ }
66
74
  }
@@ -10,6 +10,7 @@ export { AtomicCommerceProductsPerPage } from './atomic-commerce-products-per-pa
10
10
  export { AtomicCommerceQuerySummary } from './atomic-commerce-query-summary/atomic-commerce-query-summary.js';
11
11
  export { AtomicCommerceRecommendationInterface } from './atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js';
12
12
  export { AtomicCommerceRecommendationList } from './atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.js';
13
+ export { AtomicCommerceRefineModal } from './atomic-commerce-refine-modal/atomic-commerce-refine-modal.js';
13
14
  export { AtomicCommerceRefineToggle } from './atomic-commerce-refine-toggle/atomic-commerce-refine-toggle.js';
14
15
  export { AtomicCommerceSearchBox } from './atomic-commerce-search-box/atomic-commerce-search-box.js';
15
16
  export { AtomicCommerceSearchBoxInstantProducts } from './atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.js';
@@ -371,19 +371,6 @@ export namespace Components {
371
371
  */
372
372
  interface AtomicCommerceQueryError {
373
373
  }
374
- /**
375
- * The `atomic-commerce-refine-modal` is automatically created as a child of the `atomic-commerce-search-interface` when the `atomic-commerce-refine-toggle` is initialized.
376
- * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.
377
- * @alpha
378
- */
379
- interface AtomicCommerceRefineModal {
380
- /**
381
- * The number of expanded facets inside the refine modal. Remaining facets are automatically collapsed. Using the value `0` collapses all facets.
382
- */
383
- "collapseFacetsAfter": number;
384
- "isOpen": boolean;
385
- "openButton"?: HTMLElement;
386
- }
387
374
  /**
388
375
  * A facet is a list of values for a certain field occurring in the results.
389
376
  * An `atomic-commerce-timeframe-facet` displays a facet of the results for the current query as date intervals.
@@ -3561,17 +3548,6 @@ declare global {
3561
3548
  prototype: HTMLAtomicCommerceQueryErrorElement;
3562
3549
  new (): HTMLAtomicCommerceQueryErrorElement;
3563
3550
  };
3564
- /**
3565
- * The `atomic-commerce-refine-modal` is automatically created as a child of the `atomic-commerce-search-interface` when the `atomic-commerce-refine-toggle` is initialized.
3566
- * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.
3567
- * @alpha
3568
- */
3569
- interface HTMLAtomicCommerceRefineModalElement extends Components.AtomicCommerceRefineModal, HTMLStencilElement {
3570
- }
3571
- var HTMLAtomicCommerceRefineModalElement: {
3572
- prototype: HTMLAtomicCommerceRefineModalElement;
3573
- new (): HTMLAtomicCommerceRefineModalElement;
3574
- };
3575
3551
  /**
3576
3552
  * A facet is a list of values for a certain field occurring in the results.
3577
3553
  * An `atomic-commerce-timeframe-facet` displays a facet of the results for the current query as date intervals.
@@ -5326,7 +5302,6 @@ declare global {
5326
5302
  "atomic-commerce-facets": HTMLAtomicCommerceFacetsElement;
5327
5303
  "atomic-commerce-numeric-facet": HTMLAtomicCommerceNumericFacetElement;
5328
5304
  "atomic-commerce-query-error": HTMLAtomicCommerceQueryErrorElement;
5329
- "atomic-commerce-refine-modal": HTMLAtomicCommerceRefineModalElement;
5330
5305
  "atomic-commerce-timeframe-facet": HTMLAtomicCommerceTimeframeFacetElement;
5331
5306
  "atomic-did-you-mean": HTMLAtomicDidYouMeanElement;
5332
5307
  "atomic-external": HTMLAtomicExternalElement;
@@ -5793,19 +5768,6 @@ declare namespace LocalJSX {
5793
5768
  */
5794
5769
  interface AtomicCommerceQueryError {
5795
5770
  }
5796
- /**
5797
- * The `atomic-commerce-refine-modal` is automatically created as a child of the `atomic-commerce-search-interface` when the `atomic-commerce-refine-toggle` is initialized.
5798
- * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.
5799
- * @alpha
5800
- */
5801
- interface AtomicCommerceRefineModal {
5802
- /**
5803
- * The number of expanded facets inside the refine modal. Remaining facets are automatically collapsed. Using the value `0` collapses all facets.
5804
- */
5805
- "collapseFacetsAfter"?: number;
5806
- "isOpen"?: boolean;
5807
- "openButton"?: HTMLElement;
5808
- }
5809
5771
  /**
5810
5772
  * A facet is a list of values for a certain field occurring in the results.
5811
5773
  * An `atomic-commerce-timeframe-facet` displays a facet of the results for the current query as date intervals.
@@ -8631,7 +8593,6 @@ declare namespace LocalJSX {
8631
8593
  "atomic-commerce-facets": AtomicCommerceFacets;
8632
8594
  "atomic-commerce-numeric-facet": AtomicCommerceNumericFacet;
8633
8595
  "atomic-commerce-query-error": AtomicCommerceQueryError;
8634
- "atomic-commerce-refine-modal": AtomicCommerceRefineModal;
8635
8596
  "atomic-commerce-timeframe-facet": AtomicCommerceTimeframeFacet;
8636
8597
  "atomic-did-you-mean": AtomicDidYouMean;
8637
8598
  "atomic-external": AtomicExternal;
@@ -8868,12 +8829,6 @@ declare module "@stencil/core" {
8868
8829
  * @alpha
8869
8830
  */
8870
8831
  "atomic-commerce-query-error": LocalJSX.AtomicCommerceQueryError & JSXBase.HTMLAttributes<HTMLAtomicCommerceQueryErrorElement>;
8871
- /**
8872
- * The `atomic-commerce-refine-modal` is automatically created as a child of the `atomic-commerce-search-interface` when the `atomic-commerce-refine-toggle` is initialized.
8873
- * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.
8874
- * @alpha
8875
- */
8876
- "atomic-commerce-refine-modal": LocalJSX.AtomicCommerceRefineModal & JSXBase.HTMLAttributes<HTMLAtomicCommerceRefineModalElement>;
8877
8832
  /**
8878
8833
  * A facet is a list of values for a certain field occurring in the results.
8879
8834
  * An `atomic-commerce-timeframe-facet` displays a facet of the results for the current query as date intervals.