@coveo/atomic 3.33.1-pre.fd4614c377 → 3.34.0-pre.788976dc4a

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/atomic-stencil-facet-date-input.js +5 -4
  4. package/dist/atomic/components/atomic-stencil-facet-date-input.js.map +1 -1
  5. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +1 -1
  6. package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.js +1 -0
  7. package/dist/atomic/components/components/commerce/atomic-commerce-facet/atomic-commerce-facet.js +1 -0
  8. package/dist/atomic/components/components/commerce/atomic-commerce-pager/atomic-commerce-pager.js +2 -7
  9. package/dist/atomic/components/components/commerce/atomic-commerce-products-per-page/atomic-commerce-products-per-page.js +9 -13
  10. package/dist/atomic/components/components/commerce/atomic-product-price/atomic-product-price.js +7 -5
  11. package/dist/atomic/components/components/common/atomic-facet-date-input/atomic-facet-date-input.js +1 -0
  12. package/dist/atomic/components/components/search/atomic-results-per-page/atomic-results-per-page.js +9 -13
  13. package/dist/atomic/components/global/environment.js +1 -1
  14. package/dist/atomic/components/initialization-utils.js +1 -1
  15. package/dist/atomic/components/initialization-utils.js.map +1 -1
  16. package/dist/atomic/index.esm.js +1 -1
  17. package/dist/atomic/{p-cbdb8d78.entry.js → p-02916ea5.entry.js} +2 -2
  18. package/dist/atomic/{p-66dd8761.entry.js → p-04eac5bb.entry.js} +2 -2
  19. package/dist/atomic/{p-dcb930e7.entry.js → p-12ae2cb5.entry.js} +2 -2
  20. package/dist/atomic/{p-7056c717.entry.js → p-190ddaca.entry.js} +2 -2
  21. package/dist/atomic/{p-ff653000.entry.js → p-1a85f534.entry.js} +2 -2
  22. package/dist/atomic/{p-53070229.entry.js → p-1d25f4f6.entry.js} +2 -2
  23. package/dist/atomic/{p-58fe83ae.entry.js → p-1f051791.entry.js} +2 -2
  24. package/dist/atomic/p-1f059522.js +2 -0
  25. package/dist/atomic/{p-8044bbe4.entry.js → p-1f0caae5.entry.js} +2 -2
  26. package/dist/atomic/{p-7814e1ed.entry.js → p-1ff7a9da.entry.js} +2 -2
  27. package/dist/atomic/{p-113cc160.entry.js → p-2067ddd9.entry.js} +2 -2
  28. package/dist/atomic/{p-0167ba21.entry.js → p-217bf533.entry.js} +2 -2
  29. package/dist/atomic/{p-4aeb5e8f.entry.js → p-246cbaa1.entry.js} +2 -2
  30. package/dist/atomic/{p-e392095a.entry.js → p-247f958f.entry.js} +2 -2
  31. package/dist/atomic/{p-e5a5b612.entry.js → p-25b7f550.entry.js} +2 -2
  32. package/dist/atomic/{p-421850f9.entry.js → p-278ab207.entry.js} +2 -2
  33. package/dist/atomic/{p-83f46502.entry.js → p-2aa17085.entry.js} +2 -2
  34. package/dist/atomic/{p-f9289f2f.entry.js → p-2c470abb.entry.js} +2 -2
  35. package/dist/atomic/{p-0839dd37.entry.js → p-2ca995a8.entry.js} +2 -2
  36. package/dist/atomic/{p-48c8a766.entry.js → p-3184b9dd.entry.js} +2 -2
  37. package/dist/atomic/{p-c3004f08.entry.js → p-33706247.entry.js} +2 -2
  38. package/dist/atomic/{p-b6c5584a.entry.js → p-34e2ce65.entry.js} +2 -2
  39. package/dist/atomic/{p-31aa63b8.entry.js → p-359db801.entry.js} +2 -2
  40. package/dist/atomic/{p-62dbc255.entry.js → p-38da94bb.entry.js} +2 -2
  41. package/dist/atomic/{p-6083c9be.entry.js → p-4117b4d5.entry.js} +2 -2
  42. package/dist/atomic/{p-6ad9e0c8.entry.js → p-412b233b.entry.js} +2 -2
  43. package/dist/atomic/{p-d1e45cc0.entry.js → p-42ac53c4.entry.js} +2 -2
  44. package/dist/atomic/{p-aa5fb6d9.entry.js → p-443019f6.entry.js} +2 -2
  45. package/dist/atomic/{p-2fd28743.entry.js → p-459b06be.entry.js} +2 -2
  46. package/dist/atomic/{p-dc89e560.entry.js → p-4b3b6fb8.entry.js} +2 -2
  47. package/dist/atomic/{p-1442d3c3.entry.js → p-4c94890c.entry.js} +2 -2
  48. package/dist/atomic/{p-5afe99b1.entry.js → p-4d50c09c.entry.js} +2 -2
  49. package/dist/atomic/{p-a6be5ee3.entry.js → p-5023f797.entry.js} +2 -2
  50. package/dist/atomic/{p-09934c1e.entry.js → p-502767f1.entry.js} +2 -2
  51. package/dist/atomic/{p-731b7ad8.entry.js → p-50467793.entry.js} +2 -2
  52. package/dist/atomic/{p-882a99f5.entry.js → p-52b8f27e.entry.js} +2 -2
  53. package/dist/atomic/{p-4eb5bc54.entry.js → p-5c8e396c.entry.js} +2 -2
  54. package/dist/atomic/{p-1f4f26ee.entry.js → p-61aab132.entry.js} +2 -2
  55. package/dist/atomic/{p-8b6aaeed.entry.js → p-6258d0bc.entry.js} +2 -2
  56. package/dist/atomic/{p-0c076058.entry.js → p-642480f7.entry.js} +2 -2
  57. package/dist/atomic/{p-c19a9af4.entry.js → p-64f00831.entry.js} +2 -2
  58. package/dist/atomic/{p-fb26a29f.entry.js → p-69511e1e.entry.js} +2 -2
  59. package/dist/atomic/{p-8d0b9f5a.entry.js → p-69e1b708.entry.js} +2 -2
  60. package/dist/atomic/{p-64c9a9ef.entry.js → p-6aeccefe.entry.js} +2 -2
  61. package/dist/atomic/{p-ac8941e8.entry.js → p-6ec1bc34.entry.js} +2 -2
  62. package/dist/atomic/{p-7464f00a.entry.js → p-7104baaf.entry.js} +2 -2
  63. package/dist/atomic/{p-ce974d50.entry.js → p-78427c6a.entry.js} +2 -2
  64. package/dist/atomic/{p-d172edcc.entry.js → p-7eca77b0.entry.js} +2 -2
  65. package/dist/atomic/{p-ab55ee64.entry.js → p-81bc2e2b.entry.js} +2 -2
  66. package/dist/atomic/{p-617090d1.entry.js → p-81fadd38.entry.js} +2 -2
  67. package/dist/atomic/{p-579c5b46.entry.js → p-8250bad6.entry.js} +2 -2
  68. package/dist/atomic/{p-8b80d576.entry.js → p-88e0e6aa.entry.js} +2 -2
  69. package/dist/atomic/{p-cd39ba3c.entry.js → p-89240b2f.entry.js} +2 -2
  70. package/dist/atomic/{p-27064d6e.entry.js → p-8b70f39a.entry.js} +2 -2
  71. package/dist/atomic/p-8ef0e022.entry.js +2 -0
  72. package/dist/atomic/{p-1e21a920.entry.js → p-90bff784.entry.js} +2 -2
  73. package/dist/atomic/{p-412e9a6d.entry.js → p-9389351e.entry.js} +2 -2
  74. package/dist/atomic/{p-24cae323.entry.js → p-945ddd53.entry.js} +2 -2
  75. package/dist/atomic/{p-2bfbe973.entry.js → p-97ac269f.entry.js} +2 -2
  76. package/dist/atomic/{p-2d1d5cd9.entry.js → p-98babd8f.entry.js} +2 -2
  77. package/dist/atomic/{p-5a140589.entry.js → p-990a8267.entry.js} +2 -2
  78. package/dist/atomic/{p-9a72f043.entry.js → p-9a4f8b13.entry.js} +2 -2
  79. package/dist/atomic/{p-f2bae47c.entry.js → p-9e5e1672.entry.js} +2 -2
  80. package/dist/atomic/{p-c35fb052.entry.js → p-a1b0d435.entry.js} +2 -2
  81. package/dist/atomic/{p-742bd3cb.entry.js → p-a943aa9b.entry.js} +2 -2
  82. package/dist/atomic/{p-5db0ffd7.entry.js → p-ab95fe33.entry.js} +2 -2
  83. package/dist/atomic/{p-fbacb7a0.entry.js → p-ad51fa72.entry.js} +2 -2
  84. package/dist/atomic/{p-09a5ef74.entry.js → p-b1406e15.entry.js} +2 -2
  85. package/dist/atomic/{p-77ae34ce.entry.js → p-b2041636.entry.js} +2 -2
  86. package/dist/atomic/p-b3f6561d.entry.js +2 -0
  87. package/dist/atomic/{p-91d64c67.entry.js → p-b4013cce.entry.js} +2 -2
  88. package/dist/atomic/{p-a3aaf456.entry.js → p-b42847c8.entry.js} +2 -2
  89. package/dist/atomic/{p-4cda93be.entry.js → p-bf4dc429.entry.js} +2 -2
  90. package/dist/atomic/{p-2a7ac870.entry.js → p-c77eadab.entry.js} +2 -2
  91. package/dist/atomic/{p-a2b3dfd0.entry.js → p-c9d8ae11.entry.js} +2 -2
  92. package/dist/atomic/{p-f5f8990e.entry.js → p-ca984630.entry.js} +2 -2
  93. package/dist/atomic/{p-5ed976df.entry.js → p-cb095aad.entry.js} +2 -2
  94. package/dist/atomic/{p-4f40a9e1.entry.js → p-cd327f6e.entry.js} +2 -2
  95. package/dist/atomic/{p-8c80991f.entry.js → p-ce0ad22b.entry.js} +2 -2
  96. package/dist/atomic/{p-d5628c4c.entry.js → p-ce83d873.entry.js} +2 -2
  97. package/dist/atomic/{p-eb026d69.entry.js → p-d03b1383.entry.js} +2 -2
  98. package/dist/atomic/{p-512143ef.entry.js → p-d1d34162.entry.js} +2 -2
  99. package/dist/atomic/{p-005dcc88.entry.js → p-d2b9e35e.entry.js} +2 -2
  100. package/dist/atomic/{p-db9ca9c3.entry.js → p-d36bd808.entry.js} +2 -2
  101. package/dist/atomic/{p-31d3304c.entry.js → p-d52555b5.entry.js} +2 -2
  102. package/dist/atomic/{p-110e4da7.js → p-d8c5e7b0.js} +2 -2
  103. package/dist/atomic/{p-5c813055.entry.js → p-dd214aa9.entry.js} +2 -2
  104. package/dist/atomic/{p-444bff80.entry.js → p-dd2bf761.entry.js} +2 -2
  105. package/dist/atomic/{p-d3e1a9aa.entry.js → p-df117f76.entry.js} +2 -2
  106. package/dist/atomic/{p-04481727.entry.js → p-e428af65.entry.js} +2 -2
  107. package/dist/atomic/{p-3ca9ced1.entry.js → p-e9dc8e90.entry.js} +2 -2
  108. package/dist/atomic/{p-c727cd49.entry.js → p-ea781e46.entry.js} +2 -2
  109. package/dist/atomic/{p-2b76b255.entry.js → p-eeefa262.entry.js} +2 -2
  110. package/dist/atomic/{p-db3dce80.entry.js → p-f52ae387.entry.js} +2 -2
  111. package/dist/atomic/{p-4dd88abc.entry.js → p-f9c9d7a4.entry.js} +2 -2
  112. package/dist/atomic/{p-d7eb2d40.js → p-faaa7b67.js} +2 -2
  113. package/dist/atomic/p-fc6beee6.entry.js +2 -0
  114. package/dist/atomic/p-fc6beee6.entry.js.map +1 -0
  115. package/dist/atomic/{p-e43fe680.entry.js → p-fd373189.entry.js} +2 -2
  116. package/dist/atomic/{p-22ef68f4.entry.js → p-fe6aac5e.entry.js} +2 -2
  117. package/dist/atomic/{p-e4f99519.js → p-ff2d324d.js} +1 -1
  118. package/dist/atomic/p-ff2d324d.js.map +1 -0
  119. package/dist/cjs/_index.cjs.js +1 -1
  120. package/dist/cjs/{analytics-config-5285b610.js → analytics-config-4ead0e64.js} +2 -2
  121. package/dist/cjs/{analytics-config-5285b610.js.map → analytics-config-4ead0e64.js.map} +1 -1
  122. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +1 -1
  123. package/dist/cjs/atomic-breadbox.cjs.entry.js +1 -1
  124. package/dist/cjs/atomic-category-facet.cjs.entry.js +2 -2
  125. package/dist/cjs/atomic-color-facet.cjs.entry.js +1 -1
  126. package/dist/cjs/atomic-did-you-mean.cjs.entry.js +1 -1
  127. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  128. package/dist/cjs/atomic-facet.cjs.entry.js +2 -2
  129. package/dist/cjs/atomic-focus-trap_2.cjs.entry.js +1 -1
  130. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +1 -1
  131. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  132. package/dist/cjs/atomic-generated-answer.cjs.entry.js +1 -1
  133. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  134. package/dist/cjs/atomic-insight-facet.cjs.entry.js +2 -2
  135. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  136. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  137. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +1 -1
  138. package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
  139. package/dist/cjs/atomic-insight-layout.cjs.entry.js +1 -1
  140. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  141. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +2 -2
  142. package/dist/cjs/atomic-insight-pager.cjs.entry.js +1 -1
  143. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +1 -1
  144. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +1 -1
  145. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +1 -1
  146. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  147. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +1 -1
  148. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +1 -1
  149. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  150. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  151. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  152. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  153. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +1 -1
  154. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +1 -1
  155. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +1 -1
  156. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +1 -1
  157. package/dist/cjs/atomic-insight-tab.cjs.entry.js +1 -1
  158. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  159. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +2 -2
  160. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +1 -1
  161. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  162. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  163. package/dist/cjs/atomic-ipx-body.cjs.entry.js +1 -1
  164. package/dist/cjs/atomic-ipx-button.cjs.entry.js +1 -1
  165. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  166. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +1 -1
  167. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  168. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  169. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  170. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  171. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -1
  172. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  173. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  174. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
  175. package/dist/cjs/atomic-notifications.cjs.entry.js +1 -1
  176. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +2 -2
  177. package/dist/cjs/atomic-pager.cjs.entry.js +1 -1
  178. package/dist/cjs/atomic-popover.cjs.entry.js +1 -1
  179. package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
  180. package/dist/cjs/atomic-query-summary.cjs.entry.js +1 -1
  181. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  182. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  183. package/dist/cjs/atomic-rating-facet.cjs.entry.js +1 -1
  184. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +1 -1
  185. package/dist/cjs/atomic-recs-error.cjs.entry.js +1 -1
  186. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  187. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  188. package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
  189. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
  190. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  191. package/dist/cjs/atomic-result-date.cjs.entry.js +1 -1
  192. package/dist/cjs/atomic-result-html.cjs.entry.js +1 -1
  193. package/dist/cjs/atomic-result-image.cjs.entry.js +1 -1
  194. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  195. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  196. package/dist/cjs/atomic-result-localized-text.cjs.entry.js +1 -1
  197. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +1 -1
  198. package/dist/cjs/atomic-result-number.cjs.entry.js +1 -1
  199. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +1 -1
  200. package/dist/cjs/atomic-result-rating.cjs.entry.js +1 -1
  201. package/dist/cjs/atomic-result-text_2.cjs.entry.js +1 -1
  202. package/dist/cjs/atomic-result-timespan.cjs.entry.js +1 -1
  203. package/dist/cjs/atomic-search-box.cjs.entry.js +1 -1
  204. package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
  205. package/dist/cjs/atomic-search-layout.cjs.entry.js +1 -1
  206. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +1 -1
  207. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +1 -1
  208. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +1 -1
  209. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +1 -1
  210. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +1 -1
  211. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +1 -1
  212. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +1 -1
  213. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +1 -1
  214. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +5 -4
  215. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +1 -1
  216. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  217. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  218. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +2 -2
  219. package/dist/cjs/{facet-guard-1f250e99.js → facet-guard-328b588d.js} +2 -2
  220. package/dist/cjs/{facet-guard-1f250e99.js.map → facet-guard-328b588d.js.map} +1 -1
  221. package/dist/cjs/{initialization-utils-381854d1.js → initialization-utils-92f1b080.js} +2 -2
  222. package/dist/cjs/initialization-utils-92f1b080.js.map +1 -0
  223. package/dist/cjs/{timeframe-facet-common-f0e15fe8.js → timeframe-facet-common-4c852fc9.js} +2 -2
  224. package/dist/cjs/{timeframe-facet-common-f0e15fe8.js.map → timeframe-facet-common-4c852fc9.js.map} +1 -1
  225. package/dist/cjs/version.cjs.js +2 -2
  226. package/dist/esm/_index.js +1 -1
  227. package/dist/esm/{analytics-config-a057e53b.js → analytics-config-9cf6bb24.js} +2 -2
  228. package/dist/esm/{analytics-config-a057e53b.js.map → analytics-config-9cf6bb24.js.map} +1 -1
  229. package/dist/esm/atomic-automatic-facet_2.entry.js +1 -1
  230. package/dist/esm/atomic-breadbox.entry.js +1 -1
  231. package/dist/esm/atomic-category-facet.entry.js +2 -2
  232. package/dist/esm/atomic-color-facet.entry.js +1 -1
  233. package/dist/esm/atomic-did-you-mean.entry.js +1 -1
  234. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  235. package/dist/esm/atomic-facet.entry.js +2 -2
  236. package/dist/esm/atomic-focus-trap_2.entry.js +1 -1
  237. package/dist/esm/atomic-folded-result-list.entry.js +1 -1
  238. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
  239. package/dist/esm/atomic-generated-answer.entry.js +1 -1
  240. package/dist/esm/atomic-html.entry.js +1 -1
  241. package/dist/esm/atomic-insight-facet.entry.js +2 -2
  242. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  243. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  244. package/dist/esm/atomic-insight-generated-answer.entry.js +1 -1
  245. package/dist/esm/atomic-insight-interface.entry.js +1 -1
  246. package/dist/esm/atomic-insight-layout.entry.js +1 -1
  247. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  248. package/dist/esm/atomic-insight-numeric-facet.entry.js +2 -2
  249. package/dist/esm/atomic-insight-pager.entry.js +1 -1
  250. package/dist/esm/atomic-insight-query-error.entry.js +1 -1
  251. package/dist/esm/atomic-insight-query-summary.entry.js +1 -1
  252. package/dist/esm/atomic-insight-refine-modal.entry.js +1 -1
  253. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  254. package/dist/esm/atomic-insight-result-action.entry.js +1 -1
  255. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +1 -1
  256. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  257. package/dist/esm/atomic-insight-result-children.entry.js +1 -1
  258. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  259. package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
  260. package/dist/esm/atomic-insight-search-box.entry.js +1 -1
  261. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +1 -1
  262. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +1 -1
  263. package/dist/esm/atomic-insight-smart-snippet.entry.js +1 -1
  264. package/dist/esm/atomic-insight-tab.entry.js +1 -1
  265. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  266. package/dist/esm/atomic-insight-timeframe-facet.entry.js +2 -2
  267. package/dist/esm/atomic-insight-user-actions-modal.entry.js +1 -1
  268. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  269. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  270. package/dist/esm/atomic-ipx-body.entry.js +1 -1
  271. package/dist/esm/atomic-ipx-button.entry.js +1 -1
  272. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  273. package/dist/esm/atomic-ipx-modal.entry.js +1 -1
  274. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  275. package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
  276. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  277. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  278. package/dist/esm/atomic-ipx-tab.entry.js +1 -1
  279. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  280. package/dist/esm/atomic-load-more-results.entry.js +1 -1
  281. package/dist/esm/atomic-no-results.entry.js +1 -1
  282. package/dist/esm/atomic-notifications.entry.js +1 -1
  283. package/dist/esm/atomic-numeric-facet.entry.js +2 -2
  284. package/dist/esm/atomic-pager.entry.js +1 -1
  285. package/dist/esm/atomic-popover.entry.js +1 -1
  286. package/dist/esm/atomic-query-error.entry.js +1 -1
  287. package/dist/esm/atomic-query-summary.entry.js +1 -1
  288. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  289. package/dist/esm/atomic-quickview.entry.js +1 -1
  290. package/dist/esm/atomic-rating-facet.entry.js +1 -1
  291. package/dist/esm/atomic-rating-range-facet.entry.js +1 -1
  292. package/dist/esm/atomic-recs-error.entry.js +1 -1
  293. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  294. package/dist/esm/atomic-recs-list.entry.js +1 -1
  295. package/dist/esm/atomic-refine-modal.entry.js +1 -1
  296. package/dist/esm/atomic-refine-toggle.entry.js +1 -1
  297. package/dist/esm/atomic-result-children.entry.js +1 -1
  298. package/dist/esm/atomic-result-date.entry.js +1 -1
  299. package/dist/esm/atomic-result-html.entry.js +1 -1
  300. package/dist/esm/atomic-result-image.entry.js +1 -1
  301. package/dist/esm/atomic-result-link.entry.js +1 -1
  302. package/dist/esm/atomic-result-list.entry.js +1 -1
  303. package/dist/esm/atomic-result-localized-text.entry.js +1 -1
  304. package/dist/esm/atomic-result-multi-value-text.entry.js +1 -1
  305. package/dist/esm/atomic-result-number.entry.js +1 -1
  306. package/dist/esm/atomic-result-printable-uri.entry.js +1 -1
  307. package/dist/esm/atomic-result-rating.entry.js +1 -1
  308. package/dist/esm/atomic-result-text_2.entry.js +1 -1
  309. package/dist/esm/atomic-result-timespan.entry.js +1 -1
  310. package/dist/esm/atomic-search-box.entry.js +1 -1
  311. package/dist/esm/atomic-search-interface.entry.js +1 -1
  312. package/dist/esm/atomic-search-layout.entry.js +1 -1
  313. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +1 -1
  314. package/dist/esm/atomic-segmented-facet.entry.js +1 -1
  315. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +1 -1
  316. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +1 -1
  317. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +1 -1
  318. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +1 -1
  319. package/dist/esm/atomic-smart-snippet.entry.js +1 -1
  320. package/dist/esm/atomic-sort-dropdown.entry.js +1 -1
  321. package/dist/esm/atomic-stencil-facet-date-input.entry.js +5 -4
  322. package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +1 -1
  323. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  324. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  325. package/dist/esm/atomic-timeframe-facet.entry.js +2 -2
  326. package/dist/esm/{facet-guard-fbd379cf.js → facet-guard-4b795e90.js} +2 -2
  327. package/dist/esm/{facet-guard-fbd379cf.js.map → facet-guard-4b795e90.js.map} +1 -1
  328. package/dist/esm/{initialization-utils-271aa8c0.js → initialization-utils-ffbc4136.js} +2 -2
  329. package/dist/esm/initialization-utils-ffbc4136.js.map +1 -0
  330. package/dist/esm/{timeframe-facet-common-9a91138c.js → timeframe-facet-common-db821dce.js} +2 -2
  331. package/dist/esm/{timeframe-facet-common-9a91138c.js.map → timeframe-facet-common-db821dce.js.map} +1 -1
  332. package/dist/esm/version.js +2 -2
  333. package/dist/types/components/common/stencil-hidden.d.ts +1 -1
  334. package/docs/atomic-docs.json +1 -1
  335. package/package.json +3 -3
  336. package/dist/atomic/components/components/common/pager/pager-guard.js +0 -6
  337. package/dist/atomic/components/directives/display-if.js +0 -42
  338. package/dist/atomic/p-995b31cf.entry.js +0 -2
  339. package/dist/atomic/p-995b31cf.entry.js.map +0 -1
  340. package/dist/atomic/p-c55891c7.js +0 -2
  341. package/dist/atomic/p-d5d1c5c0.entry.js +0 -2
  342. package/dist/atomic/p-e4f99519.js.map +0 -1
  343. package/dist/atomic/p-ffedf24d.entry.js +0 -2
  344. package/dist/cjs/initialization-utils-381854d1.js.map +0 -1
  345. package/dist/esm/initialization-utils-271aa8c0.js.map +0 -1
  346. package/dist/types/components/common/pager/pager-guard.d.ts +0 -8
  347. package/dist/types/directives/display-if.d.ts +0 -28
  348. /package/dist/atomic/{p-cbdb8d78.entry.js.map → p-02916ea5.entry.js.map} +0 -0
  349. /package/dist/atomic/{p-66dd8761.entry.js.map → p-04eac5bb.entry.js.map} +0 -0
  350. /package/dist/atomic/{p-dcb930e7.entry.js.map → p-12ae2cb5.entry.js.map} +0 -0
  351. /package/dist/atomic/{p-7056c717.entry.js.map → p-190ddaca.entry.js.map} +0 -0
  352. /package/dist/atomic/{p-ff653000.entry.js.map → p-1a85f534.entry.js.map} +0 -0
  353. /package/dist/atomic/{p-53070229.entry.js.map → p-1d25f4f6.entry.js.map} +0 -0
  354. /package/dist/atomic/{p-58fe83ae.entry.js.map → p-1f051791.entry.js.map} +0 -0
  355. /package/dist/atomic/{p-c55891c7.js.map → p-1f059522.js.map} +0 -0
  356. /package/dist/atomic/{p-8044bbe4.entry.js.map → p-1f0caae5.entry.js.map} +0 -0
  357. /package/dist/atomic/{p-7814e1ed.entry.js.map → p-1ff7a9da.entry.js.map} +0 -0
  358. /package/dist/atomic/{p-113cc160.entry.js.map → p-2067ddd9.entry.js.map} +0 -0
  359. /package/dist/atomic/{p-0167ba21.entry.js.map → p-217bf533.entry.js.map} +0 -0
  360. /package/dist/atomic/{p-4aeb5e8f.entry.js.map → p-246cbaa1.entry.js.map} +0 -0
  361. /package/dist/atomic/{p-e392095a.entry.js.map → p-247f958f.entry.js.map} +0 -0
  362. /package/dist/atomic/{p-e5a5b612.entry.js.map → p-25b7f550.entry.js.map} +0 -0
  363. /package/dist/atomic/{p-421850f9.entry.js.map → p-278ab207.entry.js.map} +0 -0
  364. /package/dist/atomic/{p-83f46502.entry.js.map → p-2aa17085.entry.js.map} +0 -0
  365. /package/dist/atomic/{p-f9289f2f.entry.js.map → p-2c470abb.entry.js.map} +0 -0
  366. /package/dist/atomic/{p-0839dd37.entry.js.map → p-2ca995a8.entry.js.map} +0 -0
  367. /package/dist/atomic/{p-48c8a766.entry.js.map → p-3184b9dd.entry.js.map} +0 -0
  368. /package/dist/atomic/{p-c3004f08.entry.js.map → p-33706247.entry.js.map} +0 -0
  369. /package/dist/atomic/{p-b6c5584a.entry.js.map → p-34e2ce65.entry.js.map} +0 -0
  370. /package/dist/atomic/{p-31aa63b8.entry.js.map → p-359db801.entry.js.map} +0 -0
  371. /package/dist/atomic/{p-62dbc255.entry.js.map → p-38da94bb.entry.js.map} +0 -0
  372. /package/dist/atomic/{p-6083c9be.entry.js.map → p-4117b4d5.entry.js.map} +0 -0
  373. /package/dist/atomic/{p-6ad9e0c8.entry.js.map → p-412b233b.entry.js.map} +0 -0
  374. /package/dist/atomic/{p-d1e45cc0.entry.js.map → p-42ac53c4.entry.js.map} +0 -0
  375. /package/dist/atomic/{p-aa5fb6d9.entry.js.map → p-443019f6.entry.js.map} +0 -0
  376. /package/dist/atomic/{p-2fd28743.entry.js.map → p-459b06be.entry.js.map} +0 -0
  377. /package/dist/atomic/{p-dc89e560.entry.js.map → p-4b3b6fb8.entry.js.map} +0 -0
  378. /package/dist/atomic/{p-1442d3c3.entry.js.map → p-4c94890c.entry.js.map} +0 -0
  379. /package/dist/atomic/{p-5afe99b1.entry.js.map → p-4d50c09c.entry.js.map} +0 -0
  380. /package/dist/atomic/{p-a6be5ee3.entry.js.map → p-5023f797.entry.js.map} +0 -0
  381. /package/dist/atomic/{p-09934c1e.entry.js.map → p-502767f1.entry.js.map} +0 -0
  382. /package/dist/atomic/{p-731b7ad8.entry.js.map → p-50467793.entry.js.map} +0 -0
  383. /package/dist/atomic/{p-882a99f5.entry.js.map → p-52b8f27e.entry.js.map} +0 -0
  384. /package/dist/atomic/{p-4eb5bc54.entry.js.map → p-5c8e396c.entry.js.map} +0 -0
  385. /package/dist/atomic/{p-1f4f26ee.entry.js.map → p-61aab132.entry.js.map} +0 -0
  386. /package/dist/atomic/{p-8b6aaeed.entry.js.map → p-6258d0bc.entry.js.map} +0 -0
  387. /package/dist/atomic/{p-0c076058.entry.js.map → p-642480f7.entry.js.map} +0 -0
  388. /package/dist/atomic/{p-c19a9af4.entry.js.map → p-64f00831.entry.js.map} +0 -0
  389. /package/dist/atomic/{p-fb26a29f.entry.js.map → p-69511e1e.entry.js.map} +0 -0
  390. /package/dist/atomic/{p-8d0b9f5a.entry.js.map → p-69e1b708.entry.js.map} +0 -0
  391. /package/dist/atomic/{p-64c9a9ef.entry.js.map → p-6aeccefe.entry.js.map} +0 -0
  392. /package/dist/atomic/{p-ac8941e8.entry.js.map → p-6ec1bc34.entry.js.map} +0 -0
  393. /package/dist/atomic/{p-7464f00a.entry.js.map → p-7104baaf.entry.js.map} +0 -0
  394. /package/dist/atomic/{p-ce974d50.entry.js.map → p-78427c6a.entry.js.map} +0 -0
  395. /package/dist/atomic/{p-d172edcc.entry.js.map → p-7eca77b0.entry.js.map} +0 -0
  396. /package/dist/atomic/{p-ab55ee64.entry.js.map → p-81bc2e2b.entry.js.map} +0 -0
  397. /package/dist/atomic/{p-617090d1.entry.js.map → p-81fadd38.entry.js.map} +0 -0
  398. /package/dist/atomic/{p-579c5b46.entry.js.map → p-8250bad6.entry.js.map} +0 -0
  399. /package/dist/atomic/{p-8b80d576.entry.js.map → p-88e0e6aa.entry.js.map} +0 -0
  400. /package/dist/atomic/{p-cd39ba3c.entry.js.map → p-89240b2f.entry.js.map} +0 -0
  401. /package/dist/atomic/{p-27064d6e.entry.js.map → p-8b70f39a.entry.js.map} +0 -0
  402. /package/dist/atomic/{p-d5d1c5c0.entry.js.map → p-8ef0e022.entry.js.map} +0 -0
  403. /package/dist/atomic/{p-1e21a920.entry.js.map → p-90bff784.entry.js.map} +0 -0
  404. /package/dist/atomic/{p-412e9a6d.entry.js.map → p-9389351e.entry.js.map} +0 -0
  405. /package/dist/atomic/{p-24cae323.entry.js.map → p-945ddd53.entry.js.map} +0 -0
  406. /package/dist/atomic/{p-2bfbe973.entry.js.map → p-97ac269f.entry.js.map} +0 -0
  407. /package/dist/atomic/{p-2d1d5cd9.entry.js.map → p-98babd8f.entry.js.map} +0 -0
  408. /package/dist/atomic/{p-5a140589.entry.js.map → p-990a8267.entry.js.map} +0 -0
  409. /package/dist/atomic/{p-9a72f043.entry.js.map → p-9a4f8b13.entry.js.map} +0 -0
  410. /package/dist/atomic/{p-f2bae47c.entry.js.map → p-9e5e1672.entry.js.map} +0 -0
  411. /package/dist/atomic/{p-c35fb052.entry.js.map → p-a1b0d435.entry.js.map} +0 -0
  412. /package/dist/atomic/{p-742bd3cb.entry.js.map → p-a943aa9b.entry.js.map} +0 -0
  413. /package/dist/atomic/{p-5db0ffd7.entry.js.map → p-ab95fe33.entry.js.map} +0 -0
  414. /package/dist/atomic/{p-fbacb7a0.entry.js.map → p-ad51fa72.entry.js.map} +0 -0
  415. /package/dist/atomic/{p-09a5ef74.entry.js.map → p-b1406e15.entry.js.map} +0 -0
  416. /package/dist/atomic/{p-77ae34ce.entry.js.map → p-b2041636.entry.js.map} +0 -0
  417. /package/dist/atomic/{p-ffedf24d.entry.js.map → p-b3f6561d.entry.js.map} +0 -0
  418. /package/dist/atomic/{p-91d64c67.entry.js.map → p-b4013cce.entry.js.map} +0 -0
  419. /package/dist/atomic/{p-a3aaf456.entry.js.map → p-b42847c8.entry.js.map} +0 -0
  420. /package/dist/atomic/{p-4cda93be.entry.js.map → p-bf4dc429.entry.js.map} +0 -0
  421. /package/dist/atomic/{p-2a7ac870.entry.js.map → p-c77eadab.entry.js.map} +0 -0
  422. /package/dist/atomic/{p-a2b3dfd0.entry.js.map → p-c9d8ae11.entry.js.map} +0 -0
  423. /package/dist/atomic/{p-f5f8990e.entry.js.map → p-ca984630.entry.js.map} +0 -0
  424. /package/dist/atomic/{p-5ed976df.entry.js.map → p-cb095aad.entry.js.map} +0 -0
  425. /package/dist/atomic/{p-4f40a9e1.entry.js.map → p-cd327f6e.entry.js.map} +0 -0
  426. /package/dist/atomic/{p-8c80991f.entry.js.map → p-ce0ad22b.entry.js.map} +0 -0
  427. /package/dist/atomic/{p-d5628c4c.entry.js.map → p-ce83d873.entry.js.map} +0 -0
  428. /package/dist/atomic/{p-eb026d69.entry.js.map → p-d03b1383.entry.js.map} +0 -0
  429. /package/dist/atomic/{p-512143ef.entry.js.map → p-d1d34162.entry.js.map} +0 -0
  430. /package/dist/atomic/{p-005dcc88.entry.js.map → p-d2b9e35e.entry.js.map} +0 -0
  431. /package/dist/atomic/{p-db9ca9c3.entry.js.map → p-d36bd808.entry.js.map} +0 -0
  432. /package/dist/atomic/{p-31d3304c.entry.js.map → p-d52555b5.entry.js.map} +0 -0
  433. /package/dist/atomic/{p-110e4da7.js.map → p-d8c5e7b0.js.map} +0 -0
  434. /package/dist/atomic/{p-5c813055.entry.js.map → p-dd214aa9.entry.js.map} +0 -0
  435. /package/dist/atomic/{p-444bff80.entry.js.map → p-dd2bf761.entry.js.map} +0 -0
  436. /package/dist/atomic/{p-d3e1a9aa.entry.js.map → p-df117f76.entry.js.map} +0 -0
  437. /package/dist/atomic/{p-04481727.entry.js.map → p-e428af65.entry.js.map} +0 -0
  438. /package/dist/atomic/{p-3ca9ced1.entry.js.map → p-e9dc8e90.entry.js.map} +0 -0
  439. /package/dist/atomic/{p-c727cd49.entry.js.map → p-ea781e46.entry.js.map} +0 -0
  440. /package/dist/atomic/{p-2b76b255.entry.js.map → p-eeefa262.entry.js.map} +0 -0
  441. /package/dist/atomic/{p-db3dce80.entry.js.map → p-f52ae387.entry.js.map} +0 -0
  442. /package/dist/atomic/{p-4dd88abc.entry.js.map → p-f9c9d7a4.entry.js.map} +0 -0
  443. /package/dist/atomic/{p-d7eb2d40.js.map → p-faaa7b67.js.map} +0 -0
  444. /package/dist/atomic/{p-e43fe680.entry.js.map → p-fd373189.entry.js.map} +0 -0
  445. /package/dist/atomic/{p-22ef68f4.entry.js.map → p-fe6aac5e.entry.js.map} +0 -0
