@coveo/atomic 3.32.4-pre.bf6bc568f2 → 3.32.4-pre.c5f6441ccd

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 (445) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/components/analytics-config.js +1 -1
  3. package/dist/atomic/components/global/environment.js +1 -1
  4. package/dist/atomic/components/initialization-lit-stencil-common-utils.js +16 -1
  5. package/dist/atomic/components/initialization-lit-stencil-common-utils.js.map +1 -1
  6. package/dist/atomic/components/initialization-utils.js +2 -11
  7. package/dist/atomic/components/initialization-utils.js.map +1 -1
  8. package/dist/atomic/index.esm.js +1 -1
  9. package/dist/atomic/{p-1735954d.entry.js → p-029893cf.entry.js} +2 -2
  10. package/dist/atomic/{p-753fad0b.entry.js → p-05e60ab3.entry.js} +2 -2
  11. package/dist/atomic/{p-7ed6f724.entry.js → p-0839dd37.entry.js} +2 -2
  12. package/dist/atomic/{p-02c7092d.entry.js → p-0c2f02d9.entry.js} +2 -2
  13. package/dist/atomic/{p-63e1e3ad.entry.js → p-0c3bfd1e.entry.js} +2 -2
  14. package/dist/atomic/{p-d7ba69c5.entry.js → p-0eaecc6f.entry.js} +2 -2
  15. package/dist/atomic/{p-b3770db9.entry.js → p-1072f390.entry.js} +2 -2
  16. package/dist/atomic/{p-9767fe9a.js → p-110e4da7.js} +2 -2
  17. package/dist/atomic/{p-d79aa846.entry.js → p-1176faf8.entry.js} +2 -2
  18. package/dist/atomic/{p-5aaf4b5b.entry.js → p-15b3c4ad.entry.js} +2 -2
  19. package/dist/atomic/{p-9f4062f1.entry.js → p-16fffb3a.entry.js} +2 -2
  20. package/dist/atomic/{p-db7810c6.entry.js → p-1fd50a70.entry.js} +2 -2
  21. package/dist/atomic/{p-a42a7fce.entry.js → p-2338bf45.entry.js} +2 -2
  22. package/dist/atomic/{p-db7d6de6.entry.js → p-23f14475.entry.js} +2 -2
  23. package/dist/atomic/{p-b6f28f78.entry.js → p-24cae323.entry.js} +2 -2
  24. package/dist/atomic/{p-54b20384.js → p-24eba0f9.js} +2 -2
  25. package/dist/atomic/{p-21c92d2b.entry.js → p-27064d6e.entry.js} +2 -2
  26. package/dist/atomic/{p-c826b8f9.entry.js → p-270997db.entry.js} +2 -2
  27. package/dist/atomic/{p-f81a5329.entry.js → p-32be95c8.entry.js} +2 -2
  28. package/dist/atomic/{p-8bfdf2c5.entry.js → p-3328cd0f.entry.js} +2 -2
  29. package/dist/atomic/{p-21c7a74a.entry.js → p-3abab2a9.entry.js} +2 -2
  30. package/dist/atomic/{p-2982ebb7.entry.js → p-3b68096d.entry.js} +2 -2
  31. package/dist/atomic/{p-0afc3e7c.entry.js → p-3ca9ced1.entry.js} +2 -2
  32. package/dist/atomic/{p-9e4af274.entry.js → p-3d6f1c1c.entry.js} +2 -2
  33. package/dist/atomic/{p-2eac467d.entry.js → p-40cba2bd.entry.js} +2 -2
  34. package/dist/atomic/{p-18c302d8.entry.js → p-42e2d4b7.entry.js} +2 -2
  35. package/dist/atomic/p-47002021.entry.js +2 -0
  36. package/dist/atomic/{p-307f0fd1.entry.js.map → p-47002021.entry.js.map} +1 -1
  37. package/dist/atomic/{p-1ea7b494.entry.js → p-4a3385e5.entry.js} +2 -2
  38. package/dist/atomic/{p-2c3d978e.entry.js → p-4e7267fe.entry.js} +2 -2
  39. package/dist/atomic/{p-b3bbb1e5.entry.js → p-4ec76654.entry.js} +2 -2
  40. package/dist/atomic/{p-1aa77b93.entry.js → p-52051651.entry.js} +2 -2
  41. package/dist/atomic/{p-0976d324.entry.js → p-57b3e7e1.entry.js} +2 -2
  42. package/dist/atomic/{p-1d4b30c9.entry.js → p-58eb8537.entry.js} +2 -2
  43. package/dist/atomic/{p-70af5870.entry.js → p-5999d525.entry.js} +2 -2
  44. package/dist/atomic/{p-d642ef17.entry.js → p-59bbe15a.entry.js} +2 -2
  45. package/dist/atomic/{p-e5434c27.entry.js → p-5a140589.entry.js} +2 -2
  46. package/dist/atomic/{p-f3e32508.entry.js → p-5e8fb3ac.entry.js} +2 -2
  47. package/dist/atomic/{p-4fc18b34.entry.js → p-5f9b1abd.entry.js} +2 -2
  48. package/dist/atomic/{p-0cc72211.entry.js → p-60f60758.entry.js} +2 -2
  49. package/dist/atomic/{p-affd89e5.entry.js → p-61a251b7.entry.js} +2 -2
  50. package/dist/atomic/{p-2f89eaa5.entry.js → p-6ad9e0c8.entry.js} +2 -2
  51. package/dist/atomic/{p-36622fd4.entry.js → p-6c384aeb.entry.js} +2 -2
  52. package/dist/atomic/{p-fc342fe2.entry.js → p-6e4ad66d.entry.js} +2 -2
  53. package/dist/atomic/{p-061b1970.entry.js → p-6e6f94db.entry.js} +2 -2
  54. package/dist/atomic/{p-bf60cc3a.entry.js → p-7056c717.entry.js} +2 -2
  55. package/dist/atomic/{p-1cd30932.entry.js → p-731b7ad8.entry.js} +2 -2
  56. package/dist/atomic/{p-c76be572.entry.js → p-74277b3c.entry.js} +2 -2
  57. package/dist/atomic/{p-37e5e103.entry.js → p-75117fb6.entry.js} +2 -2
  58. package/dist/atomic/{p-c9b01229.entry.js → p-7814e1ed.entry.js} +2 -2
  59. package/dist/atomic/{p-724a8422.entry.js → p-854755e1.entry.js} +2 -2
  60. package/dist/atomic/{p-a9ee0b6f.entry.js → p-88fa6b1d.entry.js} +2 -2
  61. package/dist/atomic/{p-6220ff1d.entry.js → p-92048919.entry.js} +2 -2
  62. package/dist/atomic/{p-e4d2c0a4.entry.js → p-94c70f7f.entry.js} +2 -2
  63. package/dist/atomic/{p-082e8e88.entry.js → p-973d0376.entry.js} +2 -2
  64. package/dist/atomic/{p-138bf395.entry.js → p-9a3bc0c9.entry.js} +2 -2
  65. package/dist/atomic/{p-201cd50c.entry.js → p-9d9eeba2.entry.js} +2 -2
  66. package/dist/atomic/{p-09be36ec.entry.js → p-a10ecd77.entry.js} +2 -2
  67. package/dist/atomic/{p-8531564b.entry.js → p-a1f84dce.entry.js} +2 -2
  68. package/dist/atomic/{p-924435eb.entry.js → p-a6ea75a6.entry.js} +2 -2
  69. package/dist/atomic/{p-2a1b8f35.entry.js → p-a89213c7.entry.js} +2 -2
  70. package/dist/atomic/{p-190ff788.entry.js → p-abbad47f.entry.js} +2 -2
  71. package/dist/atomic/{p-b7d52d01.entry.js → p-ac8100e8.entry.js} +2 -2
  72. package/dist/atomic/{p-fc405644.entry.js → p-adab4fa3.entry.js} +2 -2
  73. package/dist/atomic/{p-eea8a5f1.entry.js → p-b03eb45d.entry.js} +2 -2
  74. package/dist/atomic/{p-936d6b26.entry.js → p-b06a5278.entry.js} +2 -2
  75. package/dist/atomic/{p-9a3c79ff.entry.js → p-b21d0a3d.entry.js} +2 -2
  76. package/dist/atomic/{p-0ad16659.entry.js → p-b239e617.entry.js} +2 -2
  77. package/dist/atomic/{p-db02de0e.entry.js → p-b366433e.entry.js} +2 -2
  78. package/dist/atomic/{p-a06e88d4.entry.js → p-b5fe644f.entry.js} +2 -2
  79. package/dist/atomic/{p-9540744d.entry.js → p-c1783bd8.entry.js} +2 -2
  80. package/dist/atomic/{p-209db3c4.entry.js → p-c1e87094.entry.js} +2 -2
  81. package/dist/atomic/{p-629b2dd9.entry.js → p-c1f236aa.entry.js} +2 -2
  82. package/dist/atomic/{p-358ef11c.entry.js → p-c3899aff.entry.js} +2 -2
  83. package/dist/atomic/p-c55891c7.js +2 -0
  84. package/dist/atomic/p-cae02339.js +2 -0
  85. package/dist/atomic/p-cae02339.js.map +1 -0
  86. package/dist/atomic/{p-7cc0ac62.entry.js → p-ccf7cfa7.entry.js} +2 -2
  87. package/dist/atomic/{p-7900ed8a.entry.js → p-ce974d50.entry.js} +2 -2
  88. package/dist/atomic/{p-7b0b4829.entry.js → p-d02c5ccd.entry.js} +2 -2
  89. package/dist/atomic/{p-d9e4f8a8.entry.js → p-d0cb47a4.entry.js} +2 -2
  90. package/dist/atomic/{p-58a138a6.entry.js → p-d37cbedb.entry.js} +2 -2
  91. package/dist/atomic/{p-63271009.entry.js → p-d498f5ed.entry.js} +2 -2
  92. package/dist/atomic/{p-975ffa7f.entry.js → p-d5628c4c.entry.js} +2 -2
  93. package/dist/atomic/p-d5d1c5c0.entry.js +2 -0
  94. package/dist/atomic/{p-d94e8dfd.entry.js → p-d67650b6.entry.js} +2 -2
  95. package/dist/atomic/{p-a135ebc4.entry.js → p-d6ee6072.entry.js} +2 -2
  96. package/dist/atomic/{p-70925804.entry.js → p-d81cc38e.entry.js} +2 -2
  97. package/dist/atomic/{p-6e424336.entry.js → p-d826e0ba.entry.js} +2 -2
  98. package/dist/atomic/{p-d82800ed.entry.js → p-da5e3caf.entry.js} +2 -2
  99. package/dist/atomic/{p-e7237496.entry.js → p-db7b7d58.entry.js} +2 -2
  100. package/dist/atomic/{p-6b2cf1fb.entry.js → p-dbce5ac5.entry.js} +2 -2
  101. package/dist/atomic/{p-339993e1.entry.js → p-dd74f820.entry.js} +2 -2
  102. package/dist/atomic/{p-d6b6e7d4.entry.js → p-ddc02eab.entry.js} +2 -2
  103. package/dist/atomic/p-e4f99519.js +2 -0
  104. package/dist/atomic/p-e4f99519.js.map +1 -0
  105. package/dist/atomic/{p-42514752.entry.js → p-e87acc31.entry.js} +2 -2
  106. package/dist/atomic/{p-ed89b507.entry.js → p-eeeda2bb.entry.js} +2 -2
  107. package/dist/atomic/{p-73256028.entry.js → p-f0001475.entry.js} +2 -2
  108. package/dist/atomic/{p-8317ee74.entry.js → p-f07af263.entry.js} +2 -2
  109. package/dist/atomic/{p-d94f65e2.entry.js → p-fa15a125.entry.js} +2 -2
  110. package/dist/atomic/{p-ccc22289.entry.js → p-fbe0066a.entry.js} +2 -2
  111. package/dist/atomic/{p-07e7770c.entry.js → p-fc720960.entry.js} +2 -2
  112. package/dist/atomic/p-ffedf24d.entry.js +2 -0
  113. package/dist/cjs/_index.cjs.js +2 -2
  114. package/dist/cjs/{analytics-config-296ace01.js → analytics-config-4fce5139.js} +2 -2
  115. package/dist/cjs/{analytics-config-296ace01.js.map → analytics-config-4fce5139.js.map} +1 -1
  116. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +2 -2
  117. package/dist/cjs/atomic-breadbox.cjs.entry.js +2 -2
  118. package/dist/cjs/atomic-category-facet.cjs.entry.js +3 -3
  119. package/dist/cjs/atomic-color-facet.cjs.entry.js +2 -2
  120. package/dist/cjs/atomic-did-you-mean.cjs.entry.js +2 -2
  121. package/dist/cjs/atomic-external.cjs.entry.js +2 -1
  122. package/dist/cjs/atomic-external.cjs.entry.js.map +1 -1
  123. package/dist/cjs/atomic-facet-manager.cjs.entry.js +2 -2
  124. package/dist/cjs/atomic-facet.cjs.entry.js +3 -3
  125. package/dist/cjs/atomic-focus-trap_2.cjs.entry.js +2 -2
  126. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +2 -2
  127. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +2 -2
  128. package/dist/cjs/atomic-generated-answer.cjs.entry.js +2 -2
  129. package/dist/cjs/atomic-html.cjs.entry.js +2 -2
  130. package/dist/cjs/atomic-insight-facet.cjs.entry.js +3 -3
  131. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +2 -2
  132. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +2 -2
  133. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +2 -2
  134. package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
  135. package/dist/cjs/atomic-insight-layout.cjs.entry.js +2 -2
  136. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +2 -2
  137. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +3 -3
  138. package/dist/cjs/atomic-insight-pager.cjs.entry.js +2 -2
  139. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -2
  140. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +2 -2
  141. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  142. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +2 -2
  143. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +2 -2
  144. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +2 -2
  145. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +2 -2
  146. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +2 -2
  147. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +2 -2
  148. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +2 -2
  149. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
  150. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  151. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +2 -2
  152. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +2 -2
  153. package/dist/cjs/atomic-insight-tab.cjs.entry.js +2 -2
  154. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +2 -2
  155. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +3 -3
  156. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +2 -2
  157. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +2 -2
  158. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -2
  159. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  160. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  161. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +2 -2
  162. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  163. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +2 -2
  164. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +2 -2
  165. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +2 -2
  166. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +2 -2
  167. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +2 -2
  168. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +2 -2
  169. package/dist/cjs/atomic-load-more-results.cjs.entry.js +2 -2
  170. package/dist/cjs/atomic-no-results.cjs.entry.js +2 -2
  171. package/dist/cjs/atomic-notifications.cjs.entry.js +2 -2
  172. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +3 -3
  173. package/dist/cjs/atomic-pager.cjs.entry.js +2 -2
  174. package/dist/cjs/atomic-popover.cjs.entry.js +2 -2
  175. package/dist/cjs/atomic-query-error.cjs.entry.js +2 -2
  176. package/dist/cjs/atomic-query-summary.cjs.entry.js +2 -2
  177. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +2 -2
  178. package/dist/cjs/atomic-quickview.cjs.entry.js +2 -2
  179. package/dist/cjs/atomic-rating-facet.cjs.entry.js +2 -2
  180. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +2 -2
  181. package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -2
  182. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  183. package/dist/cjs/atomic-recs-list.cjs.entry.js +2 -2
  184. package/dist/cjs/atomic-refine-modal.cjs.entry.js +2 -2
  185. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +2 -2
  186. package/dist/cjs/atomic-result-children.cjs.entry.js +2 -2
  187. package/dist/cjs/atomic-result-date.cjs.entry.js +2 -2
  188. package/dist/cjs/atomic-result-html.cjs.entry.js +2 -2
  189. package/dist/cjs/atomic-result-image.cjs.entry.js +2 -2
  190. package/dist/cjs/atomic-result-link.cjs.entry.js +2 -2
  191. package/dist/cjs/atomic-result-list.cjs.entry.js +2 -2
  192. package/dist/cjs/atomic-result-localized-text.cjs.entry.js +2 -2
  193. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +2 -2
  194. package/dist/cjs/atomic-result-number.cjs.entry.js +2 -2
  195. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +2 -2
  196. package/dist/cjs/atomic-result-rating.cjs.entry.js +2 -2
  197. package/dist/cjs/atomic-result-text_2.cjs.entry.js +2 -2
  198. package/dist/cjs/atomic-result-timespan.cjs.entry.js +2 -2
  199. package/dist/cjs/atomic-search-box.cjs.entry.js +2 -2
  200. package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
  201. package/dist/cjs/atomic-search-layout.cjs.entry.js +2 -2
  202. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +2 -2
  203. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +2 -2
  204. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  205. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +2 -2
  206. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  207. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +2 -2
  208. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +2 -2
  209. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  210. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +2 -2
  211. package/dist/cjs/atomic-tab-manager.cjs.entry.js +2 -2
  212. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +3 -3
  213. package/dist/cjs/{facet-guard-6c335975.js → facet-guard-1f250e99.js} +2 -2
  214. package/dist/cjs/{facet-guard-6c335975.js.map → facet-guard-1f250e99.js.map} +1 -1
  215. package/dist/cjs/initialization-lit-stencil-common-utils-730030b0.js +39 -0
  216. package/dist/cjs/initialization-lit-stencil-common-utils-730030b0.js.map +1 -0
  217. package/dist/cjs/{initialization-utils-62dc9852.js → initialization-utils-381854d1.js} +3 -12
  218. package/dist/cjs/initialization-utils-381854d1.js.map +1 -0
  219. package/dist/cjs/{timeframe-facet-common-5d249725.js → timeframe-facet-common-f0e15fe8.js} +2 -2
  220. package/dist/cjs/{timeframe-facet-common-5d249725.js.map → timeframe-facet-common-f0e15fe8.js.map} +1 -1
  221. package/dist/cjs/version.cjs.js +1 -1
  222. package/dist/esm/_index.js +2 -2
  223. package/dist/esm/{analytics-config-911c2af3.js → analytics-config-17acc26c.js} +2 -2
  224. package/dist/esm/{analytics-config-911c2af3.js.map → analytics-config-17acc26c.js.map} +1 -1
  225. package/dist/esm/atomic-automatic-facet_2.entry.js +2 -2
  226. package/dist/esm/atomic-breadbox.entry.js +2 -2
  227. package/dist/esm/atomic-category-facet.entry.js +3 -3
  228. package/dist/esm/atomic-color-facet.entry.js +2 -2
  229. package/dist/esm/atomic-did-you-mean.entry.js +2 -2
  230. package/dist/esm/atomic-external.entry.js +2 -1
  231. package/dist/esm/atomic-external.entry.js.map +1 -1
  232. package/dist/esm/atomic-facet-manager.entry.js +2 -2
  233. package/dist/esm/atomic-facet.entry.js +3 -3
  234. package/dist/esm/atomic-focus-trap_2.entry.js +2 -2
  235. package/dist/esm/atomic-folded-result-list.entry.js +2 -2
  236. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +2 -2
  237. package/dist/esm/atomic-generated-answer.entry.js +2 -2
  238. package/dist/esm/atomic-html.entry.js +2 -2
  239. package/dist/esm/atomic-insight-facet.entry.js +3 -3
  240. package/dist/esm/atomic-insight-folded-result-list.entry.js +2 -2
  241. package/dist/esm/atomic-insight-full-search-button.entry.js +2 -2
  242. package/dist/esm/atomic-insight-generated-answer.entry.js +2 -2
  243. package/dist/esm/atomic-insight-interface.entry.js +1 -1
  244. package/dist/esm/atomic-insight-layout.entry.js +2 -2
  245. package/dist/esm/atomic-insight-no-results.entry.js +2 -2
  246. package/dist/esm/atomic-insight-numeric-facet.entry.js +3 -3
  247. package/dist/esm/atomic-insight-pager.entry.js +2 -2
  248. package/dist/esm/atomic-insight-query-error.entry.js +2 -2
  249. package/dist/esm/atomic-insight-query-summary.entry.js +2 -2
  250. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  251. package/dist/esm/atomic-insight-refine-toggle.entry.js +2 -2
  252. package/dist/esm/atomic-insight-result-action.entry.js +2 -2
  253. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -2
  254. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +2 -2
  255. package/dist/esm/atomic-insight-result-children.entry.js +2 -2
  256. package/dist/esm/atomic-insight-result-list.entry.js +2 -2
  257. package/dist/esm/atomic-insight-result-quickview-action.entry.js +2 -2
  258. package/dist/esm/atomic-insight-search-box.entry.js +2 -2
  259. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  260. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +2 -2
  261. package/dist/esm/atomic-insight-smart-snippet.entry.js +2 -2
  262. package/dist/esm/atomic-insight-tab.entry.js +2 -2
  263. package/dist/esm/atomic-insight-tabs.entry.js +2 -2
  264. package/dist/esm/atomic-insight-timeframe-facet.entry.js +3 -3
  265. package/dist/esm/atomic-insight-user-actions-modal.entry.js +2 -2
  266. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +2 -2
  267. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -2
  268. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  269. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  270. package/dist/esm/atomic-ipx-embedded.entry.js +2 -2
  271. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  272. package/dist/esm/atomic-ipx-recs-list.entry.js +2 -2
  273. package/dist/esm/atomic-ipx-refine-modal.entry.js +2 -2
  274. package/dist/esm/atomic-ipx-refine-toggle.entry.js +2 -2
  275. package/dist/esm/atomic-ipx-result-link.entry.js +2 -2
  276. package/dist/esm/atomic-ipx-tab.entry.js +2 -2
  277. package/dist/esm/atomic-ipx-tabs.entry.js +2 -2
  278. package/dist/esm/atomic-load-more-results.entry.js +2 -2
  279. package/dist/esm/atomic-no-results.entry.js +2 -2
  280. package/dist/esm/atomic-notifications.entry.js +2 -2
  281. package/dist/esm/atomic-numeric-facet.entry.js +3 -3
  282. package/dist/esm/atomic-pager.entry.js +2 -2
  283. package/dist/esm/atomic-popover.entry.js +2 -2
  284. package/dist/esm/atomic-query-error.entry.js +2 -2
  285. package/dist/esm/atomic-query-summary.entry.js +2 -2
  286. package/dist/esm/atomic-quickview-modal.entry.js +2 -2
  287. package/dist/esm/atomic-quickview.entry.js +2 -2
  288. package/dist/esm/atomic-rating-facet.entry.js +2 -2
  289. package/dist/esm/atomic-rating-range-facet.entry.js +2 -2
  290. package/dist/esm/atomic-recs-error.entry.js +2 -2
  291. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  292. package/dist/esm/atomic-recs-list.entry.js +2 -2
  293. package/dist/esm/atomic-refine-modal.entry.js +2 -2
  294. package/dist/esm/atomic-refine-toggle.entry.js +2 -2
  295. package/dist/esm/atomic-result-children.entry.js +2 -2
  296. package/dist/esm/atomic-result-date.entry.js +2 -2
  297. package/dist/esm/atomic-result-html.entry.js +2 -2
  298. package/dist/esm/atomic-result-image.entry.js +2 -2
  299. package/dist/esm/atomic-result-link.entry.js +2 -2
  300. package/dist/esm/atomic-result-list.entry.js +2 -2
  301. package/dist/esm/atomic-result-localized-text.entry.js +2 -2
  302. package/dist/esm/atomic-result-multi-value-text.entry.js +2 -2
  303. package/dist/esm/atomic-result-number.entry.js +2 -2
  304. package/dist/esm/atomic-result-printable-uri.entry.js +2 -2
  305. package/dist/esm/atomic-result-rating.entry.js +2 -2
  306. package/dist/esm/atomic-result-text_2.entry.js +2 -2
  307. package/dist/esm/atomic-result-timespan.entry.js +2 -2
  308. package/dist/esm/atomic-search-box.entry.js +2 -2
  309. package/dist/esm/atomic-search-interface.entry.js +1 -1
  310. package/dist/esm/atomic-search-layout.entry.js +2 -2
  311. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +2 -2
  312. package/dist/esm/atomic-segmented-facet.entry.js +2 -2
  313. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  314. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +2 -2
  315. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  316. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +2 -2
  317. package/dist/esm/atomic-smart-snippet.entry.js +2 -2
  318. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  319. package/dist/esm/atomic-tab-bar_2.entry.js +2 -2
  320. package/dist/esm/atomic-tab-manager.entry.js +2 -2
  321. package/dist/esm/atomic-timeframe-facet.entry.js +3 -3
  322. package/dist/esm/{facet-guard-e7fea41e.js → facet-guard-fbd379cf.js} +2 -2
  323. package/dist/esm/{facet-guard-e7fea41e.js.map → facet-guard-fbd379cf.js.map} +1 -1
  324. package/dist/esm/initialization-lit-stencil-common-utils-804fe146.js +34 -0
  325. package/dist/esm/initialization-lit-stencil-common-utils-804fe146.js.map +1 -0
  326. package/dist/esm/{initialization-utils-ff3edf9a.js → initialization-utils-271aa8c0.js} +3 -12
  327. package/dist/esm/initialization-utils-271aa8c0.js.map +1 -0
  328. package/dist/esm/{timeframe-facet-common-8b4b78a7.js → timeframe-facet-common-9a91138c.js} +2 -2
  329. package/dist/esm/{timeframe-facet-common-8b4b78a7.js.map → timeframe-facet-common-9a91138c.js.map} +1 -1
  330. package/dist/esm/version.js +1 -1
  331. package/dist/types/utils/initialization-utils.d.ts +0 -1
  332. package/docs/atomic-docs.json +1 -1
  333. package/package.json +1 -1
  334. package/dist/atomic/p-307f0fd1.entry.js +0 -2
  335. package/dist/atomic/p-3e5a304a.entry.js +0 -2
  336. package/dist/atomic/p-b96bca99.entry.js +0 -2
  337. package/dist/atomic/p-d6e6dbc3.js +0 -2
  338. package/dist/atomic/p-d6e6dbc3.js.map +0 -1
  339. package/dist/atomic/p-d9ff279e.js +0 -2
  340. package/dist/atomic/p-f77160c6.js +0 -2
  341. package/dist/atomic/p-f77160c6.js.map +0 -1
  342. package/dist/cjs/initialization-lit-stencil-common-utils-24279cfa.js +0 -23
  343. package/dist/cjs/initialization-lit-stencil-common-utils-24279cfa.js.map +0 -1
  344. package/dist/cjs/initialization-utils-62dc9852.js.map +0 -1
  345. package/dist/esm/initialization-lit-stencil-common-utils-9e0c895f.js +0 -19
  346. package/dist/esm/initialization-lit-stencil-common-utils-9e0c895f.js.map +0 -1
  347. package/dist/esm/initialization-utils-ff3edf9a.js.map +0 -1
  348. /package/dist/atomic/{p-1735954d.entry.js.map → p-029893cf.entry.js.map} +0 -0
  349. /package/dist/atomic/{p-753fad0b.entry.js.map → p-05e60ab3.entry.js.map} +0 -0
  350. /package/dist/atomic/{p-7ed6f724.entry.js.map → p-0839dd37.entry.js.map} +0 -0
  351. /package/dist/atomic/{p-02c7092d.entry.js.map → p-0c2f02d9.entry.js.map} +0 -0
  352. /package/dist/atomic/{p-63e1e3ad.entry.js.map → p-0c3bfd1e.entry.js.map} +0 -0
  353. /package/dist/atomic/{p-d7ba69c5.entry.js.map → p-0eaecc6f.entry.js.map} +0 -0
  354. /package/dist/atomic/{p-b3770db9.entry.js.map → p-1072f390.entry.js.map} +0 -0
  355. /package/dist/atomic/{p-9767fe9a.js.map → p-110e4da7.js.map} +0 -0
  356. /package/dist/atomic/{p-d79aa846.entry.js.map → p-1176faf8.entry.js.map} +0 -0
  357. /package/dist/atomic/{p-5aaf4b5b.entry.js.map → p-15b3c4ad.entry.js.map} +0 -0
  358. /package/dist/atomic/{p-9f4062f1.entry.js.map → p-16fffb3a.entry.js.map} +0 -0
  359. /package/dist/atomic/{p-db7810c6.entry.js.map → p-1fd50a70.entry.js.map} +0 -0
  360. /package/dist/atomic/{p-a42a7fce.entry.js.map → p-2338bf45.entry.js.map} +0 -0
  361. /package/dist/atomic/{p-db7d6de6.entry.js.map → p-23f14475.entry.js.map} +0 -0
  362. /package/dist/atomic/{p-b6f28f78.entry.js.map → p-24cae323.entry.js.map} +0 -0
  363. /package/dist/atomic/{p-54b20384.js.map → p-24eba0f9.js.map} +0 -0
  364. /package/dist/atomic/{p-21c92d2b.entry.js.map → p-27064d6e.entry.js.map} +0 -0
  365. /package/dist/atomic/{p-c826b8f9.entry.js.map → p-270997db.entry.js.map} +0 -0
  366. /package/dist/atomic/{p-f81a5329.entry.js.map → p-32be95c8.entry.js.map} +0 -0
  367. /package/dist/atomic/{p-8bfdf2c5.entry.js.map → p-3328cd0f.entry.js.map} +0 -0
  368. /package/dist/atomic/{p-21c7a74a.entry.js.map → p-3abab2a9.entry.js.map} +0 -0
  369. /package/dist/atomic/{p-2982ebb7.entry.js.map → p-3b68096d.entry.js.map} +0 -0
  370. /package/dist/atomic/{p-0afc3e7c.entry.js.map → p-3ca9ced1.entry.js.map} +0 -0
  371. /package/dist/atomic/{p-9e4af274.entry.js.map → p-3d6f1c1c.entry.js.map} +0 -0
  372. /package/dist/atomic/{p-2eac467d.entry.js.map → p-40cba2bd.entry.js.map} +0 -0
  373. /package/dist/atomic/{p-18c302d8.entry.js.map → p-42e2d4b7.entry.js.map} +0 -0
  374. /package/dist/atomic/{p-1ea7b494.entry.js.map → p-4a3385e5.entry.js.map} +0 -0
  375. /package/dist/atomic/{p-2c3d978e.entry.js.map → p-4e7267fe.entry.js.map} +0 -0
  376. /package/dist/atomic/{p-b3bbb1e5.entry.js.map → p-4ec76654.entry.js.map} +0 -0
  377. /package/dist/atomic/{p-1aa77b93.entry.js.map → p-52051651.entry.js.map} +0 -0
  378. /package/dist/atomic/{p-0976d324.entry.js.map → p-57b3e7e1.entry.js.map} +0 -0
  379. /package/dist/atomic/{p-1d4b30c9.entry.js.map → p-58eb8537.entry.js.map} +0 -0
  380. /package/dist/atomic/{p-70af5870.entry.js.map → p-5999d525.entry.js.map} +0 -0
  381. /package/dist/atomic/{p-d642ef17.entry.js.map → p-59bbe15a.entry.js.map} +0 -0
  382. /package/dist/atomic/{p-e5434c27.entry.js.map → p-5a140589.entry.js.map} +0 -0
  383. /package/dist/atomic/{p-f3e32508.entry.js.map → p-5e8fb3ac.entry.js.map} +0 -0
  384. /package/dist/atomic/{p-4fc18b34.entry.js.map → p-5f9b1abd.entry.js.map} +0 -0
  385. /package/dist/atomic/{p-0cc72211.entry.js.map → p-60f60758.entry.js.map} +0 -0
  386. /package/dist/atomic/{p-affd89e5.entry.js.map → p-61a251b7.entry.js.map} +0 -0
  387. /package/dist/atomic/{p-2f89eaa5.entry.js.map → p-6ad9e0c8.entry.js.map} +0 -0
  388. /package/dist/atomic/{p-36622fd4.entry.js.map → p-6c384aeb.entry.js.map} +0 -0
  389. /package/dist/atomic/{p-fc342fe2.entry.js.map → p-6e4ad66d.entry.js.map} +0 -0
  390. /package/dist/atomic/{p-061b1970.entry.js.map → p-6e6f94db.entry.js.map} +0 -0
  391. /package/dist/atomic/{p-bf60cc3a.entry.js.map → p-7056c717.entry.js.map} +0 -0
  392. /package/dist/atomic/{p-1cd30932.entry.js.map → p-731b7ad8.entry.js.map} +0 -0
  393. /package/dist/atomic/{p-c76be572.entry.js.map → p-74277b3c.entry.js.map} +0 -0
  394. /package/dist/atomic/{p-37e5e103.entry.js.map → p-75117fb6.entry.js.map} +0 -0
  395. /package/dist/atomic/{p-c9b01229.entry.js.map → p-7814e1ed.entry.js.map} +0 -0
  396. /package/dist/atomic/{p-724a8422.entry.js.map → p-854755e1.entry.js.map} +0 -0
  397. /package/dist/atomic/{p-a9ee0b6f.entry.js.map → p-88fa6b1d.entry.js.map} +0 -0
  398. /package/dist/atomic/{p-6220ff1d.entry.js.map → p-92048919.entry.js.map} +0 -0
  399. /package/dist/atomic/{p-e4d2c0a4.entry.js.map → p-94c70f7f.entry.js.map} +0 -0
  400. /package/dist/atomic/{p-082e8e88.entry.js.map → p-973d0376.entry.js.map} +0 -0
  401. /package/dist/atomic/{p-138bf395.entry.js.map → p-9a3bc0c9.entry.js.map} +0 -0
  402. /package/dist/atomic/{p-201cd50c.entry.js.map → p-9d9eeba2.entry.js.map} +0 -0
  403. /package/dist/atomic/{p-09be36ec.entry.js.map → p-a10ecd77.entry.js.map} +0 -0
  404. /package/dist/atomic/{p-8531564b.entry.js.map → p-a1f84dce.entry.js.map} +0 -0
  405. /package/dist/atomic/{p-924435eb.entry.js.map → p-a6ea75a6.entry.js.map} +0 -0
  406. /package/dist/atomic/{p-2a1b8f35.entry.js.map → p-a89213c7.entry.js.map} +0 -0
  407. /package/dist/atomic/{p-190ff788.entry.js.map → p-abbad47f.entry.js.map} +0 -0
  408. /package/dist/atomic/{p-b7d52d01.entry.js.map → p-ac8100e8.entry.js.map} +0 -0
  409. /package/dist/atomic/{p-fc405644.entry.js.map → p-adab4fa3.entry.js.map} +0 -0
  410. /package/dist/atomic/{p-eea8a5f1.entry.js.map → p-b03eb45d.entry.js.map} +0 -0
  411. /package/dist/atomic/{p-936d6b26.entry.js.map → p-b06a5278.entry.js.map} +0 -0
  412. /package/dist/atomic/{p-9a3c79ff.entry.js.map → p-b21d0a3d.entry.js.map} +0 -0
  413. /package/dist/atomic/{p-0ad16659.entry.js.map → p-b239e617.entry.js.map} +0 -0
  414. /package/dist/atomic/{p-db02de0e.entry.js.map → p-b366433e.entry.js.map} +0 -0
  415. /package/dist/atomic/{p-a06e88d4.entry.js.map → p-b5fe644f.entry.js.map} +0 -0
  416. /package/dist/atomic/{p-9540744d.entry.js.map → p-c1783bd8.entry.js.map} +0 -0
  417. /package/dist/atomic/{p-209db3c4.entry.js.map → p-c1e87094.entry.js.map} +0 -0
  418. /package/dist/atomic/{p-629b2dd9.entry.js.map → p-c1f236aa.entry.js.map} +0 -0
  419. /package/dist/atomic/{p-358ef11c.entry.js.map → p-c3899aff.entry.js.map} +0 -0
  420. /package/dist/atomic/{p-d9ff279e.js.map → p-c55891c7.js.map} +0 -0
  421. /package/dist/atomic/{p-7cc0ac62.entry.js.map → p-ccf7cfa7.entry.js.map} +0 -0
  422. /package/dist/atomic/{p-7900ed8a.entry.js.map → p-ce974d50.entry.js.map} +0 -0
  423. /package/dist/atomic/{p-7b0b4829.entry.js.map → p-d02c5ccd.entry.js.map} +0 -0
  424. /package/dist/atomic/{p-d9e4f8a8.entry.js.map → p-d0cb47a4.entry.js.map} +0 -0
  425. /package/dist/atomic/{p-58a138a6.entry.js.map → p-d37cbedb.entry.js.map} +0 -0
  426. /package/dist/atomic/{p-63271009.entry.js.map → p-d498f5ed.entry.js.map} +0 -0
  427. /package/dist/atomic/{p-975ffa7f.entry.js.map → p-d5628c4c.entry.js.map} +0 -0
  428. /package/dist/atomic/{p-b96bca99.entry.js.map → p-d5d1c5c0.entry.js.map} +0 -0
  429. /package/dist/atomic/{p-d94e8dfd.entry.js.map → p-d67650b6.entry.js.map} +0 -0
  430. /package/dist/atomic/{p-a135ebc4.entry.js.map → p-d6ee6072.entry.js.map} +0 -0
  431. /package/dist/atomic/{p-70925804.entry.js.map → p-d81cc38e.entry.js.map} +0 -0
  432. /package/dist/atomic/{p-6e424336.entry.js.map → p-d826e0ba.entry.js.map} +0 -0
  433. /package/dist/atomic/{p-d82800ed.entry.js.map → p-da5e3caf.entry.js.map} +0 -0
  434. /package/dist/atomic/{p-e7237496.entry.js.map → p-db7b7d58.entry.js.map} +0 -0
  435. /package/dist/atomic/{p-6b2cf1fb.entry.js.map → p-dbce5ac5.entry.js.map} +0 -0
  436. /package/dist/atomic/{p-339993e1.entry.js.map → p-dd74f820.entry.js.map} +0 -0
  437. /package/dist/atomic/{p-d6b6e7d4.entry.js.map → p-ddc02eab.entry.js.map} +0 -0
  438. /package/dist/atomic/{p-42514752.entry.js.map → p-e87acc31.entry.js.map} +0 -0
  439. /package/dist/atomic/{p-ed89b507.entry.js.map → p-eeeda2bb.entry.js.map} +0 -0
  440. /package/dist/atomic/{p-73256028.entry.js.map → p-f0001475.entry.js.map} +0 -0
  441. /package/dist/atomic/{p-8317ee74.entry.js.map → p-f07af263.entry.js.map} +0 -0
  442. /package/dist/atomic/{p-d94f65e2.entry.js.map → p-fa15a125.entry.js.map} +0 -0
  443. /package/dist/atomic/{p-ccc22289.entry.js.map → p-fbe0066a.entry.js.map} +0 -0
  444. /package/dist/atomic/{p-07e7770c.entry.js.map → p-fc720960.entry.js.map} +0 -0
  445. /package/dist/atomic/{p-3e5a304a.entry.js.map → p-ffedf24d.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"timeframe-facet-common-8b4b78a7.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-stencil-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-stencil-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-9a91138c.js","mappings":";;;;;;;;;;;;MAoEa,oBAAoB;IAU/B,YAAoB,KAAkC;QAAlC,UAAK,GAAL,KAAK,CAA6B;QAL9C,qBAAgB,GAAgB,EAAE,CAAC;QAMzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;;;;;QAOnD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAC7D,IAAI,CAAC,aAAa,CACnB,CAAC;SACH;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC;YACpE,IAAI,CAAC,qCAAqC;gBACxC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CACjC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CACtC,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;SAC7C;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,oCAAoC;gBACvC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CACjC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CACtC,CAAC;SACL;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAClE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAC3B,CAAC;SACH;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,IAAY,gBAAgB;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACtB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;SAC3B;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAChE,OAAO,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SACzC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;KACzB;IAED,IAAY,OAAO;QACjB,QACE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO;YACrC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO;YAC1B,IAAI,EACJ;KACH;IAED,IAAY,cAAc;QACxB,QACE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CACzC,CAAC,KAAK,KAAK,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAC3D,IAAI,EAAE,EACP;KACH;IAED,IAAY,kBAAkB;QAC5B,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;KAC5D;IAED,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,kBAAkB,CAAC;KAC1D;IAED,IAAY,iBAAiB;QAC3B,OAAO,+BAA+B,CAAC;YACrC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;YACnC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE;YACpD,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,MAAM,IAAI,EAAE;SAC1D,CAAC,CAAC;KACJ;IAED,IAAY,SAAS;QACnB,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;YAChD,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;KACrC;IAED,IAAY,sBAAsB;QAChC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;YAC7B,OAAO,CAAC,CAAC;SACV;QAED,QACE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CACzC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,KAAK,UAAU,CAClC,CAAC,MAAM,IAAI,CAAC,EACb;KACH;IAED,IAAY,aAAa;QACvB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC;KACnC;IAED,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAC,KACtD,MAAM,KAAK,MAAM;cACb,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;gBACxB,KAAK,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC;gBAC7B,GAAG,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC;aACrB,CAAC;cACF,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;gBACxB,KAAK,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC;gBACtB,GAAG,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC;aAC5B,CAAC,CACP,CAAC;KACH;IAEM,oBAAoB;QACzB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;YAC/B,OAAO;SACR;QACD,IAAI,CAAC,oCAAoC,EAAE,YAAY,EAAE,CAAC;QAC1D,IAAI,CAAC,qCAAqC,EAAE,YAAY,EAAE,CAAC;QAC3D,IAAI,CAAC,yBAAyB,EAAE,YAAY,EAAE,CAAC;KAChD;IAED,IAAY,QAAQ;QAClB,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KACjD;IAEO,oBAAoB;QAC1B,MAAM,SAAS,GAAc;YAC3B,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACzD,OAAO,EAAE,IAAI,CAAC,OAAQ;YACtB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACxB,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ;SAC9B,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE;YACpD,GAAG,SAAS;YACZ,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;SAChD,CAAC,CAAC;QAEH,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACjC,GAAG,SAAS;YACZ,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS;YAC/B,oBAAoB,EAAE,MAAM,IAAI,CAAC,sBAAsB;SACxD,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;gBACnE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAQ,CAAC,CAAC;SAC7D;KACF;IAEO,mBAAmB;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CACzE,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM;YAClC,KAAK;YACL,MAAM;YACN,IAAI;YACJ,MAAM;SACP,CAAC,CACH,CAAC;KACH;IAEO,gBAAgB,CAAC,UAA0B;QACjD,IAAI;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,YAAY,GAChB,SAAS,CAAC,MAAM,KAAK,MAAM;kBACvB,SAAS;kBACT,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAC/C,CAAC,SAAS,KACR,SAAS,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;gBACxC,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI;gBACpC,SAAS,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAC3C,CAAC;YAEF,IAAI,SAAS,EAAE,KAAK,EAAE;gBACpB,OAAO,oBAAoB,CACzB,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CACzB,CAAC;aACH;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC/B,GAAG,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE,EAC7C;gBACE,KAAK,EAAE,YAAY,CAAC,MAAM;aAC3B,CACF,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;gBACtC,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;gBACvD,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;aACpD,CAAC,CAAC;SACJ;KACF;IACO,YAAY;QAClB,OAAO,IAAI,CAAC,qBAAqB,CAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAC5D,CAAC;KACH;IACO,WAAW,CAAC,UAA0B;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC;QACnD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC;QACnD,QACE,EAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,UAAU,CAAC,eAAe,EAC3C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAC9B,OAAO,EAAE,MAAM,IAAI,CAAC,iBAAkB,CAAC,kBAAkB,CAAC,UAAU,CAAC;YAErE,EAAC,wBAAwB,IACvB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACI,CACb,EACjB;KACH;IAEO,qBAAqB,CAAC,QAAiB;QAC7C,QACE,EAAC,gBAAgB,IACf,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAEvB,UAAI,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,QAAQ,IAC3B,QAAQ,CACN,CACY,EACnB;KACH;IAEO,YAAY,CAClB,WAAoB,EACpB,WAAkC,EAClC,gBAA4B;QAE5B,QACE,EAAC,WAAW,IACV,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,cAAc,EAAE;gBACd,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE;oBAC5B,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;oBACrB,OAAO;iBACR;gBACD,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,CAAC;aACvC,EACD,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,EACjD,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EACrC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,GAC/B,EACf;KACH;IAEO,eAAe;QACrB,QACE,uCACE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EACnB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EACnB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,OAAO,EAAE,IAAI,CAAC,MAAO,CAAC,KAAM,CAAC,OAAO,EACpC,WAAW,EAAE,MAAM,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,KAAK,EAC3C,WAAW,EAAE,CAAC,OAAyB;gBACrC,IAAI,CAAC,MAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAChC,GACgC,EACnC;KACH;IAEM,MAAM,CAAC,EACZ,QAAQ,EACR,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,gBAAgB,GACgB;QAChC,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7B,OAAO,EAAC,MAAM,OAAU,CAAC;SAC1B;QAED,IAAI,CAAC,mBAAmB,EAAE;YACxB,QACE,EAAC,gBAAgB,IACf,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EACzC,WAAW,EAAE,WAAW,GACN,EACpB;SACH;QAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,OAAO,EAAC,MAAM,OAAU,CAAC;SAC1B;QAED,QACE,EAAC,cAAc;YACZ,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,CAAC;YAC7D,CAAC,WAAW,IAAI;gBACf,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,YAAY,EAAE;gBAC9C,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,EAAE;aACjD,CACc,EACjB;KACH;;;;;","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-stencil-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-stencil-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,2 +1,2 @@
1
1
  export const headlessVersion = '3.28.3';
2
- export const atomicVersion = '3.32.4-pre.bf6bc568f2';
2
+ export const atomicVersion = '3.32.4-pre.c5f6441ccd';
@@ -9,7 +9,6 @@ export type InitializeEvent = CustomEvent<InitializeEventHandler>;
9
9
  * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.
10
10
  * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.
11
11
  * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.
12
- * @deprecated should only be used for Stencil components. For Lit components, use `initializeBindings` from @/src/decorators/initialize-bindings.
13
12
  */
14
13
  export declare function initializeBindings<SpecificBindings extends AnyBindings = Bindings>(element: Element): Promise<SpecificBindings>;
15
14
  export { MissingInterfaceParentError, InitializeEventHandler, initializeEventName, } from './initialization-lit-stencil-common-utils';
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-08-13T13:19:05",
2
+ "timestamp": "2025-08-13T15:38:42",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.20.0",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coveo/atomic",
3
3
  "type": "module",
4
- "version": "3.32.4-pre.bf6bc568f2",
4
+ "version": "3.32.4-pre.c5f6441ccd",
5
5
  "description": "A web-component library for building modern UIs interfacing with the Coveo platform",
6
6
  "homepage": "https://docs.coveo.com/en/atomic/latest/",
7
7
  "repository": {
@@ -1,2 +0,0 @@
1
- import{r as t,g as e}from"./p-dc3df5ce.js";import{m as i,i as r}from"./p-05de7ca3.js";import{b as a}from"./p-1580513b.js";import{i as n}from"./p-f77160c6.js";var o=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,r){if(i==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?r:i==="a"?r.call(t):r?r.value:e.get(t)};var s,c;const h=class{constructor(e){t(this,e);s.add(this);this.selector="atomic-search-interface";this.selector="atomic-search-interface";this.boundInterface=undefined}handleInitialization(t){t.preventDefault();t.stopPropagation();o(this,s,"a",c).dispatchEvent(a(n,t.detail))}handleScrollToTop(t){t.preventDefault();t.stopPropagation();o(this,s,"a",c).dispatchEvent(a("atomic/scrollToTop",t.detail))}handleParentReady(t){if(t.target===this.boundInterface){i(this.host)}}connectedCallback(){if(r(o(this,s,"a",c))){i(this.host)}}get host(){return e(this)}};s=new WeakSet,c=function t(){if(!this.boundInterface){this.boundInterface=document.querySelector(this.selector)??undefined;if(!this.boundInterface){throw new Error(`Cannot find interface element with selector "${this.selector}"`)}}return this.boundInterface};export{h as atomic_external};
2
- //# sourceMappingURL=p-307f0fd1.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,g as r}from"./p-dc3df5ce.js";import{ResultTemplatesHelpers as e}from"@coveo/headless";import{I as s}from"./p-d6e6dbc3.js";import{b as i}from"./p-25a96534.js";import{R as n}from"./p-18684d4c.js";import"./p-c9074946.js";import"./p-1580513b.js";import"./p-05de7ca3.js";import"./p-f77160c6.js";import"./p-3dc06261.js";var o=undefined&&undefined.__decorate||function(t,r,e,s){var i=arguments.length,n=i<3?r:s===null?s=Object.getOwnPropertyDescriptor(r,e):s,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")n=Reflect.decorate(t,r,e,s);else for(var u=t.length-1;u>=0;u--)if(o=t[u])n=(i<3?o(n):i>3?o(r,e,n):o(r,e))||n;return i>3&&n&&Object.defineProperty(r,e,n),n};const u=class{constructor(r){t(this,r);this.formatter=i;this.valueToDisplay=null;this.error=undefined;this.field=undefined;this.formatter=i;this.valueToDisplay=null}setFormat(t){t.preventDefault();t.stopPropagation();this.formatter=t.detail}parseValue(){const t=e.getResultProperty(this.result,this.field);if(t===null){return null}const r=parseFloat(`${t}`);if(Number.isNaN(r)){this.error=new Error(`Could not parse "${t}" from field "${this.field}" as a number.`);return null}return r}formatValue(t){try{return this.formatter(t,this.bindings.i18n.languages)}catch(r){this.error=r;return t.toString()}}updateValueToDisplay(){const t=this.parseValue();if(t!==null){this.valueToDisplay=this.formatValue(t)}}componentWillRender(){this.updateValueToDisplay()}render(){if(this.valueToDisplay===null){this.host.remove();return}return this.valueToDisplay}get host(){return r(this)}};o([s()],u.prototype,"bindings",void 0);o([n()],u.prototype,"result",void 0);export{u as atomic_result_number};
2
- //# sourceMappingURL=p-3e5a304a.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,h as t}from"./p-dc3df5ce.js";import{I as d}from"./p-d6e6dbc3.js";import"./p-c9074946.js";import"./p-1580513b.js";import"./p-05de7ca3.js";import"./p-f77160c6.js";var c=undefined&&undefined.__decorate||function(e,t,d,c){var f=arguments.length,r=f<3?t:c===null?c=Object.getOwnPropertyDescriptor(t,d):c,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(e,t,d,c);else for(var o=e.length-1;o>=0;o--)if(i=e[o])r=(f<3?i(r):f>3?i(t,d,r):i(t,d))||r;return f>3&&r&&Object.defineProperty(t,d,r),r};const f=class{constructor(t){e(this,t);this.error=undefined}render(){return t("atomic-tab-bar",{key:"9fd91d75c02448971dce40c407773ef3fd1a6fdc"},t("slot",{key:"a85003fda6e7c87487cdbdd680d4075fd3df7a6d"}))}};c([d()],f.prototype,"bindings",void 0);export{f as atomic_insight_tabs};
2
- //# sourceMappingURL=p-b96bca99.entry.js.map
@@ -1,2 +0,0 @@
1
- import{h as t,H as n,g as i,f as e}from"./p-dc3df5ce.js";import{c as s}from"./p-c9074946.js";import{b as o}from"./p-1580513b.js";import{e as r}from"./p-05de7ca3.js";import{M as a,i as c,a as h}from"./p-f77160c6.js";const d=()=>t(n,{class:"atomic-hidden"});function f(t){return new Promise(((n,i)=>{const e=o(c,(t=>n(t)));const d=s(t,h.join(", "));if(!d){i(new a(t.nodeName.toLowerCase()));return}r(d,e,t)}))}const l="data-atomic-rendered";const u="data-atomic-loaded";function p({forceUpdate:n}={}){return(f,p)=>{const{componentWillLoad:m,render:g,componentDidRender:b,componentDidLoad:C,disconnectedCallback:j}=f;let y=()=>{};if(p!=="bindings"){return console.error(`The InitializeBindings decorator should be used on a property called "bindings", and not "${p}"`,f)}f.componentWillLoad=function(){const t=i(this);t.setAttribute(l,"false");t.setAttribute(u,"false");const d=o(c,(t=>{this.bindings=t;const i=()=>e(this);this.bindings.i18n.on("languageChanged",i);y=()=>this.bindings.i18n.off("languageChanged",i);try{if(this.initialize){this.initialize();if(n){e(this)}}else{e(this)}}catch(t){this.error=t}}));const f=s(t,h.join(", "));if(!f){this.error=new a(t.nodeName.toLowerCase());return}r(f,d,t);return m&&m.call(this)};f.render=function(){if(this.error){return t("atomic-component-error",{element:i(this),error:this.error})}if(!this.bindings){return t(d,null)}i(this).setAttribute(l,"true");return g&&g.call(this)};f.disconnectedCallback=function(){const t=i(this);t.setAttribute(l,"false");t.setAttribute(u,"false");y();j&&j.call(this)};f.componentDidRender=function(){const t=i(this);if(t.getAttribute(l)==="false"){return}b&&b.call(this);if(t.getAttribute(u)==="false"){t.setAttribute(u,"true");C&&C.call(this)}};f.componentDidLoad=function(){}}}function m(t,n){return(e,s)=>{const{disconnectedCallback:o,initialize:r}=e;e.initialize=function(){r&&r.call(this);if(!r){return console.error(`ControllerState: The "initialize" method has to be defined and instantiate a controller for the property ${t}`,e)}if(!this[t]){return}if(n?.onUpdateCallbackMethod&&!this[n.onUpdateCallbackMethod]){return console.error(`ControllerState: The onUpdateCallbackMethod property "${n.onUpdateCallbackMethod}" is not defined`,e)}this.unsubscribeController=this[t].subscribe((()=>{this[s]=this[t].state;n?.onUpdateCallbackMethod&&this[n.onUpdateCallbackMethod]()}))};e.disconnectedCallback=function(){!i(this).isConnected&&this.unsubscribeController?.();o&&o.call(this)}}}export{m as B,d as H,p as I,f as i};
2
- //# sourceMappingURL=p-d6e6dbc3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Hidden","h","Host","class","initializeBindings","element","Promise","resolve","reject","event","buildCustomEvent","initializeEventName","bindings","parent","closest","initializableElements","join","MissingInterfaceParentError","nodeName","toLowerCase","enqueueOrDispatchInitializationEvent","renderedAttribute","loadedAttribute","InitializeBindings","forceUpdate","component","bindingsProperty","componentWillLoad","render","componentDidRender","componentDidLoad","disconnectedCallback","unsubscribeLanguage","console","error","getElement","this","setAttribute","updateLanguage","forceUpdateComponent","i18n","on","off","initialize","e","call","getAttribute","BindStateToController","controllerProperty","options","stateProperty","onUpdateCallbackMethod","unsubscribeController","subscribe","state","isConnected"],"sources":["src/components/common/stencil-hidden.tsx","src/utils/initialization-utils.tsx"],"sourcesContent":["import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the displayIf directive instead\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import type {CoreEngine} from '@coveo/headless';\nimport {\n ComponentInterface,\n getElement,\n h,\n forceUpdate as forceUpdateComponent,\n} from '@stencil/core';\nimport {TOptions} from 'i18next';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {Hidden} from '../components/common/stencil-hidden';\nimport {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\nimport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializableElements,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n * @deprecated should only be used for Stencil components. For Lit components, use `initializeBindings` from @/src/decorators/initialize-bindings.\n */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings) => resolve(bindings as SpecificBindings)\n );\n\n const parent = closest(element, initializableElements.join(', '));\n\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\n\nexport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\n/**\n * Necessary interface an Atomic Component must have to initialize itself correctly.\n * @deprecated To be used for Stencil components. For Lit components. use `InitializableComponent` from './decorators/types/'\n */\nexport interface InitializableComponent<\n SpecificBindings extends AnyBindings = Bindings,\n> extends ComponentInterface {\n /**\n * Bindings passed from the `AtomicSearchInterface` to its children components.\n */\n bindings: SpecificBindings;\n /**\n * Method called right after the `bindings` property is defined. This is the method where Headless Framework controllers should be initialized.\n */\n initialize?: () => void;\n error: Error;\n}\n\ntype InitializeBindingsProps = {\n forceUpdate?: boolean;\n};\n\nconst renderedAttribute = 'data-atomic-rendered';\nconst loadedAttribute = 'data-atomic-loaded';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.\n * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.\n *\n * Once a component is bound, the `initialize` method is called.\n * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.\n *\n * In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.\n * This is possible by using the `BindStateToController` decorator.\n *\n * @example\n * @InitializeBindings() public bindings!: Bindings;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.\n */\nexport function InitializeBindings<SpecificBindings extends AnyBindings>({\n forceUpdate,\n}: InitializeBindingsProps = {}) {\n return (\n component: InitializableComponent<SpecificBindings>,\n bindingsProperty: string\n ) => {\n const {\n componentWillLoad,\n render,\n componentDidRender,\n componentDidLoad,\n disconnectedCallback,\n } = component;\n let unsubscribeLanguage = () => {};\n\n if (bindingsProperty !== 'bindings') {\n return console.error(\n `The InitializeBindings decorator should be used on a property called \"bindings\", and not \"${bindingsProperty}\"`,\n component\n );\n }\n\n component.componentWillLoad = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n const event = buildCustomEvent(\n initializeEventName,\n (bindings: SpecificBindings) => {\n this.bindings = bindings;\n\n const updateLanguage = () => forceUpdateComponent(this);\n this.bindings.i18n.on('languageChanged', updateLanguage);\n unsubscribeLanguage = () =>\n this.bindings.i18n.off('languageChanged', updateLanguage);\n\n try {\n // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.\n // In this case, we have to manually trigger it.\n if (this.initialize) {\n this.initialize();\n if (forceUpdate) {\n forceUpdateComponent(this);\n }\n } else {\n forceUpdateComponent(this);\n }\n } catch (e) {\n this.error = e as Error;\n }\n }\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n this.error = new MissingInterfaceParentError(\n element.nodeName.toLowerCase()\n );\n return;\n }\n enqueueOrDispatchInitializationEvent(\n parent,\n event as InitializeEvent,\n element\n );\n return componentWillLoad && componentWillLoad.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n return (\n <atomic-component-error\n element={getElement(this)}\n error={this.error}\n ></atomic-component-error>\n );\n }\n\n if (!this.bindings) {\n return <Hidden></Hidden>;\n }\n\n getElement(this).setAttribute(renderedAttribute, 'true');\n return render && render.call(this);\n };\n\n component.disconnectedCallback = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n unsubscribeLanguage();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n const element = getElement(this);\n if (element.getAttribute(renderedAttribute) === 'false') {\n return;\n }\n\n componentDidRender && componentDidRender.call(this);\n if (element.getAttribute(loadedAttribute) === 'false') {\n element.setAttribute(loadedAttribute, 'true');\n componentDidLoad && componentDidLoad.call(this);\n }\n };\n\n component.componentDidLoad = function () {};\n };\n}\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).\n * This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).\n *\n * @example\n * @BindStateToController('pager') @State() private pagerState!: PagerState;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n *\n * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.\n * @param options The configurable `BindStateToController` options.\n *\n * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'\n */\nexport function BindStateToController(\n controllerProperty: string,\n options?: {\n /**\n * Component's method to be called when state is updated.\n */\n onUpdateCallbackMethod?: string;\n }\n) {\n return (\n component: InitializableComponent<AnyBindings>,\n stateProperty: string\n ) => {\n const {disconnectedCallback, initialize} = component;\n\n component.initialize = function () {\n initialize && initialize.call(this);\n\n if (!initialize) {\n return console.error(\n `ControllerState: The \"initialize\" method has to be defined and instantiate a controller for the property ${controllerProperty}`,\n component\n );\n }\n\n if (!this[controllerProperty]) {\n return;\n }\n\n if (\n options?.onUpdateCallbackMethod &&\n !this[options.onUpdateCallbackMethod]\n ) {\n return console.error(\n `ControllerState: The onUpdateCallbackMethod property \"${options.onUpdateCallbackMethod}\" is not defined`,\n component\n );\n }\n\n this.unsubscribeController = this[controllerProperty].subscribe(() => {\n this[stateProperty] = this[controllerProperty].state;\n options?.onUpdateCallbackMethod &&\n this[options.onUpdateCallbackMethod]();\n });\n };\n\n component.disconnectedCallback = function () {\n !getElement(this).isConnected && this.unsubscribeController?.();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n\ninterface DeferredExecution {\n args: unknown[];\n}\n\nexport function DeferUntilRender() {\n return (component: ComponentInterface, methodName: string) => {\n const {componentDidRender, connectedCallback} = component;\n const originalMethod = component[methodName] as Function;\n let deferredExecutions: DeferredExecution[] = [];\n\n component.connectedCallback = function () {\n this[methodName] = function (...args: unknown[]) {\n deferredExecutions.push({args});\n };\n connectedCallback && connectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n deferredExecutions.forEach(({args}) =>\n originalMethod.call(this, ...args)\n );\n deferredExecutions = [];\n componentDidRender && componentDidRender.call(this);\n };\n };\n}\n\nexport type I18nState = Record<string, (variables?: TOptions) => string>;\nexport type AtomicInterface = HTMLElement & {\n engine?: CoreEngine;\n bindings?: Bindings;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{h as r,F as e}from"./p-dc3df5ce.js";import{H as s}from"./p-d6e6dbc3.js";const t=({hasError:t,enabled:a,firstSearchExecuted:o,hasResults:c},d)=>{if(t||!a||o&&!c){return r(s,null)}return r(e,null,d)};export{t as F};
2
- //# sourceMappingURL=p-d9ff279e.js.map
@@ -1,2 +0,0 @@
1
- class e extends Error{constructor(e){super(`The "${e}" element must be the child of the following elements: ${t.join(", ")}`)}}const t=["atomic-recs-interface","atomic-search-interface","atomic-commerce-interface","atomic-commerce-recommendation-interface","atomic-relevance-inspector","atomic-insight-interface","atomic-external"];const c="atomic/initializeComponent";export{e as M,t as a,c as i};
2
- //# sourceMappingURL=p-f77160c6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["MissingInterfaceParentError","Error","constructor","elementName","super","initializableElements","join","initializeEventName"],"sources":["src/utils/initialization-lit-stencil-common-utils.ts"],"sourcesContent":["import type {AnyBindings} from '../components/common/interface/bindings';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\n\nexport function fetchBindings<SpecificBindings extends AnyBindings>(\n element: Element\n) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings: unknown) => resolve(bindings as SpecificBindings)\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\nexport type InitializeEventHandler = (bindings: AnyBindings) => void;\nexport class MissingInterfaceParentError extends Error {\n constructor(elementName: string) {\n super(\n `The \"${elementName}\" element must be the child of the following elements: ${initializableElements.join(\n ', '\n )}`\n );\n }\n}\nexport const initializableElements = [\n 'atomic-recs-interface',\n 'atomic-search-interface',\n 'atomic-commerce-interface',\n 'atomic-commerce-recommendation-interface',\n 'atomic-relevance-inspector',\n 'atomic-insight-interface',\n 'atomic-external',\n];\nexport const initializeEventName = 'atomic/initializeComponent';\n"],"mappings":"MAsBaA,UAAoCC,MAC/C,WAAAC,CAAYC,GACVC,MACE,QAAQD,2DAAqEE,EAAsBC,KACjG,Q,QAKKD,EAAwB,CACnC,wBACA,0BACA,4BACA,2CACA,6BACA,2BACA,mB,MAEWE,EAAsB,oC","ignoreList":[]}
@@ -1,23 +0,0 @@
1
- 'use strict';
2
-
3
- class MissingInterfaceParentError extends Error {
4
- constructor(elementName) {
5
- super(`The "${elementName}" element must be the child of the following elements: ${initializableElements.join(', ')}`);
6
- }
7
- }
8
- const initializableElements = [
9
- 'atomic-recs-interface',
10
- 'atomic-search-interface',
11
- 'atomic-commerce-interface',
12
- 'atomic-commerce-recommendation-interface',
13
- 'atomic-relevance-inspector',
14
- 'atomic-insight-interface',
15
- 'atomic-external',
16
- ];
17
- const initializeEventName = 'atomic/initializeComponent';
18
-
19
- exports.MissingInterfaceParentError = MissingInterfaceParentError;
20
- exports.initializableElements = initializableElements;
21
- exports.initializeEventName = initializeEventName;
22
-
23
- //# sourceMappingURL=initialization-lit-stencil-common-utils-24279cfa.js.map
@@ -1 +0,0 @@
1
- {"file":"initialization-lit-stencil-common-utils-24279cfa.js","mappings":";;MAsBa,2BAA4B,SAAQ,KAAK;IACpD,YAAY,WAAmB;QAC7B,KAAK,CACH,QAAQ,WAAW,0DAA0D,qBAAqB,CAAC,IAAI,CACrG,IAAI,CACL,EAAE,CACJ,CAAC;KACH;CACF;MACY,qBAAqB,GAAG;IACnC,uBAAuB;IACvB,yBAAyB;IACzB,2BAA2B;IAC3B,0CAA0C;IAC1C,4BAA4B;IAC5B,0BAA0B;IAC1B,iBAAiB;EACjB;MACW,mBAAmB,GAAG;;;;;;","names":[],"sources":["src/utils/initialization-lit-stencil-common-utils.ts"],"sourcesContent":["import type {AnyBindings} from '../components/common/interface/bindings';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\n\nexport function fetchBindings<SpecificBindings extends AnyBindings>(\n element: Element\n) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings: unknown) => resolve(bindings as SpecificBindings)\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\nexport type InitializeEventHandler = (bindings: AnyBindings) => void;\nexport class MissingInterfaceParentError extends Error {\n constructor(elementName: string) {\n super(\n `The \"${elementName}\" element must be the child of the following elements: ${initializableElements.join(\n ', '\n )}`\n );\n }\n}\nexport const initializableElements = [\n 'atomic-recs-interface',\n 'atomic-search-interface',\n 'atomic-commerce-interface',\n 'atomic-commerce-recommendation-interface',\n 'atomic-relevance-inspector',\n 'atomic-insight-interface',\n 'atomic-external',\n];\nexport const initializeEventName = 'atomic/initializeComponent';\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"initialization-utils-62dc9852.js","mappings":"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","names":["h","Host","buildCustomEvent","initializeEventName","closest","initializableElements","MissingInterfaceParentError","enqueueOrDispatchInitializationEvent","getElement","forceUpdateComponent"],"sources":["src/components/common/stencil-hidden.tsx","src/utils/initialization-utils.tsx"],"sourcesContent":["import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the displayIf directive instead\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import type {CoreEngine} from '@coveo/headless';\nimport {\n ComponentInterface,\n getElement,\n h,\n forceUpdate as forceUpdateComponent,\n} from '@stencil/core';\nimport {TOptions} from 'i18next';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {Hidden} from '../components/common/stencil-hidden';\nimport {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\nimport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializableElements,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n * @deprecated should only be used for Stencil components. For Lit components, use `initializeBindings` from @/src/decorators/initialize-bindings.\n */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings) => resolve(bindings as SpecificBindings)\n );\n\n const parent = closest(element, initializableElements.join(', '));\n\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\n\nexport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\n/**\n * Necessary interface an Atomic Component must have to initialize itself correctly.\n * @deprecated To be used for Stencil components. For Lit components. use `InitializableComponent` from './decorators/types/'\n */\nexport interface InitializableComponent<\n SpecificBindings extends AnyBindings = Bindings,\n> extends ComponentInterface {\n /**\n * Bindings passed from the `AtomicSearchInterface` to its children components.\n */\n bindings: SpecificBindings;\n /**\n * Method called right after the `bindings` property is defined. This is the method where Headless Framework controllers should be initialized.\n */\n initialize?: () => void;\n error: Error;\n}\n\ntype InitializeBindingsProps = {\n forceUpdate?: boolean;\n};\n\nconst renderedAttribute = 'data-atomic-rendered';\nconst loadedAttribute = 'data-atomic-loaded';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.\n * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.\n *\n * Once a component is bound, the `initialize` method is called.\n * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.\n *\n * In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.\n * This is possible by using the `BindStateToController` decorator.\n *\n * @example\n * @InitializeBindings() public bindings!: Bindings;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.\n */\nexport function InitializeBindings<SpecificBindings extends AnyBindings>({\n forceUpdate,\n}: InitializeBindingsProps = {}) {\n return (\n component: InitializableComponent<SpecificBindings>,\n bindingsProperty: string\n ) => {\n const {\n componentWillLoad,\n render,\n componentDidRender,\n componentDidLoad,\n disconnectedCallback,\n } = component;\n let unsubscribeLanguage = () => {};\n\n if (bindingsProperty !== 'bindings') {\n return console.error(\n `The InitializeBindings decorator should be used on a property called \"bindings\", and not \"${bindingsProperty}\"`,\n component\n );\n }\n\n component.componentWillLoad = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n const event = buildCustomEvent(\n initializeEventName,\n (bindings: SpecificBindings) => {\n this.bindings = bindings;\n\n const updateLanguage = () => forceUpdateComponent(this);\n this.bindings.i18n.on('languageChanged', updateLanguage);\n unsubscribeLanguage = () =>\n this.bindings.i18n.off('languageChanged', updateLanguage);\n\n try {\n // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.\n // In this case, we have to manually trigger it.\n if (this.initialize) {\n this.initialize();\n if (forceUpdate) {\n forceUpdateComponent(this);\n }\n } else {\n forceUpdateComponent(this);\n }\n } catch (e) {\n this.error = e as Error;\n }\n }\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n this.error = new MissingInterfaceParentError(\n element.nodeName.toLowerCase()\n );\n return;\n }\n enqueueOrDispatchInitializationEvent(\n parent,\n event as InitializeEvent,\n element\n );\n return componentWillLoad && componentWillLoad.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n return (\n <atomic-component-error\n element={getElement(this)}\n error={this.error}\n ></atomic-component-error>\n );\n }\n\n if (!this.bindings) {\n return <Hidden></Hidden>;\n }\n\n getElement(this).setAttribute(renderedAttribute, 'true');\n return render && render.call(this);\n };\n\n component.disconnectedCallback = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n unsubscribeLanguage();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n const element = getElement(this);\n if (element.getAttribute(renderedAttribute) === 'false') {\n return;\n }\n\n componentDidRender && componentDidRender.call(this);\n if (element.getAttribute(loadedAttribute) === 'false') {\n element.setAttribute(loadedAttribute, 'true');\n componentDidLoad && componentDidLoad.call(this);\n }\n };\n\n component.componentDidLoad = function () {};\n };\n}\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).\n * This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).\n *\n * @example\n * @BindStateToController('pager') @State() private pagerState!: PagerState;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n *\n * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.\n * @param options The configurable `BindStateToController` options.\n *\n * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'\n */\nexport function BindStateToController(\n controllerProperty: string,\n options?: {\n /**\n * Component's method to be called when state is updated.\n */\n onUpdateCallbackMethod?: string;\n }\n) {\n return (\n component: InitializableComponent<AnyBindings>,\n stateProperty: string\n ) => {\n const {disconnectedCallback, initialize} = component;\n\n component.initialize = function () {\n initialize && initialize.call(this);\n\n if (!initialize) {\n return console.error(\n `ControllerState: The \"initialize\" method has to be defined and instantiate a controller for the property ${controllerProperty}`,\n component\n );\n }\n\n if (!this[controllerProperty]) {\n return;\n }\n\n if (\n options?.onUpdateCallbackMethod &&\n !this[options.onUpdateCallbackMethod]\n ) {\n return console.error(\n `ControllerState: The onUpdateCallbackMethod property \"${options.onUpdateCallbackMethod}\" is not defined`,\n component\n );\n }\n\n this.unsubscribeController = this[controllerProperty].subscribe(() => {\n this[stateProperty] = this[controllerProperty].state;\n options?.onUpdateCallbackMethod &&\n this[options.onUpdateCallbackMethod]();\n });\n };\n\n component.disconnectedCallback = function () {\n !getElement(this).isConnected && this.unsubscribeController?.();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n\ninterface DeferredExecution {\n args: unknown[];\n}\n\nexport function DeferUntilRender() {\n return (component: ComponentInterface, methodName: string) => {\n const {componentDidRender, connectedCallback} = component;\n const originalMethod = component[methodName] as Function;\n let deferredExecutions: DeferredExecution[] = [];\n\n component.connectedCallback = function () {\n this[methodName] = function (...args: unknown[]) {\n deferredExecutions.push({args});\n };\n connectedCallback && connectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n deferredExecutions.forEach(({args}) =>\n originalMethod.call(this, ...args)\n );\n deferredExecutions = [];\n componentDidRender && componentDidRender.call(this);\n };\n };\n}\n\nexport type I18nState = Record<string, (variables?: TOptions) => string>;\nexport type AtomicInterface = HTMLElement & {\n engine?: CoreEngine;\n bindings?: Bindings;\n};\n"],"version":3}
@@ -1,19 +0,0 @@
1
- class MissingInterfaceParentError extends Error {
2
- constructor(elementName) {
3
- super(`The "${elementName}" element must be the child of the following elements: ${initializableElements.join(', ')}`);
4
- }
5
- }
6
- const initializableElements = [
7
- 'atomic-recs-interface',
8
- 'atomic-search-interface',
9
- 'atomic-commerce-interface',
10
- 'atomic-commerce-recommendation-interface',
11
- 'atomic-relevance-inspector',
12
- 'atomic-insight-interface',
13
- 'atomic-external',
14
- ];
15
- const initializeEventName = 'atomic/initializeComponent';
16
-
17
- export { MissingInterfaceParentError as M, initializableElements as a, initializeEventName as i };
18
-
19
- //# sourceMappingURL=initialization-lit-stencil-common-utils-9e0c895f.js.map
@@ -1 +0,0 @@
1
- {"file":"initialization-lit-stencil-common-utils-9e0c895f.js","mappings":"MAsBa,2BAA4B,SAAQ,KAAK;IACpD,YAAY,WAAmB;QAC7B,KAAK,CACH,QAAQ,WAAW,0DAA0D,qBAAqB,CAAC,IAAI,CACrG,IAAI,CACL,EAAE,CACJ,CAAC;KACH;CACF;MACY,qBAAqB,GAAG;IACnC,uBAAuB;IACvB,yBAAyB;IACzB,2BAA2B;IAC3B,0CAA0C;IAC1C,4BAA4B;IAC5B,0BAA0B;IAC1B,iBAAiB;EACjB;MACW,mBAAmB,GAAG;;;;","names":[],"sources":["src/utils/initialization-lit-stencil-common-utils.ts"],"sourcesContent":["import type {AnyBindings} from '../components/common/interface/bindings';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\n\nexport function fetchBindings<SpecificBindings extends AnyBindings>(\n element: Element\n) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings: unknown) => resolve(bindings as SpecificBindings)\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\nexport type InitializeEventHandler = (bindings: AnyBindings) => void;\nexport class MissingInterfaceParentError extends Error {\n constructor(elementName: string) {\n super(\n `The \"${elementName}\" element must be the child of the following elements: ${initializableElements.join(\n ', '\n )}`\n );\n }\n}\nexport const initializableElements = [\n 'atomic-recs-interface',\n 'atomic-search-interface',\n 'atomic-commerce-interface',\n 'atomic-commerce-recommendation-interface',\n 'atomic-relevance-inspector',\n 'atomic-insight-interface',\n 'atomic-external',\n];\nexport const initializeEventName = 'atomic/initializeComponent';\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"initialization-utils-ff3edf9a.js","mappings":"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","names":["forceUpdate","forceUpdateComponent"],"sources":["src/components/common/stencil-hidden.tsx","src/utils/initialization-utils.tsx"],"sourcesContent":["import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the displayIf directive instead\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import type {CoreEngine} from '@coveo/headless';\nimport {\n ComponentInterface,\n getElement,\n h,\n forceUpdate as forceUpdateComponent,\n} from '@stencil/core';\nimport {TOptions} from 'i18next';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {Hidden} from '../components/common/stencil-hidden';\nimport {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\nimport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializableElements,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n * @deprecated should only be used for Stencil components. For Lit components, use `initializeBindings` from @/src/decorators/initialize-bindings.\n */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings) => resolve(bindings as SpecificBindings)\n );\n\n const parent = closest(element, initializableElements.join(', '));\n\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\n\nexport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\n/**\n * Necessary interface an Atomic Component must have to initialize itself correctly.\n * @deprecated To be used for Stencil components. For Lit components. use `InitializableComponent` from './decorators/types/'\n */\nexport interface InitializableComponent<\n SpecificBindings extends AnyBindings = Bindings,\n> extends ComponentInterface {\n /**\n * Bindings passed from the `AtomicSearchInterface` to its children components.\n */\n bindings: SpecificBindings;\n /**\n * Method called right after the `bindings` property is defined. This is the method where Headless Framework controllers should be initialized.\n */\n initialize?: () => void;\n error: Error;\n}\n\ntype InitializeBindingsProps = {\n forceUpdate?: boolean;\n};\n\nconst renderedAttribute = 'data-atomic-rendered';\nconst loadedAttribute = 'data-atomic-loaded';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.\n * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.\n *\n * Once a component is bound, the `initialize` method is called.\n * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.\n *\n * In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.\n * This is possible by using the `BindStateToController` decorator.\n *\n * @example\n * @InitializeBindings() public bindings!: Bindings;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.\n */\nexport function InitializeBindings<SpecificBindings extends AnyBindings>({\n forceUpdate,\n}: InitializeBindingsProps = {}) {\n return (\n component: InitializableComponent<SpecificBindings>,\n bindingsProperty: string\n ) => {\n const {\n componentWillLoad,\n render,\n componentDidRender,\n componentDidLoad,\n disconnectedCallback,\n } = component;\n let unsubscribeLanguage = () => {};\n\n if (bindingsProperty !== 'bindings') {\n return console.error(\n `The InitializeBindings decorator should be used on a property called \"bindings\", and not \"${bindingsProperty}\"`,\n component\n );\n }\n\n component.componentWillLoad = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n const event = buildCustomEvent(\n initializeEventName,\n (bindings: SpecificBindings) => {\n this.bindings = bindings;\n\n const updateLanguage = () => forceUpdateComponent(this);\n this.bindings.i18n.on('languageChanged', updateLanguage);\n unsubscribeLanguage = () =>\n this.bindings.i18n.off('languageChanged', updateLanguage);\n\n try {\n // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.\n // In this case, we have to manually trigger it.\n if (this.initialize) {\n this.initialize();\n if (forceUpdate) {\n forceUpdateComponent(this);\n }\n } else {\n forceUpdateComponent(this);\n }\n } catch (e) {\n this.error = e as Error;\n }\n }\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n this.error = new MissingInterfaceParentError(\n element.nodeName.toLowerCase()\n );\n return;\n }\n enqueueOrDispatchInitializationEvent(\n parent,\n event as InitializeEvent,\n element\n );\n return componentWillLoad && componentWillLoad.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n return (\n <atomic-component-error\n element={getElement(this)}\n error={this.error}\n ></atomic-component-error>\n );\n }\n\n if (!this.bindings) {\n return <Hidden></Hidden>;\n }\n\n getElement(this).setAttribute(renderedAttribute, 'true');\n return render && render.call(this);\n };\n\n component.disconnectedCallback = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n unsubscribeLanguage();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n const element = getElement(this);\n if (element.getAttribute(renderedAttribute) === 'false') {\n return;\n }\n\n componentDidRender && componentDidRender.call(this);\n if (element.getAttribute(loadedAttribute) === 'false') {\n element.setAttribute(loadedAttribute, 'true');\n componentDidLoad && componentDidLoad.call(this);\n }\n };\n\n component.componentDidLoad = function () {};\n };\n}\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).\n * This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).\n *\n * @example\n * @BindStateToController('pager') @State() private pagerState!: PagerState;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n *\n * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.\n * @param options The configurable `BindStateToController` options.\n *\n * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'\n */\nexport function BindStateToController(\n controllerProperty: string,\n options?: {\n /**\n * Component's method to be called when state is updated.\n */\n onUpdateCallbackMethod?: string;\n }\n) {\n return (\n component: InitializableComponent<AnyBindings>,\n stateProperty: string\n ) => {\n const {disconnectedCallback, initialize} = component;\n\n component.initialize = function () {\n initialize && initialize.call(this);\n\n if (!initialize) {\n return console.error(\n `ControllerState: The \"initialize\" method has to be defined and instantiate a controller for the property ${controllerProperty}`,\n component\n );\n }\n\n if (!this[controllerProperty]) {\n return;\n }\n\n if (\n options?.onUpdateCallbackMethod &&\n !this[options.onUpdateCallbackMethod]\n ) {\n return console.error(\n `ControllerState: The onUpdateCallbackMethod property \"${options.onUpdateCallbackMethod}\" is not defined`,\n component\n );\n }\n\n this.unsubscribeController = this[controllerProperty].subscribe(() => {\n this[stateProperty] = this[controllerProperty].state;\n options?.onUpdateCallbackMethod &&\n this[options.onUpdateCallbackMethod]();\n });\n };\n\n component.disconnectedCallback = function () {\n !getElement(this).isConnected && this.unsubscribeController?.();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n\ninterface DeferredExecution {\n args: unknown[];\n}\n\nexport function DeferUntilRender() {\n return (component: ComponentInterface, methodName: string) => {\n const {componentDidRender, connectedCallback} = component;\n const originalMethod = component[methodName] as Function;\n let deferredExecutions: DeferredExecution[] = [];\n\n component.connectedCallback = function () {\n this[methodName] = function (...args: unknown[]) {\n deferredExecutions.push({args});\n };\n connectedCallback && connectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n deferredExecutions.forEach(({args}) =>\n originalMethod.call(this, ...args)\n );\n deferredExecutions = [];\n componentDidRender && componentDidRender.call(this);\n };\n };\n}\n\nexport type I18nState = Record<string, (variables?: TOptions) => string>;\nexport type AtomicInterface = HTMLElement & {\n engine?: CoreEngine;\n bindings?: Bindings;\n};\n"],"version":3}