@@ -2,7 +2,7 @@ import { h } from './index-3f35faca.js';
2
2
  import { p as parseDate } from './date-utils-e07b72d6.js';
3
3
  import { g as getFieldValueCaption } from './field-utils-f0146383.js';
4
4
  import { r as randomID } from './utils-7ac76ba7.js';
5
- import { H as Hidden } from './initialization-utils-271aa8c0.js';
5
+ import { H as Hidden } from './initialization-utils-ffbc4136.js';
6
6
  import { F as FacetHeader, b as FacetPlaceholder, a as FacetContainer } from './facet-placeholder-57a5207d.js';
7
7
  import { F as FacetValueLabelHighlight } from './stencil-facet-value-label-highlight-b4083ffd.js';
8
8
  import { F as FacetValueLink } from './stencil-facet-value-link-4c270d4d.js';
@@ -209,4 +209,4 @@ class TimeframeFacetCommon {
209
209
 
210
210
  export { TimeframeFacetCommon as T };
211
211
 
212
- //# sourceMappingURL=timeframe-facet-common-9a91138c.js.map
212
+ //# sourceMappingURL=timeframe-facet-common-db821dce.js.map
@@ -1 +1 @@
1
- {"file":"timeframe-facet-common-9a91138c.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-db821dce.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,2 +1,2 @@
1
- export const headlessVersion = '3.28.4';
2
- export const atomicVersion = '3.33.1-pre.fd4614c377';
1
+ export const headlessVersion = '3.29.0-pre.788976dc4a';
2
+ export const atomicVersion = '3.34.0-pre.788976dc4a';
@@ -1,5 +1,5 @@
1
1
  import { FunctionalComponent } from '../../stencil-public-runtime';
2
2
  /**
3
- * @deprecated Should only be used for Stencil components; for Lit components, use the displayIf directive instead
3
+ * @deprecated This component is no longer needed. For Lit components, render `nothing` instead.
4
4
  */
5
5
  export declare const Hidden: FunctionalComponent;
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-08-20T23:13:27",
2
+ "timestamp": "2025-08-22T20:43:52",
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.33.1-pre.fd4614c377",
4
+ "version": "3.34.0-pre.788976dc4a",
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": {
@@ -82,7 +82,7 @@
82
82
  },
83
83
  "dependencies": {
84
84
  "@coveo/bueno": "1.1.0",
85
- "@coveo/headless": "3.28.4",
85
+ "@coveo/headless": "3.29.0-pre.788976dc4a",
86
86
  "@lit/context": "1.1.6",
87
87
  "@popperjs/core": "2.11.8",
88
88
  "@salesforce-ux/design-system": "2.27.2",
@@ -169,7 +169,7 @@
169
169
  },
170
170
  "peerDependencies": {
171
171
  "@coveo/bueno": "1.1.0",
172
- "@coveo/headless": "3.28.4",
172
+ "@coveo/headless": "3.29.0-pre.788976dc4a",
173
173
  "typescript": ">=5.0.0"
174
174
  },
175
175
  "peerDependenciesMeta": {
@@ -1,6 +0,0 @@
1
- import { html } from 'lit';
2
- import { displayIf } from "../../../directives/display-if";
3
- export const renderPagerGuard = ({ props }) => (children) => {
4
- const condition = !props.hasError && props.isAppLoaded && props.hasItems;
5
- return displayIf(condition, () => html `${children}`);
6
- };
@@ -1,42 +0,0 @@
1
- import { LitElement, noChange } from 'lit';
2
- import { Directive, directive, PartType } from 'lit/directive.js';
3
- class DisplayIfDirective extends Directive {
4
- render(_condition, _children) {
5
- return noChange;
6
- }
7
- update(part, [displayCondition, children]) {
8
- if (part.type !== PartType.CHILD) {
9
- throw new Error(`"displayIf" can only be used in child bindings. Expected PartType "${PartType.CHILD}", but received PartType "${part.type}".`);
10
- }
11
- if (!(part.options?.host instanceof LitElement)) {
12
- throw new Error('The directive must be applied to a host element.');
13
- }
14
- part.options.host.classList.toggle('atomic-hidden', !displayCondition);
15
- if (!displayCondition) {
16
- return;
17
- }
18
- return children();
19
- }
20
- }
21
- /**
22
- * A directive to render children only if a condition is met.
23
- *
24
- * ### Usage:
25
- * ```typescript
26
- * class MyElement extends LitElement {
27
- * render() {
28
- * return displayIf(shouldDisplay, () => html`<children-element></children-element>`);
29
- * }
30
- * }
31
- * ```
32
- *
33
- * In the example above, `<children-element>` is added to the host element
34
- * when `shouldDisplay` is true, and removed when it is false.
35
- *
36
- * ### Notes:
37
- * This directive also modifies the host element's class list by toggling the `atomic-hidden` CSS class based on the given condition.
38
- *
39
- * @param condition A boolean value that determines whether to display the children or not.
40
- * @param children Children to render if the condition is met.
41
- */
42
- export const displayIf = directive(DisplayIfDirective);
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as s}from"./p-dc3df5ce.js";import{buildDateRange as i}from"@coveo/headless";import{p as a}from"./p-54fca818.js";import{B as n}from"./p-b389ea6d.js";import"./p-35e58270.js";import"./p-0462f723.js";import"./p-1580513b.js";import"./p-21ab6f55.js";const d=class{constructor(s){t(this,s);this.applyInput=e(this,"atomic/dateInputApply",7);this.start=undefined;this.end=undefined;this.bindings=undefined;this.rangeGetter=undefined;this.rangeSetter=undefined;this.facetId=undefined;this.label=undefined;this.min=undefined;this.max=undefined}connectedCallback(){const t=this.rangeGetter();this.start=t?a(t.start).toDate():undefined;this.end=t?a(t.end).toDate():undefined}componentDidUpdate(){if(!this.startRef.value&&!this.endRef.value){this.startRef.min=this.min||this.formattedDateValue("1401-01-01");this.endRef.max=this.max||"";this.startRef.max=this.max||"";this.endRef.min=this.min||""}}apply(){if(!this.startRef.validity.valid||!this.endRef.validity.valid){return}this.applyInput.emit({start:this.start,end:this.end});const t=i({start:this.start,end:this.end.setHours(23,59,59,999)});this.rangeSetter(t)}formattedDateValue(t){if(!t){return""}return a(t).format("YYYY-MM-DD")}render(){const t=this.bindings.i18n.t(this.label);const e=this.bindings.i18n.t("start");const i=this.bindings.i18n.t("end");const d=this.bindings.i18n.t("date-input-start",{label:t});const r=this.bindings.i18n.t("date-input-end",{label:t});const h=this.bindings.i18n.t("apply");const p=this.bindings.i18n.t("date-input-apply",{label:t});const c="input-primary p-2.5";const l="text-neutral-dark self-center";const o="yyyy-mm-dd";const u="^(1[4-9]\\d{2}|2\\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$";const f=this.rangeGetter();return s("form",{key:"b7ac7259a12e759555bfbff89201b6eadb620e56",class:"mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2",onSubmit:t=>{t.preventDefault();this.apply();return false}},s("label",{key:"f5b4a7be91203235c334bb139153e73c50f32931",part:"input-label",class:l,htmlFor:`${this.facetId}_start`},e,":"),s("input",{key:"90bb6128e583dbce3b55932bcd37475ee1410dfc",id:`${this.facetId}_start`,part:"input-start",type:"date",ref:t=>this.startRef=t,class:c,"aria-label":d,placeholder:o,pattern:u,required:true,min:this.min||this.formattedDateValue("1401-01-01"),max:this.end?this.formattedDateValue(this.end):this.max,value:this.formattedDateValue(f?.start),onInput:t=>this.start=a(t.target.value).toDate()}),s("label",{key:"d81fb7dc7439e67c26074274f029a54e0ec54b27",part:"input-label",class:l,htmlFor:`${this.facetId}_end`},i,":"),s("input",{key:"1b8b94e48c2fb7cfd56033793e2e9e4d2621761b",id:`${this.facetId}_end`,part:"input-end",type:"date",ref:t=>this.endRef=t,class:c,"aria-label":r,placeholder:o,pattern:u,required:true,min:this.formattedDateValue(this.start)||this.min,max:this.max,value:this.formattedDateValue(f?.end),onInput:t=>this.end=a(t.target.value).toDate()}),s(n,{key:"1a69e912310d8c5ddb7933c36bcbcf21fe6257ab",style:"outline-primary",type:"submit",part:"input-apply-button",class:"col-span-2 truncate p-2.5",ariaLabel:p,text:h}))}};export{d as atomic_stencil_facet_date_input};
2
- //# sourceMappingURL=p-995b31cf.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["FacetDateInput","connectedCallback","range","this","rangeGetter","start","parseDate","toDate","undefined","end","componentDidUpdate","startRef","value","endRef","min","formattedDateValue","max","apply","validity","valid","applyInput","emit","rangeRequest","buildDateRange","setHours","rangeSetter","date","format","render","label","bindings","i18n","t","startLabel","endLabel","startAria","endAria","applyAria","inputClasses","labelClasses","placeholder","pattern","h","key","class","onSubmit","e","preventDefault","part","htmlFor","facetId","id","type","ref","required","onInput","target","Button","style","ariaLabel","text"],"sources":["src/components/common/facets/stencil-facet-date-input/stencil-facet-date-input.tsx"],"sourcesContent":["import {\n buildDateRange,\n DateFilterRange,\n DateRangeRequest,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Event, EventEmitter} from '@stencil/core';\nimport {parseDate} from '../../../../utils/date-utils';\nimport {Button} from '../../../common/stencil-button';\nimport {AnyBindings} from '../../interface/bindings';\n\n/**\n * @deprecated\n * Use `atomic-facet-date-input` instead. This component is meant to be used with Stencil components only.\n * Internal component made to be integrated in a TimeframeFacet.\n * @internal\n */\n@Component({\n tag: 'atomic-stencil-facet-date-input',\n shadow: false,\n})\nexport class FacetDateInput {\n @State() private start?: Date;\n @State() private end?: Date;\n private startRef!: HTMLInputElement;\n private endRef!: HTMLInputElement;\n\n @Prop() public bindings!: AnyBindings;\n @Prop() public rangeGetter!: () => DateFilterRange | undefined;\n @Prop() public rangeSetter!: (range: DateRangeRequest) => void;\n @Prop() public facetId!: string;\n @Prop() public label!: string;\n @Prop() public min?: string;\n @Prop() public max?: string;\n\n @Event({\n eventName: 'atomic/dateInputApply',\n })\n private applyInput!: EventEmitter;\n\n public connectedCallback() {\n const range = this.rangeGetter();\n this.start = range ? parseDate(range.start).toDate() : undefined;\n this.end = range ? parseDate(range.end).toDate() : undefined;\n }\n public componentDidUpdate() {\n if (!this.startRef.value && !this.endRef.value) {\n this.startRef.min = this.min || this.formattedDateValue('1401-01-01');\n this.endRef.max = this.max || '';\n this.startRef.max = this.max || '';\n this.endRef.min = this.min || '';\n }\n }\n\n private apply() {\n if (!this.startRef.validity.valid || !this.endRef.validity.valid) {\n return;\n }\n\n this.applyInput.emit({\n start: this.start,\n end: this.end,\n });\n\n const rangeRequest = buildDateRange({\n start: this.start!,\n end: this.end!.setHours(23, 59, 59, 999),\n });\n\n this.rangeSetter(rangeRequest);\n }\n\n private formattedDateValue(date?: string | Date) {\n if (!date) {\n return '';\n }\n return parseDate(date).format('YYYY-MM-DD');\n }\n\n render() {\n const label = this.bindings.i18n.t(this.label);\n const startLabel = this.bindings.i18n.t('start');\n const endLabel = this.bindings.i18n.t('end');\n const startAria = this.bindings.i18n.t('date-input-start', {label});\n const endAria = this.bindings.i18n.t('date-input-end', {label});\n const apply = this.bindings.i18n.t('apply');\n const applyAria = this.bindings.i18n.t('date-input-apply', {label});\n\n const inputClasses = 'input-primary p-2.5';\n const labelClasses = 'text-neutral-dark self-center';\n\n const placeholder = 'yyyy-mm-dd';\n // Fallback for Safari < 14.1, date with format yyyy-mm-dd over 1400 (API limit)\n const pattern =\n '^(1[4-9]\\\\d{2}|2\\\\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01])$';\n\n const range = this.rangeGetter();\n\n return (\n <form\n class=\"mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2\"\n onSubmit={(e) => {\n e.preventDefault();\n this.apply();\n return false;\n }}\n >\n <label\n part=\"input-label\"\n class={labelClasses}\n htmlFor={`${this.facetId}_start`}\n >\n {startLabel}:\n </label>\n <input\n id={`${this.facetId}_start`}\n part=\"input-start\"\n type=\"date\"\n ref={(ref) => (this.startRef = ref!)}\n class={inputClasses}\n aria-label={startAria}\n placeholder={placeholder}\n pattern={pattern}\n required\n // API/Index minimum supported date\n min={this.min || this.formattedDateValue('1401-01-01')}\n max={this.end ? this.formattedDateValue(this.end) : this.max}\n value={this.formattedDateValue(range?.start)}\n onInput={(e) =>\n (this.start = parseDate(\n (e.target as HTMLInputElement).value\n ).toDate())\n }\n />\n <label\n part=\"input-label\"\n class={labelClasses}\n htmlFor={`${this.facetId}_end`}\n >\n {endLabel}:\n </label>\n <input\n id={`${this.facetId}_end`}\n part=\"input-end\"\n type=\"date\"\n ref={(ref) => (this.endRef = ref!)}\n class={inputClasses}\n aria-label={endAria}\n placeholder={placeholder}\n pattern={pattern}\n required\n min={this.formattedDateValue(this.start) || this.min}\n max={this.max}\n value={this.formattedDateValue(range?.end)}\n onInput={(e) =>\n (this.end = parseDate(\n (e.target as HTMLInputElement).value\n ).toDate())\n }\n />\n <Button\n style=\"outline-primary\"\n type=\"submit\"\n part=\"input-apply-button\"\n class=\"col-span-2 truncate p-2.5\"\n ariaLabel={applyAria}\n text={apply}\n ></Button>\n </form>\n );\n }\n}\n"],"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-e4f99519.js";const t=({hasError:t,enabled:a,firstSearchExecuted:o,hasResults:f},l)=>{if(t||!a||o&&!f){return r(s,null)}return r(e,null,l)};export{t as F};
2
- //# sourceMappingURL=p-c55891c7.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,h as t}from"./p-dc3df5ce.js";import{I as c}from"./p-e4f99519.js";import"./p-c9074946.js";import"./p-1580513b.js";import"./p-05de7ca3.js";import"./p-cae02339.js";var d=undefined&&undefined.__decorate||function(e,t,c,d){var f=arguments.length,r=f<3?t:d===null?d=Object.getOwnPropertyDescriptor(t,c):d,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(e,t,c,d);else for(var o=e.length-1;o>=0;o--)if(i=e[o])r=(f<3?i(r):f>3?i(t,c,r):i(t,c))||r;return f>3&&r&&Object.defineProperty(t,c,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"}))}};d([c()],f.prototype,"bindings",void 0);export{f as atomic_insight_tabs};
2
- //# sourceMappingURL=p-d5d1c5c0.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Hidden","h","Host","class","initializeBindings","element","fetchBindings","renderedAttribute","loadedAttribute","InitializeBindings","forceUpdate","component","bindingsProperty","componentWillLoad","render","componentDidRender","componentDidLoad","disconnectedCallback","unsubscribeLanguage","console","error","getElement","this","setAttribute","event","buildCustomEvent","initializeEventName","bindings","updateLanguage","forceUpdateComponent","i18n","on","off","initialize","e","parent","closest","initializableElements","join","MissingInterfaceParentError","nodeName","toLowerCase","enqueueOrDispatchInitializationEvent","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 fetchBindings,\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 */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return fetchBindings<SpecificBindings>(element);\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{r as t,g as e}from"./p-dc3df5ce.js";import{ResultTemplatesHelpers as r}from"@coveo/headless";import{I as s}from"./p-e4f99519.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-cae02339.js";import"./p-3dc06261.js";var o=undefined&&undefined.__decorate||function(t,e,r,s){var i=arguments.length,n=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,r):s,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")n=Reflect.decorate(t,e,r,s);else for(var u=t.length-1;u>=0;u--)if(o=t[u])n=(i<3?o(n):i>3?o(e,r,n):o(e,r))||n;return i>3&&n&&Object.defineProperty(e,r,n),n};const u=class{constructor(e){t(this,e);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=r.getResultProperty(this.result,this.field);if(t===null){return null}const e=parseFloat(`${t}`);if(Number.isNaN(e)){this.error=new Error(`Could not parse "${t}" from field "${this.field}" as a number.`);return null}return e}formatValue(t){try{return this.formatter(t,this.bindings.i18n.languages)}catch(e){this.error=e;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 e(this)}};o([s()],u.prototype,"bindings",void 0);o([n()],u.prototype,"result",void 0);export{u as atomic_result_number};
2
- //# sourceMappingURL=p-ffedf24d.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"initialization-utils-381854d1.js","mappings":"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","names":["h","Host","fetchBindings","getElement","buildCustomEvent","initializeEventName","forceUpdateComponent","closest","initializableElements","MissingInterfaceParentError","enqueueOrDispatchInitializationEvent"],"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 fetchBindings,\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 */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return fetchBindings<SpecificBindings>(element);\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 +0,0 @@
1
- {"file":"initialization-utils-271aa8c0.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 fetchBindings,\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 */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return fetchBindings<SpecificBindings>(element);\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,8 +0,0 @@
1
- import type { FunctionalComponentGuard } from "../../../utils/functional-component-utils";
2
- interface PagerGuardProps {
3
- hasError?: boolean;
4
- isAppLoaded: boolean;
5
- hasItems: boolean;
6
- }
7
- export declare const renderPagerGuard: FunctionalComponentGuard<PagerGuardProps>;
8
- export {};
@@ -1,28 +0,0 @@
1
- import { Directive, type Part } from 'lit/directive.js';
2
- declare class DisplayIfDirective extends Directive {
3
- render<T>(_condition: boolean, _children: () => T): symbol;
4
- update<T>(part: Part, [displayCondition, children]: [boolean, () => T]): T | undefined;
5
- }
6
- /**
7
- * A directive to render children only if a condition is met.
8
- *
9
- * ### Usage:
10
- * ```typescript
11
- * class MyElement extends LitElement {
12
- * render() {
13
- * return displayIf(shouldDisplay, () => html`<children-element></children-element>`);
14
- * }
15
- * }
16
- * ```
17
- *
18
- * In the example above, `<children-element>` is added to the host element
19
- * when `shouldDisplay` is true, and removed when it is false.
20
- *
21
- * ### Notes:
22
- * This directive also modifies the host element's class list by toggling the `atomic-hidden` CSS class based on the given condition.
23
- *
24
- * @param condition A boolean value that determines whether to display the children or not.
25
- * @param children Children to render if the condition is met.
26
- */
27
- export declare const displayIf: (_condition: boolean, _children: () => unknown) => import("lit-html/directive.js").DirectiveResult<typeof DisplayIfDirective>;
28
- export {};